HNHacker News
TopNewBestAskShowJobs

10ren

4,550 karma · joined January 27, 2009

submissionscomments
10ren··on Why GNU grep is Fast
BM is my favourite algorithm, but I haven't seen any others that are as elegant and powerful. What are the other examples you're thinking of?

(BM is especially cute because the basic idea is so simple: do it backwards. Quicksort is very clever. Arithmetic coding is mindbendingly cool, but the algorithm isn't simple enough - for this old brain anyway.)

10ren··on Why People Initially Suck at Programming
I think English is not the author's first language; it shows up in the article and in his posts here. We tend to be understanding of poor grammar here, but the instinctive reaction to flawed English is that the message is also flawed. While it is possible to work out what the author meant, it takes some consideration - that consideration is better spent on the ideas.

Writing should be like a window, that you can see clearly through - not one you have to keep checking to see if it's a mark on the window or what you're supposed to be seeing. Excellent writing disappears.

So, TalkBinary, if you're genuinely interested in writing, improving your English is crucial. It might seem prejudiced to criticize your English, but it is the first thing people see about your writing, and because their time is limited, they will judge it on that basis. swombat has given a lot of his time to you - although it can be harsh to hear negative comments, this is valuable advice you have received. It might also seem that grammar and spelling etc are secondary, and shouldn't matter (I used to feel this), but they really do - if you want to communicate. Hell, even when I read my own writing months later, any spelling errors etc are very distracting, and if I haven't been clear it is hard for even me, the author, to understand.

I'm not sure of the best way for you to improve, but the first thing is for you to want to. The second thing is to get feedback - swombat has given you a start (and I agree with all his writing points). If you can handle it, seek out further feedback and criticism. If you are in school/uni, you can probably find someone there to help also. The third thing is to take action on it - such as rewriting this article with the errors corrected.

Finally, I wanted to fill out one of swombat's points: writing out an algorithm can be crucial. I just spent the last two months getting one clear (I did have a go at coding it directly earlier on, but it wasn't clear enough). Once I was clear, it just took a day (today) to design, code and debug. Now, this is unusual; I'm doing research on relationships between grammars for a startup. Mostly it's not needed, as swombat says. But after two months, I just wanted to speak up for one of those problems that is not in the "most" category (though I'm inclined to think that all problems are trivially easy once you know how to solve them; similar to how mathematician can only do "trivial" proofs.)

I actually think the ideas quoted above are actually good ones, if you're not clear on what you're doing (though annoyingly expressed). Exploratory programming is also helpful. I find it's a mix; it depends how complex the problem is, how many different issues there are - and crucially - how much experience you have with that kind of program. Familiar problems are easy to solve in your head or at the keyboard. I used to always work that way, until I got into grammar stuff.

BTW: if you purely compiled this, so it's not your writing, remember that as editor, it's even more important that you are able to write well, so as to improve - edit - the writing of others. Anyway, good luck, I think the article is hepful overall, good on you for actually doing something and having a go, and I hope you start to take this opportunity, of room for improvement.

10ren··on Ask HN: What is your new idea routine?
Just on not writing it down: it tends to concretize it, while mind-stuff is more fluid. I've found that if I capture an idea before it's formed, the essence can escape.
10ren··on What's frustrating with XML?
OK, thanks, I see what you mean.
10ren··on What's frustrating with XML?
I agree that the concept of namespaces is brilliant, but very difficult to read in practice. The rules around the different ways to specify namespaces also seem unnecessarily complicated - I always need to review the XML schema spec, and spend a bit of time on it.

I feel they should be as simple as (eg) Java packages; but the problem has different parameters in Java: there's less chance of collisions in Java, because you're just writing one module; whereas one XML document can merge different sources - it's as if arbitrary Java modules, written by unknown people, were combined into the one file.

10ren··on What's frustrating with XML?
Could you explain the arbitrary lookahead and backtracking please? I thought UPA (unambiguous particle attribution - or "deterministic" for DTDs) avoided the need for backtracking... Or is it to do with entity references? I've found it simple to write XML parsers, but that's for a common (defacto?) subset, not the full spec.
10ren··on What's frustrating with XML?
You make me wonder if the hate is partly due to XML being used in integration, and integration is difficult and problematic, and vulnerable to all kinds of communication problems.

And if JSON tends to be used where integration isn't very challenging (eg. you control both ends, and the data is fairly regular and simple; or one end is entirely determined by the other); that is, where schemas aren't needed.

10ren··on Gaming Foursquare with 9 lines of Perl
I sympathise, but I note that that wasn't the first thing foursquare did, and they've made a very popular service out of it, whereas you (I assume) and I have not.

When we don't have the resources to do absolutely everything perfectly, how do we decide what to spend our time on, to what standard - and what to let slide?

10ren··on Sometimes, The Better You Program, The Worse You Communicate
I've been writing up some of my research recently, and when I go back to it after a month, the examples are the most helpful part; second is psuedo-code. That's so far, anyway.

I'd actually gone to a lot of trouble to define input and outputs precisely (in set notation, using LaTeX), and defining explicit constraints/relations between them, and even outlining proofs. This was a lot of work, and the process did increase my clarity of understanding, but it hasn't helped me at all in reading it - in communicating to myself. I guess proofs are primarily about proving, not communicating. Another problem with proofs is that the best way to conceptualize/visualize an algorithm for the purpose of proving it may be quite different from the best way to grasp it intuitively. Proofs are not primarily operational.

Re: defining terms in the article: I think metaphors can act like definitions of terms, and are very helpful for communication. An apt metaphor can imply all kinds of behaviours and interactions that the reader already knows, enabling them to quickly grasp your meaning in a few words. I think it's arguable that our thinking is actually metaphorical, in that we interpret new ideas in terms of existing ideas; even to the point of tools being neurophysical extensions of our arms. The difficulty with apt metaphors is finding them; and before you can do that, you need a very clear understanding of what you mean. Improving my own understanding is probably the best way to improve my write up of it... though, writing it up definitely also helps improve my understanding, as implementing it also does.

---

So, an iterative back-and-force process between notes, writing, thinking and implementation is probably the most effective route to clearer understanding and therefore clearer writing.

10ren··on Smear campaign against Wikileaks begins
Wow, isn't a "70-year gagging order" the most explicit cover-up possible? I doubt that secretly classifying post-mortem examination reports is standard.
10ren··on Ultraviolet light reveals how ancient Greek statues really looked
I prefer the sketches of cartoons to the finished, painted product. Perhaps I appreciate the texture of shapes, or seeing how things are made, or their underlying structure; but successful cartoonists tend to go on to paint them. It may be to do with mainstream art (which ancient statues were in their time) tries to be as vibrant as possible, like commercial art today.
10ren··on Ray Kurzweil Responds to "Ray Kurzweil does not understand the brain"
I think there's an argument that DNA is more likely to lead to life (not intelligence) than an arbitrary coding scheme; that is, that with DNA it's easier to create life than you'd expect for a vanilla encoding scheme.

This assumes that during the billions of years on earth before DNA, lots of different chemicals came together, but if any self-replicating one came together, it would grow and still be around. Exceptions are if it wasn't very good at it and died out, or that DNA-based life attacked it or grew faster, crowding it and starving it (or bad luck wiped it out - but it could arise again.)

The fact that DNA did survive shows that DNA is indeed specially suited to encoding life. One might even try to estimate how specialized it is, by estimating how improbably it is, based on how long it took for a planet of experiments to arrive at it.

The details of how it's special could be in terms of protein folding, eg. that you can specify some really cool and useful folds, crucial for life, in surprisingly short DNA sequences. It's as if the search space of encoding schemes was scoured for schemes that in effect included a handy collection of library functions.

But this lovely (I think) argument doesn't apply to intelligence at all; nor even to mammals, or indeed animals - just for basic life. Once life existed, all the extra features were just hacked on.

10ren··on Ray Kurzweil Responds to "Ray Kurzweil does not understand the brain"
I'm writing this to try to clarify my understanding. I think this is the essence of Kurzeil's argument on estimating complexity:

Let's take the genome (DNA) as a program + data, and the phenome (the organism) as an output (and assume the mother is in adequate health, and development proceeds normally.) Then the number of different possible phenomes is limited to the number of different genomes (it could be fewer, if there are non-significant regions of the genome, because then more than one genomes could produce the same phenome. That is, the function G->P is not necessarily injective.)

While this doesn't directly describe the complexity of a phenome, the argument is that the complexity of a thing is no greater than the means of defining it, and that any additional complexity in the resulting thing must contain redundancies (perhaps very hidden) that can be eliminated. A simple case is a program to print hello 1000 times. The program is short, and though the output is long, it contains redundancies. What about from chaotic systems and fractals, or 'normal' numbers like pi, where great complexity arises from simple rules? The argument is that this is merely apparent complexity, and in reality contains great redundancy. Big output changes from small input changes doesn't disprove this; consider changing 1000 to 2000 in the above. While a particular sequence of pi digits, or a particular fractal frame, might seem complex, there is also the input to consider of the specification of that part (eg which digits) also takes information.

---

Here's the theoretical flaw: considering a genome as a program, what if the entire program isn't really listed in the genome, but it calls library functions? Obviously, it becomes much shorter, but we're not measuring the library code, so it's cheating. Or, what if the program is written in a highlevel language rather than a lowlevel one (like assembly) - this is equivalent, if you consider the syntax of the language as causing in function calls. Clearly, we still have the same mapping of program->results, and the number of different results is still limited, but those results are much more complex than the program; they programs don't represent the complexity of the output.

How does this apply to the development of a phenome from a genome? Does anything add information, like standard libraries? One might say that the mother is like a standard library - but little information seems to be input in this way (consider development of a chicken egg); and fundamentally, the mother is also a phenome that can be specified by the very genome in question: it's self-hosting.

Does protein folding add information? It is very complex, but is that just how it operates (the way that the implementation runs), or does it also add information to the output? Remarks on this seem to say only that it's complex and unknown and therefore hard to simulate. I'm talking about whether the complexity of action adds information to the output. If so, how much complexity? Is it significant, comparable to a standard library, or is it more like a trivial macro?

I don't know how much information is added to the phenome by protein folding; this is a question for the biologists. I think addressing it squaring in these terms would defuse much of the emotion in the discussion. But I'll guess:

If we assume protein folding is dictated by quite a long sequence (ie. it's not a context of one, like G->down, U->up, A->left, C->right, but a function of say 100s of bases -- and of course the fold direction is not always 90 degrees), then there is scope for an (almost) arbitrarily complex function, from sequence->fold. The complexity is limited by the input (number of bases involved) and output (the actual fold).

If we then assume that the shape of the protein is the crucial thing for its interaction with raw materials and other proteins (eg. as an enzyme), then complexity of protein folding does directly translate into complexity of results - even at this, the finest-grain level of operation.

Although protein folding potentially adds complexity, I find it hard to imagine that it would add information comparable to a standard library, such as, say 50 bases specifying an eye or a liver (which a standard library might do, like Python's SimpleHttpServer). That would be miraculous, if the laws of physics were so favourable to the particular needs of organisms (like a programming language that is customized to a particular application, as modern libraries contain code for TCP/IP and HTTP.) I find it easy to believe that it's more like the variation in syntax between (say) lisp, java and assembly.

So, I don't think protein folding adds much complexity to the result; it's more like a general purpose programming language than a set of specialized library functions (I think this question is the crucial issue in the debate.)

---

To conclude, I think the complexity of the genome does estimate the complexity of the phenome: I agree with Kurzeil that the brain is (roughly) as complex as the sections of the genome necessary for its development.

10ren··on Did Germany experience industrial boom in 19th c due to absence of copyright?
The US had lax copyright early on. It makes sense for a net importer of IP. It's a great way to catch up. But what about the originators of the industrial revolution? Would they have done even better without copyright? I don't know, but the industrial boom in Germany isn't evidence of it.

An interesting present day case is the ACM charging for academic papers. Some papers are available from the author's website for free, but some are not. Although the fee is affordable (around $20-30), do publications that are free lead to better propagation and thus more/better research?

I think it's very hard to judge this, because I think what happens in practice is that unknown academics give away their papers - it helps them to get known. Whereas the ones that you have to pay for are the massively famous ones with (eg) 700+ citations. Their knowledge is already out there in the community, and their reputation probably further promotes their research much more than the small fee retards it. In addition to this, you're probably better off reading a free review/summary/interpretation of the famous work than reading it in the original - so the ideas keep promulgating.

10ren··on OhLife: A Personal Journal You Might Actually Keep Updating
It's built-in; it's Javascript. In the spreadsheet, the script stuff is in the "tools" menu, and it opens a new window which has a menu for "triggers". The help is pretty excellent (reference and tutorials), but it doesn't cover Javascript's standard libraries, only google's special spreadsheet classes (BTW: there's some cool stuff in there for webserves, you can download URLs and parse XML.)

  function sendEmail() {
    var sheet = SpreadsheetApp.getActiveSheet();
    var numRows = sheet.getLastRow() -1;// don't count first row
    var selectedRow = Math.floor(Math.random() * numRows);
    var dataRange = sheet.getRange(selectedRow+2, 1, 1, 2);// from A2, 1 row, 2 cols
    var values = dataRange.getValues();
    var date = values[0][0];       // 1st row, 1st col
    var prev = values[0][1];       // 1st row, 2nd col

    var message = "<HTML><BODY>"
      + '<a href="'+yourFormURLhere+'">goto form</a>'
      + '<BR>'   
      + '<b>Oh snap! Remember this from '+date+'</b>'
      + '<BR>'   
      + '<textarea rows="20" cols="60" name="prev">'
      + prev
      + '</textarea>'
      + '<font size=1>RemainingDailyQuota: '+ MailApp.getRemainingDailyQuota() +'<font>'
      + "</HTML></BODY>"
    ;

    MailApp.sendEmail( yourAddressHere, "How did your day go?",
      "", {htmlBody: message});
  }
You get the yourFormURLhere from the form editor. The daily quota is 500 emails.

Protip: It turns out 8pm is not a good time for the trigger to send it, for you to record the day's events, if you keep odd hours like me and get up at 9pm sometimes...

EDIT the http://OhLife.com selection of the previous entry is more useful: they first choose whether it will be "one month ago" or "one week ago" etc, then work out that date, and then get the entry from that date (or I guess the next one if blank). It might turn out that for a particular person that always being reminded of "this time last week" is a very effective context (or some mix of them). Bonus: it's trivial to then describe the entry with that string, which is much more natural than some timedate format.

10ren··on Counting Wal-Mart cars to forecast earnings
When American Express was indirectly involved in fraud (salad oil IIRC), the stock tanked, because analysts sensibly realized that this public litigation would shake consumer confidence in them - arguably, trust is the very thing that a credit card company sells. But Warren Buffett went down to the supermarket to observe what consumers were actually doing - and saw that they were using them as normal. So he put in most (IIRC) of his wealth into it and more than doubled it (IIRC).

This satellite imagery analysis is doing quantitatively what he did qualitatively.

10ren··on Ray Kurzweil does not understand the brain
"Finite" would probably have been a better choice.

I have a micro SD card, smaller than my little-finger nail that holds 4GB - x8 more than the human genome (using the article's figure of 4 billion bits). And that's pretty much the lowest capacity you can buy. Yet, that amount of information is limited/finite: the possible states that that memory can hold is limited/finite.

BTW: I found the absurdist levity in the top 10 comments or so of reddit version of this thread a welcome relief - and also some penetrating insights, concisely put: http://www.reddit.com/r/science/comments/d24c8/ray_kurzweil_...

10ren··on OhLife: A Personal Journal You Might Actually Keep Updating
Got the basics working.

Made a spreadsheet. Made a google form ("how has your day been?" + a text area) - they automatically add their fields to the spreadsheet. Wrote a short script that selects a random row at random, and emails it to me + a link to the form. Added a trigger that runs that script at 8pm-9pm daily. [if anyone wants the script, I'll post it - please improve it!]

Some flaws: 1. I couldn't work out how to automatically embed a form in the email directly, neither using their embed code (an <iframe>) - it works if they email it to you (which you need to trigger manually), but also gives a warning "you are leaving this page"; 2. also couldn't work out how to initialize the form with the random previous entry (a blog post said you could, but that was in 2008) nor 2. writing my own form (need an URL for the action: seems you need a form key, which you can't get, for security reasons(?))

Boy browser programming sure is frustrating: browser locked up twice had to set it all up again; 7 sec load time for pages; weird cursor movement for editing (and also not vim); along with the above limitation. Though it probably doesn't help that I don't know what I'm doing :-)

10ren··on OhLife: A Personal Journal You Might Actually Keep Updating
Assuming you've gmailed personal messages (and therefore trust google enough), you could set up google calendar to email you daily.

Of course without the random previous entry. Maybe with google documents there's a way to do that too.

EDIT google word doesn't have scripting, but their spreadsheet does. Their automated forms is a tiny bit like what's needed [you can enter info & it's stored], but it's not emailed, and can't be configured with a random entry. Now that I think about it, MS Word disabled automated emails (due to spammers using it), so maybe google has too. But there seems no harm in allowing it to only the one verified & linked gmail address for the account. (Otherwise there may be a niche here).

Checking google spreadsheets, and you can email from it. Just tested, it works. There's a time-based "trigger". You should be able to email a form, in a htmlBody, and store the results so you can include a previous entry.

The scripting tool and documentation are excellent.

10ren··on Ray Kurzweil does not understand the brain
The "simulate at reduced speed" theory appeals to me, but I think the actual numbers make it implausible. Assuming Moore's Law, 30 years is a 1,000,000 speed up, plus let's say 4.5 years for 3 more doublings, giving us 8,000,000. To simulate 1 second would take 3 months. Debugging would be frustrating. (assuming 35 years from now; seems an arbitrary figure.)
10ren··on Ray Kurzweil does not understand the brain
So it's a bit like a program, with sequences also selecting a different Turing machine? (which determines how that subsequence is interpreted.)

Because the Turing machine is selected entirely by the sequence (the protein folding caused by the laws of physics is selected entirely by the sequence), the number of possible results (the number of different shapes that could result) is limited to the number of different sequences. That is, the information in the phenome seems to be limited by the information in the genome.

If you think of it as a two part message, with the first part encoding a model, and the second part configuring it, then the DNA can be seen as the configuration, and the laws of physics as the model (which isn't actually coded anywhere like DNA - we'd have to write that ourselves.)

This model is constant over all life, so that DNA from all species (plants and animals) share the same "model" (laws of physics that cause protein folding etc.)

Another example of a two-part message is that the first part is a programming language, and the second part is a program written in that language. For a high level language (esp with libraries), it's obvious that a very short program might do an awful lot; but the true information content is not that program alone, but the total including the language and libraries it uses.

However, and this is my point, I don't believe that the laws of physics have been constructed so conveniently that provide as much assistance as a high level language with libraries. At most, nature may have stumbled onto hacks in physics (like surface tension, interfaces and gradients) and exploited them. Actually, given how long it took to get life started, perhaps it had to find a whole bunch of clever hacks (randomly recombining for billions of years over a whole planet) before it came up with a workable model (that is the model that DNA configure.)

hmmm... we might be able to estimate the information content of the 'model' by how many tries it took to come across it.

10ren··on Ray Kurzweil does not understand the brain
Actually, we're not in agreement.

> vastly underestimating the amount of state that is associated with the exact details of a developing organism.

Sir, kindly indicate where Myers makes that point. I read him as going straight into protein folding, and the complex interactions required for the expression of the genome. (I believe you agree that state in the environment that is caused by the expression of the DNA is not information originating in the environment - ie that this is merely magnifying information, as you put it.)

While there is an incredible amount of state created, in the from of gradients and so on, this is directed by the genome...

Or maybe this is our basic disagreement: do you think that an image of a mandelbrot set creates information as it is generated (and that pi creates information as each digit is calculated), or do you think that the information is defined within the algorithm that calculates it? [there are other issues, but just taking this one alone]

So I'm not 100% sure what you mean; please clarify if I understand you correctly.

While there's information in the environment, there's not very much: consider the white and yoke of a chicken egg. Like letters etched in metal with acid, most of the information is in the placement of the letters; the exact nature of the chemical reaction contributes a very small amount of information. Can you indicate why you think there is a great deal of information originating in the environment?

Yes, the heath of the mother can have an effect, but that's if she is unhealthy, and development does not proceed normally. Assuming she's healthy, the specific condition of the mother doesn't determine whether or not a human being is created. Are you suggesting otherwise?

10ren··on You’re a developer, so why do you work for someone else?
I think the hard thing about the multi-billion dollar exit isn't the extra work needed, but the probability of it working out. Maybe one estimate of the odds is how many projects are started, verses how many cash out (this should include projects that are abandoned even after only a few weeks, if they would have continued had they got a little traction.) Massive survivorship bias, when only the huge payouts are publicized.

I don't think the initial founder/s necessarily must have the right skillset, but someone, sometime must come on board with that skillset. Rather tragically, these people seem to quite often eject the founders. One book ("Crossing the Chasm") even claims that the initial founders don't deserve the big pay-out because they don't have the skillset (and they're more interested in making cool stuff and being their own boss than in making money). Ugh.

To be captain of your soul, master of your destiny is worth more than all the riches and fame in the world - they merely tighten the shackles of the worldly and the opinions of others, not freedom of any kind, only dominance (says me, sans riches and fame. actually, I think it would be great fun).

BTW your 98th percentile puts you squarely in the "smarter than average, but not a genius" camp, which is where I am, and where I think most entrepreneurs are. In business, extremely high intelligence seems to be liability. I think what really counts is something like boldness + quick recovery. I could certainly do with some more of that.

I agree with you about MySpace etc, it's too unpredictable; too easy to switch (mind you, I said that about Google too; I thought their massive PR efforts was one of their few competitive advantages, I wonder if they've become complacent recently.)

> MySpace employs 1,000 employees, after laying off 30 percent of its workforce in June 2009

> By late 2007 into 2008, Myspace was considered the leading social networking site, and consistently beat out main competitor Facebook in traffic. When Facebook launched new features in an effort to attract a variety of users, Myspace found itself in a continuing decline of membership. As of July 2010, the site was ranked 25th in Internet traffic,[3] opposed to the 2nd position held by Facebook. http://en.wikipedia.org/wiki/MySpace

Kids love cool stuff, which means they switch all the time. Maybe the sustainable business model is a business that generates (or promotes) social sites? (analogous to music publishers always touting the next cool band - most bands have limited lifespan, but the publishers live on)

10ren··on Ray Kurzweil does not understand the brain
Looks like I placed too much weight on your parenthetical "and themselves"

> interactions between cell types and their environment (and themselves) is a giant information content multiplier

and we're actually in agreement; my first comment included:

> I'm not so sure about the simulation

> The only other source of information is the non-genomic environment - extra-nucleur DNA like mitochondria, and the womb (which is arguably already specified in the genome, unless mother nature has done a Ken Thompson http://cm.bell-labs.com/who/ken/trust.html at some point.)

10ren··on Ray Kurzweil does not understand the brain
Environment being another source of information was mentioned (in my 2nd paragraph), but interactions that are determined by their starting points don't add information - even if the result looks more complex. This idea (and the comment about the mandlebrot set) is similar to "pi holding all the information in the world" (assuming it's normal, meaning not repeating/regular) http://news.ycombinator.com/item?id=1567225

Whereas the training data for a neural net is extra information - but in utero, what is the training data that is not a predictable consequence of the genome? (ex utero there might be an argument, since humans not exposed to language don't develop it; although a group of isolated humans have developed language spontaneously - complex grammatical structures, the whole bit - which makes sense, given the variety of human languages. This supports the idea that language is genetic, or as Pinker provocatively describes it, the language instinct).

EDIT here's a thought experiment to illustrate why predictable interactions don't add information: taking the figure of six billion bits for the whole human genome, this means it can specify 2^6,000,000,000 different genomes (a lot). You can imagine changing one single bit, and all those complex interactions leading to a slightly different human phenome. Most of the possible phenomes wouldn't be a living human, or even anything recognizably human (or living). But the crucial point is that you simply can't specify any other phenomes (apart from those 2^6,000,000,000). You've changed all the bits - what else is there left to change within the genome?

10ren··on Ask HN: anyone doing a start-up, but have a non-technical full-time job?
I think it's unusual, but if your startup is in the same field as your non-tech nursing job, you have the fantastic advantage of domain knowledge - you actually know the problems and frustrations of the field; and you can also speak its language so you can communicate with people in it.
10ren··on Ray Kurzweil does not understand the brain
I'm not so sure about the simulation, but Ray's right that the brain cannot be more complex than the data that specifies it, speaking information-theoretically. A biologist probably wouldn't get this, because he has too much knowledge of how difficult and complex the actual translation is. It's a mathematical idea, like non-constructive proofs, which freak out sensible folk - and rightfully so. (EDIT no offence intended, they freak me out too)

The only other source of information is the non-genomic environment - extra-nucleur DNA like mitochondria, and the womb (which is arguably already specified in the genome, unless mother nature has done a Ken Thompson http://cm.bell-labs.com/who/ken/trust.html at some point.)

But it's weird to claim that 50% of our genome encodes the brain. Really? Perhaps it's just that 50% is required by the brain, much of it being foundational to the whole organism (like standard libraries.)

10ren··on You’re a developer, so why do you work for someone else?
I didn't mean that definition of "fail", but I guess I was cheating a bit with the "creating something useful", in that I was assuming that you already know what would be useful - whereas that is often the difficult part.

In my defence, I say that finding something to create that is useful enough to give a modest one-man income, is a lot easier than finding one giving a multi-billion dollar payout. The main way to make it easier is to specialize: a niche that is complex enough to require a lot of work, yet small enough to not be worth >1 person's time to serve. From there, you can grow to other segments if you want, or just enjoy your little place in the world. The key is to know about those specific problems, so it's invaluable to have worked/studied/played in a field. Hence the saying a problem is an opportunity.

Of course, we all have different motivations/passions and abilities, and that influences what niche will be doable and satisfying for each individual. Currently, I have a technical/academic idea about data integration and evolution that I really want to make work, which isn't specific to any industry (except the data integration and evolution industry, I guess). My last idea was about a specific problem I encountered in industry, and that was much easier to create and sell. Much easier.

10ren··on You’re a developer, so why do you work for someone else?
I see what you mean about that being a lottery. I guess the amount of money made does have a lottery aspect. But it still seems reasonable to me that one man can generate one man's worth of value, whether employed or independent. But whether one man can generate 10... 10,000... or 10,000,000 man worths is more of a lottery.

The doesn't matter was paraphrasing a passage within a speech by Winston Churchill (which I got wrong), which ends: Let us therefore brace ourselves to our duties, and so bear ourselves that if the British Empire and its Commonwealth last for a thousand years, men will still say, 'This was their finest hour.' http://en.wikisource.org/wiki/Their_Finest_Hour

10ren··on You’re a developer, so why do you work for someone else?
> why the hell are you playing?

If you build something that solves a problem that people have (ie. is useful), and you arrange for people get to know about it somehow, then I think you can't help but be successful. But "successful" might not be a goldmine/lottery; it just might be making an adequate living, in a lifestyle business - like a fish n chip shop (as DHH denigrates). I think it's actually quite hard to fail at this, if you are aiming at creating something useful + communicating it.

You might see this as being an independent software vendor where the total value you produce is comparable to an ordinary employee - except that you are free to formulate your own projects etc (which has +'s and -'s.)

Another aspect is that if you create something useful... that's amazingly cool and valuable in itself. As for the lottery, win or lose, doesn't matter.

← PreviousPage 6 of 34Next →