I recently read something by Aza Raskin that resonated with me. He suggested that delegation -- letting others have ownership over your baby -- is an essential part of leadership that is often inhibited by an attachment to the product, and this attachment comes from the fact that the product's success or failure is a reflection of your own success or failure as the product's leader.
I recently wrote an API callback script that performed some heavy calculations and took a long time to return. To keep the user from having to wait, I wanted to have the script immediately return cached results and asynchronously process the calculations. There are a few partial solutions on the web but none of them properly deal with sites using HTTPS, so here's my solution:
Pricing is a funny thing. It depends a lot on psychology -- how can you convince your customers that they are getting a deal while charging them the highest reasonable value? You've heard people say "differentiate" before, but I bet you haven't really thought deeply about whether you're really different. Here's a test: are you an alternative, or are you your own category? If you didn't exist, what would people use instead, and how would they feel about it? Are you a category leader or are you a small player that tries to be better than the leader?
As the guy who wrote one of the first open-source status update systems in 2007, the main developer behind Acquia Commons social business software 2.x, and an evangelist of social communications technologies, writing the title of this post feels strange. I've spent the last 5 years of my life building software to make it easy for people to build social networks, so why would I suggest that sometimes you shouldn't do it?
This is a slightly edited response I recently wrote to someone who asked how to learn skills that would be useful at a hackathon. It's my usual response when someone asks how to get started programming.
You should start by approaching the problem from a different perspective. You should be thinking "I want to build X. Now what do I need to learn to build that?" not "I want to learn to build stuff. What can I learn?"
Tim from Crowdcademy recently wrote about the ugly side of programming:
I've also discovered that learning to code can have a big impact on your personality. Coding uses a lot of thinking patterns that I hadn't really used since my math and statistics classes in college, and even back then not in this intensity. As a result I've become more focused, more logical and smarter. But I've also become more detached from everyday life and less fun to hang out with.
The other day I read an article about global warming, and something about it keeps bugging me.1 My initial reaction was that someone would figure it all out; someone always does. But "someone" doesn't seem to be getting very far this time, and this is a big, important, world-changing problem. So, I thought, why is that "someone" not me?
Last weekend I created Nemesis, a 3D First-Person Shooting game completely in the browser using WebGL with Three.js. I'm really excited that this is possible in the browser and that I was able to do it with no prior WebGL or Three.js experience in 23 hours for the AngelHack hackathon. This post is intended to explain the code so that other people can do the same.
Isaac is a student with a passion for technology, entrepreneurship, and. He also pursues , politics, and music. But mostly he builds things.