Why Vote? Freakonomics' take on voting - <AUTHOR> http://www.nytimes.com/2005/11/06/magazine/06freak.html?_r=2&n=Top%2fFeatures%2fMagazine%2fColumns%2fFreakonomics&oref=slogin&oref=slogin

<comment><USER2> Voting is an aggregate activity. When you think of it as an individualist activity, as an economist would, you fail to see it for what it is -- an aggregate.

Imagine if you are in a line of people passing bricks from a collapsed building to another location. If you looked at this activity from an individual's perspective you'd said, "Passing this brick to that other person isn't clearing the rubble."

And you'd be right. It's not. But then you are not the activity in entirety; you are only part of the activity. And because this activity is social, it depends on human behavior.

This attitude, then, falls under the category of the fallacy of composition: what's rational for one actor is not rational if everyone does the same. Voting is not an individual activity, it's a group activity and looking at it as if it's a individual activity belies that.

When you analyze group activities as if they're individual activities you get erroneous conclusions. I can see why Taleb gets annoyed with economists now.

<comment><USER3> In your scenario, if I don't pass along my brick, then the chain is broken (or, others at least have to do more work). However, in an election, if I don't vote, then no one has to pick up my slack. We'll still elect a president tomorrow.

What is the negative externality that I'm imposing on others by not voting? If anything, I see it as a ( _very_ small) positive externality, because I'm letting everyone else decide who they want as president.

<comment><USER2> The brick example was used to shed light upon the difference between individual and group activities. It's does not match the activity of voting, I know. However...

Your use of the phrase "imposing on others" is telling. It implies you are separate from the others who vote, but in a democracy, during voting, you are not. You are all part of one system, and you all work towards the democratic task.

When you choose not to vote, you exclude yourself from that system. One single absence will indeed not damage the system significantly enough to destroy it. But, as I said, this system replies on human behavior, and more specifically socialization.

When you post articles on the New York Times website, when you post here and when you chat to friends about the futility of voting and when you tell them you have not voted you affect them; you influence them.

Human behavior is incredible herd-like. Your choice not to vote affects others, others affect others, and that affects, in this case detrimentally, the democratic system.

And this, again, goes back to the fallacy of composition. It was rational for you not to vote. Yet, because you live in society, that decision affects others, and when it affects enough people that newly formed decision becomes highly irrational.

<comment><USER3> You're right. I do see myself as separate from others who vote. If I vote, am I working together with a voter who just wants to restrict gay rights? What about a racist who won't vote for Obama because he's black? These are extreme examples, but I just don't see the election as a task that we're all collaborating on.

Second, are we discussing my decision to vote, or my public announcement of that decision? Am I damaging the democratic system by publicly questioning whether to vote?

</comment></comment></comment></comment><comment><USER4> Not everything should be looked at from an economist's point of view.

If an old lady in front of you drops her purse, there is no economical reason for you to help her out. It is a waste of your time and she can pick it up herself. If she can't pick it up herself, someone else walking the street will help her out. No need to trouble yourself.

However, most people here would help her out because its just the right thing to do.

<comment><USER5> Actually, this was the article's point exactly. You would help her out to satisfy a social expectation. What would others think if you didn't?

You might ask how that changes if you and the old lady are alone. You would probably say that you'd still help her out, though I'd say that's just a response trained within a particular environment in which there is a help-old- ladies social expectation.

<comment><USER6> Not just social expectation (many would do it if there were no observers), but also increasing self satisfaction. Most people, myself included, derive utility from the belief that they are a good person.

</comment></comment></comment><comment><USER7> I didn't vote in 2000, because it was too much trouble. I spent the next four years regretting it, and 2004 rolled around and I had another chance. Somehow I wasn't able to register in time, and missed it, and spent another 4 years feeling bad.

This time I registered plenty early, and voted early, too. Now no matter what happens, I can feel good about doing my part for the next four years. I'd say that was time well spent.

<comment><USER8> >I didn't vote in 2000, because it was too much trouble. I spent the next four years regretting it

In 2000 a vote for a foreign policy of peace was a vote for Bush. That was his line. Gore was the one who had been threatening Indonesia and getting us dragged into messes in the Balkans. He as much as promised more military action abroad. This all goes to illustrate the ultimate meaninglessness of the campaigning.

<comment><USER9> Good points to remember in case we all weren't cynical enough already.

Bush 2000 = "We don't do nation-building".

Bush 2003 = "Major combat operations in Iraq have ended."

<comment><USER8> Wilson was elected to keep us out of war. He maneuvered us into war, cooperating with the British against the wishes of the people. Ditto for FDR, who also deliberately pursued a policy of provocation against the Japanese.

Nixon was elected to end the war. Instead he bombed Cambodia. Reagan pulled a 180 on middle east policy and withdrew from Lebanon.

With the possible exception of LBJ I think every president in recent history has contradicted their indicated foreign policy. (LBJ was just bonkers from the get-go.)

</comment></comment></comment></comment><comment><USER10> Here's one of my favorite reasons to vote: Your vote does have an impact on the vote count.

I like to check out the vote tallies when the election is over -- and when it says "324,879" instead of "324,878" or whatever, I think, "Hey, that's me!" This also works whether you live in a swing state like Ohio or a forgone conclusion like California.

And in all seriousness, vote count does matter, even if the outcome is a "sure thing." The size of a victory plays a very big role in giving a mandate for the winner to get things done.

So hackers...seriously, get out there and vote, even if it only makes a 1/305,563,000 difference.

</comment><comment><USER11> Does this ignore network effects? I am pretty silent about my politics, but at least 25 people were aware that I voted early (friends, coworkers, family members). Did this affect their decision to vote and therefore the value of my vote?

If a candidate does a great job getting out the vote compared to their opponent, the result of the election will not reflect popular opinion. Instead it will be biased toward that candidate. Those that voted for the candidate will see more value from their vote.

That still may not outweigh the hour spent in line.

<comment><AUTHOR> Maybe it does but you can also argue it has an inverse effect. If I know someone else voted I may just say "Well they voted so I don't have to."

</comment></comment><comment><USER12> I'm glad there's actually a mass media outlet that would post something like this. They are focusing heavily on the numbers though, rather than the system - and it's the system that's the problem.

I don't vote because my single vote carries no weight, as the article demonstrates. However, if _proportional representation_ were used, I would vote because my vote would count for _something_ even if very little. With First Past The Post, my vote is more like buying a lottery ticket.. if I vote for the loser then it counts for zero - which is why we end up with two party systems.

<comment><USER13> A vote for the loser does not count for nothing. It makes you an active political entity worth courting.

Do you know why social security is inviolate, and no one from either party will ever do anything to stop payments? Because _old people vote_. If you (and people like you) don't vote, you don't count, and no one will ever listen to you.

Voting increases the strength of your demographic, and then shifts the political allegiance of that demographic very slightly towards your views.

<comment><USER12> _Voting increases the strength of your demographic, and then shifts the political allegiance of that demographic very slightly towards your views._

Do you seriously believe that young people would, as a demographic group, generally vote together to disband social security?

I don't think there's an old person vs young person divide at all. There's plenty of divide between conservatives, liberals, communists, libertarians, etc, of all age groups.

<comment><USER14> The campaign managers _definitely_ see the old demographic as worth courting. They even have a "lobby:" the AARP. No sane politician torques off the seniors. That's one of the reasons why it's so hard to take their driver's licenses away, even when they are feeble.

If the young people had something like this, the drinking age may still be 18 instead of 21.

<comment><USER15> Perhaps part of the issue here is that young people are only young (for your example, 18-20) for a little while, whereas old people are old for decades.

</comment></comment></comment></comment></comment><comment><USER16> People do not vote out of self-interest. People vote because of how it makes them feel about themselves. Its not unlike going to church.

While this may sound like an OK thing, in reality it is disastrous. We elect leaders who make us feel great about ourselves by promising to fix the world. They then churn out giant bureaucracies to actually implement the world saving policies. But by then, no one is paying attention to whether the feel good policy actually works. The bureaucracy ends up being very effective at looking out for its own self interest, and incredibly ineffective at actually solving problems.

Thus the result of a Red-state voter wanting to feel like a bad ass warrior is the creation of the giant military bureaucracy that creates threats in order to justify its own existence. The result a Blue-state voters desire to end poverty is a welfare state that in many ways has made inner city poverty much worse than it was in 1900 ( which is hard to do, considering the incredible improvements in technology).

<comment><USER17> Really, do explain how inner city poverty is "much worse" than it was in 1900? Infant mortality? No. Access to safe and nutritive food? No. Access to housing? No.

Do tell. "If turn-of-the-century infant death rates had continued, then an estimated 500,000 live-born infants during 1997 would have died before age 1 year; instead, 28,045 infants died" (1)

(1) Hoyert DL, Kochanek KD, Murphy SL. Deaths: final data for 1997. Hyattsville, Maryland: US Department of Health and Human Services, CDC, National Center for Health Statistics, 1999. (National vital statistics report; vol 47, no. 20).

<comment><USER16> Read a few modern accounts of urban poverty, like "The Corner" and "Gang Leader for a day". Then compare it to accounts from the early 1900's such as "The Slums of Baltimore, Chicago, New York, and Philadelphia", "Land of the Dollar", and "How the other half lives." It will blow you away.

Yes, the technology today is far better and knowledge of science far greater. We have penicillin and vaccinations. Fwer babies die at all income levels. But the gang violence, drug addiction, and perpetual unemployment problems are all much, much worse. Nothing like our modern inner city slums existed 100 years ago. Technology gave us low infant mortality. Politics lost us our cities - <http://detroityes.com/home.htm>

<comment><USER17> Now I understand the perspective you were writing from. Certainly our inner cities are crumbling. For very specific population groups, quality of life and life expectancy is shockingly bad, and that is indeed the fault of politics.

The US is the only major democracy that seems content to cheer the success of the lucky and laugh at the failure of the rest. Sadly the poorest of the poor have in large part bought this destructive mantra of "self sufficiency" and "freedom" that in real terms means: tough luck if you get hit by a bus!

<comment><USER16> _The US is the only major democracy that seems content to cheer the success of the lucky and laugh at the failure of the rest._

That has nothing to do with it. The main problem with the U.S. is that it has had 150 years of racial warfare - whites hating on blacks, blacks hating on whites. All of it has been entirely destructive, and it really needs to stop.

Try watching a couple episodes of The Corner ( [http://www.amazon.com/Corner- Year-Life-Inner-City-Neighborho...](http://www.amazon.com/Corner-Year-Life- Inner-City-Neighborhood/dp/0767900316) ). It's based on a the account of a journalist who spent a year following a family in Baltimore. It also matches my personal experiences in working for various inner city charities. Then tell me how somehow getting rid of this alleged mantra of "self sufficiency" and "freedom" and replacing it with X will make things better.

<comment><USER18> I haven't watched The Corner, but I have read the book, and stayed in some very ghetto places in Baltimore when I was in my hitchhiking / train-hopping phase.

The book The Corner is an excellent read, and is quite accurate. People who have little to no experience with real lower-class city areas and ghettos should read it. It's also very well written, and is not a dry read at all.

</comment></comment></comment></comment></comment></comment><comment><USER19> Reminded me of "Ten ways to make a political difference" by political theorist Nick Szabo. The article is pretty biased by his libertarian roots, but voting is still at number ten, the least effective.

[http://unenumerated.blogspot.com/2007/08/ten-ways-to-make- di...](http://unenumerated.blogspot.com/2007/08/ten-ways-to-make- difference.html)

</comment><comment><USER20> This is pretty much my reason for voting:

"2. Perhaps we vote in the same spirit in which we buy lottery tickets. After all, your chances of winning a lottery and of affecting an election are pretty similar. From a financial perspective, playing the lottery is a bad investment. But it's fun and relatively cheap: for the price of a ticket, you buy the right to fantasize how you'd spend the winnings - much as you get to fantasize that your vote will have some impact on policy."

I fantasize that my vote for Bob Barr will throw the election into a tie, creating a giant entertaining mess even bigger than the aftermath of the 2000 election. Also, I will get some warm fuzzies over the next 4 years knowing that I didn't vote for the winner when they inevitably screw up. Lastly, I am a contrarian by nature. I will enjoy being the only one of my friends that did not vote for Barack Obama, much as I enjoy being the only one who does not pray in a church.

<comment><USER14> Bob Barr??!!?? (barf.....)

<comment><USER15> I'll probably hold my nose and give him a protest vote, considering he's not quite as bad as the Socialist Party, the Fascist Party, and the "The Constitution Authorizes a Theocracy" Party.

Besides, my vote doesn't matter.

<comment><USER14> uh, yeah, he's a member of the CCC (or was, before they were outed). KKK reborn (but non-violent). I try to stay out of political discussions here, but he's a very bad man. Casting a protest vote for him is like casting one for that old jerk from W. VA (can't recall his name, former Imperial Wizard for the Klan that supports the "remote viewing" funding of the CIA--he's a Dem).

Pick someone else for your protest vote, please.

<comment><USER15> Screw it, maybe I'll just write in Ron Paul, even though write-in votes allegedly aren't counted. As I said, my vote doesn't matter anyway.

</comment></comment></comment></comment></comment><comment><USER21> I am a Swiss living abroad and I always vote by mail-in ballot. I don't vote out of a feeling of social obligation, I vote because I believe it does make a difference, however small, and that if I convince myself and people I know to vote, that difference keeps adding up.

If I didn't have the mail-in option, however, chances are I wouldn't vote - even if I was back home in Switzerland. I don't vote for a social perception, I vote because I care about the issues being voted about (note: we don't vote on people very often, we mostly vote on issues; I don't usually vote on people).

Obviously I can't argue with the results of the study. Perhaps mail voting does decrease voting likelihood. At the same time, I'd argue that people who vote out of a sense of social obligation rather than because they have an opinion on the issues at hand would be better off abstaining. If you don't care about the outcome, don't vote. Chances are, if you don't care, you won't have bothered to research the issues anyway, so your vote would merely be statistical noise or, worse, uninformed "vote like my party" trash. We're really better off without your vote then.

This article would be disturbing if it wasn't so pitiful. The only thing proven by this article is that the economist's perspective is awfully limited, and completely inapplicable when it comes to deciding how to behave in the "real world". If everyone behaved like economists as described in this article, most social functions wouldn't be able to exist, and we would probably soon devolve into a collection of pitiful warring tribes.

</comment><comment><USER22> Could there something else at work in the siwss experiment, too? If the cost is higher to vote (walking through the rain etc.), maybe the perceived chance is greater that your vote has a greater weight, because fewer people will show up to vote. If you make it through a tornado, you might even wind up being the only person at the voting booth.

Perhaps with the cheap mail-in ballots people feel too assured that everybody else will vote, anyway, so their own vote is less important.

</comment><comment><USER23> Someone may have said this already, but not succinctly, so I'll have a go:

If I understand right, nobody votes, and then who gets elected? You vote to contribute to the sample size, fool! 2 votes for one candidate and 1 vote for another is a questionable victory, but 66,000 for one and 33,000 for the other is decisive.

</comment><comment><USER24> It's also sort of interesting to vote. What machine will they use this time? What's on the ballot? Will it work? How many people will be there? Will there be big problems?

People like novelty.

</comment><comment><USER25> I can get a free cup of coffee from starbucks and extra credit in my classes if I vote so that justifies why I am voting. The opportunity cost for me not voting is too high for me.

<comment><USER26> You get extra credit in your classes for voting? That doesn't really sound like an appropriate use of power by your professors.

It sounds far more like inappropriate use of academic power in order to rustle up more votes for you-know-who.

</comment></comment><comment><USER27> Such a great article. And I love when the NYTimes calls me rational.

</comment><comment><USER28> to me the only reasons to vote is if you are in a swing state. Anywhere else its a huge waste of time because your state is predetermined to go one way or the other.

</comment><comment><USER8> Reasons not to vote:

Voting for federal candidates is an affirmation of the legitimacy of the power of the government, which you may reject. Your vote will make you complicit in the next federal campaign to blow up foreigners, or the current campaign to imprison millions of Americans for victimless crimes. I assure you Obama WILL blow up innocent foreigners; every president finds some excuse to do it at some point.

A vote for "none of the above" IS a vote. The politicians NEED sufficiently high turnout to legitimize their power.

Elections are about as genuine as pro-wrestling. They never have anything to do with how government actually proceeds after the race. Rhetoric has consistently contradicted actions in my lifetime. Pretending you participated in an informed decision making process is delusional.

You're stuck choosing between coke and pepsi when you really want a glass of milk. The republican and democratic parties have locked up the racket for themselves. They are different brands of the same corporatocracy and mostly create the illusion of choice with careful marketing. Every couple years they push the right buttons to get their brand's simpletons whipped into a sufficient frenzy to trek to the polls. Then they proceed with business as usual.

Voting, emotional investment in the political process, and keeping informed about the political process are distractions from far more socially productive activities. If every campaign volunteer had resolved not to vote or really care about the election, and instead spent their time doing something of value on their block, the aggregate outcome would far surpass the positive difference in outcomes between any pair of candidates.

Lastly, your vote really doesn't matter, statistically speaking.

<comment><USER29> Your vote DOES matter, statistically speaking. Disregarding the oddness of the electoral college, in most elections where the number of votes is directly relational to the outcome of the contest, the individual statistical importance of each vote decreases as the overall volume of votes increases. In elections where fewer votes are registered, the significance of each vote on the outcome increases.

In an election involving hundreds of millions of people, you can claim correctly that overall influence of your vote is tiny. That does NOT mean it doesn't matter. However, to properly represent the desire of the voter pool in aggregate, all people must participate. The outcome of an election is not to decide what you individually want, its to decide what the populace in general wants.

As to your other political statements, some I agree with, some not. I used to be very politically active(anti-war rallies, protests, supporting local candidates, volunteering, sign waving, etc).

If you're from a country where you can't vote, then your opinions aren't helping your fellow man. You need to get off the computer and go stand up to your corrupt leaders. You might get shot, but when enough people stand up things change. Hey, its kind of like voting!

</comment></comment><comment><USER30> If you don't vote, I could care less about your political opinion.

<comment><USER31> "If you don't vote, I could [sic] care less about your political opinion."

Odd phrasing aside, what if (for example) my political opinion is that voting is immoral because it legitimizes a corrupt or intrinsically broken system?

Why is abstaining from a process so dismissed?

I've heard people say, if you don't vote you can't complain, yet if you opt in to a system then how can you bitch when it doesn't swing your way? If you vote, then you can't complain; you can't have it both ways.

(I'm not quite convinced of this myself, but I'm puzzled by people who won't even consider it.)

<comment><USER12> +1

Just wanted to add some more to this, as I recently had a debate about this with someone who was _very_ pro-voting.

Abstaining from _religion_ is no longer dismissed, yet politics, as you say, remains a sticking point. In the 1500s, religious adherence was the norm in the West. In the 2000s, adherence to democracy as a political system is the norm (I have no doubt this will change in centuries to come).

Consider voting within a democratic system to be equivalent to choosing a religion. If you are not religious, ideally you would not choose a religion. Likewise, if you do not believe in the democratic system, ideally you would not vote.

Democracy is a system that many people take for granted, but is only one of many options. Voting in the democratic system implicitly means you support democracy. If you do not support democracy, therefore, it would be quite rightly against your principles to vote.

<comment><USER17> Except of course that in the year 2008, the church cannot have you KILLED for "abstaining".

The US government has the power to forcefully imprison and/or kill you. If you want to "abstain" from that system, then ignoring its existence all around you is just being pigheaded. If you really want to abstain, I suggest that you LEAVE. Many people find living outside the United States quite pleasant, and you can rest assured that in most of the other democratic nations of the world, your tax dollars are not being spent to bomb "collateral damage".

<comment><USER12> I don't live in the US. In any case, which presidential candidate plans to stop federal corporal punishment?

 _I suggest that you LEAVE. Many people find living outside the United States quite pleasant, and you can rest assured that in most of the other democratic nations of the world, your tax dollars are not being spent to bomb "collateral damage"._

That's not viable if you're an American citizen. As an American citizen your worldwide income is subject to US taxes, other than where overridden by treaty.

<comment><USER17> The first ~$80k of your income is exempt. As for the rest, the US Government's insistence that it controls you ANYWHERE on the planet is reprehensible.</comment></comment></comment></comment></comment></comment>


Thinking Forth (1984) - <AUTHOR> http://thinking-forth.sourceforge.net <comment><USER2> Here's a PDF version that can open in your browser, for folks who don't relish opening unknown binaries from SourceForge:

[http://www.dnd.utwente.nl/~tim/colorforth/Leo- Brodie/thinkin...](http://www.dnd.utwente.nl/~tim/colorforth/Leo- Brodie/thinking-forth.pdf)

<comment><USER3> And if you want to build your own: [https://github.com/forthy42/thinking- forth](https://github.com/forthy42/thinking-forth)

</comment></comment><comment><USER4> This was one of the first programming books I read as a kid, after Brodie's "Starting Forth" and a bunch of not very memorable books about BASIC.

It remains the standard to which I hold all programming books I read. The author's enthusiasm and patient but never patronizing style drew me in, and the book's recognition that language and methodology are not inseparable changed how I viewed programming; the observation that design and implementation a dance rather than a handshake changed how I looked at software.

A classic worth reading even if you never intend to use Forth.

</comment><comment><USER5> I am new to programming. So far I dabbled a bit in Scheme, Python, Smalltalk(Pharo). I quickly realized I don't care for Python, but Scheme is an awesome language(it's like doing Abstract Algebra a bit) and Smalltalk is an unbelievable environment. Now Forth also piqued my interest. How is it different from, say, Pharo? Apparently, one of Forth's selling points is related to "philosophy of problem solving". In that regard, how does Forth compare to Scheme? For example, it's trivial to solve certain problems by recursion in Scheme. Thanks.

<comment><USER6> I wrote a forth tutorial in two parts:

[http://git.annexia.org/?p=jonesforth.git;a=blob_plain;f=jone...](http://git.annexia.org/?p=jonesforth.git;a=blob_plain;f=jonesforth.S)

[http://git.annexia.org/?p=jonesforth.git;a=blob_plain;f=jone...](http://git.annexia.org/?p=jonesforth.git;a=blob_plain;f=jonesforth.f)

<comment><USER7> I don't remember when I first read jones forth, but it's been on my mind ever since. I love it. Thank you.

</comment></comment></comment><comment><USER8> Excellent book as an introduction to Software Engineering. Also, Forth is a fun language/live-environment to play around with. When I first started using Forth (Gforth) the live-programming matched with point-free programming is left with me the unshakable impression that 'this is what programming should be like.'

</comment><comment><USER9> One of the best programming books I've read.

</comment><comment><USER10> Beautiful. I wish I had the first 30 pages of this book during my SE 101 days.

A direct link to the PDF might have been better though. I almost skipped this when I saw the Sourceforge URL.

<comment><USER11> I was amused to see that uBlock Origin's default filter lists now include sourceforge and thus I was momentarily stopped from seeing it.

[https://github.com/gorhill/uBlock/wiki/Badware- risks](https://github.com/gorhill/uBlock/wiki/Badware-risks)

</comment></comment><comment><AUTHOR> It came across my radar via Michael Fogus's _Six Works of Computer Science- Fiction_ [0]. After reading the first chapter, the reasons that people love/loved Forth suddenly make sense. Like Lisp it's full stack - from close to the metal to arcane abstractions.

[0]: But only after the second time it was posted to HN. [http://blog.fogus.me/2015/04/27/six-works-of-computer- scienc...](http://blog.fogus.me/2015/04/27/six-works-of-computer-science- fiction/)

</comment><comment><USER12> I read this book a few years back, it's quite good even if you never do actual Forth programming, at least to skim.

</comment><comment><USER13> You guys know that PDFs can load web assets right? They can de-anonymize you just by opening them right?

Don't trust it if you don't trust the host.

<comment><USER14> You guys know that PDF readers can turn off loading of web assets right? That you should turn it off or prompt or people can de-anonymize you just by getting you to open a PDF right?

Don't trust it if you don't trust the host, regardless. Exploits do exist.

<comment><USER13> As ignorant/oblivious as HN users are, (see your post for reference) it needed to be mentioned.</comment></comment></comment>


Project: Roadless - <AUTHOR> http://www.indiegogo.com/projects/help-me-graduate-and-develop-my-graduation-project-further <comment><USER2> I'm not convinced of the utility of this wheel design.

Different wheel widths and diameters are certainly suited for different tasks, but in an area with no roads why not produce a simple wheel with large diameter and width suited for poor roads? There seems to be little value in allowing it to convert to a wheel design suited for better terrain.

Further, optimal wheel design matters most when you're propelling or steering the vehicle, as in a bicycle or motorized car / cart. In this case I suspect you'd be better off with the advantages of a pneumatic tire than the adaptability of this "Roadless" design. None of the Roadless concepts incorporate a pressurized air tire, arguably one of the most important transportation innovations in history.

And in any case, the added complexity seems unwelcome in this sort of environment.

Am I missing something?

</comment><comment><USER3> An interesting project, but I can't help but think that this problem would be better solved by Chinese Wheelbarrows: [http://www.lowtechmagazine.com/2011/12/the-chinese- wheelbarr...](http://www.lowtechmagazine.com/2011/12/the-chinese- wheelbarrow.html)

<comment><USER4> [http://en.wikipedia.org/wiki/Wheelbarrow](http://en.wikipedia.org/wiki/Wheelbarrow)

I am kind of surprised Egyptians weren't the first. As a fan of the Chinese's Three Kingdoms (both the history and the novel), I remember Zhuge Liang (諸葛亮) invented a wheelbarrow called Wooden Ox (木牛流马) during the war (according to the legend his design was really intelligent). The sad thing is his design was completely destroyed and unclear what the wheelbarrow actually look like.

[http://en.wikipedia.org/wiki/Wooden_ox](http://en.wikipedia.org/wiki/Wooden_ox)

</comment></comment><comment><USER5> If the creator is reading this, first, congrats on your early success and good job trying to take on a real problem in a practical way, and being up front about both your immediate needs for the project and the fact that you'll put some of the money toward tuition.

That said, I think you would be well served to add some larger support tiers, and also to invite those backing the project to provide their potential experience and expertise. It could potentially open you up to crackpots, but in my experience it will also give you access to the random material scientist or whatever subject matter expert you might benefit from knowing. Best of luck with the project.

</comment><comment><USER6> The spoke design is pretty clever, but isn't the real problem is going to be the tire? I can't think of any material that would be durable enough for those conditions and flexible enough to change shape with the spokes.

<comment><USER5> Maybe he will :)

</comment></comment><comment><USER7> So you can reinvent the wheel!

</comment><comment><USER8>
      Raising money to pay for my remaining tuition fees

Is this just an elaborate way to get his student loans paid off? The project itself doesn't really seem practical.

<comment><USER9> I don't understand why this is necessary for him to develop this project further. Sure he'd like to graduate before working on it further but surely he could use the money to fund the actual project and worry about finishing his professional qualification afterwards? Even once his loans are paid off he doesn't promise any funding towards the actual project...

<comment><USER10> He appears to have no interest in building the product. Or, at least in the short term, his priority is graduation. The project just appears to be a design project that is required for graduation and, thus, a convenient subject for an IndieGoGo campaign.

</comment></comment></comment><comment><USER11> Not a very helpful title (on IndieGoGo). I didn't even realize this was about a product at all.

</comment><comment><USER12> Seems like a neat idea. I'm a software guy, so don't know much about the area.</comment>


There is a city that stops for one minute every year - <AUTHOR> https://www.youtube.com/watch?v=Ejd2rsXoQSI <comment><AUTHOR> What you see in this video is whole city stopping at hour "W" (5 PM) every year paying hommage to those killed in 1944 in the biggest rebellion against German Nazi occupation during WWII. Today it's 72nd anniversary of Warsaw Uprising and Warsaw will stop again for one minut in 5 hours from now. In first three days 50 000 people were killed, 200 000 in 63 days.

Another shot of hour "W":

[https://www.youtube.com/watch?v=Njd0gSy4P6M](https://www.youtube.com/watch?v=Njd0gSy4P6M)</comment>


Robotic Nation - <AUTHOR> http://marshallbrain.com/robotic-nation.htm <comment><USER2> Some issues I have with this article is that he is projecting the future of automation taking over lots of jobs but he isn't doing much deep digging outside of that theme.

He mentions that eventually all programming jobs will be outsourced to India because Indian developers cost 1/10 of what U.S. programmers cost. But the cost of labor is controlled by supply and demand. Programmers in the U.S. cost more because demand keeps those costs high. If the demand goes up in India and lowers in the U.S. then the gap will close, especially if unemployment is 50% in the U.S.

High value will always be high in demand. "A" players will always be able to command a premium over "B" players, no matter where they are located. So, U.S.developers will have to keep moving up the value chain.

Employment may change to such a degree by 2040 that the idea of a job may no longer exist. Currently the system of K - 12 to college to job is an institution which will have to change in such a world. When this institution fades, then people will adapt and figure out a way to add value to the world. That's how we arrive to this world in the first place, and we won't stop progressing when robots take over 50% of the jobs that we have today.

Add value and money will come. That's true today and will be true in the future. Only the structures in which we deliver that value will change.</comment>


Zune hardware was a mistake, admits former Microsoft exec Robbie Bach - <AUTHOR> http://www.theverge.com/2012/5/14/3019100/zune-hardware-mistake-robbie-bach <comment><USER2> Time will tell if the Xbox will be considered just as much of a mistake. They've lost billions of dollars on it, it hasn't given them _any_ advantage in other consumer product categories and the idea of any company "winning the living room" seems quixotic in a world ruled more by highly personal devices (phones, tablets) more than whatever's on TV.

</comment><comment><USER3> Summary of [http://www.geekwire.com/2012/robbie-bachs-lessons- intraprene...](http://www.geekwire.com/2012/robbie-bachs-lessons- intrapreneurship-xbox-zune/)

</comment><comment><USER4> Again proving that when you do something that is not in your companies nature or DNA but rather for money or reflexive response towards your competitors you will fail.

It's one of the reasons why tablet=iPad. For Apple, it's technology intertwined with their corporate DNA. For others, it's a reflexive product to make money because they see a profit opportunity.

</comment><comment><USER5> The initial Zune reviews should have tipped him off. I saved one that really amused me, and I'm glad to have the opportunity to dust it off:

"Avoid," is my general message. The Zune is a square wheel, a product that's so absurd and so obviously immune to success that it evokes something akin to a sense of pity...

        -- Andy Ihnatko

<comment><USER6> Initial reviews aren't correlated to a product's success.

Famously, the iPod was reviewed as "No wireless. Less space than a nomad. Lame."

[http://slashdot.org/story/01/10/23/1816257/apple-releases- ip...](http://slashdot.org/story/01/10/23/1816257/apple-releases-ipod)

</comment></comment><comment><USER7> I think it was a great product. I still have mine in my car (although it's use has been replaced by spotify + iphone).

The subscription service sold it. The hardware was good, but the ability to get whatever I wanted for a $15 a month charge made it one of my favorite things.</comment>


Google may face antitrust challenge on Chrome - <AUTHOR> http://www.independent.co.uk/life-style/gadgets-and-tech/news/google-may-face-antitrust-challenge-on-chrome-917260.html

<comment><USER2> Dramatic headline with little-to-no information. Sounds like utter scaremongering.

I don't really see how Google can face an antitrust challenge over Chrome: they don't dominate the browser space, they aren't product-tying or doing anything that could be construed as abusive, they don't even force you to use their search engine within Chrome, and the entire source is offered permissively and they've encouraged other vendors to use it in their products. If anything they are /encouraging/ competition in the browser space.

<comment><USER3> I can't say that I understand the subtleties, but I imagine the case would need to be built on Google's monopoly in the search engine market, not the browser market.

<comment><USER4> I don't see how they have a monopoly on the search engine market. It is definitely the most popular and probably the best search engine, but there is definitely no limit on other adequate alternatives. A monopoly occurs when a company controls a product or service significantly enough to significantly control the terms people must follow access it. Google hardly does this. Most people might choose them, but they don't need to in order to access a search engine. For example, if tomorrow Google decided to start charging a buck a search, 99.9% of their users would instantly switch search engines with very little ill effects.

<comment><USER5> Heh, try this for size: "I don't see how they have a monopoly on the _operating system_ market. It is definitely the most popular and probably the best _operating system_ , but there is definitely no limit on other adequate alternatives"

Microsoft got into trouble because they leveraged the popularity of one product (Windows) to push another (IE). Google will be fine provided they never release a feature on their website that _requires_ Chrome. At that point, what's sauce for the goose is sauce for the gander.

<comment><USER6> Google wouldn't make a Chrome-only feature, simply because then it wouldn't be available to the massive user base which _doesn't_ use Chrome. Which is most people right now, and will probably continue to be most people.

<comment><USER3> I think that depends. If Chrome actually enabled features otherwise impossible, they might. At least they'd have a rational reason too (as would all developers). Maybe Gears is more of a candidate for this.

</comment></comment></comment></comment></comment></comment><comment><USER7> It would be the final admission of failure for Microsoft to attack competitors on antitrust grounds.

</comment><comment><USER8> Three prisoners were sitting in a U.S. jail, found guilty of "economic crimes" and were also comparing stories. The first one said, "I charged higher prices than my competitors, and I was found guilty of profiteering, monopolizing and exploiting consumers." The second one said, "I charged lower prices than my competitors, and I was found guilty of predatory pricing, cutthroat competing and under-charging." The third prisoner said, "I charged the same prices as my competitors, and I was found guilty of collusion, price leadership and cartelization."

</comment><comment><USER9> good, the last thing we need to do is give Google more power in the internet space</comment>


Show HN: resource-x v1.5.0 is here for rapidly deploying APIs to AWS - <AUTHOR> https://github.com/khalidx/resource-x <comment><AUTHOR> Hello Hacker News!

Here's a simple, stays-out-of-your-way tool for deploying an API in 30 Seconds to AWS API Gateway.

v1.5.0 is here, which brings cool features like generating a terraform file or postman collection from your API resources, so you can pick up your workflow in other tools.

This is a repost of what I shared 10 months ago: [https://news.ycombinator.com/item?id=20322759](https://news.ycombinator.com/item?id=20322759)

resource-x is a simple CLI tool that gets a full CRUD API up and running in AWS in under 30 seconds.

I design APIs all day, and find myself spending hours just writing the initial Swagger API specification file.

With this tool, I just have to define a couple of schemas in a Markdown document, run generate + deploy, and I'm up and running in AWS with an endpoint I can hit. Needless to say, this saves me countless hours.

I hope it is useful for you all as well. I always get so much value out of HN, and am wanting to give back. Free forever + open source. Concerns/suggestions are welcomed!

Thanks for reading.</comment>


Clojure dropped out of TIOBE - <AUTHOR>

HN doesn't allow the link directly (since it was already posted a year ago, of course with old data), so here it goes: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html<p>Explanations? <comment><USER2> Based on previous HN discussions it might be lumped under "Lisp" at #19. Considering that Common Lisp, Emacs Lisp, and Scheme are listed separately at 41, 46, and 49; Clojure and/or Racket are about the only candidates left for Lisp being in the top 20.

Not that I think any of it means anything, since it's hard to believe that there's more Objective-C code than C# and Visual Basic combined.</comment>


Ask HN: Whats the best way to visualize event data? - <AUTHOR> Entity data is what people normally think of when they imagine data in a database.In contrast, event data describes actions that happened in your application. And scale between entity data and event data is on the order of 1:100 if not 1:1000 depending on your app.<p>So whats the best way for me to visualize whats happening over a period of time. <comment><AUTHOR> [https://news.ycombinator.com/item?id=7614666](https://news.ycombinator.com/item?id=7614666) was something interesting but no longer in active development</comment>


500Startups Unleashes Third Batch Of Companies - <AUTHOR> http://www.forbes.com/sites/tomiogeron/2012/01/26/500startups-unleashes-third-batch-of-companies/ <comment><USER2> What's the success rate of 500Startups' past companies?</comment>


'No longer kill animals': Bill Gates, Richard Branson back 'clean meat' startup - <AUTHOR> http://www.theage.com.au/business/innovation/no-longer-kill-animals-bill-gates-richard-branson-back-clean-meat-startup-20170825-gy46c8.html <comment><USER2> How will this work itself out? A few large companies owning the supply-side of lab meat? Government legislation to prevent people from raising animals for food? Lab-meat for city folk, and regular meat for rural folk?

<comment><USER3> It's an interesting question. At Infinite Food[0] we believe the key thing we can certainly bet on is change, so we're building supply chains that support both conventional and emerging proteins, and total end customer transparency. We then expect to develop a sideline in assisting emerging protein providers analyzing the market response to new products as they emerge, in different sub-market demographics.

Wild, conventionally farmed, locally raised, imported, free range, organic, insect, lab-grown, algae or plant-based proteins all have strong economic, ethical, environmental, technical or health arguments... and limitations!

[0] [http://infinite-food.com/](http://infinite-food.com/)

<comment><USER4> It would be nice if you could make this reply more generic.

<comment><USER3> Agreed. If you come up with any ideas let me know :) Seriously though, in a 'software person does hardware' scenario, is aiming for a generic and modular solution not the de-facto approach?

</comment></comment></comment></comment><comment><USER5> "I believe that in 30 years or so we will no longer need to kill any animals and that all meat will either be clean or plant-based, taste the same and also be much healthier for everyone."

Okja, anyone? :)

</comment><comment><USER6> On cultured meat, the biggest win will be environmental because CAFOs are flatulent-powered atmosphere procession stations, e.g., "climate change" is a nice manta but it's more honest to say "we're currently terraforming ourselves onto an inhospitable planet."

</comment><comment><USER7> From what I understand, people have been growing meat in laboratories for decades, but it's always been extremely expensive.

Does Memphis Meats have some special technology such that investors think it can produce meat at a reasonable price? Anybody know what it is?</comment>


In the face of a pandemic, can pharma shift gears? - <AUTHOR> https://sloanreview.mit.edu/article/in-the-face-of-a-pandemic-can-pharma-shift-gears/ <comment><USER2> "What is the point of an industry that is often one of the most profitable if it falls short when we need it most?"

I think people are asking that question already?</comment>


Ask HN: What's best mail server alternative? - <AUTHOR> I need a mail server that will primarily serve as mail transfer (ex. get/send email from gmail). The suggested solution I'd like to be open source or very cheap alternative. Checked Apache James but it sounds to complicated to implement. <comment><USER2> Explain why you want it. You'll get better answers.

<comment><AUTHOR> I need to make a web app that will allow users to send and receive email from it, using gmail account.

<comment><AUTHOR> User will be able to use her gmail or outlook or their domain email account. If it's public email provider we know smtp & pop3 details, either she has to provide these info to the app config.

</comment></comment></comment><comment><USER3> Why not just Postfix or Exim? (Postfix should be easier to use.)</comment>


Centi – Simple Powerful analytics for personal websites - <AUTHOR> https://centi.in/ <comment><USER2> Looks like a cool product I could use for my (very low traffic) site. But I am extremely leery of adding third-party scripts to my pages. I am sure Centi is made by fine, upstanding people but what happens when they get bought out by spammers? Even if they don't inject things into my pages, what happens to the data they have collected?

In the end I decided to do away with analytics altogether and just analyze my logs once in a while.

<comment><USER3> Hello maker here : Just saw this im_dario posted , I have made this precisely for the same issue ( google and other big companies controlling data ) . I can assure from my side I will give a delete button to remove all user data when they want to move on and monthly fees is the only source of income . Another reason to make the website was to make it very simple to use without too much baggage .

<comment><USER2> I don't want to pooh-pooh this project too much but you are competing with Google Analytics which is free. Here is how I break it down:

Google Analytics:

* Injects stuff into my page

* Free (at least on my scale)

* Google uses this information for its own purposes

* More features

* Tested and Trusted

centi.in

* Injects stuff into my page

* Indeterminate price

* _Probably_ doesn't sell information

* Less features

I am not really in the target market but you have an uphill battle getting customers.</comment></comment></comment>


Toward a Pill That Helps Us Learn as Fast as Kids - <AUTHOR> http://www.theatlantic.com/health/archive/2014/03/toward-a-pill-that-helps-us-learn-as-fast-as-kids/359757/ <comment><USER2> Before anyone considers experimenting with Donepezil or other acetylcholinesterase inhibitors in hopes of enhancing their learning, it should be noted that there are plenty of unknowns and a few serious concerns around altering the cholinesterase levels of otherwise healthy adults.

Briefly: Acetylcholinesterase terminates acetylcholine neurotransmission events by deactivating the acetylcholine, allowing it to be reused. An acetylcholinesterase inhibitor such as the Donepezil used in the article inhibits the action of acetylcholinesterase, which in turn enhances acetylcholine neurotransmission in a dose-dependent manner.

Highly potent acetylcholinesterase inhibitors are used as poisons (Sarin gas, for example) because they interfere with all of the acetylcholine-based neurotransmission that happens throughout your brain and body. Less potent inhibitors are used at lower doses in Alzheimer's disease as it is hoped that they will improve cognitive function and perhaps even slow disease progression. Thus far the results have been mixed.

Now the bad news: Cholinergic neurotransmission is widespread through your brain and your body. Acetylcholinesterase inhibitors are a _very_ blunt and non-specific way to manipulate that neurotransmission. Unfortunately, you can't just enhance memory formation and learning related neurotransmission, you amplifiy cholinergic transmission indiscriminately everywhere. As a result, it's possible to get some quite negative effects as well. There are reports of acetylcholinesterase inhibitors causing or at least inducing PTSD- like symptoms ( [http://www.ncbi.nlm.nih.gov/pubmed/17308243](http://www.ncbi.nlm.nih.gov/pubmed/17308243) ). Furthermore, we just don't know the long-term effects of these medications on young, healthy adults as they've primarily been studied in elderly populations.

In short: It's potentially very unwise to use Donepezil or similar medications for the purposes of enhancing your learning or your memory. Leave the experimentation to the carefully controlled studies until more is known on these powerful substances.

<comment><USER3> Don't give up - there is help. Reach out to your local chapter of Sesquipedalians Anonymous.

<comment><USER4> Out of curiosity, what simpler term would you instead use for 'acetylcholinesterase inhibitor'?

<comment><USER3> I don't have one. In fact, I appreciate the precise technical explanation. I guess I just needed to be reminded that humor is wasted on HN.

</comment></comment></comment></comment><comment><USER5> > children younger than about 7 can pick up new skills, like language and > music, much faster than adults can.

I don't think this is true. I think a determined adult learns faster.

<comment><USER6> i'm having a hard time sourcing either side of the argument, but kids learn a ton of shit.

an adult learning a language has the benefit of both abstract and pragmatic knowledge of language, having spoken at least one for some time. they don't need to spend time learning, for example, how to move their tongue to make different noises. an adult learning a language also has the benefit of being able to read, or listen, to facilitate their learning. a child learns a language without any of this groundwork.

i feel like maybe you are underestimating the sheer amount of information a child has to process and how completely foreign everything we take for granted is to them.

<comment><USER7> On the other hand, children have little else to do but absorb new information and they take a good number of years doing it. Adults have a load of responsibilities that they have to occupy their minds with. Compared to the carefree oblivion of childhood I think it is remarkable that adults can learn anything new at all.

There does seem to be a lack of research that attempts to correct for this, or at least I can't find it. In the absence of data, I prefer to believe that I'm at least as able to learn new things as 6 year old me.

<comment><USER8> Do all kids really have such vast amounts of free time in their childhood, or is that heavily dependent on the culture? I can imagine that a lot of kids have had to work and take on responsibilities at a very young age (though I don't know if they had to do that at the so-called sponge brain age).

<comment> barry-cotter Unless you've found some telepaths all children learn language by constant massive exposure. Outside of multilingual societies it'll all be in the same language too. Modern hunyer-gatherers spend ~4 hours a day doing what we'd recognise as work and this is after agricultural civilisation took all the good land. Civilisation is evolutionarily very recent. And humans have extremely long childhood period to learn probably.

Don't confuse schooling with education/learning.

</comment></comment></comment></comment></comment><comment><USER9> _Donepezil is a cholinesterase inhibitor, meaning it increases the amount of acetylcholine circulating around nerve endings._

They just casually put that there, but I don't think most readers will be exactly familiar with what that means? It's basically raising the baselevel of what is one of the most common neurotransmitters. It's a carpet-bomb, not the targeted strike the article makes it out to be.

<comment><USER10> If I recall, isn't _caffeine_ (effectively) an cholinesterase inhibitor?

<comment><USER11> No, it's primarily an adenosine antagonist.

[http://en.wikipedia.org/wiki/Caffeine#Mechanism_of_action](http://en.wikipedia.org/wiki/Caffeine#Mechanism_of_action)

<comment><USER10> Right, that's why I said "effectively": caffeine inhibits adenosine from inhibiting cholinesterase (which itself inhibits acetylcholine.) Isn't biology fun?

<comment><USER11> That may be true, but the difference is that caffeine doesn't inhibit cholinesterase across the board.

</comment></comment></comment></comment></comment><comment><USER12> In reinforcement learning, you are supposed to have large learning rate at the beginning and smaller and smaller learning rate as you go, eventually reaching zero. It would make sense for brain to use similar strategy.

In unusual cases temporarily tweaking learning rate can be profitable, and it could apply to brain too.

<comment><USER13> >large learning rate at the beginning and smaller and smaller learning rate as you go, eventually reaching zero. It would make sense for brain to use similar strategy.

Maybe if we were still cavemen living in a technologically stagnant world.

The world is changing extremely fast. Humanity _needs_ neuroplasticity boosters to keep up.

</comment></comment><comment><USER14> *neural pathways

</comment><comment><USER15> take molly

<comment><USER16> Can you leave Hacker News? Thanks

<comment><USER17> We ban people who personally attack other users. Your comment was worse than the one you replied to.

<comment><USER16> Is this a warning or am I hellbanned? I apologize for violating the rules but for what it's worth I was annoyed at the comment and didn't think to ignore it. I'd appreciate hearing back the verdict if so. I regret the comment.

</comment></comment></comment></comment><comment> mck- Limitless. Go watch it if you haven't

<comment><USER18> Limitless was based on Modafinil (a real-life nootropic you buy). You can read more about it here: [http://www.brightjourney.com/q/physical-hacks-diet- nootropic...](http://www.brightjourney.com/q/physical-hacks-diet-nootropics- use-focused-mentally)

<comment><USER19> I asked Alan Glynn (the author of The Dark Fields / Limitless) two days ago on twitter if he had based it on Modafinil. His reply (in a public tweet):

"Thanks - no, all made up, wrote it nearly 15 yrs ago, before I'd heard of modafinil, certainly before the nootropic boom."

</comment></comment></comment><comment><USER18> I'm always amazed how we don't look at our diets before resorting to drugs to treat conditions.

What you eat has the largest effect on your brain chemistry.

<comment><USER20> For amblyopia (lazy eye) mentioned in the article, diet doesn't do anything. Diet doesn't do much for neurodegenerative disorders, either. Today, when you get alzheimer's, it only gets worse. You can't eat a lot of blueberries and suddenly regain brain function.

I thought the article was good. It didn't overhype any expectations of the drugs being tested. The research appears to be proceeding cautiously, but optimistically.

<comment><USER18> It's not about eating a lot of fruits to suddenly regain brain function.

Take a look at the research on how the average diet of carbs and process foods affects our body. A ketogenic diet has shown to increase brain function in a recent study. I'll try to find it and post here.

<comment><USER14> Yeah but once you start exhibiting the symptoms of a neurodegenerative disorder, it's far too late for you because the damage has been taking place for many years prior.

Understanding the diseased brain and using drugs to reverse/attack the root causes of neurodegenerative disorders will help further humanity no doubt. The ketogenic diet does seem to help from what I've read though, so that in conjunction with drugs could be big.</comment></comment></comment></comment>


America has never embraced bidets. The toilet paper shortage could change that - <AUTHOR> https://www.vox.com/2020/4/14/21218467/bidets-toilet-paper-shortage-tushy-toto-washlet <comment><USER2> Privileged to have one. Honestly not everyone can have this 18th century invention</comment>


Simplicity: A New Language for Blockchains [pdf] - TD-Linux https://blockstream.com/simplicity.pdf <comment><AUTHOR> This field is a killer app of coq. Nowhere else do your bugs cost more while the program size is small.

<comment><USER2> Someone at the Ethereum Foundation is working full-time on formal verification, and building a smart contract language to make it easier: [https://medium.com/@pirapira/bamboo-compiler-started- produci...](https://medium.com/@pirapira/bamboo-compiler-started-producing- evm-bytecode-6a55e4633de9)

"Currently I'm confident I can write an interpreter of Bamboo in Coq or Isabelle/HOL. I don't want to expand the language much further until I write one so that I can prove properties of Bamboo programs. Ultimately I'd like to replace the compiler with a proven-correct one, but for that, a Bamboo interpreter needs to exist in a theorem prover."

<comment><AUTHOR> I'm pumped cause this will popularize theorem provers and pump a lot of money into their development. There was that Stephan Diehl talk on the front page yesterday [https://news.ycombinator.com/item?id=15582429](https://news.ycombinator.com/item?id=15582429) where he concluded that it's gonna be a while before see a language based on homotopy type theory.

He made a good argument. But these developments make me question whether crypto wont make them popular. This "early future" is kinda amazing.

<comment><USER3> Cubical [https://github.com/mortberg/cubicaltt](https://github.com/mortberg/cubicaltt) is a proof of concept programming language based on constructive (cubical type theory [https://arxiv.org/abs/1611.02108](https://arxiv.org/abs/1611.02108)) interpretation of HoTT.

Agda also added recently support for cubical paths [https://agda.readthedocs.io/en/latest/language/cubical.html](https://agda.readthedocs.io/en/latest/language/cubical.html) .

I'm also waiting on Lean [https://leanprover.github.io](https://leanprover.github.io) to introduce cubical type theory for HoTT. Version 2 of the language had HoTT based on the univalence axiom which was dropped in version 3. With cubical type theory the univalence axiom can be constructively proved and is no longer an axiom.

</comment></comment></comment></comment><comment><USER4> What I love about all this is that it is almost entirely developed by the community, without any central authority preventing it from going in any particular direction. (There might be powerful players incentivizing certain branches, but that has limited effect for a thing like this.) So despite what critics say (and I admit to agreeing with them on some points), it just feels like this whole thing has such a momentum and enthusiasm behind it that _something_ really cool will come out of it within 5-10 years, no matter what problems people point out about it at the moment.

<comment><USER5> Wait what?

Blockstream's business model depends on selling services to enterprises, that's why they keep attempting to prevent upgrades to the blocksize, to the detriment of high fees and a clogged network.

The paper here is written by a single member employed by Blockstream.

<comment><USER6> The block size limit has been increased for a number of months now, which was supported by everyone at Blockstream AFAIK.

>to the detriment of high fees and a clogged network.

Sigh. It is _astonishingly_ cheap to spend bitcoin right now. In fact, I paid the absolute minimum fee (1000 satoshis, or a handful of cents) the other day.

<comment><USER7> > It is astonishingly cheap to spend bitcoin right now.

Yep, that's what happens when demand decreases for a good or service.

Someone put it very well the other day when they said "The only winners in the scaling debate has been alt coins"

<comment><USER6> When the demand for a good increases, the price increases - which is why currently a single bitcoin goes for ~$6,400.

<comment><USER5> Well, hardly anyone is using it for anything other than speculating it might be useful one day. Everyone buys and lets the coins sit and for some reason people think this is a good useful thing to do?

Also it's quiet interesting that every major price increase, and nose dive has been associated with multi-million dollar margin trading on Bitfinix via Tether markets (which are suspected to be created out of thin air).

If the allegations are true, Bitcoin's price is mostly the result of a market controlled by a single exchange, who now holds a significant percentage of the supply.

[https://medium.com/@bitfinexed/latest](https://medium.com/@bitfinexed/latest)

<comment><USER6> It's perfectly reasonable to simply buy bitcoin and sit on it, if only for the reason it acts as a store of value relative to unstable government currency (eg. Venezuela, Zimbabwe).

The Bitfinex conspiracy is fun and entertaining to read about but more likely than not the guy probably sold early and is trying to affect the markets with FUD.

<comment><USER5> The store of value is a myth, as the value requires buyers on the markets.

The unregulated exchanges are able to act in fractional reserve as they're not required to audit their deposits. The exchanges are also able, and have been wash trading, front running, and spoofing orders, creating a false sense of volume and activity.

[https://i.imgur.com/ZwQ63OE.png](https://i.imgur.com/ZwQ63OE.png)

Transaction volume took a cliff dive once Chinese regulators forced exchanges to charge per transaction.

Bitcoins are produced for a nominal value, it's not magic or limited in supply, it's reproducible software. The same service is offered by many other blockchain networks.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I do appreciate the author's attempt to create a new worthy language really, I do a research on this topic myself.

What concerns me is that the presented language is not suitable for any practical programming. Even for the most simple smart contracts, the final Simplicity program will be huge and unreadable due to the lack of familiar data structures and constructs. The language resembles me some kind of lambda calculus which is good for theoretical investigation, but not suitable for practical stuff. I am not ready to exchange a language convenience for better provability: it must have both issues addressed at the same time, only then the mix will be right for an end-user.

<comment><USER9> Yeah. It seems equivalent in power to combinatorial logic, which is weaker than finite state machines, which are weaker than Turing machines. In fact I don't even understand why a blockchain language must emphasize provability. Why not use something like LLVM IR and let compilers handle verification?

<comment><USER8> >In fact I don't even understand why a blockchain language must emphasize provability.

For two reasons:

1) A smart contract can not be changed in a BC after deployment, so it has to be correct up-front (I am not sure if this fact is obvious for readers, so I decided to add it).

2) A compiler is able to deduce only a limited set of properties. Actually, the less expressive language you have, the more properties you can deduce at compile-time.

The proposed language have chosen to be less expressive to get a higher degree of decidability. But, in my opinion, it goes to the extreme where it becomes no longer useful. The real thing would be to find the right intersection of decidability and expressiveness.

<comment><USER9> That doesn't answer my question at all! Which of these sounds better to you:

1) Have Simplicity running on the blockchain

2) Have dumb old JS running on the blockchain, and transpile Simplicity (or anything else) to it using formally verified tools

I think (2) is better in every way. It lets everyone choose their own tradeoff of safety vs convenience, and leaves the door open for future advances in verification instead of locking in Simplicity forever.

<comment><USER10> You're neglecting the vulnerabilities associated with full abstraction failures: [http://lambda-the-ultimate.org/node/5364](http://lambda-the- ultimate.org/node/5364)

Approaches like your (2) are unfortunately fraught with easy vulnerabilities.

<comment><USER9> That doesn't seem like an argument against (2). You're just making the reasonable point that linking your code with someone else's unverified code is a bad idea.

<comment><USER10> "Unverified code" isn't the problem, because a module could do exactly what it's verified to do. The problem is that the underlying execution model exposes capabilities that the high-level language cannot represent. This lets attackers silently violate invariants that your language is supposed to enforce.

For instance, at one point on the CLR you could throw an object of any type, it didn't have to inherit from System.Exception. But the C# compiler required you to inherit from System.Exception, so a properly crafted callback from a "malicious" module could escape the your C# program's control-flow by throwing an exception that you couldn't catch.

There are loads of full abstraction failures in the JVM and other languages. So if your cryptocurrency VM can execute arbitrary programs, but your surface language is a non-Turing complete language, unless you're very, very careful, you're virtually guaranteed to introduce vulnerabilities due to full abstraction failures.

This property is incredibly subtle, so I wouldn't discount it so easily, particularly when there's so much money involved.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Blockchain programming is fundamentally different from all other programming, and we need a new language to handle that. "Solidity" is _far_ from solid.

<comment><USER12> This is fundamentally different from Solidity.

<comment><USER11> Which is what makes it better.

</comment></comment></comment><comment><USER13> A few thoughts/questions if the authors stop by since I can't seem to find a link to the Coq source:

I'm curious if there is an interpreter written in Gallina that implements the semantics? Maybe with a simulation proof (or similar)? It would be pretty sweet to have a verified interpreter.

Also, found this in the corresponding blog post while search for the Coq source.

> It is Turing incomplete, disallowing unbounded loops and allowing for static > analysis

It's definitely possible (and not so hard depending) to do proofs and static analysis of looping programs provided the specification can be encoded as an invariant. To be fair I'm not sure what the implications of non-terminating programs are in this setting and with respect to a specification.

<comment><USER14> Stupid question, isn't this the Halting Problem?

<comment><USER13> Not a stupid question at all!

An invariant that is true of all loop iterations is true of all loop iterations even if the loop diverges. Again, I'm not sure what the implications are for divergence in this setting but it doesn't prevent one from proving loop invariants.

<comment><USER15> I keep encountering what I think is a misunderstanding of Rice's Theorem. Rice's Theorem says no program can correctly decide any nontrivial property for every program. However, there are programs that can correctly decide nontrivial properties for _many_ programs! To avoid the Rice's Theorem issue, you just need to be able to say "Don't know"/"Couldn't decide".

<comment><USER12> The important word there was "every".

<comment><USER15> Right, exactly! The theorem doesn't forbid the possibility of software that decides properties of _some_ programs (including many useful properties for many useful programs).

<comment><USER16> This frustrates me a lot too-- I view it as an example of a general peeve of mine that people read too much into formal results often in a pretty cult like manner.

An example I like to use is that many people seem to believe that there is no reason to use anything other than the obvious greedy approximation algorithm for the minimal set cover problem because of a celebrated result in approximation theory that shows that no algorithm can achieve a better worst case approximation gap. Last I checked, the Wikipedia article-- for example-- pushes people in that direction.

It turns out in practice, however, on many problem cases the obvious greedy algorithm is pretty bad and simple heuristics on top of it do a LOT better. People are mistaking worst case with "average" or "typical" case.

In the problem space we're discussing here with Simplicity though, there are cases where undecidable isn't really an option: For example, if the consensus rules of a system impose execution cost limits, the result of evaluating the costs can't permit "undecidable", and so it's arguably better to work from a framework which guarantees that it won't be by construction... rather than attempting a game-of-operation where minor modifications to your program might seemingly randomly knock into undecidable-land.

<comment><USER8> > it's arguably better to work from a framework which guarantees that it won't > be by construction... rather than attempting a game-of-operation where minor > modifications to your program might seemingly randomly knock into > undecidable-land.

I presume that a programming language is a compromise between expressiveness and decidability. Cost estimation feature is definitely a good one until having that feature stops you from being able to develop your business logic in a convenient-enough manner. Regarding the latter, I am not convinced that Simplicity is a nice fit.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> This looks really interesting! I think purity is a perfect fit for smart contracts, since there's no global state to access — at least in the Bitcoin blockchain — and side effects don't make much sense.

Question: speaking in Haskell-terms, is this Simplicity Core language similar to GHC Core in that it's a typed intermediate language (not intended to be written by programmers)?

Would be nice to see a higher-level language that compiles to, first, Simplicity Core and then Bitcoin script — including example contracts implemented in that language (ie. the various contracts used for Lighting Network).

</comment><comment><USER18> The biggest difference from Ethereum is not the lack of Turing Completeness but:

> Maintain Bitcoin's design of self-contained transactions whereby programs do > not have access to any information outside the transaction.

This drastically changes the use cases, and may keep both chains complimentary.

<comment><USER16> > This drastically changes the use cases,

I don't agree. It is possible to keep the interaction pure without any practical loss of functionality-- a transaction still has access to its own casual state, in particular using a technique we call covenants (which is mentioned in the paper).

This kind of controlled state management avoids the destruction of scalablity (no caching, no parallelism, no out of order processing, no skipping activity when overloaded) that we've seen in other systems.

Using covenants Russel was, in earlier work, able to implement "Vaults"\-- a kind of useful smart contract some have described as impossible in Bitcoin-- in the elements implementation of Bitcoin Script (it uses opcodes that are currently disabled in Bitcoin) with no changes to any of the system's state management. Part of the overall intent with Simplicity is to make this kind of approach efficient and accessible.

</comment></comment><comment><USER19> doesn't feel simple :|

<comment><USER20> It might refer to the objective "simple" as opposed to "complex", rather than the subjective "easy" (as opposed to "hard").

</comment></comment><comment><USER21> FYI for the authors. Typo on page 3: " All Bitcoin Script operations are pure functions of the machine state expect for the signature-verification operations. "

And page 4: "As such, we expect it to be a target for other, higher-level, languages to be complied to."

<comment><USER11> They should have formally verified the paper as well as the language.

<comment><USER22> Or, if you're lazy like me, get a subscription to grammarly.com. As a technical publications editor I can say that it's worth every penny.

<comment><USER23> > Or, if you're a technical publications editor, get a subscription to > Grammarly⁽¹⁾.

[ed: you almost certainly will not achieve a net benefit from paying a _subscription_ to an orthographic linter.]

____________________

¹ [https://grammarly.com](https://grammarly.com)

<comment><USER22> There's a free tier too but it's definitely great for me! Where I work, we have a policy about using perfect English in every message we send.

</comment></comment></comment></comment></comment><comment><USER24> For the German speakers: Omega Tau has a pretty good podcast about Ethereum and Solidity: [http://omegataupodcast.net/265-ethereum-and- solidity/](http://omegataupodcast.net/265-ethereum-and-solidity/)

<comment><USER12> What does that have to do with Simplicity?

<comment><USER24> Nothing :-( . I confused Solidity with Simplicity. Seems I was a little too excited reading "language" and "blockchain". Still a good podcast though.

</comment></comment></comment><comment><USER25> Looks exciting - will need to take some time to read this in more detail. Off- hand, will this not be able to handle ASN.1 certificates due to their Turing completeness?

<comment><USER16> You can express reading ASN.1 certificates in Simplicity so long as you have an additional explicit constraint on their depth.

In practice one always exists, just not explicitly, and instead implementations will randomly fail or disagree with each other where you exceed their hidden limits... limits which might arise out of their construction implicitly (and depend on the user's configuration) and not even be known to the program authors.

</comment></comment><comment><USER26> The Reddit post also has some good discussion on it :

[https://www.reddit.com/r/Bitcoin/comments/79ohjw/bitcoindev_...](https://www.reddit.com/r/Bitcoin/comments/79ohjw/bitcoindev_simplicity_an_alternative_to_script/)

</comment><comment><USER27> After reading the paper you will see why Simplicity is not the right language for this semantics. Lisps are better fit for such tasks.

<comment><USER28> I will need to take a more careful look, mostly because it was too complex for my understanding, but some of the code indeed look a little like Lisp.

EDIT: Why do you say that?</comment></comment>