HNHacker News
TopNewBestAskShowJobs

downer

286 karma · joined November 4, 2007

submissionscomments
downer··on Is this burnout? Why?
> Why can't I do it?

Ah, because your brain is rebelling against having to deform itself to fit someone else's mode of thinking. Most software other people have written is full of WTFs even in just setting it up. I had this problem with Trac recently -- I had set it up in the past, but it had been a while, and I found myself banging my head against the wall wondering why I have to learn its setup and command quirks. It SHOULD just ask me for an initial admin account password and the rest should be all point-and-click. (Not to mention, customization is a pain.)

When you're young and don't know any better, you're motivated to learn whatever arcane minutiae the presumably-expert authors of whatever software you're using have required.

Later, your brain will rebel against having to go through the motions because they are boring, tedious, and stupid.

If you have this problem when working on your own code, it's because something is nagging at you for not being as clear and simple as you could be. Maybe you just need a hash table instead of 100 different derived classes. Maybe the framework you're using obfuscates things too much.

This is the paradox of age: younger people are more motivated to do things because more things are NEW, but they lack experience; older people have the experience so their designs are better, but they lack the motivation to do the parts they now feel are tedious and stupid.

It has something to do with gullibility. When software says, "here's how we do things!" younger people are more apt to go along with it. Older people's brains become very skeptical and will refuse to go along with it, demanding a bigger payoff or a different sort of payoff. (For example, you might find you are able to do something tedious for a girlfriend/boyfriend because your motivation to please someone else is much greater than the very minor impulse you have to do it for yourself, since you don't find it interesting enough.)

Our brains put on the brakes more as we age; we have general pattern-matching brains that CAN do a lot of interesting things, but they aren't really designed for it. The payoffs we get for non-essential things tend to decline; our species evolved so that PRIOR to adulthood you should know everything you need for survival in your tribe/area.

Then we become more focused on the important things, evolutionarily: socializing, finding a mate, raising offspring, etc. We become much better at recombining ideas in the pursuit of improvements, but software that requires thousands of prerequisite steps just in order to have the basis for implementing your improvement is something foreign to our nature. Also, working at it alone is foreign; we like to cooperate (look at the overwhelming popularity of team games vs. solo play), and younger people who are excited about something help keep our own motivation up (younger siblings, friends, or teaching our own children who naturally would help take up the reigns more and more as they grew up).

Going off into an ivory tower alone with dusty tomes is just a good way to bore yourself to sleep.

You need a compelling reason WHY that will actually work for you. Finding some way to have fun or at least not suffer in the process of doing whatever the tedious parts are is essential. It needs to feel enjoyable somehow or you won't do it long-term. (Pain can get you to do something short-term but isn't a good way to produce your best work, and as soon as the pain drops below threshold you'll just put it off again.)

You know how you could do this already, because you know what things motivate you. The trick is connecting something that DOES motivate you to doing something that doesn't. This can be hard to talk yourself into because you become skeptical even of yourself.

Besides motivation, one trick is to just turn your brain off. Just think about what you're TRYING to do, not about why you should or how you should do it; don't think about rationalizations. Then you can do it step-by-step almost like blind evolution (works for sysadmin stuff; it does make for pretty ugly code, but it gets done at least; and is only really needed for boring parts which tend to be too simple to interest you anyway).

Basically, our brains aren't really designed for software, which is why so many people have good ideas but so few people IMPLEMENT them. This situation is very, very natural. We think in patterns, in general senses, with specifics only for the KEY innovations; when every single effin' step is specific for thousands of mundane tedious steps, that is NOT what we are made for.

Another trick that might help is to work backward -- start doing the key part first, even though there isn't enough scaffolding around it to do what you want. Then start putting in the minimum amount of scaffolding to make it work.

It's much more natural to make changes to a project than to do a project from scratch.

More as I figure it out...

downer··on Ask YC: Where to find co-founders?
I CAN HAS CO-FOUNDER?
downer··on Ask YC: Where to find co-founders?
Write an AI. [General Solution, 10 points.]

Then it can help you with anything, or do the rest of the work for you while you sleep.

downer··on Porn for Girls by Girls
All the objectors are completely missing the point that's being brilliantly illustrated by this tongue-in-cheek site:

MAKE SOMETHING PEOPLE WANT.

There are huge untapped markets because most web 2.0 sites are very, very niche, with a huge percentage overlap covering the same small Lispy HHGTTG crowd. Games mostly market to the same "kill some pixels" demographic, whether with guns or swords.

If you want to talk "serious" business, you're generally talking appealing to a wide spectrum of people with diverse interests. So you have to look at the commonality of what people want -- access to information (Google), social connection (MySpace, Facebook, WoW). (WoW's actual gameplay is niche, but there just happens to be a large supply of 11-year-olds who want to kill monsters.) This hardly exhausts the possibilities!

Mate, Spawn, Die: Pick any two.

downer··on Paul Buchheit: Brilliantly wrong
That's not very smart.
downer··on Paul Buchheit: Brilliantly wrong
"We found developmental traces of pre-school knowledge in biology professors. The professors acted like children even though they've had at least 20 years to overcome their early confusions."

Details!

downer··on Academia.edu looking to hire rockstar Flash developer
What is a "Rockstar Developer"?
downer··on Splashup reviewd by a User Interface blog. - It's pretty rough
> "AJAX" is just one stupid function call

XMLHttpRequest() is one function call. AJAX in this context implies a rather serious JavaScript application. I note you didn't respond to the FreeNX alternate idea. Apparently there's already MozNX, a Mozilla plugin, so that would actually take care of the display (at the cost of another plugin).

I have an even better idea, though: A bootable Linux flash drive that connects to FreeNX running on your own EC2 instance with a deniably-encrypted filesystem (TrueCrypt). You can pop it in any borrowed computer and it just acts as a terminal, with your software running on EC2 and displaying remotely on your system.

Then you can have access to your apps and data anywhere and don't have to worry about spyware or keyloggers on unknown systems (except hardware keyloggers) and only pay for the hours you actually use the system.

(If you don't trust EC2 with personal data -- since you never know who else is going to be on your same Xen host -- then use whatever co-located machine you set up yourself, also with TrueCrypt; although without the machine in your physical control at all times, it could be compromised regardless -- not to mention trojans planted in your binary distro of choice.)

downer··on Opera files complaint - an open letter to the Web community (wants to force MS to support standards)
The obvious correct solution is to get everyone off of IE altogether.
downer··on Where Are All the Qualified Programmers?
> I think the answer is "you can't".

That's what I said a few posts ago.

> You can't claim to have a solution for the problem if it only works for a

> fixed input, and if the solution itself would be different for different

> inputs.

"Reverse this array". Done. "Reverse an unspecified array of arbitrary length" is a different problem :)

downer··on Where Are All the Qualified Programmers?
This has nothing to do with it being statically sized or variably sized. You have to know what size it is when you are going to reverse it. The solution presented works as long as the programmer knows what the size is.

If you want to posit any kind of sane question, then you can have a sane solution.

downer··on Undo Made Easy With Ajax
I recall this being lambasted on Reddit a while back:

http://programming.reddit.com/info/2piup/comments

downer··on How much does it cost to found a Microsoft-based startup?
> I envy the LAMP guys, not because of the technology which I think is slightly behind Microsft's [sic] (VS + C# + .NET)

Ruby and Python and Lisp and all their frameworks and PostGres just aren't the same as those cutting-edge Microsoft products.

downer··on Splashup reviewd by a User Interface blog. - It's pretty rough
I wonder if a retargeted GTK library would allow you to run The Gimp as an AJAX application; either that or perhaps a Flash FreeNX client.

Ulteo made OpenOffice work online: http://lifehacker.com/software/online-documents/use-openoffi...

downer··on 12 things I learned from pitching VCs this past week
Ah, but interrupting business for personal looks bad; and the thing about (possibly most) women is they want you to have something that's more important than them. If you drop everything for them they won't respect you.

So he did the right thing from both perspectives. Which is probably why he's rich and has a (presumably) hot wife.

(I know that sounds politically incorrect, but alas, reality often is. To be fair, it probably works both ways: a man won't respect a woman who drops everything for him, either.)

downer··on Low-Cost Multi-touch Whiteboard using the Wii Remote
Porn.
downer··on Where Are All the Qualified Programmers?
You don't; it's basically, "here's an array, now reverse it" (keep in mind a pointer is not an array).

http://www.lysator.liu.se/faq/c-faq/c-2.html

The general point is that interviews of this type are counterproductive.

downer··on Edgeio CEO Keith Teare "...our investors pulled the plug WAY too early..."
I meant $25m as a dollar figure is a tiny amount when compared to today's acquisition prices (which may follow Angel-only investing) and considering how big a chunk of Google they got for it. Perhaps that's hindsight, but even at the time it seemed a pittance considering any expected IPO especially in those dot-com days.
downer··on Where Are All the Qualified Programmers?
It does work, you do the 3-step XOR with a[0] and a[last], then a[1] and a[last-1], etc. The 3-step XOR from the OP swaps the data.

Here it is with a 4-element array, a[0] through a[3]:

 a=[100,200,300,400]

 a[0] ^= a[3]
 a[3] ^= a[0]
 a[0] ^= a[3]

 a[1] ^= a[2]
 a[2] ^= a[1]
 a[1] ^= a[2]

 a
 [400, 300, 200, 100]
(Pretend this list is an array, it's just for illustrative purposes)
downer··on The man behind the Commodore 64
Of course, it's your formative years.
downer··on Art of Money Getting, by P. T. Barnum (actual book, 1880)
"Unless a man enters upon the vocation intended for him by nature, and best suited to his peculiar genius, he cannot succeed."

How am I gonna get paid to surf porn :(

downer··on Where Are All the Qualified Programmers?
...and where you are in the array, hence the temp variable.

Write it out to see.

So it still doesn't work, even if you use a function to "cheat" and get a "free" pointer (which, by the way, wasn't what the task said).

downer··on Why Reddit is broken, and how to fix it
Was Digg ever good?

Not to mention, unlike Reddit, they weren't neutral. They would try to squelch certain stories and ban users. They shut down all submissions after their attempted squelching of the HD-DVD hex key didn't work. They banned unpopular viewpoints. Censorship was de rigueur.

downer··on Clinton E. Curtis, programmer, testifies to Congress about fradulent voting machine source code
But who says it's a crackpot theory? Mainstream media, owned by...

I think more generally this is exposing the problem with majority rule, whose time should come to an end anyway. What if there IS a legitimate >50% Idiocracy? Just look at the birth rate among different political groups and you can see which way we're heading.

I didn't consent to be ruled by anyone, let alone the people "in charge" now. I didn't agree to all these rules, or all these laws, that claim to govern every aspect of my existence.

The next step in human liberation is freedom from those who seek to control others. Given the scarcity of natural resources, but effectively infinite virtual resources, you can do whatever you want in your own virtual reality. It will be freedom for your mind.

downer··on Clinton E. Curtis, programmer, testifies to Congress about fradulent voting machine source code
"Somewhat" likely?

Here's how normal paper ballots work: After the polls officially close, they count them up, in full view of whatever members of the public care to observe. In hotly-contested areas, this will usually include members of both/all the major political parties. This mutual distrust keeps everyone honest. Fraud is obviously not impossible, but is more difficult to get away with.

Here's how electronic voting works: A private, for-profit corporation TELLS you what the numbers are, with no paper trail and using unauditable practices protected by "trade secret" (court ruling).

What else do you need to know? People will scam other people for a buck, let alone control of the entire country. The burden of proof should be on the voting process to show that it's correct, not on those who challenge it; because the very lack of auditability is a virtual guarantor of fraud. It is not an accident when ATM companies produce voting machines with no receipts.

In the 2004 election, exit polls tracked closely with the official counts in the paper ballot areas, but were way off the "official" totals in the electronic voting areas. E.g. http://www.nogw.com/images/exit_poll.jpg

Hackers make ZERO difference. Hack all the votes you want going in; the voting machine company is a black box, and it will produce whatever totals it wants as output.

It's ESPECIALLY not going to announce if it were breached and is now completely untrustworthy; it's going to produce numbers that look plausible to save its own ass, leaving aside any nefarious reasons. Even if all their voting data was corrupted, they could just get the exit poll or pre-election survey numbers and tweak by a few percent in the desired direction in a few key areas and voila.

How many people need to be in on this? One guy with root access.

downer··on Where Are All the Qualified Programmers?
Doing p++, len-- uses two temporary variables.
downer··on Coding Horror: Blacklists Don't Work
Content filtering is completely different from book-cover filtering.
downer··on Where Are All the Qualified Programmers?
> like "How do your reverse an array without a temporary variable?"

You hard-code it using XOR. Note you can't even do a for-loop, as that's using an extra variable. Of course hand-unrolling a loop takes extra memory because it's so many extra lines so there's no point.

 a ^= b
 b ^= a
 a ^= b
This is very unlikely to be something that occurs to programmers who haven't had to XOR recently; if you aren't writing your own hash or crypto or codec functions then you probably haven't used it in a while. Now that you've seen this, you'll remember it and so if anyone asks, you won't be figuring it out again, just recalling.

IMO it's a pretty useless way to weed people out, kind of like testing people on chess by random arrangements of pieces. Chess experts remember actual legal positions that occur in games much better than non-players, but they are no better at remembering positions that never occur -- a bunch of kings on a chessboard, some in adjacent squares, for example.

Likewise, this kind of pattern NEVER occurs in what most people program; it's just implausible.

downer··on Startup CEO fired: Plan on it, just a matter of time
This is kind of the point, as most start-ups are mostly technical people who only appoint one of themselves as CEO because somebody has to be. It's not a question of ability but of desire; lack of experience is obviously to be expected, and you could never get any NEW CEOs if that were a disqualification. Every CEO was a first-time CEO at some company.
downer··on Edgeio CEO Keith Teare "...our investors pulled the plug WAY too early..."
That's not unusual for something large and complex. Even video games have multi-year development cycles and double-digit-millions budgets.

$6m in 3 years isn't high at all. Lots of little pre-revenue start-ups have sold for more with many fewer assets than it sounds like this company has. Google's first big round was $25m IIRC, and that was pre-keyword advertising; and by today's standards that's a tiny amount. Good thing its investors didn't panic and pull the plug.

← PreviousPage 4 of 7Next →