4,550 karma · joined January 27, 2009
Even the stereotypical "impractical" research algorithms (with efficient complexity but huge constants) are implemented. That's the magic of computer science, that you can breath life into abstract ideas. But if you cannot implement it at all, there are millions of other cool ideas that you can implement, so you may gravitate towards them. (another argument is that if you can't implement it, it's classed as pure maths. And if you can't prove it, or define it clearly as a conjecture, I'm not sure what it is or what you could do with it - perhaps futurism/science fiction, which has its place.)
The value of implementation is due to computer science ideas tending to be complex and abstract - but once you have an actual concrete working model that you can play with, they can become almost trivial to understand. And so, comparatively, more progress in research is made based on working code than on purely theoretical ideas. It's so much easier to find mistakes in an idea if you can build it. And once your theory is embodied in living, working code, it's tremendously easier to reason from that as a base; much as it is easier to see what is over the next hill after climbing it.
Hardware is closer to your idea of incentive: the inventor of the Wallace tree multiplier told me that it was a simple and obvious idea, but it wasted a lot of silicon; and no one entertained that kind of waste. It simply wasn't conceivable. Perhaps this is due to the incredible rate of improvement in silicon (Moore's Law), so that it's psychological difficult to appreciate (or even believe) that your iPhone will be 1000 times faster in 15 years; or what changes that even means for algorithms. Perhaps the most basic assumptions of the algorithm changes? When x10 quantitative improvement often translates into a qualitative improvement, what does a x1000 change mean? Too hard to predict.
That warehousing system sounds like GPS car navigation systems - but this is still amplification (so far), and I doubt it can or will be extended.
I saw a reddit post about how army life can be very appealing, because of the "clear purpose in life": the matter at hand is urgent, so you don't worry about any other problems in your life, and the bigger picture is taken care of by the higher-ups.
aside: I think the ideal life, as organized by a super-brain/demigod (or, from a different point of view, what heaven would be like), would be still have ups an downs (as in the earlier matrixes/ices, people rejecting utopia), but these ups and downs would be more clearly meaningful to the person, like a composed heroic journey, without the meaningless clutter. For people who had grown more, it would include the meaningless clutter, so that part of the "ups and downs" would be to discern the meaning. ie. living in heaven would be indistinguishable from on earth.
For example, issues about cooking, while cooking. Something like a (waterproof) iPad might be one factor in the solution, perhaps with (excellent) voice recognition.
But another problem is that, when I have searched on question like this, the answers are often not there, or buried amongst a lot of inaccurate/unhelpful answers to the question - and it ends up taking an hour, and not actually answering the question. eg. how to stop a rice cooker burning the rice (ans didn't come from google: leave it 15mins after it's cooked + cook a larger amount).
But seriously, I think he's just imagining something like a butler, who anticipates your information needs, or at least your context and where you're coming from. It's a kind of AI, as he says, moving toward do what I mean.
Unfortunately, these Frankensteinian quests have always ended up closer to Office Assistant Clippy, in practice. Historically, mental amplification has been a more fruitful approach, where the user remains in control.
However, I would recommend chapter 2, which builds a complete compiler for a very simple language (arithmetic expressions). In the first edition, that did it in C, and it's very simple and clear. In the second edition, they did it in Java, and making it object-oriented makes it much less clear. I therefore recommend the 1st ed (plus, the hand-drawn dragon on the cover looks much better than the purple cgi dragon on the 2nd ed.)
Sun in fact did litigate over Java, as the article offhandedly mentions, though the motivation there was that MS different version was fragmenting the language, and undermining the compatibility of "write once, run anywhere".
I agree with the article that even a few billion in damages isn't worth it to Oracle. There must be some strategic advantage, quite possibly in some negotiations with Google that we haven't heard about (and perhaps will never hear about).
The point made about the mobile revolution is the right kind of path; another revolution in progress is the cloud. There is definite overlap between Google and Oracle in the cloud, with Google's technology expertise, and it being used by the enterprise - that's probably what Oracle hopes to gain.
Sadly, many studies have shown that a surprisingly high percentage of children are not the biological children of their fathers. IIRC, around 5%. And it's well known that many high-profile/successful men have many affairs.
This is fits in with evolutionary pressures.
I think this is unbelievably cool and clever - but I also really don't like it.
It was a great idea, original and effective, though I'm not how to feel about their patenting it. If they hadn't, they would have been copied and crushed without credit. http://en.wikipedia.org/wiki/Goto.com#Origins_of_Goto.com
As it was, they got 2.7 million shares from Google's infringement, and later acquired by Yahoo for $1.63 billion.
Simply being physically active goes a long way to solving everyday psychopathologies, like mild anxiety or depression; and is a curative factor in extremely serious mental illness, like the schizophrenia you mention. Exercise is often part of the answer.
Going for a walk does wonders for my state of mind.
The front page is a bit split-personality: you have the idea of data mining; and the idea of sharing data sets. I think you should pick one to be the dominant focus, with other one present as an aside. It might make sense to focus on producers at the beginning ("scrape data and share it"), and once you've built up datasets, switch the emphasis to consumers ("wikipedia of datasets"). Maybe it's worthwhile to check how similar producer-consumer websites did it at the beginning: wikipedia, youtube, flickr.
BTW: What do you think of an interface like excel has for web-scraping: it displays the webpage, and you select the bit you want visually (no coding, not even html)?
Therefore, I suggest the opposite: automatic reposting - but only for those "great" articles, in the "HN library" (membership being defined by a special-case vote - i.e. vote for this article to be in the library). These would be reposted on a 6 month cycle, and include the old comments. Biannual resurrection. And to be marked as "library", so you can skip if you want.
But this won't happen, because the existing "bug" already does it (if people vote it up, it was a reasonable repost; the present repost checker act as a low barrier). And pg advocates iteration only for things needed.
This is probably acting as a proxy for growth in programming jobs and IT in general.
This is because when new legislation is introduced, the first thing that any discussion of it does is to consider what the law was 200 years ago. New laws are mostly tweaks on existing laws (including case law), and will be interpreted as such by the courts. Even entirely new laws are interpreted in terms of existing laws. Of course, there are some new laws and new cases to keep up to date with.
But compare this with programming, where most successful practitioners didn't have or need any idea of previous languages or approaches. Which is probably one of the reasons that software is reinvented every decade or so. Law is not.
Sadly, there's nothing exciting about it, as the interesting sequences occur very sparsely, just as the vast majority of bit sequences (out of all those possible) represent uninteresting digital photographs.
(Unhelpfully) I think every website could benefit from it. Probably emergent and fast-moving markets would benefit most (because they don't yet know their competitors/complements + it's all changing very fast anyway). A very specific start would be... y-combinator offerings (that have just launched - not the established onces); for fun, you could also do it for emerging languages (like Mirah). These aren't ideal biz markets, but they would gain attention here on HN, and might validate the basic idea (to see if it's possible.) For example, if you were able to find a competitor to a YC company that they didn't know about, it would be pretty compelling evidence (and will surely happen, since startups rarely look very closely for competitors; they are too busy doing. Which is a good thing. Knowing about competitors too early can be artificially discouraging. So this is probably most helpful for companies that already have enough traction that they wouldn't be discouraged. Competitors are good for giving you ideas; for demonstrating market existence (good for raising funds...); for suggesting markets you hadn't thought of. Complements are always good.
Perhaps also, companies that are always launching new products might appreciate it: eg Proctor and Gamble (though in their market, there are only a few competitors and they are well-known...). It might help in industries that are often disrupted - ie high-tech industries. Examples might be the established competitors of YC companies. If you could demonstrate legitimacy, big enterprise might pay a lot (perhaps equivalent to how much it would cost to hire someone to do the same work manually). You can be an arms dealer, and sell to both sides. :-) That's the nature of competition.
EDIT http://www.mirah.org hasn't got results yet. JRuby's competitors are: Groovy and http://rjb.rubyforge.org... There's a japanese (I think) news site. That might be helpful, if you can detect similarities across languages...
Anyway, what I'm getting at is that monitoring competitor popularity would be a valuable service (including an early warning system for detecting emerging competitors.) I think many of us do this every so often manually; and/or have google alerts set up for it. But a service that just does this would broaden the appeal - especially if you could somehow show that your estimates are more accurate... I have no idea of how you could do this... I guess you'd need a genuinely accurate measure, and then compare yours and manual searches with it. But if you could demonstrate that credibly and compellingly, it'd be gold.
I don't think you need to censor or sniff to do this.
The only think I'd say is to make the "update" button more prominent (eg add another one beneath the "searching for tags" sliders). A few times I wondered why it was not updating the results, and had to hunt around for it. Maybe some people, at the margin in terms of interest, would give up on it because of this.
It would be nice if there was some natural way for the results to update without specifically requesting it - eg. like how the "moreofit" links work. The way google does it in "search tools" for time choice is interesting: it provides typical defaults, that are linked (eg. Past 24 hours,Past week etc). I've always used it by just clicking on one of them, so the issue of "updating" doesn't occur. [reminiscent of 37signals' defaults]. Perhaps the truth is that while someone might theoretically want the results from the past 22 hours, in practice no-one ever does. Thus, the defaults are adequate. For your importance sliders, I guess this could be done with two links "important" vs "secondary" for each slider.
Of course, sometimes you want to assemble a search, and only then execute it (not have it update after every single term is added). For this, the standard practice seems to be to have a "search" button directly underneath however the search is configured (eg this what google search does for "custom range", for time, in web tools). So this would mean adding a "search" button beneath the sliders (not labeled "update", even though that is also an accurate description - I guess, maybeuse "moreofit", if you want to promote the brand at possible expense of usability).
tl;dr add a "search" button beneath the "searching for tags" sliders.
Does Spin address this issue?
I'm very glad to see him looking happy.
Love his geek answer to "what's your favourite movie?". Why don't normal people react better to answers like that?
Perhaps the love for him is because, for anyone who is even the least little bit weird perhaps in secret, Stallman is a shining beacon of weirdness. More power to him!
A question is usually about how to do something to something - ie. the stress is on a verb. It helps to understand what that really means by defining what it is about - ie. the nouns. Defining the nouns is usually pretty straightforward, and often reveals what it is that has made the problem difficult to think about. For me, the nouns are often an input data structure (eg. a grammar + constraints), and an output data structure (eg. another grammar, or a particular function with certain qualities).
I tend towards being anti-functional programming, but I have to admit this is pretty much a declarative, mathematical, functional approach. It even feels functional, in that you end up creating new "variables" for new states (ie. immutable not variable), and although there's an explosion of names, things become very clear to express when you have a convenient and precise name for everything (ie. every noun).
- Sleep 2 hours extra.
- Find a purpose that means something to you (not success/cool/clever).
The as-perspective-as-possible transitions could be a lot smoother, but I guess they wanted to minimize the processing power needed, so it can run in-browser etc.
You sound desperate. If you are, I have a suggestion that will help. But you'll only be able to do it if you are desperate:
Set doable goals, do them, and celebrate them.
1. Start off with clearly doable goals - no challenging or stretch goals! A good guide is to estimate what you think you can do, then halve it. [note: if it turns out that you can't do it, it was not a "doable goal" - start again with an easier one] To give you an idea of just how easy I mean, an example is: to make a mark on a piece of paper.
2. Doing them means to remain focussed on them. No moving the goal posts! Don't be distracted by other tasks; nor by thoughts of whether you can do it or not, nor by whether it's too easy etc. The way to prevent distractions is as in meditation: acknowledge them without anger nor fighting them, and gently shifting your attention back to the here and now.
3. celebration means something very specific: you recall (visualize) the state of events before you began; and then you compare the visualization with how things are now. And you notice that there is a difference - a change in the world - that is entirely due to your power.
The key is self-appreciation. You thought I was melodramatic when I said you can only do this if you're desperate? No. Setting a reasonable goal, doing it, and celebrating it is really that hard. It requires a particular kind of self-discipline that (according to your post) you presently don't exercise. You can improve at this - if you're desperate enough.
every great achievement is made up of a number of small achievements
The cure reminds me of what Fred Brooks said in The Mythical Man-Month after 20 years, at p.258-9 (MM-M, 2nd ed.) about defining the user set (ie. who the users are), as a population assessed along several attributes, with a frequency distribution over each (my eg. how much RAM they have; their largest file - but the most interesting ones are app-specific). He says you should GUESS the set of attributes and distributions:
1. you will think about it carefully;
2. they will be debated by the team, revealing differences in how each member sees the user set;
3. it "helps everyone recognize which decisions depend upon which user set properties. Even this sort of informal sensitivity analysis is valuable. When it develops that very important decisions are hinging on some particular guess, then it is worth the cost to establish better estimates for that value."
He summarizes: "It is far better to be explicit and wrong than to be vague"
Here's poetry and stories of edgar allan poe (fulltext): http://poestories.com/index.php May it get us, too, out of ourselves.