Sunday, August 26, 2012

Stop Writing Crappy Software

My diatribe today is aimed at recent (unpleasant) experiences with:
  • HP Printer Deskjet F4400 series
  • Yahoo! Mail
I know that ranting is NOT the best'est way to resume blogging, but hey, I'm surprisingly disgusted!  Appalled! Sad! Furious! Irritated!  And yes, you have every right to ask how can you feel so many things at one time!  What happened?
Well, rest assured, I (miraculously) still have my all of my mental faculties ~~touchwood~~
Let me lay it down upon you...
I had returned after a long day's work, went on house hunt right away, picked up a few groceries on the way home for dinner, helped prep up the dinner and had just finished dinning.  So far so good.
It was right then that we got an email asking us to send out a few documents urgently.  It was a race against time, literally, come to think of it.  I printed them, we filled them up and then came (what I could only recall, in retrospect, as the SCARY) part: Scanning them!  No biggie, I said we have that all-in-one copier I just printed these on, don't we!  Having unsuccessfully tried scanning a document last time, I was not too hopeful.  But I was (hopelessly) optimistic.  You know, it is not uncommon for software to have failed you the first time and it works the next time you try it out again.  It is as if software has healing powers and miraculously fix themselves over time or something.
So, I set out to scan.  I put the first paper on the glass, flipped the cover... Tick-Tick, and the copier starts grunting, sucks in a blank paper and makes an exact hard copy for me.  Tcch... entirely my fault, I hit "copy" button and that is NOT what I wanted.  It turns out, in that incomprehensible maze of buttons, there isn't a "just scan and don't damn print it!" button.  So I fire up "Print and Fax" from my OSX, it connects to my printer promptly (relatively speaking).  And lights up the "Scan" button on the software, which I promptly hit. Poof!  After grunting for good part of few minutes, the scanner was making multiple pass over the document (am guessing once for each of the 3-4 primary colors it can deal with).  Each time pretending to be enhancing the preview on my macbook's screen.  And then it just stuck there, scan completed at 100% but "scanning..." dialog still showed it was working on something.  I let it set for a while but then after too long I killed it.  I checked the destination folder...  No scanned images.  I repeat the process, only this time I don't hit the copy button but the correct "scan" button.  Exact same behavior, but this time I did see a scanned copy of my document.  Got me a bit excited there for a minute.  +1 for optimism!
One down, 4 more to go!  I swap out for the next page.  Repeat, no luck. Patiently I do it again, no luck.  And try it again!  Still no luck.
Every time I had to kill the darn program because it would finish a 100% and then never budge from there.  But this time I didn't get any scanned copies as a byproduct.  As it turns, there are multiple ways to scan a doc on OSX, so I fired up "Preview" this time.  No luck with that either.  But I noticed Dropbox stopped sync'ing, the icon turned red.  It complained my disk was full.  Scanning also stopped throwing a "Disk is full" error.  "#@~! Yes right! That is all I needed at this time!" I was starting to loose my cool by now.  I could swear I had plenty of disk space to go around.  So I hit terminal and indeed the good'ol trusted "du" told me I was out of disk space.
I deleted a few large files and paused Dropbox syncing to free up some disk space.  I restarted scanning and pooff!  The darn scanning window complained I was out of disk space eff'ing yet again.  There's no denying this time I had few MBs worth of free space to begin with because I had deleted the files with my own bare hands (metaphorically) and checked free space with my own eyes (indeed tired and strained by now), but unfailingly I had noticed I had made some space available before restarting the whole scanning ordeal.  What is going on, by this time I was adorning my sentences a few verbal niceties!
All I needed was a few MBs.  I have noticed that sometimes rebooting OSX gets me back some disk space, I think that comes from reclaiming the filesystem log space, am not sure though.  But it was worth a try.  Plus it would kill any unwanted lingering programs potentially interfering with the scanning.  In parallel, I was trying to snap photos of the document with our phones in the hopes we could get decent photos rather than fight with the copier.  But that wasn't panning out well either.  After reboot, I back up 3 GBs worth of data and delete it off my macbook.  Ahh hhaa!  Now lets try this again.  This time I fire up "Image Capture" to rule out any software issues.  Maybe they all use the same backend to talk to the printer, implying same hung behavior, but it was worth a shot.
I hit "Scan" and lo-and-behold!  Still the same "hung" behavior after reaching 100% completion.  But... out of curiosity, I check disk space... And ~~~horror in my eyes~~~ Holy Spiderman's mad-cow crap!  It's depleting.  And depleting real fast.  Within few moments of Image Capture being hung, it had consumed nearly 2GB of disk space.  At this time I was more furious than I was frustrated or even tired and started turning red (I'm sure if I looked at myself in the mirror, my eyes were already bloodshot!).  I shot a few more verbal projectiles in the scanner's direction, cursed the software developers under my breath who made this crap and abandoned the idea of scanning altogether.  Two hours into it and it was getting on my nerves.
I can understand sloppy UI design, hard-to-navigate menus, unintuitive user controls, etc. even an occasional crash (though I would ask why, but say I gave it so much lee way) and I have seen a healthy share of those... but a scanner hogging on my disk space by GBs within seconds... that is taking sucking to totally new heights altogether!  Totally unacceptable. 
Something that was once a scanner, in my eyes was now an array of dysfunctional mechanical parts clubbed with even crappier software.
I were all so set to unleash the full wrath of my bottled up verbal abuses on that lowly inanimate object.  But just then Zen took over me: Atul, nothing good has ever come out of violence, you know.  I resisted that stupid inner voice of mine, "Sure as hell it has, you want to try (I almost got into my alert fighting stance)? Look around in the real world, one with the most fire power, rules everyone.  You really want to try it! Huuh!", I felt myself repeatedly muttering it under my fiery breath!  The only thing (thankfully!) missing was a visible flame coming out of my nostrils.  Long story short, cooler mind prevailed, but probably only because there were larger issues to take be taken care of later that night than fighting with the lowly copier.

Now I don't know if it is Apple's OSX who is at fault or HP, I would guess the driver comes from HP, but I could be wrong.  I would give Apple some benefit of doubt, just because everything else on my MacBook (including bootcamp'ed Windows) works flawlessly and drivers typically come from device manufacturers, so I say it must be HP.  Trying to scan and reproduce the experience on Windows would have definitely narrowed down the culprit, but I dare not scan from that piece of crappy copier again!  As a printer it is not too bad, but as a scanner, God save you.
Thank you very much however-is-at-fault here, for teaching a lesson (see morals below) here the hard way, I will never forget it!  If it was any consolation, I was reminded that I got the all-in-one crapper printer free with the laptop.  Wonder why, I laughed?  All the more reason to trash it to pulp with a baseball bat.
Well, that by itself wasn't enough to prompt this post... that last nail-in-the-coffin came in the form of online experience the next morning.
I have a yahoo mail account that had been attracting nothing but spams for the longest of time.  So I thought of salvaging it for sending craigslist queries.  So I went in and tried to edit my profile.  First off, it was an effort to find "WHERE" should I look for my profile and change it.  There were too many options: Should I look under "Hi, Atul" or should I look under the "Options" or should I look under the most promising "My Y!"??? 
Confusing Multitude of options
Well as it turns out "My Y!" is THE LAST place you should go to.  The thing I wanted is under "Hi, Atul", it gave me a drop-down menu with few a options, one of them being "Profile". Gotcha! Wait, not yet! That page throws an annoying 404 Page Not Found Error.
The annoying 404-Error
I try to keep it cool.  Moving on. I trace back my steps and then follow other lead, "Account Info".  That looked promising, shows my profile and besides my profile it had an "Edit Profile Details" link.
But guess what, that link too takes me to the same 404 error!  What is even more @!#$'ed up is that all the links on that page are invalid links!  They all land you in the same "404-Page Not Found" world.  Even the f___ing Help link!  Seriously, are you eff'ing kidding me!  Does anybody ever test this crap?  All the links on that page were crapped out.  And this is NOT a transient error, I have been giving it a try for a week now, every single day of the week.  It is permanently damaged.***
So after that, I give up hopes and dig out the REAL Yahoo help page.  That is even more eff'ed up.  After selecting categories and sub-categories of my issue, Yahoo throws an error saying something to the effect of "We are too busy with other issues, try seeking help in  online forums".  Damn right you are busy, I said, with this kind of crappy web designing you better be busy either helping people or fixing up your shit.  I gave up.  With renewed energy I have been trying it day after day.  One fine day, night actually, it let me type the question after selecting categories.  But THE only thing it showed me were some pretty useless "Quick Answers".  None of them relevant for my problem. I can't actually contact the damn Yahoo engineers who wrote this crap!  Seriously, are you kidding me now? So there is virtually NO way for me to resolve this issue :( If I'm expected to post this on some forum and then wait eternally while some God-sent messiah answers the question, then sorry, I neither have the energy nor hope to do that.  Sorry Yahoo, you are off my list too :(  I can't say I will miss you, but I sure liked using your services in the past.
While I have some expectations from Yahoo now that the reigns are in the (seemingly able) hands of Marissa Mayer, (esp. after introducing that free food and now new iPhones for every employee), I'm not too hopeful of their online services improving anytime soon despite improved morale.
I intend to serve multiple purposes by writing and sharing this... 
First, of course is to vent out the anger and frustration, so that the crap gets out of my system ~~~phew~~~ feels sooooo good now.  Next is to show how rampant the distribution of crappy software/hardware/services is, even from well repudiated companies who are (or rather, once were) industry leaders (wonder why they slipped into irrelevance).  Third is a lesson to myself and other software developers is to understand how important it is to focus on the end-user experience and the quality of whatever we produce.  On which front, Apple is really a role model to follow.  No I'm not Apple fanboy and I hate iPhone, but there is no denying their uber attention to detail and uncanny polish in their products, that was once only afforded by Sony.

At this moment, Oatmeal's comic on Printers is spot on: Printers Are From Hell.  No, seriously, some really ARE made by Satan himself!

Moral 0: I have said this before and saying this again...
Writing good software is anything but a trivial task, it takes tremendous skill, practice, patience and time to write a functional and elegant piece of code.  As usual, my role-model has always been the ubiquitous all-round best-in-the-class editor: vi[m].  Oh God, there is so much to learn from vi, at least from a user's perspective.  More than a decade of using it on all possible platforms (Linux, Windows, MacOSX, HP-UX, Solaris, AIX) and it is yet to hang or crash on me!  That is something. You can err on the side that vi might not be as complex as, say a scanning software, but the sheer functionality it gives without breaking fundamentals of usability and stability stand unrivaled.
Moral 1: Never, ever, ever, ever in my life am I going to get another crappy HP printer. 
My request, an earnest'est request (if such an adjective doesn't exist then let's invent it!) my earnest'est request to the world is PLEASE PLEASE STOP writing crappy software and services.  It is crime against humanity and seriously it won't be long before it will be unlawful to write crappy software and shove it down users' unsuspecting throats.
I'm no Richard Stallman, nor can I call myself an avid RMS fan, but I do love open source software. And holy bajeesus apesh!t, today I swear I totally understand how frustration drove RMS to start the whole Open Source movement: inability to add code to improve printer functionality in the 1980s.
Moral 2: Either you sit and crib about your problems or fix what is broken.
Wait, why can't I do both, sure I can :)
So, now that I have cribbed about it, I will make sure the work I produce shall meet at least certain quality standards.

Friday, August 17, 2012

Anybody there?

Back Form Hiatus!!!
I'm not sure if you guys still come here anymore (I know some still do, just don't know which ones of you)... but hey, it is not like I will stop writing if nobody reads, I write because I love to write.

Lot of (good) changes have happened in my life in around last few months, some at a pace I could not easily comprehend, so I was busily absorbed into my own little world, taking it in, one bit at a time.  Slowly, at a glacial pace, I'm coming out of that hiding and planning on resuming blogging, amongst few other important things that got put on hold.  Top on the list being replying to emails!  Facebook'ing, if you are wondering, didn't make it to the list.

As usual, I have a huge cache of posts to make, so there is no dearth of stuff to write about, it is time that's the gating factor, always has been time, darn time ~~~sigh~~~ I don't know what I will post first, but if it is any consolation, let it be a pleasant surprise :)

Say "hello" (or "Hello World", for the nerdy audience) if you are eager to read my next post(s).

Friday, January 06, 2012

Keep Marketing Advertisements Out of Your Mailbox

For the people who don't want to entertain themselves with my stories, here's the crux of the matter: How to stop getting all the crap into your snail-mailboxes.  But before you get all Uncle-Skeptical, I want to add that it works! Yes! It effing works.  I was highly surprised when, after a week of registration, my mailbox was going very lean and mean!
Note: This is for US only, I'm not sure if this is a serious problem in India yet.
Quick Steps:
  1. Go to DMA Choice page and create a login, click here.
    DMA is the most comprehensive do not mail list that most large list owners, compilers and mailers will bump their lists against.
  2. You have 4 sub-categories to opt-out from. I recommend opting-out of everything: Catalogs, Magazine Offers, Other Mail Offers and the most annoying of all, Credit Offers (cards, loans, etc.).
  3. The first three are simple click-and-be-done-with-it types.
  4. To opt out of Credit Offers the website redirects you to OptOutPreScreen (link).
    This is a centralized service to process requests from consumers to
    "Opt-In" or "Opt-Out" of the firms that offer credit or insurance.  Fill out your information, and get rid of all the mail-crap that would have otherwise found its way to your garbage anyway.
Now, time for the long drawn story... (No matter what you say, I know all of you secretly love maal-masala, the spice! :D )

I was appalled seeing the wastage of paper (and a lot of other natural resource!) when I first came to this country. But nothing struck me harder than seeing pamphlets/offers/brochures after pamphlets finding its way into my snail-mailbox. I was like "who the heck even goes through all this crap". And indeed, EVERYBODY I know immediately throws it away into a dustbin conveniently placed just beside the mailboxes, without even as much of a second thought!  The dustbin is eternally full, esp. in the evenings when people empty their mailboxes (putting away more than 79% of it) directly into that bin.  I sincerely wish they consider this bin for recycling, for all you know since it is NOT labelled one it might end up in the garbage dump :(

Before I put an end to the misery, I progressed through a few stages and learned that there is a very easy way to put stop to this crap, and in the process also save precious paper, few bits at a time.

Phase 0. WTF!
Really, the first time I got keys to my mailbox it was already beaming with a lot of papers. Seriously, if you don't clear them every other day, you WILL get a notice from your postmaster saying to clear your box otherwise he won't deliver any mails! Because there is no place to stuff any more.  (I'm *not* making this up, this has indeed happened to me! On more than one occasion).  I was joyous when I felt so many people are writing to me, but then I was like, "Wait a minute, I just got here and none of my friends know my postal, soo..." ~~creep'ed out expression~~ My joy was short lived ~~sigh~~, but I diligently ripped open every single envelope, only to discard it.  After a few weeks, I was like, what the 'eff is this? I didn't even subscribe to it and I'm not even interested in any of them, why do companies like to waste so much of paper?

Phase 1. Wow! Credit Card Offers!
Over time I got a tad smarter (really?). As a student I had no credit history and the only bank willing to give me a no-annual-fee credit card was the PNC Bank who had a branch in my University (No! It was not out of bank's altruism, it was only because I deposited my tuition monies in their bank that they felt secure that I won't run away without paying off the card).  The limit was very low, but good enough to get started on building the credit. Only enough to buy month's worth of groceries and some misc expenses.  So I used to be all excited whenever I got credit card offers in the mail. I would discard all other marketing stuff and rip open only the ones with credit card offers. Invariably, every one of them had some annual fees associated with it. Disheartened, but still hopeful, I kept doing that for a while.
Phase 2. Meh!
Soon I discovered that credit card companies aren't interested in you if you pay off your dues regularly.  You are actually robbing them of the opportunity to charge you obscene interest rates on your balance and huge fines.  I then went into a phase of total ignorance. 'Whatever' is the word I muttered under my breath whenever I saw all this crap in the mail. By this time _every_ mail, other than the ones I knew I need to open (which were no more than 1 in 10s of them) found its way to recycle can.

Phase 3. Aggrrhhh !@#$!
Then came the sate of total frustration when the envelopes weren't a clear indicator of what lies within. I would either open then right away, but increasingly they started finding their way into a stack of 'to be attended later' bin on my table.  It was often weeks before I got to them while they kept piling up on my desk.  Half way through these various phases, I had read somewhere that there exists an option to disable all these mails. Half skeptical, half hopeful and half praying I wished the system was "Default Opt-Out".  Imagine opening a new email account only to find that 99% of emails what look legitimate are actually spam!  And you have to individually unsubscribe out from each one of them
Every time I ripped open an envelope and tossed them into recycle can, my heart ached. I can't go out there and plant a tree every month, but I can 'effing help reduce their falling.

Phase 4. Get up and be a man!
Then one fine day I had it enough. United Airways (in relation to some frequent flyer miles program I had signed up for) kept sending me a letter every freakin' week, it bugged me the most. Discover Credit Card offer came second with the same frequency. Then there was Chase 'Open new account and get $100 credit' nonsense, Clear internet service. Followed by car insurance offers, loan offers, etc.  I said I have to be a man and stand up to this. And the encouragement came to me in the form of a nice article in Reader's Digest I was skimming through just before my bedtime.  Voila! I said to myself, "Let's try this now!" I got up, spent no more than 9 minutes and I crossed my fingers before going to bed that night.  I will never forget that night, because in just about over a week I was GLAD that all the unnecessary mail I didn't want went down. It has been a solid year now since then and my mailbox is going very lean!  Much leaner than most VS models!  Now, 90% of mails I get are the ones that need my attention. A good jump from < 1% before!

I generally don't give out unsolicited advices (but heck, this is my blog, eerr... what I meant was) but I will still give out this once. Because wasting paper hurts me a lot (maybe second only to wasting food, water and time),
I urge you to...
0. Stop all the marketing, banking, etc. flyers by following steps on DMA website
1. Stop paper statements for all your bank statements, credit card statements, utility bills and use internet instead.

The only ones I have not been able to put a stop to are "ValPak" and some thick bundle of newspaper'ly blob that I have NEVER gone through to understand what it is.  ValPak is less annoying because its frequency is very low, but the newspaper'y thing is ANNOYING, a bundle every week!  I am thinking of confronting my postmaster one of the days and figure if there's a way out.

But all in all, this (do-not-distrubt like) registry indeed works like a charm.

I did my bit of going green, did you?
A quick recap...
  1. Go to DMA Choice page and create your login
  2. You have 4 sub-categories to opt-out from. Opt-out of everything:
    Catalogs, Magazine Offers, Other Mail Offers and most annoying of all, Credit Offers.
    The first three are simple click-and-be-done-with-it types.
  3. To opt out of Credit Offers the website redirects you to OptOutPreScreen (link).  Fill out your information and save paper!
I promise it won't take more than 9 mins of your precoious time!

Save Paper, Save Trees, Save Your Time... Go Green!