My New Post

Here's a new post I'm creating a new post here.

First Install

While installing software on my new Macbook Air I thought it would be interesting to make a list of what applications I installed first and why I use them. Starting over from a clean slate makes me rethink which applications I use frequently and what I need most. Here's a list of the top 10 (interesting) apps I first installed:

1. Moom - An excellent window manager, Moom (move+zoom) makes it easy to rearrange, resize, and maximize windows.

2. Alfred - My favorite application launcher. I used Quicksilver for the longest time until development essentially ceased. I love Alfred because it's simple, clean, and fast. Launchpad may make it easier to launch apps but Alfred has and will always be easier.

3. Homebrew - Simply the best package manager for OS X. I never liked MacPorts but Homebrew is simple and easily customizable. I can't tell you how nice it is to be able to easily change a release version in a formula without having to wait for some central repository to update their formula list.

4. Tower - Hands down my favorite Git GUI for any platform. Tower makes almost everything in Git easy and quick.

5. iTerm 2 - I never really liked iTerm and didn't think it was necessary to have a terminal replacement. However, iTerm 2 has some awesome features (timeline is invaluable) and I love the build in Visor like view to quickly pop in and out of a session.

6. Things - Even though I have nearly given up on Cultured Code's over the air sync, I still like the Things interface better than nearly any other competitor (The Hit List comes close). Now that they say there will be testing of iOS syncing in August I will be holding out. In the meantime, I have been trying to use Asana but the lack of a mobile interface is frustrating.

7. Byword - Ever since the great and timely support I got from Byword's developer when asking for a trial version, I have wanted to use Byword for any little writing tasks. The new live markdown preview finally brings it up to par with iaWriter.

8. Accessorizer - Accessorizer was a recommendation from a friend (@davidhamrick) and after using it for several weeks it has become an indispensable development tool. Simply enter your variables into Accessorizer and it will generate implementation and dealloc formats for you. It does a ton of other stuff and is highly customizable, allowing you to tweak its formatting to your preferred style.

9. Growl - Growl notifications are invaluable to me. From notifications about what song is playing to new emails, chats, and file transfer completions, Growl's gentle distractions are highly customizable. There will soon be a Mac App Store version of Growl which may have some effect on its capabilities.

10. Oh My ZSH - Luckily, ZSH is installed on Lion so all it takes is a little project like Oh-My-ZSH to make your shell experience a whole lot better! The fantastic color schemes and modules that come with Oh-My-ZSH make the default bash shell look nearly unusable in comparison.

There are others like Chrome Canary, Twitter, Skype, Spotify, Dropbox, Transmit, Textmate, and more which I didn't list here because it seems like they are on every list. See a larger list here.

The Tablet Wars

A Business Insider article got me thinking about Microsoft's tablet strategy. Matt Rosoff asserts that Microsoft CEO Steve Ballmer had no choice but to pursue the Windows Tablet strategy because of the extreme profit margins that Microsoft receives from the Windows and Office software licenses. While this is a valid point, it is totally ridiculous to think that Ballmer had no other viable options.

The Mobile Landscape

The mobile landscape is important in this discussion because the two clear frontrunners in the tablet market are Google and Apple. Un-coincidentally, they are also the leaders in the smartphone market (when Symbian is left out). The shift here is less about the shift to a different form factor and more about the shift to more "personal" computers in the interaction sense.

Microsoft's Windows Phone 7 seems to have come too late to the party and they're still play catch-up in what appears to be an already stratified arena. The lack of success with Windows Phone 7 makes it that much harder for Microsoft to determine which route to pursue. They can try to bring Windows down to the tablet or try bringing Windows Phone 7 up to the tablet. I would expect to see some blending of Windows Phone 7 and Windows in the near future, much as Apple is doing with Lion but to a much greater degree if Windows is to sit in the tablet middle ground.

Do Tablets Cannibalize?

The biggest question is whether tablet computers will actually cannibalize desktop and laptop sales. Gartner certainly seems to think so, since their latest projections of desktop and laptop sales were reduced by 1.2% to account for this. Apple's own COO, Tim Cook, said that "there is some cannibalization" but that it creates "some halo effect from Apple product to Apple product". He jokingly added: "If this is cannibalization, it feels pretty good."

Many other forecasts seem to show cannibalization being an obvious issue for computer manufacturers. It seems that tablets may cannibalize current PC sales but that Microsoft has no real choice. They must get into the market as soon as possible or risk losing major ground.

Even The Analysts See It

Late last year, a Goldman Sachs analyst downgraded Microsoft stock largely because of the mobile market.

We believe that top-line momentum and hence investor sentiment on Microsoft’s core Windows and Office franchises is unlikely to improve until the company gains a firmer foothold in the growing migration to mobile devices – both smartphones and tablets. We don’t see this happening this year as Apple’s iPad and iPhone plus Google’s Android operating system are well established; a Windows- based mobile device could certainly begin to garner momentum in 2011, but the stock remains in show-me mode until at least then, in our view.

A Morningstar report from earlier this year points out this predicament very clearly.

Any potential near-term share losses at the low end of the market will probably be immaterial to Microsoft's earnings power; more concerning are the longer-term implications for the stickiness of the Windows operating system. As consumers get trained on tablets and smartphones based on Apple's iOS and Google's GOOG Android operating systems, they could become more willing to switch to alternative operating systems for their primary computing devices. The longer Microsoft stays out of the tablet market, the greater the risks to the Windows franchise in the long run.

Microsoft needs to make an entrance into the tablet market as soon as possible. Unfortunately, the same analyst believes that "Microsoft appears to be about two years away from a response to Apple's AAPL successful iPad tablet." And he is certainly not the only one. Microsoft is also not the only competitor struggling to meet the iPad's explosive entrance.

They go on to mention the cannibalization of notebook sales by tables and are more concerned that "Windows does not yet have a presence." This simple fact is overlooked by Rosoff. Even though there is a possibility that Apple is cannibalizing its own personal computer sales, at least its own iOS devices are the cannibals. Whether or not Microsoft or Apple are more interested in a lower margin tablet market, there is one competitor who certainly is interested: Google.

Google's Role

The release of Honeycomb shows that Google will definitely continue to push their mobile Android OS into the tablet future. Google releases nearly all of the software it produces for free. Excellent examples of this approach include Gmail, Google Docs, Google Apps, and Google Analytics. All of these applications are powerful and would have commanded fairly expensive licenses less than a decade ago. Instead, Google is distributing its software at no cost to device manufacturers in order to increase reach and encourage people to use Google's ad-supported services (since 96% of their revenue came from sales last year).

The obvious retort to this argument is that Microsoft and Apple are in two very different situations. Apple's significantly lower market share in the desktop and mobile computer sectors means that there is less to cannibalize and more consumers to convert. It is also clear that the mobile device market is much better suited to Apple's closed ecosystem approach and plays strongly to their dedication to user experience and product design.

We will have more information on exactly how iPad sales are affecting (at least Apple's) personal computer sales. The last five years has seen a rapidly changing personal computer environment and it isn't fair to attribute a loss of notebook and desktop sales to the tablet form factor. It is a larger combination of mobile computing devices that provide more direct user interaction. I'd expect Apple to continue pursuing such devices in the foreseeable future.

Living in the Cloud


After running into yet another hard drive failure with a friend's computer recently, I decided that I should post about a few tools that ensures nearly none of my work can be lost due to any hardware failure and, at the same time, allows me to access my work from anywhere.

Dropbox: Hopefully everyone reading this has heard of Dropbox. Dropbox syncs your local files with the cloud. It allows you to work as you're used to with the same speed and ease as before but only syncs when online. Perhaps the best feature for students are the various ways of accessing Dropbox content. They have a web interface, iPhone and iPad application, and Android application.

Google Docs: I write nearly all of my notes and projects in Google's online document service. By writing things on totally online software, I am able to access and edit these documents from anywhere without worrying about any sync issues. It also allows me to easily collaborate on documents with others when necessary.

Gmail: I use Gmail for storing and dealing with all of my emails. Their online interface is better than anything else I've ever used. I would welcome the return of offline support but it's no show stopper for me.

Chrome: Yes, Chrome is just a browser, but the recent syncing features keep bookmarks, passwords, extensions, themes, and autofill saved across all of my computers. I can literally pick up a new computer, install Chrome, and have a totally customized browsing experience in minutes.

Spotify: The gold standard in streaming online music, Spotify has a huge library and dead simple usability. I rarely have a problem streaming music from them and their offline/mobile capabilities mean that I don't actually need to store ANY music on my hard drive (unless it's not in their library). Hopefully they will launch in the U.S. sometime this year but in the meantime you can use Rdio, Grooveshark, or Mog. I believe streaming music is the future and I would expect iTunes to offer it soon.

SmugMug: I use SmugMug for all of my SLR photos because I like the customization and powerful features. Their SmugVault allows me to backup all of the RAW versions of my photos for archival purposes. I post many of the pictures I take with my phone to Facebook or to Twitter with Camera+.

Github: Git is starting to become the default source control management solution. When I'm working on solo projects I like it not only for the structure it provides (branching, tagging, commit log, etc.) but also for the easy backup I can get from using hosted repositories like Github.

Simplenote: I use Simplenote + Notational Velocity to keep an always update copy of various small notes. I can write quick thoughts down on my computer and be assured to find them on my iPhone, iPad, or any other device with internet access.

The Mind of a Machine

You've probably already heard much about IBM's Watson supercomputer: the first machine to ever compete on Jeopardy and, quite possibly, the best natural language interpreter on the planet. While watching the IBM Challenge over the past 3 days, I was awestruck at just how far this team has come in understanding the nuances of the English language.
The machine seems to be able to parse through humor and misleading quotes to come up with answers that seem nearly impossible for statistical software to achieve. This is mostly due to a combination of deep analytics, natural language processing and machine learning.
I think this is a very timely challenge which parallels the work that a number of technology startups are doing. Here are two interesting companies to take a look at in the natural language and machine learning fields:

Siri is a natural language processing company that has received much attention over the last several years, especially following their purchase by Apple. Their "Virtual Personal Assistant" is astounding and it seems nearly certain that Apple will use this technology to create a much more advanced voice recognition system in future devices.
Wolfram Alpha

Wolfram Alpha uses structured data to answer questions. This is very different from the way that Watson comes up with its answers. Watson uses unstructured data, the same type as nearly all data available on the world wide web, and combines deep analytical capabilities with a host of other tools to organize and structure the data in order to rate a series of possible answers.
The future looks bright with the technology that Watson uses. A combination of powerful machine learning and natural language processing could allow computers to truly be used for analyzing the massive amounts of data we are producing each and every day. We have so much data that, were it to be burned onto CDs and stacked, would reach beyond the moon. Making since of this data is most certainly the intention of IBM's research team.

Watson vs. Big Blue

Deep Blue is probably the best known super computer in the world. It's competition with chess Grandmaster Gary Kasparov is the classic example of man vs. machine. However, Watson is certainly not just a more powerful Deep Blue and will hopefully not suffer the same fate.

Deep Blue used a simple recursive search which is well suited to computational modeling. By simply iterating through many possible chess moves in order to determine the best results, there is little way for a human to come out on top. This can be visualized by the tree shown above.

On the other hand, Watson uses many different techniques to come up with the best possible answer, perhaps the most important of which is Bayesian logic. Bayesian logic is the use of past events to predict similar events in the future. A good example of this are advanced spam filters which must constantly change to adapt to changes in spam messaging. Obviously, spam filters have a much less advanced implementation of Bayesian logic than a system like Watson would employ and doesn't combine the other artificial intelligence methods.

We should all hope that Watson does not suffer the same fate as Deep Blue. Shortly after the Kasparov competition, IBM shuttered the project and discontinued work on the computer system. There is much more promising future in Watson and it is likely that IBM will continue to invest in its future. Even if they do not, the startups listed above and many others like them will continue pushing forward in this arena.

NOTE: See all of the moves from the Deep Blue vs. Kasparov competition.

AI & Watson

Leading futurist and artificial intelligence author Ray Kurzweil recently published an interview with Eric Brown, a research manager on the Watson project. Brown mentions some details about Watson's future. Most interesting to me is his proposition of using Watson's DeepQA technology to assist in technology support situations. Because of its ability to go through documentations, manuals, past issues, and known bugs, problems could be solved much more quickly without human biases and inconsistencies.
It is interesting that Brown specifically mentions that Watson's analytics processes are run in a single-threaded model. Kurzweil maintains in "The Singularity is Near" that the key to the brain's pattern-recognition abilities is the massive parallelism provided by the vast neural network. Watson's hardware allows processes to be run in parallel with multi-core processors and a large network of many computers on which to run work simultaneously.
When most people think of testing a machine's humanness they think of the Turing Test which essentially measures the machines ability to imitate human actions. However, the Feigenbaum Test might be much more important in advancing artificial intelligence. The test measures whether or not the computer can pass as an expert in a field. Machines capable of passing the Feigenbaum test would probably be capable of improving their own designs, making them much more important in advancing themselves.

Kurzweil says "that the human brain can master about 100,000 concepts in a domain." In order to become an expert in a field, this would be the required number of concepts that the computer would need to fully understand. Because of this limit and the narrow amount of information that would need to be collected about a specific subject, the Feigenbaum Test may in fact be much more achievable than Turing's Test.

If you're worried about the future human vs. machine war, Kurzweil says you'll have nothing to worry about. He posits that humans and machine will and have already started to merge. The "Singularity", as the merger is known, will simply be another evolutionary step; nothing to be afraid of. As Ken Jennings said in his Final Jeopardy wager "I, for one, welcome our new computer overlords."

UPDATE: Ken Jennings says that Watson had an unfair advantage. He says that the precision buzzing time of Watson gave it an unfair advantage. I certainly noticed this happening when Ken seemed very frustrated when he obviously knew the answer but was unable to buzz in.