New Project! Announcing

So it has been ages since I’ve posted anything to this website. Mostly I’m really busy with work and stuff, but lately I’ve also been busy building a new web property. About six weeks ago, I, along with my friends Tom, Chris, and John launched Nerd News And Reviews. This is a new site where we will talk about the video games we’re playing, the movies we’re watching, the comics we’re reading, and anything else we find interested enough to write about.

Part of the idea is for the four of us to have a venue that we can use to keep in touch with each other and continue our friendship, despite living in very different parts of the country.  The other part of the idea is to generate dialog between people about things they like.  Most people who check things out here probably know about the site already, but if you don’t, please stop by and poke around for a while.  Engage us, because we certainly want to engage with you.  Tell us stuff you want to see, read, and learn about.  Send us cool stuff you like and think we might like too.  We want it to be a community, so come and play.

Book Review: Crush It – By Gary Vaynerchuk

It’s no secret that the Internet is getting bigger and bigger everyday, and it seems like almost weekly that I read about somebody who has started a blog or a podcast or a video channel on youtube and has run away with the bank in what seems like no time at all. Everyone is of course envious of these people who are able to make a ridiculous living on what seems like little to no effort on their part. I can’t count how many times I’ve heard friends and family say things like, “Man, I wish I was interested in something that was worth any money.” It is from this perspective that Gary Vaynerchuk approaches his new book, Why Now is the Time To Crush It! » Read more…

Star Wars Theme Restaurant Menu

A couple weeks go, some friends and I came up with the hypothetical of opening a Star Wars themed restaurant. We started riffing on some potential menu items. Then we kept going. The following is what we’ve come up with, arranged into a menu. Feel free to add your own in the comments.

Have You Seen Luke This Morning? (Breakfast)

  • “It’s a Flap(Jack)!”
  • Yavin 4-Egg Omelette
  • Royal Hairdo Cinnamon Rolls
  • “See if You Can’t Lox It Down!”
  • “TK-421, Why Aren’t You At Your Toast?” » Read more…

Five Reasons Microsoft Should Still Fear Google

This morning on, Staff Corespondent Joseph Tartakoff posted five reasons why Microsoft doesn’t have to worry about Google’s new ChromeOS. Most of them are just wrong, in my opinion, and here’s why:

  • Windows 7 is Not Vista: I agree, Windows 7 is going to do much better in the marketplace than Vista did, but the strengths of Windows 7 are not going to be on netbooks, but on high speed computers that have processing power to spare for all of the nice new features the OS offers.
  • Microsoft is working on its own browser-based OS: Microsoft May be conducting research into new browser technologies and implementations, but they will never commit to a complete browser-based operating system, and that is because with a browser-based system, programs no longer become platform specific. Suddenly nobody needs Windows to run Microsoft Office, a majority of games, and nearly all business apps, and Microsoft loses.
  • Google will be busy competing with Ubuntu: You seem to suggest that Google only has the capacity to fight a single-front war. To be sure, Google will be trying to leverage market share from Ubuntu, but I can imagine it won’t be any larger priority than Windows. Google wants market share, plain and simple, and that share is found down the path of least resistance. Ubuntu has a solid netbook implementation, while Windows does not. Google recognizes this and will target those users first (all the while pointing out that ChromeOS is a lot more free than Windows).
  • Fully web-based Chrome OS cannot run Windows apps: This is true, but when you think about it, how well does Windows on a netbook run Windows apps? It’s a slow platform that offers sluggish results, unless you stick to things like Office and the web. Netbooks are aimed at people who want to do word processing, web browsing, and watch the occasional movie, and with HTML5, Google can do all of those things in a browser with minimal effort.
  • Google has not succeeded against Microsoft in the past: *cough*choke* I’m sorry what? Google hasn’t succeeded in the past? Google search? Gmail? Chrome? Google search has clearly surpassed Microsoft’s search offerings, and while Gmail and Chrome currently have smaller market share than the Microsoft equivalents, look at the history of each: Hotmail launched in 1997, while gmail opened to the public in 2007. In 2 years, gmail’s number of registered users has reached half of what Hotmail’s have reached in 12. As for Chrome, yeah, it has low market share, but it was released less than a year ago and has already taken share from IE, a browser that comes preinstalled on 90% of computers sold in the last ten years.

Edit: Misattributed the original article. This has been fixed

Google AdSense: When does advertising go too far?

An article posted at last Friday discusses a new advertising venture from Google which targets ads to users based on those users’ credit scores. This new deal involves a parnership with, a company that tracks online activity and personal data of approximately 2 million users who consented to having their information shared with third party sources. Using data that has been provided to Compete, Google will offer advertisers the option to target their products to users in specific credit score ranges. This will mean companies can target luxury goods and services to those with high credit scores, who will be more likely to buy their products.

My question is this: when these users consented to have their data sent to a third party when they signed up for whatever it was they signed up for, how many of them thought it meant they would just get added to some advertiser’s mailing list and how many of them actually knew that they would be sharing their financial data with Google and anyone else who wanted to pay for it? How many of them signed up on sites with the checkbox to allow this data to be used in an out of the way place so that it was checked by default and they didn’t see it to change it?

It is well within Google’s rights to keep stats and usage data on all of its websites. I don’t personally have a problem with some computer algorithm searching through my gmail in order to target ads to the contents of those e-mails. I start to take issue, however, when I can unknowingly authorize Google to be able to track me across the web and look at my personal financial history. Sure it is a computer that is looking at everything as I do it, but what’s to stop a Google employee from pulling up the history from that computer? When does it stop being a help to me as a consumer and a danger to me as a free citizen?

Barack Obama – The Rock On Which We Rebuild This House

President Obama came to Georgetown University this morning, where he made what has been referred to as a “major speech” on the economy. The event was held in GU’s Gaston Hall, which holds about 700 people. Of the literally thousands of students who put their names into the lottery for tickets to the event I was one of only about 100 students to be lucky enough to get a ticket. I went to the event this morning mostly just excited for the opportunity to see someone as incredible as Obama speak in person. I knew it was a speech about the economy, but i wasn’t aware that it was to be a particularly significant event for the president. It wasn’t until I was browsing Bloomberg news on my iPhone while waiting for the event to start and saw an analyst’s article about the advance copy of the speech that I realized people outside our campus community were paying attention to this.

Of all of the speeches I have heard him make, I think this is the most presidential I have ever heard him sound. Of course I have always thought he was a great speaker, and speeches like his acceptance speech in Chicago on election night simultaneously give me chills and move me to tears. But this is the first that I have heard in which he has spent the entire speech actually trying to govern and make the United States the better nation he so often promises.

He began by giving his audience the best summary of the events that led up to the current economic crisis that I have ever heard. It was clear, concise, and could be understood by anyone with any sense, while at the same time not make those people feel stupid. He addressed what actions his administration has taken to start fixing things, and promised what further measures he intended to take in the future. He addressed the concerns of his political opponents on issues and defended his ground beautifly.

More than a different direction in policy and agenda (which I think was desparately needed as well), it is exactly this quality I think was lacking in George Bush. Regardless of ones political views, it is pretty widely acknowledged that he was not a good speaker. Had Bush had the confidence and poise to describe to Americans and to the world what he thought needed to be done and to be able to rationally explain why he thought so, he would have had much higher approval overall, in my opinion.

When we were leavning the auditorium, the crowd was at a standstill for several minutes, and when I looked around, I realized that I was standing very near to Van Jones, an activist and a leader in the movement towards a more sustainable and green economy–and himself an excellent speaker–and realized he had just been watching the speech as part of the crowd, only a couple rows ahead of me. I introduced myself and asked him what he thought of the speech. He responded enthusiastically (and i paraphrase):

“Barack Obama is one of those presidents. In a hundred or a thousand years, he will be held up by history as one of the great men of the world, like Abraham Lincoln or Alexander the Great. In a thousand years, you could be on some other planet in another galaxy and you’ll get a smile if you mention Barack Obama.”

Who Cares If Software Is Free (As In Speech)?

Going around a lot of the social bookmarking sites like Digg and Slashdot lately has been an article by Richard Stallman, in which he waxes on and on about the current state of javascript applications across the web. Stallman’s primary thesis is that there should be some sort of standard for javascript that requires javascript to provide a location where the readable source of the scripts can be obtained. Furthermore, he argues that modern web browsers should have a built in way of specifying a way to replace the scripts found on a given page with free versions of those scripts, ensuring that the entire pipeline of execution is “free” code.

To put it mildly, I find the entire free software movement to be a bit too obsessed with this notion of using only free property. There exists another version of Firefox that is called Iceweasel. This is because, despite all of the source code of Firefox being free and open, the Firefox logo is copyright by the Mozilla Foundation, and therefore the program is not free. Iceweasel replaces this logo with a free one. Richard Stallman and friends need to understand that we are living in a world in which people like to take ownership for their work, and that often, it is this ownership that helps promote the work. The Mozilla Foundation has a copyright on the name and logo of Firefox because it is the most important part of the program’s image. It is the branding and name recognition of Firefox that has allowed it to capture such a large portion of the browser market in such a short period of time. The average user, if presented with two identical programs, one containing a brand name they know, and one with a “free” equivilent that they’ve never heard of, will say that they prefer the brand name every time, even if both are available at no cost to them.

This brings me back to the specific topic at hand, that of free javascript. The idea that for every major webapp, there should exist a set of third party javascript to replace what exists already in order to perform the same function is absurd. Technology and the web haven’t evolved as quickly as they have because someone wrote the exact same piece of software as someone else. These things have evolved because people have taken that software and changed it to get rid of things they don’t like and add things they feel are missing. If you don’t like something about Google Docs, don’t rewrite it. Write your own (free if you want) Ajax web application for document editing. The field will evolve because there is another quality contender and we will all be better off.

How Twitter can start to turn a profit

Twitter is huge these days. It seems like every other week you hear about another venture capital firm pumping a few million dollars into the service, and as of this writing, Wikipedia reports that around $55 million of venture capital is currently invested. With every one of these stories, you also hear the story about how Twitter has yet to come up with a business model that will allow it to both make a profit and remain pure to its users. Ad supported content doesn’t work very well, not only because ads would interfere with the clean, straightforward, and customizable interface already in place on the site, but also because a large percentage of users use a platform other than the web browser client for updating status (like texting updates or using iphone, blackberry, or other smart phone apps). Another thing that obviously won’t work is to just charge users a fee for the service. The day that happens is the day I go out and start and replicate the service, but for free and get all of the VC that just pulled out of Twitter.

The problem with charging for the service is that most users are in it for personal use and fun. They don’t drive business to themselves or their company, and as a result, the cost wouldn’t be worth it to them. There are several people and organizations who rely on Twitter as a part of their marketing strategy to drive additional traffic.

I propose the developers at Twitter write a suite of tools designed for companies and individuals with this in mind. By implementing a number of useful communications tools, they could provide a number of incentives for companies to purchase a subscription to the service. Things like being able to do mass messaging, organizing users into different groups, and an analytics and data mining application designed to quickly see things like the most important followers, most popular tweets, and most active time of day for your user demographic would all be invaluable tools and could be used to effectively drive traffic and profits even higher. Hopefully it would serve to drive Twitter’s profits anywhere at all.

Why Everyone Should Learn C++ First

About two weeks ago, an article from a blog I read fairly regularly made its way on to the Digg frontpage. It was the opinions of an experienced software developer about what programming languages someone who is just getting started in software development should learn. Many comments on this post questioned the omission of c/c++ from this list, which the author addressed earlier this week in this post. He argues that with the original post he was targeting people new to software development, and that he was of the opinion that programmers should get experience with a simpler language before diving into c++. There has been talk in the Georgetown Computer Science Dept. recently about making this same change, and starting with a much simpler language like Python, and a professor I know at another university is writing a book about Ruby aimed at beginning programmers.

I strongly disagree with this trend toward pushing beginning programmers toward “simpler” languages when they are starting out. I think learning c++ teaches certain programming concepts that many (and in some cases almost all) programming languages cannot:

Strongly Typed

C++ requires every declared variable to have a declared type, which brings with it several advantages. First, any type errors caused by things like trying to implicitly convert from one type to another or by calling invalid methods on a function are caught at compile time. This allows a developer to have much finer control over program flow, and reduces the number of possible run time exceptions dramatically.

Object Oriented

Anyone seriously interested in entering the world of modern software development must absolutely be familiar with the object oriented programming paradigm. This means that data can easily be represented in more complex ways, allowing a program to abstract data into more manageable forms. A program could for example, perform a series of functions specific to all pets, functions specific to dogs, and then functions even more specific to golden retrievers. C++ features support for all of the major aspects of object oriented programming, including public, private, and protected methods and variables, polymorphism (and even multiple inheritance, allowing a student employee to be both a subtype of student and a subtype of employee), and generic templates.


C++ is also very well suited to procedural programming. Procedural programming replaces the objects, attributes, and class methods of object oriented programming and instead breaks tasks into data structures, variables, and functions (subroutines). By eliminating objects and their associated memory and processing overhead, well written procedural code is generally much faster than equally well written object oriented code. This functionality is particularly well geared to writing low-level applications like device drivers that need to be as fast as possible. Procedural programming is also excellent for quickly prototyping applications.


Most modern programming languages have a feature referred to as “managed code,” which means that the compiler or interpreter automatically handles the allocation and deallocation of memory when a program runs using so-called “garbage collectors.” This eliminates memory leaks in a program, which is an excellent and useful feature.

As useful as garbage collection is, when someone is learning to program for the first time, any obfuscation of the way things work is not in that programmer’s long term interest. A C programmer (and c++ programmers to a lesser extent) knows the ins and outs of a computer’s memory system, and can pass pointers and pointers to pointers around with ease. This translates to being able to develop software that is fast, efficient, and that features well designed data structures.

Power Shift 2009

So I’ve spent this weekend at Power Shift 2009 at the DC Convention center. If you don’t know, this is a conference where 12,000 young people have come to promote and lobby for new legislation designed to move us to a greener society. I have spent this weekend as part of the conference’s new media team, producing the daily podcast of the conference (find it here), and it has been an incredible experience.

Rarely does one see a group of people with such passion and excitement about what it is they are doing, and that is such a refreshing thing to see. I have been recording the keynote speeches every night for the production of the podcast, and to see the reaction of 12,000 people to everything said is astounding. Last night when Jessie Tolkan gave her speech, she challenged the crowd to get up and shout for change, and it is one of the most incredible crowd responses I have ever seen. I urge everyone to check out the Power Shift website. Watch the videos, read the blogs, and hope and pray that one day you are as excited about something as those I have met this weekend are about building a new, green economy.