January 2, 2009

Merging Configs (WCF and otherwise)

Following up on the WCF config theme. Back in April I wrote a config merger for our CAB application. General scenario was as follows: we had a central “shell” application that was loading “plug-ins” based on a dynamic config file. The shell and the plug-ins were developed by different teams with different release schedules, etc.
[read more...]

WCF Configuration

Thoughts from one of my last projects. It is difficult to create a well-isolated component that uses a WCF client under the covers. WCF reads end-point configuration settings from the app.config, and there is only one app.config per application. This creates a classic “leaking abstraction” problem. I can’t just use the component by doing new MyComponent(), I also need to worry about some scary XML mambo-jumbo in the config file. And if I don’t get it right, the component may fail in mysterious ways. [read more...]

Is .NET a Java clone?

One of my friends said that he admires Microsoft marketing genius for creating a Java clone and bringing it to commercial success. But is .NET really a Java clone? On the surface it definitely seems like it, similarities are numerous. But important differences are numerous as well. I once did a presentation on this at work, and now I am thinking of creating an article to that effect. So, hold on :-)

December 25, 2008

Spam :-(

I was lately inundated by spam comments. I was getting literally dozens of spam comments a day, and the number was ever growing. Requiring users to log in did not help. I had to install the akismet plugin to keep the spam in bay. This is so sad…

Sun Java update - WTF?

I had a “Java update available” icon on my task bar for a while. Finally I decided to install it. I thought it would be something like a service pack that will update my Java and shut up. Something like Firefox updates do. Unfortunately, that was no the case. Somewhere in between clicking Next, Accept License, Finish, etc. it snicked in a check box saying “Install Yahoo toolbar” which was on by default.

I DO NOT appreciate force-feeding software on my computer using dirty tricks like this. [read more...]

December 7, 2008

Liza Minelli (not computer related)

We went to the “Liza in the Palace” concert today, which is a four-week series of Minelli concerts on Broadway. What can I say… I’ve got mixed impressions from this concert. From one hand, undoubtedly, she still got it. The opening was brilliant. The songs were great. She really knows how to do a show. She has a vibrant temperament, and you get instantly swiped out by her infinite charm, energy, and sense of humor. Her voice is still amazing, after all these years. Oh, and the accompanying musicians are simply wonderful.
[read more...]

December 1, 2008

Visual Studio 2010 CTP

I finally got to download it. Well I TRIED to download it. It is amazing. I wonder, if they wanted to make it more difficult, would it be possible?

First, it is not an install, it’s a virtual PC image. So, you must have Microsoft VPC 2007, with a service pack. Once you are done with that, you must manually download 11 archive parts - one by one, and then unRAR them locally. And it is 7GB in size - archived!

It feels more like downloading a ripped DVD from a shady web site than a beta of a commercial product. I would not be surprised if while unRARing it showed something like “M$ Vizual Studio CR@CK3D BY H@x0RB1@d3″ surrounded by fancy pseudo-graphics. :-)
[read more...]

November 26, 2008

Quirks of .NET DateTime type

It looks like subtracting dates in .NET is done purely mechanically, ignoring such subtleties as time zones or daylight savings time.

In particular, the UTC flag is ignored when subtracting dates. E.g. if you subtract 2008/11/22 13:15 UTC from 2008/11/22 13:15 local, you get zero hours difference in any time zone.
[read more...]

September 13, 2008

Long Time No See

Just got back from a 3-week trip to Russia, and then work-work-work… Not much time for blogging. But I will be back, I promise :-)

July 20, 2008

F#: Must fully qualify class members, even inside the class

It is not the end of the world, but somewhat annoying: class members must always be referred by their fully qualified name, even inside class methods:

type Foo =
 class
  static member Method(x) = ...
  static member Field = ...
  member self.FooBar() =
    Method(42) // won't work: "constructor Method is not defined"
    Foo.Method( Field ) // won't work either
 end