Point and Call and the Windows Phone Ecosystem

So a few days ago I bought a Windows Phone device. So far, I am impressed with the Windows Phone ecosystem. The nicest thing is that I was finally able to test an app I’ve been eager to try for months: Point and Call.

Point-and-call in everyday life.


Now, the news: this app uses the Accord.NET Framework to do its magic 🙂

The app author, Antti Savolainen, was kind enough to share some details about his app. It uses part of the SVMs framelet from Accord.NET to do the digit recognition, mostly based on one of the earlier CodeProject articles I’ve posted in the past. Needless to say, Antti did an awesome job, as the SVM part was surely just a tiny fraction of all the work in preprocessing, adjusting, locating, and doing the right things at the right times that I would never be able to figure out alone. Surely, he and his company, Sadiga, deserves all the credits for this neat app!

If you would like find more interesting uses of the Accord.NET Framework, don’t forget to check the framework’s publication page for details!



Dicionário de Correção Ortográfica em Português para o Windows Live Writer

Se você prefere utilizar o Windows Live Writer em inglês, mas gostaria de ter a correção ortográfica em português do brasil disponível para quando precisar, baixe o dicionário de correção ortográfica em pt-br disponibilizado no link abaixo, descompacte-o e copie os dois arquivos contidos para dentro da pasta C:Program Files (x86)Windows LiveWriterDictionaries

Dicionário pt-br para correção ortográfica no Windows Live Writer


Após isto, basta reiniciar o Windows Live Writer e selecionar o idioma desejado nas opções do programa!

Searching for a Generic C# OrderedDictionary?

I’ve spent about half an hour googling for something that could act as key-value Dictionary class, but which, at the same time, could allow access by index. There is, in fact, a misleading-named OrderedDictionary class in the framework (that isn’t sorted, but ordered – in the sense that positioning does matter) that allows access by key and index, but it doesn’t use generics, so it isn’t that powerful.

After browsing some blogs and seeing some implementations I finally found about KeyedCollection. With some effort, it solves my problem, albeit a bit harder than what it could be if we had an OrderedDictionary<TKey, TItem> class. To use it, you need to inherit from it and then implement an abstract method to tell which property of your values is going to be the key.

I was almost going to do that, but then I found this:

This is basically what I was searching for. Instead of inheriting, now all you have to do is instantiate this collection with a lambda expression as a constructor parameter telling the collection who is going to be the key. Something like:

That’s it. Simple, useful, and generic. But I’m still wondering why there is no generic OrderedDictionary in the .net framework, even if there is a non-generic one. I mean, It shouldn’t be that hard.

Linus Torvalds e a Contribuição da Microsoft

Traduzindo o tópico de Hugh Pickens para o Slashdot:


    “Após a decisão recente da Microsoft em contribuir com 20.000 linhas de código para a comunidade Linux, Christopher Smart, da Linux Magazine, conversou com Linus Torvalds, criador do Linux, e perguntou-lhe se o código era alguma coisa sobre a qual ele estaria contente em incluir em seu sistema, mesmo que seja oriundo da Microsoft.

    “Acredito muito na importância da tecnologia do que na importância política. Não me importo de quem venha, desde que existam sólidas razões para o código, e desde que nós não tenhamos de nos preocupar sobre licenças e etc. Posso fazer brincadeiras sobre a Microsoft de vez em quando, mas ao mesmo tempo, eu considero este ódio a Microsoft uma doença. Eu acredito em desenvolvimento aberto, e isto muitas vezes envolve não apenas tornar o código aberto, mas também não deixar outras pessoas e outras companias de fora.”


    Smart perguntou então, se a Microsoft estaria contribuindo com o código para beneficiar a comunidade Linux ou a própria Microsoft. “Eu concordo que esta ação está sendo dirigida por razões egoístas, mas é assim que todo código aberto é escrito! Todos nós ‘cotucamos nossas próprias feridas’. Foi por isso que eu comecei o Linux, foi por isso que comecei o git e é por isso que ainda estou envolvido. É a razão para todos acabarem envolvidos com o open source, em certo ponto”, diz Torvalds. “Então reclamar sobre o fato da Microsoft ter pego uma área egoísta para trabalhar é simplesmente estúpido. Claro que eles escolheram uma área que os ajuda. Esse é o ponto no open source – a habilidade de tornar o código melhor para suas necessidades particulares, para quem quer que este “suas” esteja se referindo”.


De longe, um dos argumentos mais sensatos que ja vi até hoje. Muito distante desse outro fanatismo esdrúxulo que encontramos difundido por ai.

The weirdest Microsoft’s workaround ever


Here is Microsoft’s solution for a problem with Excel 97 when using a Oracle data source. Now take a closer look on the second method suggested by Redmond:


If you move your mouse pointer continuously while the data is being returned to Microsoft Excel, the query may not fail. Do not stop moving the mouse until all the data has been returned to Microsoft Excel.

And I always thought improving performance by waving the mouse around was just silly superstition. Gee, I was wrong!


[Source: The CodeProject’s Lounge]

Installing Debian Testing on VirtualPC 2007


If you tried installing Debian testing or any other recent flavor of Linux on Microsoft’s VirtualPC 2007 you probably hit the wall with the “An unrecoverable processor error has been encountered. The virtual machine will reset now.” error during the machine’s first boot after installation.

The solution?

Add noreplace-paravirt to the boot options in grub’s kernel entry.

You may also want to add clocksource=pit as well to solve timing issues and vga=791 for a 1024×768 resolution text mode.


Booting in a usable terminal

To boot in a usable terminal, select the safe (single-user) mode (just select, do not press enter).


Press ‘e’ to edit the command, select the middle line as shown in the picture below then press ‘e’ again. Add the noreplace-paravirt parameter to the end of the line and press enter to go back to the previous screen. Press ‘b’ to boot using the selected kernel entry.



Once you get into a usable terminal, we need to make those changes permanent. We will have to edit /boot/grub/menu.lst and add noreplace-paravirt in the “default kernel options” and the rest in the “additional options” as shown on the two pictures below.



Starting X

Well, if you continue booting and end up in X you will certainly get nothing but a garbled screen. This happens because VirtualPC doesn’t support the default 24 bit color depth of X and we will have to edit xorg.conf and tell it to use only 16 (or 32?) bit colors.

Just open /etc/X11/xorg.conf then look for the “Screen” section. Add the line DefaultDepth 16 as in the picture below, save and reboot (or just restart x).





image image


I was hoping to see KDE4 here, but it looks like debian development is just too slow. I mean, it actually was debian unstable. Ubuntu has had KDE4 out-of-the-box for months now, and it is pretty stable. Wtf.


Edit: Debian 5.0 has just been released. Hopefully KDE4 will move from experimental to unstable soon.

Microsoft Starts Inviting to WDK Beta for Windows 7


WindowsLogo_256x256 I’ve just received an email from Microsoft inviting for the new WDK Beta for Windows 7. The Windows Driver Kit, which includes the kernel-mode driver framework (KMDF) and user-mode driver framework (UMDF), along with the Windows Logo Kit, are the step one for building software which interacts deeply with the OS or with hardware devices, such as device drivers or filesystems.


Dear WDK/WLK User:

I would like to invite you to join the WDK Beta program for Windows 7. The PC Ecosystem Connect site will provide you with Windows 7 beta downloads of:

  • The WDK
  • Free and Checked Builds of the OS
  • Symbols
  • The WLK
  • The Windows SDK

The feedback link at the site will create a report that goes directly into the Windows 7 bug database – you will get email as your issue is resolved, so you can track it.

Please join the beta, download the WDK, and make sure all of your drivers build correctly using the new WDK. Also, check out OACR – it runs Prefast for Drivers by default whenever you build a driver.


Thank you for your help.
WDK Team


Ensuring a smooth transition to Windows 7 is great deal for Microsoft, as compatibility problems with both existing and newer hardware was Vista‘s major issue when it first hit the stores, causing permanent damage to its popularity even if most of those issues are already gone.

Hopefully Microsoft has learned the first impression the public gets about the OS will be the real matter; Vista was certainly ahead of its time but it was needed to make room (and need) for a new, polished and fresh product, which I hope is going to be Seven. I hope Microsoft gets everything right this time.

Advice: Never link directly to a Microsoft page

Is it only me or nobody can reliably link to a Microsoft site without ending with a broken link less than two weeks after?

Also, adding to the fact that their search engine is totally utter crap, once you hit a dead link the only option left is to ask Google for that missing page. Well, whenever I feel like referencing Microsoft’s site again, I think I’ll just link to a Google query for the page title instead.