Ceding the Crown - <AUTHOR> http://daringfireball.net/2013/03/ceding_the_crown

<comment><USER2> It's unfortunate that Gruber has essentially become synonymous with Apple fanboyism, because I think he raises some salient points here. To any reader that is familiar with his writing, it'll come across as the typical Apple cheerleading, suggesting that weaknesses are actually strengths, and any competition isn't really competition because Apple is really just engaged in a long-term, visionary, eleventy-dimensional chess match in its noble and exalted goal of driving the human race forward.

But I agree with him on the first two misconceptions he tries to correct. The iPhone was never a market share game. In 2004, the original Motorola RAZR was like $400 at launch, and three months later it came free in cereal boxes. That's what you do when you are trying to gain market share. Apple's products are effectively a luxury brand for consumer electronics, and criticizing Apple for not winning the market share game is like criticizing Lulumelon for selling fewer yoga pants than Target.

Also, the iPhone and iPhone 3G were objectively great products. It would have been great even if RIM wasn't releasing awful products by comparison. Their other product lines have continued to be popular even as other companies have learned how to make products that are just as thin or have screens just as sharp. So I agree with him on that point, that there's not much merit to the argument, "well the iPhone only sold well because everyone else sucks, and now the Galaxy is just as good so they're screwed."

But, his third point is where I diverge with him on his conclusions. _"Apple is a great competitor. In the PC industry they've fought back from the brink of bankruptcy to become the most profitable and fastest-growing PC maker in the world. They came in and stole the music player market, and have dominated it for over a decade."_

Well, look. To suggest that this is a _fait accompli,_ without even mentioning the fact that _Steve Jobs is no longer with the company so maybe they're going to struggle in learning how to 'fight back' without him,_ is extremely misguided to me. I never knew Steve Jobs personally, but I'd like to think that if he visited Apple now, he'd say something like, "I've been dead for two years and we're still talking about which company is better at making flat touch screen computers? That's boring now. Let's invent something new. And by the way, fire whomever thought it was okay to have 21 icons on the iPhone 5."

Like I said, I don't know Steve Jobs, and I don't work at Apple. But it would seem like if you're going to suggest Apple's still on the ball and market share is irrelevant because they're focused on 'advancing the human race,' you'd probably want to explain how they're going to do it without the one guy that coined the motto to begin with.

<comment><USER3> With respect to people harping on market share, that's just what people do:

"Look at MS Windows' marketshare! Apple/FreeBSD/Desktop Linux is dead!"

"BSD is dead. Netcraft confirms it."

"Android will never have the marketshare of the iPhone. The AppStore has 100,000 apps! It will always be dominant!"

"Android will never have the marketshare of the iPhone. Apple has X% of the market!"

... etc ...

People are now using to tout Android, but look to the past to see the same(-ish) arguments for why Apple will always dominate Android.

<comment><USER4> No, it's not the same arguments, because Android and iPhone are two very different things.

The reason why Android won is because the iPhone is just one phone from one maker. There's a limit in market share you can reach with just one phone because you can't please everyone. Heck, even with a single brand there is a limit in the market share because you can't build a brand image that appeal to everyone (in particular you'll never appeal to the "I don't want to go mainstream" people). This is why car makers sometimes create entirely new brands - like Lexus from Toyota (luxury cars) or Dacia from Renault (low cost cars).

Android, on the other hand, is dozens of phones from dozens of makers. Just like Windows on desktop PCs. So it can reach a quasi-monopoly status. Now that Android have this market leader position, the only thing that can displace it is not a slightly different system (like Windows Phone) but a full paradigm change. That's why Linux failed to displace Windows as the market leader, but tablets are in their way to do it because they're completely different beasts.

...And by the way, for the same reason iPhone can't hold a monopoly, the iPad is losing its market leader position to... Android.

<comment><USER5> Your posting assumes as a fact that a) winning means having more market share, and b) Android's combined success stems from a very diverse ecosystem. Most of Gruber's blogging in the last months has been about questioning these assumptions.

</comment></comment></comment></comment><comment><USER6> This reads like a populist piece, trying to convince people with arguments that sound logical but are just wrong.

Of course Apple had the market share lead with the iPhone. But the category was not "smartphone". They had a dominating lead in the category "mobile phone with touch UI and great web browser" from 2007-2010. Nobody cared about Symbian anymore after the presentation of the iPhone. That category was left to die. The iPhone became the new state of the art for smartphone.

Apple lost the lead around 2011 however due to the unwillingness to provide more than one model or innovate faster. Android was more flexible and could address more users.

Now it may well be that Apple doesn't care about this at all. But please do not make arguments how technically Apple never led in the smartphone market.

<comment><USER7> > _Apple lost the lead around 2011 however due to the unwillingness to provide > more than one model or innovate faster. Android was more flexible and could > address more users._

More users, but not more users that really matter. That is, more users that generate more profits. Hence the difference between Samsung and Apple. It's similar to how Apple can have ten times the profit of Dell even if Dell ships twice the units.

The Android companies are like the PC companies: they have a commoditized OS and sell to all tiers, low and high, but mostly low and mid, and for smaller margins. Apple only sells to the higher end of the market, as they always did with their laptops and desktops.

> _Now it may well be that Apple doesn't care about this at all. But please do > not make arguments how technically Apple never led in the smartphone > market._

Smartphone? I thought you meant "mobile phone with touch UI and great web browser".

Which is BS btw. Apple made a smartphone. Competing with entrenched smartphones. The fact that none (or few) shared it's design and particular qualities at the time means nothing.

In the smartphone market (which is a real market segment, instead of the "mobile phone with touch UI and great web browser" which is an ad-hoc thing you came up with), the iPhone was never top in market share. It was however top (and still is) in profits.

Apple does not care about the lower end (or total market share) for the iPhone. They care for the same things they do in their PC department: capturing the upper end, the more expensive, better margins and more headroom for build quality, end of the market.

That's why you have Android users be 3-1 to iOS users but iOS users still are 80% of those actively web browsing from their mobiles. Because beside the "tech-enthusiasts that don't like Apple" (a small-ish market) Android also caters to the lower end of the market, people who could not care less about mobile browsing or "computer-like phones", and just use it as a glorified phone that they get for free with their low-tier subscription.

<comment><USER8> _iOS users still are 80% of those actively web browsing from their mobiles_

Please stop repeating false information with no source, it makes the rest of your post very difficult to believe.

[http://gs.statcounter.com/#mobile_os-ww- monthly-201202-20130...](http://gs.statcounter.com/#mobile_os-ww- monthly-201202-201302)

<comment><USER9> I think [http://marketshare.hitslink.com/report.aspx?qprid=8&qpcu...](http://marketshare.hitslink.com/report.aspx?qprid=8&qpcustomd=1) is more believable based on correlation with other sources of data.

<comment><USER8> While it may be more believable, the sample sizes and methodologies behind the two sites appear to differ.

marketshare.hitslink.com lists that they track "approximately 160 million visitors per month" to "40,000 websites" [1][2]

statscounter.com lists that they track "15 billion page views per month" to "3 million+ global websites" [3]

This seems to imply that there is a bit of difference in which traffic is tracked by the two, and that statscounter.com is probably tracking a larger share of global traffic. I'd be hesitant to say that marketshare.hitslink.com is 'more believable' - perhaps it simply tracks a subset of websites more similar to your own?

In addition, with statscounter.com tracking page hits rather than 'unique visitors' as marketshare.hitsink.com does, it seems to imply that each Android user would use their web browser more heavily than each iOS user?

[1] <http://marketshare.hitslink.com/mobile-methodology.aspx> [2] <http://marketshare.hitslink.com/faq.aspx#Methodology> [3] <http://gs.statcounter.com/faq#net-apps>

EDIT: Indeed, filtering statscounter.com by USA market only gives figures very similar to marketshare.hitslink.com:

[http://gs.statcounter.com/#mobile_os-US- monthly-201202-20130...](http://gs.statcounter.com/#mobile_os-US- monthly-201202-201302)

I'd argue that the global stats are far more important than the USA only ones, but you're free to disagree! And just to try and tie this back to the original point a bit: all of these stats are a very long way from 80%.

</comment></comment></comment></comment></comment><comment><USER10> I don't know if the article has been edited since Gruber first read it, but there appear to be sufficient statistics to back up Gupta's assertions:

> _"Samsung had 30.3 percent of the smartphone market in 2012, up from 19 > percent a year earlier. Apple's share was 19.1 percent last year, up from > 18.8 percent in 2011."_

Gupta's general tone is eminently reasonable:

> _"That onslaught, coupled with growing uncertainty about whether the U.S. > giant can sustain growth in coming years, has contributed to a 30 percent > decline in Apple's stock since its September peak."_

I don't see a _"Oh, how the mighty Apple has fallen" narrative_ \- Gupta is commenting on _the market's bet against Apple_. _If_ the market is really knocked off 30% of their value based on media scaremongering, you've got (a) a huge market failure, and (b) a sure bet in Apple.

Gruber's only contribution to the discussion appears to be hand-wringing about the way poor old Apple is being treated.

<comment><USER11> You did not read the article adequately. Gruber points out that while Apple may have a lower market share (which was never an Apple goal), the profits it brings in far exceed Samsung. Furthermore, if the market share of Apple is going UP, how is it being described in Gupta's article as going down?

Your post was basically all of the assumptions Gupta made without any contribution to the discussion.

<comment><USER10> Gruber has only changed the terms of reference.

The idea that _Apples original aims_ anything at all to do with the current state of the smartphone business is laughable. Apple's stock price is not based on the relative success versus their original aim. It's very much based on the projected future success of the company.

This is called _spin_. There definitely is a lot of crowing about "Apple's downfall" (which is certainly not true, and definitely premature), but Gruber reads more into the article than is really there. Tilting at windmills.

<comment><USER11> Here are some facts:

        - Gupta was not talking about the stock market for the entire article.
        - Business is about profits.
        - Gruber is talking about Gupta's article which says Apple is failing in mobile.
        - The stock market is basically sensationalism in monetary form.
        - Apple hasn't announced any new products and that is hurting it's stock.
        - Apple never announces new products before they are manufacturing.

<comment><USER10> _"Gupta was not talking about the stock market for the entire article"_

Except when he refers to the drop in their stock price - the _entire basis for the "Apple naysayers narrative"_. Unless you think the opinions of a few business writers knocked off 30% of their valuation instead. Like some sort of epic reverse pump & dump? Hardly.

 _"Business is about profits."_

Gee that's deep. It's also deeply misleading. Current profit earnings and forecasts are what drives the stock price movement. The only way _you or I_ can profit from Apple are by purchasing shares _where those predictions are priced in_. If their profit forecast halves _regardless of their relative performance vs competitors_ , I'm going to suffer as a shareholder.

 _"Gruber is talking about Gupta's article which says Apple is failing in mobile."_

And like I said, Gruber misses the point.

 _"The stock market is basically sensationalism in monetary form."_

Ah, so you don't like what the sharemarket is doing, so you dismiss it as "sensationalist". Don't kid yourself, you're not kidding anyone else.

And I'm not sure what the last two points have to do with anything, so I won't comment on them.

<comment><USER12> If you compare the fortunes of Apple and Amazon in the stock market, it is immediately clear that the stock market is not a good way for individuals to benefit from the profits of corporations they choose to invest in. That seems pretty broken.

</comment></comment></comment></comment></comment></comment><comment><USER13> His main point (and the title of his article) is that people are stating as fact that apple has fallen, whereas their profits are still stronger than anyone's. This is true, and he must feel like hes in a world of crazy people that its even necessary to point this out.

<comment><USER14> The tech world _IS CRAZY_!

Imagine you're a VP over at Microsoft right now watching everyone rave about Samsung's profit figures and their utter dominance and you just want to scream "hello?! we also made $21 billion in profit last year, except we did it on 1/3 of Samsung's revenue! does anyone care?!" No, no one cares. Microsoft has already been relegated to the dust bin of history even though it's still alive and kicking, still one of the most profitable companies in all of human civilization, etc. Sure, they've ceded much of the initiative in tech to other movers, but they're very much far from dead and far from irrelevant.

Stepping into the world of tech punditry is a bit like stepping into a Target department store, except instead of seeing advertising and merchandise for holidays 2 seasons away you see companies declared winners, losers, or dead years ahead of their time.

What really annoys me is that people are talking about dumb stuff, horse race stuff. It's like sitting at the lunch table and overhearing how Johnny dumped Erika and is now dating Michelle or some such other riveting high-school gossip.

What's that quote? Small minds discuss people (companies). Average minds discuss events. Great minds discuss ideas.

Can we talk more about the ideas relevant to this massive second revolution in personal computing going on under our noses and less about which multi-billion dollar mega-corp is the most popular kid in school at the moment?

<comment><USER15> The problem with Microsoft is that they're turning into IBM. Wealthy yes, profitable yes, but dull as ditchwater.

<comment><USER14> I'm sympathetic to that viewpoint but I wouldn't say it's true, yet. I think it would be more accurate to say that they are becoming bureaucracy/management heavy and out of touch. However, some of their recent initiatives have shown that they "get it", but maybe not enough to make them relevant again as they once were.

</comment></comment></comment></comment><comment><USER16> I won't read this, because I feel like I've been reading the same exact article every day for the past year.

It's not a question of fanboyism. I completely agree with everything he's saying. I just don't understand why he needs to address that Android vs Apple _day after day_.

Am I missing something here? Does what blog X says about Apple or what magazine Y says about Samsung have any impact on the world whatsoever? John Gruber seems like a smart guy and I'm continuously baffled by his decision to devote so much time and effort to such a trivial matter.

<comment><USER17> _Am I missing something here?_

He does it for page views. News at 11.

<comment><USER18> He promotes a brand he loves and gets paid for it. But yeah, Gruber is either an Apple fanboy and/or someone profiting on other people's devotion to Apple brand.

</comment></comment></comment><comment><USER19> I wish people would stop posting garbage from John Gruber.

<comment><USER14> It's certainly biased, the question is whether or not it's a well-founded argument that leads to a worthwhile discussion. I think it fits that bill.

<comment><USER19> I've never seen an interesting discussion on any piece by Gruber, since most articles are flamebait-ish populist articles that bring out the fanboyism in people, with discussions degenerating into dick measuring contests of who's favourite is better. Nothing good can come out of it.

</comment></comment></comment><comment><USER20> I think he's missing the point. This isn't a commercial fail for Apple, its a public relations fail.

Two years ago, I knew maybe 2 people who didn't want an iphone. I now, personally, know perhaps 4 people who want one.

You think that isn't a fall from grace in the public opinion?

It is. It's a colossal blunder for Apple, and "once stood the undisputed leader of the smartphone arena, but ceded its crown to Samsung in 2012." seems a fair (harsh, yes, but under the circumstances, I think pretty fair) comment.

I'm not arguing with the points in the article; they seem quite reasonable (unusually so, for Gruber), but there's more to this story than 'how commercially successful is Apple'.

<comment><USER21> Your reasoning that Apple has fallen from grace is a personal observation that most people you know don't want one?

</comment></comment><comment><USER22> Going by the headline I was hoping he would finally anounce that he is officially ceding markdown leadership thus making the life of the people actually working on it better.

</comment><comment><USER23> _We've never been at war with Eastasia..._</comment>


Hidden From Google - <AUTHOR> http://hiddenfromgoogle.com/

<comment><USER2> The issue here is two fold: if you committed a simple offence like -say- shop lifting at some point of your life, get caught, get punished, regret it then you try to make things right and get back to society. Having a permanent record of that in the internet can pretty much destroy your life even though you didn't kill anybody. We are all humans, we all make mistakes. On the other hand, if it is okay for courts to make things "disappear" from internet gates like Google then any ambitious politician\lawyer with zero concern for public interest can make the internet his pet by hiding some of his history from the public and any dictator can mask everything they do even if their citizens use proxies to bypass their firewalls. In my personal opinion, the most practical way to address this is to prevent publishing names on newspapers for offenders in minor offences as opposed to hiding Google's search results.

<comment><USER3> _> 'The issue here is two fold: if you committed a simple offence like -say- shop lifting at some point of your life, get caught, get punished, regret it then you try to make things right and get back to society. Having a permanent record of that in the internet can pretty much destroy your life even though you didn't kill anybody.'_

Not necessarily.

Exactly such a conviction didn't stop at least one guy from becoming in some sense the most notable CIO in the US and VP at a major SV company.

Of course, I expect he was better equipped than many to mitigate such things, but not exceptionally so.

Ideally, we would - as a society stop discriminating against or wholly shredding each other over petty bullshit. We'd acknowledge a whole range of stuff that currently is called at best an indiscretion or lapse in judgement as actually perfectly average, human behavior.

Obviously, that's not to say any and everything is simply 'OK', particularly if it is habitual or done with malice.

It's simply getting back to a reality where we try to hold each other to such squeaky clean ideals that someone representing them would either be so bland as to have little in common with the rest of the world or more likely, have done a great job of covering it all up.

Moving forward, I actually think we get to that point one way or the other. I don't think information security has much hope of keeping up with our increasing connectedness, sharing (intentional or otherwise) and growing trail of digital footprints.

Eventually it's all just noise.

</comment></comment><comment><USER4> 12 listings... Well, that seems to work really great considering google is complaining about thousands of requests.

</comment><comment><USER5> Alot of these people seem to have found themselves in trouble they would rather forget. I can understand that.

However, it doesn't work that way. Just because Google might forget you doesn't mean DuckDuckGo and friends will, how about Usenet and news aggregator sites like HackerNews?

No matter how much these people want whatever happened to go away that can't and won't happen, it's only a matter of time until this new law is abolished too.

<comment><USER4> The ruling applies to every search engine.

90%+ of Europeans use google. How many use DuckDuckGo? So not having that stuff on google is pretty effective.

       how about Usenet and news aggregator sites like HackerNews?

Who uses that stuff when looking up someone?

<comment><USER6> It only covers EU 'based' search engines. If DDG has no servers in Europe, I don't think they have to do anything to comply with this ruling.

<comment><USER4> And that works because they are pretty much irrelevant right now. I doubt they could get aways with no presence in on of their biggest markets, if the reach something like 25-50% market share.

</comment></comment></comment></comment><comment><USER7> Previously discussed:

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

</comment><comment><USER8> Well, this website kinda defeats the purpose, no?

<comment><USER9> That's the purpose. These folks aren't Google, but _are_ actively trying to undermine the EU ruling forcing Google to remove these links.

</comment></comment><comment><USER10> How many man hours at Google went on to develop the feature for this, I wonder?

</comment><comment><USER11> What is the ostensible reason these things are being hidden?

</comment><comment><USER12> "Right to be forgotten" \- I am sorry but these positive rights are getting ridiculous.

<comment><USER13> Seriously? How can we expect legislation to protect our privacy but not the privacy of those that we don't like?

Your comment is exactly like Eric Schmidt saying "If you have something that you don't want anyone to know, maybe you shouldn't be doing it in the first place." and then pushing for drone control to keep his own privacy.

<comment><USER14> I don't think you know what _privacy_ means and I'm not defending Eric Schmidt here.

Getting busted for drunk driving, with a news story as a side effect - that's public information, not private. And if indeed you prove your innocence with a blood test, you can always ask the newspaper to retract their story or sue for defamation. But again, getting caught drunk while driving, that's public information, not private, so privacy doesn't enter the picture.

Just to be clear, lets try some samples:

PUBLIC: a picture with you drunk done by somebody else

PRIVATE: a selfie with you drunk that's stored on your laptop or DropBox or GDrive

PUBLIC: a record of you being at a Starbucks at 12:00 this Monday

PRIVATE: your track record of where you've been hanging out every day at 12:00 in the last month

PUBLIC: your face

PRIVATE: your social security number

PUBLIC: your sexual orientation

PRIVATE: your sexual orientation

Can you spot any differences? As a hint - privacy is the right to protect private information about yourself, but it's definitely not the right to hide information that's already public.

Of course, I can see the rationale behind the "Right to be Forgotten". I could agree with it. Except for the fact that I live in a country in which corruption is a problem - and this right will be used for censoring acts of corruption and I have a problem with this.

<comment><USER15> > PUBLIC: a record of you being at a Starbucks at 12:00 this Monday

> PRIVATE: your track record of where you've been hanging out every day at > 12:00 in the last month

This seems problematic. What is it about the aggregate information that makes it private? That is, at what point does a collection of individually public data become private? (I agree that it _should_ , but would have trouble defining the precise point at which it _does_.)

> PUBLIC: your sexual orientation

> PRIVATE: your sexual orientation

I guess that this was intentional, but I think that I don't understand. Do you mean that sexual activities that are undertaken in public (I can't come up with a good way to phrase that—I mean innocently, things like dating and such) are public, and sexual activities that are undertaken, say, in the bedroom are private?

<comment><USER16> I'd guess that the point is your sexual orientation is both since it isn't really anyone else's business, but obviously your partners (even if they are super secret partners) will know, making it public?</comment></comment></comment></comment></comment>


This video of Texas cops stopping a black professor is a racial 'Rorschach test' - <AUTHOR> https://www.washingtonpost.com/news/morning-mix/wp/2015/11/04/racism-by-whom-this-video-of-tex-cops-stopping-a-black-professor-is-a-racial-rorschach-test/?wpmm=1&wpisrc=nl_headlines <comment><USER2> I watched the video, and I didn't see any evidence of racism. The officers started right out asking her to walk on the other side of the street and/or to use the sidewalk, for her own safety. I saw nothing disrespectful in their words or their demeanor.

 _However_. I guess a lot of police departments have a standard policy of asking anyone they stop and talk to to show ID, even if they're not issuing a citation. I think this policy should be reconsidered. If their concern really is for the person's safety and not that the person is a danger to others, then perhaps they should skip asking for ID or at least not insist on it if the person claims not to have it or does not wish to show it. There's something a bit chilling about the idea that anyone out walking and minding their own business could be stopped and asked for identification, and the very slight interest that the police have in making a record of whom they spoke to does not, to my mind, outweigh the interest of the people in not feeling like we live in a police state.

(I'm not saying we actually _do_ live in a police state, only that this practice makes it feel a little bit more like that than it otherwise would.)</comment>


Mass Shooter Adam Lanza 'Spent Hours Playing Call Of Duty' - <AUTHOR> http://www.businessinsider.com/adam-lanza-played-call-of-duty-2012-12

<comment><USER2> More than 35 Americans are killed each day, the media sees nothing wrong with gun ownership. One murdering freak has a history of playing first person shooters and like vultures they come circling the bloody corpses.

Fuck you mass media!</comment>


HP takes a $8.8 billion writeoff, alleging Autonomy accounting fraud - <AUTHOR> http://h30261.www3.hp.com/phoenix.zhtml?c=71087&p=irol-newsArticle&ID=1760639&highlight= <comment><USER2> I thought this sounded familiar - AlexMuir called it: <http://news.ycombinator.com/item?id=2902749>

and score one for Larry Ellison: <http://news.ycombinator.com/item?id=3051730>

<comment><USER3> halfwit, you appear to be hellbanned on HN. You might want to take that up with pg.

<comment><USER4> Do to the frequency with which I see people attempting to alert a hell banned party (which obviously defeats its purpose), I wouldn't be surprised to learn that the hell banned can't see any post that contains the word 'hell banned'.

<comment><USER5> Sorry continuing this off-topic thread, but I'm actually curious what it takes to become 'hell banned'. I've noticed several banned users lately, and this is another case where none of the user's comments/submissions seem overly trollish or offensive.

</comment></comment></comment></comment><comment><USER6> [disclaimer: worked for Autonomy. This view represents my personal sole oppinion and not of the (former) employer]

I can't tell too much, but everyone I knew was in shock when they announced the price (12$bn), this was, way, way over what I internally valued the company ( I was counting about 2$bn max - stock was better but is a result of offer/demand).

Either Mike was/is a good seller, or HP ( or Leo Apoteker ) was corrupt or dumb.

<comment><USER7> > or HP ( or Leo Apoteker ) was corrupt or dumb

I wouldn't bet on Apotheker being dumb. In his career he probably made more money than many of us ever will.

<comment><USER8> Is making money a proof for one's intelligence?

<comment><USER7> Money in itself is not sufficient to prove someone is smart, but Apotheker clearly did right something I'm doing wrong ;-)

<comment><USER9> Not at all clear; maybe he just took much bigger risks than you and got lucky.

<comment><USER10> I think we'd all agree that luck plays a big part in all of our lives, but he did become the CEO of one of the largest companies in the world.

If you think this was due to "luck" then I'd strongly disagree. Luck provides opportunities, but people have to take them and make the absolute most of those opportunities to even come close to the career that this man has had.

</comment></comment></comment></comment></comment></comment><comment><USER11> Mike Lynch (ex-Autonomy CEO) is speaking today at a start-up conference in London. Who wants to bet he won't be taking questions?

What the HP press release doesn't mention, but what the BBC and others are reporting[2] is that HP are both planning to refer it to the SEC/SFO and take civil action against "various parties". It's not a huge leap of faith to suggest Mike Lynch is probably one of the parties involved.

[1]: <http://www.wired.co.uk/news/archive/2012-10/25/mike-lynch> [2]: <http://www.bbc.co.uk/news/business-20412186>

<comment><USER12> From the BBC article:

> Autonomy founder Mike Lynch is a non-executive director of the BBC.

This is the beauty of a free non-commercial press.

</comment></comment><comment><USER13> Back in May, ex-Autonomy CEO Mike Lynch was ousted by HP (or left out of frustration, depending on the source) [http://www.telegraph.co.uk/finance/newsbysector/mediatechnol...](http://www.telegraph.co.uk/finance/newsbysector/mediatechnologyandtelecoms/electronics/9287201/Mike- Lynch-ousted-from-HP-after-Autonomy-disappoints.html)

I have to say, I can't recall hearing about Autonomy...not that I keep up with all the tech news, but a $10B valuation is pretty big. Is it just accounting fraud that's going on, or was the technology not what it was claimed to be? $10B for tech that would encroach on what Google/Apple/the NSA would do seems like it would make Autonomy more of a household-tech name, even if it was based in the enterprise sector:

<http://en.wikipedia.org/wiki/Autonomy_Corporation> > _Autonomy's technology attempts to "understand" any form of unstructured information, including text, voice, and video, and based on that understanding perform automatic operations, for example inferring what the user wants and on that basis finding other information that may be of interest._

<comment><USER9> They're well-known in Cambridge circles, though mostly as a place that hires graduates and offers a poor working environment until they leave a year later.

<comment><USER14> Autonomy was one of the places I worked very early on while getting enough of a CV to pick and choose. I was only there for a matter of months though, and in systems, but I really rather liked that job. In the end I left fairly rapidly because I couldn't cope with living in Cambridge (I like smaller places and I like being near the coast).

Looking back I'm fairly sure I was woefully underpaid for the position ... but also not nearly as good at it as I thought I was at the time. So if anybody reading this thread remembers my work less than fondly, sorry :)

</comment></comment></comment><comment><USER15> For me, this highlights why tech investing is so frustrating.

I saw this coming and would have shorted Autonomy if I had the money. But guess what? I'd have lost a fortune even though I was (allegedly) right.

DHH has been shorting Salesforce for a good while. He's losing that bet as well.

Equity investing often bears no relation whatsoever to reality. The "bigger fool" element is huge.

That said, I think this may be the end of HP. A bold claim, but they are going to have to fight some serious allegations of corruption, incompetence and negligence.

<comment><USER16> It is sad that there isn't a "better" way to bet against (or for) a company. Per pg's startup ideas though it does seem to suggest a small opportunity. Sort of a variation on the sports book where you get to bet for or against company outcomes. The tricky bit would be to capture this sort of event (purchase then giant write down) as a wager.

<comment><USER17> You could use prediction markets for something like this (disclaimer: i founded a prediction market software company) but unfortunately using real money isn't allowed in the States which would limit the interest of more serious traders.

<comment><USER16> Presumably because this is classified as a form of gambling right? (how the stock market gets away with it I'll never know.) Given that options are a financial instrument that converts a prediction market into something you can invest in, I wonder if there is some other financial instrument you could work out here.

<comment><USER18> > how the stock market gets away with it I'll never know

Because a share represents part ownership of the company.

</comment></comment></comment></comment></comment><comment><USER19> Cross-posted from the other Autonomy thread:

I have no comment on Autonomy's finances. We did however evaluate it's product vs Google's search appliance. The Google Appliance we pretty much plugged in and let it do it's thing. After a few days it was giving excellent results on our massive (80,000 people) company intranet.

The Autonomy server had to be constantly tweaked and fiddled with to even get it near to the relevance of the results.

Unfortunately, Autonomy had flogged a loads of licenses to another part of the business for peanuts, so we had to go with their inferior product.

</comment><comment><AUTHOR> The paragraphs in question:

"Fourth quarter and full year fiscal 2012 results include a non-cash goodwill and intangible asset impairment charge of $8.8 billion relating to the Autonomy business within the Software segment"

"The majority of this impairment charge is linked to serious accounting improprieties, disclosure failures and outright misrepresentations at Autonomy Corporation plc that occurred prior to HP's acquisition of Autonomy and the associated impact of those improprieties, failures and misrepresentations on the expected future financial performance of the Autonomy business over the long-term. The balance of the impairment charge is linked to the recent trading value of HP stock. There will be no cash impact associated with the impairment charge."

</comment><comment><USER20> This is an "intangibles and goodwill" writeoff - its not nothing but it is also a "guesstimate" of value.

Essentially they "guessed" a year ago Autonomy was worth 10bn, now they are guessing its worth its yearly sales cash income - ie no goodwill at all.

Given that at the time of purchase it had 1bn in sales, and now they have lopped that (plus deprecation) to the same suggests the problem is to do with allocation of revenue than the actual viability of the software

</comment><comment><USER21> Deloitte (large accounting firm) signed off on the independant auditor's report... summary here: [http://www.zerohedge.com/news/2012-11-20/deloittes-2011-auto...](http://www.zerohedge.com/news/2012-11-20/deloittes-2011-autonomy- independent-auditor-all-clear-sign)

Is it just me, or does this kind of stuff scream "the system itself, allows massive fraud to occur" ?

<comment><USER22> Given the nature of the economic meltdown we had just a few years ago, I think the system allowing massive fraud to occur is a given. The question is, what can be done about it, short of letting it all burn and rebuilding from scratch?

</comment></comment><comment><USER23> This looks like a huge capital loss for HP. But, is it actually a move to lower HP's tax burden ahead of the expiring Bush tax cuts?

It seems to me that they valued it one-way a year ago, based mainly on intangible value. But now, they are valuing it another way, based on actual sales, that gives it a lower value that looks like a capital loss for HP.

In real terms though, what capital has been lost? They still have all the Autonomy resources they paid for a year ago.

<comment><USER24> I was unaware the Bush tax cuts had any effect on corporate tax rates (excluding things like S corporations that pay individual rates).

<comment><USER23> Yeah. IANA lawyer or tax professional, but it seems to me that capital gains and dividend taxes for C Corporations will be going up if the Bush tax cuts expire: [http://www.deanmead.com/deanmead-newsletter/effects-of- tax-r...](http://www.deanmead.com/deanmead-newsletter/effects-of-tax-rate- changes-after-extension-to-bush-tax-cuts-end-2/)

<comment><USER24> C Corporations don't pay capital gains and dividend taxes. Their investors do. Unless this announcement has a positive effect on HP's stock, there are no additional gains or dividends to be had ahead of the tax rates going up.

For a real example of corporate maneuvers around the 'fiscal cliff', see Wal- Mart, which is moving up its dividend to help its investors avoid a potentially higher rate:

[http://www.reuters.com/article/2012/11/19/walmart- dividend-i...](http://www.reuters.com/article/2012/11/19/walmart-dividend- idUSL4N08Z3CB20121119)

</comment></comment></comment></comment><comment><USER25> The other big acquisition in the enterprise search space around that time (Fast, bought by Microsoft for $1.2 billion) had similar problems, kind of odd. [http://techcrunch.com/2008/07/03/did-the-enron-of-norway- pul...](http://techcrunch.com/2008/07/03/did-the-enron-of-norway-pull-a-fast- one-on-microsoft-more-details-about-the-mess-at-fast-search-transfer/)

<comment><USER26> I can't comment on the 2 companies financials, but as an ex-FAST employee, I can vouch that working there in a pre-sales role was fun times for me. I have only heard of people saying it's horrible to work in Autonomy, but it might be selection bias.

If anyone of you are in the enterprise software space as an engineer, you really ought to consider working in pre-sales. You get to build a highly valuable skill set that compliments what you know already.

</comment></comment><comment><USER8> What about due dilligence? The fact that this can happen boggles my mind.

<comment><USER10> I once asked this when I started at the hedge fund I currently work at.

The answer I got was that for a large company, hiding things on the balance sheet is like getting a home inspection and finding out later that the house has some big problems with it. The point being is that inspections find somethings but can never find all issues.

What they meant was that if you dig deep enough you can always find out the problems, but when your going through the aquisition, you often don't have the proper access to the records you want, or the time to do the entire audit.

HP has owned autonomy for over a year and just found out this quarter. There is no way they would have had such access to autonomy's books during the due diligence phase nor is there anyway that autonomy would have let them take over a year to do their due diligence

<comment><USER27> I understand that due diligence is hard and there's always going to be things which get missed... but I have trouble understanding how it's possible to miss 8.8 billion dollars.

<comment><USER10> > but I have trouble understanding how it's possible to miss 8.8 billion > dollars.

I think we all are this morning. Unfortunetly the chatter we are hearing is that this type of accounting cover up, if true, would require help from their auditor.

Which means we may be down another accounting firm by the time this is over.

</comment></comment></comment></comment><comment><USER26> For the ones who say due diligence is constrained by time and the company not showing visible signs of fraud, accusations have been flying around for a long time. See [http://email-museum.com/2010/04/22/autonomy-creative- account...](http://email-museum.com/2010/04/22/autonomy-creative-accounting/) for example. And note that HP and Autonomy were close partners, HP sells and deployed Autonomy's software. It's not like they have only worked together occasionally.

This kind of stuff is everywhere.

Disclaimer: worked at ex-competitor.

</comment><comment><USER28> Also note that _all of their business units except one_ are down or flat year over year.

</comment><comment><USER29> Wow, what would anyone do with billions of dollar if their reputation is hit so hard? I'm actually curious about moral position of people who engage in such frauds. Is there any research on such white-collar "crime"? What motivates them and why?

<comment><USER30> Why would you care about your reputation when you're in a five star hotel at the Caribbean with billions in your bank account?!

<comment><USER31> Pretty much. That kind of money is "fuck you" money. You can go somewhere away from the business, and pay people to pamper you for the rest of your life. Who would even be able to get close enough to you to tell you yer a shithead?

And, of course, there's the standard business mantra that business is war, and all's fair in love and war. These guys tell themselves that they're just crazy slick and smart, not criminals.

</comment></comment></comment><comment> mark-r Any chance this is just a smokescreen for other problems at HP?

<comment><USER32> The thought occurs, but lying to investors of a publicly traded company (ie. HP lying about accounting fraud) would in and of itself be massive fraud that would open HP and its officers and board to incredible penalties. I can't imagine how any scenario would make it worthwhile, especially if you consider the personal ramifications for the officers.

<comment> mark-r I'm not saying they're lying, but certain things like timing are under their control. I also wonder how much leeway they have for the amount of the writedown. Certainly the numbers need justification but you can always tilt the evidence to support your desired outcome.</comment></comment></comment>


Ask HN: How do you quickly read and make comments on HN? - <AUTHOR>

By the time an article's in the top 10 on HN there's already lots of comments.
I'll skim the first 20%, assuming the best stuff is at the top. But many times I'll see busy, smart people like PG inserting commentary on stuff that's below the bottom half.
Do busy people read everything even when a lot of it is junk?
What are your comment reading strategies? <comment><USER2> I bookmark some of the top people and scan their stuff at my leisure.

For example: [https://news.ycombinator.com/threads?id=pg](https://news.ycombinator.com/threads?id=pg)

</comment><comment><USER3> Skimming is a helpful reading skill. But personally I usually tend to wait for a thread to mature enough, it weeds out the noise from the signal.

</comment><comment><USER4> HN is the one place that I like to read entire comment strings. If I find a comment to be junk, I will generally pass it up immediately.

</comment><comment><USER5> I usually skim all the comments, spending more time reading ones that are interesting.</comment>


Caution Rebuffed, Unicorns and Other Startups Fixate on Rainbows - <AUTHOR> http://www.nytimes.com/2016/02/22/technology/caution-rebuffed-unicorns-and-other-start-ups-fixate-on-rainbows.html <comment><USER2> I think the established real-money making unicorns like Uber and AirBnB will be fine. But I'd definitely worry if I was a startup like Snapchat who only survives on hype and VC funding.

</comment><comment><USER3> That's quite frightening...</comment>


MQTT – machine-to-machine connectivity protocol - <AUTHOR> http://mqtt.org/

<comment><USER2> We're using MQTT extensively at Karma [1] as the communication protocol between our LTE devices and our backend services. It has worked really well for us, and we're super happy that we chose for MQTT in favour of our previous HTTP/JSON stack.

We're about to release a very detailed blog post about our MQTT setup on our blog [2], describing why and how we implemented our own MQTT server and how we hooked that up to our Ruby backend services and Redis. The post should be live somewhere this week.

1: [https://yourkarma.com](https://yourkarma.com) 2: [https://blog.yourkarma.com/](https://blog.yourkarma.com/)

<comment><USER3> To save you the trouble of searching for it, this is the more relevant link:

[https://blog.yourkarma.com/engineering-for- growth](https://blog.yourkarma.com/engineering-for-growth)

</comment></comment><comment><USER4> MQTT is really nice for generic pubsub, but from what I've seen doesn't handle RPC-style transactions at all.

It is very hard to have something like this without requiring a whole bunch of ephemeral topics or lots of message id tracking on the client and server:

        server> set this value to Z.
        device> oops, in your previous command, Z is invalid.

Of course you can have an another service to handle this (HTTP API, CoAP, etc.,) but I think if MQTT added a command for something like this, then it would see a lot more adoption. It is nice to keep the broker in the middle of the communication to the devices even for RPC, simplifies a lot of things.

<comment><USER5> Another problem i keep running into, is that MQTT topics have no 'discoverability'. Each client must be hard coded to know exactly which topics to subscribe too, and know how to interpret the data on that topic.

It would be nice if an optional data model could be overlayed on top of MQTT, like BLE GATT does over ATT.

I would like to be able to things like: (1) enumerate topics (2) find topics of a specific type (which could be a UUID - something orthogonal to their physical tree structure) (3) provide descriptors for topics with more metadata, etc.

</comment></comment><comment><USER6> I've found MQTT really useful in M2M/IoT situations, but I often found that I wanted to make use of existing HTTP based web solutions in combination with my MQTT networks.

As the first thing on my wishlist, I recently made a little python library [1] to aid people in pushing selected MQTT events to KeenIO[2]. It's mainly for development and testing, but I've found it pretty useful in my applications.

[1]: [https://github.com/ZoetropeLabs/keenmqtt](https://github.com/ZoetropeLabs/keenmqtt) [2]: [https://keen.io](https://keen.io)

</comment><comment><USER7> The protocol almost totally ignores security. They try to pass the buck downwards:

 _" As a transport protocol, MQTT is concerned only with message transmission and it is the implementer's responsibility to provide appropriate security features. This is commonly achieved by using TLS."_

and upwards:

 _" The Server MAY also use a security component to selectively authorize actions on the topic resource for a given Client."_

This is a very weak security model. There's nothing like a distinction between "report body temperature" and "update pacemaker firmware".

<comment><USER8> MQTT defines a wire protocol (that includes transmitting user & client id). Most MQTT brokers have a granular authorisation model so the topics that request (or just publish) a body temperature reading would allow a different set of users to publish than the topics that would cause pacemaker firmware to be updated.

</comment></comment><comment><USER9> It would be nice if the protocol allowed extension points in the SUBSCRIBE action. Right now it's not possible to use dynamic authorization delegation using signatures.

<comment><USER10> This is a feature of a lot of open source MQTT brokers (Mosca, Mosquitto). We used Mosquitto for our app ([http://www.clementine.io](http://www.clementine.io)), and added dynamic auth for SUBSCRIBE and PUBLISH.

</comment></comment><comment><USER5> MQTT works OK on Android via Paho library, but it seems that changes to upcoming "Android M" will reduce its usefulness.

In the scenario the phone would go to sleep, incoming data on a socket should wake it up - then you could grab a wakelock and do some work.

However with the new Doze mode(s) this no longer seems to be the case. Now the only way to wake the phone up externally now is with GCM.

Its too early to know for sure (more previews of M will be released) but I'm curious how this end.

</comment><comment><USER11> MQTT is not really machine-to-machine is it? Isn't it only machine-to-broker? Are there any uses of mqtt that operate in a more p2p decentralized setup?

</comment><comment><USER12> I can't wait for [http://www.matrix.org](http://www.matrix.org) to mature. But this looks interesting.

</comment><comment><USER13> I'm using MQTT on my current project that involves interactive applications running on solar powered devices.

I'm using RabbitMQ for the broker, it supports MQTT too, this means I can use MQTT on the clients and the services on the backend only needs to understand AMQP.

I made a simple RPC system on top of it, unfortunately it's a homegrown solution as I couldn't use RabbitMQ RPC features with MQTT.

</comment><comment><USER14> It's ok (I use it a bit at work), but from reading the specs it seems like AllJoyn is much more powerful (though I haven't used AllJoyn).

Also the QoS parameter means different things depending on which server you use.

</comment><comment><USER15> Keep an eye on this MQTT broker. It supports clustering, for me the "selling point".

[https://verne.mq](https://verne.mq)

</comment><comment><USER16> Someone told me to use Apache Kafka instead, because it scales better. What do you think?

<comment><USER17> MQTT is a protocol with public specification for lightweight client / message broker communications, allowing publish/subscribe exchanges. Multiple implementations of client libraries and brokers (Mosquitto, JoramMQ...) exists and are virtually compatible. MQTT just specifies the transport, and vaguely the application part (i.e. how data is handled and possibly stored, how clients are authorized...). The spec is not clear if data consumed on a topic is only real-time or possibly persisted. The spec doesn't state anything about how the message broker implementing MQTT could/should scale.

On the other hand, Apache Kafka is a message broker based on an internal "commit log": its focus is storing massive ammount of data on disk, and allow consumption in real-time or later (as long as data is still available on disk). It's designed to be deployable as cluster of multiple node, with good scalabily properties. Kafka uses its own network protocol.

So you are comparing two different things here: a standard pub/sub protocol (with multiple implementations), and a specific message storing/distributing software, vaguley of the same family with its own protocol.

I'd say that if you need to store massive amount of messages, to ensure batch processing, look more at Kafka. If you have lots of clients/apps exchanging messages in real-time on many indpendants topics look more at the MQTT (or even AMQP) message brokers implementations.

<comment><USER16> Thank you. Then Kafka seems the right choice :)

</comment></comment></comment><comment><USER18> I wonder how hard it is to just use AMQP in these scenarios</comment>


Why Are Middle East Girls Better in School Than Boys? - <AUTHOR> https://www.theatlantic.com/education/archive/2017/09/boys-are-not-defective/540204/ <comment><USER2> I think this sentence is quite telling: "The separation of students, teachers, and administrators into single-sex public schools may serve cultural and religious purposes, but it seems to create an unintentional ghetto for boys...."

I think single-sex education is the answer here because for girls, it allows them to flourish and grow without the male-dominated Middle Eastern oppression. Girls can grow and learn in an environment that is more free, and open for them. I would be curious to see if this is true in other parts of the world that allow for single-sex education.

<comment><USER3> Single Sex education was introduced in India by various Church run schools and from my own personal experience over couple of generations the model is totally frowned upon by most people.

Girls who work in that environment grow up without great interaction with boys and face a lot of trouble in future. However this is India where women can work etc. In Islamic oppressive countries however things might be different.

<comment><USER4> > However this is India where women can work etc. In Islamic oppressive > countries however things might be different.

Women work in Pakistan too, FYI. India and Pakistan have been separated for roughly 60 years, their cultures are very similar.

<comment><USER3> Sure except nowhere close to the way they do in India. I remember how surprised a Pakistani journalist was to see Indian women riding two wheelers. I am not refering to mere get a job but also to step out of the house and compete in the open market for all sort of work.

</comment></comment></comment></comment><comment><USER5> > in school, Jordanian girls are crushing their male peers

When males outperform females, everyone concludes the system is biased and we should remove the bias.

When females outperform males, they say things like "This is baffling on the most obvious levels."

Maybe the educational system is biased, favoring how girls learn and behave. Is it hard for people to imagine that systems can benefit girls at the expense of boys, or can they only see the opposite?

If there are biases favoring how girls learn, then they are disadvantaging boys and might consider removing the bias.

<comment><USER6> > When males outperform females, everyone concludes the system is biased and > we should remove the bias.

> When females outperform males, they say things like "This is baffling on the > most obvious levels."

You point out hypocrisy, but follow it up with an equal but opposite?

> Maybe the educational system is biased, favoring how girls learn and behave. > Is it hard for people to imagine that systems can benefit girls at the > expense of boys, or can they only see the opposite?

> If there are biases favoring how girls learn, then they are disadvantaging > boys and might consider removing the bias.

Are you saying that these schools unfairly favors girls, but not so when it's the other way around?

Can it not be that this instead proves that systems can be and are biased, in both directions?

<comment><USER7> >Can it not be that this instead proves that systems can be and are biased, in both directions?

I believe that's the point GP was making. Where does it imply otherwise?

<comment><USER6> That's how I read this:

> When males outperform females, everyone concludes the system is biased and > we should remove the bias.

It's phrased (in company with the other lines) in a way that suggests such a conclusion is somehow ridiculous.

If that is not what he/she meant I apologize.

</comment></comment></comment></comment><comment><USER8> The answer seems to be "toxic masculinity".

(Since I had to clarify this last time: the term refers to expressions or expectations of masculinity and masculine behaviour that are toxic, _not_ a claim that masculinity is toxic in and of itself.)

> For one thing, boys' schools are more violent places, concluded the study

> Boys also reported worse relationships with their male teachers

> male teachers were three times as likely as female teachers to say they were > dissatisfied with teaching

> "Most of the problems I face with male teachers is that they want to yell at > kids, to humiliate them."

> The separation of students, teachers, and administrators into single-sex > public schools may serve cultural and religious purposes, but it seems to > create an unintentional ghetto for boys

> "Boys don't feel that school can necessarily help them reach manhood."

> In order to avoid all-female cohorts of students, Sultan Qaboos University, > Oman's only public university, now has two sets of admission criteria: one > lower bar for men and one higher bar for women.

(affirmitive action!)

While I've been quote-picking I've noticed that this article is really nicely structured. The first sentence of each paragraph makes a point, then the rest of the paragraph introduces supporting statements.

<comment><USER9> _> (Since I had to clarify this last time: the term refers to expressions or expectations of masculinity and masculine behaviour that are toxic, not a claim that masculinity is toxic in and of itself.)_

I'd suggest that the term itself is toxic (and/or sexist). If you think otherwise, can you suggest examples of (stereotypically) masculine behaviours that aren't considered toxic, but positive by the mainstream public/media? Also, can you give any examples of "toxic femininity" behaviours?

If either of these is "no/none", then I'd prefer if you (and everybody else) avoided using this term.

<comment><USER10> Hear hear, and I'd prefer people stop overusing "toxic." Not everything that's bad, or that you disagree with, is "toxic." The person who screws with your team dynamic is not "toxic."

<comment><USER11> "toxic" is not a bad word. It's a perfectly appropriate word to describe many things, including "toxic employees". Toxic means poisonous. It is quite possible for a person to be poisonous to a community (family, relationships, friendships, workplaces). They bring the group down, they disrupt the relationships between people ("poisoning" them). Often by their words: pointing out issues and exaggerating their significance, constant harping on specific topics and inability to move on. Sometimes by their actions: inability to meet expectations, inability to keep promises or obligations.

The term may get abused by some people who just want to call anything they dislike toxic, but we shouldn't throw out a perfectly good word (and associated phrases) just because you think "toxic" is toxic.

<comment><USER12> "Toxic" is vague and imprecise in a way that raises the likelihood that multiple participants in a conversation will have different interpretations without noticing they don't all agree on what it means.

This lack of clarity is unavoidable in all communication. We can't transplant thoughts directly from one brain to another. But I find that words like "toxic" convey an assessment, rather than description, in contexts where that level of abbreviation is not helpful.

If the more-precise descriptor of behavior was used in the first place, the toxicity of that behavior will likely be self-apparent. But if "toxic" alone is used, we either have to circle the conversation back to pick up the better descriptor, or just assume that the speaker is right.

Toxic is a bad word because it's become a go-to choice for poor articulation. Using it conveys an impression that an assessment of "toxicity" has been made off-screen, but is broad and amorphous enough that I can't trust it implies anything more specific than a snap judgment.

<comment><USER13> Toxic strictly means any behavior in a conflict or disagreement which erodes the relationship or discussion. Hope this helps. So for example, toxic behavior within a team is behavior which erodes the team, it's toxic because it damages that relationship. If you don't care about that relationship, you might not care if its toxic, because you don't mind if it dies. That does not mean it's not toxic though.

<comment><USER12> >Toxic strictly means [...]. Hope this helps.

It doesn't. That's a gigantic category, and one degree removed by being an assessment of a behavior rather than a summary. -- Of course the assessment is important in it's own right, but it such a _lossy_ description it's rarely a substitute for more concise descriptors.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Wow... I found this article, particularly well written and enjoyable, not favoring the usual (UP WITH WOMEN, DOWN WITH MEN) rhetoric that seems fairly common in some circles on the internet.

The final paragraph is particularly poignant:

"It may be true, as developmental research suggests, that boys tend to be more active and take longer, on average, to learn to control their impulses. But those are challenges that well-trained teachers and informed parents should be able to handle. Boys are not defective; schools are. The fact that boys are struggling around the world means that too many schools are designed with a bias for girls. Too many teachers prefer compliance over competition, quiet diligence over risk-taking, and on average that leads to schools that are more comfortable for girls than for boys in every time zone. But given the world they are inheriting, just as boys need to learn to focus, girls need to learn to take risks.

And neither can thrive in a world where the other is diminished."

</comment><comment><USER15> > In order to avoid all-female cohorts of students, Sultan Qaboos University, > Oman's only public university, now has two sets of admission criteria: one > lower bar for men and one higher bar for women. ... Osman disagrees with > this quota system. "It helps to solve a temporary problem, but it has an > impact in the long term on students' confidence and on equality," he says. > "They should have found another way to boost the abilities of boys."

How is this any different than the increasing discrimination experienced by Asians in Ivy League admissions? I would say that the administrators are just following what the top universities in the world are doing to keep demographics as they would like them.

</comment><comment><USER16> An American friend of mine worked at a private school there. She said that boys are being raised to be pampered with the expectation in life that they will not need to provide for their family through work and that women are basically slaves.

This was a school of upper class kids and, to me, the attitude I would expect for children of tyrants.

<comment><USER17> I've heard similar reports, second-hand, from a teacher in the UAE: the current generation of young men anticipate a life of effortless luxury, and so don't see the point in working hard in school. They point out that this is also why there's a high level of childhood obesity:

[https://www.khaleejtimes.com/news/uae-health/posh- lifestyle-...](https://www.khaleejtimes.com/news/uae-health/posh-lifestyle-to- blame-on-child-obesity-in-uae)

</comment></comment><comment><USER18> I thought it was well known and shown in the west, splitting boys from girls in classes meant girls were better off and boys were worse off.

Can't find anything to cite(lazy) but have never seen anything that contradicted it.

I just took it as a simple obvious girls temper boys behaviour.

It is an interesting moral issue. Do you let girls be worse off for the common social good?

</comment><comment><USER19> Seems to be the case with the exception of Israel where the stats are in line with other top developed nations, even more so when controled for demographics.

A better question should be is why men do so relatively poor compared in middle eastern nations.

</comment><comment><USER20> Same in India, at least the south.

</comment><comment><USER21> Maybe it's a good time to talk about the fact that school is largely a waste of time. And that it's not about being smart but how well do you listen and follow orders. Like it's insane what sort of garbage I had to waste time on and whenever I brought this up, it was brushed away with "get used to it" or "I don't like it either but that's how things are".

Not to promote gender stereotypes and what not but I wonder if some of these results are due to the fact that's women seem to be better at communicating and school is very much about communication. I personally would have just preferred being given the time and desk to read the textbook, I don't need a person to chew it for me.

Education is important, the idea of school in the current format is outdated and retarded. However this is unlikely to change since students have very little power to change things.

<comment><USER22> >Maybe it's a good time to talk about the fact that school is largely a waste of time.

I strongly disagree, but I'm willing to hear a viable alternative that covers millions of children/families (eg. no private tutoring or homeschooling). Let's not forget that school also helps children socialize and parents focus on their work.

<comment><USER21> Right, give them a desk and a book.

> Let's not forget that school also helps children socialize

Yeah don't force me to socialize pls.

Also how much time is really given in school for socialization?

<comment><USER22> >Right, give them a desk and a book.

> Yeah don't force me to socialize pls.

Most people like socializing and benefit from it (which in turn benefits society), you can't possibly ask for a system that caters to the few who don't like it. The "desk and book" may work when you're in college but it definitely doesn't work for children. Even in college you have professors/lecturers to guide you (and check your progress).

I think you're just making general assumptions based on your own experience and abilities. Not everyone is like you (or me for that matter, I too prefer reading a book than being lectured). I personally know very few people who enjoy educating themselves (let alone children and teenagers)

The only serious alternatives through history are private tutoring and homeschooling. The former requires wealth, the later thoroughly educated parents with free time. They just don't scale to millions whichever way you look at it

<comment><USER21> > Most people like socializing

Debatable at best.

> and benefit from it

Again, debatable.

> may work when you're in college

Yeah it doesn't. I still need to go to classes, do hw and what not which really cuts into my reading time.

> Not everyone is like you

Right, maybe let's setup a system that can cater to people according to their needs, how about that.

> I personally know very few people who enjoy educating themselves (let alone > children and teenagers)

That's because their only experience with education is sitting in a classroom for 6 hours a day talking about dumb stuff someone once upon a time deemed to be worthwhile to be a part of education.

> They just don't scale to millions whichever way you look at it

Unless you've tried it, don't say it doesn't work.</comment></comment></comment></comment></comment>


Know Your Neurons (2012) - <AUTHOR> http://blogs.scientificamerican.com/brainwaves/know-your-neurons-classifying-the-many-types-of-cells-in-the-neuron-forest/ <comment><USER2> This is a really cool post and I love seeing posts about human neurons on Hacker news. Especially this one talking about the different glial cells, as most people only think about the brain in terms of neuronal connections between synapses and think none of the housekeeping.

I tried to find the other segments for this series and could only find the first four chapters, so I'm wondering if there are more. But for anyone really interested in neuroscience on a biological level, "Principles of Neural Science" by Kandel and Schwartz (also one of this article's references) is your bible.

<comment><USER3> If you're interested in glial cells, this was an excellent book - [http://www.amazon.com/The-Other-Brain-Breakthroughs- Revoluti...](http://www.amazon.com/The-Other-Brain-Breakthroughs- Revolutionize/dp/0743291425)

<comment><USER2> Very cool! Thanks, I just ordered it</comment></comment></comment>


JavaScript Modules - <AUTHOR> http://jsmodules.io/ <comment><USER2> The problem with introducing new keywords and doing this in a backwards incompatible way, is that we'll be running with three module systems for years: CommonJS, AMD, and ES6. As far as I can tell, and please correct me if I'm wrong, it looks like ES6 modules aren't solving any new problem that CommonJS did not solve. Browserify does an excellent job of bringing CommonJS to the browser and it's gaining a lot of momentum. With ES6 now pushed back until June 2015... I'm not sure what to think anymore.

<comment><USER3> It adds a lot of stuff, and I think this site is going to add more explanation about that. I'm not fully qualified to go into everything, but off the top of my head:

* The dependencies are static, so you can't do stuff like `if(Math.random() < .5) { require('foo') } else { require('bar') }`. That is a _good_ thing. A lot of people at this point agree that a statically analyzable dependency graph is a huge win.

* Bindings are truly exported. If you exported `const foo = 5`, imported it in another module, and tried to change it, you would get a static error. Semantics and identity of bindings carry over. This also means they are mutable; if the module exporting `foo` changes it everyone else will see it too.

* A fleshed out module loader API, which is seriously lacking in node

There are other advantages too. The simplistic approach of CommonJS works, but long-term it's not the best solution for the wide use-cases of JavaScript.

EDIT: and this will be backwards-compatible. I don't know all the details but this can be implemented in a browser today without breaking things (I know people on the teams working on this)

<comment><USER4> > The simplistic approach of CommonJS works, but long-term it's not the best > solution for the wide use-cases of JavaScript.

Could you elaborate on this point a little more? I've worked on Node.js projects varying greatly in size, and even on the larger ones I've yet to feel encumbered the CommonJS module system.

<comment><USER5> By "wide use-cases" he means the Web and server. CJS doesn't work well on the web. ES6 modules were designed from the start to support both.

<comment><USER6> This is a common strawman, with several examples to disprove it:

\- [https://github.com/cujojs/curl](https://github.com/cujojs/curl) \- [https://github.com/montagejs/mr](https://github.com/montagejs/mr) \- [https://github.com/substack/wreq](https://github.com/substack/wreq)

<comment><USER5> to support CommonJS in the browser you either 1) require that it is wrapped (and therefore isn't really CommonJS) or 2) you XHR it, wrap it yourself, and eval. That's it's possible to work around the problem doesn't discount that it "doesn't work well" in browsers.

</comment></comment></comment></comment></comment></comment><comment><USER7> While a module system in JavaScript will be useful, this seems overly complicated.

I like Lua's approach to modules. In Lua, a file is basically equivalent to a function body. It accepts arguments and can return values. In JavaScript, this is not allowed.

In Lua, a function can accept multiple arguments in a tuple called `...`. Every file is implicitly a vararg function, so we can unpack the `...` to get arguments.

        > add.lua
          local a,b = ...
          return a + b

        > file.lua
          local add = load 'add.lua'
          print(add(1,2)) --> 3

load takes a file path and returns that source file as a function. Most files ignore arguments, but they do return values.

        > add2.lua
          return function(a,b) return a + b end

        > file2.lua
          local add = require 'add'
          print(add(1,2))

`require` loads a source file, executes it, and returns the value that it returns. It is similar to `return load(fileName)()`, but it also has a search mechanism, and caches the result. So, the Lua equivalent of export default is simply returning a value at the end of a source file.

The named exports are also easy to replicate. You simply return an object with the keys you want.

        > math.lua
          return {
            add = function(a,b) return a + b end,
            sub = function(a,b) return a - b end
          }

        > other.lua
          local math = require 'math'
          local add, sub = math.add, math.sub

You can also have something similar to the `export function name(){}` declaration.

        > hello.lua
          local exports = {}

          function exports.hello()
            print "Hello World"
          end

          exports.VERSION = '0.0.1'

          return exports

        > file3.lua
          local hello = require'hello'.hello
          local version = require'hello'.VERSION

          hello() --> Hello World

In all, I think the Lua's require is a much cleaner way to implement modules. Unfortunately, it cannot handle circular references. It may be possible to add this feature using Lua's coroutines, however. I will have to research how it is handled in JavaScript to be sure.

<comment><USER8> > In all, I think the Lua's require is a much cleaner way to implement > modules.

The idea behind ES6 modules is to add _static_ name resolution to JavaScript. Because of the incredibly dynamic nature of JS, you can never know what any global name resolves to, as it could change at a moment's notice. The same is true in Lua's module system: `_G` is completely mutable and it (or its metatable!) can change at any time, altering the bindings in the program.

I personally feel that, given how JavaScript is getting used in larger and larger codebases, some measure of static checking was long overdue.

</comment></comment><comment><USER9> It can be great if published before CommomJS existed. It's a bit annoying when people have embraced CommonJS. It aleady took me a lot time choosing between CommonJS AMD and CMD. Please end this war as son as possible.

</comment><comment><USER10> Hate to come off as a Luddite, but why should I care about this when we have a really nice solution in the form of CommonJS + Browserify?

<comment><USER11> I think this is due to the fact that not every has ability / desire to live in the console. Having a development process that can work without a compile step is important.

<comment><USER12> browserify + watch ... run it and forget it

bonus points because you can hook a linter into it.

<comment><USER5> Run it for every project you mean. The nice thing about the web is that with a simple http server you can just start coding. Compile-steps take away that incredible advantage.

<comment><USER12> > Run it for every project you mean.

Yep. Is that so bad? You know you can have multiple Terminal.app's open at once, right?

> The nice thing about the web is that with a simple http server you can just > start coding.

The nice thing about browserify/node is that I can install node, clone my seed script, execute it, and just start coding.

> Compile-steps take away that incredible advantage.

While giving you the huge advantages of TDD/unit testing; the npm repository; being able to use the CommonJS module pattern...

If you're just woodshedding a toy, or trying to learn - by all means, set up lighttpd and boot sublime and go at it. But if you're trying to build production-quality software... hone your craft; be better than a codemonkey.

<comment><USER5> > While giving you the huge advantages of TDD/unit testing

You don't need a compile step to do unit testing. Or even to use CommonJS for that matter.

> If you're just woodshedding a toy, or trying to learn - by all means, set up > lighttpd and boot sublime and go at it. But if you're trying to build > production-quality software... hone your craft; be better than a codemonkey.

You don't need a compile-step in development to create good software. Client- side loaders have all of the advantages of server-side loaders _but you can also use them without a watch task_. ES6 modules are just going to make it all easier.

<comment><USER12> > You don't need a compile step to do unit testing.

Okay, I guess I could have a window with karma open and keep refreshing it every time I change code. Having an eshell open running my unit tests every time I save is a lot faster, though. Unfortunately, most of what I do is remote over SSH instead of having a local development environment. And that doesn't even begin to cover building a jenkins (or other CI) script to run your non-compile-time unit tests.

> Or even to use CommonJS for that matter.

Which client side loaders would you recommend? I've used AMD/RequireJS in the past and its headaches were not worth the benefits. The only other project in the running is Webpack.

> but you can also use them without a watch task

I suppose I don't understand the watch task hate. It's there. It runs. It versions my build. It lets me know when I've saved something stupid. It's faster than tabbing to a browser and going through the steps to reproduce the iota of code I just wrote, or refreshing a testrunner page.

How do you do continuous integration and save-time unit tests without a preprocessing step without tying your project to a bloated IDE?

> ES6 modules are just going to make it all easier.

When ES6 modules come around to being available in IE9 (or IE9 finally dies), I'll believe that you can do all this without a processing step. Even when ES6 modules become available in modern browsers, you'll still have to run everything through a preprocessing build step to get backwards compatibility. And woe to whomever tries to do dynamic dependency loading on mobile... that 200-2000ms per-http-request overhead on 3G will bite you right in the bounce rate.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> A language module system shouldnt depend on a build tool or a third party library,so javascript modules are more than welcome.

The transition from ES5 to ES6 will be something interesting to live.ES6 is a paradigm shift for Javascript.

</comment><comment><USER14> Can someone explain to me the migration path towards ES6 and syntax like this? This isn't syntactically valid ES5, so is there a reasonable path to making the browsers run ES6 directly?

If I just include it in a <script> tag directly, it'll throw syntax errors in any non-es6 compliant browser. So I'd have the transpile, and send down the es5 version of the code.

But if I'm transpiling, what's the point? I still have a build step, so why use ES6 over another compile-to-js language? The eventual promise, that years and years and years from now, all the non-es6 compliant browser will be dead, so I can send down the es6 code directly?

<comment><USER15> script supports a new type, module.

        <script type="module">
            // loads the 'q' export from 'mymodule.js' in the same path as the page
            import { q } from 'mymodule';

            new q(); // -> 'this is an es6 class!'
        </script>

You can use it today with things like : [https://github.com/ModuleLoader/es6-module- loader](https://github.com/ModuleLoader/es6-module-loader)

</comment></comment><comment><USER16> The syntax is better than the CommonJS one. Check the side by side comparison at [http://jsmodules.io/cjs.html](http://jsmodules.io/cjs.html) However CommonJS is here now and JS engines might take a while to implement the new syntax. Example: the => (which is in the same ES6 draft) works in FF since version 22 and not in V8 yet. [http://wiki.ecmascript.org/doku.php?id=harmony:specification...](http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts)

<comment><USER17> That is not an honest comparison, though.

        import { getCodec } from "iconv-lite";

would be

        var getCodec = require("iconv-lite").getCodec;

<comment><USER18> Or in CoffeeScript,

        {getCodec} = require "iconv-lite"

Explicit dependencies without introducing new syntax? Yes, please.

<comment><USER19> or in es6 var {getCodec} = require("iconv-lite");

</comment></comment></comment></comment><comment><USER20> Pointless. CommonJS rocks. Browserify with a watcher and forget about it.

<comment><USER21> true that, CommonJS and Browserify are so simple and proven that I don't even get the effort for ES6 modules.

</comment></comment><comment><USER22> Would it be impossible for browsers to include support for more than one scripting language? I've never looked at the architecture of browsers but it would be fun to run pychrome or haskafari.

Just because we all got on the js train doesn't mean we have to ride it till the end.

I guess this is why there are so many cross compilers from x -> js. Thanks be to those guys. Cheers.

<comment><USER23> It is a lot of work. WebKit didn't want it in their code base, but blink is experimenting with it with oilpan[0]. It would also take a lot of work in Firefox to do. The big issue is having both runtimes executing in the same DOM. handling garbage collection becomes a lot more complicated.

[0] [http://www.chromium.org/blink/blink- gc](http://www.chromium.org/blink/blink-gc)

</comment></comment><comment><USER24> Modules are a good thing.

I quite like npm as far as package managers go (the default installation directory being ./node_modules is a big improvement over the global rubygem directory, IMO).

All the same, I don't mean to be overly negative but code like this is why I am not a fan of JS:

var isNode = typeof process !== "undefined" && {}.toString.call(process) === "[object process]";

I mean, I am no JS expert but it took me a couple of minutes just to parse this thing, and this is the next generation. I just don't like it.

<comment><USER25> The main problem with npm is that it's a module manager for JavaScript files. As applications scale, you need to start packaging other files in addition to .js files, and npm doesn't support it.

You can try to create workarounds and hacks, but that's pretty much building a new package manager on top of npm.

The core problem is that if your package depends on another package, it's impossible to know the location of that package (no, it's not always or even often under node_modules).

There's of course a lot of other problems with npm I've noticed..

<comment><USER18> Can you elaborate with more details? In my experience it's flexible and predictable. Folks seem to be able to package C++ extensions to Node well enough on npm. What else would you like to package? What other problems have you noticed?

<comment><USER25> Well, it can be anything. TypeScript definition files, for example, can't be packaed with npm, since you can't know their location in relation to the package that needs them.

Other problems include that npm is not really supported on Windows and specifying a 'git'-based url always installs the package even if it exists on a lower level (which works completely different from other version types). There's also weird cache bugs from time to time (npm cache clean helps there). And if you have a single package dependency that's missing, you can't force it to finish npm install.

<comment><USER18> Forgive me, I have very little experience with TypeScript and searching doesn't immediately reveal how definition files work. Is that a TypeScript source file that you'd want to include in another TypeScript project? Perhaps I'm missing something, but it seems strange to ask npm to distribute that. I prefer CoffeeScript but I still get annoyed when npm packages distribute their CoffeeScript source.

I can understand why installing a package from a version control URL should skip checks, since the very fact that you're using the direct URL kind of indicates that you want that specific commit.

I've literally never run into a missing dependency with npm. How did you get there? Are you installing packages from several different repositories? What good would forcing do if you're missing a dependency? If you know you don't really need it can't you stub it?

TBH I'm not that concerned with support on Windows. _shrug_

<comment><USER25> >Forgive me, I have very little experience with TypeScript and searching doesn't immediately reveal how definition files work. Is that a TypeScript source file that you'd want to include in another TypeScript project?

Yes, that's right. Since the application I'm working on is composed of multiple TypeScript-based Node.js modules, the type information has to be carried from one module to another. Since npm doesn't do this well, a new package manager was actually written (TSD, TypeScript Definition manager).

>I can understand why installing a package from a version control URL should skip checks, since the very fact that you're using the direct URL kind of indicates that you want that specific commit.

No, the version url doesn't need to point to a specific commit. npm really should use the semantics for all version urls. If I have two packages that both point to say "myrepo.git", then there shouldn't be two duplicates.

>I've literally never run into a missing dependency with npm. How did you get there? Are you installing packages from several different repositories? What good would forcing do if you're missing a dependency? If you know you don't really need it can't you stub it?

The missing dependency can be caused by a single Git repository being down. I encountered this when our private Git repository wasn't accessible for a while due to firewall issues, but I still wanted to keep development going on until that got fixed. The only solution is to manually remove that dependency and install it manually, then revert changes when the Git repository becomes accessible. npm install --force would be better.

>TBH I'm not that concerned with support on Windows. shrug

I mainly develop on Linux, but customers want Windows support. The main problem is documentation. Node.js download page doesn't say that Windows support is not reliable. There's various problems on Windows, one main one is apparently worked on ( [https://github.com/npm/npm/issues/3697](https://github.com/npm/npm/issues/3697) ).

</comment></comment></comment></comment></comment></comment><comment><USER26> I'd have preferred support for Common JS (or closer to it), which doesn't seem to suffer from the namespacing and syntax issues raised by this new spec. Importing to the global namespace by default seems kinda dodgy, and the mechanisms to avoid name collisions are syntactically awkward, imho. I think this proposal might actually have cemented the long-term popularity of browserify for years to come.

</comment><comment><USER3> I kind of wish this was posted tomorrow in the morning so a lot more people would see it. It's crucially important for JavaScript.

<comment><USER27> According to [http://kangax.github.io/compat- table/es6/](http://kangax.github.io/compat-table/es6/), absolutely no browsers support JavaScript Modules yet; only the Traceur compiler[1] and EchoJS compiler[2] do. I would not call this feature "crucially important" yet.

[1] [https://github.com/google/traceur- compiler](https://github.com/google/traceur-compiler) [2] [https://github.com/toshok/echo-js](https://github.com/toshok/echo-js)

<comment><USER28> The ember community has really embraced ES6 modules and now with the introduction of broccoli[1] and the broccoli-es6-transpiler[2] it's really easy to start using modules and the other ES6 features right now. If you're already using SASS or Less then an ES6 transpiler seems like a natural next step.

[1] [https://github.com/broccolijs/broccoli](https://github.com/broccolijs/broccoli) [2] [https://github.com/sindresorhus/broccoli- es6-transpiler](https://github.com/sindresorhus/broccoli-es6-transpiler)

<comment><USER18> ...and if you're already using browserify this seems like a natural step _backwards_.

</comment></comment></comment></comment><comment><USER29> "We're going to build a simple asap module, which lets you schedule some work to happen as soon as possible, but asynchronously. In Node.js, you can do this via process.nextTick," ... I thought process.nextTick wasn't the equivalent to an async, and that async could only be done in native modules ... Can someone correct me or the author?

<comment><USER5> process.nextTick is a native module. You can test this simply yourself:

        var a = 1;
        process.nextTick(function() {
          console.log(a);
        });
        a = 2;

</comment></comment><comment><USER30> Coursera is hosting a tech talk on 7/23 in mountain view where james burke (author or require.js) will be speaking about javascript modules.

sign up here: modular-js-coursera-tech-talk.eventbrite.com

</comment><comment><USER31>
        > var isNode = typeof process !== "undefined" &&
        >              {}.toString.call(process) === "[object process]";

WHAT DO YOU THINK YOU'RE RUNNING FROM?! THE DISEASE IS INSIDE OF YOU!

<comment><USER32> Can you clarify?

<comment><USER33> Well, back off from your Javascript knowledge a little and try to figure out if the intention of the code is readable.

As an outsider is seems... cryptic.

<comment><USER5> It's definitely cryptic but stuff like this always happens in dynamic languages. They couldn't have created a process.thisIsNodeJS_NoForRealItIs because anything could fake it. My making it part of the toString it can't be overwritten.

<comment><USER34> Who cares if it's being "faked", though? The code should just check directly for the existence of process.nextTick, not use a bunch of obfuscatory nonsense to check that the string representation of some object matches some arbitrary string from which you might be able to conclude that you're running on node, from which you can then conclude that you _might_ have access to process.nextTick.

<comment><USER5> Because Node doesn't own process.nextTick. It's valid for a library to create one in the browser. If I'm writing JS that can be run in Node or the browser I want to know if it's REALLY IS Node or not.</comment></comment></comment></comment></comment></comment>


Show HN: A Repo of JavaScript Coding Challenges - <AUTHOR> https://github.com/kolodny/exercises

<comment><USER2> This looks great. Rebecca Murphy's JS Assessment is also a good resource for testing your JavaScript chops:

[https://github.com/rmurphey/js-assessment](https://github.com/rmurphey/js- assessment)

</comment><comment><USER3> Man, I really hope people contribute to this. It would be great to see the list of challenges with supposed difficulty level and expected amount of time needed to finish.

Someone should make a repo for testing designer skills as well. Thanks for sharing! This is really well done.

</comment><comment><USER4> I'm interviewing for JS devs and trust me, none of ones I interviewed could write a _.debounce function. Async throttle for promises?! If we find someone who can understand the question she/he will be hired. They don't need to solve it!

<comment><USER5> I'm looking for work as a programmer, and I think I understand the throttle question and approximately what a solution would look like, although I would need research to actually write one. Debounce sounds easy though. I'd love to talk about your company and any opportunities you might have open, my email address is email@example.com

</comment></comment><comment><USER6> Another great site of challenges can be found at [http://codewars.com](http://codewars.com)

<comment><USER7> I like their interface a lot, but I'm not sure how I feel about the challenges they actually have for JS. It seems like there's a lot of challenges that are trivially solvable with Array.prototype.map, and then a bunch more that are super complex and (for me at least) unsolvable. I wish there were more challenges in the middle :(

</comment></comment><comment><USER8> It's cool that these challenges are so functional programming oriented, but I'd be a little bit concerned that the terminology might throw off some otherwise-skilled web developers who aren't used to operating at such a theoretical level. That problem would be compounded with definitions like "A thunk is basically a function that you call with just the callback as a parameter," in the challenge instructions (IMO that's a very layman definition for such a technical question).

</comment><comment><USER9> HackerRank has a pretty good collection of multi-language challenges with a range of difficulties and problem domains to choose from:

[https://www.hackerrank.com/](https://www.hackerrank.com/)

There's also a competitive aspect to it if you're into that kind of thing, but I personally just use it as a casual learning/interview prep tool.

Their functional programming collection has been especially invaluable for me for getting used to solving problems in a functional mindset.

</comment><comment><USER10> Hey those are pretty neat challenges! Personally I like tackling a project I'm interested in that requires many of these aspects but these are pretty handy if you want to quickly study or test a particular idea.

Edit: Glad to see an implementation of async.js in there as well; I feel like writing your own version is practically a rite of passage in JavaScript.

</comment><comment><USER11> Looking on working on upping my JS skills in the near future. This will be very helpful, thank you!

</comment><comment><USER12> This sucks, I still can't invert a binary tree!

<comment><USER13> Just google it.

</comment></comment><comment><USER14> You can make an interesting challenge out any one of the bigger (in LOC) functions of underscore.js or any promise library. You get a profound "a-ha" moment the first time you implement `deepClone` or `Promise.all`

<comment><USER15> I'm not super familiar with javascript, but are all copies shallow by default? Deep copies are trivial enough to bake into the language.

<comment><USER8> JavaScript objects are always pass reference by value (i.e. you're passing around addresses copied by value which are then dereferenced when needed). Copying objects _at all_ in JavaScript is therefore somewhat non-trivial, especially if you need good performance. Typically, the most performant way to deep-copy an object with an unknown structure is to do:

        var objCopy = JSON.parse(JSON.stringify(obj));

But that 1) is a rather disgusting hack and 2) can potentially break on certain native JS Objects (like Date, for example). The most straightforward way would be to use a for-in loop with a guard for Object.hasOwnProperty(), but in practice, that's very slow by comparison.

<comment><USER14> ...and it gets even more interesting if you throw in a few circular references in there

<comment><AUTHOR> [https://github.com/kolodny/jsan](https://github.com/kolodny/jsan) ;)

</comment></comment></comment></comment></comment><comment><USER16> Thanks for sharing. Does anyone have an extra copies of the Hack Reactor challenges/lessons? Would love to brush up on my JS skills and I hear they're the best.

</comment><comment><USER17> Think there's an issue with the throttle challenge

For tests 3 and 4, you expect the context and args to be determined by the last callback. But according to the first 2 tests, the last callbacks should never be invoked.

Looks like someone already raised an issue: [https://github.com/kolodny/exercises/issues/3](https://github.com/kolodny/exercises/issues/3)

</comment><comment><USER18> Are these challenges supposed to be solvable within a reasonable amount of time in an interview (15-30 minutes)? Looking through the problems they are all things I could do, but I don't think I would be able to solve any of the harder ones in under an hour - and that would be on my own, not in a high- stress interview.

<comment><USER19> Is solving a problem like this in 15-30 minutes under a good deal of stress and likely without reference likely on a whiteboard something someone in the position you're hiring for would ever need to do?

</comment></comment><comment><USER20> I really like the approach of cloning the repository and writing to the tests!

</comment><comment><USER21> In the throttle README, shouldn't throttled() be called instead of sayHi()?

<comment><AUTHOR> Yup, fixed. Thanks

</comment></comment><comment><USER22> Another nice task that fits in here is to convert an integer to a decimal string and back. Obviously without using the native functions that do the same.

Or to make a histogram of the letters that occur in some file.

</comment><comment><USER23> Why would I edit index.js in vim vs test.js -- possible typo?

<comment><AUTHOR> You should be creating the index file, it's the solution to the problem. If you were going to edit the test.js it would make it really simple ;)

<comment><USER23> ah gotcha :P tbh I'm not quite familiar with writing tests or making solutions to tests, so these exercises will prove to be useful. Thanks!

</comment></comment></comment><comment><USER24> Pro tip: MDN is your friend while solving these.</comment>


Show HN: Kaggle Style Hedge Fund with ML Driven Crowdsourced Models - <AUTHOR> https://numer.ai/ <comment><USER2> I'm a little confused about how this works, are they investing real money based on submitted models?</comment>