Not A Waste - <AUTHOR> http://al3x.net/2011/03/18/not-a-waste.html <comment><USER3> "But it's worth a read to understand the perspective of a vocal minority in the tech industry."

That statement is a bit off-putting. First of all, this 'minority' is the majority. Most software businesses are indeed small, and are not aiming for venture capital and outsized returns. It would not even be mathematically possible to be otherwise.

Secondly, the 'vocal' people are the people trying to make you start a big business. Almost all blogs and writers cater to the startup crowd, not the mISV crowd. Most people writing country specific tax software or inventory sorting software are not blogging at all.

Maybe I am misunderstanding what he means - but to me it seems like he is deep in the bubble, and can't see out of it. That's why the article he reacted to would have been so disturbing to him.

<comment><USER4> Yeah, it's truly bizarre that Alex is at Amy Hoy's throat about this. Amy is utterly dedicated to encouraging more people who don't feel safe starting a business to GO DO IT. That seems like something Alex would be into.

Maybe because he's shooting for the stars right now with BankSimple (which I am SO excited about) he's feeling a little nervous about that strategy. Being pre-launch on something so anticipated and ambitious must be at least a little scary!

<comment><USER5> I guess I can understand Alex's perspective when I consider he's one the lucky few to be on the 0.0001% side of the equation and raised $2.9 million first round funding. (Must be nice.)

<comment><USER6> I think the idea that only %0.0001 of people who enter into startups walk out with their lives improved is absurd. It's a myth that we're all in this game for an FB payout, and it's a myth that that's the reason we want to play the game.

Most of my startups have had payouts to me personally, via either stock buyback (to retain control of the company while securing more funding), or exit deals (in the case of powerset). And even for the cases where I didn't get a big payout, my experience and skills were improved dramatically by the environment and demands placed on me by the job.

I went from working a dead-end job at Lockheed Martin and getting less than 3/4 the fair salary for someone with my skillset to courting jobs and turning people down. Anyone who knows me will tell you I am _not_ a lucky person, and I am not a brilliant star amongst the constellation of smart people that fill the Valley. I simply play the game and move to jobs that balance my personal improvement with my chance for a payout.

<comment><USER4> I really like your ideas here! But the thing you do where you take what someone else said, and then turn it into something absurd, and then call them out for being absurd... it doesn't really move the dialog forward.

jv22222 said "Alex [is] one the lucky few to be on the 0.0001% side of the equation and raised $2.9 million first round funding"

You translate that to "only %0.0001 of people who enter into startups walk out with their lives improved"

Really, what does that accomplish?

</comment></comment></comment></comment></comment><comment><USER7> Let's say I buy a box of doughnuts and go down to the street corner and sell them.

For each doughnut I sell, somebody gives me money and I give them a tasty treat. They are happier because of our exchange, if only for a short while, and I know that I have "done some good" for that hungry person.

Now I could just as easily stay home and try to invent the uber-nut, a killer replacement for doughnuts that costs half as much as lasts twice as long. A treat that will change the snacking world as we know it! I can build a factory to make uber-nuts, I can design complicated equipment, I can go on the web and talk about how earth-shattering uber-nut is going to be.

But none of that sells any uber-nuts. It's just me spinning out an imaginary architecture and vision of world domination and using my skills to construct this fake world where it all is going to happen.

For every guy who makes an uber-nut and changes the world, there are _thousands_ of failed attempts. For all of those attempts, most of them result in making the world no better at all. It's a long, bitter experience. As opposed to the guy who actually buys the doughnuts and goes and sells them, where he knows he is doing some small amount of good in the world. For every 20 or so guys just looking to make a difference, any difference, only one of them makes it happen.

Those are some amazing numbers, and you'd be a smart person to take some time and think about them.

What folks are saying is simple: Go make a difference. Right now. Some little, _real_ difference. Sell a doughnut. Find a small niche and improve people's lives in it. Because even if you do one tiny, unimaginative, boring thing that only helps one person in some really small way? You've actually _done_ something. As opposed to imagining you are creating the next earth-shattering invention and then flaming out. Because even if you created the uber-nut that changes snacking as we know it? You're going to do that by making a box of uber-nuts and going down to that street corner and making one person happy at a time. You roll out huge changes by picking one small niche at a time. It's the same difference. The key question here is how much self-bullshitting you want to do versus how many doughnuts you want to sell.

<comment><USER8> "The key question here is how much self-bullshitting you want to do versus how many doughnuts you want to sell." <\- This.

One of the best comments i've read on HN. What you just said knocks it out of the ballpark.

The thing that is wrong with the lifestyle business though is that at some point the founders intend on stopping their value creation beyond what they need to survive.

It's inherently selfish while the startup is inherently (mostly unintentionally) unselfish.

That's what, i think, the OP was trying to say with his post.

<comment><USER9> Are you sure you want to claim that startups are unselfish? And furthermore, what is wrong with being selfish?

Selfish can make the world better as a byproduct.

</comment></comment></comment><comment><USER10> I find this notion that small businesses mean small impact downright bizarre in the Internet age. BCC is pretty freaking small. I have _hundreds of thousands_ of users and _thousands_ of customers. I wanted to go into teaching back in the day. I taught more lessons to more kids while sleeping last year than I would have been physically able to in a several lifetimes.

A time tracking app with a thousand customers improves the life of enough people to pack a stadium. Their businesses improve, their families make more money, their customers see less deadweight loss dealing with them, their communities see the benefits of economic growth, etc etc.

<comment><USER11> Hear hear.

If I can give 1,000 people an additional 15 minutes of pleasure a day -- or 15 minutes less of stress & self-recrimination -- then that is 250 hours of additional happiness added to the world. Or 3,800 days of additional happiness per year.

That's a lot of extra happiness.

</comment></comment><comment><USER12> I think that his comment about AmyHoy's app was childish and his comments in this article are both naive and megalomaniacal ("I'm trying to touch more people's lives than you, so I'm better!").

I get the feeling that he doesn't understand the different types of glue that hold together the various scales at which society operates.

This coupled with yesterday suggests a childish acting-out of sorts.

I prescribe a healthy dose of spending time with people instead of trying to change the world from your computer desk.

</comment><comment><USER13> _When you look back on your life, do you want to be the person who got by and lived for your own happiness, or the person who brought happiness, security, and prosperity to countless others?_

I think this is a false dichotomy. If not, then the word "countless" is important.

Most of these small businesses are "lifestyle businesses" because they purposely limit their market by focusing on a specific niche. This is one reason they're supposed to be a "safer" bet -- you address a need that you either already know well because you are a part of the market, or it's small and accessible enough that you can get a firm grasp of its needs and provide value.

Yes, these businesses provide value. That's what their customers are paying for. Is it not noble (or at least, not self-serving) to provide value to a few thousand, say, occupational therapists who need a particular service that they're willing to pay $10 a month for? Or is it only worth venturing to help "countless" people?

My father is a doctor, and his lifetime number of "customers" is probably a lot lower than a largeish web app serving some good purpose, but I wouldn't call it a wasted life.

<comment><USER14> "My father is a doctor, and his lifetime number of "customers" is probably a lot lower than a largeish web app serving some good purpose, but I wouldn't call it a wasted life."

I would disagree. Doctors help save and improve people's lives. Those people then go on to continue to impact people. Doctors most certainly help "countless others" :)

<comment><USER15> I think that was jraines's point: if you're going to be reductive about how you measure impact, your conclusions are going to be silly.

</comment></comment></comment><comment><USER16> I think there's a really strong disconnect here that is really common around HN - basically, do you really want to change the world? It seems like people have a tendency to answer "yes" to this question because the alternative makes you look dispassionate.

This line of thinking makes the assumption that ambition is a necessary prerequisite for efficacy. I'm not exactly in a position to qualify this statement, but I would guess that the people who make the greatest positive changes in the world weren't necessarily setting out to have a huge impact, they were just doing what they knew to be right.

Because everyone loves statistically unproven case studies, I offer Penny Arcade. PA launched a webcomic in 98. Five years later, they launched Child's Play - a charity that has raised ~$9M to fund research and facilities for children's hospitals.

When asked about it, Mike mentioned that, when they started Child's Play, neither of them were parents so they didn't know how effective their efforts would be, they just knew it was the right thing to do.

<comment><USER17> I agree. Which type of story resonates more with would-be entrepreneurs? The "I want to help others via my business" story, or the "I hate my crappy job, and want to seek what I perceive to be happiness via my own business" story?

I'm not saying that you can't have a mixture of both, or transition from one motive to the other, but most people's first thoughts are about themselves, others tend to come afterward. We are afraid to admit this in public, but I think we can all agree it exists.

So what's wrong with seeking personal happiness first? Does that preclude you from being more altruistic later in life? If you can put others' needs first, more power to you, but that doesn't make those who cannot worse people.

<comment><USER11> Very good points. To which I'd add, happiness is a social contagion. Happy people make people around them happier. They are nicer, more generous... they give more to charity. Etc. etc. etc.

But woe be unto the selfish, lazy person who seeks personal happiness. Somebody out there is ready to school him/her on what he/she really ought to be doing!

</comment></comment></comment><comment><USER5> When I read through your post it was all going well until the part where you say:

"At the core of the pro-micro business argument is an idea that I find hard to swallow: that merely being happy should be purpose enough for a person."

Wow.

Doesn't everyone have the goal of being in an non-state of pain and suffering. Which, is basically the same as being happy/content/satisfied.

If _your_ "non-state of pain and suffering" = you need to be a billionaire... then, there was NO point in my original article that said "you can't be a billionaire". So what relevance does that point have to the article?

The main point I was trying to make (and it's my lack of good writing that didn't get this across) was absolutely nothing to do with what your post talks about.

I was proposing that we would all have a better ultimate chance of fulfilling our entrepreneurial goals if the very first thing we did was to build a micro business.

Build a micro business. Make it successful. Then swing for the fences.

The advantages are:

\- You will have a more rounded understanding of "business"

\- You will be financially free and able to pursue your other big risk ventures

\- You will loose less % in any future investment deals you cut because you will have proven yourself

\- You will ultimately have more control and less people to answer to

"The waste" that I was referring to was that by taking the other route (chasing after golden ticket investment) is a waste of potential real world business learning.

Sure we all learn with every route we take, but the faster and more immersed we become in dealing with ALL aspects of business - the better we get.

The beauty of a micro business is that it's far easier to see all the facets of business. Any other route... there are bound to be some facets that we miss out on compared to a microcosm of a total business experience.

</comment><comment><USER18> Boy is this thread boring. I was about to write that it's like a thread about politics or religion: huge angry comments that teach one nothing. Then I realized why. The whole question of startups vs "lifestyle businesses," while a neutral topic for most people, is for many of the users of this site a matter of identity (<http://paulgraham.com/identity.html>).

<comment><USER19> I find your comment even more obnoxious that what al3x wrote, just for its sheer disingenuity.

This isn't a neutral topic for you either, not in the slightest, but declaring the discussion to be as useless as /r/atheism is simply petulant.

The top level of comments in this thread (barring yours) is full of some of the most helpful and insightful comments I've ever seen on HN. A respected member of the community flames out and people are earnestly helping him figure out where the disconnect was. Given that he chopped down his blog post in response, it looks like al3x really appreciated them and is understanding that the flaminess of his argument wasn't what people were really upset about.

<comment><USER18> Actually it is a neutral topic for me. I know there have to be both types of companies, and no one is more aware than I am that startups aren't for everyone, because every 6 months I have to pick, from a huge pool, the people I think are suited for it, and it's painful for all involved when I pick wrong.

If you're going to be so nasty, you should be sure first you're right. Though frankly, if you're right, you don't need to be nasty.

<comment><USER20> You just reframed the debate in the light most favorable to your argument. The issue isn't whether there should be lifestyle companies or not. The issue is, for a hacker equally capable of and equally armed by circumstances to starting _either_ a "lifestyle" business or a shoot-the-moon startup, is there a "right" choice?

</comment></comment></comment></comment><comment><USER21> I think an apology to Amy, even just one sentence, would have been good. Calling her out seemed really unnecessary. Otherwise, it seems like a more well thought out comment than the original: <http://news.ycombinator.com/item?id=2338911>. I still disagree, however.

<comment><USER6> He as apologized for his tone more than once, and in more than one venue. What more do you want? [http://isalexpaynesorryforhistonetowardsamythatdreadfulthurs...](http://isalexpaynesorryforhistonetowardsamythatdreadfulthursdaynight.com)?

<comment><USER21> I'm not talking about his tone, I'm talking about how he called out someone for no good reason.

<comment><USER6> You can't unsay something you already said, man. Or did you miss how this all started?

</comment></comment></comment></comment><comment><USER22> > Some readers found my comments to be anti-small business. This was not my > intent.

Then you should have avoided statements like "There's nothing wrong with being a small software company.... It's boring, but there's nothing wrong with it. Don't expect anyone to celebrate you for doing it, though."

I don't know what your intent was, but it comes across as very hostile to small business.

</comment><comment><USER23> I'd be a lot more sympathetic to this argument if I thought the people "swinging for the fences" were really creating something of lasting human value. Maybe I'm in the minority on this, but it's not clear to me at all that things like Twitter and Facebook empower the man in the street nearly as much as they empower entrenched interests.

Just yesterday I was privately lamenting all the energy young people today are pouring into gimmicky, me-too social networks and into chasing dollars. I'd love to see that energy redirected into something more artistic and creative and, yes, personal.

</comment><comment><USER24> So it's morally superior to use your rad skills to get rich and make the world a better place than by simply using your rad skills to have a good life? Sure.

Are 99% of the people really swinging for the fences doing this? No.. they are trying to get fame and fortune for the fun of it. Nothing wrong with that; but let's not get confused about what we are talking about.

I am 28 and will probably never have to work more than 20+ hours a week doing things I enjoy for the rest of my life. I imagine far less than that in not too many years. I could really swing for the fences and bust my ass until I am 45; but that is 17 years of not engaging with my life in the same way I would if I weren't "working" all the time.

</comment><comment><USER25> I'm saying this earnestly and with care:

The first priority should be finding out what is right for yourself. Ultimately, no one can tell you what is right for you.

Hacker news is a good place to reflect, but hopefully you can read things without having your whole mental framework being disrupted by one article with a different perspective.

</comment><comment><USER26> Uh, I think microbusinesses may be more oriented towards "making a difference" than some businesses that go the V.C. route.

It would be unfair to tar all V.C. funded companies with the same brush, because many of them really are trying to create something awesome and make a splash in the world. However, when times get bubbly, people come out of the woodwork who are more concerned with making a fast exit than they are in building a business.

Whereas, if you're bootstrapping a microbusiness, you need to find some market where you're making something somebody is willing to pay for right away, so you're definitely "making a difference" for somebody, even if you're not changing the world.

</comment><comment><USER27> pg seems to have said something alex'ish elsewhere:

"I once sat in a crowded hall and listened to Paul Graham give a keynote presentation about going big, doing it quickly, and getting tons of funding. During Q&A, someone asked what was wrong with instead of trying to go big with big money backers, you just went for profit and kept ownership to yourself and Graham said something like "you want to run a little business? Go run a shoe store then"

Matt Haughey [http://dashes.com/anil/2011/01/mom-and-pop-at-web- scale.html...](http://dashes.com/anil/2011/01/mom-and-pop-at-web- scale.html#comment-6a00d8345409f069e20147e2000033970b)

</comment><comment><USER28> Alex Payne is a self-professed afficionado of minimalism and good design - <USER2> just in software, but in physical products.

I'd venture to say that a great deal of good design work is done by small studios which would count as 'lifestyle' businesses by his description.

Is he claiming that by trying to make real but incremental improvements to relatively mundane things, these designers are wasting their lives? Should they give up their practices and instead concentrate only on the most world changing ecological projects, or trying to create the next iPod or Dyson?

If not, why does this apply only to digital goods, and not physical goods too?

Accusations of 'hoodwinking' aside, A successful lifestyle business implies that you're doing something that other people value. A failed 'shoot-for-the- moon' business does not.

</comment><comment><USER29> Thanks! I wasn't aware of Amy Hoy before this but now I've got a new role model to aspire to :)

<comment><USER30> Yes the twitter dropout only helped Amy gain exposure

<comment><USER31> So he "dropped out" of Twitter. Where did you drop out of?

</comment></comment></comment><comment><USER32> I like this post, even though I disagree with it, because it gets at the fundamental moral motivations and justifications behind starting a business. Alex is an altruist, and from that perspective it indeed makes sense to try and go big. If it's your duty to improve as many lives as you can, why not try and go big? What's interesting is hearing it from that perspective rather than a more selfish perspective.

From a more selfish and individualistic perspective, I think a small business makes sense if you consider your moral duties to only go as far as producing more value than you extract from the world. From this perspective, it might be praiseworthy to try and provide as much value to as many people as possible, but it's not obligatory to be much more than a net positive contributor. And I think a lot of people go about as far as living up to their moral obligations and then satisfy their own desires after that.

</comment><comment><USER33> Yesterday when I saw his comment on twitter I almost fell into the "someone on the internet is wrong!" trap, but today I feel I can't resist.

Almost everything about this angers me. It's presumptuous, arrogant, intellectually lazy and fallacy driven. And worst, Alex not only thinks he's correct, but morally right! Absurd!

Lets start at the top.

1\. "If selling subscriptions to a small web application to cover my mortgage and subsidize my hobbies is "freedom", then I'll happily risk incarceration." - All Alex is really saying is that he defines "freedom" a different way than x person. You can't really judge that. Perhaps be perplexed, maybe inquisitive, but don't judge. In this regard, to each their own. And please don't confuse what makes you happy with what makes someone else happy. Alex is saying that obligation makes him happy. Great! Go for it. Someone else is saying that taking care of their family and living a simple live makes them happy. Cool...

"Seek first to understand, then be understood".

2\. "When I read statements like this, my secular humanist streak flares up. ... We should endeavor to improve the lives of as many people as possible in a lasting and significant way, making the most of our own skills in the process." - Uhm...wow? This is nearly a nonsensical statement, saved merely by the fact that I _think_ I know what he is trying to say. Several problems arise from this statement, the first being that he brings in Humanism. Humanism, meant to enlighten perspective, only clouds the statement with doubt. Secondly, "should" is a word that will always get you into trouble with regard to other people. "Should" implies "I know better than you" or "let me tell you why you are wrong" not "hmmm..interesting perspective but I've always been of the mind that " which is a conversation, not an attack.

Lastly, it is worth noting that the statement is cute in that it provides an ego boost for the person espousing it, the statement itself is nearly worthless alone. I suspect that the statement serves to boost ones ego more than it serves to guide ones life. It also smacks of a statement made by someone with very little life experience.

3\. "Building a business around maximizing your individual happiness is not particularly useful or admirable. That is my position, and I'm well aware that it may be unpopular with some." - Equivocation. Alex is not using the "term" happiness to talk about this side of things, but that is what it is. He is striving to find meaning/happiness on his own terms in his own way: by going big and making an impact. Deriding someone for doing the same thing in a different way is, at best, silly, at worst, narcissistic.

I would like to leave with a story about a country doctor I knew. He worked for 40 years in the bush in Australia. He loved living there and it was where he grew up. He was able to make a good living working there and being the small town country doctor and generally found happiness doing it. He told me about when he did a rotation in the UK and was offered a job starting a new hospital. He would have been able to reach massively more people in one year than he could in his entire work life in the country, make tons more money and have a hugely beneficial impact. He turned it down and went back to Australia. His reasoning "someone other than me would have taken and done that job, but that same person was unlikely to help these people in this town."

<comment><USER34> I had a reply that said a few things along those line, deleted it. Yours is much better.

Just wanted to add a few things:

1- some contributions in this world are only _accidentally_ world changing (see various open-source software). They were not done with some zealous ambitions. Their instigator merely had an itch to scratch and it turns out that the rest of the world appreciated it so much that it just took a life of its own.

2- I am a notoriously trashy person, yet I love a clean space, but I'm also notoriously slow to clean stuff. There's this little lady who has a business cleaning apartments in the neighborhood and she comes once in a while to clean up my place for 30$ (takes her about 30-45min). By _some_ people's standards she's only making herself happy with her business. But I'll tell you, when she leaves my place my brain starts functioning again. The place is spic and span. I produce some of my best code and sometimes throw in new features for my clients for free. I'm pretty sure it might make their own clients happy. This is the butterfly effect of small contributions. You don't need to change the entire world to make a difference.

</comment></comment><comment><USER35> In one line: the classic dichotomy of opinion just degenerated into a vitriolic debate.

If only sanity prevailed, most commentators would probably dismiss this entire conversation with a "to each his own".

Dwell on the entire conversation for a couple of minutes, and it's immediately apparent that it smacks of religion. I'm ashamed to say a lot of individuals I have a tremendous deal of respect for, have dropped their guard in an unabashed attempt to proselytize the masses.

Yes, I get it. You feel strongly about it, and your unequivocal about how you feel. That's why it's called religion. Just don't shove it down other people's throats.

If there were ever an embodiment of Paul Buchheit's words "ADVICE = Limited Life Experience + Overgeneralization", this would likely be it.

</comment><comment><USER36> I live in neither the of these camps. Perhaps that's why both articles read the same to me - "here's how I think you should lead your life". Nonsense.

</comment><comment><USER37> A healthy economy needs a balance of small and large businesses. Today's technology is making it easier to make incremental improvements to existing ideas, which are usually small businesses. This is a safer strategy and people could flock to it like they flock to safe corporate jobs today.

It becomes a problem when there is an imbalance. Many domains/markets are crowded. Today we have too many CMSs, fart apps, MVC frameworks etc.. At one point we had an abundance of word processors.

It wouldn't be healthy if every programmer tried to make his own word processor, progress in the domain would flat-line. It's only after the dust settled and people had time to think about the concept that we have some genuine innovation, like the no-distraction trend.

Too many small businesses in the same niche is just as bad as a monopoly if your goal is technological progress. The money is distributed differently of course, so if your goal is to create a healthy middle class, small business overcrowding is better than big business monopolies.

It's hard to judge what the right balance is. People working on ideas that don't scale don't crowd the space for ideas that do. Like all matters of complex systems, it's complicated. We won't get to the bottom of it with essays alone.

</comment><comment><USER38> Doing enough to 'get by' is not failure. Sometimes you do what is necessary to make ends meet to feed you and your family, and helping others in significant ways has to wait.

A large hole would be left in most modern economies without the 'lifestyle' business and 'solo-preneur'. If you believe in this so strongly, is BankSimple going to reject anyone who is 'wasting their life' by your account?

</comment><comment><USER9> I think most entrepreneurs overestimate the amount of "world changing" they are actually doing.

The original post was off-base, and I think this one is too.

<comment><USER39> Alex worked at Twitter, pretty world changing if you ask me.

<comment><USER9> really? World changing how?

<comment><USER39> For example for reporting fraud in the Iranian election which wasn't being reported otherwise. Enhancing free speach in 'Trafigura' situation in the UK. Numerous other examples at <http://en.wikipedia.org/wiki/Twitter_usage>

</comment></comment></comment></comment><comment><USER40> The implicit assumption he makes is that small businesses are incapable of positively affecting a lot of people's lives.

A (slightly tenuous) example: I derive significantly more value from Instapaper/VLC/Thunderbird than I do from Twitter or Facebook.

2 of those 3 are not even for-profit ventures and the other one is very much a 'small business'.

</comment><comment><USER41> > We should endeavor to improve the lives of as many people as possible in a > lasting and significant way, making the most of our own skills in the > process.

Why the qualifier?

</comment><comment><USER42> "Even if one's contributions are comparatively modest, we should admire the individual who tries to help others in significant ways."

Effect should be judged more highly than intention. We all know what the road to hell is paved with. And the vast majority of the improvement in the human condition has been unintentional, as a side-effect of selfish actions in the free market.

</comment><comment><USER43> That was really uncharitable towards small businesses. The article makes a false dichotomy between wanting your freedom and helping other people. Surely my ability to do the latter is maximized once I'm free of the need to go to a soul-sucking, exhausting 9-5.

</comment><comment><USER44> So this is a reply to a blog comment board? Why put it on HN and not on the comment board itself?

<comment><USER45> A desire to change the world, apparently.

</comment></comment><comment><USER46> That was a lot of writing. While you may have clarified your views I have to wonder how many will fully read them.

That being said - and having read the full piece - you have a view and are attempting to communicate it and that is to be commended.

</comment><comment><USER47> Oh, come on. How many successful startups can you list that are benevolent world-changing businesses versus how many are simply solving some technical problem or a fun distraction.

</comment><comment><USER48> Do you want to impact as many people as possible because that is what makes you happiest?

</comment><comment><USER11> There is a big difference between people who tell you what you CAN do, and people who try to tell you what you SHOULD do.

I can't decide which is more aggravating -- that somebody many people respect is out there, in public, trying to shame me by claiming that I'm not living up to my potential... (that my dreams aren't big enough, that what I do isn't good enough for the world, blah blah blah).

Or that the person doing it seems to be ignorant of what I'm actually about and what I actually do, and why, and what my future plans are.

Should I defend myself by explaining myself, or should I just fight the very idea that anyone should expect me to explain myself -- especially after insinuating something so rude, that I was "duping credulous customers" into buying trendy crap?

After some reflection, I'm going to stick to the latter course.

By the way - why me? Wondered that? Me too. I wonder if it had something to do with the fact that, many moons ago, al3x approached me to design the first preview version of BankSimple. It didn't work out, and I always figured that's because they really wanted a full-time designer and I was definitely unwilling to devote more than a little bit of consulting time to it, because I was committed to my own products.

KirinDave is going to come on here and try to skewer me, imply I'm lying and that story is untrue, etc., etc., so I'll just pre-empt it here and state that that is his viewpoint.

FTR: I think BankSimple is going to be really awesome, as well as beautiful, and that al3x is very, very, very smart. Yet this whole brouhaha is extremely confusing to me.

<comment><USER49> A few brief thoughts on this:

\- I understand how it hurts to be unjustifiably attacked for doing what you love. But I believe you'll only benefit from this, because your work will be exposed to more people as a result of his attack. No one here seems to believe that you are duping people.

\- I don't have any way of knowing this for certain, but from the way how Alex writes, I get the impression that he doesn't really know what it means to be broke as hell. If he did, he'd probably consider lifestyle businesses as the saving grace for many people out there, rather than a manifestation of small ambition.

\- Lifestyle businesses can become empires with time. It's just a different approach to reach the same end goal of creating stuff you love, and doing something that matters.

<comment><USER11> Oh, I'll absolutely benefit from this. No doubt about it. But this is not how I would have picked to gain exposure. I like al3x.

</comment></comment></comment><comment><USER50> What bugs me about Alex's post is that he started at twitter what -- 9 months in? I think I read that somewhere. So it's not to hard to imagine that, given his early start date, and given Twitter's amazing valuations, and given that some employees have cashed out, that he also has taken some money off the table. So my apologies if I'm wrong, but your perspective totally changes even if you make, say, $1MM in cash. That certainly isn't fuck you money, but it does really allow you to be very selective about what you do for the rest of your life and insulates you from lots of downsides. The fact is, _if_ he has a million dollars or so and he shoots for the moon on try 2, his worst case scenario is he has $800K after not taking a salary for 2 years and not even trying to conserve cash. Whereas the downsides facing a different person without a large cash cushion are much worse.

Just my .02, and obviously, if Alex hasn't cashed out, he still holds a decent chunk of Twitter stock that is probably relatively easily converted to cash. That's not to say I don't respect him, because I do, but I think that -- as the 37 signals people have beaten to death -- if you have a 10% chance at $1MM or a .0001% chance at $1B, you'd probably be a fool not go for for the easier, more likely money. Try to shoot the moon try two.

</comment><comment><USER51> I've seen good points on all sides of this debate. What I think hasn't been emphasized enough is that one goal/philosophy does not preclude the other. You can do both. For example, you can first aim to make a small exit, and/or a small recurring revenue from a lifestyle business, then, move on to try a larger exit, or add additional revenue streams. I do think the "let's go for a huge exit, and change the world!" on one's very first attempt, especialy if you come from humble financial background, or have significant financial dependents, is probably not wise, in the general case. You should crawl before you walk before you run. Plus if you are going to fail, don't let anybody kid you into thinking it's better to fail using millions of dollars of other people's money than to fail with just a few hundred of your own. It's nice to have the ability to quietly bury your mistakes. You still get the upside of learning from them, but with less of the downside.

Side note: Ack, just got bitten by the "Unknown or expired link" flaw with HN. Paul, man, what is with that? Bad user experience. Don't tase my flow, bro! :)</comment>


Ask HN: Your favorite functional programming language and why? - <AUTHOR> <comment><USER2> F#. It is well supported and the tooling works out of the box. Lots of data analysis tools, winforms for graphs, REPL...etc. The doc could be better though and there is no real beginner tutorials. Everything assumes intermediate to advanced C# knowledge.

</comment><comment><USER3> Scala -- great online learning resources (Coursera series), good integration with Eclipse, unique and convenient "worksheet" interface and repl, and significant benefits when working developing big data applications with Spark.</comment>


Florida schools replacing teachers with computers - <AUTHOR> http://www.nytimes.com/2011/01/18/education/18classrooms.html?pagewanted=1&_r=1&hp

<comment><USER2> Class-size limits are an artificial constraint which were introduced because they occupy that happy space in the middle of the Venn diagram between "sounds good to voters" and "does something teachers unions actually care about." They do little, if anything, for education. You could solve this problem in an afternoon if you wanted to -- repeal class size limits, done.

That will only actually happen if there is a severely negative outcome to this situation... like the computers improving educational quality when compared to teachers.

<comment><USER3> Do you have evidence that class size doesn't matter? It seems intuitively obvious that class size does matter. Consider a single teacher teaching 60,000 average students in a stadium sized classroom versus a single teacher in a classroom with 20 average students. It seems to me that the probability of success in the latter classroom would be significantly higher than in the former. I don't know this to be true but it seems like it should be true. I'd be interested in knowing if there is research supporting your position.

<comment><USER4> He can't really provide the evidence because it does not exist in any meaningful manner. There is an overwhelming amount of data showing that reduced class sizes lead to better overall student performance and that smaller classes have a disproportionately large effect when used in disadvantaged/urban schools and when used very early (e.g. K-2nd grade.)

<comment><USER5> If the data is overwhelming, how come you don't cite any of it?

The first few google results that address this point [1] seem to disagree with your claim that the data is overwhelming.

At the college level at least, student performance is unaffected by class size: <http://sigmaa.maa.org/rume/crume2010/Archive/Gleason.pdf>

In french grades 1-2, teacher education and class size (variation of 10 students) affects outcomes by only 3%, which they claim is statistically significant: [http://www.ilr.cornell.edu/international/events/upload/Prost...](http://www.ilr.cornell.edu/international/events/upload/ProstTeachers.pdf)

But I'm no expert. If you have data, can you cite it? Because a quick google search suggests patrick is right and you are wrong.

[1] A few of the studies at the top of google results don't address student performance, but instead focus on student satisfaction.

<comment><USER4> Since "google it" seems to be the alpha and omega of your research abilities, here are some papers and research from the last five years that supports the case that smaller class sizes leads to better student outcomes when applied to K-6 education (as in long-term quantitative results and not just "student satisfaction"):

Spyros Konstantopoulos and Vicki Chun, _What Are the Long-Term Effects of Small Classes on the Achievement Gap? Evidence from the Lasting Benefits Study,_ American Journal of Education 116, November 2009.

Peter Muennig and Steven H. Woolf, _Health and Economic Benefits of Reducing the Number of Students per Classroom in US Primary Schools,_ American Journal of Public Health, published online September 27, 2007.

Philip Babcock and Julian R. Betts, _Reduced-class Distinctions: Effort, Ability and the Education Production Function,_ NBER Working paper 14777, March 2009.

Sarah Theule Lubienski et.al., _Achievement Differences and School Type: The Role of School Climate, Teacher Certification, and Instruction,_ American Journal of Education 115, November 2008.

Elizabeth Graue, et.al. _The Wisdom of Class-Size Reduction,_ American Educational Research Journal, September 2007, Vol. 44, No. 3.

Douglas D. Ready and Valerie E. Lee, _Optimal Context Size in Elementary Schools: Disentangling the Effects of Class Size and School Size,_ Brookings Papers on Education Policy, 2006/2007, pp. 99-135.

Fatih Unlu, _California Class Size Reduction Reform: New Findings from the NAEP,_ Princeton Univ., Nov. 2005

Jeremy D. Finn et.al., _Small Classes in the Early Grades, Academic Achievement, and Graduating From High School,_ Journal of Educational Psychology, 2005.

The best that the opponents of initiatives to reduce class sizes can muster are exemplified the recent efforts by anti-tax groups to fight Amendment 9 in Florida (see <http://floridataxwatch.org/archive/amendment9.html> for an example) where there is a a great deal of political weaseling to try to minimize the available data. No studies are presented that show that reduced class sizes have a detrimental effect and a lot of words are spent trying to spin the results that are available.

We are not talking about college-level instruction and you know that. The attempt to claim that research on college pedagogy is in any way applicable to elementary education is poor sophistry at best. To return the favor, how about you start listing some studies that show that reduced class sizes in K-6 have no long-terms effects on student outcome?

<comment><USER5> Look, I don't claim to be an expert. I was just asking you to cite some of the voluminous research you claimed existed, and pointing out that the case seems far from clear. I just cited the first two on-point google results, one of which was about grade 1. Also, no one is claiming reduced class sizes have a detrimental effect. The claim is that their effect is small and probably not cost effective.

Now, on to your citations. Your first paper (Konstantantopoulos and Chun) agrees with me. It shows an achievement gain is 0.04-0.1 standard deviations, decreasing with time (they don't even bother to look past grade 8). The increase in cost is 66% (reducing class size from 25 to 15).

Graduation probabilities are also increased by 3% (for students not receiving a free lunch) to 18% (for students receiving a free lunch), after 4 years of small class size (according to the Finn paper). So far, the only effect that seems significant is the graduation probability for students receiving a free lunch (assuming this particular effect is real, rather than just data mining).

(Note: several of your other studies don't even try to address the claim that lower class sizes improve student achievement. Your paper by Woolf and Muennig is just an advocacy piece, assuming that education is the cause of all good things and arguing that we need more of it. )

<comment><USER4> You cited a study of college-age students and a study from France when there is a wealth of domestic data ready for your to cite and you expect the claims to be taken seriously? As far as your claim that these were the first two on- point google results, I guess it just depends on what you search for:

<http://lmgtfy.com/?q=research+class+size+student+achievement>

I beleive that you are misreading the Konstantantopoulos and Chun if you think that it agrees with you. An achievement gain of that size in education is actually quite significant and both the abstract and text make this clear. To dismiss the fact that the study followed a third grade class for five years and showed improvement down the line by saying that "they don't even bother to look past grade 8" is more spin than reasoned analysis.

Once again, please provide the links to papers that show that smaller class sizes do not have a long-term positive impact on student performance. So far it seems you are much like the anti-CSR group I mentioned previously, all spin and bullshit. Prove me wrong.

<comment><USER5> Why the hostility? You picked a different search term than I did, big whoop (I picked "class size student outcome"). I guess that makes me a bullshit artist.

Now, you may be right that a 0.04-0.12 standard deviation improvement is large within the field of educational interventions. All that proves is that the entire field of educational interventions has produced little/no gains.

This is how small 0.12 standard deviations is: <http://imgur.com/BJDHc>

You and the authors can attempt to spin that as something significant, but it doesn't contradict Patrick's original assertion. He claimed that smaller classes "do little, if anything, for education." You cited a source showing that they do little. You didn't contradict him.

Here is my citation, which shows that smaller classes "do little, if anything, for education": _Spyros Konstantopoulos and Vicki Chun, What Are the Long-Term Effects of Small Classes on the Achievement Gap? Evidence from the Lasting Benefits Study_ , American Journal of Education 116, November 2009. _

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> It's easy to throw out opinions about this sort of thing -- "computers are no replacement for a real teacher", "the class size constraint should be relaxed", "if done well, computerized education could be a huge step forward". But without hard data about the situation in question -- details of how the program is implemented, measured outcomes from previous uses of the same courseware, etc. -- the discussion isn't very productive. The NYTimes article is disappointing in that respect: it provides little or none of the information that would help us decide whether the Florida program is a sensible adaptation to limited resources, or a sad pretense.

I've seen plenty of examples of computers in the classroom doing little good, and even doing harm (mostly in the form of distraction). In the long run, I'm optimistic that computers can revolutionize education; in the short run, I'm pessimistic about most of the efforts going on. This article doesn't tell us anything about which category the Florida program falls into; without more data or context, there's not much point in debating it.

</comment><comment><USER7> The submission title is inaccurate. Some schools are augmenting their workforce with technology due to unfunded legal requirements, see key quotes below.

 _Under the state's class-reduction amendment, high school classrooms cannot surpass a 25-student limit in core subjects, like English or math. Fourth- through eighth-grade classrooms can have no more than 22 students, and prekindergarten through third grade can have no more than 18._

 _School administrators said that they had to find a way to meet class-size limits. Jodi Robins, the assistant principal of curriculum at Miami Beach High, said that even if students struggled in certain subjects, the virtual labs were necessary because "there's no way to beat the class-size mandate without it."_

</comment><comment><USER8> I have a feeling this will lead to even more education inequality based on socio-economic factors.

I think this approach has promise, and will probably be the standard one in the future, but this manifestation just seems as if it's being done for cost reasons.

<comment><USER9> Why should it do that? Computers are very cheap and the schools should be able to buy the software at such a low cost that all schools should be able to afford it.

Compare this with the situation today where some children are being though by great teachers and some are being though by horrible teachers.

<comment><AUTHOR> I think that's what dangoldin was saying. Poorer communities will be jammed with cheap software and computers rather than great teachers.

The software teaching method definitely has merit, but it's not a solution to "we have overcrowded classes." It's not yet ready for that, and there doesn't seem to be anyone credible claiming that it is.

This is just the outgrowth of bad policy and not enough funding.

<comment><USER9> That assumes they have great teachers now, which is not a given.

If they have bad teachers, even a semi stupid program will be better than that.

</comment></comment></comment></comment><comment><USER10> There was a really interesting Freakonomics Podcast about NYC's "School of One" program that is a good counterpoint to what it looks like is happening in Florida.

They take an algorithmic approach to try to determine what learning style works best for a kid and continuously test for learning retention and how quickly new skills are gained.

[http://freakonomics.blogs.nytimes.com/2010/05/12/freakonomic...](http://freakonomics.blogs.nytimes.com/2010/05/12/freakonomics- radio-how-is-a-bad-radio-station-like-the-public-school-system/)

</comment><comment><USER11> Because in Soviet Florida, computer programs you.

Sorry. I could not resist.

Now, on a more serious tone, if this is a cost-cutting measure, why not embrace the XO as a learning aid? It certainly cost very little and can be packed with mountains of learning material, much more than it would be cost- effective to print and ship to schools. Plus, contrarily to the Dells pictured in the text, students can carry them everywhere and the energy cost of operating them must be smaller than the cost of operating those CRTs alone.

</comment><comment><USER12> What a terrible idea.

I'm sorry, I know this sounds very low-tech of me, but high-school aged kids need an authority figure, who is clearly in charge, teaching them material. Lecturing in-person. Building relationships. I, for one, even at my age, cannot long burden myself with CBT. People just don't take it seriously enough. Let's face the reality of humanity: we are what robots will ultimately become, and some things are just _better_ between humans than between a human and a computer.

</comment><comment><USER13> This Ted talk by Sugata Mitra also talks about replacing teachers with machines. <http://www.youtube.com/watch?v=dk60sYrU2RU>

The fast-food delivery of education must change now that we have better tools to impart education.

<comment><USER14> I'd say the tools are of the least importance there. Nevertheless, somehow we tend to think that most problems can be solved just by throwing technology at them.

<comment><USER15> Sometimes the only way to address problems with entrenched interests is to change the playing field, technology can serve this purpose. So instead of having to fight tons of battles against teachers unions, implements some technology that drastically weakens their position -- in this new landscape political battles can now be won.

I of course think school vouchers is the end all be all of school reform since it allows anyone to open a school and to compete with any ideas that they think might win...

<comment><USER16> I have yet to hear a convincing explanation of how technology is the answer to our education problems.

<comment><USER15> Depends on what technology.

1\. Books are clearly better than only having lectures - so there's one example of where technology has improved education.

Depends on educational problems:

1\. What age group are we focusing on? * Adults are clearly different from teenagers * Teenagers are clearly different than children

A one size approach, probably won't work.

2\. College Lectures are an outmoded form of teaching. It'd better to have the lecture recorded and perfected, and then allow the student to watch it -- making sure to jot down their questions and then discuss with the professor and fellow students -- it's a better use of everyone's time and makes the content available to everyone. In science and math I expect this to be a huge win at the lower levels where mechanical notation and rules need to be learned.

As we progress up the abstraction layer to where we need exemplars to train our ability to recognize patterns I think that computers will still have a long way to go -- this is where guided direction is important.

3\. When I was a child I had difficulties learning to read, I did some special classes primarily involving software that significantly improved my reading ability. I extremely happy I was afforded that opportunity.

</comment></comment></comment></comment></comment><comment><USER17> I don't understand how class size is being reduced with people going to computer labs with no teacher. Isn't the idea of class size that there is at least one teacher per N students? With these labs there are zero teachers per N students, which is effectively infinity students per teacher (0).

</comment><comment><USER18> [http://newlearningonline.com/new-learning/chapter-1-new- lear...](http://newlearningonline.com/new-learning/chapter-1-new-learning/the- fun-they-had/)

A man can't know as much as a teacher.</comment>


Remote Code Execution as Root with McAfee Virus Scan for Linux - grey-area https://nation.state.actor/mcafee.html <comment><AUTHOR> Virus scanners are just a huge attack vector today. They should never be running on servers and you should never run them on a Linux workstation.

The best security in the Linux world involves inspecting scripts before you run them. Install things from the package manager. Keep your managed packages up to date.

Even on Windows, most virus scanners run as the System user and there have been multiple hacks exploring many of the major ones over the past few years. This attack vector is particularly bad because you don't even need to open a file. If someone discovered a bug in the virus scanner's jpeg/json/exe/pdf parser, they can exploit it and often run things as the system user.</comment>


Brave Open-Source Browser Caught Adding Referral Codes to Typed-In URLs - <AUTHOR> https://news.softpedia.com/news/bravo-open-source-browser-caught-adding-referral-codes-to-typed-in-urls-530198.shtml <comment><USER2> I was always wondering why that browser is in Arch. That finding merits a good look what else is in Arch Linux repositories that has stealth behavior or is otherwise against users interests.

<comment><USER3> That browser is not in Arch Linux repositories. It's in the AUR and I maintain the main binary package.

</comment></comment><comment><USER4> Dupe: [https://news.ycombinator.com/item?id=23442027](https://news.ycombinator.com/item?id=23442027) (586 points, 352 comments)

</comment><comment><USER5> Are there any de-Braved forks of Brave Browser? Some of its features seem useful, but I wouldn't want any of the BAT nonsense or this.

<comment><USER6> The article says it is being fixed. They admitted to making a mistake here. I would cut them some slack rather then running for the hills looking for a fork. Projects make mistakes, they are run by humans after all.

As far as BAT goes, that was what they came up with as an alternative to the ads and to help fund the project. Calling it nonsense is a bit of a stretch when we still are able to see threads about the browser on front page of HN every now and then. The browser is clearly still relevant in some way.

What would you propose as a solution to fund such a project?

<comment><USER5> > What would you propose as a solution to fund such a project?

Not my problem, just like it's not Brave's problem to fund Chromium development. BAT and the infrastructure within Brave Browser to support it provide no benefit to me as a user, so it is reasonable for me to want to remove it.

<comment><USER7> The BAT generated from Brave's advertising system goes to your personal crypto wallet. It does benefit users. You literally get paid for simply browsing the web.

In all honesty, you don't get paid very much. It's not going to replace your day job. Yet it's a non-zero amount of income for doing something you would normally be doing anyway.

<comment><USER5> There are many other services that will pay me more to look at ads. If I don't use those, I certainly don't want to look at Brave's ads. The only people who have the possibility of getting any meaningful amount of money out of those systems are the people who get paid for the ads that all users view, like Brave Software Inc.

</comment></comment></comment></comment></comment><comment><USER8> >whenever someone manually types binance.us in the address bar, Brave browser auto-completes the URL with a referral code.

>referral codes are being added not only when Binance, but also other websites like Ledger, Trezor, and Coinbase.

>Brave CEO and co-founder Brendan Eich has already responded on Twitter, explaining that this is something that's being resolved as we speak, with all referral codes to be removed in the next update. "We partner with Binance as an affiliate. That code identifies us, not you," Eich explained.

</comment><comment><USER9> How is this different from declaring the user agent from the browser? Brave don't do this anywhere (they say they are Chrome). I fail to see how this is different in any meaningful way. Can somebody enlighten me??

<comment><USER10> They make money from it. Those are referall codes, the kind you give to your friend so you get a $10 discount on whatever the service is for convincing people to sign up. Furthermore, its messing with the actual URL you type out. This isn't declaring a user agent I. The background. This is intercepting and changing what you type to further their profit goals, which is unacceptable behavior from the browser.

<comment><USER9> So where is the problem? It isn't costing you anything - even in the most liberal sense - ie privacy/time etc.</comment></comment></comment>


Boeing's CEO got a $62m payout but 2800 in the 737Max supply chain were laid off - <AUTHOR> https://www.businessinsider.com/boeing-muilenburg-payout-same-time-thousands-layoffs-2020-1 <comment><USER2> And two crashes killed 346 people.... This guys gets $62m? That should be handed out to the 346 people's families.

</comment><comment><USER3> The salary for 2800 people in one year seems significantly higher in dollar value.</comment>


Hipcamp – Airbnb for camping - <AUTHOR> https://www.hipcamp.com/ <comment><USER2> There's tons of beautiful private land, and it makes sense to monetize it this way while giving access for others to enjoy. Value creation from thin air. Well done.

</comment><comment><USER3> On Chrome, signing up for the referral link leaves the screen overlay in place with no clear way to proceed.</comment>


Notes on Idris (2017) - <AUTHOR> https://thebreakfastpost.com/2017/12/02/notes-on-idris/ <comment> ainar-g Recently I talked with my cousin, who is also a software engineer, about dependent types, contract programming, invariants, and all that. Among other things I've told him about "type-safe printf" that you can write in Idris. He then asked me, why are there only purely functional languages with this feature. I had no actual answer.

So, does anybody know, why there still isn't a "C/Go/Java with dependent types"? There is support for runtime checking via invariants in e.g. D, but no pre-compile-time checker.

Another question, is there (probably commercial) software that allows you to augment your code with invariant annotations and then check them as a pre- compilation step?

<comment><USER3> Technically (and truly), C++ has dependent types, as types can depend on values [edit: matt-noonan has corrected me and pointed out this is wrong, but I think most of this comment is still useful]. (I can't say much about D, but I would believe it does as well; I could also see them having "simplified" away a really critical piece, though.)

A prototypical concept you would expect to find in a dependently typed language is "the ability to have a function that concatenates to arrays of sizes X and Y and returns an array of size X+Y that can be safely verified against further functions that also require arrays given as arguments to have specific lengths".

C++ is a bit indirect in its semantics here, but you will note that most other languages with generic types cannot express this thought (using either real integers or simulating them with types, either of which can be done in C++).

One could easily imagine "filling out" C++ to allow compile time type argument manipulation of more value types without even stressing its model, and in fact that is exactly the direction the language has been going in with constexpr. Here is an article on how to build a compile-time printf using C++14.

[http://blogs.microsoft.co.il/sasha/2015/01/29/compile- time-r...](http://blogs.microsoft.co.il/sasha/2015/01/29/compile-time-runtime- safe-replacement-printf/)

The only real limitation in C++ is that these values have to be relatively "concrete": at some level there has to be a _number_ that can be calculated, as you can only deal with values as you don't have the amazing ability to do unification of program fragments like you have access to in Idris (like, you'd like to be able to say "the length of this array is the same as the length of this runtime string", and then after a bunch of array manipulation claim that you return a string five characters longer than the input string). Again, though: this could be added to C++ without breaking its underlying model. And it definitely is not required by the concept of "dependent types" [edit: matt- noonan points out it is, in fact, required for a language to have "dependent types" :(.]

<comment> matt-noonan You can make C++ types that depend on constant values computed at compile- time, but this isn't the same as dependent types. In a hypothetical dependently-typed C++, I would be able to do this:

        template <typename T, int N> struct vec { T data[N]; };
        vec<T,n> repeat(int n, T const& x) {...}

Note the run-time value n appearing in the return type of `repeat`. Because of this, repeat (if we could write it) has a dependent product type: the actual return type varies based on an argument's value.

<comment><USER3> Is this really required by the definition of dependent types? I definitely agree that this is a difference with Idris (which can parameterize types over not just values but essentially program fragments due to its proof checker and unification semantics), but I was under the impression that this was not required to be considered dependent types.

<comment> matt-noonan Yes, you really need at least Pi types (dependent products, as above) or Sigma types (dependent pairs) to have dependent types. So you _could_ get away with it in Python by munging a return type based on a parameter, but not C++ or most other statically typed languages!

Unfortunately it seems like there is a lot of fog around this. Even the wikipedia page for dependent types botches the first example: "pairs of numbers where the second element is greater than the first" is just a normal type. A dependent type would be something like "pair<int,vec<T,n>>" where the n is supposed to equal the first element of the pair.

The waters are muddied even further by the fact that you can reproduce many of the canonical examples for dependent types using other mechanisms, as you pointed out below for the vector-append operation!

Edit: After complaining a bit about the Wikipedia page, it was pointed out that you _can_ think of that example as a Sigma type. I contend it is not obvious unless you have already spent time thinking about dependent types, though.

</comment></comment></comment></comment></comment><comment><USER4> _a simple program took 25 seconds or more to build_

This is surprising, I haven't had that experience, although I've been using the JavaScript backend instead, maybe it's much faster? It takes a few seconds, but not that much, and I'm on mere X220.

Like the author, I also struggle to write clean code in it. I've been writing a personal project to learn functional programming, Idris, Lambda and DynamoDB, and it's been going slowly. Reading the book, and embracing the suggested development method (type, define, refine) has been helpful, and I'm enjoying the whole process, despite a couple of snags with the JS interface.

<comment><USER5> I was nodding along until I hit that point too. 25 seconds for a simple program??!? That would be a complete dealbreaker.

<comment><USER6> It's not as bad as it sounds because you don't have to compile your program while you write it. Rather, you send the program to a repl and the type checker tells you about problems. You can even run the total parts pretty quickly in the repl.

The only issue is that the language server seems to have a memory leak or something that leads to it taking a huge amount of memory and getting sluggish over the course of an extended development session.

<comment><USER7> >The only issue is that the language server seems to have a memory leak or something that leads to it taking a huge amount of memory and getting sluggish over the course of an extended development session.

that is not good advertising!

<comment><USER6> I'm sort of hoping someone here will tell me that I'm doing it wrong. Because, this has always been the showstopper for me.

<comment><USER5> The language sounds very interesting otherwise, so I'd like to hear of any fixes or workarounds too.

<comment><USER8> There are various reasons why Idris is slow, but it generally comes down to it being because the current system is the result of lots of experimentation about how to even implement a dependently typed language in the first place, and what it should look like. It needs quite a bit of re-engineering - <USER2> prioritised ease of playing with features over efficiency.

The good news is that I'm working on a new version, taking into account the many things I know now that I didn't when starting on version 1. Don't hold your breath though, it might take a while...

In the end, it's a research project, and our job isn't so much to make a good product as to get people excited about the ideas. Mostly we do this by trying to be obviously having lots of fun. But I'd still like a better implementation, because then we can have even more fun.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I've also bought and worked through the book. It's excellent.

My conclusion was that Idris is an academic language (lack of libraries), followed by realizing that the parts of Idris that I like, are almost all covered by Haskell extensions.

For me, Idris is a great peek into what Haskell should/could be, if extensions were better documented and the synergy between them, explained to mere mortals.

<comment><USER10> I've got a few network services working with Idris and they run okay. The compilation time grows so quickly you can't use it for very large projects though.

Honestly, Haskell dependent-typing is SO MUCH MORE COMPLEX than Idris's "well what if I just write a function that takes a type?" approach, it's not even funny. Even the author of singleton says it's a rough landscape.

Haskell's going to get much closer with QuantifiedConstraints in ghc 8.6, in that it'll simplify a lot of this work, but it's still years out from the simplicity and library unification.

<comment> matt-noonan Can you elaborate on the DT / QuantifiedConstraints connection a bit? I haven't thought enough yet about QuantifiedConstraints to see the everyday benefits, but I'm getting contact-excited by everybody else's anticipation of it. I'd love to get some concrete benefits to hold in mind.

</comment></comment></comment><comment><USER11> Slightly unrelated but if all you do is stick around in do notation, you will not see why Haskell is the greatest imperative language. That starts happening once you break out of the traditional notation.

<comment><USER12> Can you expand on that?

<comment><USER11> I wish I could. Honestly! It's just that while I have experienced it firsthand, I have not spent enough time thinking about it and tinkering with it to be able to succinctly and accurately put into words what it is about.

Some loose thoughts that may or may not make sense:

\- In Haskell, effectful computations (such as prints, variable updates, and so on) are first-class values (like integers, strings, and so on). This is the big idea.

\- When effectful computations are first-class values, you can store them in data structures like lists. You can associate them with keys in maps. You can even stick them in priority queues.

\- When effectful computations are first-class values, you can pass them around as arguments, or send them off as return values.

\- When effectful computations are first-class values, you can transform their results, you can chain them together and you can create branches in them.

\- When effectful computations are first-class values, you can perform them, then perform then again, then perform them 12 times, then discard them. Or discard them first and never perform them.

\- When effectful computations are first-class values, you have decoupled "describing the action" from "executing the action". You can handle the effectful computation without being afraid of performing the effect.

\- When description is decoupled from execution, you can abstract over the flow of control. You can have a loop that doesn't always increment its counter, because the incrementing operation is specified in a list somewhere instead.

\- Abstracting over the flow of control can be about as confusing as it is dynamic and powerful. It can also be the most clear and obvious solution to some problems.

\- Effectful computations as first-class values is a little like functions as first-class values: when you have tried it, you've found it's so convenient that you'd like to have it everywhere. (It's also a little like first-class functions in the sense that you can emulate first-class effects with first- class functions, but it easily becomes unwieldy.)

\- Effectful computations as first-class values is even a little like Lisp metaprogramming. In Lisp, the flow of control can be rewired dynamically, because the code itself is a Lisp data structure. In Haskell, the flow of control can be rewired dynamically, because statements don't have to be executed the second you see them.

\- The do notation, when used the traditional way, pulls a curtain over how effectful computations are first-class values. Computations in do notation are (to a first approximation) executed as soon as they are seen, because do notation was designed to intentionally hide the ways in which Haskell is a more powerful imperative language.

Sorry if that made things even more confusing than it cleared up.

\----

Here's the most basic concrete example I can think of:

        repeated = do {
            putStrLn "Hello";
            putStrLn "Hello";
        }

_Huh, the same action is performed two times. I guess I should put it in a variable._

        somewhatDRY = do {
            let greet = putStrLn "Hello";  -- not executed when put into variable
            greet;                         -- executed once here
            greet;                         -- and again here
        }

_Oh, the user wanted to specify how many greetings to print._

        countGreetings number = do {
            let greetings =                     -- infinite list of prints,
                    repeat (putStrLn "Hello");  -- none of which is executed
            let enough =                        -- we take the first few prints,
                    take number greetings;      -- still without executing any
            sequenceA_ enough;                  -- now we execute just the first ones
        }

_Huh, I guess I don 't even need the do notation anymore._

        countGreetings number =
            let
                greetings = repeat (putStrLn "Hello")
                enough = take number greetings
            in
                sequenceA_ enough

\----

In these examples I used sequenceA_, which is a plain library function that takes a list of effectful computations and returns a single effectful computation. The effect of the returned computation is the same as if all the effectful computations in the list was called one after the other.

I mention it's a plain library function because you wouldn't be able to define such a function – not even in the standard library – if effectful computations weren't first-class values...

\----

I wrote a comment in the example saying "now we execute just the first ones". That's a lie, actually. Because like any effectful computation, also the return value of countGreetings is a first-class value. Meaning we could assign the return value of countGreetings to a variable, or stick it in a list, and so on, and nothing would be executed.

In order to avoid uncomfortable déjà vu, I'll In order to avoid uncomfortable déjà vu, I'll just leave off here and conclude that when effectful computations are first-class values, there is, in a sense, two phases when the code is run. First there's an evaluation phase, where effectful computations are constructed and passed around. Then there's an execution phase, which actually executes these effects. If your effectful computation isn't hit by the execution phase, it will never be executed – no matter how many times the evaluation phase goes over it.

<comment><USER12> Thank you! This is a really nice comment that gives plenty to think about. It's delightful that, two days later, you actually have expanded in compelling detail on what initially looked to be something of a throwaway remark.

I think that Idris tries to make the evaluation/execution distinction a bit more apparent. In particular, when you enter something effectful at the REPL, only the evaluation happens automatically and the result is printed in an internal form. This is confusing at first, but you can see that there's something tantalisingly interesting going on.

<comment><USER11> No problem whatsoever! I only wish I could have done it better.

I do like the way the Idris REPL does that, from your description. Didn't know that. How do you run it for effects?

<comment><USER12> Using the :exec REPL command.

      Idris> putStrLn "Hello, world!"
      io_bind (prim_write "Hello, world!\n")
              (\__bindx => io_pure ()) : IO ()
      Idris> :exec putStrLn "Hello, world!"
      Hello, world!</comment></comment></comment></comment></comment></comment>


Google sidewiki: contribute information next to any webpage - <AUTHOR> http://googleblog.blogspot.com/2009/09/help-and-learn-from-others-as-you.html

<comment><USER2> _why had designed a similar metaweb a few years ago, where people could add and share comments to random pages, provided someone had created a URL(or a suitable regex)+xpath entry in the database, with the xpath pointing to the place where the comment box had to be inserted.

The barrier of entry was rather high, though. You had to tweak your DNS to point to his own server so that <http://hoodwink.d> would resolve to a server, then install a Mousehole script (Mh is a custom filtering proxy) or later a Greasemonkey script to make the comments and most of the hoodwink.d site appear.

The hoodwinkd sever refused to serve anything when not accessed throuh the proper URL, and the instructions to get there were intentionaly obscure (just a pair of semi-obfuscated IP adresses for he DNS servers and a few vaguely evocative lines about the concept).

I think you can still find the code at github.

Fun times.

</comment><comment><USER3> Is someone going to be looking at 42 pages of "Obama is a Socialist Communist!" comments when they google "White House" now?

<comment><AUTHOR> That was pretty much my thought; "how is this not going to be drowned in spam?" (they even have an API I think)

Presumably they're fairly confident in their ability to filter spam and to automatically rank such comments fairly low, but I can't help feeling that this will still be contingent on enough high-quality contributions, ie enough serious uptake. I suppose we'll see soon enough.</comment></comment>


Going Viral (and why 90% of everything is crap) - <AUTHOR> http://www.tomscott.com/goingviral/

<comment><USER2> Telling the truth. Like this one.

</comment><comment><USER3> I was going viral this year, but the doctor gave me some antibodies and cleared that right up. j/k</comment>


Dell Q2 Revenue Down 8% With Further Drops Expected In The Third Quarter - <AUTHOR> http://techcrunch.com/2012/08/21/dell-q2-revenue-down-8-with-further-drops-expected-in-the-third-quarter/

<comment><USER2> Interesting, it would be instructive to compare the transition Sun went through from Workstations to Servers to Services to see if Dell's trajectory is in the same ballpark timewise, they are much bigger revenue wise than Sun was at the Workstation/Server inflection point.</comment>


Ask HN: How will software change architecture in the next few years? - <AUTHOR> <comment><USER2> I think the micro service coolaid will calm down. Maybe we will see some in between of monolith and micro service.</comment>


Blackberry had its first good idea in years - <AUTHOR> http://www.wired.com/2014/04/blackberry-invests-nanthealth/

<comment><USER2> What I've read about Blackberry it seems like they entered the phone war when it was at level 1 and then tried to reinvent themselves when it had reached level 10. Guys like Mike Lazaridis talk as if they didn't realise that shift had happened. That the smartphone game had become so intensely competitive that their problem went far beyond picking the wrong strategies; they simply didn't have the ability to execute at the level required by the upgraded game.

This seems like a common mistake made by people who win early and win big, they don't necessarily have a proper perspective on the components of their success that were luck or timing.

<comment><USER3> Yep. Success hides failure. A company can do 9 things right and one thing wrong, but if the company does really well then people assume that all 10 things are right. In Blackberry's case it was a lot more than one thing wrong.

</comment></comment><comment><USER4> I'm surprised that the author of the article left out QNX. QNX is already the OS of choice for the medical industry and is doing well in other "niche" markets like automotive. QNX in Action: Audi FPK Driver Information Display: [http://youtu.be/Wlm6lD23d0g](http://youtu.be/Wlm6lD23d0g)

They're still playing off the good idea the had for buying QNX 4 years ago now.

<comment><USER5> Without reading the article I had assumed they were going to be talking about QNX. That is basically keeping the company alive.

</comment></comment><comment><USER6> _"That might be exactly the right transition for BlackBerry to make," says Dulaney. "The problem is, you just can't make that transition in the eyes of Wall Street."_

In that case, Wall Street is the problem.

<comment><USER7> No, Wall Street is the owner.

<comment><USER8> You're not actually contradicting his statement, you know. A good many of Blackberry's problems trace back to the company's owners.

</comment></comment></comment><comment><USER9> Sensational headline. Blackberry has made many mistakes in the past 5 years but to say that this is its first good idea is wrong.

</comment><comment><USER10> Buying QNX was the true brilliant move on Blackberry's part, it is a very strong platform IMO. Their downfall has been a failure to think laterally on how to leverage it outside of what their core market was. They are now being forced to do that and I think it will work very well for them if it hasn't come too late. I very much want to see them succeed.

<comment><USER11> QNX is still licensed though black berry (and has been before and after the recent rebuilding). If you buy hardware having anything to do with Optical Rings or Fiber Routers, it likely runs QNX. The goal of their 'restructuring' was to increase profits from software sales (I.E.: Licensing QNX).

The problem is QNX was perfectly profitable on its own doing nothing but that. Now Blackberry has a phone and OS division, one is pulling both down.

</comment></comment><comment><USER12> Having an investment from a company like Blackberry may on the surface look just the same as any other investment. But in fact things are dramatically different. You may very well end up having your stock sold to the highest bidder at some future liquidation auction (there is a definitive chance of Blackberry ending like that) and then suddenly you find yourself with a new partner that you didn't choose. One that may even be in competition with you.

Another resource that Blackberry owns (QnX) is at risk of having the same happen to it, fortunately for the QnX users there are a very large number of companies that depend on the QnX for their real time needs including various governments so likely QnX will survive a meltdown.

<comment><USER13> The QNX kernel was released under open source in 2007. Not all other middleware is released though ...

<comment><USER12> Right, but it was closed again in 2010 and I'm not quite sure what the status is today but as far as I am aware you can not just go and fork it or even build it.

<comment><USER14> And note it was closed by blackberry after they purchased qnx.

</comment></comment></comment></comment><comment><USER15> The hyperbole of this line demeans the whole article, 'one of this century's biggest corporate disasters ' 14 years into the 21st Century? Come on.

<comment><USER16> Off the top of my head Enron in 2001, WorldCom in 2002, Lehman Brothers and AIG in 2008, and GM and Chrysler in 2009 all seem to be better fit than Blackberry for the 'century's biggest corporate disasters'.

</comment></comment><comment><USER17> The biggest _Canadian_ corporate disaster this century swamps this hiccough from BlackBerry. Nortel was worth almost $400B in 2000 and is now worth $4M, essentially losing $400B of shareholder value this century.

This bodes ill for the rest of the article ...

</comment><comment><USER18> Blackberry just doesn't have traction outside of the US, since most of the rest of the world deeply distrust the architecture of the Blackberry system (i.e. all data sent back to US-based servers). I think this is the one thing they must fix - the perception by the world that Blackberry is just a front for the CIA. Laugh all you want: I've heard this expressed in more than one location here in Europe, enough so that even if its a falsehood, its a solid one that isn't going anywhere. RIM(/Blackberry) haven't done very much to assuage this fear, alas .. and more to the point, seem resistant to doing so, which make the suspicions even more warranted.

<comment><USER4> "since most of the rest of the world deeply distrust the architecture of the Blackberry system (i.e. all data sent back to US-based servers). I think this is the one thing they must fix - the perception by the world that Blackberry is just a front for the CIA"

I found that funny because that's the exact opposite of what actually happened. BlackBerry was to secure and certain governments couldn't spy on their citizens. Here is an article from where this misinformation stemmed from: [http://www.bbc.com/news/world-middle- east-10830485](http://www.bbc.com/news/world-middle-east-10830485)

I'm guessing people only read headlines and a lot of them had "BlackBerry" and "Security" in them and most people jumped to conclusions.

BlackBerry has many NOC's and not one is in the US.</comment></comment>