Who Wants Parallel Computers? - <AUTHOR> http://rjlipton.wordpress.com/2010/11/21/who-wants-parallel-computers/

<comment><USER2> I've done research in writing tools to make parallel machines easier to use for non-(computer specialist)s. The consensus is still, largely, that you can't do it. There are special cases, and there is library code, but for most people, they haven't a clue how to write code that can run reliably on multiple processor systems.

I think almost everyone involved in the industry knows that we want faster uni-processors, and that we don't want multi-core machines. We're pretty sure that some problems that do have fast serial algorithms don't have efficient parallel algorithms (this is akin to P vs NP type questions, and is beyond my current knowledge) and these problems are stalled at uni-processor speeds.

Research continues, progress is made, and most people don't care because most people just write emails, use facebook and browse the web. Heavy computing with parallel or multi-processor machines is hard in general, and that's not changing fast.

I don't expect it to. People will simply have to learn how to devise parallel algorithms, and write good, parallel code.

<comment><USER3> I'm not so sure that multicore programming will be the future.

In the last couple of years, we have seen the rise of the netbook, the smartphone, and languages like Python and Ruby. Each of these are, apparently, "fast enough" to be highly succesful.

Applications are also changing: casual games, Farmville and even World of Warcraft have very modest system requirements but make a ton of money. Web applications are _awful_ from a performance perspective: they are crippled by network latency and need a single server to do the work for many people. Still, they are "the modern way" to write an application. Again, the performance is "good enough".

Finally, even when performance _is_ needed, there are different models for parallel programming than multicore. GPUs are very fast data-parallel "single core"-like devices. At the other end of the spectrum, real-world "web scale" systems scale horizontally and are thereby forced to adopt a multi-process model.

Yes, our OSes should be written for multicore, the newest Doom/Quake should be written for multicore, and our numerical models should be at least aware of multicore; but despite the fact that the C programmer in me will likely be happier in your multicore world than in the world I sketch above, I think most programmers will live in the latter.

<comment><USER4> _GPUs are very fast data-parallel "single core"-like devices._

I don't think that's accurate - being "single core"-like. Besides literally having multiple execution cores, GPUs are radically data-parallel in ways that even those already familiar with data-parallel code (using languages such as OpenMP) must still adapt their thinking. Code that extracts high performance out of GPUs must be aware of the memory hierarchy and degree of parallelism - you can't pretend you're doing sequential programming.

<comment><USER3> It's definitely not your old CPU - but it's a _very_ different model from the threaded programming common with multi-core programs.

But I agree, "single core" isn't really true.

</comment></comment></comment></comment><comment><USER4> _Essentially he was explaining the physics behind the collapse of Moore's Law and the rise of many-core systems._

Moore's Law still holds; it is about the number of transistors on a chip, not processor frequency. The problem is that the way that we achieved better performance for a long time was to increase sequential performance, which meant: higher clock frequency, larger caches, longer and more elaborate instruction pipelines to extract instruction level parallelism. _That's_ what is breaking down, not Moore's Law.

That we're now exploring multicore design is _because_ of Moore's Law: our old approaches for improving performance no longer work, but we're still getting more transistors to work with.

</comment><comment><USER5> I'm a little confused about what point the article is trying to make. I don't think that the many-core folks have ever said that they're building many-core because people want it; I've consistently heard that it's because of Moore's Law collapse, as admitted in the article.

If it were economical to produce faster uniprocessors instead, you can bet that chip companies would do it, because they'd make more money that way.

<comment><USER6> Reminding us that parallelism is not our original goal is just the prelude to casting doubt on the inevitability of the breakdown of Moore's law for unicore processing. That's how I interpret the article.

</comment></comment><comment><USER7> Doubling the clock rate without also doubling memory bandwidth and halving latency is likely to bring less than a 71% speedup on that chess program.

</comment><comment><USER8> I think a major problem there are many parallel-programming models , which either do not make big news outside the academic world, or are deemed not suitable for industry(CUDA folks- not talking about you!).

Like Matt Welsh(the Harvard prof who left for Google) mentioned on his blog recently.. how many people risk running OpenMP in production, and watch some nodes fail..

Even the "Big" guys (Google,Facebook) seem to be risk-aversed to thread-level parallelism to earn their bread -BigTable,Hadoop,Cassandra are centered on multi- process architecture.. and basically built for horizontal scaling- add more nodes,assume they fail.

Where is this push towards parallel machines coming from? Not really from consumer web - Or any consumer oriented service that an entrepreneur can gain value, by utilizing multi-processor systems.

It's the organizations with big bucks that call the shots, or drive innovation. Like NCEP/NOAA in weather prediction. Not the guy who moves to the Bay area who wants to hack something, get traction in user base, get funding,and finally mint money :-)

The demand for writing consumer facing software for multi-processor systems is simply too less now.

</comment><comment><USER9> I want parallel computers, a lot of them!

Brains are big parallel machines and it seems inevitable that computers also follow the path to massive parallelism that evolution took long ago.

<comment><USER3> Why? Both the hardware and the "programming" seems quite different.

<comment><USER9> One simple answer: scalablity.</comment></comment></comment>


Ethereum hard fork successful with mining majority - <AUTHOR> http://fork.ethstats.net/ <comment><USER3> Looking in from the outside as someone with no involvement with Ethereum, I really don't understand how the people behind it can justify using their privileged position as developers and community leaders to try to undo this. They spent a lot of time talking about how "the code is the contract"... until they stood to be negatively impacted on a personal level by allowing the literal meaning of the code to stand. I'm not sure how anyone could have any confidence in this system after that.

<comment><USER4> _Disclaimer: I don 't really have much of a stake in ethereum, although I made some money off of it during the craziness last month (I cashed out when early warnings about the DAO hit hn, and bough back in when it was at the bottom, and cashed out again)_

> I'm not sure how anyone could have any confidence in this system after that.

I think the situation is the opposite. After the DAO there were broad calls criticising the lack of leadership, criticism about decentralized/consensus decisionmaking, and comparisons with the broader economy and how the Fed can orchestrate a bailout (and why that's better - in the eyes of the critics). In a way, through consensus with this hard fork the Ethereum stakeholders squared the circle - orchestrating a bailout with majority assent (and if anyone didn't like it they were free to leave). I'm not going to pass judgement on whether or not that is a good precedent to set (or whether a turing complete blockchain - or the EVM implementation in particular - is a good idea in the long-term), but if anything the decisiveness of action should give _more_ confidence in the short-term.

<comment><USER5> So the interesting thing here is the "majority assent" phrase. All the polls I saw included < 15% of Ethereum stakeholders / hashing power. Some included < 5%, but were taking by many (who already had a chosen outcome in mind) as definitive proof of community preference.

Really this shows that a small group of people plus a core team already leaning in one direction are probably enough to fork the network.

<comment><USER4> that's fine. Those figures just say that many people are ok with whatever. Ultimately: If you don't like it, then you can leave. And if you aren't paying attention, then, well, you obviously don't care enough about that asset.

<comment><USER5> There we go, just wanted you to backpeddle on this "majority" thing.

<comment><USER6> As the parent poster said, there _was_ a majority consent. Much more than 50% considered that this was okay, they also "joined the fork", so the things that these <15% did were done with majority not objecting.

And also it's quite plausible that if the same number of people, the same people would implement a technically identical hard fork with the same process but with a different "socioeconomic" result and justification, _then_ they wouldn't have gotten the same majority consent that they did in this case.

</comment></comment></comment></comment></comment></comment><comment><USER7> I am surprised how so many seem to think this is a bad thing. Ethereum is very nascent, and this was how the community wanted to fix this issue. It was not just about returning DTH, it was about the implications of the allocation of the DTH in the hands of one individual when Ethereum moves to PoS.

Obviously the HF isn't ideal, but not forking was potentially much worse. This settles the issue, and allows people to get back to work.

Hard forks will become less viable as a solution the larger the network gets, and as more interests are involved. However, blockchains are consensus mechanisms. Anyone can propose a hard fork update at any time.

Here is something to consider: as more than 80% of Bitcoin's hash power is in the hands of a few Chinese companies, the CCP could very realistically enforce a Bitcoin hard fork.

<comment><USER8> "Anyone can proposed a hard fork update at any time."

So there is no difference between me and the core developers?

<comment><USER7> Of course there is. However, as Bitcoin Classic may illustrate, it is possible to leave the core developers working on a defunct chain.

Core developers represent a double-edged sword. They are critical for getting the network adopted, and for adapting the network to new demands, but they can also be a risk due to their influence. By all accounts, the Ethereum core developers have been open and responsive. Not all Ethereum devs wanted this fork. I do think they could be faulted for not strongly advising Slock.it to cap The DAO. That may be one reason why they were amenable to a refund solution.

You definitely should consider the core devs when investing time and money in a blockchain. They have an inertia that influences the system.

</comment></comment></comment><comment><USER9> To me, I think this represents a failure of the currency. Either the code is the final word on the contract or not. This process seems to give a cartel of people the power to revoke transactions on a whim. Who would commit to building anything in an environment like that?

<comment><USER10> That description fits current banking systems just as much.

<comment><USER11> Except, uh, no. Almost everywhere, there is a ton of legal (and other) recourse, as well as a theoretically neutral arbiter who will listen to you and make a decision. There is some due process. You can argue about the neutrality, the laws, whatever. There's something, and it's recourse for plenty of people/etc.

Here, if all your neighbors get together and want to steal your money, they can steal your money, and you have no recourse.

<comment><USER12> > Here, if all your neighbors get together and want to steal your money, they > can steal your money, and you have no recourse

And this was always possible even before the hard fork. The difference now is that there is an actual precedent for it and apparently at least 51% of Ethereum stakeholders are okay with doing that sort of thing. Anyone actually holding a significant amount of Ethereum should seriously question the original claims that the Ethereum team made on its value.

</comment></comment></comment></comment><comment><USER13> There's an interesting parallel between the arguments being made here and the argument that Schnier made against government controlled backdoors.

Even if we suppose that only reasonable warrants would be granted for the use of such a backdoor, the backdoor is software, and does exactly what it's programmed to do - as anyone whose written software knows, this is sometimes not the same as what it's supposed to do. This means that bad guys can readily exploit any backdoor. A human would reject such accesses as obviously unwarranted, but a computer doing exactly what it's programmed to do won't.

Similarly, in Ethereum, a contract does exactly what it's programmed to do, not what it's meant to do. When malicious actors exploit this for personal gain, our reaction is that we should to "fix" the currency to be in line with our human judgement about what it ought or ought not be used for.

In both cases, you can't have your cake and eat it.

With backdoors, you can either have a simple, automatic means of investigating suspects, or you can have human judgement as to whether or not such searches have value that exceeds the value of an individual's right to privacy.

In Ethereum, you can either have autonomous and decentralized contracts, or you can have contracts that are subject to human judgement and values.

I'm still very much in "Micheal Jackson eats popcorn" mode with respect to Ethereum, but at this point it seems like it's trying to accomplish two things that are fundamentally incompatible.

</comment><comment><USER14> Someone probably has another exploit queued up, so they can immediately create the need for another fork. Ethereum contracts have a giant target on them for security researchers who want to earn money.

<comment><USER15> _If_ (huge if, I know) people learn from what just happened, there at least won't be another $100 million target to exploit. The NewDAO should see much less investment until it's actually proven. Of course, it may well not happen that way.

<comment><USER16> The important thing (which no fork can really change) is that the assumed likelihood of contracts having bugs went way, way up as a result of finding one critical bug so quickly in a large contract. You may not be able to steal a massive pot like theDAO again - but this shows that you can make a killing using exploits against smaller players. They either have to hard fork each time an individual gets their savings wiped out, or accept that there is risk of death by 1000 cuts when investing in ETH. Others may see things differently of course.

<comment><USER15> It's all going to come down to risk/reward. How much work does it take to find a bug in a contract, and how much money do you get out of it? It's possible that any given contract is likely to have bugs, but that it takes so long to find them that it's not worth the effort. That assumes that different contracts have different bugs, which may not actually be the case. And of course it could be the other way around, where bugs are easy and plentiful and the whole thing collapses. It'll be interesting to see how it actually ends up.

</comment></comment></comment></comment><comment><USER17> I think that many people miss the most important thing here: it is not important if a currency hard-forks or not - what is important is that it _can_.

I have no confidence that Bitcoin or any other currency doesn't fork in the future, because it _is_ possible at any moment. The fact that the fork has happened or not changes nothing - it always stays as a possibility.

In other words the chance of Ethereum or Bitcoin hard-forking in the future wouldn't change if the hard-fork didn't happen right now.

<comment><USER12> > I think that many people miss the most important thing here: it is not > important if a currency hard-forks or not - what is important is that it > can.

Well, it's setting a precedent that will make the case easier in the future. Bitcoin's hard forks have all seemed to be good faith attempts to fix issues in the protocol. I don't think anyway on the Ethereum team is arguing this is anything other than an extremely arbitrary fork. The fact that 51% of stakeholders agreed to set this precedent should scare anyone from owning Ethereum in the future.

</comment></comment><comment><USER18> Note that this says more about the defaults in software than about any Ethereum user's opinion.

(The miners may or may not be more informed, but note that Ethereum is only valuable if users are willing to exchange things of value for Ethereum, i.e. a hard fork requires changes in wallet software.)

<comment><AUTHOR> Which are the users you are referring to? Because all kinds of _actual_ users have shown that a clear majority is in favor of the hard fork:

\- ETH holders voted on [http://carbonvote.com/](http://carbonvote.com/) with 87% pro-fork. 5.5% of the total ETH supply participated in the vote.

\- ETH miners clearly voted pro-fork on the major pools, e.g. [https://dwarfpool.com/eth/voting](https://dwarfpool.com/eth/voting). In nearly all cases > 80% of the hash power was pro-fork.

\- ETH markets reacted positively when there were good pro-fork news, and negatively when there were bad news (such as the DDoS vulnerability in the proposed soft fork). Therefore the market sees more value in the post-HF Ethereum.

Yes, there is a vocal group opposing the fork, but it mostly consists of persons wishing to see Ethereum fail.

<comment><USER19> you consider 5.5% of the money supply a good participation rate?

In the voting on the pools, 80% of people didn't even vote.

Therefore it is simply the fact that the fork was the default choice (and is the default in all the wallets), that is the deciding factor of this 'vote'

By the way, "> 80% of the hash power was pro-fork." is demonstrably false. only 15% of the hashing power was pro fork, 85% of miners didnt vote at all.

<comment><AUTHOR> Yes, I consider it an _excellent_ participation rate. A 5.5% sample size is orders of magnitude larger than that of nearly any sociological study (usually below 0.01%).

Passive users by definition agree to follow the active users' decision.

<comment><USER12> I feel like "passive users" would agree with the status quo? They don't care enough to vote for the fork, so they should have counted as voting against the forks.

<comment><AUTHOR> By that logic there should be no Brexit, as less than 50% of the eligible voters voted for it.

<comment><USER20> Exactly right. But the same logic would apply to the Bentrance in the first place, etc.

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> No no no no no.

It's too early to measure success. OK, there was a fork. Technical success if you like.

But, at the moment most exchanges are closed to Ethereum trading on either the old or new software.

When they open we will then have a better idea how this will play out.

</comment><comment><USER22> And just like that, the entire point of Ethereum vanished into the ether.

Contracts which contain an implicit item 'we can renegotiate this any time a majority of miners wish' are contrary to what Ethereum was meant to be.

<comment><USER23> What was it "meant to be"? I'm completely ignorant of the politics but my assumption was that every cryptocoin post-bitcoin was a way for the creators/developrs/owners to make money.

Did the creators make money? Success.

<comment> jude- Straight from ethereum.org:

"Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed _without any possibility of downtime, censorship, fraud or third party interference_."

Emphasis mine.

</comment></comment></comment><comment><USER24> What's happening: the block number of the hard fork is much bigger than the block number of the non-fork. This means that most of the mining power is being devoted to the hard fork chain since it is longer. The non-fork can't keep up, so the fork is considered a success.

<comment><USER25> Block height has nothing to do with it

<comment><USER24> The longest chain always wins. Block height tells you which chain is longer. Am I missing something?

<comment> jude- The chain _with the most proof-of-work_ wins.

<comment><USER24> Fair enough. For clarity:

The proof of work threshold for a block (aka the difficulty) was the same when the fork started. The function that adjusts the difficulty (a function of time-between-blocks) is the same across both forks. It would take considerable time for the non-fork chain's difficulty to adjust to where it can make blocks at pace with the fork chain again. And even if it did, the fork would represent less work due to a lower difficulty.

</comment></comment></comment></comment></comment><comment><USER26> All this forking made me wonder about the legal aspects of cryptocurrencies.

Suppose we have guys D and C, and D owes C some amount in X-coin - <USER2> with a written contract.

Now, if X-coin is forked, and one of the forks has a blockchain recording a transaction from D to C in that amount, but the other one does not, which one is considered authoritative? If C sues D, because they are on the other fork, and that fork doesn't have the debt settled, how would it go in court?

This gets especially interesting if the forks are roughly equal in size...

I guess it would all depend on the interpretation of the meaning of the term "X-coin" in the contract, but that's just a different way of asking the same question.

</comment><comment><USER27> Any chance the one who ran this exploit can sue for the money they were due?

If the code IS the contract, then by the contract they are owed this money, no?

Or does this mean the code isn't the contract?

<comment><USER20> It's worth a try. They have ~$60 million to promise to shareholders in the lawsuit.

They paid to participate in a code-based Nomic and were denied their prize because they won too quickly.

<comment><USER28> In order to start litigation, they would have to reveal their identity. Among other things, this could bring them their own legal troubles.

I am surprised the attacker didn't try to bribe the miners, though.

</comment></comment></comment><comment><USER29> Whether you like this or not, goes to show that developers have to get their hands dirty with mining. If you remain in your ivory tower, you will not control the protocol after it gains any significant traction.

</comment><comment><USER30> Would anyone be willing to explain the background on this? I'll admit I haven't been following it.

<comment><USER31> Ethereum is a post-Bitcoin blockchain. One of the major differences with Bitcoin is that Ethereum is designed to be Turing complete: the blockchain can be used to run any arbitrary code.

The ability to run arbitrary code was built to allow for the creation of smart contracts. The basic idea with a smart contract is that the contract's code (running on the blockchain) enforces all the rules of the contract itself. No need for courts or external parties to handle disputes: the code just does the right thing.

A company called Slock.it created a smart contract called the DAO (distributed autonomous organization). The DAO was a venture capital smart contract. Anyone could submit proposals, owners of the DAO would vote on them, and if successful, fund them, taking some ownership of the proposed venture in hope of a payoff.

The DAO got people excited, and $160 million worth of Ethereum was invested in it. However, the DAO had bugs, and someone exploited one of those bugs to move a large portion of the DAO's Ethereum into another contract that the DAO owners couldn't control. This crashed the ETH exchange rate.

The "hack" split the Ethereum community: some felt that nothing should be done, the DAO contract ran correctly, just not in a way that was anticipated. Others felt that the DAO funds should be recovered and returned, and suggested a soft-fork followed by a hard-fork to make this happen. Both the Ethereum Foundation and Slock.it supported the fork option.

Eventually the soft-fork was released. The soft-fork stayed on the same blockchain (hence the soft) as previous versions, it just blocked transactions related to the "hacked" contract so the former-DAO funds couldn't be moved. However, once again bugs were found, making folks running the soft-fork vulnerable to DOS attacks. I don't know if it ever reached consensus.

A short while later, the hard-fork version of Ethereum was released. As the name implies, this version splits the blockchain into two, one continuing the existing blockchain and another that moves the DAOs ETH into a new contract that's going to be distributed to the former DAO owners. The forked blockchain also put ~$5 million in the hands of a curator to distribute as they see fit.

The hard-fork went live today, and it looks like the majority of miners have switched to it, which means the hard-fork has become the new Ethereum blockchain.

<comment><USER30> Wow that could almost be a movie! Thanks for the great explanation.

</comment></comment></comment><comment><USER32> It's simply not immutable and decentralized anymore. Just another distributed computatiom technology (and rather slow for that)

</comment><comment><USER33> Title should read: "Millions saved by Ethereum hard fork..." :)

</comment><comment><USER34> Here's an interesting thought: should everyone involved be charged with conspiracy to commit grand larceny?</comment>


Ask HN: What are your coding vices? - <AUTHOR>

What gets you through the day at work?  Does it enhance your ability to perform?  E.g., coffee.  Or more exotic chemicals.  Foods?  I'm curious. <comment><USER2> Music is very important to me... a lot of genres.. depending on the kind of work I need to do: if I am building something complex which requires a lot of concentration I go for ambient music or even classical. If, on the other hand, I have to write something not very complex but tedious and repetitive, i go for tedious and repetitive music, goa trance, dubstep or dnb. Spotify is great: I've got some playlists especially done for different types of programming (web apps, max concentration, repetitive & tedious code, chilled down etc...)

But when it comes to other vices... heavy smoking, "full-fat" Coke and coffee keep me happy :) I will probably not be able to keep it up like this for long... I guess I should grow up and quit.. but that's another story

<comment><USER3> Do you mind sharing your spotify name? I'd like to check out some of your playlists.

</comment></comment><comment><USER4> Diet Coke is the sweet nectar of the Gods and has gotten me through many an afternoon.

I often wonder how much of the success that our industry has had can be attributed to caffeine.

</comment><comment><USER5> I really don't wish to seem like a snarky wise-ass, but for me, coding is a vice. Getting into the code is a very addictive rush, and time just somehow passes unnoticed.

</comment><comment><USER6> The middle of the afternoon is the worst time for me. I wake myself up with an apple or some celery and a quick walk around the block.

</comment><comment><USER7> A big production issue...that is my vice. Nothing like a nice high severity issue to get the brain cells going.

</comment><comment><USER8> Coding vices? Here's mine:

Premature optimization is the root of all fun!

</comment><comment><USER9> Coffee, diet coke and music. I miss smoking.

<comment><AUTHOR> Yeah, music is very important to my concentration. I like Pandora a lot. Plus it provides nice micro-breaks when you can rate songs or create a new station. I like it so much for concentrating that the ad interruptions took me out of the zone so I paid for Pandora One. </end pandora promo> :)</comment></comment>


Startup founders vs entrepreneurs - <AUTHOR> http://swombat.com/2013/6/4/startup-founders-vs-entrepreneurs

<comment><USER2> "My personal opinion is that if you're starting off from a position of weakness (i.e. you're poor and not famous), and especially if you're not in a startup hub like Silicon Valley, it makes a lot more sense to go down the entrepreneurial route than to go via the startup route."

I think this is particularly good advice if you're not a developer or aren't able to make the time available to really dig into learning how to code. Odds are you aren't Steve Jobs and won't be able to recruit the technical partner you want to work with to build your uber brilliant idea for reasons articulated here many times before.

There's nothing defeatist about building a viable, cash-generating business in lieu of standing around waiting for the magical technical co-founder of your dreams to fall into your lap. Plus, if you create something of value (be it content or otherwise) in the field you're looking to get involved in, you're much more likely to put yourself in a position to be able to recruit the kind of person you want to work with anyway.

<comment><USER3> I actually hate that quote. What's to stop a poor developer who's not in SV from making an awesome, scalable tech startup?

      Startup founders are, quite simply, people who found startups. They register a business (maybe) and create something that might turn into a business at some point, or even do turn it into a business successfully.

What's stopping me from trying to change the world from Alabama? What's stopping me from making some really cool stuff that I want to see across the whole world, or at least this country, from the deep south? I can spin up a Heroku instance in 5 minutes, and get an app going in under a day. Another day to make a MVP iOS app (then a week to the App Store), and effectively I have infinite reach. There's a very serious, debilitating mindset a lot of people have on this board about necessary VC funding, and a necessary Silicon Valley geographic base. None of those things are true anymore. And likely, weren't necessarily true in the past. It's grotesque that people think funding is what you should strive for. It's horrifying that people are motivated by a TechCrunch article and an exit. Maybe I'm in the minority here, but that's not WHY I'm an entrepreneur. An exit isn't even a motivation of mine. I want a lot of people to use my creations, and to love them. If I can get paid well to achieve that goal - that would be great. If I can get other people paid well for helping me achieve that goal (ie hiring a team), then that's even better.

Sorry for the rant, but I think that quote is entirely off-base and absolutely repulsive.

<comment><USER4> I think you may want to re-read the article and the quote, and the comment you're responding to, and get a bit of context. You sound like a knee-jerk reaction that's actually agreeing with half the article, but in a really needlessly aggressive way.

Nothing's stopping you. But you'll find certain paths easier than others, depending on what you want. That's what the article is about.

Reading my article, you might notice that I'm arguing, precisely, that you don't need VC funding or SV or any of those things to start a successful business.

That said, if you approach it with the "build it up and worry about the money later" that is often present in typical startups, you will probably (not certainly) fail hard.

As for the comment you're replying to, he's also stating the point that in some parts of the world (most parts), you're better off getting on with starting a business that works anywhere, rather than waiting for the "magical tech cofounder" who's going to start a tech startup with you and take it to infinity and beyond. You might notice he's addressing that specifically to people who can't "spin up a Heroku instance in 5 minutes".

</comment></comment></comment><comment><USER5> The author's point about "entrepreneurs" not being exclusive to the world of startups is exactly what I hope to show with my book this fall. It's a dangerous mindset because in this internet age, we need _more_ people to be thinking about themselves as entrepreneurs.

<comment><USER6> I am reading a good book by Daniel Pink called "To Sell Is Human" at the moment, which makes the point that many people who do not think they are working in "sales" actually are. It sounds trite, but he does go into a lot of useful detail and advice from there - and this ties into your point. I look forward to your book.

<comment><USER5> Thanks! Kindle'd!

</comment></comment></comment><comment><USER7> Excellent point that I try to make to people who come to me with ideas. They all believe that they can raise money for an app and then sell it before they ever need to test their business model. There is nothing wrong with starting small, taking it slowly and growing a business on profit reinvestment.

Having said that, we've taken VC as we had no choice. So, when you want to start a capital intensive business then taking money is often the only option - just make sure your business model is solid.

</comment><comment><USER8> As someone who has been both, I don't think the distinction is that important. Either route carries enormous pressures and the associated stress that comes along for the ride. Plenty of lifestyle businesses have taken the same toll on their founders' marriages, families, net worth and more. In fact, probably more entrepreneurs have offed themselves due to business failures than startup founders.

The actual question for would be business owners is: does the intensity of your passion drive you towards accepting this risk? If you are unsure, then either title is probably the wrong one for you.

<comment><USER4> _In fact, probably more entrepreneurs have offed themselves due to business failures than startup founders._

Certainly, since historically entrepreneurs have outnumbered startup founders by a very wide margin and for a very long period.

I disagree that the entrepreneurial route carries that much risk. Importantly, as an entrepreneur you're largely in control of the risk. You can manage it, minimise it, explore it, etc. You can take (large amounts of) money out of the business any time you want if it's making that money. You don't have to wait on a binary exit event years down the line, that may be foiled because another similar startup got even further than you and took the market away. Hundreds of thousands of businesses make plenty of money for their owners without ever getting near an IPO or acquisition.

I've done both too - I much prefer the entrepreneur route. As I argue in the article, I also believe that it's more transferrable. Entrepreneurs are always in need, everywhere in the world. Startup founders, nowhere near as much.

</comment></comment><comment><USER9> _You can be an entrepreneur today and a startup founder tomorrow, or both at the same time, or just a startup founder._

I don't exactly agree with this distinction between "startup founder" and "entrepreneur". What I mean is, I think "startup founders" are a subset of "entrepreneurs". So while you can clearly be an entrepreneur without being a startup founder, I don't see how you can be a startup founder and not be an entrepreneur.

That said, I think I agree with the overall point that I think swombat was making, regarding the different "paths" a business can take: take VC money, plan on being scalable, go for the moonshot, etc., versus looking for profitability early on, and choosing organic growth, and a slow, steady progression.

That bit is definitely an important distinction, and founders (of all ilks) should think about it. But I don't quite think it maps to "entrepreneur" versus "startup founder" from a terminology point of view. But that's just me and my biases.

It also strikes me that you aren't committed to one "path" forever. A company could, theoretically, start with the "slow and steady" approach, self-fund / bootstrap, grow slowly _while seeking product /market fit, business model validation, etc_. and then, once the foundation is laid, go out and look to raise VC money or private equity money to accelerate growth to the "big time".

<comment><USER4> Having observed quite a lot of startup founders at incubators, networking events, and of course online, I think there definitely are "startup founders" who are not entrepreneurs. They are looking for a job that happens to be CEO of their own startup, rather than to create a business that meets a need and makes some money.

Totally agree with your other points though - you can shift from one path to the other, and back, both as a person and as a business. As a person, I myself was certainly a "startup founder" on my first two startups, as I considered myself a startup founder and entrepreneurial but I actually had zero clue about how to create a business.

It's only when I started GrantTree, and I took on the role of creating all the pieces of the business around my cofounder's sales abilities, that I learned to be an entrepreneur. Before that, I had a job whose title was "cofounder". My thesis is that's the case for many "startup founders".

PS: We can of course disagree on this, and that doesn't make your or my opinion any less, but just thought I'd restate in case I was unclear.

<comment><USER9> _PS: We can of course disagree on this, and that doesn't make your or my opinion any less, but just thought I'd restate in case I was unclear._

Sure, I don't even think we disagree about much. I'm really just quibbling about terminology, and - as you mentioned - people are constantly arguing about the exact definition of terms like "entrepreneur" and "startup" etc.

I will just add that I haven't met a lot of the kind of people you talk about here:

 _I think there definitely are "startup founders" who are not entrepreneurs. They are looking for a job that happens to be CEO of their own startup, rather than to create a business that meets a need and makes some money._

which may come down to geography, or maybe I do meet those people but they don't register because I mentally filter them out very quickly, or whatever. But now that you word it that way, I can see how you could reasonably talk about a "startup founder" who isn't _really_ an entrepreneur.

 _As a person, I myself was certainly a "startup founder" on my first two startups, as I considered myself a startup founder and entrepreneurial but I actually had zero clue about how to create a business._

I know the feeling. Before I read _The Art of the Start_ and _The Four Steps to the Epiphany_ I had only the very, very vaguest of notions of exactly how to go from "I have an idea" to "I have a business". Luckily, between those books, and a lot of great articles linked here at HN (and very pointedly, a lot of yours, swombat!) I think I now have a reasonable idea of what it takes to turn the idea into a business. Now, we might still fail for any number of reasons, but at least we're not just stumbling around in the dark.

And, for what it's worth, we are currently going with the bootstrapped, "try to be profitable as as early as possible" model. These days, I try to frame most of my decision making in terms of "What is the most important thing I can do right now, in terms of getting to revenue"? (And no, posting here isn't contributing much to that goal, but everybody needs an outlet of some sort now and then, besides work!)

</comment></comment></comment><comment><USER10> One of the main reasons there are many startup founders who dont really care about being entrepreneurs (making money or closing value/profit loop as Daniel says) is a great desire by VC community to profit on the tech startup boom. Look at the majority of new startup accelerators out there and the message they are transmiting.. The fact is that all these groups are funded by clever investor money to play the numbers game. Simple as that. And in this numbers game majority of scalable startup founders are being left hanging in the air. This creates virtual reality of some sort.. Check out this interview with Steve Blank, he wraps it up nicely <http://www.youtube.com/watch?v=TYCE3980kPA>

<comment><USER4> Absolutely. I respect the VCs and angels for playing this game successfully, and startup founders really _should_ know better than to play this without any idea of the alternatives. My issue is that many founders think this is the only way to do business.

</comment></comment><comment><USER11> Daniel defines "entrepreneur" as something that doesn't include startup founders, and then argues why startup founders aren't entrepreneurs. Err.. duh?

That's great, if, and it's a very big if, you agree with the initial and very limited definition of "entrepreneur". The fact is "entrepreneur" doesn't mean "someone who sets out to start a business in order to make money", which is Daniel's definition. An entrepreneur is someone who starts a business. It's that simple. Startup founders _are_ entrepreneurs. They are often aiming very high, sometimes a bit naive, and occasionally downright delusional, but they definitely fit the entrepreneur mould. To suggest otherwise is wrong.

<comment><USER4> I use that definition because I'm trying to make a point. Clearly, I _am_ trying to appropriate the word "entrepreneur" to mean something more specific than "anyone who starts a business". That is a pretty useless definition for my purposes.

</comment></comment><comment><USER12> Great article which really needs to be "stickied" at the top of places like HN and Techcrunch and the like. Semantics aside, the general point about there being business success and life outside the Silicon-Valley-raise-VC bubble is so important, and one that so many new and promising potential business-people completely miss.

</comment><comment><USER13> See also: <http://37signals.com/speaks#startupschool>

<comment><USER4> Excellent talk, definitely worth watching, and related to this article's topic.</comment></comment>


Call by Meaning [pdf] - <AUTHOR> http://www.vpri.org/pdf/tr2014003_callbymeaning.pdf

<comment><USER2> The challenge they envision to address reminds me of a section in Bret Victor's talk, The Future of Programming.

"[13:54]

So, say you've got this network of computers, and you've got some program out here that was written by somebody at some time in some language; it speaks some protocol. You've got another program over here written by somebody else some other time, speaks a totally different language, written in a totally different language. These two programs know nothing about each other. But at some point, this program will figure out that there's a service it needs from that program, that they have to talk to each other. So you've got these two programs—don't know anything about each other—written in totally different times, and now they need to be able to communicate. So how are they going to do that? Well, there's only one real answer to that that scales, that's actually going to work, which is they have to figure out how to talk to each other. Right? They need to negotiate with each other. They have to probe each other. They have to dynamically figure out a common language so they can exchange information and fulfill the goals that the human programmer gave to them. So that's why this goal-directed stuff is going to be so important when we have this internet—is because you can't write a procedure because we won't know the procedures for talking to these remote programs. These programs themselves have to figure out procedures for talking to each other and fulfill higher-level goals. So if we have this worldwide network, I think that this is the only model that's going to scale. What won't work, what would be a total disaster, is—I'm going to make up a term here, API [Application Programming Interface]—this notion that you have a human programmer that writes against a fixed interface that's exposed by some remote program. First of all, this requires the programs to already know about each other, right? And when you're writing this program in this one's language, now they're tied together so the first program can't go out and hunt and find other programs that implement the same service. They're tied together. If this one's language changes, it breaks this one, it's really brutal, it doesn't scale. And, worst of all, you have—it's basically the machine code problem. You have a human doing low-level details that should be taken care of by the machine. So I'm pretty confident this is never going to happen. We're not going to have API's in the future. What we are going to have are programs that know how to figure out how to talk to each other, and that's going to require programming in goals."

[http://worrydream.com/dbx/](http://worrydream.com/dbx/) (quote taken from this helpful transcription of the talk at [http://glamour-and- discourse.blogspot.ch/p/the-future-of-pro...](http://glamour-and- discourse.blogspot.ch/p/the-future-of-programming-bret-victor.html))

<comment><USER3> Can still be an API, but its the 'meaning API' where you probe for common ground, negotiate formats.

</comment></comment><comment><USER4> I typically code with the manual alongside my editor so syntax lookups are cheap. I prefer dumb and honest APIs coupled with good type systems so that understandable semantics are expressed within the routines themselves.

Therefore, I'm pretty apprehensive about using a system that seemingly encourages ambiguity, e.g. on page 6:

var epochMethodName = K.ask(clock, "what is the name of that's property (methodName) which represents the current time in Unix epoch format?").methodName

If the system is rigid and expects a structurally-similar sentence, then isn't that specification more difficult to remember than simple method names? This could form an unnecessary implicit schema, basically the same as winded function calls.

If the system is extended enough to understand a variety structures conveying the same meaning, what guarantees do I have about maintaining a consistent result? We developed a separate language for mathematics to (among other reasons) eliminate ambiguity, e.g. the exclusive or due to the ambiguity of the word "or". This reminds me of the Dijkstra paper on natural language programming that resurfaced on HN recently:

[https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/E...](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD667.html)

I don't think within the code itself is the right place to help the computer make sense of my meaning. Such a complex system may mislead the user into thinking that the system is smarter or more capable than it really is, e.g. you can't tell a toaster to K.ask("what's your property (methodName) to bake a cake?"). How is natural language-based service discovery different than a lookup for all APIs implementing the cake-baking interface? I don't think I understand the bridge that the paper makes from natural-seeming language to formal logic.

Instead, I think something along the lines of this proposed system could useful when used while programming. While writing code, I would enjoy a way to look up "a method for this object that does something along the lines of XYZ". I would be interested in a more powerful search engine for documentation that leverages type systems and comment-search more usefully than just word- matching. Right now, the closest thing is Stack Overflow.

</comment><comment><USER5> _" In this paper we discussed the large shortcomings in today's programming practices to support the growing need of harnessing data and software components found on the Internet. The tasks of discovery and ensuring compatibility between components are for the most part done manually, making existing systems hard-to-manage and fragile and building new systems a real challenge."_

If a developer wants to understand his/her system as a whole, it's a requirement to understand all included libraries as well. Automatic checks can help a lot, but they must work _really_ well before they can replace manual work. Their work, in particular, adds another language for metadata on top of the existing code, which was self-describing in the first place. When changing the actual code, the metadata description must be changed as well. How do you ensure that the description is accurate? Use yet another specification language and model to check it?

<comment><USER6> How was the existing code "self describing"? That sounds like what people who don't want to write comments or documentation say, that their code is magically "self describing".

<comment><USER5> The code is self-describing because it's written in a formal language with precisely defined semantics. By reading it, you should be able to understand what it does.

Here's an "obfuscated" version of the code in from the paper:

      a = {
          b: function() {
              return Math.floor(new Date().getTime()/1000);
          }
      };

This function takes the number of milliseconds since 1970, divides it by 1000 to get the number of seconds, and rounds that value down. There is need for an additional explanation of _what_ the function is doing.

Granted, this is a toy example, and I'm certainly not against comments that describe what the next x lines of complex code are doing. But the paper is about using metadata to help a computer, not a person, to understand what's going on.

</comment></comment></comment><comment><USER7> I've noticed the problem in my own coding that the first paragraph outlines. Having to manually discover the most useful libraries, maintain the code gluing each of these libraries to the rest of the code.

It's a pain in the neck, doing it once or twice is fine, but once you start getting to around half a dozen projects or so in various states of development / production, going back to change the code on all of them when something changes gets pretty onerous.

I've started to recognize that I basically need to either be willing to either vendor dependencies or build interface classes to separate responsibilities.

So now I maintain an 'extractions' gem that implements common patterns as modules. For example right now I'm building a Persistence module that I can include to persist data. Point it at the instance variable containing the data, stored as a Set of value class instances, tell it which engine to use, and the name of the value class it's persisting, so it knows which columns to make in the table, and it handles all the dirty work automatically, presenting a clean interface to the calling library.

So now I can change or update the persistence library used in the extractions gem, say, by changing ActiveRecord to Sequel or even just separate DB libraries and templated queries, and all of my projects can use the new code with a simple 'bundle update'. Shared conventions, made easier by other extractions, make everything work together fluidly.

Eventually I'd love to get to the point where I don't even have to 'bundle update', running production code could poll the git server daily to see if the extractions gem has changed, then pull the repo and restart the server, the code for which can be stored, again, within the extractions gem.

This could get a little dangerous, so I'm eventually going to build a testing apparatus to test the effects of updating the extractions gem. Spin up a bunch of VMs, provision them, pull the repos, run the test suites and finally start the servers. Any errors get reported.

</comment><comment><USER8> Precision has to come from somewhere.

Having your actual production code read "call the function that does <this>" and the interpreter/compiler looks it up based on NLP of the documentation seems very silly and fragile and hard to debug.

Having an IDE that can look things up for you (whether full NLP or just keywords) in the API reference and give you a sorted-by-relevance list to pick from, seems like a great idea. (Some already look by substring matching what you type anywhere in the method name, rather than just as a prefix of the name. Which is already pretty good.)</comment>


Dieselgate: How exactly did the software know the car was being tested? - <AUTHOR> I just got curious on this Dieselgate scandal. I read that VW used software to check if the car was under test conditions. I know that a car has a bazillion sensors, controllers and such but...
How exactly did the software know it was in a test environment?
I'm still catching up with the story, but I'm more interested on how the software managed to detect the test environment. Is the test environment really so controlled that one could just simply pop in code to tell the car to cheat whenever sensors picked up the right combination? <comment><USER2> Researcher here, you got it right on your last paragraph. For instance this is the European Cycle that is tested: [https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Ne...](https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/New_European_Driving_Cycle.svg/640px- New_European_Driving_Cycle.svg.png?1443308629041) As you can see it is very well defined. Other tricks that are rumored are very simple: you can see the cycle last 20 min. Just instruct the controller (ECU) to change the parameters only after 20 mins of powered state.

In any case, you must know that all those practices were very well known by United States regulators, the term "defeat device" for instance appears in regulation since at least 2007: [http://www.gpo.gov/fdsys/pkg/FR-2007-02-26/pdf/E7-2667.pdf#p...](http://www.gpo.gov/fdsys/pkg/FR-2007-02-26/pdf/E7-2667.pdf#page=134)

 _§ 86.1809–10 Prohibition of defeat devices. (a) No new light-duty vehicle, lightduty truck, medium-duty passenger vehicle, or complete heavy-duty vehicle shall be equipped with a defeat device. (b) The Administrator may test or require testing on any vehicle at a designated location, using driving cycles and conditions that may reasonably be expected to be encountered in normal operation and use, for the purposes of investigating a potential defeat device_

As you can see it was known that a) defeat devices existed and b) the way to catch them was to try different, random cycles more close to real conditions. The question is, if this was a well known problem and they knew the way to test their existence (and given there were millions of cars on the street with these systems), why start the big scandal precisely now?

By the way, apart from more random, realistic cycles, upcoming European regulation introduces driving tests where the exhaust gases will be collected and compared with the lab test, and only a certain % difference will be permitted.

<comment><USER3> > The question is, if this was a well known problem and they knew the way to > test their existence (and given there were millions of cars on the street > with these systems), why start the big scandal precisely now?

From what I understand the scandal was started after Europe funded research at an American university (since they were developing systems to measure emissions during normal driving that didn't rely on the car's computer output). The results were published a few years ago, which got reported to the US and European authorities, and it is big news right now simply because the fine/punishment phase is in motion (nobody cares about dry research results).

Up until recently (last three-ish years) the technology to measure emissions from the tailpipe during driving weren't readily available. They trusted the computer.

<comment><USER4> I wonder if any hedge funds cashed in on last weeks 30% drop in VW stock as a result of this information being available for the last year and a half.

<comment><USER5> I was wondering how to take advantage of situations like this that arise in the future. Be mindful of college level research of corporations.

</comment></comment></comment></comment><comment><USER6> As per what i have read, its a simple combination of front wheels turning, while back wheel at rest plus no steering wheel activity. There may be other factors - but this is good enough to say that car is being tested.

</comment><comment><USER7> > Dieselgate

Please don't use this name. Its ridiculous that the media use the "gate" suffix to indicate a scandal of some sort, I'd like to think HN reads/commenters can be _slightly_ more intelligent than the average crowd- pleaser journalist.

</comment><comment><USER8> I don't think there's any suggestion that VW used these techniques, but there are other indicators that could be used. Things like "If the car door or bonnet is open while the engine is running, switch to low-emissions mode", or using the GPS information (a GPS-measured velocity of 0 with an engine running in gear suggests that the car's on rollers).

I've heard stories of cars using these techniques to cheat in tests, but I couldn't find any reliable citations.

<comment><AUTHOR> > a GPS-measured velocity of 0 with an engine running in gear suggests that > the car's on rollers

Heck! Even if I don't use velocity or gears sensors, the fact that the car is in a testing area (given by GPS) might be enough to switch to low-emissions mode. But I would need the GPS location of every testing location.</comment></comment>


Ants can sense earthquakes a day in advance - <AUTHOR> http://timesofindia.indiatimes.com/home/science/Ants-can-sense-earthquakes-a-day-in-advance/articleshow/19514232.cms

<comment><USER2> This overseas reblog of a pop science blog which co-blogged a piece from @beckyoskin working for a blogring does not pass the smell test. At the very least, the headline is garbage.

There is no link to the source (here: <http://www.mdpi.com/2076-2615/3/1/63/pdf>), no supporting material presented, it makes some odd claims starting with "ants prefer to live on active faults" (this paper says nothing about that - it's talking about ants that happen to be found in a geologically interesting faulting area) and ends up with "ants can predict earthquakes". Which then goes up to the headline.

Stop stop stop stop stop.

This paper is a decent exploration of performing day+night video analysis to describe above-ground ant behavior over large periods. The rest of it seems reaching and improbable, but I don't have the background to comment on any of the math or geology presented.

<comment><USER2> Ok, nevermind on the siting bit, the paper is drafting on her PHD thesis which presumably supports the argument that these ants mounds correlate with faults.

</comment></comment><comment><USER3> Funny enough, I was just listening to the bit on ant intelligence from Radiolab:

<http://www.radiolab.org/2007/aug/14/>

tl;dl - Longtime ant researcher is resigned to the fact _individual_ ants are incredibly stupid and ineffective, sometimes just carrying a stick back and forth for days. But in colonies - somehow brilliance can emerge. They'll can predict major thunderstorms well enough in advance to build defensive walls around the entrance to their colony to direct floods around it.

</comment><comment><USER4> I'm curious, can they use these 'magneto-receptor cells' for other things? Like predicting stock market moves?

No. Seriously. They've used 5 data points in the research. Five. Calling that a 'possible correlation' is just calling for trouble.

Here is a link to the original article. <http://www.mdpi.com/2076-2615/3/1/63/pdf>

<comment><USER5> Call it a pilot study and go ask for funding. Seriously, if a specific behavior can be reproduced five times in a row that is pretty indicative that something is happening. Of course, uncovering the root cause is going to be quite hard.

</comment></comment><comment><USER6> In related news, Italy has started shipping ants off to prison for failing to report earthquakes prior to their occurrence.

<comment><USER7> I'm really starting to dislike the number of snarky comments on HN. I used to love the fact that I never saw them. They have become much more common recently. In flux of new users? georgemcbay isn't, but why the increase?? It's why I don't read comments on reddit and why I always liked reading them here. <sigh>

<comment><USER8> My thoughts exactly. I wish there was a way to filter them out other than downvoting. Something like a "flag as non-constructive" button with a corresponding settings entry, allowing to either not show them at all or change the display style so that they could be skimmed through quickly.

I personally come to HN to learn new things, not to participate in witty banter.

<comment><USER9> Tags would work well here. A comment could be tagged as "snarky" or "funny" or "humor", and you could easily filter on that.

The ability to tag comments and stories has been repeatedly suggested on HN and, unfortunately, always rejected.

</comment></comment></comment></comment><comment><USER10> Stop posting stuff from Times of India, this tabloid has one of the least thoughtful papers of the country! If by chance you find a good journalism piece in this tabloid, it is mostly lifted from somewhere else.

<comment><USER11> :-/ Exactly. TOI (Times of India), is missing an adjective in the beginning. It really is: (Garbage) Times of India.

It really is the last place on Earth I would hope to read any decent article on Science/Tech.

However it truly is cutting edge,if anybody wants to find out who was the latest Bollywood "celebrity" that got caught because of drunken driving.

</comment></comment><comment><USER12> If backed up, this would be huge. Seismologists don't really stand a chance right now.</comment>


Show HN: Motion detect recording for our dashboard at the office - <AUTHOR> https://github.com/tk512/dashboard-motion-detect <comment><USER2> I already see employees coming up with devices that create artificial movements to pretend they're working late..

Nice idea with the dashboard, but feels weird if the boss tracks movements in the office just for fun.

<comment><AUTHOR> Yeah it does - but if it got to that I would definitely remove it.</comment></comment>


I need to get better at failing - <AUTHOR> http://ryanwaggoner.com/2010/12/i-need-to-get-better-at-failing/ <comment><USER2> I have about 50 projects that I started and never got around to finishing. I've been working on these on and off for about 2 years now, so that makes on average 1 project every 2 weeks.

I've had a few major projects that I intended to launch, projects that I had worked on for a "whole month(!)" but eventually lost interest in.

My latest project has achieved liftoff.

0\. I quit my job.

1\. I started with a new, interesting, and simple open source web framework. I made sure that the code was understandable -- I should be able to bend the framework as if I had written it.

2\. I chose a new, interesting, and simple database. I chose a NoSQL database which forced me to design the architecture differently.

3\. I wrote many of the components that already exist in web frameworks and libraries -- a simple relational ORM with caching, object models for forms and server-side validation and the client code to tie everything together.

4\. I started soliciting feedback from people. I made a couple of friends along the way and they helped me stay focused as well.

Since I chose new technologies I was forced to reinvent the wheel quite a bit, but the advantages are that (1) it's really fun and (2) since I understand everything from the client down to the database and framework, I can write websites incredibly fast.

Keep at it -- I wouldn't worry too much about abandoning your projects as long as you're doing what interests you. Don't worry about what your project will ultimately become. Rather, have a general sense of where you're going and just keep hammering at your codebase. Make it squeaky clean and think hard about the design. On the other hand, keep it simple and be prepared to restart especially when you've made the mistake of over-designing. Most importantly, have fun.

Once you have a complete understanding of all the layers you will be able to execute a million miles an hour when you do have a great business idea. Then you're flying.

\- J</comment>


Unsolved Brain Mysteries - <AUTHOR> http://health.howstuffworks.com/5-brain-mysteries.htm <comment><USER2> I wonder if the "upper brain" segment, so pronounced in mammals could be associated with the "meme machine" of Susan Blackmore, et al. In other words, I wonder if whereas genetic evolutionary pressures were responsible for the lower and mid sections of the brain, it would be interesting to explore if "memetic" evolutionary pressures were largely involved in the development of the upper brain. A related point I find interesting is inherited hard-wired behavior. I read somewhere that infants might have a 'facial recognition template' that enables them to recognize the female humanoid face, e.g. the mother, and this template is 'pre-progammed' into their brain, without having to be learned. If so, this would represent I think an example of a meme. The female humanoid face could be a meme in some sense, which is hard-wired into the "upper brain" segment of the infant. Just as the mid and lower sections of the brain are focused on the promulgation of the "Selfish gene", perhaps the sole purpose for the existence of the upper brain is the promulgation of the "selfish meme", i.e. the upper brain is the "meme machine", and consciousness (and ourselves in the sense of 'self' for that matter) is sort of an accidental by-product of the meme machine - it is better for the meme for there to be 'itentionality' about its replication, 'intentionality' is found in consciousness, ergo, we have consciousness. Anyway cool article, and I like the intro video explaining embryonic brain development in the humanoid.</comment>


How to find remote jobs and organize your remote job search - <AUTHOR> http://robertgibb.me/find-remote-jobs/ <comment><USER2> SkipTheDrive.com is another</comment>


Review of a Linux laptop: Thinkpad T400. Do not buy it. - old-gregg http://kontsevoy.blogspot.com/2009/09/lenovo-thinkpad-t400-review.html <comment><USER3> I was wondering when somebody was going to put out a consumer-grade LCD so terrible that a consumer actually _noticed_. Even Macs use sub-par panels and nobody seems to notice. I await the day when I am not considered a "Professional" for requiring S-IPS or better panels -- I'm tired of paying a near-50% markup on my LCDs.

<comment><USER4> I have an early 2006 20" iMac (one of the first Intel ones) and it has one of the best displays I've ever seen. I also have a 1st gen unibody Macbook, and the display on that is pretty crappy.

<comment><USER5> The 20" iMacs have far worse LCDs than the 24" ones though.

<comment><USER6> The 2006 (Core Duo as opposed to Core 2 Duo; white plastic case) iMacs still had Matte displays if I remember correctly, I don't think there were 24" versions of those. Today's 20" aluminium iMacs have awful displays.

<comment><USER4> yes, it was a matt display Core Duo, and also sure 20" was the largest (sizes were 17" and 20")

</comment></comment></comment></comment></comment><comment><USER7> This is rather depressing. I've been a huge ThinkPad fan, on my 3rd T-series at the moment... a T61p that still wore a IBM sticker and can't praise more for the wonderful WUXGA screen... but guess Lenovo's corner cutting is finally catching up, hopefully this is just a isolated case.

I'll always love and remember the thinkpads (at least IBM era) for their tank like qualities; being able to use the laptop as a blunt weapon in a fight and later using the same laptop to code and blog is a good feeling.

<comment><USER8> Agreed. I have an IBM/Lenovo T60 which I run Debian on and it has served me well, had it now for must be going on three years, never had an issue with it, the build quality is rock solid. But even when these ThinkPads were released, around about the time that they were making the brand transition from IBM to Lenovo, I had doubts about what this meant for the future of the ThinkPad.

I have heard numerous horror stories about the quality of Lenovo gear since then. I am saddened to think that my T60 may be the last ThinkPad I will ever have considered buying. But then I am somewhat consoled when I remember that my next laptop will probably be a Mac to go with my recently acquired Mac desktop.

Aside from not being able to so readily beat someone to death with a MacBook Pro, for me, Mac laptops are the new ThinkPads, mainly because I bought my ThinkPad primarily to run a Unix-like OS (Debian), and OS X fits that desire too. You also get to pay a premium for a Mac, just like a ThinkPad. :P

<comment><USER9> I keep vaguely hearing horror stories but all the people I can actually pin down as owning lenovo thinkpads are having a great time with them - <AUTHOR> included.

I suspect what we actually have here is a case of the usual random set of poor experiences with any given product being much more conversationally trafficked because people assume that "this is my first troublesome thinkpad" must be because of the Lenovo switch rather than just being an unfortunate coincidence.

<comment><USER8> Yeah, just to be clear, when I said "I have heard numerous horror stories about the quality of Lenovo gear since then." I was actually referring mainly to anecdotes I had heard from people relating to non-ThinkPad Lenovo laptops. As I said, I've had no problem with my T60, it's a great laptop for my purposes and I have not purchased a ThinkPad newer than my T60.

My only concern about the newer ThinkPads - based off these anecdotes - <USER2> that the quality of ThinkPads may be adversely affected as they ostensibly become more Lenovo and less IBM.

</comment></comment></comment></comment><comment><USER10> I'm a screen junkie. The 14" diagonal widescreen perplexes me. They have terrible color and resolution and are just generally miserable.

IPS panels ("FlexView" in IBM/Lenovo-speak) make a tremendous difference. Compare these two pictures:

<http://ii.gs/gamma/t60p-t61p-onaxis.jpg>

<http://ii.gs/gamma/t60p-t61p-up.jpg>

I set up a site for quickly ironing out calibration issues with monitors that people may be interested in:

<http://ii.gs/gamma/>

<comment><USER11> This makes me really glad I got a T60p when I had the chance. Somebody sold off a bunch of them on ebay for $350 each a few months ago.

Is there a truly high-end laptop left? Apple's current offerings are a bit disappointing and it doesn't sound like new Thinkpads are any better.

<comment><USER12> I'm happy with my X200s. I got it with the big battery, but that lasted so long, I changed to the smallest battery. Now it's incredibly light and has a quite reasonable battery life.

The keyboard is great. The screen is fine - much better than my previous X40.

It seems like an over-generalization to say that the new Thinkpads are worse than the old ones,

<comment><USER13> Agreed. I've had two lenovo X-series models (X61s and X200s); they've both been fantastic.

</comment></comment></comment></comment><comment><USER14> The last Lenovo/IBM laptop with a good screen was the T60p. I believe they actually used IPS panels for that LCD screen.

The only good screens on Lenovo laptops these days are in the tablets. I know for a fact that the X200 tablet uses a good panel with decent colors and viewing angles, although it is hampered somewhat by the digitizer. It is possible to replace the LCD panel in some Lenovo models with other panels of higher quality. Here is an example of one such modification: <http://forum.notebookreview.com/showthread.php?t=366472>

</comment><comment><USER15> In my experience (Thinkpads as employee laptops at Facebook) there seem to be two varieties of screens: one set is utterly unusably bad while the other set is perfectly normal. They appear randomly on the same model, and your chance of getting one or the other is about 50/50.

Of course, I wouldn't want to leave it to chance. Don't buy one.

</comment><comment><USER16> OK, as someone who knows nothing about how to evaluate displays, what kind of laptop monitor _should_ I be looking for? Where do I find information on which laptop has the best monitors?

Thanks in advance.

<comment> old-gregg Simple: there are 3 basic technologies involved and each has a good and cheap flavors.

1\. Color resolution. Pick 8bits instead of 6. This is the most important spec. Oftentimes it is not published precisely because it's important, but 8-bit displays are always marked as having 16.7 millions of colors, whereas 6-bit panels are often marked as simply "millions" (in reality they can display only 262K colors)

2\. LCD pixel tech: pick IPS or PVA instead of cheaper TN. This very important spec is also intentionally left out of the official specsheet, but good IPS panels have 178/178 viewing angle, i.e. the same number vertically/horizontally. TN-based junk does not - you can tell even visually by tilting it left/right and up/down.

3\. Backlight tech. Pick LED instead of CCFL. LEDs are brighter, they don't add yellowish cast and consume far less energy.

Bottom line, _look for a panel which is advertised as 16.7 million colors LED LCD with 178/178 viewing angle._

<comment><USER16> @old-gregg

Awesome reply! Thank You! This helped me narrow down some candidates. I am in your debt!

Edit: clarification: I didn't find a _laptop_ with a screen that met these specs but it help me choose a desktop monitor.

</comment></comment></comment><comment><USER17> Actually, that sounds like an ideal machine to implement pg's idea of having a dedicated work machine where you don't screw around procrastinating. Your screen doesn't have to look good to use Emacs.

<comment><USER18> I have a thinkpad with a screen like the one in the review. There is no contrast between the black background and the white text (or vice-versa). It is very painful to use.

Unless you are using emacsspeak, you do not want to edit text on this thing. (Actually, the speakers are crap too, so emacsspeak is probably painful as well. Good work, Lenovo.)

<comment><USER17> Wow, that's really bad. Never mind.

</comment></comment></comment><comment><USER19> _Review of a linux laptop_

As the issue is with the TFT screen I fail to see the relevance of including this in the title (especially as the post says it runs Linux reasonably well :))

<comment><USER20> Actually, it says it runs Linux wonderfully.

</comment></comment><comment><USER21> I was researching various Thinkpad models for a friend (and out of idle curiosity at the non-Mac laptop market) the other week, and found that complaints about the display quality are true across the Thinkpad line, even including their pricey MacBook Air competitor, the X300. Pretty surprising, given the Thinkpad reputation for quality.

<comment><USER22> > _Pretty surprising, given the Thinkpad reputation for quality._

Why is that? The reputation of ThinkPads was created while they were owned by IBM. It's just taken a while for Lenovo to start screwing with the brand that it bought.

</comment></comment><comment><USER23> I just set up half a dozen new T400s and they looked fine to me.

 _shrug_

<comment><USER6> T400s != T400. The T400s is a premium-range model as far as I can tell, the T400 is about 700 grams heavier and has a worse screen.

How is the T400s by the way? I was thinking of getting one of those, though I'm slightly put off by the 1.8" HDD/SSD bay.

<comment><USER23> Sorry, several new T400 laptops (plural). I believe they were the 14.1" WSXGA+ models. You can buy 'em pretty cheap direct from Lenovo, especially if you wait for a sale code (which seems like every other month)

I didn't realize they still had the -s line, actually.

<comment><USER6> I should have realised that, sorry. The -s suffix exists for a handful of models (e.g. X200s) and seems to mean "slim" or so.

Unfortunately, it seems you can't order from Lenovo directly in Europe, so no sale prices for me.

</comment></comment></comment></comment><comment><USER24> I really don't get the "calculator keyboard" thing on the newer MacBook Pros. That astounds me. I do not see how it is possible to type on that.

<comment><USER25> Every new laptop keyboard needs time to get adjusted to. It took me about one day with the new Macbook/Pro keyboard, and since then I type quicker on it than any other keyboard. Maybe it's because the short pressing distance, or because the keys are really separated, I don't know.

<comment><USER4> same with my little MacBook; the screen's crap, but the 'calculator' keyboard is brilliant

</comment></comment></comment><comment><USER26> I just got a T400 for Linux development last week, so I read this headline with not a small amount of trepidation. Fortunately I fall into the author's "Linux-powered typewriter" use case: I spend 80% of my time in fullscreen (using xmonad) bash or vim sessions, using white-on-black color schemes. For my development machine I don't really care about color fidelity or dynamic range.

The reasons I like the T400 (and many of its Thinkpad siblings) are the trackpoint ("pencil eraser" mouse device), nice keyboard layout, and hardware that works out of the box with open-source drivers. I have had some intermittent freezes on suspend/resume, which I hope are fixed soon...

</comment><comment> brown9-2 So, as someone potentially in the market for a new laptop, which brand (if any) would you guys recommend?

<comment><USER18> They all suck. Get a desktop.

(I used to love Thinkpads, but this guy is right -- Lenovo cannot find a good supplier of screens. I heard this is because they will only use Chinese parts where possible, instead of Taiwanese, Japanese, or Korean parts. Needless to say, the Chinese cannot make LCDs.)

HP doesn't make good laptops, Dell doesn't make good laptops (they are good at making laptops whose batteries last for about 15 minutes after a few weeks or so), Apple is Apple (nice screens, same crap everywhere else), etc.

I might consider Asus next -- the eeepc 901 is the nicest laptop I've had. Nice screen. Unfortunately, the wireless card is a piece of shit that sometimes takes several tries to associate to WPA2 networks. "Known firmware issue." Great.

Basically, everyone wants cheap, cheap, cheap, and that's what they get. People that actually use computers are part of their profession and not just for watching porn are shit out of luck as a result.

(I will edit to add -- pricing things out, the desktop is an amazingly better value. For $2000, you can get a high-end Thinkpad with 2G of RAM, 2 cores, and a 160G SSD, etc. Or you can get a desktop with 8 cores, 16G of RAM, a 24" monitor, 4T of disk space, etc. Laptops are nice if you absolutely can't work at a desk. But if you can, you can save yourself a ton of money, and just use a netbook when traveling. I do this, but with a Thinkpad as my "desktop". It has not been undocked in years.)

<comment><USER16> "They all suck. Get a desktop."

I am coming to this conclusion too. How should I select a desktop monitor? Are there specific features to look for? Help a clueless-about-hardware fellow HN er!

<comment><USER18> Go to the store and look at them?

I have had good luck with Dell; a 24" LCD and a 37" TV. Both have beautiful color rendering, good contrast, great brightness. I have had the 24" LCD for probably 5 years, and it still looks as good as the day it arrived.

I have not looked into LCDs for a while, so I don't know if Dell still makes good ones.

The best guarantee of quality is probably to buy a high-end monitor from a company that also manufactures the actual panels.

<comment><USER27> I don't think Del actually manufactures panels for their displays.

</comment></comment></comment></comment></comment><comment><USER28> Google found this video of the t400 for those interested:

<http://www.youtube.com/watch?v=evk-Ln_TFLA>

Apparently some people like the screen; some absolutely despise it. Here's a complete review - warning, bad music incoming:

[http://www.youtube.com/watch?v=pKNxecHXUAU&feature=relat...](http://www.youtube.com/watch?v=pKNxecHXUAU&feature=related)

</comment><comment><USER29> Did I miss the sarcasm or does he really suggest to buy apple instead?

Last time I checked the Apple panels were horrible. Perhaps not as bad as this foul egg, but still with comparable viewing angle problems; the slightest head-movement would wash out the top or bottom part of the display. I also recall horrible contrast (white bloom)...

<comment> old-gregg Regular white Macbooks are pretty bad, sure but matte MBPs are OK: the color gamut is still limited by 6 bits but viewing angles aren't bad IMO. According to my extensive googling only HP's "DreamColor" line of laptops gives you a true 8-bit non-TN panel.

[http://www.robgalbraith.com/bins/multi_page.asp?cid=7-10041-...](http://www.robgalbraith.com/bins/multi_page.asp?cid=7-10041-10146)

</comment></comment><comment><USER30> This is really disappointing. I was about to buy a T400 after my way-too- expensive and way-too-flimsy HP Pavillion's screen finally died. It was the rock-solid construction and nonshit keyboard that drew me to it. Is there anything like that with a screen that doesn't suck?

<comment><USER27> I suggest you buy or take a look at HP business line. I have a HP Compaq 6910p and an IBM (not Lenovo, mind you) T60 and actually prefer HP's keyboard over Thinkpad's.

Oh well, but its screen sucks too :-(

</comment></comment><comment><USER31> I have a Lenovo Thinkpad T61P. It would be a good machine except (1) the screen quality is consistent with that described in this article. Furthermore, it's developed hundreds of dead pixels. (2) The shift keys need to be hit exactly in the right place for them to work - the keyboard is a bit dodgy. (3) I had to replace the battery twice (under warranty) in a period of 6 months after buying it. I paid for quality (and was happy to based on reputation), but did not get it. It's been a very frustrating.

My day job laptop is a Dell D630. Very happy with this. My next laptop will be a Dell. The track ball on the Lenovos is much better.

<comment><USER32> I have a D630 and I agree; it is a laptop and does all the right laptop things. However: I got my wife a Dell E4300 and had many problems. Other colleagues have got other E series Dells have have had basic problems like not being able to suspend/resume under Windows and being forced to run a single core to get basic reliable operation.

See, for example:

[http://en.community.dell.com/forums/t/19245498.aspx?PageInde...](http://en.community.dell.com/forums/t/19245498.aspx?PageIndex=1)

[http://www.datapoohbah.com/tech/2008/12/16/dell-e4300-is- bit...](http://www.datapoohbah.com/tech/2008/12/16/dell-e4300-is-bittersweet/)

I don't know if things have improved, but based on my experience the D630 was the last good laptop from Dell.

</comment></comment><comment><USER33> I have a T500 and don't really have any of the issues described. Viewing angle is perfect, colors are nice, contrast is nice etc. My screen is WSXGA+ though, so that might be non-standard.

</comment><comment><USER34> I'm typing this on a T400 (not mine). Perhaps his screen is a dud? Either that, or my visual standards are lower than I thought.

</comment><comment><USER35> I swore off Thinkpads when my $2K (at the time) T60 couldn't drive an external 24 inch monitor without horrid text flickering. Thinkpad's "solution" was to buy a $350 dock that had better external monitor electronics. Um, thanks, but no thanks.</comment>