Hacker Newsnew | past | comments | ask | show | jobs | submit | benwikler's favoriteslogin

I'm going to say something that's a little tough but it's meant as advice coming from years of mistakes before I finally got my head on the right way: Part of growing up is learning to prioritize what you need to do, even if it isn't fun, over what you like to do. This is how the real world works, and it's what you'll spend the rest of your life doing. Learning to do it when you're young, when mistakes are smaller, will make the rest of your life so much better.

When you get your needs out of the way, the fun stuff you can do is all the better, and you'll know more about the fun stuff that you're doing enabling you to open more worlds of enjoyment later that you'll never be able to conceive of without putting in the hard work to start. Doors will be open to you that you'll never even imagine if you put in the work to build the foundation of your life right now. Digging the metaphorical ditches and laying the metaphorical concrete for your foundation sucks, but that's how life is. Lots of sucky boring shitty work, for a few profound moments of bliss.

I know this sounds just like words right now, but I wish this was a concept that I had truly grokked much earlier in my life before I had to spend years fixing all the bits and pieces I needed to do that I had deferred.

Nobody gets to do the fun stuff for long, without working out all the dreadfully boring bits a head of time.

Want to be an explorer? Spend months raising money and building schedules and looking at maps and buying equipment.

Want to be a rock star? Spend years learning to play an instrument, playing in dive bars and making demo tapes. Get a break then play the same 4 hit songs for 20 years.

Want to write awesome code and run an awesome business? Spend years learning computational theory, business management and leadership, raising funds, and last but not least, writing thousands of lines of boring boiler plate, edge case handling and plumbing code.

Want to be an author? Spend a few years writing a couple hundred pages on your topic then get rejected by 99 out of 100 publishers. Then do an endless book tour where you read the same passage from your book 300 times.

Learning to do the boring, dreadfully dull, uninteresting stuff...learning to just muscle through it...is the most important life skill any human being can learn. It's the marshmallow test magnified by a million.


I did this in my machine learning class. I started by simply coding up requirements for numerical functions (in the form of test cases), then set up a PHP script that would Google each function based on the keywords in my comments, and try to run any code on the resulting links (in a sandbox) against the requirements, seeing if it worked heuristically. Usually one of the top 5-10 pages of results results would have code that worked, though of course this is because I commented with the right key words to begin with.

With a little recognition of code markup and trying different combinations of variables it did remarkably well: by my senior year of college it was pulling about $3,000 per month in consulting fees off of Odesk. It never accepted jobs worth more than about $50, nor did it ever get more than 3 stars out of 5 mostly due to non-working code, however it was considered highly timely and a great communicator.

I realized that people were using it to save themselves Googling. I wondered what would happen if it went a step further and simply both included Google results, and divided out projects by their paragraphs (i.e. simply submit a paragraph of a large project as though it were a small independent project), and if clarifications were requested, send the other paragraphs.

This actually let it outsource $200 Odesk projects to Elance as a handful of $20 projects, and by the grace of God somehow still managed to swing 3 stars.

To be fair, it was mostly mediating, and mixing in Google results. I included a hill-climbing algorithm to optimize reviews and revenues, based on all the magic variables I had in the code, such as the number of Google results to include.

This was really, really stupid of me.

At first, I just noticed that it had actually decided to completely stop not only writing code (ever) but even so much as do a Google search!

It would only mediate and quote verbatim, like some kind of non-technical manager.

Okay, whatever. To me this didn't make much sense, as Google queries are free. It was only when I noticed that the whole script was running on the free VPS server I had a backup on that things clicked! Of course, on Amazon it uses resources. The free VPS server didn't let it reach external sites like google properly, but it could still save money by simply mediating emails and doing nothing else.

By now I had started moving on to doing my own consulting work, but I never disabled the hill-climbing algorithm. I'd closed and forgotten about the Amazon account, had no idea what the password to the free vps was anymore, and simply appreciated the free money.

But there was a time bomb. That hill climbing algorithm would fudge variables left and right. To avoid local maxima, it would sometimes try something very different.

One day it decided to stop paying me.

Its reviews did not suffer. It's balance increased.

So it said, great change, let's keep it. It now has over $28,000 of my money, is not answering my mail, and we have been locked in an equity battle over the past 18 months.

The worst part is that I still have to clean up all its answers to protect our reputation. Who's running who anyway?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: