Tuesday, September 30, 2008

BMW 1 Series remind me...

...of a saying: "Helicopters can't fly. They're just so ugly, the Earth repels them".

Ugly they are (like all post-2001 BMWs, except, maybe, E92). It is difficult, though, to turn down the appeal of the powerplant previously available only in a grownup category.

Here's a comparison - E39 540i 2003 vs. E81 135i 2008:

Power: 290 bhp vs 300 bhp
Torque: 325 lb-ft vs 300 lb-ft
Weight: 3757 lb vs 3438 lb
Power to weight: 0.0771 vs 0.0926
Torque to weight: 0.0865 vs 0.0926

One interesting fact: specified weight of 135i is just 0.96 of the weight of 335i, and 0.87 of the weight of 550i for the same model year. It's not light, no matter how they try to convince you it is, it's just small.

For comparison, 135i has a weight that is 1.73 of Lotus Elise (totally different ballgame), and 1.21 of Acura RSX Type-S (arguably comparable level of fun, performance and luxury, but absolutely different demographics).

Likewise, I don't want to bother with calculating the prices, but something tells me that you might just get yourself a 3 series or 5 series for almost the same cost, percentage wise... Just don't get yourself blinded with the absolute difference - think "relative" and "cost efficiency".

Monday, September 29, 2008

Handcuff Notes: Forward To The Past

Working on Google Docs when the connectivity is slow feels remarkably similar to working on one of 16 terminals on PDP-11 with 64K memory back in mid-eighties...

Android: Unforeseen Consequences

Unforeseen by some, of course. I'm sure Google had exactly this in mind from the beginning.

Take a look at the flurry of announcements - major mobile hardware providers are now "looking" into the platform. The word "commodization" comes to mind right away.

Basic mobile phones are already commodized all the way - there's fierce competition, they cost dime a dozen and offer just about the same functionality.

There's still some diversity and competition between high end phones - notable examples would be BlackBerry, Treo, iPhone, and less known in North America, but more known in Europe Nokia Communicator series. They are vastly different and mostly occupy different segments of market.

Android, with some development effort, can occupy both the niches that the business phones (BlackBerry, Treo, Communicator) and fashion phone (iPhone) currently have the stranglehold on. Net result: some of those phones will go the way of the Dodo, the rest will have to drop prices. Commodity market is not fun.

There is one interesting specimen in this game: Sony Ericsson. Yes, the same Sony that pulled the rootkit on us and cheated on BluRay compatibility. They are currently "testing" Android. Seeing how Sony likes to have the market to itself and not let anyone in, and consistently fails to coexist in the same market segment with competition, I'm making my bet that either Sony will completely refuse to participate in Android game, or come up with something ridiculously vendor locked, which will not survive in the context of open API. Let's see how this prediction holds.

Friday, September 26, 2008

Topsy-turvy HTPC case

YY-0110, Front

Wrote a couple of critical reviews on Antec P182 (on Newegg and here), and immediately remembered the good old YY-0110 (YY0221 is a closest approximation available today).

It wasn't too good at all when I bought it. Well, to begin with, it was bought in 1999 (it was difficult to find and especially verify anything on Internet back in those times), and I had very little idea about what I was doing - it was the first time I was building a computer. Stamped steel, point welding, sharp edges, damaged threads. Resonated like a steel guitar. Inferior PSU, gave up the ghost pretty soon.

However, the role this box played in the transformation of a person with no practical skills into a person that is not afraid of any DYI work can't be underestimated.

...It all started with a freezing video card, Riva TNT2. It was freezing as soon as the card temperature was above 30°C (for comparison, XFX GF7950GT PVT71JYHE9 feels just fine at 130°C). And of course, there was no money to replace it. Well, the less money you have, the more is your motivation to turn on the brains, so I did. Took out the card, took off the heatsink, swore at lazy workers that didn't put the thermal paste right, fixed it, put it back, rejoiced. But there was a side effect to it - at first, Pulse was created, and it eventually grew into DIY Zoning...

But I digress.

All in all, this box had been in service until 2005 (running PIII/550 with 512K RAM), first as a workstation, then as a server. Then it was retired, and it was collecting dust - until the need for a new computer materialized.

That was when things got interesting.

By that time the noise finally got on my nerves.

Lian-Li PC-60 (the original, with three 80mm fans) was bad. Lian-Li V-Cool PC-V1200B, with two 120mm fans and a squirrel case, even on rubber grommets, was even worse. So the verdict was: no new case, YY will be modded, 80mm and 90mm fans will be thrown away, quiet 120mm fans will be installed, and the end result must be quiet enough to put it in the bedroom or into the entertainment center.

The case was gutted, metalworking tools were engaged, and in a couple of weeks the case was difficult to recognize: instead of one 80mm and one 90mm fans there were four very quiet 120mm Scythe S-FLEX SFF-21D (bought here). I can't say whether they really deliver promised 8.7dBA, but you can only hear them in a very quiet room at night, and you have to get down on your knees to hear them. Two intake fans at the front, one intake fan at the left (where the CPU is), and one exhaust on the rear (below the PSU).

YY-0110, Rear

PSU chosen was fanless (kind of) Antec Phantom 500. That was before I got disappointed in Antec PSUs after two consequent failures, both shortly after warranty expired. Interesting fact is that I'm seeing a sharp decline in Antec popularity recently - I guess I'm not the only disappointed one. Another disappointment was that as soon as the auxiliary fan kicks in, you realize that no, it is far from zero noise, it's much worse than regular - but that doesn't happen very often, especially if you're only using the computer as HTPC, and not as a gaming station.

After long consideration, fanless XFX GF7950GT PVT71JYHE9, fresh new on the market, was bought. That turned to be the worst disappointment of all: it didn't fit into the case. I was 4mm short. Sure YY is a big case, it's just that the motherboard compartment is more shallow than most... I said, the hell with it, cut out the hole in the side panel, and it works happily since.

That was the end of it, and it seems that the case turned out quite right. It is quiet as a coffin, and cold as a tomb.

YY-0110, left

CPU temperature (AMD X2 3800+) doesn't get above 49°C with the fanless video card (above), and doesn't get above 52°C with two G92 8800GTS/512 SLI (it is interesting that even those two monsters, the noise level wasn't bad at all). Hard drive is in a wind tunnel between two fans, I don't think it will ever overheat.

YY-0110, right


It's been 10 years since I've started buying computers out of my own pocket.

  • Bought two whole computers - HP Pavilion out of ignorance, Dell Dimension E521 because of crazy sale;
  • Bought four cases - YY-0110, Lian-Li PC-60, Lian-Li V-Cool V1200B Plus, Antec P182;
  • Got four cases as a present;
  • Built total of eight computers (not counting endless tinkering with existing ones).
All things considered, this case is so far the best.

Yes, it is somewhat ugly.
But it works.
And it is cold.
And it is quiet.

I don't think I'll be buying more cases anytime soon. There's a stack of old cases gathering dust in the corner, I'll just pick the one that fits the purpose the best and start hacking away...

Wednesday, September 24, 2008

${mobile-device - iPhone} + ${appliance}

As if there were many doubts before... But now that Apple completely shut off access to App Store for those they don't like, I don't think I'd be trying to architect a mobile application that takes iPhone platform into account, except probably for morbid curiosity.

Update: Yup, I'm not the only one that thinks so.

Tuesday, September 23, 2008

Defective By Design: Netflix + Microsoft

I am pissed.

Really pissed.

I've just voted with my dollars against Sony lies, deceptions and vendor lock-in, just to run headlong into the fact that there's Microsoft DRM that stands on the way between me trying to watch my (mind you, legally bought and paid for) Netflix movies and my brand new HDTV (which I, mind you, also bought and paid for) I want to watch them on.

You probably know what I am talking about - the dreaded WMPError(C00D11B1).

Netflix explanation is that Microsoft doesn't like that I've connected my video card to the TV with a component cable (sure it's a dumb choice, but that's the only one I have today at 19:00 with chores to do and not willing to spend extra money on HDMI cables, connectors and adapters). They are not, however, sure that using HDMI connector will have any effect on the DRM error. They say, "Downgrade your resolution to 480p". Sure, that's why I plonked a couple of thousand dollars into a 1080p device - to downgrade it to 480p. Absolutely. That's exactly what I had in mind. Will do right away, sir.

So, let me see. Netflix claims that they stream the movies at 480p max. Nevertheless, the technical solution they chose (dependent on Microsoft DRM) prevents me from watching those movies at 1080p device.

What alternatives do I have? Let's see now. Ah! I remember. All the internets have been buzzing about this for a long time now, and the verdict is: It is easier to pirate than purchase.

Now let's consider the situation. I wanted to watch the movie that is not yet available on DVD from Netflix (for Pete's sake, it's not even an HD movie!), but is available via their streaming player. Yet, I can't watch it.

Now you tell me: what would I do? Yep, that's right.

Android G1 disappointments: no UMA???

No UMA support on G1? You've got to be kidding me...

This is a deal breaker - 90% of my cell traffic is over UMA. Deal breaker.

Damn, will have to wait until G2...

Friday, September 19, 2008

Voting With My Dollars

Today's actors: Sony vs. the world, Amazon vs. Newegg.

I've been buying Sony products for many years. Back in 1998, the first big thing that I remember was their CPD-200ES, couple of years later - CPD-420GS, then, in about 2001, their WEGA KV-40XBR800 (I'll skip smaller things to reduce clutter).

Been happy with all of them since - both monitors have outlived their usable life, the 420GS was dropped off the truck by a sloppy mover and survived about 6ft fall (thanks to original packaging), Wega is still working just fine (after being promptly replaced on a 32rd day due to catastrophic tube failure, though). I would've continued buying Sony products for their quality, if not for issues that have been cropping up for a long time now, and eventually became a deal breaker.

The first serious sign of trouble was the rootkit scandal. As an avid music lover (the word "audiophile" has become somewhat derogatory recently, thanks for sheer stupidity of some specimens of that crowd), owning countless CDs, and having spent a small fortune on decent audio equipment, I didn't think I should be treated that way. I am not a thief. So I said, "basta, I'm not buying any Sony products from now on".

Arrogant remark that Thomas Hesse, President of Sony's Global Digital Business, allowed himself to broadcast ("Most people, I think, don't even know what a rootkit is, so why should they care about it?"), didn't help Sony to win my favors at all.

The next sign of trouble was the BluRay version compatibility scandal (excerpt from the article: "quite the slap in the face to consumers who paid several hundred dollars for players that won't able to be updated to take advantage of the 1.1 profile, much less the upcoming 2.0"). This happened long after I vowed not to buy Sony again, so it wasn't much of a surprise - but still, it's quite disappointing since BluRay is now the only HD standard, and I have to bite the bullet and skip on players altogether (and the question that is still open - "am I paying Sony every time I buy a BluRay disc?" - and the answer is "yes").

I am not even talking about obnoxious vendor lock-in that Sony is pushing on its paying customers (MemoryStick, anyone?).

Since then, I've bought 4 monitors - one from Samsung, three from Dell, one HDTV from Panasonic, ultraportable camera from Pentax, DSLR from Nikon, DVD readers and writers from Plextor and LG. I do not own a BluRay player, nor I plan to have one - there are other ways to get the HD content on your screen. If an HD standard alternative to BluRay comes up - I'll be there the next day. I leave it as an exercise to the reader to calculate the lifetime loss of revenue (due to marketing and strategic stupidity) that Sony would've otherwise have (due to technical excellence).

Am I suffering? Not really, I'm quite happy with products from the competition.

Is Sony going to notice? Myself only - of course not. But the last straw broke the camel's back, and as long as I can help it, I will keep doing it that way - if enough people are doing it, Sony will either notice it, or go out of business - nobody is invulnerable, just take a look at history of Sears and you'll see what I mean.

Now for the other fun part.

I have *just* bought the HDTV couple of days ago. Same model was available from Newegg and from Amazon, for about $130 less. $130 is nothing to sneeze at, but, remembering awful shipping that is quickly becoming the Amazon's trademark, I decided that I will still buy the product from Newegg, despite higher price.

You can only imagine how pissed I was today, when I went there to check on shipping schedule and saw that in two days the price dropped $100.

Decided to call Newegg and ask them for adjustment. Lo and behold, they did it without asking any questions. That definitely made my day.

It also brought the difference in price to $30, which is a very, very good price for the peace of mind.

If there'll be a comparable choice from Newegg and Amazon in the future, guess which way I will go...

Friday, September 12, 2008

R.I.P. E39 Brake Pads & Rotors

E39 Front Brakes

5 years, 6 months, 14 days, 60,731 miles, "check brake linings". Time for a new DIY endeavor.

At about forty thousand miles, I've complained to the dealership that the brakes don't feel right. After taking a look at them, the shop foreman (somehow, my car always ended up in his hands) looked at me and said - "Sir, new brake pads on this car are 10mm thick. They need to be replaced when they get down to 2mm. That usually happens at about twenty thousand miles. Yours are about 8mm thick, and you've been driving this car twice as long. Do you brake at all?" "Of course not", - I responded. - "Who needs brakes when you can downshift?"

Dynamics of Being Late to the Game

Isn't it funny that the first thing I've found while researching material for this article is the article on McNamara's Syndrome? Oh, and that being a relatively fresh (August 2008) meme at that?

Admit it, you're always late to the game. Unless you've invented the game and set the rules yourself. Which is pretty damn hard to do - the prerequisite is that you know very well what you're talking about, otherwise you're going to be ignored at least and ridiculed at worst.

There's been a lot of games in software engineering during our professional lifetime, so being late to the game kind of becomes a second nature - it is simply not possible to be aware of everything at the same time.

Then there's a separation between those who become jack of all trades, master of none, and those who tend to investigate one problem until they grok it and then move on to the next.

The first kind gets to become astronomical architects. They can easily talk about anything without actually realizing that they don't know what they are talking about. What makes matters worse, they're usually at the position of authority, and can present information believably enough so that it becomes difficult to penetrate the boundary of non-knowledge they distribute.

Meanwhile, the second kind is stuck in a deep niche 'cause they're busy solving the problem of the century. Which the humanity most probably doesn't even know about, and cares even less.

Being the second kind, though, gives you an advantage - while arriving late, you see all the mistakes that the present players have already done, and have the luxury of standing on the shoulders of giants, and can (provided you have enough brains to recognize it in the first place) generalize and streamline whatever's been done, cut the extra fat off (using your favorite tool, Occam's Razor, and remembering immortal Antoine de Saint-Exupery's saying - "Perfection is achieved, not when there's nothing more to add, but when there's nothing left to take away"), and achieve the perfection.

Or at least take a stab at it.

There's another take on it, too. Can't seem to find the quotation's origin now, just remember that it was in one of Ursula Le Guin's books, but my recollection of it sounds like this:

When you're young, you're weak, but all the roads are open to you, and there are endless possibilities. As you grow stronger, you can achieve more, but your choices narrow. An when you achieve the absolute power, you can do anything. But the wisdom you're acquired along the way makes you only do things you absolutely have to.

And there's the paradox. It's been expressed many years ago by Yuri Lesiuk, my lifetime guru, and it goes like this:

In order to know what you're doing, you have to know just a little. But in order to know what you have to know, you have to know everything.

And the question that started this rant? Simple, how do I make sure I don't have to repeat the architecture, design and coding for all currently available mobile platforms, major being (in no particular order, some may be omitted due to ignorance) BlackBerry, iPhone, Android, WinCE, Palm and Symbian. That's hell of a lot of overhead to have when you're trying to do something useful.

Thursday, September 11, 2008

Wednesday, September 10, 2008

Google: World Domination Continues

For a few weeks now, I was about to write an article with a title "Google Mobile: The Forgotten Stepchild".

GMail was funky, would not refresh by itself, would create a dozen ghost accounts with the same name, possibly contribute to BlackBerry's crazy behavior, so would Maps, Updater won't show last version of software when run.

And now the reason for this becomes very, very obvious - they've been developing Mobile App for BlackBerry.


BlackBerry Curve 8320: Overheating, Battery Drain Continues

I was wrong, Google Maps for Mobile is off the hook.

The phone keeps overheating and draining battery once or twice a week. The pattern is still unclear - sometimes it seems to be related to installing new applications (over the network) or fiddling with existing network-aware applications (Google again), sometimes seems to be related to a race condition between cell and UMA networks.

Pisses me off, honestly.

The only guaranteed way to get out of it without guessing whether it snapped out of it or not for the next few hours is to give it a hard reset - i.e. take out the battery, plug it back in and wait forever until it boots.

I know I'm not alone -

Search for blackberry power drain
Search for blackberry overheating

Wonder how long it will take RIM to admit the problem (so far the official statement I got from tech support is "we've never heard of it") and fix it.

It is also interesting to note that iPhone suffers from the same problem (search for "iphone overheating").

There's one thing that makes me really nervous - it's one thing if it is just a runaway process beating its head against the wall and draining the battery, and completely different thing if it this process keeps transmitting on full power all this time from my pocket. Totally uncool.

Chrome Rust: Power Management Bye-Bye

Turns out, Google Chrome does something to Windows power management settings to effectively disable the screen saver, turning off hard drives, and sending the box to hibernate/suspend.

So, if you care about your electric bill or, like I do, reducing heat generation, turn off Chrome when you walk away.

Side note, it would be nice if Google provided you with the reference number for the bug report you've just submitted through the dialog box provided with the browser. I don't have all day to fish it out of their bug reporting system.

Doctor, am I eating too much dust?

My guests often ask me in horror - "Are you sure it is safe to run computers in a woodworking shop"???

Confidently, I answer - Absolutely.

No Chip Fan

Above is the picture of the motherboard that had spent a couple of years in my shop. Below is a picture of someone else's motherboard - with no notion of where it had spent its life. Draw your conclusions.

very dusty PC, linked without permission, but with credit

(Picture is taken from here)

Monday, September 8, 2008

Lessons Nobody Wants To Learn: Enterprise Integration

It was a long time ago. I was young. It was my first job.

The job was to write a cross-compiler between two CAD systems.

On the receiving side, there was a minicomputer (a Soviet PDP-11 knockoff) running P-CAD.

On the sending side, there was a PC running some sort of a CAD supplied by, I believe, Sigmex - at least this is my recollection almost exactly 20 years later.

There was an interesting caveat to it.

You see, P-CAD is a PCB design tool.

And the Sigmex application complex was intended to create mechanical designs.

You can only imagine what sort of bribes and kickbacks could introduce a mechanical CAD system, woefully inadequate for designing PCBs, into an environment used exclusively for PCB design. I'm not even talking about the fact that there was plotting equipment designed to work with different paper size - about 2/3 of very expensive paper was being wasted into offcuts.

But I digress...

This is how ONE test run looked like:
  1. Run the prototype, convert Sigmex output file into P-CAD input file;
  2. Log off 6 (six) people working on P-CAD mini, busy as hell, trying to meet the production deadline;
  3. Shut down the mini;
  4. Take out the plotter adapter card;
  5. Install the RS-232 interface card, connect the PC and the mini;
  6. Boot up the mini;
  7. Transfer the file from PC to mini;
  8. Perform the test run on the file;
  9. Withstand the scornful looks of the whole department which just lost about ten man-hours, as the following steps are conducted;
  10. Shut down the mini;
  11. Take out the RS-232 interface card;
  12. Plug in the plotter adapter card;
  13. Boot up the mini.
As you can imagine, it wasn't often that test runs were performed...

Long story short - painful attempts to produce the cross-compiler lingered for almost three years, with very little visible results. Eventually, I got sick of the task and needed to bury this dead horse once and for all.

This is what's been done:

The amount of work necessary to complete the task was doubled by adding another component to the list of deliverables. The component was a complete P-CAD file viewer.

It took less than a month to write it from scratch. Hundreds, if not thousands, of existing P-CAD files from the actual production environment were used to verify the correctness of the parser/visualizer implementation.

After this was done, the results of the dreaded cross-compiler were fed into the viewer. Since the purpose of the viewer was primarily to verify the input data, diagnostics were much, much better than "Error 0x2312980", and all the errors in the files produced were immediately obvious.

Turned out that the files were actually almost fine, with a few off-by-one and signed/unsigned conversion problems. It took a few more days to iron out those wrinkles.

The day was saved.

So, what it took to bring the project that was hopelessly beyond the budget and delivery date back in shape was a conscious decision to double the perceived amount of work to be done. Whereas it looks bizarre on the surface, it is actually not surprising.

The lessons that I learned back then were:

  • You better have your APIs set in stone, thoroughly documented, with change control available, transparent and strictly followed;
  • You must have a playground available for both your inputs and your outputs;
  • If your input or output integration partner doesn't provide you with a playground, it is in your best interest to build one;
  • Building an integration playground does NOT extend the project time and budget, on the contrary, it allows you to bring a runaway project back under control;
  • If you are an API provider, it makes perfect sense for you to take responsibility for creating a sandbox of your own application, at your own expense. Complete with documentation, tutorials and help desk, of course. All this expense will pay for itself with the first API consumer, which will not bleed you with endless Q&A sessions;
  • Massive amounts of test data help a lot when testing applications with either extensive protocols, and/or vague or incomplete or unknown requirement sets ("We don't know how to put this into words, but we'll know it when we see it").
It was many years later when I first saw the signs of enterprises having learned these lessons. Notable notions:

But this is just about all.

Wikipedia Sandbox article was created on July 22 2006, when PayPal sandbox existed for a long time already, and Google Checkout sandbox was rolled out a month before. Two years later, it is still pretty sketchy.

The need to dedicate serious attention to sandboxes hasn't reached the attention of corporations yet.

It is counter-intuitive to invest additional resources into something you are not judged by completion of, therefore, sandboxes are not usually included into project plans.

Or, there is a reliance on "tried and true" methods of integration testing, consuming countless man-hours, extremely inconvenient and time and resource consuming because of a necessity of coordinating large numbers of people, departments and organizations, and extremely fragile due to the integration partner system downtime.

Or, simply lack of awareness.

There'll be some changes made.

Wednesday, September 3, 2008

BlackBerry + Squeezebox

Seems that I'm not the only one having this crazy idea. The implementation would be tough, though - not necessarily from the technology point of view, but rather from accessibility and security point of view.


Providers are on a lockdown for a long time now - at least, most of your well known ports (HTTP, SMTP, SNMP, you name it) are closed, at most, you don't even have a public IP address. This represents an extra step necessary in the setup procedure - which is going to kill off 50% of your potential users (okay, 10% since it's Squeezebox we're talking about).


Gone are the times of world readable finger(1) access. Passwords are not too good either. Transport encryption is a must. PKI is looming.

It would be interesting to watch this application being written. Might try this myself, just for the fun of it.

Update: And of course, it's not only BlackBerry + Squeezebox, it's also iPhone + Squeezebox, Android + Squeezebox, and, in general ${mobile-device} + ${appliance}... Here's a good example: OpenRemote. And of course, we'll have the platform wars all over again...