Friday, January 22, 2010

Descriptive comments

When you write code, you need to comment it so that when you or somebody else comes back to this code few years/months/days/hours from now, they will be able to figure out what the code does. Here is the comment I saw one of my interns write:

// This function divides Numerator by Denominator

Really? I thought numerators and denominators are usually multiplied!

Labels: ,

Thursday, January 21, 2010

Barnes & Noble Nook. First Impressions of Tenderfooted E-Reader User

Last Friday I was able to buy nook at Barnes & Noble on Upper East Side. Turns out, they are already available in that store and in the one at Union Square. I have never had an electronic book reader before, so the following are my impressions being a first time electronic reader user. The software version I have now is 1.1.1, so all my nagging below is pertains to that particular version, unless otherwise noted.

Exterior and Packaging:
I really like the way it was packaged - it's not quite like unpacking some Apple product, but it's definitely better than average electronic device. The packaging is minimalistic yet elegant.


The feel of the unit itself is very nice - good size, fits well in my hands. I like that buttons allowing you to move forward and  back are on both sides of the unit, but I keep wanting to use the forward button on the left side to go back, when I'm holding nook with both hands, but that's a minor detail.

Interface:
It seems that the interface was developed with simplicity in mind, which is great, but it looks like implementation is where the problems are (as is often the case). Navigation is not very smooth, has a lot of glitches (example: navigation going back out of a blue). But again, this is a new product on a new OS, so they can probably work it out later - Blackberry Storm wasn't very smooth either at the beginning, but two serious firmware updates later, the look and feel has definitely improved. I'm just hoping B&N will do it for the current nook model, not for next one, so that we spend another $250 to upgrade

Reading:
Well, the whole idea of the unit is to enable the user to read a book, and it does so relatively well. It's not quite a paper, yet it's definitely not a computer screen, so I enjoy reading on this unit. Once the book is loaded, you have simple controls: you can go forward and go back using the two pairs of buttons on each side and some additional functionality via the touch screen: search within the book, go to furthest reading point/cover/chapter, bookmark control (add, go to, remove all), control the font, add highlights and notes, look up definition of a word (neat!) or Open Audio Player (see below)
Interestingly enough Go To lacks ability to go to a certain page, only chapter. I think this would be a worthy addition.
I liked how quickly the reader loaded a 100Mb pdf monstrosity named Pilot's Handbook Of Aeronautical Knowledge - even FAA on its site posts it broken up by chapters, so I downloaded it and combined.

Organization: I was particularly excited about being able to load my 1.2 Gb pdf library onto the reader to have all those books readily available. And here is where I found out that nook does not support folders on the memory card! Imagine over a 100 books all listed alphabetically. Yes, this is not a sight for the weak of heart. There is no search either! No tags, no "read", no categories - no way to classify them. Well, in my opinion, that really decreases the value of the reader. Essentially, the reader simply becomes a "screen" for reading versus a device that helps you organize and keep track of books. Now, from what I learned about Amazon's Kindle, it's suffering from the same flaw, yet there is talk about having folders.

It's odd that such feature was not thought of to begin with. If you are developing a unit with replaceable memory card and advertising thousands of books that can be stored on it - you should REALLY think about how you are going to organize them.

Audio:
I like to read books while listening to music, especially classical music. So, one of the first things I did was load music files onto the memory card (as to not to fill up the scarce space on the unit itself). After I went to audioplayer, I could not see the files. The Nook Guide says:
"Your nook looks for audio files in these places:
  • In the folders my music and my audiobooks in the internal memory. Optionally, you can place audio files in subfolders of my music and my audiobooks if you want to organize files hierarchically
  • Anywhere on a supplemental microSD or microSDHC card, if present
Audio files placed anywhere else in the internal memory are not discovered by the audio player"
Strange, I've even placed few files onto the unit itself, but it still would not see the After restarting the unit and waiting for a while, I come to conclusion that it simply takes the player a long time to load the list of files. At the same time, when I went to audio player after a long period of inactivity it showed me an empty list! Better yet, when I kept on reading a book periodically checking whether or not audio player had a chance to look up the mp3 files, after 2 or 3 "checks", the unit simply froze on me. So, when you wake up your nook, let it do it's stuff. Don't rush, or it will go into stupor.

Connectivity:
GSM: I got to play a little with the Shop section of the interface. Very simple and very effective - run a search for the book, and get a choice of purchasing or downloading a free sample. The ability to do this is of course subject to AT&T coverage.
Wi-Fi: The initial attempt of connecting the nook to my home Wi-Fi failed miserably - nook cowardly refused to connect to my WPA network. I will have to work on this a little more.
B&N Hotspots: I have yet to test that capability.

Random Stuff:
When connected to a computer via USB cable (btw, it uses micro-USB on unit's end, which is great - when I travel, I will not have to haul a separate cable for it - i can use sync cable from my Storm and Tour), nook displays a message that says that if i want to use nook and continue charging i should unmount (eject) the drive(s) associated with it. Lies!!! I've done it. The message stays, and no reaction from the unit.


Conclusions:
Despite all the rant, I still like my nook. Call it idealism, hopeful rationalization, or whatever you want. I like the fact that it's made by my favorite bookstore and ties into its library. As far as glitches and bugs are concerned, I realize that this is a new product for Barnes & Noble, and they need to iron out wrinkles. If I had to guess, in the past few months they were primarily concerned not with how the units perform, but if they have enough of them. So, now that they are rolling them out into the stores in the next few weeks, I hope the company will have an opportunity to take a deep breath and address the issues. I will leave out the discussion on whether a company should iron out glitches before rolling out the product, or deliver the product to the market asap, creating interest, demand and dealing with issues later.
To summarize, these are the issues i'd like to see addressed, and preferably in the current model via firmware upgrade:


  • Interface bugs - smooth 'em out - the touch screen is a good idea, don't let it down now.
  • Book Organization and Classification - folders are must would be great if it also had tags, categories, etc.
  • Audio Player - definitely needs improvement. If it's searching for files on the memory card a message saying that it's searching would probably be nice.
Barnes & Noble, you have a good potential product, you have a shot at capturing market - don't let it slip away!

Labels: , , , ,

ATM Skimmer

Found this on Brian Krebs' blog (got there through Bruce Schneier's page) . I know, I'd fall for it.



Sidenote about Brian Krebs' blog: Krebs states on his About Page that he does not have technical background and got into security by accident. But from his postings in Washington Post's Security Fix Blog you can tell that he's very knowledgeable in the area. Definitely an addition to my daily read, right next to Bruce Schneier.

Sidenote about Linux: On the same About page, he mentions that he had been monkeying with a Red Hat box, as I read this, I felt an urgent need to fire up my old SUSE box and play around a little.

Labels: ,

Google Sync / Blackberry / Multiple Google Calendars

I find Google Calendars quite useful and I use them quite a bit. I have multiple calendars, one for personal items, one for my work, one for activities, etc. When I just got my Blackberry Storm and installed Google Sync on it, it worked perfectly fine and allowed me to sync all of those calendars. However, somewhere between upgrading firmware I realized that Google Sync stopped syncing any of the calendars except for the default.
Searching for answer on forums only lead to suggested answer:
Go to Google Sync > Options > Calendars and choose the calendar from the list.

The problem is that I had only one calendar on that list - Default Calendar (which is not even the name of my default calendar - it's called Main Calendar)

I tried upgrading Google Sync, reinstalling it, resetting sync - nothing helped.

Just for kicks, I decided to sign into Google Sync using not my usual email, but the gmail email (which i'm not using, yet it was created, since i'm using multiple Google services). And voila! The calendar list got loaded and events from all of them synced!

Also, while in the process on the new firmware for Storm and Storm 2, it appears that Google Sync starts running in Compatibility Mode, which prevents people from being able to log in (user can type in the email, but not the password, and only portrait mode works), the solution there is to go to Settings > Applications > Google Sync and check Disable Compatibility Mode

Hopefully folks at Google will work out these bugs, until then, I hope this helps

Labels: ,

Tuesday, January 12, 2010

The price of being polite.

Few weeks ago I stopped by a Barnes & Noble store to see what I can use my gift cards on. I stop at the Nook counter (which in most stores you bump into as soon as you open the door) to look at one of the functioning units (they finally replaced the pieces of paper they used to have before). I have been thinking of buying an electronic reader for a while, and Nook is the leading candidate.
As I stand there getting ready to interrogate a sales associate, some older guy comes up behind me. I figure I better let the guy go first, given that I am planning to go over all features of the Nook. The first thing the guy asks is whether or not they have Nooks in stock. Sales associate answers that they will not have them in stock until February 1st, which is what I have heard many times. "However", continues the associate, "we have one unit at the registers because somebody ordered two units but kept only one". As my jaw is dropping to the floor, the older guy walks over to the registers and buys the unit.

No, they did not have any more of "returned" units.

Yes, next time I will NOT let the guy ahead of me.

And also, next time I'll have to break the guys legs so he cannot make it to the register.

PS: For those w/o sense of humor - my statement of intent of breaking the guy's legs and not letting somebody ahead of me is a joke.

Labels: , ,

Tuesday, January 05, 2010

Orphaned .msp files

Today got a call from a client of mine - one of the machines has full hard drive. You'd think - what can be more obvious - you pile up files, the hard drive gets full! Something seemed odd though - that computer has a lot of space on hard drives. So i decided to investigate. Downloaded WinDirStat, ran it and saw that 2/3 of the space is occupied by a bunch of 100Mb files which are located in C:\Windows\Installer folder. Odd. Started digging, and here is what I found: those are orphaned installer files - microsoft update program had failed repeatedly for some reason (happened to be failing on Office Service Pack 3, a 100Mb pack), and computer had automatic update "on". Which means that every day for a few months the update program would go, download the file and try to install it, fail, complain in a form of a small pop-up, yet do the same thing next day.

Solution (found here):
a) Download what is known as Windows Install CleanUp Utility which includes program called msizap.exe (this program is also included in Windows SDK, so if you have SDK, no need to download the CleanUp utility)
b) Run the msizap.exe with parameter G! (stands for "delete orphaned packages silently")

Voila! 2/3 of hard drive space is available!

Labels: ,

Arizona Pics

Here is the gallery from my AZ trip. Main highlights:
Grand Canyon - what a beautiful place. I've never seen anything like it - the grandeur is breathtaking. We drove from Flagstaff to South Rim. The only downside - too many tourists. If this is what it is when the temperature is 30 F, I don't want to know what it's like in the summer.

Sedona - amazing place. I can see now why it's called a spiritual mecca.  There is something about the view of those rocks. We went for a great mini-hike away from the crowds and it was awesome!

Labels: , ,