PRISM, Government, and Software Developers

In 2013 having a landline phone number is bad. It doesn’t give anything but these annoying calls from telemarketers. The only reason I keep it is that it’s a part of the internet-phone-tv package provided by a phone company for cheap.

During the last week I started getting about 10 marketing calls a day, which I don’t pick, but they interrupt whatever else I do. So I decided to visit the National Don’t Call Registry, register my phone number online, and if after 31 day after registration someone still calls me, I have a right to complain to the government. Cause my government cares about me!

I have even a better idea. Since the government records all the phone numbers and the lengths of calls of businesses, why won’t they simply disconnect the numbers after say a thousand people picked their calls and hung up within 5 seconds? Hey government, get the PRISM program a real assignment!

Actually, I decided to write this blog for a different reason. Every time I run into an idiotic Web design, I want to share this with as many people as possible. Now take a look at this registration form, where I was supposed to enter my phone number.


This is one of my favorites. The goverment has enough money for the PRISM program, but not enough for hiring decent Web developers. How should I enter the phone number? You pick:

(212) 333-5555

In 2013 you can’t ask people to worry about the phone input format! If you are really smart and a detail-oriented person, you’ll read the small print in red “Please enter only numbers in Phone Number Field”. Not only that dumb Web developer knew how to strip away the dashes, spaces, and parens from the HTML form field, he doesn’t even not how to display that message in red in larger font and before the field itself!

No biggies. American citizens have time. They can experiment and somehow figure out the right format.I can tell you even more. That dummmy government employee didn’t even care about validating the input! You know these red borders that may appear in the fields with invalid entries? I’ve seen those too.

But this coder did not bother. Guess what he did? In the page markup he just specified that the length of the field has to be 10 characters. As simple as that. I’ll show you the code fragment from that page (no worries, you’ll get it even if you have no clue about Web programming). Check this out:


Any characters the user enters after the first ten will be quietly cut off. If the server-side code was written by the programmers of the same quality, the crippled phone number will be entered into the database.

I request the US Government to reveal the whereabouts of this software developer, the QA tester, and his manager. If any of them is a US Citizen, their passports have to be revoked forever and they should be sent to Cuba by the Aeroflot flight #150.


Blogging and Meditation

I’d like to share with you an interesting side effect of blogging that I recently discovered… through Yoga.

During the last 10 years I was blogging pretty actively. To be precise,  I’ve   published more than 900  blogs here, at All these blogs were written in English, and the comments were written by English-speaking people from around the world.

During the last 5 years I’ve been also actively recording audio podcasts in Russian at, where I published about 400 podcasts. These podcasts are commented by the Russian-speaking people from around the world.

The cultures of the English and Russian blogospheres are different. English speaking people are more polite. If they don’t agree with what I say or write,  they try to express their opinion rather than just writing “It’s bullshit” in comments.  This means my English-speaking readers respect me. Some people say that Immanuel Kant defined respect as the right for another person to have  different opinion (this is not an an exact quote, but the meaning should be correct).

The situation in the Russian-speaking blogosphere is different. Pretty often people do not tolerate other people’s opinions, and you can find the “It’s bullshit”-type comments a lot more frequently there.

I’m not complaining – I have a lot of Russian-speaking readers and listeners who enjoy my podcasts and respect my opinions. I’m just sharing my observations. Five years ago I was caught off-guard by the harsh and sometimes insulting tone of some comments there. I even had to leave one Russian podcasting portal for the lack of any protection from these negative people.

When I opened my own site at, it gave me  the moderation and banning features. I started controlling the content and banning offenders (I banned about a dozen of people over the last 5 years).


Now let’s switch the subject. Last month I’ve enrolled in Yoga classes. This membership allows me to attend unlimited classes ran by various instructors. I’m not a gym-type of a person, and decided to go easy on myself  – I started attending only the meditation classes for now. The teacher is from India, and he spent more than thirty years researching studying of various Yoga masters. I like the teacher.

Many people who attend his class complain about being under stress. Yesterday, one lady came to the class being extremely angry with her husband. The other lady (I’ve never seen her before) spent five minutes before the class telling me how that bad brother-in-law came back into their family’s  life.  People have problems. They are coming to relax and meditate.

The teacher explains that the problems are inside each of us. If someone directs their negativity toward you, just concentrate within your inner self. Do not react to the offender.

I like attending his sessions cause he’s the wise guy. But on the other hand, I noticed that I’ve learned not to respond to the offenders by being in the open in a not-so-friendly blogosphere. I’ve learned to ignore angry comments. It seems that I’ve been already applying these meditation and protection techniques without even knowing about these Yoga studies!

So I want to thank Russian blogosphere for making me a stronger person. No, I haven’t reached the turn-the-other-cheek level suggested by Gandhi and Jesus.  I’ll keep moderating comments. But I’ll remove the bans from those angry birds. Let them keep chirping.


Project Boston

One suspect is dead, and the other is in custody. Life’s great? Let’s see.

Being an IT business owner I got used to consider any undertaking as a project. When I look at the entire Boston operation as a project, I consider it a failure. Here’s why.

1. Nine thousand of police officers, special agents and military personnel were trying to find and apprehend a 19-year old kid. How many law endorsement personnel would be required to deal with a terrorist group had a 100 people? Nine hundred thousand? The entire US Army? In software development we call this serious scalability problem.

2. I hate terrorists in general and these two in particular. After FBI got the #2 suspect, I was watching the crowd greeting all these heavily armed forces in the military vehicles. People were holding signs “You are our brave heroes”, and the heroes accepted these congratulation. I guess, it’s heroic to win the game where one team has 9000 players and another only one. I’m wondering how many thousands of armed people would be involved in Israel in a similar situation? Maybe it’s time to do some serious learning from our allies?

3. How much money this operation cost tax payers? Does anyone count money when a terrorists are involved or this is an all out war with an unlimited budget?

4. Take the shootout between two brothers and six armed police officers. What do we got? One dead and one wounded on each side, and the 19-year old kid ran over his brothers and escaped. Yet another failure.

5. Now let’s talk about the media coverage. CNN did a shitty job. They seem to be happy to get any piece of news to immediately air it. Young kids didn’t watch TV – they were listening online to the police scanner to get more reliable information from the first hands. Twitter did a better job than CNN.

I posted a tweet “Everybody who knew this #2 from Boston said he’s a great guy. It’s yet another evidence of how religion can turn a person into a zombie.” One of my followers responded, “Take off your CNN glasses and then try to see the real world. Who has killed millions in recent years?” Then he sent me a link to the article stating that as a result of military actions of the US Army more than a thousand kids were killed elsewhere. I can’t imagine a worse tragedy than when you kid dies. But this is war, and US Army had never planned a special attack to kill kids, woman, and civilians. But these brothers did exactly this.

I could somewhat understand what a relative of a recently killed innocent kid goes goes on a killing spree. But this was not the case. These brothers were living for years in the USA using and abusing its free society, and then someone turned them on, like zombies, like robots, which was enough for them to start the cold blooded killing in Boston.

Then our democratic society is discussing if this 19 y.o. zombie-killer should be read his Miranda rights. What do we expect to hear from this little monster? That Islam fundamentalist hate the USA and will do anything to harm us? We know that much. Two years ago Russian intelligence warned the FBI that the older brother became a follower of radical Islam. The FBI met with him several times, and didn’t find anything suspicious. But when the terrorist will give them the same information, it’s going to be more credible and valuable?

In cases like these there is another subject that usually goes unnoticed in the press: these brothers literally destroyed lives of their own families. These terminators don’t have any feelings for their own mother and father, sisters, and their families. Think about the future of the wife and kid of the older brother. He simply didn’t give a shit. He’s not a human.

Coming back to projects and resources… It’s like someone would have given an IT manager a one week project to complete and said to him, “We are giving you 9000 IT people that cost you nothing. They are professionally trained software developers, testers, Web designers, database administrators, and technical writers…” How do you like that?

The Project Boston didn’t fail for a simple reason: an old guy decided to check on his boat sitting in his backyard. If he didn’t do it, the younger terrorist would have died silently within a couple of days and would be found either when the boating season started or somebody would smell the corpse.

I really glad that these two terrorists will never hurt innocent people anymore, but this entire Boston project left a bad taste in my mouth.

Applied Adapter Design Pattern

Design patterns in software are pretty often explained in a boring dry language that works as a sleeping pill (yes, I’m talking about that white book). The Head First Design Patterns tries to make the process of learning designer pattern funner, but IMO the Head First books you can’t see the forest for the trees. Future technical books should be short, fun to read, and up to the point. In today’s world Wikipedia often gives you a decent answer in a street language without too many words. For example, here’s how Wikipedia defines the Adapter:

The adapter pattern is a design pattern that translates one interface for a class into a compatible interface. An adapter allows classes to work together that normally could not because of incompatible interfaces, by providing its interface to clients while using the original interface.

While teaching object-oriented programming, I tell my students that objects in programming represent objects from the real world. One of the examples is an adapter for a traveler.

Recently, I ran into another real-world example of the Adapter pattern, which may resonate well with my students. I’m talking about bras. Take a typical situation, your girlfriend wears large cup sizes, but if one manufacturer labels them as 36DD, the other calls them 36G or even 36FF (devaluation in action).

This is where the Adapter would help. Software developers at applied this pattern (they called it Universal Cup Sizing).
bra And now, when you’ll be shopping for the gift for the upcoming Mother’s Day, just visit this site, enter the size and brand of one of her existing undergarments and get the universal cup size. Shopping for bras was never that easy, thanks to the Adapter pattern!

Offtopic. Twenty years ago, when I arrived to the USA and went to a large home improvement and construction store asking for bra, they were surprised and tried to politely direct me to a different store. The thing is that bra in Russian means a lamp hanging on the wall (see

The best computer speakers

Last week I was vacationing in Asia. Our resort had a bar right on the Indian Ocean, and there was this DJ from Holland who played great music compilations via high quality speakers. I decided that it’s time to upgrade the sound in my office too. After a quick research I’ve ordered a pair of AudioEngine5+. When I returned back to the US, the box from Amazon was waiting by the door.

I hooked up these speakers – they’re simply amazing. It’s hard to believe that you can get this power and clarity right on your desk from your computer. Thirty years ago I was into Hi-Fi sound. I was an audiophile. Over the years I decided that my ears can’t hear all these high and low frequencies, and there was no reason to spend money on sound – I spend most of my time in my home office in front of the computer. My small computer speakers by Bose were OK. Besides, why bother if all these inexpensive earphones with 20Hz-20kHz range can deliver good sound. Wrong! These speakers deliver THE sound especially if you’ll play a CD with good instrumental orchestra music like Richard Clayderman, Fausto Papetti, or James Last.

For the computer speakers they are large though – you need to have a large desk, which I do. This is how my desk looks today:


Don’t get mislead by the voice processor – I use it for the external mike only. The speakers are connected to the headphone output of your computer. Ignore the dumb bells too – I don’t workout.

Warning: If you like boosted base, you’ll need to purchase additional subwoofer, which can be easily connected with provided wires. But I’m not sure if I want it. At 50 watts per channels they will work well for my pool parties too.

The long story short: I give Audioengine5+ speakers 5+ on the scale of 1 to 5.

Bookmarks are Rotten

Does this question sound stupid to you? Any Internet user knows that every browser has the Bookmarks or Favorites menu that people should use to bookmark the Web pages they are interested in. Your Web browser even has a Bookmark Manager that allows you to build large and sophisticated trees of bookmarked grouped by categories. There used to be a service called, and millions users were storing their bookmarks there. Maybe they still do (now it’s not, but simply But I don’t.

I don’t even use bookmarks with the exception of a dozen of them that fit on the browser’s Bookmarks toolbar. Yep, under the menu. Every morning I go through the same ritual – I click on 4-5 links saved on my bookmarks toolbar. During the day I repeat this ritual several times. OK, I keep another 4-5 bookmarks on this toolbar, which I use once a month or so. That’s all I need. I even have a rule – if I believe that a particular page have to be bookmarked, I find the least used bookmark on my browser’s toolbar and replace it.

Google is so fast these days, that it’s faster to do a quick search on Google than trying to find the bookmark that you saved last year. And what’s more important, the content ages so quickly that visiting the last year’s bookmark will almost for sure will give you an outdated or even misleading information.

This is definitely true for any IT-related information. Being a technical book author, I’d automatically bookmarked an interesting technical article, or blog. I might need it while doing my research for the next book! Wrong! I don’t need it cause it becomes old as soon as you bookmark it. It’s faster to find the fresh content.

Let alone bookmarks. I don’t even use the Help feature that comes with all these software products installed on my computer. Finding things using Help is slow and produces the outdated info (I know how the technical writers work, trust me). Use Google – it’s faster and fresher.

Are there any exceptions that would make bookmarks useful? Maybe, travel sites? Paris is still there, right? Wrong! What do you need in Paris? A good place to eat, to sleep, and things to do. This information gets old too. You’ve stayed in that hotel 3 years ago and it was great? Go to TripAdvisor and do a quick search to see what people who stayed there last week have to say. Ouch, they started the renovation last month, there is scaffolding in foyer and the construction workers are all over the place.

Anyway, bookmarks proved to be useless, at least for me. I have a supermarket called “A & P” in the area. I don’t go there, but I like the motto on their sign: “A & P. Obsessed with freshness”. Let’s be obsessed with freshness too. Get a fresh piece. Don’t use these rotten bookmarked products.

Run Away From Information!

In the past people would go to professionals because of the lack of information. Now they go to profies because of its abundance. This happens everywhere. If 20 years ago you had stomachache, you’d go to a doctor. Today, you go to Google to find out what helped other people when they had stomachache. After spending several hours trying to narrow down the symptoms so they’d match yours, you’d give up and go to the doctor. OK, I can understand such a pattern.

But people don’t stop there. This is how it works more often than not:

1. Got stomachache.
2. Go to and enter “I got stomachache”.
3. Several hours later, call your doctor and make an appointment.
4. Visit your doctor and get the prescription for XYZin to be taken twice a day.
5. Go to and enter “XYZin”. Confirm that it helped to most of the people with stomachache. Pretend that you haven’t even seen those two nasty posts about a cousin Vinnie why died from XYZin and about the little Mary who’s still in coma after taking three pills of this medicine.
6. Go to the pharmacy, get XYZin and take it once a day – people on Google say it’s good enough.

Am I right or am I right, honestly?

Yesterday, I started teaching my online Java class. There are tons and tons of free online Java tutorials, videos, blog posts, and inexpensive books. But still, thirty people from around the world decided to pay $500+ each so I’d be leading them through this humongous waterfall of the information so they could get from zero to hero the most efficient way. Needless to say, that before enrolling into my class all these people spend hours studying my credentials before parting with their hard earned money. Fine. I can respect this.

For each of my groups I create and online forum so students can communicate and help each other. One of the first messages posted in this forum was a list of links to various online tutorials and videos of other Java lecturers. Some of the people also asked me to review those links and provide my opinion if they are useful or not.

Dear students, during the last 15 years I’ve read, watched, analyzed, wrote, commented, responded to comments, presented on anything and everything related to Java. I’ve sifted through all this information, squeezed it out and created my own concentrated and healthy Java juice. I successfully tought Java to a couple of thousand of people. Please take my XYZin. You won’t be disappointed.

95% off

Last Summer I wrote about a weird 96% Off deal. This morning I got an email with even stranger proposition. The want to suck my extra fat off for 5% of the cost of this pleasant procedure. Actually, it’s up to 95% off. For a lousy $99 they promise me this:


I’m not going to lie to you. I like tis photo. I really do. And the panties look nice and inviting.

“20- to 40-minute noninvasive treatments employ ultrasonic waves to reduce fat in areas such as the abdomen, thighs, and upper arms.”

Nice. But why 95% off? Do they assume that after attending this establishment I’ll fall in love with these ultrasonic waves and will create a new ritual of attending this liposuction place on a monthly basis for $1.5 grand a pop? Does it means that liposuction procedure works for a short time and then you are hooked on waves?

Nay, I’m not buying this deal. I’d rather save these $99 too and will finally start this 200-pushups program, which is 100% free. But let me tell you, I like this photo!

Man, where is this customer service phone number?

Yesterday, I had to contact my bank (one the three largest in the USA). As every environment-friendly citizen, I’m not using paper statements – everything’s online. Logged into my bank account and followied the link Contact Us. Even before clicking on this link I knew that it’d take time to find the phone of the customer support to I could talk to a real person and not to this stupid and useless chat “Hi, I’m Alex. What can I help you with today”. Nothing, really, Alex. Sending me a link with FAQ won’t help in most cases (is F still for “Frequently”?).

Needless to say, the first two minutes of browsing in the customer services pages didn’t yield any results. It seems that the content providers for these pages get paid by the time they can keep a customer engaged into this hide-and-seek game. And, let me tell you, they are getting better and better over the years. They are winning.

I gave up, and decided to download my monthly statement hoping to find the customer support number there. I’m genius! The phone number was there, yay!  I was still a little irritated, and to let the steam out, had twitted about it.

The helpful advice came right away from my follower @slavkous. Thank you, Slava! He sent me two links – apparently, these kind people went to this frustrated experience too, and created simple lookup services to find those bloody numbers (I’m trying to sound British here). These are the life savers:

1. Get Human:

2. Contact Help (love this image on their home page, btw).


Bookmark these sites. Write these links on a small piece of paper and put them in your wallet. Had these link tattooed on your arm. Don’t leave home without them. Next time your wallet with all your credit cards is stolen, these links will be priceless for canceling all your CC accounts.

It’s time to work. Gotta run.

Entering Japan

This morning I needed to meet a friend at the Miami airport, which has the MIA code.  Went to Google maps to get driving directions,  typend MIA, but selected the wrong line from the autocompletetion dropdown – it was ” Mie Prefecture, Japan”.

Google Maps obediently offered me these funny directions below. I had to cross the USA, then sail to Japan. Especially I like the part “Entering Japan, Turn left”. After that I should  ” Turn left at 県道263号線” whatever it means.   It takes only  90 easy steps from where I am to Japan.

Happy New Year, everyone!japan