My first article published in Moj Mikro, Slovene computer monthly magazine

The article is all about HTC's dirty secrets behind its line of PocketPC's based on Qualcomm's MSM7x00 CPU/chipset and is my first article being published in such a large scale magazine or in any magazine I guess. Moj Mikro also brings my memories back; I remember when I was young and I was eagerly waiting for the magazine each month. At the time Moj Mikro was more or less the only Slovene computer magazine and one of the few Yugoslav ones (Slovenia was part of Yugoslavia then and there were a couple of Serb computer magazines, too).

Anyway, the magazine comes out on the first Tuesday in March and I hope you'll enjoy my article titled "Umazane podrobnosti HTC mobilnih naprav – dejstva, ki jih je HTC zamolčal".

Feedback appreciated of course.

Slovenia/1st European Silverlight Challenge

SLODUG has launched the Slovene website of the 1st European Silverlight Challenge. You can read more about it in this post (in Slovene) or go directly to the website (also in Slovene).

Believe in your talent! Take part in the “European Silverlight Challenge” Competition – Dare to participate in the European Silverlight Development Competition. Win the recognition that goes with first place and, of course, fabulous prizes! (or 'swag' as our UK friends would say)

Note that words "fabulous prizes" are actually, thanks to the generous sponsors, an understatement.

So, hurry up, read the rules, apply and submit a silverlight application before the 28th January 2008.

Sometimes silent changes are for better

I've been reading monthly invoice from my ISP and a line caught my eye immediately. I've been a happy user of FTTH (fiber optics) 6Mb/6Mb Internet bandwidth for a while now and I saw two lines on my invoice: one charging me for 6/6 line and the other charging me for a 20/20 line which I don't have.

Suspecting a mistake in my invoice I've phoned to my ISP hotline number and got a shocking news. Everybody on FTTH got upgraded to 20/20 line which is now "slowest" speed over FTTH. All this for the same price of previously "slowest" 6/6 line. SIOL triplicated+ my (our) FTTH bandwidths for no charge. And they don't even brag or publicize this upgrade. They just did it silently. Go figure.

Looks like we got new year's gift a bit early.

How an (asp.net) web site update shouldn't be performed

There is a Vzajemci web site that tracks mutual funds available in Slovenia. It is a nice site if one wants to follow the mutual funds situation is Slovenia (they have all sort of news and information regarding mutual funds, plus forum and an option where you can track your own portfolio, etc.) however, they aren't very professional with updating their website. Today is the second day where their web site is severely crippled and practically unusable. At least lately appeared an apology text on the top of the page. It says something like: "We are sorry but due to website modifications some parts won't work."

Now, if it were I, I would create a private clone website, done all modifications there and only then update the public online version. The last step shouldn't take more than 10 minutes (if I exaggerate). Instead they are messing with live website in real time.

The bottom line is that the updates shouldn't be tested on live site. In the era of virtual computers ([VMWare], VirtualPC, etc.) nobody has a valid excuse to do updates like that.

BTW, does anybody know of any web-service that provides daily values of Slovene mutual fund points?

UPDATE (9.8.): Apparently they have legal issues, not technical ones. Duh. Still not working.

Programmers can fly, really

Just recently I saw that Simon Čopi, my friend and a co-worker from my previous company, is participating and representing the only Slovene team in Red Bull X-Alps 2007 competition - where you have your glider and your feet to cross the Alps (that's 850km). That's awesome and over here we are all crossing fingers for him. Go Simon!

As a curiosity: all athletes are using Nokia NSeries N95s phones to report the position (live tracking).

Neverending saga of writing data into Program Files folder

Writing application data into Program Files folder is bad. Period. Only the files at install time should be written to Program Files folder.

Otherwise one is facing

  • security issues (i.e. an application could inject code) and
  • practical issues (if one is not an admin then one can't use the application since there are no default permissions for non-admins to write there - application will most probably crash).

For any other data generated by applications there are better locations, such as isolated storage. Program Files folder should contain only files needed to run, eh, programs and not the data generated by those programs. And same is true for registry: HKEY_LOCAL_MACHINE is not a place to store runtime data.

However, not many developers realize these problems and so there are a ton of applications that want to store data next to their executable files. In fact, I stumbled today upon an application that should be written correctly - e-banking for companies, which I use to communicate with my bank. The application goes by name HAL E-Bank/Personal by Halcom, a Slovene e-commerce company (software, services, certificate authority), and is used by many banks in Slovenia. One would expect that such application (written by such company), where security is important, would avoid this amateur mistake. Wrong. They store a plethora of application data in Program Files folder at runtime. Ouch. Bad, bad application. And not to mention also that their executables aren't signed.

Even [MS] realized that this is a huge problem and thus it built Vista with this in mind - providing support for running problematic applications even under normal user account and thus avoiding messing with Registry and Program files folder. The feature is named File System and Registry Virtualization (you'll find more info on Vista security here), but this is another story.

The bottom line is: Don't ever build applications that write data to Program Files folder.

Mountain biking with GPS

I used to mountain bike a lot when I was keh keh younger These days time is more of a luxury and thus I manage only one or two rides per week. On the other hand, I am better equiped now. Sometimes I take my Qtek 2020 PocketPC, Pharos GPS bluetooth and use GPSDash (warning: seems like development stopped a long time ago) utility to display my position on map and to read a ton of other data derived from GPS unit. It is fun and GPS shows position very well, just the altitude is in the range +/- 100m - this is normal as GPS units aren't built for measure altitude (due to satellites position). Anyway, this nice GPSDash utility lets me exporting recorded path to Gogle Earth format. IOW I can look where I rode directly in Google Earth application.

Attached is a clasic tour over mt. Sveta Gora, which has the highest round inclination in Slovenia.

In my downloads section you will find an utility that lets you export OziExplorer maps format to GPSDash's one.

My ORM presentations at NT Konferenca 2007 (Slovene event)

A year passed like nothing and NT Konferenca, biggest national [MS] event, is here again. This year I'll be all ORM oriented, in fact, I'll give two presentations on topic: LINQ to SQL and ADO.NET Entity Framework (which was recently postponed to 2008  - won't make it into Orcas).

Nedless to say that I am an ORM convert and really excited about ORM products in general. Even more now, that [MS] is LINQing the ORM products. I have deliberately written ORM products because LINQ wave will hit all ORM products, not just [MS]' ones, like Tsunami and this is soooo good - I really can't imagine an ORM product ignoring LINQ for more than three months. IOW writting ORM queries using LINQ will be much more clear, readable and concise - this is huge huge benefit for ORM community (note that using LINQ for ORM queries is just a part of where LINQ shines).

There are two things I have to figure out though:

  • why the heck is [MS] going with two very overlapped ORM products instead of focusing on one and make it great.
  • how to explain to DBAs that ORM product is not a public enemy and a threat to them, at least not when used properly

So, see you there!