Cory Doctorow: Information Doesn't Want to Be Free - <AUTHOR> http://techcrunch.com/2014/11/09/worse-than-nothing/ <comment><USER2> Often forgotten, or ignored, the whole quote, part of it often used to express a desire for freedom to access information, from a consumer's point of view "...information wants to be free" is:

"On the one hand information wants to be expensive, because it's so valuable. The right information in the right place just changes your life. On the other hand, information wants to be free, because the cost of getting it out is getting lower and lower all the time. So you have these two fighting against each other"

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

These two contentious forces need to find an equilibrium so that as consumers we get quality information.

<comment><USER3> Right up there in the annals of misquotes with:

 _They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety._

Often mangled to something like:

 _Those that would give up freedom deserve neither freedom nor safety_

Often used in response to people who are willing to give up the freedom to own heavy military ordinance, and the like.

[http://www.lawfareblog.com/2011/07/what-ben-franklin- really-...](http://www.lawfareblog.com/2011/07/what-ben-franklin-really-said/)

<comment><USER4> WTF does gun control have to do with this topic?

<comment><USER5> USAians do love their guns.

<comment><USER6> expat living in canada. NRA lifetime member. left a small cache of weapons with friends and family when I moved. I miss my guns.

</comment></comment></comment></comment></comment><comment><USER7> Doctorow echoes, more clearly and vividly than most, Sid Meier's succinct formulation: "Beware of he who would deny you access to information, for in his heart he dreams himself your master."

Because that's what this is ultimately about: whether we want our children to be digital sharecroppers or _citizens_ whose right to read is respected and who can be positively enabled to stand on the shoulders of giants when it comes to access to knowledge.

<comment><USER8> There's a difference between information and media. While Doctorow uses the term "information," he's really talking about professionally produced media. And mostly entertainment media, at that (NBC shows, his kid's book, etc.).

That stuff just doesn't get produced if there's not some way of generating income from it. And that requires some kind of barrier to distribution. Although the nature of that barrier -- technical, social, legal, whatever -- is very much up for debate.

<comment><USER9> Does that require some barrier? I don't think that's at all obvious.

Previous models for funding content are built around natural distribution barriers. E.g., it was hard making and getting books to people, so you used the distribution channel as the revenue channel. So I think most of our experience is like that.

But we now live in an age where distribution is effectively free. I just bought a book (yay, Ancillary Sword is out!). I paid for most of the distribution (I bought the tablet and pay for an Internet connection); the publisher, distributor, and retail channel together have a marginal cost measured in fractions of a cent. That changes things.

I think our closest historical example is broadcast radio and TV, which has never had a barrier to distribution. One way to fund that is ads, but there are others. For example, US public radio and the BBC produce a lot of high- quality, professionally-produced media and have for decades. Or we could look at newspaper serials, the format that gave us The Three Musketeers: newspapers print so many copies that sharing is easy; people paid because it was cheap and convenient.

But the interesting stuff is just getting started. Plenty of professional writers give a lot of stuff away for free on the web. I've helped fund a few different Kickstarter films, and would have been perfectly happy to throw in more if they had wanted to make the films available freely. Micropatronage is just getting going.

<comment><USER10> > BBC produce a lot of high-quality, professionally-produced media It should > be pointed out that the BBC is funded by a tax (the BBC license fee) that is > levied whether you watch the BBC or not. Forcing people to pay for content > they don't watch, whether it is high quality or not, isn't a good model > (unless you are the BBC of course).

<comment><USER11> Everyone pays for content they don't watch - in the States, section of tax helps NPR and PBS (this miniscule support is dwindling). More often it is paid for by advertising and shows often have product placement (again, income). Advertising is a distributed non-government enforced tax on goods and services you buy and use.

</comment></comment></comment></comment></comment><comment><USER12> [https://www.eff.org/deeplinks/2014/10/adobe-spyware- reveals-...](https://www.eff.org/deeplinks/2014/10/adobe-spyware-reveals- again-price-drm-your-privacy-and-security)

Don't miss what gets tagged along on drm. Key quote:

"Adobe claims that these reports are not quite accurate. According to Adobe, the software only collects information about the book you are currently reading, not your entire library. It also collects information about where you are reading that book, how long you've been reading it, and how much you've read. "

Oh and the released that so it sent the information totally unencrypted even if you are completely batshit insane enough to "trust" a company that will be a completely different collection of people in 10 years time with different policies, different corporate ethics etc etc.

What you're reading. How long you've been reading it, where you are when you are reading it, what you are up to, which parts you read more than once. Don't miss this part of the DRM debate because any _for_ DRM and against that really needs to be yelling it really, really, really loudly right now or it will be assumed this is what DRM is _for._

<comment><USER13> The more I read about always-on devices such as some DRM-infested e-readers, smart tvs, the more ideas for privacy focused startups. Tons of them...

</comment></comment><comment><USER14> No great fan of DRM myself, but I don't think the economic case is very strong here.

If strong DRM so obviously reduces sales, then are the publishers just ignorant of that? Of course not. It's because DRM is mostly about _legal_ licensing and _legal_ hardware standards, as discussed exhaustively in the OP here [1] and comments.

In my most cynical hours, I imagine that behind closed doors, the publishers are looking for ways to encourage piracy because of the boosts to overall enthusiasm that results (ie. free advertising), which is documented in the article.

[1]: [https://news.ycombinator.com/item?id=7751110](https://news.ycombinator.com/item?id=7751110)

<comment><USER9> > are the publishers just ignorant of that?

My hypothesis: DRM is like magnetic healing bracelets. Do they work? No. Do people buy them? Yes. Are the purchasers just ignorant? No, not exactly. Ignorance isn't the problem, because telling them the facts doesn't change behavior.

People who buy magnetic healing bracelets want particular feelings more than they want to know the truth. So they buy the thing that gives them the feelings they want.

I suspect DRM is similar. Major media company executives like feeling in control. They don't like people "stealing" their content or doing "the wrong thing" with it. DRM gives them feelings of control, letting them turn the positive-sum game of entertainment back into a zero-sum dominance game.

Ridiculous, but that's what happens when your raw building material is primates, and then you give all the power to the ones best at climbing the primate dominance hierarchy.

<comment><USER15> Magnetic healing bracelets aren't a very good analogy. Digital locks actually do stop some people from copying. Does it stop informed/skilled people? No, neither do real locks but we keep putting them on houses and cars for good reason. Digital locks provide a non-zero level of actual security and a signal that the issuer intends to protect the content from unauthorized distribution.

If I leave my belongings out in the street tonight, I can imagine anything of nominal value will be gone by morning. I think more people would enjoy having my electronics than the latest Corey Doctorow novel. This isn't because the electronics industry hasn't made TV's and electronics available to the people in my community. It's because people prefer free to paying if all things are equal.

Instead I continue to keep my belongings in my house, with my doors generally closed and locked while I am out. When I am missing something, it's generally because I have misplaced it. Some people who do this do still get robbed but to say locks and doors and walls don't work is a bit silly.

<comment><USER9> > Digital locks actually do stop some people from copying.

Do they? Is it a significant proportion? My guess is no. If you've got evidence otherwise, I'd be interested to see it.

Most people get their entertainment from convenient sources. Amazon, Walmart, Comcast, Netflix. They could steal it, but generally it's easy enough to get their stuff from licensed channels that they just pay up.

That's not about digital locks. That's about legal versus illegal distribution channels, and the incentives distributors have in both instances. Those vendors I mention have all done a great job at making it easy, and they can afford to make those investments because the police won't be kicking down their doors for getting popular.

</comment></comment></comment></comment><comment><USER16> Interesting article, but hard to tell where it was going.

Turned out to be about how DRM is a bad idea. I'm not sure what the title has to do with the article though....

<comment><USER17> This is an excerpt from his new book; the article headline is the book's title. I agree this is not a good title for this excerpt.

Later his argument goes "Information doesn't want to be free--people do" and this story is just one bit of supporting evidence.

<comment><USER18> Is he not going on about data and not information, given data is not interpreted and information in interpreted data into meaningfulness. Hence DRM data bits are data and not until the DRM is removed do they become information.

<comment><USER19> He didn't make up the phrase "information wants to be free," it's something that was said a lot when mp3 piracy first took off in earnest. Even if the literal meaning is quite more general, when someone writes this chances are they mean it in connection to media and DRM.

</comment></comment></comment></comment><comment><USER20> here is an MP3 link of a talk he gave that summarizes the thesis of this book pretty nicely (26 minutes): [http://dconstruct.s3.amazonaws.com/2014/podcast/dconstruct20...](http://dconstruct.s3.amazonaws.com/2014/podcast/dconstruct2014-cory- doctorow.mp3)

</comment><comment><USER21> And then, there is also Jaron Lanier: [http://www.theverge.com/2013/1/23/3899518/information- wants-...](http://www.theverge.com/2013/1/23/3899518/information-wants-to-be- free-world-world-isnt-ready)

</comment><comment><USER22> As Larry Wall said way back in 1997: "I do not fundamentally believe that information wants to be free. Rather, I believe that information wants to be valuable."</comment>


Hacking behavior: use the stairs instead of the escalator - <AUTHOR> http://www.youtube.com/watch?v=RpUoA5slRX4 <comment><USER2> Previously submitted ...

<http://news.ycombinator.com/item?id=873059>

<http://news.ycombinator.com/item?id=872759>

<http://news.ycombinator.com/item?id=871721>

<comment><AUTHOR> Really I should have known.

</comment></comment><comment><USER3> What did they do a week after when the novelty wore off?

Certainly giving people a stimulus can reward good behaviour. I recall reading that drivers of (normal engined) cars with a fuel consumption live readout get higher mileage than people driving the same cars without the display.</comment>


Referencing Substrings Faster, without Leaking Memory - <AUTHOR> http://twistedoakstudios.com/blog/Post8147_referencing-substrings-faster-without-leaking-memory

<comment><USER2> The original behavior, where a substring pins the full original string, is also how Go's substring slicing works. I much prefer this behavior, as it lets you profile and add a copy yourself if you find yourself pinning large strings. The Java change to do a copy for every substring seems like it harms the general case to help out poorly reasoned code.

While the tracking of intervals with a tree is certainly impressive, it is a lot of complexity to again (in my opinion) support poorly written code. If you know you are going to only use 10 bytes of a 1 MB incoming HTTP request, make a copy.

<comment><USER3> I think the best answer is to take the size of the parent and child strings into account. If the parent is 1M and the child is just a few bytes then make a copy so the parent can be freed up. Otherwise use the old behavior.

<comment><USER4> That'd be even worse. Now I have yet another variable to deal with when tracking down performance issues in my code. One that would be non-obvious to anyone not terribly familiar with how things are working behind the scenes.

Better would be to introduce a methods that explicitly exposes the type of substring method being used.

<comment><USER3> But you wouldn't have to track down performance issues in your code if it never was slow ;)

</comment></comment></comment></comment><comment><USER5> Why not just do the copying conditionally?

If it's at least half the size of the parent, reference the parent. Otherwise just make a copy...

<comment><USER6> Part of the reason for the change was likely to allow better optimizations of the strings. The new strings are basically equivalent to arrays and might be optimized as such; even without that they certainly don't need an offset nor length field anymore since the underlying array can provide that.

If you conditionally used one implementation or the other you'd lose the optimization opportunity. You could alternatively make string non-final; but then your method resolution is more expensive and that would really be a pretty big change in any case.

I think java made the right choice here since its trivial to wrap string in another structure whenever you need a fast substring, it's just that that custom string won't be passable to lots of other API's which makes it a potentially nasty surprise for existing codebases.

<comment><USER7> Couldn't the substring copying be deferred until the parent string is ready to be GC'd? In the common case of a short-lived substring, no string copies are necessary. Only if the substring outlives the parent string would a copy be necessary.

</comment></comment></comment><comment><USER8> This change is going to destroy the performance of a lot of apps that have not been modified in years.... There are lots of programs that might substring every word in a large block of text...

Letting a programmer use too much memory and have to learn why, and when to copy is much better than drastically changing the runtime characteristics of many existing programs. Not copying is way more efficient, you just need to be in the know-

There are even solution that can do both like conditional copying or keeping track of the parent and doing a conditional copy if needed at GC time.

<comment><USER5> Substringing every word in a block of text is actually the ideal situation for the change here...

<comment><USER9> I think they're referring to what Java's doing:

> _Last month, Java changed how it computes substrings.

... [tl;dr: previously always kept whole string, substring just stored indexes]

Java now uses a different method: always copying the substring._

</comment></comment></comment><comment><USER10> The author of the change in Java discusses it in more detail here (from the article): [http://www.reddit.com/r/programming/comments/1qw73v/til_orac...](http://www.reddit.com/r/programming/comments/1qw73v/til_oracle_changed_the_internal_string/cdhb77f)

</comment><comment><USER11> Alternative: on substring, reference the original string through a SoftReference registered with a global ReferenceQueue. Have one global system thread poll that reference queue and to convert substrings to hard copies (requiring a reverse map from the parent to its children via WeakReference) when the parent is about to be collected.

Problem is this is still reasonably complicated (though much less so than the article). A lot of memory churn and possible OOMEs will occur at the time of GC instead of the time of substring allocation. That makes the overall system less predictable and less debuggable, as will any deferred substring reallocation.

</comment><comment><USER12> JVM has a garbage collector, so if we are talking about modifying JVM itself, we wouldn't need anything that works online: you could determine which parts are referenced in a simpler way during each GC.

<comment><AUTHOR> The JVM garbage collector is not capable of tracking intervals nested inside other objects like arrays. At least, not that I'm aware of.

</comment></comment><comment><USER13> this is all very interesting, especially to see the end result, but as a rule i don't leak memory or use garbage collection.

again i am left feeling that garbage collection causes more problems than it solves. certainly every instance of debugging a memory 'leak' in that context is much harder than it needs to be (don't use gc or refcounting) - and also a slap in the face considering this is the problem its meant to solve anyway.

if you care this much about performance your biggest bottleneck is the gc - not just interms of performance cost, but the amount of your time you will waste solving a problem like this instead of optimising your code.

this is a problem i don't need to solve and pretty much everything i write is high performance code... whilst i know this isn't targetted optimisation, but a fun experiment, i would worry that people will read some kind of best practice here where it really isn't...

<comment><USER14> It's not the gc that causes this problem. The problem is: you allocated a block of, say, 100KB. Then you needed two 10KB subsets of that block. While you're using those, you may stop needing the rest of the block. How do you create those subsets? Do you just point to the original memory? Then you can't free() the 80KB you don't need anymore. Do you copy those 20KB? Then you're potentially using more memory than necessary.

The problem holds even if you're not using a gc or refcounting at all.

</comment></comment><comment><USER3> This proposed new method seems way over complicated to me.

<comment><USER15> the author appears to have rediscovered nested containment lists [http://www.ncbi.nlm.nih.gov/m/pubmed/17234640/](http://www.ncbi.nlm.nih.gov/m/pubmed/17234640/)

<comment><USER16> Which only proves him right when he says

> I also dislike trying to find existing implementations of trees because, for > some odd reason, trees tend to be named by abbreviations that only make > sense in hindsight

<comment><AUTHOR> I'd consider "nested containment list" a pretty good name, actually. Of course then they abbreviate it to NCList...</comment></comment></comment></comment>


The Intelligence Myth – Why I cringe when someone tells me my child is smart - <AUTHOR> https://medium.com/@junwu_46652/the-intelligence-myth-8b5722145180 <comment><USER2> There is a distinction between the pressure that comes from growing up in a "tiger family" and the consequences of growing up with the "smart" label, and I feel like the author is conflating the two. Personally, growing up with the label (but not the parental pressure) was one of the best things that could have happened for me and my education - the fact that others believed (whether true or not) that I was lightyears ahead of the class afforded me numerous opportunities - special classes, programs, etc. And more importantly, the fact that _I_ believed it meant that I was able to operate free of insecurities or imposter syndrome that so many of my peers faced. Did it inflate my ego a bit as a kid? Sure - but I had good role models to look up to who helped me tamp that down a bit, and I had plenty of time to figure out that I wasn't the smartest kid in the world once I got to MIT (which I might not have gotten into had I not so fervently believed I would!).

I can't comment on what it's like to grow up with the extreme parental pressure the author describes - I didn't experience that, and I'm sorry she had to go through that. But I think that's an entirely separate issue from growing up with the "gifted" label.

<comment><USER3> > And more importantly, the fact that I believed it meant that I was able to > operate free of insecurities or imposter syndrome that so many of my peers > faced.

How the heck did you convince yourself to believe it? As a "gifted" kid, what I learned very quickly was that adults will happily exaggerate minor talents (which one acquires primarily through just spending time on them, a task made markedly easier when everybody else hates you) to absurdity- at one point I got an evaluation back from a summer program at Stanford telling me I might grow up to be "one of the best programmers of our age". What did I do to earn such acclaim? Got ahead of the rest of the class making a game, read the documentation for Flash, and used the extra time to add "voice controls" to my game (specifically, you'd shoot by yelling anything into your microphone, it was just triggered by levels.)

Seriously- how can you take that sort of praise seriously, and not just as a "look at the cute kid who knows more Adobe Flash than the rest of his age group"?

<comment><USER4> It's nice to hear I'm not the only one as a kid whose reflex was to get suspicious of/thought it was lazy when/ people would quickly decide "you're smart". It seemed to me just like a way to score cheap points. It also made me feel worse about not understanding things easily.. people were telling me I was smart, after all! :P

My sister, on the other hand, gets annoyed at my perspective - she finds it tiresome when people can't take the compliment. There's wisdom to both ways, I guess.

<comment><USER5> You can be nice about a well-meaning but ultimately misguided complement without taking it seriously.

<comment><USER6> Someone once pointed out to me I had a tendency to momentarily scowl when complimented and then pretend I hadn't heard it.

Made sense because compliments made me feel weird, even though I freely gave them out.

Since then I've trained myself to smile, make eye-contact and say "Thank you, I accept your compliment with confidence," before returning to the matter at hand.

</comment></comment></comment></comment></comment><comment><USER7> Being a new dad, this is something I've begun thinking a lot about. Reading about CBT (Cognitive-Behavioral Therapy) has shed some light on this issue for me. I think the core problem is when a child is taught that their value to the family and to society is based on extrinsic rather than intrinsic factors.

If you are made to believe that you are valuable as a human because you are x, y, or z subjective determination (smart, beautiful, athletic, etc.) and not simply because you are _you_ , then you're likely to be driven and motivated to maximize this 'edge', but you'll also be mostly unhappy regardless of what you achieve, because there will always be others who make your achievements along that axis seem like nothing in comparison. And even if you _are_ the absolute best in the world at something, you will always feel chased and hunted, like the thing that makes your life worthwhile is constantly hanging by a thread.

This doesn't mean that we shouldn't strive to do great things or encourage our children to do the same if they're inspired to. But before that, we need to learn to be satisfied with a simple life just existing in the world as ourselves without any extraordinary achievements.

<comment><USER8> You will resonate with Aktie Kohn's Unconditional Parenting which cites a lot of research confirming the long term futility and harm of extrinsic pressures encoded in common parenting practices and educational institutions.

<comment><USER7> Thanks, I'll check it out!

</comment></comment></comment><comment><USER9> I have suffered from this personally. I was a "smart" kid. I was always top of my class till 10th standard. Everybody called me smart and intelligent. The schoolwork till 10th never challenged me. But when the complexity increase with pre college courses and STEM I was lost because I never had tackled this kind of difficulty before. I went into depression for couple of years. I was saved by Hamming's "You and Your research" and Learning how to learn. I restarted believing and learning again with growth mindset.

<comment> crooked-v Same kind of thing here. I coasted almost all the way through high school, got given endless slack in my last year of high school because everyone knew I was 'smart', and instantly ran into major trouble in college.

</comment></comment><comment><USER10> I was called "smart" growing up. Looking back I believe it was a huge disservice. School was generally easy for me, but I was afraid to ask questions to risk appearing "not smart." I learned a hard lesson in college. Smart isn't something you are, it's something you can become, through perseverance, dedication, and grit. Luckily I posses those qualities.

We don't use the S word around our kids. And when strangers tell me our young children are smart, while they are in earshot, I say, "Thank you. They work hard and practice a lot."

<comment><USER11> I think that's a function of the school system. I had access to "honors" classes and so forth, but they weren't that advanced or challenging, so there was a pretty low ceiling on what you could accomplish in school. Since kids couldn't distinguish themselves by accomplishing more or harder things, and there was nothing glamorous about grinding out a 99 versus a 98, the "smartest" kids were the ones who didn't have to work hard or answer questions. I remember sometimes I would pull out a blank sheet when the teacher started collecting assignments and try to finish it in before she got to my desk, because there was no other way for it to be an accomplishment. With the level of accomplishment fixed at a low level, the only way to prove you were more capable was by being flamboyantly undisciplined.

<comment><USER10> Reminds me of my high school experience. The kids in the top of the class worked hard to appear as if they didn't work hard. I among them. I was relieved to find students at my university genuinely cared and worked hard on their academics. And the ones who didn't failed.

My kids future high school has a reputation for being academically difficult. I'm thrilled by that. I don't care if they're C students, I just want them to be challenged.

</comment></comment></comment><comment><USER12> A camp I worked at had a 11 year old genius as a camper. The real kind, the one that could list all of the elements on the periodic table from memory and discuss them with a clear understanding of their properties.

I asked to have him in my bunk; I am not a genius and will readily admit to be his inferior - so no need for competition there (I might even learn from him!). On the other hand, he had clear social deficiencies and was not very sportive, so there are plenty of things he could learn from me. He needed to be grown and changed from an egotistical insecure kid to a insightful intelligent young adult.

Instead the camp gave him to the charge of a counselor who was also a genius, and as expected they spent the whole summer each trying to prove they were smarter than the other. The kid usually won, but I can't imagine the summer contributed to a growing experience.

Remember that genius doesn't make a person. Don't let it blindside your treatment of them if you are charged with raising them. They need adults to teach them about life, even if the adults can't do math as fast as they could.

<comment><USER13> >Remember that genius doesn't make a person

adding to that. my friend is a straight up genius, can do calculations in his head faster than you can type them into wolfram alpha. people in my highschool used to ask him to do questions like a monkey

the only friends he had were people that talked to him like a normal person, shot the shit and went to parties together instead of asking him for homework help

</comment></comment><comment><USER14> In principle I agree that "it is up to the child to choose his or her destiny. It is never up to the parent." However, the following thought comes to mind:

The best musicians in the world, as well as the best figure skaters, the best gymnasts, the best tennis players, etc. seem to have been "pushed" into it by their parents, or at the very least heavily influenced.

If parents didn't push their kids in this way, would we have the same caliber of performers/champions/etc that dominate their respective disciplines?

<comment><USER15> Yes, I think we actually would because I don't see much evidence that the number of talented kids who were pushed into it because of their obvious talents is greater than the number of kids who were talented but lacked the opportunities or support to actually do it.

My baby brother was a very good soccer player and was able to go to a selective high school in Sweden which uses very competitive try outs. Some of his classmates played in the highest league in Sweden and made more money than their own parents. My brother was a hopeful for the top league, until he broke his knee. He recovered and invested months of training to get back into shape, better shape than he ever was, to make the top teams see beyond his past injury and be so good they can't ignore him. Then he broke the other knee and was damaged goods. The third highest league was as far as he could get and soccer stayed a hobby until he had to work and study at the same time at 20.

On the other hand, my brother had classmates who really wanted to postpone college and go all in playing on the elite level, and their parents refused. These parents were often highly educated themselves and just couldn't see how such a high risk career as athletics could be a sound investment of one's time.

I think if youths got to make their own career choices we would still have the same caliber of artists, athletes and what not because even the children who were pushed into it had to find some meaning behind what they did. Training for five hours straight is one thing, actually being receptive to what you need to learn while training for five hours is hard for anyone who doesn't really care.

</comment></comment><comment><USER16> The "show pony" remark in the article, I think, has a large grain of truth. There is something cringeworthy about being singled out in that manner.

</comment><comment><USER17> Reminds me of what I wrote sometime back here on HN: [https://news.ycombinator.com/item?id=20131518](https://news.ycombinator.com/item?id=20131518)

I can understand what she means when she talks about expectations. This is too common in China and India. It is difficult to explain to those who have never gone through what she is describing. Luckily I have parents who do not pressure me to do the stuff she talks about. But I have seen my fair share to know what it is like.

</comment><comment><USER18> An underrated part of this is the impact it has if they _dont_ end up being accomplished. I was in an AG program K-8 but ended up getting mediocre SATs and living a pretty average life.

I'm personally very skeptical of the utility of similar programs now. I'm beginning to think keeping consistent expectations for everyone and letting those with differing interests or aptitudes enrich themselves is more egalitarian, especially for people who aren't intellectually gifted (like me).

</comment><comment><USER19> I struggle with this. On one hand I want my children to be who they want and not be burnt out when they are 20,on the other hand too many children are never challenged and give up too easy. I went to a college prep high school and graduated in the middle of the pack, but it was quite challenging and I didn't enjoy it. But, in college there were quite a few valedictorians who clearly just coasted through high school, they mostly went to under funded public high schools. I feel these children were done a disservice. Does anyone have any advice on how to teach self discipline without having your child resent it?

<comment><USER20> I homeschooled. My oldest was accepted to college at age 13, but didn't attend (long story omitted). I was briefly Director of Community Life for The TAG project, a gifted support organization I was involved in to support my homeschooling efforts.

Chores serve the same function as homework in terms of teaching kids responsibility. They have the added benefit of being a real world task, not "make work."

When my kids couldn't focus on their schoolwork because of video games, I locked up the controllers until school work was done. It wasn't punishment. They got them back as soon as their work was done.

When I got tired of one son blowing off household chores because he wanted to see his TV show, so he would ask if it could wait for a commercial, but then he never remembered during the commercial, I began telling him "No, this needs to be done when I ask because I'm spending hours begging you to do it and it's an unreasonable burden on me." After a few times of having his TV shows interrupted, he began taking out the trash voluntarily _before_ his shows started and asking if there were any other chores he needed to do so he could block out uninterrupted TV viewing time.

</comment></comment><comment><USER21> There's NOT a single parent on earth that doesn't comfort and encourage it's kid unless he/she is some kind of a toxic psycho. Every parent think the best of their kid, either it's beauty or smartness.

</comment><comment><USER22> I notice that I intentionally try to avoid portraying myself as "smart" these days because it frees me from having to work to prove it externally. I've also started working on hobbies that others don't consider meaningful, but which I notice challenge me as much as anything else I've been called smart for.

The upshot is that a lot of people in the workplace /do/ judge you anyways, and people seem to assume that you (like them) are doing your darnedest to appear as impressive as possible. Then again, I am working in high finance.

</comment><comment><USER23> i somewhat had this problem when I was younger. i would hear it from basically everyone and it always sorta confused me because i certainly have never really felt intelligent per se, more just passionate about trying to understand why things work the way they do. if anything i more identify as ignorant in most regards, because by assuming that i absolutely know something, i think im doing myself a disservice and potentially blinding myself from seeing other aspects of it that I haven't yet considered. i did the whole advanced placement thing for a little while but I never really stayed in those classes, mostly because i just didn't have any interest in doing the work in them. i never really struggled with any of them, i can't think of any reason why anyone should given that there's a textbook with everything in it and an internets for everything else, but I suppose i understand that some people learn differently than others, and even more people tend to disparage their own ability to learn (unknowingly often to their detriment as it causes them to reject valid conclusions that they might come to because of a lack of confidence in said ability).

</comment><comment><USER24> Intelligence/smart is the default condition of all children at the time of birth. It's the non-intelligent parents who drive the intelligence out of them by their own behavior and ignorance

<comment><USER25> There's only so much parents can do (post-birth)...

This is one of my favourite articles ever:

[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4739500/](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4739500/)

 _> linearly increasing heritability of intelligence from infancy (20%) through adulthood (60%)._

</comment></comment><comment><USER26> This author seems to be believing in the myth that there is such a thing as intrinsic smartness (being smart without effort). She perpetuates the misconception, without realizing the point she herself is making. Nobody is smart. It just doesn't exist. You just missed all the effort that went into becoming smart.

You have the same myth in fighting sports. "Some people are just faster" sooner or later becomes someone's argument why they're not as good as others. They have the same nerves you do, and the ion cascade in their nerves is the exact same speed in theirs as it is in yours. It's just effort (in training, beforehand, not in the actual fight). Nothing more (aside from one thing: smaller people are in fact faster. Not because they think faster but because they have less torque to fight. A point that will be made in any karate tournament)

Doesn't it seem a bit convenient ? The "truly smart" examples she gives:

* a schizophrenic

      One sign of schizophrenia is doing the same thing unceasingly for absurd periods of times - sometimes decades. How much effort did this guy put in ? Not for good reasons, perhaps, but ...

* a "female technology manager" ...

      .. dedicated her whole life to work. Then, one day, her husband asked her for a divorce because she barely came home. After 18 years, her children realized that she wasn't the one who raised them ...

* just truly "gifted" people

      They often have no balance in their own mental well being. Once they have identified an intellectual need, they try to fulfill that need single-mindedly at all cost. These are the people who are truly "gifted".

* Herself

      My intellect was in fact much more average than anyone realized. It was my "work ethic" that made me seem like an "intellectually gifted" person.

I feel like it is very important to give kids (yes, through forcing them) the ability to focus and expend effort to achieve a goal. This is of course not to be pushed at the expense of everything else, but it very important.

</comment><comment><USER27> For those readers who don't have kids ...

It's very important to not say three things to kids:

\- "You're my favorite" \- this is incredibly corrosive to relationships between siblings, and lasts forever.

\- "You're so smart"\- when you say this, you're telling the child that they have an intrinsic gift that replaces having to work hard. Just say, "Good job." or "How can you improve it next time?"

\- "You's so pretty." \- when you say this, you're telling the child that they have an intrinsic gift, and are above working hard on relationships or a career.

<comment><USER28> Acknowledging someone has an intrinsic gift is not the same as telling them it's a replacement for work. (By all means, make sure they know it's not!)

It's also fairly silly to assume if you don't tell your kid it won't notice it has these gifts, rather it will notice that you never acknowledge this.

<comment> em-bee but they don't have an intrinsic gift. every child is capable of being smart, and every child is beautiful.

using these labels has to be done with care foe the desired effect. if a child thinks they are dumb, then calling them smart, and showing them hat makes them smart may be helpful to raise their self-esteem. but otherwise it may backfire.

same goes for beauty. it can have a positive effect, but it can also make the child care more about outward appearances.

</comment></comment></comment><comment><USER29> "Why I cringe when someone tells me my child is smart" just sounds like a parent's humblebrag to me.

</comment><comment><USER30> It's hard to identify the thesis here. Is the thesis that intelligence is a myth? If so, the post provides precious little evidence in support.

Is it that smart children are overburdened by expectations and anxiety? If so, the "evidence" is a set of personal anecdotes and hyperbolic generalizations. It is, quite simply, not factual that teenagers are made to study 24 hours per day, 7 days per week. If that occurred, the teenager would die.

> _by junwuwriter 28 minutes ago_

> _WRITTEN BY Jun Wu Single Mom Writer, Technologist, Poet: Tech, AI, Data > Science, Psych, Parenting, Edu, Life, Work,Poetry etc. Find > Me:[https://junwuwriter.com](https://junwuwriter.com) _

Ah. Got it.

<comment><USER31> She's a single mom who has a son.

It doesn't seem to me that she has an understanding of how much more picky females are than males when it comes to sexual selection. Her son needs to compete hard in his life, whether she likes it or not.

<comment><USER32> Whatever biological concept you're thinking of here, you're incorrect to generalize it to humans.

Our complex brains, societies, and medicine (like birth control) significantly change our mate selection. We are not antelopes.

<comment><USER33> Societal factors do exist, but are often overstated or don't bear a scientific foundation. A lot of social sciences have done real harm to scientific progress and the field of evolutionary psychology.

<comment><USER32> Birth control and women's rights, and marrying for love[1] are fairly new (within the last 20-100 yrs) and limited to a handful of countries.

We just don't have data on how humans behave when such huge reprodutive variables change. Seeing how a single generation responds isn't a long enough time period, because children accumulate the social norms of their parents.

1\. [https://www.livescience.com/37777-history-of- marriage.html](https://www.livescience.com/37777-history-of-marriage.html)

<comment> barry-cotter We do have data on this. In the modern educated industrialised environment intelligence reduces fertility.

[https://www.cambridge.org/core/journals/twin-research-and- hu...](https://www.cambridge.org/core/journals/twin-research-and-human- genetics/article/how-intelligence-affects-fertility-30-years-on-retherford- and-sewell-revisited-with-polygenic-scores-and-numbers-of- grandchildren/AB8EF68EE05C8DFD0A1C424B4FF7BC1F)

> How Intelligence Affects Fertility 30 Years On: Retherford and Sewell > Revisited — With Polygenic Scores and Numbers of Grandchildren

> Using newly available polygenic scores for educational attainment and > cognitive ability, this paper investigates the possible presence and causes > of a negative association between IQ and fertility in the Wisconsin > Longitudinal Study sample, an issue that Retherford and Sewell first > addressed 30 years ago. The effect of the polygenic score on the sample's > reproductive characteristics was indirect: a latent cognitive ability > measure, comprised of both educational attainment and IQ, wholly mediated > the relationship. Age at first birth mediated the negative effect of > cognitive ability on sample fertility, which had a direct (positive) effect > on the number of grandchildren. Significantly greater impacts of cognitive > ability on the sample's fertility characteristics were found among the > female subsample. This indicates that, in this sample, having a genetic > disposition toward higher cognitive ability does not directly reduce number > of offspring; instead, higher cognitive ability is a risk factor for > prolonging reproductive debut, which, especially for women, reduces the > fertility window and, thus, the number of children and grandchildren that > can be produced. By estimating the effect of the sample's reproductive > characteristics on the strength of polygenic selection, it was found that > the genetic variance component of IQ should be declining at a rate between > −.208 (95% CI [−.020, −.383]) and −.424 (95% CI [−.041, −.766]) points per > decade, depending on whether GCTA-GREML or classical behavior genetic > estimates of IQ heritability are used to correct for 'missing' heritability.

<comment><USER32> This whole thread is about mate selection, not child production</comment></comment></comment></comment></comment></comment></comment>


M4 (computer language) - <AUTHOR> https://en.wikipedia.org/wiki/M4_(computer_language) <comment><USER2> Here is a GNU Makefile snippet I produced many years ago. It lets you have files preprocessed with the shell, C preprocessor (GNU cpp) or M4:

      %: %.ct
      	cpp -P $(shell env | sed -e "s/.*/-D_ENV_'&'/") $< > $@

      %: %.st
      	( export __FILE__=$< ; echo "cat <<!" ; cat $< ; echo "!" ) | bash > $@

      %: %.mt
      	rm -f $@.err
      	m4 -D__FILE__=$< $(shell env | sed -e "s/\([^=]*\)=\(.*\)/-D'_ENV_\\1=\\2'/") $< > $@
      	if [ -s $@.err ] ; then cat $@.err ; exit 1 ; fi
      	rm -f $@.err

.ct files are "C preprocessor Templates". Environment variables are available as preprocessor symbols prefixed with _ENV.

.st files are "Shell here doc Templates". The content of the file is treated as the body of a here doc. The name of the file is available as __FILE__; other environoment variables are present naturally under their ordinary names.

.mt files are "M4 Template". The __FILE__ macro is available with the name of the file. The environment is available as _ENV_* namespaced macros, like in the .ct case.

I used this in a from-scratch embedded distro for preprocessing files in /etc and such.

</comment><comment><USER3> M4 is an interesting macro language, but developed (IMO) a somewhat undeserved reputation for being awful because it is how you build autoconf inputs as well as sendmail configuration files. Guilt by association.

M4 has some "interesting" quirks but I have used it to build a static site. I briefly was maintaining my blog using make and M4. I no longer remember what the precise reason was that I stopped doing that, probably just that I wanted a through-the-web editor for content. I could dig up the "code" if there were interest in that.

<comment><USER4> My experience with M4 is using it to write SELinux policy. The reference policy (which serves as a baseline to build build custom policy on top of) is essentially a DSL implemented with M4. Its actually a good language, and looks a lot like how we would have designed it if we were actually going to write it properly [0]. However, debugging it when something goes wrong (eg, what should be a syntax error) is atrocious. I'm sure it is great if you stick to using it for macros. However, at this point, I view it in the same light as Microsoft Excel: good at what it does, but too powerful for its own good. If your not careful, it will grow until you wish you had been using a proper programming language from the begging.

[0] Except for the backtick as opening quote. Objectively, I think this is a good design decision for any language, but it takes a lot of getting used to.

<comment><USER5> >[0] Except for the backtick as opening quote. Objectively, I think this is a good design decision for any language, but it takes a lot of getting used to.

The `quoting' in m4 is pretty nice since it makes the quotes easy to nest. Sure braces would also be an option but I don't see any fundamental difference between the two, just visual.

</comment></comment></comment><comment><USER6> About 5 years ago we had a nice talk on M4 from Bart Massey of Portland State. He gives a nice survey of the language and a demonstration: [https://www.youtube.com/watch?v=ULZxHSPWn98](https://www.youtube.com/watch?v=ULZxHSPWn98)

</comment><comment><USER7> M4 is a general-purpose preprocessor. Its preprocessing ability focuses on the word level and it blends macros in appearance to the look of the target language on purpose. I especially having trouble with the latter. In editing, I would like to have a "macro" mode and "language" mode, and being confused about which mode I am in -- during writing or reading -- is not good. Then I also find the word level macros are too bottom-up. The most needed preprocessing is top-down management. `include` is an obvious example, `if- else` too. But a scoped block level facility is even more useful.

As an alternative, I have developed and used MyDef: [http://hz2.org/blog/mydef_general.html](http://hz2.org/blog/mydef_general.html)

</comment><comment><USER8> M4 is of historical interest, but nowadays it seem just using a templating system would be much better in almost all cases, no? Modern systems like Jinja2 or T4 are IMO actually more powerful, easier to to use, maintain and debug, and just plain nicer. Am I missing something?

<comment><USER9> What is the difference between a macro language and a templating system? I do some m4 from time to time and it is actually very easy to use and really nice.

<comment><USER8> I'm not sure. I get the impression with such old-school macro languages (like M4) you have to use a lot of quoting tricks, evaluation order hacks, and use low level primitives like divert and dnl to build up even the simplest of useful things. Many scripts seem to start by inventing a looping construct.

While modern templating systems (like Jinja2 or T4) use a proper programming language (like Python or C#) so using even high-level constructs and complex data models is trivial.

<comment><USER10> I think this last paragraph is a bit misleading:

> use a proper programming language

m4 is a small proper language that can be used directly. jinja2 is a DSL written in python that doesn't actually have access to much of python.

m4 is harder to work with in the domain (quoting, escaping, and data modeling) since it is a general purpose language, but it is easier to do general purpose processing tasks with m4 if they violate the stereotypes of what should be done in the domain.

</comment></comment></comment></comment><comment><USER11> What's the best introduction out there for someone who's never touched M4 before?

<comment><USER12> The GNU manual is pretty good. You can run `info m4` or read it from the links here:

[https://www.gnu.org/software/m4/manual/index.html](https://www.gnu.org/software/m4/manual/index.html)

<comment><USER5> The default info pager is pretty horrible. I would recommend installing pinfo (usually available in official repos) which is an info pager with user interace similiar to lynx.

</comment></comment></comment><comment><USER13> I suggest to anyone considering M4 seriously to have a look at its substitution behaviour and syntax rules.

Not only the default newline handling causes rules to become cluttered the more complex your macros get but the resubstitution of already parsed tokens recursively and the quoting that needs to be considered to avoid this can cause surprises - specially as the number of macros grows bigger.

Maybe for config files or configuring source files m4 is great, but for anything more complex that need to be easier to read and understood, I'd avoid m4.

</comment><comment><USER14> Around 1995 I built some configuration management software based on M4, because I thought it was cool! Actually, it didn't do much in the way of management, but it did allow the ISP I was working for at the time to provision a customer gateway in a single step. Saved me a lot of error-prone and rather boring hand-editing of configuration files... (and probably saved the company some money, who knows)

</comment><comment><USER15> m4 is a fantastic utility. I only recently discovered it but was using it + make to create alternate builds of docker images.</comment>


Ask HN: Can you enumerate ALL tools your startup uses? - <AUTHOR> What tools your startup below 30 people uses? Like for everything from marketing automation, data analytics, to work management and planning. <comment><USER2> Slack, Trello, Github issues, Google Calendar, Zoom, email.

Edit: I've since left that startup but it was a team > 10, 4 engineers on staff.</comment>


Asana raises $75M Series D round led by Generation Investment Management - <AUTHOR> https://blog.asana.com/2018/01/asana-funding-series-d/ <comment><USER2> The problem I have with products like Asana has always been context. It's just too much hassle for businesses with very unique processes, often requiring something more custom built, and of course, a deep introspection of data.

<comment><USER3> There are way too many "highly opinionated" productivity apps which are not built with enough freedom and "leeway" for anything but a very basic workflow. It's almost like the software is built for how the company itself works or from an idealistic design standpoint than for the messiness of complicated work.

I still think a properly configured JIRA instance is the best framework for a growing software company to build upon. It's very easy to misconfigure or mess up JIRA but done correctly, it's one of the best pieces of software for getting things done at a larger company (50+ people).

<comment><USER2> Personally I'm not even thinking about software companies, I'm talking about the vast majority of companies out there in countless industries.

It's just not possible to have a good generic app to serve all of them. There's just too much variety in workflows and edge cases to capture them all, and few companies will change the way they work to accommodate the opinionated workflow of some productivity vendor.

The best solution is still to build custom applications for each company, molded around the way they work, and owned by them 100%, so they can feel fully confident that the product will not disappear or change in ways they don't like.

<comment><USER4> On non-tech setups, such systems are called ERP systems. The its a mature multi-billion dollar market with hundreds of entrenched players. The moment an application like Asana tries to cross that threshold, they get compared to the ERP products that are designed to handle specific workflow.

ERP products lack flexibility and generally have very poor user experience (since the buyers are not the users). I think there is a separate place for both these products and it depends on the organization when the switch from one domain to another.

<comment><USER2> Thank you for that term ERP, I hadn't heard it before but it describes precisely what I'm talking about.

</comment></comment></comment></comment></comment><comment><USER5> Productivity apps in Silicon Valley startups are out of control. My wife's company has Slack, G Suite, JIRA, Facebook at Work, Zugata, and now getting Asana. If you need to ping someone, you have to ping them in Slack, Hangouts, FB Messenger and hope they respond to one.

<comment><USER6> Hence tools like Zappier. I've had great success getting all notifications in Slack via Zappier, reducing switching between different tools. But that means that Zappier has access to EVERYTHING, which somewhat scares me from a privacy and intellectual property standpoint.

<comment><USER7> I'm personally more scared about CI/Deployment SaaS companies.

</comment></comment></comment><comment><USER8> >"Asana's mission is to help humanity thrive by enabling all teams to work together effortlessly."

I worked in many companies previously where Asana was used. I can tell you with sheer confidence, at no point did we feel the "help humanity thrive by enabling all teams to work together effortlessly." part. Not once, not ever.

Every time we used it, the project managers would love it for the first two weeks and they would simply revert back to email/slack for reminding teams of deadlines or deliverables.

But you know what REALLY helped out the most? Unsexy Excel sheets combined with regular checkin meetings. We would have ONE meeting every Monday morning where we would review our excel sheet for everyone's progress, updates and deliverables.

Heck, I think even Trello works much better than the god awful interface that Asana has. But, Asana has never worked for any of the teams I've worked with in the past, irrespective of the company size. Maybe that's just me.

<comment><USER9> Same here. We quickly grew to hate Asana, and eventually switched to Trello, then ClubHouse, but I'm personally pretty fed up with these tools. In the end, they become bottomless buckets of stagnating information. We don't need charts or burn rates or estimates.

For projects (like a big new feature with a clear set of tasks), a Google Docs document or spreadsheet works just as well, and usually it's best to have this stuff in the project manager's hands, and not let people mess with it individually.

That said, there's parts of the process that don't have an obvious place. A typical example is a customer issue that arises and needs input and coordination between multiple people, including devs and salespeople and the customer themselves, perhaps including some files that need to be shared. Email is so terrible at this, since adding new people late to the conversation don't let them easily see the chronology, and no email client has yet to make conversations (which sloppy top quoting and huge corporate signatures) readable. A group direct message on Slack, perhaps? I'm thinking Slack is a little too real-time and chaotic. Maybe a private Discourse install?

Managing one's personal queue of tasks (which don't necessarily map to the project's tasks, they could be things like "refactor X") is where I personally seek a better tool. A Markdown file really isn't sufficient. Apple's Reminders app is terrible. Evernote is not good at it. I've yet to find something good.

<comment><USER10> Can't recommend OmniFocus ([https://www.omnigroup.com/omnifocus](https://www.omnigroup.com/omnifocus)) enough. Has kept me sane the last couple of years.

<comment><USER9> Never liked it. Omni's apps are generally cluttered, over-complicated and full of bad UX. No iCloud support, clunky iOS app, everything feels like it's 2006 again.

I like Things — both Mac and iOS apps have good UX — but it lacks some essential features, the most critical of which is the ability to add files to tasks. It's an absolutely must-have for development tasks. Its limited notational support (just a tiny, cramped text field) also makes it less useful for anything except basic personal reminders.

The lack of file support also makes Things less useful for other things, such as doing research into things to buy (new sofa, that kind of thing) or places to go. I use Evernote for this, but it's also a terrible app.

<comment><USER11> Have you tried Bear - [http://www.bear-writer.com](http://www.bear-writer.com) \- for notes? I've found it far more pleasant than Evernote, although it's Mac + iOS only (no web).

<comment><USER9> I have tried Bear, thanks. It's not good enough for me.

For one, it's tied to Markdown, which I find distracting to work with, especially on mobile. (I don't understand the tech community's current obsession with Markdown; it's fine for documentation or Github comments and so on where there's a clear workflow separation between writing and publishing, but for personal tasks? Ugh.)

Bear also makes the same mistake with regards to files that Evernote (and every other note-taking app for that matter) does, which is to only display them inline. If I dump in a bucketload of images into a note, they're all display as huge images that need to be resized. Actually, Bear doesn't support resizing images at all, all you can do is switch between displaying them full, and as thumbnail (just like Apple's Notes), which is even worse. Evernote's image editing/annotation mode is great, Bear doesn't have anything like that.

No folder support. Evernote is also bad here, but it does allow you create "notebooks" and to "stack" notebooks inside each other.

I like Bear's modern UI much more than Evernote's, but a note-taking app would have to be _considerably_ better than Evernote for me to switch everything over, and it's unfortunately not.

Sorry about the rant, talking about note-taking apps fires me up. :-)

</comment></comment></comment></comment></comment></comment><comment><USER12> $75M... for what??! Call me sceptic but I just don't understand how they can raise that kind of money. There is just nothing special about Asana. Is it purely fuelled by amazing growth? And What is the exit strategy here? An acquisition by Atlassian?

Meanwhile, I am bootstrapping and dreaming of launching and making a few $K or hundreds of $K. Maybe I am not ambitious enough when there seem to be so much "free" money up for grabs.

<comment><USER13> There are plenty of people like you. They're just less "sexy" to write about, because they're not as vocal and do not care about KPIs like "velocity".

</comment></comment><comment><USER14> Congratulations to Asana.

Let's celebrate their success rather than criticize their software.

Everybody here would probably be very happy to have created a company like this. Why be so negative?

<comment><USER15> Why can't we do both? I'm happy for them sure, but that doesn't stop people from questioning how they can't be profitable on their own already, why the performance is still one of the worst from all of the PM tools, or why you cannot allow more customization.

Why be so unary?

<comment><USER16> I think tone on HN can come across as very derisive or dismissive sometimes. It's one thing to not be unary, but it is another to be able to write down a coherent set of thoughts which critique the platform without sledging it, and congratulating a company on their success.

Overall HNers aren't the most supportive and compassionate bunch, but then again we're here for news and discussion and not back slapping.

</comment></comment></comment><comment><USER17> I'm happy for Asana as I find the core product useful, but I do wonder how much more growth is possible without branching out into other product areas. Hopefully they've got some interesting stuff in the pipeline.

</comment><comment><USER18> 30,000 paying customers after 6 years. How much do they make from each customer, $100?

That's $3M revenue per year justifying a $30M valuation at the high end. How do they come up with $1B with slow growth like that? Is it because they have a famous founding team? Seems like a small startup with little growth potential, who can raise any money they want anyway, because their founders are billionaires.

Not hating on that, but how do they think of paying back their investors. Is this an ego thing, that they think they MUST build a billion dollar startup even though their revenue and growth is tiny?

<comment><USER19> I've never used nor paid for Asana, however...

It looks like your numbers are way off [https://asana.com/pricing](https://asana.com/pricing)

30,000 customers with an average of 100 users (on the non-enterprise tier) puts that revenue over $400m/year.

<comment><USER18> Where did you find that paying customers have 100 users on average? In that case it would also only be 30,000 customers * 100 users * 10 = $30M a year.

<comment><USER19> I didn't - that was an estimate (in the same way your $100/customer was).

However, you're missing that the price is $9.99/month/user, not per year (for some reason I used $11.99, which is the price when not billed annually).

So it's 30,000 customers * 100 users * 9.99 * 12 ~= $360m per year. Your $30m is per month.

<comment><USER18> Ah ok, then valuation should actually be $4B no? :D

</comment></comment></comment></comment></comment><comment><USER20> ~$163M project management software. [0]

Last round valued at $600M. [1]

Any guess what this round is valued at? Unicorn?

[0][https://www.crunchbase.com/organization/asana](https://www.crunchbase.com/organization/asana)

[1][https://techcrunch.com/2016/03/30/task-management-app- asana-...](https://techcrunch.com/2016/03/30/task-management-app-asana- raises-50m-at-a-600m-valuation-led-by-ycs-sam-altman/)

<comment><USER21> 900MM according to Business Insider. You would think this should be enough to get a 1B+ especially when they have been around since 2008. My guess is that they have a decent ARR but they are struggling to find more addressable market.

<comment><USER22> Often for task and project management software the churn is high and customer lifetime short.

<comment><USER23> I'm actually curious about this - do you know of articles that talk about this?

<comment><USER24> In our pm product (Targetprocess) average customer lifetime is about 4 years.

<comment><USER22> That's really good and above average. How different it is for you in the SME/SMB segment vs enterprise? Churn is much higher for small 5-10 person installations usually, as the switching costs are small and often even initial payments are to continue trialing it. Much different for 1000 users implementation.

<comment><USER24> Average churn is close to 20%. Definitely it is different for various cohorts. For Targetprocess we have this distribution:

1-20 users - churn 35%

21-100 users - churn 18%

100+ users - churn 7%

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> "Asana's mission is to help humanity thrive by enabling all teams to work together effortlessly." I've tried the product and if that was their mission I couldn't tell. Trying to force some sort of higher purpose into every company seems disingenuous at best. Seems like a stretch for an impact investment firm.

<comment><USER26> "effortlessly" with modal windows everywhere, sparkly animations and spaghetti ticket management

</comment></comment><comment><USER27> Personally, I prefer a whiteboard kanban made up of post-its over any work organization software. When remote workers are involved, then I reach for Trello.

Communication tools are a different matter, but generally, a mindful email culture seems to work well.

</comment><comment><USER28> Ha, I've tried to use this product with 3 different teams, never caught on - ended up mostly syncing up via Slack+Email+Google Docs.

Anyone here been able to get a team to use Asana?

<comment><USER29> We're fairly happy with Asana - but it took us a couple of weeks to figure out how we wanted to use it and come up with our own conventions.

I think it works well for mixed teams- jira was too technical for half of our team, and I was opposed to email. It doesn't absolve you of doing project management though - I wish its reporting tools were more powerful...

</comment></comment><comment><USER30> Asana reminds me of that saying that there are only software that people love to hate and those that nobody has heard of, Asana has been reliably bad when I used it, this in a humourous way confirms it.

</comment><comment><USER31> I don't usually complain "what the heck are they doing with that kind of money." But, from a cursory look, Asana seems to be one of the most functionally simple Project Management software I have seen. I know it's trite to undermine the complexity of software, but in this case, I can't find many reasons why they need that kind of money. What are they doing that necessitates a big team (251-500 employees)? The software isn't handling massive amounts of data. Its complexity seems comparable to Trello, which raised only $10M (<7% of Asana's total funding) [1].

How are they burning this amount of cash? Am I missing something?

[1]: [https://www.crunchbase.com/organization/trello](https://www.crunchbase.com/organization/trello)

<comment><USER32> Obviously Trello lacked the mission to help humanity thrive, so their burn rate was much lower ;)

</comment></comment><comment><USER33> Facebook billionaire funds his own company and gets his friend's companies to use it at work.

</comment><comment><USER34> I think it's a great product. It saddens me that they need to keep raising funds, in theory this should be a business that works. There's companies offering products that add questionable value and can be highly profitable, especially in finance and around real estate.

</comment><comment><USER35> Site Down?

Edit: Backup now. When the Story was posted here, site was down.

<comment><USER36> Seems like it: [http://downforeveryoneorjustme.com/blog.asana.com](http://downforeveryoneorjustme.com/blog.asana.com)</comment></comment>


How employable is a startup partner with no corporate experience - <AUTHOR>

I'm a 24 year old and just graduated as an electrical engineer. I currently have an opportunity to join a startup as a partner. I believe the experience will be valuable to me but if I leave the startup in 2 years for whichever reason, would I be left poor and unemployable or just poor?<p>Does being a VP at 24 for a tiny company make me more desirable for a IBM/Accenture type of company? Do I get a jump start for a managerial role or do I start from the beginning like a new grad at 55k$? <comment><USER2> I was a senior manager in Accenture's consulting practice (left in 2002), and still work in the consulting industry. You could probably contact an Accenture recruiter to get an "official" answer. The following is just my opinion.

If you currently have what it takes to get hired by Accenture, doing a couple of years at a startup is probably not going to hurt your chances of being hired later, but it probably _won't_ help you get much of a "jump start". The early years at Accenture focus on "acculturating" you to the consulting life (and specifically in how Accenture does things). Most of the big consultancies follow this approach, as a consistent approach is a key success factor for them (much the same reason why the military gives everyone the same basic training). In some cases the big consultancies _will_ hire someone in at a senior level, but typically this is for people with industry-recognized expertise.

BTW, my advice would be to take the start-up role, unless you need the steady income of a corporate job (e.g., you already have a family to support). You won't have the same kind of freedom in the future. I still wish I'd tried to interview at Microsoft when I graduated in '85, rather than taking the safe path in IT.

<comment><AUTHOR> Thanks for the info. The "acculturation" part was particularly enlightening

<comment><USER2> I hope that doesn't sound too sinister. My wife used to refer to it as "the brainwashing". The reality is that Accenture needs to quickly bring together large teams of people who have not previously worked together, and make them productive as quickly as possible. One way to facilitate that is to ensure that they have a common language and understanding of how projects are run.

I don't know if they still do it, but throughout my tenure at Accenture new hires were sent for an initial training course at the firm's St. Charles campus. The course was traditionally 3 weeks long, and in addition to teaching basic programming to those who had no prior experience (many Accenture hires are not CS or engineering students), it gave new staff some experience with how Accenture runs projects. After the course, new "analysts" are assigned to their first project. The first couple of years as an analyst tend to be "in the trenches" type work, as people don't really have much industry experience. After a couple of years as an analyst you become a "consultant", and start to get more authority and responsibility. It typically takes about 5 years to make it to "manager", at which point you start to get real authority within project teams. From there, career path's vary. I don't know what the current stats are, but during my tenure I would estimate that about 1 out of every 10 hires actually stayed with the firm to the senior manager level.</comment></comment></comment>


Stupid easy GUI screens with 'SPW' for python and pygame. - <AUTHOR> http://entitycrisis.blogspot.com/2009/08/spw-does-stupid-easy-gui-screens.html

<comment><AUTHOR> This is a very simple way to structure gui applications. Kind of like an imgui... but with a context.

Definitely easier than the callback model that javascript/html provides.</comment>


The World of Miegakure - <AUTHOR> http://marctenbosch.com/news/2017/04/the-world-of-miegakure-concept-art/ <comment><USER2> Miegakure looks amazing! I've wanted to play for years now.

In my pessimistic moments I think it's even money which will release first: Half-Life 3 or Miegakure...

</comment><comment><USER3> For those wondering, Miegakure is a not-yet-released 4D puzzle platformer. Think Flatland but as a 4D video game.

[https://youtu.be/9yW--eQaA2I](https://youtu.be/9yW--eQaA2I)</comment>


Roundcube Mobile Skins Launch - <AUTHOR>

"Roundcube Mobile Skins Have Been Launched!!! With Lustrous Mobile Friendly Looks" All Roundcube Skins are tested and are fully compatible with Roundcube 0.8.x, 0.9.x and newly released 1.0.1!!! we have included the Roundcube Skin for desktop, mobile and smartphone Live Demo and hurry to buy it with affordable cost all 16 colorful skins   :- http://roundcubeskins.com/ <comment><USER2> That is One SLOWWWWW website</comment>


Canada Drops Digital Spying Bill For Now - <AUTHOR> http://www.techdirt.com/articles/20130213/10591421965/another-victory-public-speaking-up-canada-drops-digital-spying-bill-now.shtml

<comment><AUTHOR> This is a great result for anyone advocating privacy on the Internet (even if you're not Canadian). We're at a critical juncture for establishing legal norms right now - decisions about the laws that govern how we conduct ourselves online are going to echo for decades.</comment>


A dashboard for my apartment - <AUTHOR> http://iinteractive.com/notebook/2015/03/06/a-dashboard-for-my-apartment.html <comment><USER2> This is a project that I've wanted to do for so long. I agree with the author's opinion about people making custom-fit apps for themselves. Programming is less taxing than other home improvement techniques like say, carpentry, (although that may very well be my lack of skill with the tools which make it so) while resulting in a similarly satisfying outcome.

Also, For some reason, this reminded this [1] article which was discussed on HN recently.

[1] [http://gizmodo.com/why-is-my-smart-home-so-fucking- dumb-1684...](http://gizmodo.com/why-is-my-smart-home-so-fucking- dumb-1684949715)

</comment><comment><USER3> Is it possible to trick the magnet sensor used for instant unlocking with the smart cover? Might be possible to come up with either a mechanical switch involving a magnet, or an electronic one with a solenoid, that instantky unlocks the ipad?

</comment><comment><USER4> Author here. Happy to explain any technical details I left out :)

<comment><USER5> If you really want to disable that Guided Access pop-up message, I think there's a way to do it. It's called "Single App Mode". You use Apple's Configurator to enable it through a configuration profile, and it literally locks the iPad into booting directly into that app, and you cannot disable it without connecting the iPad to (presumably the same?) computer and removing the profile.

The downsides are:

1\. You have to put the iPad into supervised mode, which requires a full factory reset through the Configurator. This is because it enables a bunch of enterprise controls that they don't want enabled without the user's knowledge, such as the ability to configure a global HTTP proxy, etc.

2\. As I mentioned before, there is literally no way out of the app other than removing the configuration profile. This sounds like it interferes with your use case, but maybe it's a worthwhile tradeoff for you?

3\. Probably something else I didn't think of.

Here are a couple articles I found that mention how to do this:

[0] and [1] are articles from some app that this feature is useful for, explaining how to do it for that app.

[0]: [http://support.kioskproapp.com/knowledgebase/articles/413366...](http://support.kioskproapp.com/knowledgebase/articles/413366-setting- up-single-app-mode-with-apple-configurat)

[1]: [http://support.kioskproapp.com/knowledgebase/articles/315259](http://support.kioskproapp.com/knowledgebase/articles/315259)

Disclaimer: I have never tried this myself, I have simply happened to have heard of it. I found the two articles above because I knew the term to Google (not a shot at you, sometimes you just need to know the right search). There may be some unintended consequences because it's an enterprise feature and all.

<comment><USER6> Another way to address the original problem is jailbreaking and using the Activator app to assign the home button to "unlock", which effectively auto- unlocks the device to whatever app you had open.

I find it quite a usability improvement, when using the tablet as a cookbook for example.

</comment></comment></comment><comment><USER7> Well done! I'd love something along those lines as well, since my iPad is generally dead most of the time, never being used.

<comment><USER8> I'm glad I'm not the only one.

I really want to like tablets, and have owned (and subsequently given away) several iPads, but they just never seem to have a clear place in my life: I have my phone with me most of the time because it fits conveniently in my pocket, and a significant chunk of the rest of the time I'm sat in front of a proper computer; there isn't really enough of a gap left between those two categories of devices that I'd need a third to fill it.

(I also like physical books and haven't really installed very many apps on my phone. Perhaps I'm just a Luddite.)

<comment><USER9> Some will react in horror, but my use case for my ancient iPad 1 is, as I'm doing right now, reading in the bath. My phone is both too valuable and too small to fulfil this 'need' safely, and the iPad hardly handles anything other than basic web browsing anymore. Still, since it probably qualifies as a collector's item nowadays, I might stop doing this...

</comment></comment></comment><comment><USER10> +1 primarily for mention of forecast.io; I'd never heard of it, and it makes me quite excited!

All the best,</comment>


Edge injects random additonal characters in select/option form input fields - <AUTHOR> https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/17358578/
Edge currently injects random characters into select elements in forms. They range from "t","e" to some chinese ones. One of the weirdest bugs I've ever seen.
I had to restrict access to our intranet to only allow firefox or chrome. Seems pretty sad tbh. <comment><USER2> That's awesome. Should have been fairly easy to catch in an automated test, so I'd be quite interested in the details; too bad we almost never find out the details.</comment>


Ask HN: Electrical Engineering for Hackers? - <AUTHOR>

I have a bachelors degree in IT (Computer Information Systems). While I love computers I am fascinated with really making things. I have read a couple Arduino books, and built quite a few projects with Arduino, some from instructions some of my own doing.
However, in my most recent project I feel like I have started to reach the end of basic electronics knowledge. I know that many people spend their entire academic career studying electrical engineering and that it isn't something I can teach myself overnight.
That being said can any EE's out there recommend a good primer on the basics (beyond just circuits and the other super basic stuff) of electrical engineering? Whether it be books, web resources, online classes, or anything else I would be very interested, and greatly appreciative.
Any other electronics/Arduino hackers out there? How did you teach yourself and bootstrap your projects? I'm interested in any and all information. <comment><USER2> You should now that "Electrical Engineering" is a huge field that encompasses many interrelated disciplines, much like mathematics. Its impossible for any one man to know more than a few niches that are important to him really well. People spend entire careers just figuring out the best ways to wrap coils of wire around metal stuff.

To get a really good foundation on the type of things you might try to make, I think I might start with MIT's opencourseware:

[http://ocw.mit.edu/courses/electrical-engineering-and- comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer- science/6-002-circuits-and-electronics-spring-2007/)

<comment><AUTHOR> Thanks! I will look into the opencourseware I was bummed that I had missed out on the 6.0002x course but this looks almost as good.

I know that EE is a huge field, I think that's part of what makes it so daunting to get started if you have no traditional education in it.

Thanks for your reply!

</comment></comment><comment><USER3> "The Art of Electronics" by Horowitz and Hill. Learn the first 6 or 7 chapters and you'll be fine. If you get the student book and the teachers guide you can do the worked examples and test your knowledge but that is above and beyond. Anyone who wants to do electronics should have that book on their bookshelf.

<comment><AUTHOR> Definitely going to trade in some old text books to get my hands on this. Thanks for the tip!</comment></comment>