HTC HD2 (Leo) smartphone can run Android!
During the last day of 2010 news has leaked about a substantial breakthrough in the world of hacking. The quite famous and popular smartphone HTC HD2, also known as Leo, was hacked to run Android 2.2 and 2.3. Originally the phone comes with Windows Mobile 6.3 preinstalled. One needs a lot of space in order to describe all of this OS’ shortcomings in the areas of stability, performance, user interface and productivity. However the hardware itself is amazingly good and at par with latest phones from the same and other manufactures. The community felt, that it was a great waste not to utilize it properly. The latest achievement allows HTC HD2 owners to replace the Microsoft’s OS with Google’s one. The actual process is a bit convoluted, but there are lots of very detailed, step by step guides on the Internet, including all the necessary links and even demonstration videos. I suggest you give it a go if you happen to own an HTC HD2 phone.
Infectious greed
I’ve just finished reading a very interesting book by Frank Partnoy – “Infectious Greed”. I actually remember seeing it in a library back in 2005, however at that time I chose not to invest the effort into reading it, a decision which I regret today. Nonetheless, better late than never, as they say. The book is devoted to a number of related, as far as the author is concerned, crises in financial markets that happened in late 90-s and early 2000-s. He starts with comparatively minor losses in Bankers Trust, today part of Deutscher Bank, and some industrial companies, i.e. Proctor and Gamble, followed by collapse of some institutions, Orange County in California among others, touches the collapse of some foreign currencies (Mexican peso, Thai bhat) and finishes with the Enron and WoldCom disasters. Losses in all the crises amount to absolutely mind-blowing figures of hundreds of billions of dollars. He makes a few points, which in his view are the main reasons behind the failures on the modern financial world, and he demonstrates them with specific examples. I will highlight some of them below. I think it is quite important to understand, that all these causes are interrelated and in many ways feed one another.
Windows Phone 7 development in Visual Studio 2010
The recently released Microsoft Visual Studio 2010 does not support mobile development for OS versions prior to the new Windows Phone 7. If you want to write software for Windows Mobile 6.5 or lower, you need to stick to Visual Studio 2005. So much for backward compatibility.
So, if you are happy to try the new waters of Windows Phone 7, you can download the relevant SDK from Windows Phone Development web site. However, if you are getting an error message, saying “WE’RE SORRY. AN ERROR HAS OCCURRED.”, chances are you’ve hit a bug with the Microsoft’s web site. If you are connecting to it from outside the US, you can try to access the US version once. Just follow this link , it should register you for the US version and all subsequent entries should be fine.
iPhone OS 4.0 features
Apple has recently announced the long anticipated release 4.0 of their iPhone OS. The list of new end-user features is disappointingly short - the main item seems to be the addition of some GUI multitasking. Many important, easy to add and practical features, already found in the “jailbreak” versions are not mentioned. It is a pity Apple has such tight control on their product and that it takes so long to release productivity related features to the market. I am pretty confident than in a few years they will be punished by other players on the market.
Fedora Core 12
I have recently installed Fedora Core 12 on my server box. It was an upgrade from Fedora Core 9 and I had to do an intermediate upgrade from 9 to 10, since direct transition from 9 to 12 is not supported. Aside from this small annoyance the process went through very smoothly. It looks like Fedora Core 12 supports an “in place” upgrade mode, similar to recent version of Ubuntu. That means that a new release of the system comes out, you don’t need to create the upgrade media (DVD or a USB image), but can upgrade directly via your current session. This is very convenient in my case, because my server doesn’t have an attached monitor.
Log viewer for Windows
Monitoring text log files is quite important activity in our day to day programming lives. Unfortunately, Windows operating system does not include convenient tools to perform the task by default. Nothing comparing to
tail -f
or GNU
less
is deployed with an installation of the OS from Redmond. Luckily, some free alternatives are available on the Internet.
Use at your own risk, as always.
LINQ QuickSort in C#
This is most certainly not the recommended way of implementing QuickSort, it assumes there are no duplicates, but it should work:
private IList<int> sort(IList<int> a)
{
if (a.Count <= 1)
return a;
return sort(a.Where(x => x < a[0]).ToList()).Union(new List<int> { a[0] }).Union(sort(a.Where(x => x > a[0]).ToList())).ToList();
}
It’s a nice demonstration of how C# is getting closer to resemble a proper lambda-oriented functional language.
The worst broadband in the UK - Tiscali (now TalkTalk)
I have been using Tiscali (now TalkTalk) broadband services for more than 4 months. At the beginning everything was fine - I even was quite pleased with them, since they promised to connect me within 10 business days, but in fact I was on the Internet after just one week.
But 2 and a half weeks ago the nightmare began. For whatever reason my Internet connection disappeared. I called the technical support line straight away. Of course, their call centre is somewhere in Bangalore, so it was rather hard to communicate with the help persons. Soon enough it became obvious, that they technical knowledge was limited to whatever was on their script. For instance, the fact that I used a simple ADSL modem-router got them startled. They said, that non-Tiscali equipment was not supported and no fault report will be filed.
Pascal.NET
A Pascal compiler for .NET not from Borland is available from RemObjects. However the site seems to be dead.
Events and BinaryFormatter serialization in .NET
Serialization in .NET world is not straightforward. For years we’ve been told to use
XmlSerializer
, but it has its limitations. It is unable to serialize anything but the public properties/fields, it cannot deal with interfaces in most of the circumstances (specific collection interfaces being the only notable exception) etc. Something that has been used as an alternative for years is
SoapFormatter
, but it is also far from ideal, most importantly because it cannot handle generic types. This renders it almost useless for any practical .NET application, developed nowadays.