StatCounter

Monday, February 20, 2012

Best iPhone Apps 2012


A colleague recently made me aware of Time's new list of 50 Best iPhone Apps 2012.

There's a lot of fluff on this list from Time magazine. But here are some of the apps from this list that I actually use and recommend.
  • ShopSavvy (better than RedLaser). To discover, for example, that most groceries at Target are actually very competitively priced.
  • Dragon (I find the classic version, minus the Go!, to be more useful). To dictate lengthy responses to emails while driving. Required very occasionally, but when you need it you really need it, for example as you're pulling into the parking lot to let someone who is in a meeting and can't take a phone call know that you need them to fetch a projector for the very next meeting. Mildly not useful if you have to correct the transcription but works well once you get used to speaking clearly. Side benefit: helps you learn to speak clearly!
  • GasBuddy. Good for that initial "wow" discovery that some gas stations (usually ones off the beaten path, surprise) are actually significantly cheaper than others. Once you know, you generally don't need to keep checking. Especially useful, now that gas prices are said to be approaching $5 a gallon!
  • Yelp. Indispensable reviews-driven service if you're in a new place and need to find a decent restaurant, hotel, etc with some color commentary (e.g. Stay Away! Rough part of DC! Google Maps just doesn't tell you this!).
  • Shazam. You're waiting for your haircut or driving in your car and a song comes on that you totally love. Use Shazam to find out what song it is.
  • Flipboard. More than anything, I think of it as a visual way of browsing Twitter. Saves me from clicking on Twitter links because it presents a summary (pictures included) of the underlying link. It does an unbelievable job of caching so that I'm able to flip through 20 to 30 of the most recent stories during a subway ride without phone signal. Pandora is the only one that matches up. Many of the apps I value are only useful to folks who are information hounds like me.
  • Dropbox. Invaluable for syncing important files (e.g. PDF books I'm currently reading/consulting) across all computers/devices.
  • Flashlight. Thankfully, I've actually only had to use this a few times. But this is exactly what you need when you've accidentally dropped your keys in a dark parking lot.
  • Pandora. Perfect mix of songs you've told Pandora you like (so it'll play them every so often) and songs you like but didn't know (Pandora will offer up songs in the same genre and you're guaranteed to find something new that you like). Also, does a super job of caching so that you can keep listening on the subway even if you lose phone signal for several minutes.
And while I'm on a roll, let me also list a few apps that I find extremely useful but Time magazine did not include on their list.
  • Evernote. A great compliment to Dropbox for text files you need to edit. For example, it's not as much fun now but when my son Ronak (7) was younger I maintained a list of words he mispronounced. Evernote syncs the notes across all computers/devices so you can edit wherever you are. Extremely useful, given that Dropbox still does not allow editing from a handheld device.
  • Pulse. Not as flashy as Flipboard, but sometimes news is more than just cool pictures. And Pulse does a great job of presenting the most important news of the day in a convenient to consume layout. It also allows you to save stories for future reference and integrates with Facebook and Twitter. You can add any news source that has an RSS feed, which in today's world means ANY news source. BBC News is also good but lacks flexible integration with RSS feeds and social media sites.
  • Starbucks. For the small but meaningful convenience of being able to swipe my card and collect points using my phone, i.e. without having to carry the physical card around.
  • AroundMe. Has bailed me out a few times when I'm in a new place, am completely out of gas, and desperately need to find the NEAREST gas station even if it means making a u-turn!
  • VZNavigator. For Verizon subscribers only and requires a paid subscription ($5 per month, I think). But it is hands down the best I've used. Waze is free and quite good but has let me down too many times so I've returned to the tried and trusted GPS tool from Verizon.
  • GroceryIQ. Enter things you buy repeatedly into a master list. Then add items from the master list into your shopping list. Check off items from the shopping list as you go through the aisles. Priceless because if you're unable to find leeks at Market Basket even after three trips, leeks are still on your list when you happen to stop at Trader Joe's.
  • Flixster. In my opinion, this is the best app for finding out which movies are playing near you or where that hard to catch foreign film is playing within a 30 mile radius. Conveniently displays review scores from Rotten Tomatoes as well as Flixster users.
  • IMDb. A nifty app from the best place to go to for details when the information on Flixster just isn't enough or you want to explore a recommendation from a friend.
  • FlightControl. The best little game to help pass time and keep you awake while you're waiting at the doctor's office.
  • iBooks. I haven't tried all of the gazillion PDF readers out there, but this one from Apple is excellent. It lets you easily navigate chapters, create bookmarks, highlight passages, add notes, and search within the PDF. Mind you, I'm not a fan of carrying around a Kindle, tablet or what have you just so I can read books. My phone does a good enough job of it, thanks to helpful PDF readers like iBooks.
  • CapitalOne and ING Direct (now acquired by CapitalOne). Not a match for the excitement of a game or news app, but these two are among the best banking apps. Schedule a payment on the due date right from your phone. Every bank needs to have an app that is at least this capable.
  • Skype. Excellent rates for calling phone numbers, competitive with calling cards. And, of course, Skype to Skype calls are free! Now with Bluetooth support, makes it a breeze to use. 
  • Amazon. I do a lot of my shopping on Amazon and this app makes it easy to conduct business via the iPhone. Also good for quick price comparisons while shopping brick and mortar stores. I have occasionally received discounts on items just by flashing the Amazon price at an unsuspecting vendor.
Also see PC Magazine's List, which focuses on free apps and makes a good complement to Time's list.

The current (March 2012) issue of MacLife also has an excellent list of 100 best apps (Upgrade Your Apps) that's a bit off the beaten path, but (understandably) isn't yet available online (so, buy the print version or wait).

Follow me on Twitter @PuneetLamba

Sunday, January 15, 2012

iPhone Screen Capture

Use this cool tip to capture your iPhone screen as an image. Useful for documenting a setting you want to save or for demoing how an app works.

Friday, January 13, 2012

Rangeele Presents Kailash Kher's Ballads

Kailash Kher, performing live in Boston, November 13, 2009. Copyright Puneet Singh Lamba.

I've been a fan on Kailash Kher ever since he came into limelight with the outstanding Allah Ke Bande (2002). After his appearance as a judge on Zee TV's SaReGaMaPa 2011, I also became a fan of his forthright personality and his shudh/pure Hindi.

I had the pleasure of seeing this amazing singer perform live in Boston on November 13, 2009 at the historic Somerville Theatre. It was an especially enjoyable show for me, given Karsh Kale's surprise guest appearance on drums.

Kailash Kher's long-awaited new album, Rangeele, is a more sober offering relative to his previous works. Understandably so, now that he is established, married, and a father. The album contains eleven delicious ballads, which I've reviewed below. This is the kind of CD we all long for, one that you can leave on continuous play and let it loop as it quietly seeps into your consciousness.

1. Rangeele. A thoughtful title song with horn and flute accents. The tune grew on me after a few listens.
2. Tu Kya Jaane. A gentle, meditative love song that lulled me into a trance.
3. Albeliya. A shorter, mesmerizing ballad. "Main to azaadi mein bhi kaid ho gayi."
4. Yadaan Teriyaan. A haunting, Punjabi song.
5. Daaro Na Rang. A slightly faster, catchy, irreverent offering with captivating banjo-like string work.
6. Kathagaan. A song of adoration. Continues the upbeat theme (and banjo?) from the previous song.
7. Babbaji. No one does spiritual songs quite like Kailash Kher. And this yearning song is no exception.
8. Yadaan Teriyaan (Acoustic). A welcome repeat, as is the entire album.
9. Hudkaan Maan Bitti. A playful song. Presents a change of pace before the fitting album finale.
10. Dharti Pe Jannat. A dreamy, short continuation of the upbeat groove. Left me wanting more.
11. Ujaale Baant Lo. The album ends on this lovely, uplifting anthem. My favorite track from the album.
12. Ambar Tak Yehi Naad Goonjega. My version of the album doesn't have this song.

Monday, December 19, 2011

What Is Enterprise Architecture Anyway?



There aren't a lot of books on enterprise architecture, never mind good books. The Art of Enterprise Information Architecture by Godinez et al (IBM Press, 2010) fills a big void. I recommend the book for an excellent overview of enterprise architecture (EA) and reference architecture (RA), followed by a detailed discussion on Enterprise Information Architecture (EIA) and an EIA RA.

The authors define architecture as well as EA. They provide an overview of EA as well as RA, noting that there are various elements of an architecture including business architecture, application architecture, security architecture, and, of course, information architecture (IA). After the introductory chapters, the book launches into a detailed discussion on IA, EIA, and a RA for EIA. EIA is explored in terms of multiple views (conceptual, logical) and models (component, operational).

As the authors explain, the key that explains the "enterprise" in an EA is the manner in which an EA provides a bridge between business strategy and IT strategy and implementation such that business and IT are aligned. Furthermore, an EA strives to seek consistency and reduce redundancy in IT initiatives across the enterprise.

The survey includes references to some classic articles on the subject (see below) as well as detailed discussions on important elements of a next-gen EIA including cloud computing, enterprise information integration (EII), metadata management, master data management (MDM), mashups for Web 2.0, dynamic warehousing, and business analytics and optimization (BAO).

I am reproducing links to selected articles referenced in the book. (I wrote this blog entry mostly to save these links for my own future reference.)

  1. Design an SOA solution using a reference architecture. Arsanjani et al. IBM developerWorks. 2007.

    The authors present multiple views of their SOA reference architecture.
  2. A comparison of the top four enterprise architecture methodologies. Session. MSDN. 2007.

    Useful overviews of: (1) Zachman Framework for enterprise architectures, (2) The Open Group Architecture Framework (TOGAF), (3) the Federal Enterprise Architecture (FEA), and (4) the Gartner Methodology.
  3. The Open Group Architecture Framework's (TOGAF) Architecture Development Method (ADM).

    ADM is perhaps the key component of TOGAF and it provides useful guidelines on how an organization should go about developing its architecture.
While we're on the subject of books on EA, the only other book I've investigated carefully is A Practical Guide to Enterprise Architecture by McGovern et al (Prentice Hall, 2004). It is a good complement to the above-mentioned book since it doesn't talk much about TOGAF and FEA and instead delves more into the Rational Unified Process (RUP) and Agile based approaches. However, McGovern et al completely neglect to talk about the "enterprise" bit. It's almost as if the book is about architecture and the title was an afterthought from a marketing person. And that's why the offering from Godinez et al is all the more useful.

Saturday, September 3, 2011

India's Great Expectations

A fascinating debate, with a well-rounded panel, on India's superpower status, aspirations and potential. The panel: Manish Tewari (politician), Anil Dharker (columnist), Gayatri Shah (journalist), Rizvi Syed (poet), Vimlendu Jha (environmentalist), Neera Chandhoke (academician), Y P Singh (police).

Tuesday, August 30, 2011

Java Founder Leaves Google, Joins Startup

Just months after joining Google, Java founder James Gosling has moved on to a start-up working on oceanic robotics.

Friday, August 26, 2011

Hurricane Survival Kit

1. A flashlight. This is important. If you don't have a flashlight, buy an iPhone and install the flashlight app.

2. A bottle of scotch. If you don't have a bottle of scotch, you're SOL.

Thursday, June 16, 2011

iCloud Is Lame, Stay With Dropbox

I feel silly now, but I was pretty excited when Apple (and Steve Jobs) announced iCloud just the other day (June 6, 2011, to be exact). Given the quality of their other products (iPhone et al), I had high expectations. But this is a truly mediocre effort and a premature announcement.

How did I arrive at this controversial conclusion? I installed iCloud on my desktop (also known as CloudMe, why can't Apple pick a name and stick with it?). I also installed the CloudMe sister app on my iPhone so that I could review the integration across devices. To my dismay, I discovered that iCloud is, in fact, no more than a file upload facility, whereas Dropbox is a true file sync tool. One saving grace is that it works at the folder level. You tell it which folders to track on your device, let's say your desktop. And if it sees a new file in one of the folders you've asked it to track, it will upload the file to the cloud. However, and this is where Dropbox leaves iCloud in the dust, if you remove one of the previously uploaded files, iCloud will not remove it from the cloud! So, other devices will continue to have the redundant file. And, wait for it, it gets worse. If you rename a previously uploaded file, iCloud assumes it is a new file and uploads it. Duh! The file with the old name also continues to live on the cloud. As far as I'm concerned, iCloud offers absolutely nothing that I don't already have with Dropbox and does a worse job of it. And Dropbox has an awesomely functional iPhone app to go along with it.

In this context, I will share a philosophy that I solidly believe in. A company can only be successful at a few chosen things. As soon as a company starts to get in on everything that seems like too big a market to ignore, its value proposition is sure to shrink. And in this case, Apple has caused me to doubt whether all of its products are equally superb and reliable.

Sunday, June 12, 2011

Nature Capture | Stream of Leaves


Who: A river stream, jam packed with fall(en) leaves
What: Mostly oak leaves, looking gorgeous in their reflective container
Where: Greater Boston Area
When: November 13, 2010
Trivia: The leaves and acorns of oak trees are poisonous to cattle, if consumed in large amounts

An Economics-based Argument for Good Software Design

Martin Fowler is one of my favorite technical authors. I am sharing a link to his eminently thought-provoking keynote address (VIDEO) at the Agile Connect 2011 conference, June 8-9, Las Vegas. In order to whet your appetite, I'll reveal that his talk is comprised of three sections as follows. And I'll offer short summaries, in case you decide not to watch the 1+ hour video.
  • Non-deterministic tests and how best to deal with them. These are tests that succeed or fail randomly. They, therefore, cause your build to succeed or fail randomly. Fowler correctly recommends that such tests should be taken out of the suite and quarantined until the non-deterministic behavior has been fixed. He also lays out several root causes for non-deterministic tests including lack of test isolation (i.e. inter-test dependencies), asynchronous behavior (i.e. non-sequential events), remote services (i.e. failures outside your code).

  • An economics-based argument for when and why to invest in good software design and pay off technical debt. Fowler proposes a "Design Stamina Hypothesis" whereby initially ignoring good design might allow you to deliver new features more rapidly, over time poor design reduces the efficiency with which you can add new features.

  • The current state and future of Agile (and a few, highly welcome, words on social responsibility).
It's in the must-watch category. Candy for geeks.

Wednesday, May 18, 2011

Nature Capture | Redpoll




Who: Redpoll
What: Performing feeding acrobatics
Where: Greater Boston Area
When: March 19, 2011
Trivia: Redpolls almost exclusively hang out on birch trees, often in large flocks

Saturday, May 14, 2011

Nature Capture | Painted Turtle



Who: Painted Turtle
What: Stuck, between a rock and a hard place!
Where: Greater Boston Area
When: April 30, 2011
Trivia: Turtles are the oldest living group of reptiles, dating back to the time of the earliest dinosaurs

Friday, April 15, 2011

Pi Is Still Wrong, And Math Is Still the Foundation of Computing

We recently celebrated Pi Day to commemorate that elusive number that cannot be fully expressed. Do you know why? Because it's an irrational number. Pi is remembered on March 14. Why? Because Pi is most commonly approximated as 3.14.

(Did you know, there's also Pi Approximation Day? Can you guess when? It's July 22. Can you guess why? Because 22/7 is a common approximation of Pi.)

Most of us working in the endlessly challenging field of information technology don't often get to deal directly with math during our daily working lives. Math is that unsung hero, quietly making it all possible.

It is, however, useful (and humbling) to remember occasionally that math is, in fact, the foundation of computing. And there are so many fascinating mathematical problems still waiting to be solved.

Therefore, without further ado, let me whet your appetite with this intriguing blog post by a young mathematician at MIT, explaining why Pi might actually be WRONG!

And if you're keen on further exploring this vast subject, I recommend Introduction to the Theory of Computation by Michael Sipser, a crisply (and simply) written expose on the math that forms the bedrock of computing.

Our computing community churns out new programming languages at a fairly healthy rate. Often these new languages hope to replace Java (1995) or C# (2001) as the new standard. But even when they don't achieve the pinnacle, one cannot help but marvel at the ingenuity that goes into writing a new language, often creating a new programming paradigm. Recent gifts to the computing community include Perl (1987), Python (1991), Visual Basic (1991), Ruby (1993), Delphi (1995), JavaScript (1995), PHP (1995), Scala (2003), Clojure (2007), Groovy (2007), Go (2009), and most recently Ceylon (2010). Sipser's book contains a wonderful "big picture" treatment of the topics one must understand in order to truly comprehend (or perhaps create) a programming language.

If you're interested (and are a glutton for punishment), here are some recommended links for further reading.


Enjoy, and don't forget to thank math for making computing possible!

Tuesday, April 12, 2011

When Should a Link Open a New Window?

I recently posted this question on Stack Exchange, a great family of websites for getting informed responses to meaningful questions. The answers I received indicate that there are broadly two use cases to consider.

  • One, it is clearly recommended to open a new browser instance/window/tab in certain situations. Such cases include where the link is a detour from the main workflow, e.g. print or help. In these circumstances, the new window contains no navigation. Also, the detour cannot be reproduced via use of the back button.
  • Two, when moving to a new domain, opinion is divided on whether to force a new window (target="_blank") or let the user decide (click for the same window, ctrl+click for a new window).
Thoughts? Click on the link above to view the detailed discussion on Stack Overflow.

Monday, April 11, 2011

Twitter Switches from Ruby on Rails to Java

Twitter has recently refactored its search module to replace a Ruby on Rails solution with a Java-based framework called Blender.

Sunday, April 10, 2011

Thursday, April 7, 2011

Agile Is Not For Everyone

Consultants and process coaches need to consider carefully whether they're forcing Agile onto organizations even when the organization's cultural leanings suggest that Agile may not be a good fit. As this article points out, often organizations are looking for results not a wholesale change of culture.

Tuesday, April 5, 2011

Essential Reading on HTTP and REST

Okay, so it's a bit risky to refer to this giant of contemporary computer science as a horse. But, as the saying goes, this is straight from the horse's mouth. Trust me, it doesn't get any more authoritative than this!

Roy Fielding is co-author of the HTTP specification and the ubiquitous Apache Web Server. He created the Representational State Transfer (REST) paradigm as an architectural style for the Web. Since then REST has received much well-deserved attention.

His doctoral thesis (FREE PDF!) is a seminal work that contains an excellent discussion on the following.

  • Software architectures in general, well worth reading for the survey and rigor contained herein, especially given the lack of consensus on what entails an architecture definition
  • How network-based application architectures (e.g. the Web) are unique, an impressive discourse on the nature and function of the Internet
  • Why Fielding proposed the REST architectural style for distributed hypermedia systems.
  • Finally, Fielding uses the REST style as a mirror to illuminate areas of the Web that have gone rogue and require refactoring

System architectures are explained as follows.

  • An abstraction of the run-time elements of a software system, as distinct from software structures that describe the static code
  • Recursions of component/layer architectures down to the most basic system elements that cannot be further decomposed
  • One per operational phase of the system, e.g. start-up, initialization, normal processing, re-initialization, shutdown
  • A configuration of architectural elements (components, connectors, and data)
  • The realization of an architectural design, not the design itself or even the rationale behind the design
  • Compared in terms of the architectural properties or software qualities (relevant to the system domain) as induced by each architectural style (and the constraints therein)

Fielding defines architectural styles as named, coordinated sets of architectural constraints. He uses styles as a mechanism for categorizing architectures and for defining their common characteristics. Styles can be combined to form hybrid styles as long as their constraint don't conflict. Especially useful is Fielding's catalog of network-based architectural styles organized under the following categories.

  • Data-flow
  • Replication
  • Hierarchical
  • Mobile Code
  • Peer-to-Peer

It is generally felt that most post-graduate work produces theoretical results with limited practical applications. This is an example to be held up as both an exception and a model.

Finally, follow Roy Fielding on Twitter to receive a regular dose of his insights. (Thanks Alex!)

Sunday, April 3, 2011