Galin Iliev's blog

Software Architecture & Development

Migrated to

Finally I was able to migrate my old blog to the new platform Now I am ready to start blogging about Win8 development, Azure OAuth, Windows live id and facebook integration.

so many interesting subjects

Started silverlighting…

I haven’t blogged for a while since I have been enjoying non-typical sunny and hot summer here at Washington.

Now the summer is over and it is time to go back into tech area. Since you’ve noticed there are no WPF/Silverlight posts on my blog and this is about to change :)

I got new laptop and after installing recently released RTM of Windows Server 2008 R2 RTM and converted to workstation. For more details you can see previous posts. And of course it contains booting from VHD… multiple VHDs. I think this is great new feature that speeds up testing and playing with different technologies a lot…

How cool is that…

What is it if not the future :)

This could solve the biggest two issues for cell phones and mobile computers – keyboard and screen size

What’s going on lately…

Although I said I will keep blogging I went dark for a while. It’s not like I am not having what to blog about :) – just opposite – there are so many interesting things around so it is difficult to choose what to write about. I was digging into these interesting things lately:

  • TFS Continuous Integration
  • MSBuild
  • WCF
  • IIS7
  • WiX

As you might know each of these is ocean of knowledge, settings, tips&tricks that could make your life easier… or not :) especially when you hit them all at once. But definitely it worth the effort to employ them to produce better software product.

Next blog posts will be around these things so if you interested stay tuned. 

Outsource your own job :)

I've just read an interesting article on The Micro-Multinational

And the story begins with a programmer in US who outsourced his own job to a guy in India. The magazine says this is "all win" situation because:

By subcontracting out the generic parts of his job, the programmer gives himself a promotion. The Indian developer is well paid. The employer gets good code.

I would strongly disagree: at least the employer gets code with a delay because of additional communication between a US programmer and the one in India.

I am also strongly for outsourcing as long as it put a brilliant people together to create a better product. But the quality should not suffer. Also it is not very loyal to keep this as a secret to the management because delays should be considered in the estimations (which are hard enough to create :) in software business ).

Microsoft Office file formats' specifications

You've probably heard about Office Open XML File formats. It is zipped folder which includes content in XML format as well as the code and included files. This means you can take a look inside them by simply changing the extension:


This is not new and there are plenty of article about this on the web.

The news here is that Microsoft published Microsoft Office Binary (.doc, .xls, .ppt) file formats specifications. It could be very interesting... But it could be boring too :) because according Joel Spolsky:

A normal programmer would conclude that Office’s binary file formats:

  • are deliberately obfuscated
  • are the product of a demented Borg mind
  • were created by insanely bad programmers
  • and are impossible to read or create correctly.

There is a good article from Joel Spolsky who is former PM @ Microsoft Excel team that analyze the specification.

Read it to find out how complex data are handled in limited CPU power and memory back in 80386 at 20 MHz

Microsoft's $44.6B offer to buy Yahoo

The news is everywhere this morning about Microsoft's $44.6B offer to buy Yahoo. The offer represents $31 a share, a 62% premium over Thursday's closing price; and Yahoo's stock price has been rising in after-hours trading. Microsoft has been making overtures to Yahoo since 2006, according to the CNet article, including a buyout offer last February that was rebuffed. has some perspective on the deal from the point of view of ads and eyeballs. Such an acquisition, which would be Microsoft's largest by far — it bought Aquantive last year for $6 billion — would need approval by US and EU authorities. A European Commission spokesman declined to comment.

(via Slashdot)

How to create software/libraries that will be used?!

We, the devs, like to create software - there is no doubt in this. We put our hearts, our souls in it. That's why we are much more productive when we work on something we really like. And when our creature has success - it is wide used by users - we feel great - this is a great reward for long hours spent in front of the screen :) . But can we know if the piece of the code will be wide used?!

The answer is YES. By simply following this mind flow:

So, does this work? It does, but it is cumbersome to write. And if it is too cumbersome, I already know that I'm not going to use it. I might start doing it, but I would soon give up. Are there ways to ease the pain?
Luca Bolognese (Lead Program Manager for the Visual C# team)

Yes, I know some things cannot be simple :) But this doesn't mean we cannot try to make them simpler.


I remember a short ads... in Discovery channel  "Guess the gadget" in which some very complicated inventions from end of 19th century were shown as they are supposed to ease the life. But they were so complicated so you cannot even guess what they do. (How can you used it as you don't know their main use and just for it you need training :) )


So stay with KISS principle or your products won't be used at the end of the day...


And as Albert Einstein said "everything should be made as simple as possible, but no simpler" [wikipedia].