correct me if i’m wrong


Leave your ego at the door and master your tools

I am constantly surprised and astonished at how few programmers are thoroughly trained in using the tools they use in their daily work.

I first noticed this in college. All throughout, I consistently preached the emacs gospel to my fellow classmates. The gospel I am referring to is that emacs is an incredibly powerful tool, and that those that have a vested interest in programming should put forth the effort to master such tools to leverage their skills.

At the University of Texas, we primarly used Ubuntu Linux on the school’s lab machines. I constantly saw kids fumbling with the random crap that came with the KDE installation: KWrite, Kate, pico, nano. Not just the young ‘uns. Juniors and seniors, also. It made me sick to my stomach.

Regardless of whether I was creating a two-line text file for printing or working on my multi-semester thesis project, I would use emacs. I knew the tool well. It was quick and simple to launch, edit, and close. I could even use it from the shell without having to launch X Windows.

 

John DierdorfPhoto: John Dierdorf

 

This post is not about why emacs is better than vi (which it is). Instead, my goal is to describe why I don’t care whether you use emacs, vi, TextMate, Python, Ruby, BASH, Windows, Linux, or any combination thereof; what matters is that you choose a set of powerful tools and know them well enough to enhance your productivity.

In fact, the differences between two competing entites is negligible. Take vi and emacs for example. All they do is edit text. Two experts in either tool most likely have an indistinguishable difference in productivity. Yet a newbie to either one is utterly useless.

I don’t care about which set of tools you choose for your craft. I do care about how well you know those tools.

The same goes for Ruby and Python. Has a developer ever reached a point in a Python project in which he or she said, “darn. I should have used Ruby. It fulfills a need for this project that Python lacks.” The answer is no. They are both Turing-complete, after all. The initial toolset choice is the subject of another post. 

In short, it takes an initial time investment to get over the learning curve, but once that time is invested, the productivity gains are phenomenal. As you continue to practice an hone your skills, the reward continues to increase.

Published by adambossy, on October 30th, 2008 at 3:39 pm. Filed under: Programming Tags: , , , , , , 1 Comment

More on elite education

David Warren of the Ottawa Citizen makes an insightful contribution to the criticisms of university education in his latest article. In The soul-destroying effect of an elite education, he states:

Moreover, the late J.M. Cameron, among the greatest teachers ever to grace a college in Canada (St. Michael’s at Toronto), once gave me reason to hope. I asked him what, after half a century of teaching, he could find in common among his best students over all that time — the handful who stood out permanently in his memory. I expected him to struggle with this question, but he answered straightaway:

“They were all self-taught.”

Later: “They all arrived in university ready to make the best use of its resources, they were all burning with zeal to learn. They looked for professors who could help and guide them, they ignored professors who could not. Most came from humble backgrounds, and also stood out for their gratitude.”

It seems, thus, that Warren would argue that a university is simply a platform for students to thrive at what the enjoy doing. This contradicts why students actually attend college in the 21st century: to figure out what they want to do. By the time student these days have switched majors five times, they’re rushed to graduation and dumped into the job world.

This is exactly the reason I am taking time off before graduate school. I consciously decided to major in computer science in eighth grade (13 years old, approximately), but it has taken until now to learn about the nuances of different fields and to fully find my niche. I considered other fields: astronomy, music, economics. These were mere flings. Ultimately, there was simply no questioning my true love: computers.

Few of my peers shared such an affirmed sentiment. I would imagine an overwhelming world of uncertainty without guided passion. However, in spite of all this, I still don’t feel I “best” used the university’s resources. I certainly utilized them to a great extent: I was the leader of the ACM local chapter, I did independent research, I participated in many organizations, took advantage of the social scene, contributed service to the community, and even attended a few political rallies.

My undergraduate career was scattershot and all over the place, and so I don’t consider it the “best” way to university resources. My graduate education will be much more targeted to a small set of specific skills. Yet, to find what these skills should be took a whole undergraduate education of exploration.

Is this the “best” way to educate oneself? Some might argue so. Is this the need that undergraduate programs should aspire to fulfill? I don’t know.

Published by adambossy, on October 28th, 2008 at 10:38 am. Filed under: Education Tags: , , , , 1 Comment

Does your undergraduate education matter?

 

No more tests and paychecks every month!

Université du Québec professor Daniel Lemire doesn’t think so. Read his comments on a previous post of mine where I discussed the importance of school rankings.

My stance is that while rankings are important, they aren’t everything. One can move within a certain range of rankings and maintain a similar quality. I also believe that the competitiveness of the student body is important to teach you and to build a strong network.

Daniel believes that an undergraduate network is outgrown shortly and that a brand-name school is ultimately useful for nothing more than the first job. The name or reputation of an undergraduate program is inevitably overcome. Read the details here.

I recently discovered Daniel’s blog, and it’s fantastic. I highly recommend it for reading about academia, research and programming. He’s a professor that actually took the time out of his day to read my blog and comment–what a cool guy. Connecting teachers and students through blogs; now that’s education in action.

Published by adambossy, on October 28th, 2008 at 12:42 am. Filed under: Education Tags: , , , , , , 1 Comment

Telling it how it is in the startup world

Matt Maroon posts a brilliantly satirical slide deck illustrating the current realities of the Silicon Valley startup world amidst the financial crisis.

Published by adambossy, on October 23rd, 2008 at 4:45 pm. Filed under: StartupsNo Comments

Don’t Hedge Your Bets

An excellent article on turning down a definite amount of money for an unknown, possibly greater ultimate reward. Also demonstrates a great example of bootstrapping.

Published by adambossy, on October 20th, 2008 at 11:14 pm. Filed under: Startups Tags: , , , , , , No Comments

Startups and Rock Bands

My friend Adam made a startling insight this evening: that a startup is remarkably similar to a rock band. 

It’s so simple: You quit your job. You live off of nearly nothing. Your life revolves around a small group of co-founders or bandmates. Your relationship to them is akin to having multiple intimate relationships. You are working to create something great. You are pursuing your dreams at the expense of seeing your family or friends, for a slim chance at an eventual big payoff.

The question stands: where are the startup groupies?

Perhaps programmers need to take a gonzo approach to programming. The software world desperately needs a Hunter S. Thompson.

Published by adambossy, on October 17th, 2008 at 1:10 am. Filed under: Startups Tags: , , , , , , 3 Comments

The start of an AI revolution?

An announcement recently surfaced on the blogosphere about Siri, borne from the “largest Artificial Intelligence project in U.S. history.” The project referred to is CALO, which is what they call a “cognitive assistant.” That basically means they apply artificial intelligence (AI) techniques to a personal assistant, very similar to the original Semantic Web vision.

I am particularly interested in this because I did some work as an undergrad on a project that had much overlap with CALO. Apparently, it takes the best of natural language processing and knowledge-based systems (among other related fields) for its functionality (which is still very secret). 

I suspected this type of work was 10-15 years away from commerciability. If they plan to release something in the first half of 2009, then I was about a decade off, which is very exciting news. They coalescence of such research into a commercial product could mean the next big wave in computing technology during the next decade. Combine this with the rise of ubiquitous and mobile computing, along with social media, then we will have a rapidly changing–and exciting–world ahead of us.

Check out the TechCrunch article for more details.

Published by adambossy, on October 16th, 2008 at 6:36 pm. Filed under: Startups Tags: , , , , , 1 Comment

Selling your soul to the devil and living the “dream”

I attended the local Hackers and Founders event today in Sunnyvale and an interesting conversation came up: at what point, as an entrepreneur, do you give up doing what you “want” and sell out?

Entrpreneurialism is an interesting endeavor because it creates the illusion of freedom. Most entrepreneurs choose the path of self-employment because they do not want to be ruled by a boss. Instead, they seek “freeedom,” which, in actuality, is an illusion; one simply shifts subserviency from one person in a corporate hierarchy to the direct market forces. One’s customers become one’s boss.

The question naturally arises, that if I were to quit my job, to pursue this idealized fantasy of freedom and do what I “want,” how do I avoid the evolution of my business being drawn to a market niche or customer base that I don’t “want” to serve? You don’t. 

An entrepreneur, in my eyes, ultimately possesses several characteristics. First, a mission. A business must start very focused with an overarching vision that drives it. Sure, Google started out as a white page with ten links on it, but it ultimately sought to organize the world’s information. As an entrepeneur, you are part of an industry, and that industry finds solutions to problems; whether it’s health care, to transportation, to communication, any business fits into a large, overarching bigger picture.

Secondly, you must have nails that need hammering. This isn’t necessarily the same as the vitamin/pill analogy. The analogy follows: when people are sick, they need pills. They have a burning problem that needs a solution. When they are healthy, the use vitamins. They don’t need vitamins, but they are nice to have. When you are building a business, are you building a vitamin or a pill? 

Sure, vitamins can succeed and exist in the market today, albeit niche markets, but this is secondary. What are you building? Is it the solution to problem, or is it a problem seeking solutions? Seems simple enough, but it is surprising how few people truly understand this.

Third, real people must care about your business. This problem is especially prevalent in the Silicon Valley bubble that exists in the 20-mile radius around Stanford. During the building process, ask yourself, do my cousins in rural towns need this? How would my grandmother benefit from this? Could foreigners get this up and running effortlessly?

These three steps will deliver value. Ultimately, entrepreneurialism is a humble pursuit. For this very reason, I chose it as opposed to choosing music as a profession (I play the drums).

Putting yourself in the shoes of the “starving” artist and chasing the artistic dream is unrealistic. Ultimately, there is a trade-off between art and the forces that drive your industry (this could be an entire post unto itself). By the forces that drive your industry, I mean that money must come from somewhere to pay the few musicians (or other types of artists) that can actually make a living. This money often comes from the masses, uneducated in your art form.

Ask yourself–why is Britney Spears or Justin Timberlake so much more popular than Miles Davis or Muddy Waters? Because the former two are simplistic, dumbed-down, easy-to-understand musical renditions that the masses can relate to. Only can an educated and well-versed musician be able to appreciate the space between Miles’ sparse trumpet bursts and truly understand the meaning of “less is more.” 

Thus, a professional musician–and this applies to any art form, be it theater, painting, or even computer programming–must sacrifice the art for the sake of income. Therefore, if you are a true artist, you won’t choose it as a profession, so that you can maintain the sanctity of the art form. 

There is much, much more to write on these topics, but I’m tired and need to go to bed. Please feel free to disagree.

Published by adambossy, on October 2nd, 2008 at 1:11 am. Filed under: Career Tags: , , , , , , 2 Comments