ailon's DevBlog: Development related stuff in my life

Automatic Defaults

6/27/2008 6:06:20 PM

ryanair-hertz Every time I go to car rental sub-site of I get frustrated with smarty-pants "Pick up Country" dropdown. As you can see on the screenshot, it automatically selects pickup country by visitor's IP address (or something like that).

Now I don't know how many people fly from UK to UK or from Germany to Germany, but I know for sure that you just can't fly with Ryanair from Lithuania to Lithuania. So this automatic selection super-feature is at the very least useless and in reality it's annoying. As I said you can't fly from Lithuania to Lithuania with Ryanair and what are the chances that when you're already in Lithuania you will go to to rent a car? I think something like 1:10000. On the other hand automatic selection in "Country of Residence" is actually a nice little feature which probably works correctly 99% of the time.

So what should be in that pickup country dropdown by default?

The most obvious option is the message "Choose one" like in that "Pick up Location" box. And by the way there's only one Ryanair "location" in Lithuania so why the hell it's not selected by default? While just leaving "Choose one" seems most logical to me and easiest to "implement", I accept that it might be not fancy enough for someone at Ryanair. In this case they could've determined my location and then get the most popular destination from that location and make it the default.

Are there any other logical default values for that dropdown? I don't know. What I know is that seeing my own country there annoys me. In most cases no AI is better than seriously flawed AI.

Tags: , ,

Klok - Personal Time Tracking Made Easy

6/24/2008 2:43:50 PM


When I saw a post about Klok on DownloadSquad I immediately thought that the idea is brilliant. Now that I've used Klok for 2 days I can say that implementation is a little rough around the edges but definitely useable and the idea is really brilliant and not only on paper but in real life too.

So, what is Klok? In it's creator's Rob McKeown's words:

Klok is a tool intended to be used by individuals, like myself, who have a need to track the time they spend on projects, tasks or anything else for that matter.

There are many project/progress tracking solutions out there but for tasks when you work alone or you are not a project manager needing to track activity of multiple developers using something complex is an overkill. When I needed to track time spent on some project most of the time I've resorted to post-it's or spreadsheets and system clock but with Klok I can save trees and my own time. And, by the way, it can export your timesheet to Excel, too.

Basically you just have a small bar on your screen


and select a project you are currently working on. And the stopwatch starts. When you are done with the project you switch to other project or just hit "stop". Projects can have sub-projects and sub-projects can have sub-sub-projects and so on. Then you can view your week in calendar-like fashion. Or look at your data on project basis. Or generate reports. Or export data to Excel.

Not everything is pink in Klok: I wish it was just a tray icon or Vista SideBar Gadget rather than bar shown above, I wish there were some configuration options (a week doesn't start on Sunday over here), the UI isn't perfectly smooth and for reasons unknown not all projects are shown in project dropdown all the time. But all these are minor issues which I believe will be addressed over time because overall this is a really nice add-on to my toolset.

You can find Klok at

P.S.: I was somewhat skeptical about all this Adobe AIR thing but now I'm already using 3 AIR apps on a regular basis: twhirl (which is probably one of the most beautiful and polished little apps I've seen), Pandora (well, it's actually a website shell but still) and now Klok.

Tags: , ,


6/24/2008 1:59:10 PM

Apparently the most popular Bill Gates quote is "fake":

Some of the most oft-repeated comments attributed to Bill Gates through the years were not uttered by Bill Gates. Take for instance "640K ought to be enough for anybody," which he supposedly said in 1981 to note that the 640K bytes of memory in IBM's PC was a significant breakthrough.

... Gates has addressed the 640K quote in interviews. "I've said some stupid things and some wrong things, but not that. No one involved in computers would ever say that a certain amount of memory is enough for all time ... I keep bumping into that silly quotation attributed to me that says 640K of memory is enough. There's never a citation; the quotation just floats like a rumor, repeated again and again," he told Bloomberg Business Applications in 1996.

The Quotable Bill Gates

Dang. The world will never be the same.

Tags: ,

Essential Silverlight 2 (Up-to-Date) by Christian Wenz

6/18/2008 4:04:03 PM

Finished reading Essential Silverlight 2 (Up-to-Date) by Christian Wenz. I've posted about the look and feel of the "Up-to-Date" concept when I got the book. To that aspect I can only add that it was actually more comfortable to read than I've anticipated. The binder doesn't stand in the way and probably is sturdier than paperback or even hardcover.

Now let's move on to the reason why I bought this book - content. The book succeeds at getting you excited about the technology and that's basically it. It shows you how to do basic XAML and how to access the objects from C# and JavaScript very briefly (currently it's only about 200 pages long). I really missed a part dealing with creation of objects and drawing directly from C#. I don't think that's something outside of the scope of "essential" book. It also seems that some chapters are being rewritten from JavaScript to C# but the text still says "JavaScript" while the code in the example is in C#.

I was mostly interested in Part 3: Programming Silverlight with .NET. But to my surprise it dealt with embedding Silverlight into ASP.NET pages rather than actual programming of Silverlight apps.

Anyway I got my share of excitement about the technology and feel pretty comfortable to start actually doing some stuff with it after reading this book.

Verdict: succeeds at getting reader excited about Silverlight 2 and stops right there

P.S.: This review refers to the book with "Update 1" (Beta 1) applied.

Tags: , ,

Accelerated C# 2008 by Trey Nash

6/13/2008 3:56:01 PM

accelerated_csharp_2008I've been developing in C# (on and off) since version 1.0 was in beta. I've read a book about it when version 1 came out and then I relied on online articles, blogs and docs to stay updated. Now (2 versions later) I decided that it's about time to read something systematic on the language to get a complete overview of the things I could've missed over the years and to familiarize myself with new features in C# 3.0 (btw, book title is probably a work of some crazy marketing mind since there's no such thing as C# 2008 AFAIK) .

And the book delivers just what I needed: concise overview of most of the language features complete with samples, usage patterns and best practices. Accelerated C# 2008 (Accelerated) is targeted at developers with some prior experience. It's stated in several places that it's for C++, Java and Visual Basic developers though it's perfectly clear that Trey Nash has lots of things to say to C/C++ and C# guys and not so much to the Java and Visual Basic crowd. Almost all comparisons are done with C++ world so if you are Java/VB developer I suggest you look elsewhere or at least be warned that you wont find many references to these languages.

Verdict: highly recommended for C++ and C# developers, not so much for beginners and Java and VB developers

P.S.: actually in this case I've read a Russian translation of this book titled "C# 2008 ускоренный курс для профессионалов" so I can't talk about publishing related qualities of the book.

Tags: , ,

Live Globalization

6/12/2008 5:26:00 PM

Microsoft has nice tools to implement "global" web sites. Unfortunately they overuse the technique most of the time.

I was looking for an alternative to SkypeOut calls to call my daughter cheaper while she's on vacation in Germany and I've read several nice opinions about pc-to-phone calls in Live Messenger. So I went and installed it. But I couldn't find the option to call a phone from it. I started looking around wondering WTF and then I checked this page called "Call"


Do you notice anything wrong with this picture? The URL is "threewaystocall", it says "Get big savings on phone calls around the world" and then there are TWO options: video calls and pc-to-pc calls. And where are the PC-to-Phone calls?

If you dig through the help you can find a small sentence on the "Call a contact's phone or computer with Windows Live Call" page that says "This feature is not available in some markets."

I assume that I'm part of that "some market" but wouldn't it be clearer and less awkward if they've just placed an asterisk on the "threewaystocall" page saying that "PC-to-Phone calls is not available in some markets/your market" rather than just hiding it? I know it looks cool on paper that you can report to someone that you can automatically detect user's "market" and display content accordingly and it's a nice "demo" feature but sometimes old-school remarks work better.


Globalization Perfectly Implemented

6/6/2008 12:00:58 PM

For the last couple of months every time I clicked a link to some band's MySpace page I was presented with site's GUI in Spanish. I thought that there was something wrong with my browser settings or something and since I don't use MySpace for anything more than described above I wasn't paying much attention.

Then one of my co-workers told me about the same issue and another one confirmed from different location. Apparently for MySpace's AI all non-US IP addresses belong to Mexicans. And there's no easy way to switch language. There's a tiny "MySpace International" link at the bottom (after gazillion of ugly banners, friends, etc.) where you can switch from United States (Latino) to United States (English).

Way to go. MySpace is officially not only the ugliest but stupidest social network out there.

Tags: ,

Web Development Project Roles

6/5/2008 11:19:50 AM

I've just read a 37signals article "Why we skip Photoshop". It argues for the idea of designing sites in HTML/CSS right away skipping the "static mockup" phase. This reminded me of a thought I get every time I see some products, articles, demonstrations, etc. aiming at separating presentation from business logic.

In a typical small size web development projects there are 3 main roles of (implementation) participants:

  1. Designer
  2. HTML/CSS coder
  3. Business logic coder

Now the 37signals article assumes that "Designer" and "HTML/CSS coder" are either one and the same person or at least inseparable pair. In my world (In small-to-medium web projects that I worked on during the last 10 years) I've seen projects where:

  • each role was performed by different person (or a group)
  • "HTML/CSS coder" and "Business logic coder" were the same person (or group)
  • all 3 roles were performed by a single person

But I have never worked on a project where "Designer" and "HTML/CSS coder" were combined into one role and business logic coder was someone else.

Am I living in a different world? Probably. Cause you can see this tendency in tools too. In Microsoft's demos you can often see a pattern where developer works in one tool - "Visual Studio", and graphic design/HTML/CSS/XAML is done in another (single) suite - "Expression Studio". From my perspective this leaves only 2 major roles - presentation specialist and business logic developer. I think this is wrong. I've seen many good graphic designers who had basic knowledge how web works but had no idea about HTML or at least didn't waste their time learning quirks in CSS implementation in different browsers.

Probably for large corporations this is not an issue but if you take a small company with 3 technical employees (designer, html coder and developer) you can't get separate graphics tools for designer and HTML coder. You end up buying 2 copies of Photoshop or Fireworks or Expression Studio or whatever when designer only needs creative tools and HTML coder needs technical tools for cutting parts of the design according to his implementation.

Why do I have to get a Photoshop behemoth only to be able to cut (without compromises) what my designer has done in it? I want ImageReady separated back into a standalone product. But there's probably something wrong with me cause this seems to be a global trend.

Am I old fashioned or just crazy? What is your process?

Tags: ,

What user groups are for?

6/4/2008 4:23:55 PM

lt_dotnet_usergroup For the past half a year I've been watching (from a distance) the creation of Lithuanian .NET User Group in it's initiator's - Sergejus Barinovas's - blog (both sites in Lithuanian). I couldn't get the purpose of this "movement" from what I've read. Then I've read reports about the first 2 meetings and still I couldn't see any serious reason to attend (except free beer or was it free?).

Then last week I've listened to the DotNetRocks podcast - Show #344 Building Communities at Dallas TechFest. Half way through the show I felt the urge to go to the next LT .NET User Group meeting but then as the show continued I found myself back in the skeptical mood.

So I decided to outline here what uses I can see for the "user group" concept and try to see if any of them appeal to me:

  1. Socialize with geeks. This could be hit or miss. I like or dislike people individually. I can't relate to a person automatically just because he/she is of the same ethnicity, color, likes the same basketball team or programs using the same language.
  2. Find a new job. I think these groups could be a powerful tool in finding a new job by meeting people working in other companies. Unfortunately (or rather fortunately) I'm not looking for a job and hopefully wont ever look for one.
  3. Find an employee. This could work too. If I ever look for employees I'll think about going to a group meeting to check if there's someone there on a mission #2
  4. Establish yourself as a local authority in the subject. For someone looking to achieve this goal user group could be a starting point but you have to actively participate rather than just "attend".
  5. Learn something new. I don't think so. I mean you could learn something new there for sure but in the same amount of time you could learn a lot more by reading technology blogs, articles and books. Unless group meeting is the only "excuse" you have to learn something.
  6. Solve your technical problems. These meetings are too far apart to be a useful medium for discussing issues with smart guys. You can solve your problems faster by asking questions in appropriate forums, newsgroups, blogs, etc.

So, from my point of view there's not much to gain from this type of activity: I'm introverted (like most developers) and not seeking to meet random people for no apparent reason, I'm not looking for employers or employees, I'm not looking to become a technology speaker or something and I can learn much more by spending the time wiser.

I'm ready to accept that I'm wrong if someone has really good arguments in favor of user groups. For now the concept sounds as bullshitty to me as "team building" - something for some "social scientists" to justify their existence and, probably, some statistical analysis tool for vendors of technologies in question.

Do you go to your local "... user groups"? What for?

kick it on

Tags: ,

Visual Studio Trial Upgrade: 24 days later

6/2/2008 10:57:28 AM


I wanted to wait a month before checking back on this issue but recent post by ScottGu (more on this later in this post) changed my plans.

So, it's been 24 days since that post. Thanks to DotNetKicks, Dzone and, obviously, Google that post was viewed more than 1100 times directly (not counting views through RSS, as part of the whole blog, etc.). I'm pretty confident that someone from Microsoft directly responsible for these things or at least someone who knows someone who is in some way related to this has seen it.

Today I tried to repeat the quest and failed exactly the same way as almost a month earlier. The only difference was that MSDN's header design has changed and "Content Not Found" page looks prettier now.

Now back to the a/m ScottGu's post. Only things why I wanted to upgrade to VS2008 right now were to play with Silverlight and ASP.NET MVC. Sure I'd like to use VS2008 with other things but for now I work on 2.0 projects and there's no immediate need for 2008. And from that post it appears that I can do my playing from VWD Express 2008 meaning that I can delay upgrade to VS2008 for as long as I want (if ever). This is no way a solution for the actual non-upgradeability problem but it's not my fault that Microsoft doesn't want my money.

kick it on

Tags: ,

Copyright © 2003 - 2018 Alan Mendelevich
Powered by BlogEngine.NET