Galin Iliev's blog

Software Architecture & Development

Open Source @ Microsoft

On the latest MSDN newsletter was announced new Open Source site. Although BillG and Microsoft are notorious by demanding software to be paid we see dramatic changes in recent years. MS opened a number of sites to host open source projects like GotDotNet, CodePlex, and now this one.  

Having in mind the fact that .NET Framework source code will be open (together with debug symbols) MS is not that evil :), isn't it?

And some facts about business guys (and enterpreneuers ): I read a short news that says that for every $1 income for Microsoft there are $14 for partner ecosystem( here is full story in Bulgarian). Here are similar numbers in English. So from economic standpoint it is not bad to be part of this ecosystem.

So what you think?

The Pmarca Guide to Career Planning

I've just came across interesting reading: The Pmarca Guide to Career Planning in three parts (by Marc Andreessen):

This is very interesting for young professionals who are setting their path and for experienced one as it is very good from motivation stand point.

And interesting quote:

Or, start your own company.

If your startup fails, try another one. If that one fails, get back into a high-growth company to reset your resume and get more skills and experiences. Then start another company. Repeat as necessary until you change the world.

 Nothing is easy!!! for sure! It is better to get used to it :)

Installing old OS on new machine

I had interesting experience last night: I had to install Windows XP on new laptop with Mobile Intel® GM965 Express chipset .

I know you would wonder why and the reason was: Because on this machine will live software that communicates with a hardware for vehicle diagnostic system. And the provider (or software ) required Windows XP.

Piece of cake, right?! Having an issue or two I was able to install it in.... 3.5 hours Arghhggggggggg (it had to be ready ASAP :( ).

Well let me share with you so you will know how to act if you have similar situation:

Problem 1:SATA HDD

Probably you know that if Windows XP installation package doesn't have SCSI or SATA drivers for your adapter you have to provide them in the early stages of instalation (by pressing F6) using.....  ta damm Floppy Disk! But who in the world is still using FDD? Even accountants I know use USB flash drive and digital signature. This was almost showstopper but I remembered the tool I read about for customizing Windows installations - free nLite. Beside removing components, incorporating serial keys, SPs, hotfixes and a bunch of tweaks there is a option to incorporate drivers. This is exactly what I needed. the rest is customizing WinXP ISO image

Problem 2: Chipset Drivers

This one was relatively easy - The Intel guys provided a nice little .exe that expant image on floppy disk. As I don't have one I decompressed the .exe several times until I get a nice 1.44 MB .IMA file. I had to download the shareware WinImage in order to extract files from .IMA image and then nLite did his job.

And bingo - it worked. The rest is borring software installation.

Hope this helps.



Today I came across new acronym - WAF (Woman/Wife Acceptance Factor). According Wikipedia it relies on the cliché that men are driven by certain geekiness when it comes to acquisitions like home theater or PCs, disregarding the female aspects of aesthetics, design and practical/financial considerations.

Here is some graph exposing WAF for some new gadjets (borrowed from Scott Hanselman)

What do you think? Do you consider this factor (formally and informally) when buying new toys? :)

13 disasters for production web sites and their solutions by Omar Al Zabir

A great software developer and architect from Pakistan Omar Al Zabir wrote an article about disasters for production web sites and their solutions. It is very interesting as it describes how to deal with problems (and event worse - disasters) in production.

Here is the list:

  1. Hard drive crashed, burned, got corrupted several times
  2. Controller malfunctions and corrupts all disks in the same controller
  3. RAID malfunction
  4. CPU overheated and burned out
  5. Firewall went down
  6. Remote Desktop stopped working after a patch installation
  7. Remote Desktop max connection exceeded. Cannot login anymore to servers
  8. Database got corrupted while we were moving the production database from one server to another over the network
  9. One developer deleted the production database accidentally while doing routine work
  10. Support crew at hosting service formatted our running production server instead of a corrupted server that we asked to format
  11. Windows got corrupted and was not working until we reinstalled
  12. DNS goes down
  13. Internet backbone goes down in different part of the world

Here is the article 13 disasters for production web sites and their solutions

Note: You can also take a look at his website - it is very impressing with Win2k look&feel

Microsoft codenames

I came across on posting series that describe Microsoft codenames. It is good to see all them in one place but it is a bit confusing and overwhelming :)

You won't be surprised that many new things are behind the corner... Check Mary Jo Foley's series of Microsoft Codenames.

(via DevLife blog)

There is also good list on Wikipedia. I found there that "Tuscany" is codename of online version of Visual Studio and it is currently a research project. Interesting, huh!?

Language comparison

I found some goods language syntax comparison sheets that can help you easily to write your algorithm in VB.NET even you are expert in C# (or vice versa). But remember: the most important things are algorithm and benefits for the users not which language you use! in other words if you have some genius thoughs it doesn't matter if you say them in English or in Bulgarian - people will understand you

Hope this helps

Microsoft "Grava" CTP

In last ten years software technologies grow very fast. As these technologies has to be learned by people who is supposed to work with them learning process have to be adapted in such way so learners see and remember as much as possible form the course. (further thoughs in this subject see here)

Microsoft as a one of the most innoviative companies beside pushing techinlogies forward gives its share to education. After creating Microsoft Learning system now the new solution is being developed. It is called "Grava" and it is built on top of WPF to provide very interactive training. As it is still CTP the address is Here is some description of Grarva:

What is "Grava"?

"Grava" is the code name for a new set of tools from Microsoft’s Education Products Group that is designed to allow the education community to create and assemble materials that will increase discovery and allow learners to go at their own pace and learning style. "Grava" tools are scheduled for release in fall 2008.

"Grava" Player—The "Grava" player enables users to view the rich interactive content created in "Grava" Authoring.

Developer Tools—The "Grava" SDK is built on Windows Presentation Foundation (WPF) and provides a programming model and tools for building rich educational experiences.

Authoring—"Grava" Authoring allows users to create interactive and stimulating non-linear projects to view in the "Grava" player.

Services—"Grava" provides an array of services which complement the authoring, SDK and player components. These services include the ability to do assessments, log results, and create intelligent learning solutions.


Fix bugs song

99 little bugs in the code, 99 bugs in the code,
fix one bug, compile it again...
101 little bugs in the code....