Thursday, January 29, 2009

Bigger Picture: When To Trust The Bank

The hilarious story of a lawyer suing Citibank for not stopping him from losing money in Nigerian Scam is making rounds on Internet. There are many articles covering the topic, but I'm going to link to the article at TechDirt, for it makes a point that has farther reaching consequences than others (that I've read, that is).

While it's easy to mock the lawyer for getting tricked, the basic version of the scam and this more sophisticated version both rely on a very unclear part concerning check processing. Most people assume that once a check "clears" it's confirmed as valid. That's not true.

There's much wider audience that is suffering from this vulnerability in the banking process. I am talking about eBay buyers and sellers.

Side thought - unless eBay is profiting from the uncertainty, they might want to lobby the remedy to this problem, because it is costing them zillions of potential users that are not currently using eBay for the fear of being scammed.

Another side thought is how much time will pass before there will be uproar about the conflict of interest between eBay and PayPal, for eBay does collect the fees regardless of whether the buyer or the seller thinks the whole transaction is fraudulent. You can see glimpses of it in Australia, where eBay tried to make PayPal the only available payment method.

Not to single eBay out, any payment mediator is in the same situation, not necessarily for this reason. Existing Internet retail practices allow for many unfavorable race conditions to exist that allow exploits.

Back to the original point - all these things happen because of absence of a strictly defined protocol that allows the end user, the consumer, to track what is happening, when and why. Such protocols are in place for every step of the way (it wouldn't be possible to conduct business otherwise), except the "last mile" to the actual consumer.

There's an interesting problem here - similar to the famous Zen koan: those who care, see the inadequacy. Those who don't see the inadequacy, don't care. As witnessed by another recent discussion on TechDirt, there are idiots out there, and no matter what safety guards will be installed, they will keep being scammed. They will either be unable to comprehend, or simply unaware, or careless.

But I want the protocol nevertheless.

Wednesday, January 28, 2009

Google as Janus, Janus as Google

Google taketh away, Google gives back with abundance.

Whether the right hand knoweth what doth the left, is irrelevant. The result is more than slightly amusing to watch.

I can just imagine the magnitude of quirks of power plays that we, regular mortals, do not see.

UPDATE: The demand turned out so high, the Measurement Lab had to redesign their web site and get rid of images - I guess the bandwidth consumption went through the roof. Nice to know there's many of us who care.

Open Letter To BMW Dealerships

To whom it may concern:

I just called the <witheld to protect the guilty> dealership to verify what part numbers I need for a specific repair, and was told "We do not give out part numbers, only prices".

I was understandably shaken, because, you know, BMW is a pretty complicated car, and it is kind of difficult to make sure that you are not spending hundreds, and even more often, thousands of dollars just to piss off the seller even more when it turns out that the part you've bought doesn't fit, because it is not the part you actually needed, or the car the part is for is not the car you have (and I don't have to explain to you how many different sub-revisions BMW has).

When I got over the shock, I said, "Why?" and got the answer "Because people call us just to find out part numbers, waste our time and then go buy the same parts on Internet".

Well...

Tough shit.

You were not shy to leverage your unique position of the seller of "The Ultimate Driving Machine" when you were selling the car to us.

You were not shy to gouge us by upselling expensive options that you knew would be wrong or deadly (rear side airbags in a sedan to the family with two kids about five years of age - you knew they will come disabled, with a big red sticker, right?)

You were not shy to repeatedly screw us over by providing substandard service (any BMW owner knows the difference between "BMW quality" and "BMW service quality").

While doing that, you were not shy to charge exorbitant prices for parts and service.

And now you are complaining?

Well, tell you what - you keep doing that, and I will sell my BMW to anyone stupid enough to buy it, given all the above, never buy a BMW again, and switch to a brand that is customer friendly. I've had just about enough of your attitude.

Oh, and I have a suggestion for you - you are in a best position to compete with independent parts retailers because you have direct access to *the* original equipment manufacturer, and you already have distribution channels set up. Why don't you actually start leveraging your competitive advantage instead of screwing us over?

And then, maybe, just maybe, the artificially inflated price becomes appealing enough that somebody will part with their hard earned money and buys the product you're selling, and you, yes, you don't lose your job.

Conspiracy Theory: Google Bending Over For Corporations

Well, not much of a theory - the facts line up pretty straight.

Take a look at earlier ones covered here.

Now, GMail goes offline. And Gears installer runs smack dab into... inability to cope with a proxy that requires authentication.

What?

Almighty Google can't make its programmers create a dialog box that asks for proxy username and password? 407 Proxy Authentication Required is too complicated?

Apparently so.

There were others before - Google Pack, Chrome. The feature's been requested, most probably more than once. It is trivial to implement (and please clue me in on certain security changes in Microsoft Windows that make it so difficult).


The stench is becoming tangible.

Tuesday, January 27, 2009

What The Cake, Indeed?

First, an intelligent person with a sense of humour and purpose in life does a useful thing and publishes the Cupcake app, the lightning rod for idiots and trolls. Hats off for that.

And then, this masterpiece gets published, with derogatory remarks towards the author of the above app.

Well, let me just say that I'm going to revisit my opinion about phandroid. Either I lost my sense of humour, or someone's just had a lapse of judgement.

Am I missing something?

Saturday, January 24, 2009

Ban Them Already

The rumors are, Arizona Considers Ditching Speed Cameras.

Well, long overdue.

The Valley Of The Sun is a funny place.

Within a week of arrival back in 2000, I had to negotiate a kneehole desk that materialized in the middle of I-10 as I was driving down. Within another week, I saw a TV news report about a massive pileup on I-17 which was caused by a truck that lost a love seat. Countless times, I saw pool guys sending plastic buckets, usually filled with the tools of the trade, flying over the interstate, understandably, into windshields of cars following them. Once I saw a bucketful of groceries spilled at the intersection of 7th St & Thunderbird Rd. I've lost three windshields to rocks, two of them on two new cars within a month from the moment they were bought. People get injured by garden tools flying off gardeners' trucks. A woman died few years ago, impaled on a steel pipe that catapulted from the eighteen wheeler in front of her car.

At the same time, I had to deal with the attitude of drivers, which, while being totally cool in comparison, to, say, drivers elsewhere, is not quite, should I say, respectful, or, should I say, thoughtful - and to add insult to injury, cellphones seem to be surgically implanted into their hands and skulls.

So, what do I find now that the Valley is full of cameras, in addition to all the drivers?

Same crappy drivers.
Driving down same crappy roads.
Having same crappy driving etiquette, and attention span of a one year old.

Only this time, not only I have to watch for them, and the obstacles they create, but I have to also watch the cameras - because the design speed of the Valley roads is somewhere north of 80, and the speed limits, you know, were conveniently lowered from 65 to 55.

I don't know where those people got the idea that if you make crappy drivers drive slower, they will be driving safer. No, they still drive crappy. Just slower. Taking away the irreplaceable time of my life, one mile per hour at a time.

In other parts of the world there is a superstition - those whose deeds are criticized. hiccup every time it happens. I believe that had that been true, the people responsible for speed camera installation would have died of respiratory failure by now.

UPDATE: corrected the link.

UPDATE 2: The House Transportation and Infrastructure Committee voted 5-2 to recommend approval of House Bill 2106, which would force the removal of the cameras now installed on Interstate 10, Loop 101 and other highways. DO NOT RUSH YET, though, because it has to be voted by full House first. Update will follow promptly.

Monday, January 19, 2009

Interview Questions

A coworker just forwarded up a list of interview questions and silly answers (like "How can you drop a raw egg onto a concrete floor without cracking it?" - "Concrete floors are very hard to crack") and remembered my favorite interview question. The question is:
Tell me about your most bizarre work related incident.
People get upset a lot - they don't expect Spanish Inquisition (speaking of which, I earned a nickname "Torquemada" at one of my jobs, for my interviewing style, but that's a different story for a different time) and don't realize that the answer to this question matters more in the final decision to hire or skip them than their professional qualifications - "qualified" people are dime a dozen, but it's not qualified people that make teamwork happen, it's the similarity or complementarity of point of view. Of course, this is a simplification, but let's declare it sufficient for the scope.

You may ask, what is my most bizarre work related incident? Well...

Long ago, in a different life and different hemishpere, our ISP lost power. We were the physically closest location, and there was a signal cable between us and them - four 1.5mm2 wires. They've called and asked to unplug the cable from the cable modem, and plug it into the 220V power outlet - to give them a chance to run until they get the power back. "If you do this, we'll give you a backup dialup, and you'll have *some* connectivity. If you don't, *everybody* is down", they said.

Well, by today's business standards at the place of residence this is situated somewhere between "outright stupid", "suicidal" and "career limiting move". However, on the flip side was the countrywide network trading securities, with zillions in loss for every second on downtime. Be damned if you do, be damned if you don't. Forget management approval - the manager was one of least bright people I've worked with in my life, and had he known this, I'd be fired on the spot. I'd be fired for downtime too, though - without the possible charges for destroyed equipment, though. No matter what happened, though, the responsibility was mine to bear.

Well, all things considered, I gave them power. They fed off a signal line for the next four hours, which was sufficient for them to get a backup diesel generator, fuel for it, hook it up and switch over - which was a small miracle by itself on a Friday night.

In retrospect, we were incredibly lucky. No connections were flimsy enough to overheat and catch fire deep down in cable tunnels. No service personnel touched wires under power voltage, not signal voltage. No equipment was destroyed or damaged. No downtime, either.



Whereas it is definitely bizarre for today's US, this is actually Business As Usual for other places. Note that the solution was incredibly risky, but at the same time incredibly cost efficient. Now that we're looking at lack of everything, be prepared to conduct this sort of activities more and more often (if you're the one that has to actually do the job), and to give more and more slack to your subordinates (if you're the one to bear the responsibility for their mistakes).

Introducing: Multiple Connectivity Disorder

There is a new challenge for instant messenger implementations: to find you.

Didn't it drive you nuts that you forgot to close your Yahoo Messenger session at home, came to the office, logged in (thus having disconnected the session at home) and later that day, after returning home, found an urgent message that came a split second after you left home?

Or, even better, found that the home session is set to automatically reconnect, thus buoncing out your work session and making the messenger useless, and that you don't have remote access to kill the open session on your home box?

I don't know if Google came to the idea of enabling multiple simultaneous sessions looking at Yahoo's mistakes, or that was a common sense decision. Hats off to them for that.

They have a different challenge, however.

Even though they do allow multiple sessions, the wrinkles on the mobile side are not quite ironed out yet. Rules of message propagation to multiple sessions are murky - messages in both directions seem to be delivered simultaneously to all web sessions, however, messages originated on mobile devices don't, moreover, replies to these messages don't register in other web sessions. All communications, however, get collated in the chat archive.

I can see why it is happening - without doubt, they have different content delivery servers for web and mobile clients, plus, security and privacy concerns on top of that. It would be insteresting how and when they sort it out. They better do it, though, as it is becoming a real pain in the neck as smartphones become a commodity.

Thursday, January 15, 2009

Handcuff Notes: Bigger Picture

One problem often found on Internet: juicy and linkbait-worthy subject is, unfortunately, totally useless for search. One example: a nice article on Java specifics with a title "Die, You Gravy Sucking Pig Dog!".

But I digress...

Like I said, nice article. Too bad it never mentions the concept of object life cycle management.

There are two realms: the language (which works just fine in Java and, no doubt, other modern languages), and the application code, which allows the programmers to write Fortran everywhere.

The horrors of improper life cycle management are formidable.

I've seen cases when an instance variable is used to hold the temporary result of execution inside of an object used by many threads, without any regard to transaction state (guess what happens when the load goes up).

I've seen cases where the complete set of application configuration files was being read by every spot where a configuration value was required - dozens, if not hundreds of times per request - for configuration that changes once in an EAR deployment.

And all in between.

Next time you start doing something complex, think of object life cycle and how it reflects on the object API. It'll save you a lot of grief.

Saturday, January 10, 2009

Android Market For The Web

Alas, the long awaited Market presence on the web is finally here, at Cyrket.

Let's see now how much time they need to grow ripe to the concept of RSS.

UPDATE: Don't know when they actually got to it, but as of March 1st the RSS is available. Now it is really usable.

Friday, January 9, 2009

Conspiracy Theory: No VOIP For Mobile Devices

Just like I was saying, it appears there's a conspiracy preventing you from using your mobile device to carry VOIP traffic.

Skype has just announced their mobile application, and guess what, unlike regular Skype, you can not make VOIP calls on it.

Skype-to-anything-else rates are not that great. The only reason to use Skype (for me) is to utilize free VOIP. The Skype Mobile App is not providing that ability.

Moreover, not only they don't have VOIP, they both a) consume airtime minutes *and* b) charge you the Skype call rates.

Thanks, but no thanks.

Seems that we're screwed. The only way VOIP on mobile is happening is Open Source, and even then buckle up for mobile traffic capping.

The Quest For The Holy HTPC Keyboard

It's been a few years since I started looking for a decent HTPC keyboard. Having spent more than a half of my life working with regular keyboards and mice (and not having a laptop until a couple of years ago), I was stuck on the idea of a keyboard with lots of functional keys, and whatever mouse that can do the job.

Then it dawned on me.

You don't need a mouse on an HTPC keyboard.

You need a trackpad.

I used to hate trackpads before, when I had to use them occasionally. Turned out, the secret is in two-handed operation: you use one hand to move the cursor, and the other to press the buttons. Works more than fine for vast majority of casual computing. More than enough for HTPC.

Have to admit, this idea is still to be proven. The selection of keyboards with a trackpad is small at this point, and I have not heard of any manufacturers before:


Form factors are odd. So are keyboard layouts. Reviews are not that stellar, either.

And then there's the Asus Eee keyboard - still half vaporware at this point, but definitely promising.

I guess I'll wait a bit. But at least I know what I need now.

Wednesday, January 7, 2009

Newegg "Cost Saving" on shipping?

Never had any problems with Newegg's products or delivery before. Every time, they would send up a tracking number, I would go and subscribe to the RSS feed for that number off Boxoh (formerly hosted at isnoop.net), and watch the package happily move towards the destination.

Last time, however, I've ordered something, and, without much thought, left the default (free shipping) shipping method in place, only to realize, to my dismay, after getting the tracking number, that it is now USPS.

Not that I've had any problems with USPS delivery so far, this remains to be seen. But, their package tracking is simply nonexistent - whereas before I could watch the package progress in almost real time and know for sure when the package is out for delivery (and UPS truck arrives within few minutes each time), now the feed only gets the notification (sometimes the only notification) only after the package is delivered.

Which makes package tracking useless, for practical purposes.

Damn.

Well, not all is lost - it's only some of products/product combinations get this shipping method, others are still delivered via UPS. Let's keep fingers crossed that USPS improves their tracking facilities, though, honestly, I wouldn't hold my breath for that.

Oh, by the way, almost forgot - the shipping method that results in USPS delivering your package is called "Egg Saver" - watch out.

It is really unfortunate that Newegg decided to compromise on something they've been always known for excellent quality of - shipping.

UPDATE: Just like I was expecting, delivery progress notification sucked. I was furious when I saw the RSS update about being delivered at 15:38 published at about 23:00, especially since nothing was delivered, and I was home. On a second thought, decided to check the mailbox (knowing that USPS has access to it) - and lo and behold, there it was, crammed into the mailbox, with a crazy mix of delivery agents on it - UPS sticker inside, USPS and DHL Smart Mail labels on the outside.

All in all, turned out fine this time. Delivered in 3 days, no damage (though I was lucky there was nothing bendable or breakable inside - it would've been damaged, like I said, the package was crammed into the mailbox).

Monday, January 5, 2009

What's beyond Web 2.0, 2.0



The essence of Web 2.0, I think, is expressed the best by the poster above from Despair, Inc. (hope they don't mind some hotlinking for extra exposure):

Never before have so many people with so little to say said so much to so few.

I wonder what will happen when the realization will come that the only thing Web 2.0 has achieved is just amplified the noise and changed its nature. Before, it was difficult to get to good ideas because of transmission noise. Now, it is difficult to get to good ideas because of background noise.

Nothing changed, really.

UPDATE: Initially, this post was quite different, main topic being the introduction of Google Product Ideas. I decided to abandon it because it was turning out too acidic, but then, when I was catching up with feeds after New Year's blackout, I found this: Google Wants You To Be Its Unpaid Muse. My slant is different, however: they're talking about fair compensation, I'm talking about wading through neck deep pool of crappy ideas generated by countless nincompoops.

I'm highly skeptical about the eventual usefulness of this service. Reason being, if you make a smart person come up with something, they do. If you make them ruminate endlessly over someone else's ideas, they cease to be smart - this is a routine job that is better for someone with OCD.

Interim effect is even more interesting - this is exactly the kind of tool that's been described by Philip K. Dick in Do Androids Dream of Electric Sheep?. Immediate power of immediate choice. Scary.

UPDATE: And more along the same lines: Where's That Line Between True Democracy And Mob Rule?

Things We Do For Love: E39 Water Pump Replacement

BMW part # 11 51 0 393 336: this *WILL* happen to you

Water pumps on V8 E39 die. They die repeatedly and predictably. Whether the impeller is plastic (then it disintegrates and contaminates the whole cooling system with debris - but most of these are already dead), or metal (then you're subject to bearing seal leakage).

Mine did too, at 62k miles.

Having learned the lesson the hard way, I've decided, with the help of my friends, to replace it myself.

Learned quite a few things.

If you're thinking whether you need to replace the water pump or not, you're a fool. I was a fool. It will fail. I've heard an opinion once that BMWs must be maintained right on schedule, not a second later, or they fail catastrophically. Respect this rule.

You can't identify the leak source without performing a leak test. Even if it looks obvious, the leak may not be where you think it is. Learning this experience cost me the price of parts 11537505229 and 13621433077 combined, at dealership price.

A simple contraption of a piece of soft rubber or plastic pipe, plus the ball adapter for a bicycle pump, is a decent substitute for the BMW special tool for performing a compression test.

You have to manufacture a special tool to get the fan assembly off. Instructions are here. Heed the part where it says it has to be steel - aluminium will not hold the torque necessary. It might, once, if you're lucky. But you're probably in a crunch to get it done, so don't do it unless you have a piece laying around. Oh, and anything thicker than 1/8" will not fit.

If you replace part 11537505229 (lower water hose), you must replace part 13621433077 (temperature sensor) as well. Old sensor put in a new hose will leak, even if it is one year old. It's all about O-rings - actually, one could just replace those, but I'll be damned if BMW sells me one, and I'll be twice damned if I dare to risk the cost and nuisance of getting another leak and getting inside the car again because I cheaped out on hoses. Wasn't that bad, actually - I found the leak before the belly pan was installed, so all it took was to drain the coolant from the radiator (not the engine), and replace the sensor reaching from underneath.

Your heater control assembly (vicinity of part 64118374994) will leak, too. It is possible, though, for it to leak when performing a leak test, but not normal operating conditions. I'm keeping my fingers crossed.

Draining the coolant is a wet and dirty job. Get yourself a pair of those chemical googles, sorry, goggles, and a decent drain pan, it'll splash a lot. Five gallons is good enough.

You have to drain the engine block to replace the water pump (unlike water hose replacement, when it is sufficient to drain just the radiator).

It is a very, very good time to inspect the belt drive system and replace the belts, pulleys and hydraulic tensioners.

Same for hoses - unless they've been replaced already, they're pretty much dead by the time you have to replace the water pump. No big deal, especially on later models with quick connect fittings.

Torque wrench is a must, there is a couple of places where the torque is quite nontrivial - for example, the bolts fastening the pulley on the water pump shaft are literally finger tight. Screw that up - and you'll need a new water pump (somewhere between $150 and $300, depending on urgency).

Getting the water pump out is possible without getting the secondary air pipe part 11721433344 out. Tricky, but possible.

Getting the water pump seal in place is a bitch. I don't know if it is possible to do alone, but having two people do it makes it easy enough.

All in all, it was fun :) Unlikely that I will have to face this issue again in next five years, but if I do, I'll do it again.

Why I prefer to fix my cars myself now

Some time ago, my radiator blew up. Back then, I was very busy slaving for the startup du jour, with zero time to spend. Obviously, I wanted this fixed, so I towed the car to the dealership, which shall remain nameless, to protect the guilty (but feel free to take your stab at one of two that exist around here). They replaced the radiator.

And put a dent in the door.

I was understandably upset and asked them to fix it. They did.

Quality Service, Take One

And broke the center console.

When I called them, they said "No problem, just get the car here". "Yeah, right", said I. "That'll be the fourth time I have to get the car to you to fix one problem, and how do I know what you break this time? No, you get your ass here and fix what you broke in my garage under my supervision".

They did. The rest was uneventful, but...

A month later the window regulator broke (Arizona heat destroyed a $0.03 part, the rest was the domino effect). Being first day on the new job with no spare money left, I had no option other than tackle it myself (thank God, there was some free time until initial procedures were being completed).

So I took the door panel off, and what was the first thing I saw there? Correct, broken pistons that hold the door panel to the door. Four out of nine.

Couple of years before there was a clicking noise in the window that was "repaired" under warranty, and the door started rattling. I told this to the dealership, and the response was "Oh, they all do that with age".

Age my ass.

The most offensive part was that pistons are literally a dime a dozen, and I'm sure there are buckets of them available at the dealership, but no, whoever broke the pistons didn't take their sweet time to reach into the bucket and replace the pistons. I was supposed to believe that they've performed the job to the best of their ability.

Oh, and I'm not even talking about the time when they've washed the car after an oil change, and killed xenon headlights - inflicting $1752 penalty on themselves.

Long story short, every time since then, when I reach inside the car, I see traces of inept and careless workers screwing things up - a cut and soldered wire here, a nick on a pipeline there.

I can do better than that. At least, I care.

Android G1: Speaking of batteries...

With great surprise, I realized that the battery lasts longer and longer. It may be partly due to loss of novelty, though I don't think I fiddle with the phone much less than at the beginning. Other than that, there's no explanation.

At the beginning, it took several hours to exhaust the battery completely. Now, it is quite normal for the battery to last two days, with both network and sattelite GPS, and WiFi turned on.

<start your conspiracy theories here>

Core Values

My motto

Android G1: Power Consumption Trends

Very interesting observation: left alone and immobile, the phone greatly reduces power consumption. About ten to fifty times less than in motion (thanks to Watts for the information).

It is known that the phone has an accelerometer, but I wonder - what are they doing when the phone is in motion that is so power intensive?

Saturday, January 3, 2009

I know why Americans are fat

Remember the good old times, when the people were too lazy or uneducated to tune their VCRs, and they were blinking 12:00 all the time? Well, that didn’t have drastic consequences.

But then, the widescreen TVs came out. And, well, people were still either lazy or uneducated. Or, they were afraid to change the aspect ratio to avoid burning the plasma screen.

So the faces on the TV screen became fat. And the people started feeling uncomfortable, looking at each other and seeing faces that were somehow not quite real. You know, only the things that are on TV are real, everything else is just what they show on TV. You know.

So the people wanted to get real. Wider. Just as you’ve seen on TV.

And there you go.

Would somebody fix the goddamn aspect ratio already?