Welcome to Hardcode Sign in | Join | Help

November 2006 - Posts

I've found an archive with all Nokia games & applications to date, as extracted from the handsets.
Internet Explorer seems to perform a strict XML validation - the bad news is that MSXML does this and as a conclusion it's not a good idea to use MSXML or XmlDocument from .NET to process feeds. I will update this post with a more usable XML parser for .NET.

Bluetooth marketing starts to appear in Romania also - these guys offer a system. I'm not very confident about the market here, however they seem to already have OgilvyOne as a first big client.
What's the big issue about this ? The UI is already implemented and waiting for you to buy it and use it freely in your application.
Here's a weird difference between Windows 2003 SP1 and Windows XP SP2: Suppose you have two files in the same folder, a.txt and b.txt_ , the effect of dir *.txt is as follows:

  1. Windows XP SP2:
    a.txt
    b.txt_

  2. Windows 2003 SP1:
    a.txt
It's scary how it performs on SP2 - it can lead to dangerous stuff when you are using DEL to erase files ...
ADO.NET is so highly intuitive, guess from the following which is the correct method for erasing a row from the datatable / database:
  1. dataTable.Rows.RemoveAt(0)
  2. dataTable.Rows[0].Delete()

The first variant removes the row from the collection but does not mark it as "deleted" (to be deleted on the next update on the tableadapter), while the second one works fine.

Update: of course you also need tableAdapter.Update( dataTable) so the adapter actually deletes the marked rows. 

I was just thinking at starting a port to Symbian of .NET CF however this paper [pdf] has completely discouraged me - in the way that Symbian is artificially kept alive by Nokia thus hurting Windows Mobile in the market. Symbian seems so developer-unfriendly that I can't imagine the amount of WTFs encountered when coding for it.
Microsoft has launched two interesting Rich Internet Applications these days, unfortunately not based on a standard framework. While Photosynth uses the proprietary Seadragon (aquired in February) libraries, Virtual Earth 3D is also an ActiveX but built with .NET 2.0.

I was expecting an early implementation of WPF/E ( a subset of WPF XAML using JavaScript and being cross-platform), coupled with an easy deployment system - seems that it's a bit too far away.
Has a 384-bit (!) memory bus (coupled with 768Mb RAM). These numbers are very unusual, I guess that a 512-bit bus was really not feasible - maybe R600 will have it (there are rumours to be even bigger than G80) ?
I played a bit with the latest RC last night - some quick observations:
    - WPF has terrible performance! In a simple textbox there's a noticeable lag when selection text, similar to when selecting text in Flash
    - I've been thinking for like 15 mins at something interesting to do quickly with WF - couldn't find anything :) but boring enterprisey stuff
I've read of this long time ago - go check it out if you didn't.
read (photo);
photoContainsHuman = callMechanicalTurk(photo);
if (photoContainsHuman == TRUE){
    acceptPhoto;
}
else {
    rejectPhoto;
}

This has been in discussion since 1999, however the comitee responsible for new language features hasn't accepted anything to make our life easier.

Consider you want to return an integer array and a String array. Obiously they can't be returned using a single return statement, however as the array address is not passed by reference you can't allocate the arrays inside the function and fill them.

A workaround would be to get the sizes first, allocate arrays and pass them - still not possible because you can't return two sizes. Adding two functions to independently return each size solves the problem - but you've added two supplementary functions and, still, this may involve doing useless queries or computations.

Another workaround is to return an Object array with the two arrays in it. The casts would be somewhat ugly but it works fine.

The conclusion is that it's useless to design a simple and clean language if you have to write ugly or inefficient code for realtively simple tasks.