Why there are 12 stars on the EU flag although it was never 12 countries - <AUTHOR> https://www.samefacts.com/post-788-the-european-flag/#more-65971 <comment><USER2> The WikiPedia page [1] has much more information and probably a better answer.

Also a timeline with different flags through out the years [2].

[1] [https://en.wikipedia.org/wiki/Flag_of_Europe](https://en.wikipedia.org/wiki/Flag_of_Europe)

[1] [https://en.wikipedia.org/wiki/Flag_of_Europe#Timeline_of_Fla...](https://en.wikipedia.org/wiki/Flag_of_Europe#Timeline_of_Flag_proposals)

</comment><comment><USER3> What kind of time-cube tier crap is this? It's hardly fit for hackernews, is it, this rant about weird flag conspiracies and Eurocrats and Cromaggnons...

Read more about its history, how it was adopted, unsuccessful proposals, etc: [https://en.wikipedia.org/wiki/Flag_of_Europe](https://en.wikipedia.org/wiki/Flag_of_Europe)

<comment><USER4> The clue is in the first sentence of the article:

"For my swan-song I'll supply the faithful with a _tall tale_ of the sort that induced Mark to invite me on to his blog. I'm sure he would have enjoyed the mixture of verifiable truths, multiple ironies, and fuel for nested conspiracy theories."

It's just a bit of fun.

<comment><USER5> This is honestly not clear enough. While the literal meaning of these sentences is perfectly clear, they are convoluted and sound exactly like the kind of nonsensical contradictory thing a conspiracy theorist would interject into his own rambling.

</comment></comment></comment><comment><USER6> The article repeatedly talks about "Eurocrats". This is a combat term used by Eurosceptics but certainly not a term anyone would use who wants to write a neutral article.

Whenever someone writes "Eurocrats" it's a good idea to stop reading if you want unbiased information.

</comment><comment><USER7> The reason is, apparently, nothing. There are some weird conspiracies that people take too far about this and that but nobody ever declared any reason for 12. It's like reading a high school literature interpretation of Moby Dick out there.

</comment><comment><USER8> [https://europa.eu/european-union/about- eu/symbols/flag_en](https://europa.eu/european-union/about-eu/symbols/flag_en)

</comment><comment><USER9> I have no idea why he thinks that the 12 showed up because that is how many periods a woman has rather than how many full moons there are on average. Not that these are unconnected.

As [https://qz.com/1706398/the-average-menstrual-cycle-is- not-28...](https://qz.com/1706398/the-average-menstrual-cycle-is-not-28-days/) points out, the average woman's menstrual cycle is 29.3 days. The length of a lunar cycle is 29.5 days.

That they are so close is unlikely to be coincidence. In fact a close-knit group of women in primitive conditions will synchronize their cycles to each other and then the group synchronizes to the Moon. An evolutionary explanation can be found in the fact that predators can smell the blood from menstruation. Therefore there is a real advantage to having women do this all together, when the moon's light makes defending them easier.

It would be more convenient still if women didn't menstruate. However periods seem to have evolved when primates lived in trees. There was no barrier to this since smell is less important for arboreal animals than ground dwelling ones. And once evolved, it is hard for it to unevolve.

A side note of evolutionary speculation. Our arboreal ancestry seems to have been when primates lost most of their sense of smell. However in temperate zones, smell is very important for finding food under snow. Is it a coincidence that there are only two species of primates that live in the temperate zone? (Japanese snow macaques are on an island with less competition, and _homo sapiens_ is clearly a special case in a lot of ways.)

</comment><comment><USER10> "Pleasant to the Eye"

Probably much the same reason the US flag is red, white, blue rather than black, green, orange.

There is a lot of artistic expertise in flags, just as there is in company logos. What makes the Honda 'H' different from the Hyundai 'H'?

</comment><comment><USER11> From WP:

Against the blue sky of the Western world, the stars symbolise the peoples of Europe in a form of a circle, a sign of union. Their number is invariably twelve, the figure twelve being the symbol of perfection and entirety.

— Council of Europe. Paris, 7–9 December 1955.

</comment><comment><USER12> [https://www.theguardian.com/artanddesign/2017/may/07/banksy-...](https://www.theguardian.com/artanddesign/2017/may/07/banksy- brexit-mural-dover-eu-flag)

</comment><comment><USER13> > Where's the conspiracy?

Sigh... I feel like I read an article about chemtrails. Author concluded it's a Eurocratic-Catholic-Coptic-Jewish-Canaanite-CroMagnon conspiracy. The dismissive or passive aggressive remarks he drops every 2 sentences don't do the article any favors either.

12 is a number that kept appearing throughout history, probably starting with the 12 months in a year we've had since the ancient Sumerian calendar and the wider adoption of the duodecimal system. It had meaning to the ancient Greeks, Hindus, Christians, Norsemen, Chinese, Muslims, Jews, etc.

It's fitting that the symbolism is still appealing in modern times, in addition to the EEC actually having 12 members when the flag was adopted.

</comment><comment><USER14> Their ultimate goal is to convert the world to dozenal.

</comment><comment><USER15> If you follow his chain all the way to end it's supposedly because there are 12 months in a year.

<comment><USER16> Actually there are 13.

</comment></comment><comment><USER17> It's not true that it was never 12 countries.

On the contrary, while the flag existed before, it really became the EC flag in 1986 when the number of member countries was... 12.

<comment><USER18> It was adopted by the EEC in 1985 when there were 10 members.

<comment><USER19> In 1985 there might have been 10 members, but Spain and Portugal were already in talks for years and locked to be included (as was scheduled for the next year).

<comment><USER17> Indeed, they joined on 1st January 1986.

In 1985 the talks had ended and them joining was a done deal. This coincided with the adoption of the flag.

<comment><USER19> Yeah. And for many years from then onwards, E.U. was often referred to in local media as (translared to english) "The Europe of the twelve" \-- until the much later expansion.

<comment><USER17> I remember this, too. That's what made me jump at the claim that there was never a time with 12 members!

</comment></comment></comment></comment></comment></comment><comment><USER20> Optimism!</comment>


MySpace Still Reaches 50M People Each Month - <AUTHOR> http://blogs.wsj.com/cmo/2015/01/14/myspace-still-reaches-50-million-people-each-month/ <comment><USER2> Sometimes I imagine it to be fun to lead a company like MySpace or Yahoo. Something, which was once enormous and is still quite big but declining.

Imagine all the cruft, which amassed over the years and you could clean up. Killing the loss making properties, applying best practices to the profitable ones. Improving efficiency of all kind of processes. Of course, you would have to be some kind of dictator immune to all the politics. But imagine the manpower you would have at hand. A small boat is more agile, but once a big ship steers in the right direction …

I once read or watched an interview from a MySpace person doing SEO, who stated, that they increased their visibility in the SERPs by some high amount (forgot the exact), just by actually using sensible title tags. I find these kind of inefficiencies/potentials in big organizations fascinating and off- putting at the same time.

You would not make the same relative increases of value you could do by starting a new company, but the risk would be much lower and absolute value created could be about the same.

<comment><USER3> I imagine they would leave it alone as much as possible, because they aren't sure what's bringing in all the traffic. Wouldn't want to be another Digg.

<comment><USER4> What's Digg's story. Curious to know.

<comment><USER5> They released a new version and members hated it They had no way of rolling back to the older version. [http://searchengineland.com/digg-v4-how-to- successfully-kill...](http://searchengineland.com/digg-v4-how-to-successfully- kill-a-community-50450)

</comment></comment></comment></comment><comment><USER6> I never cease to be amazed at how old web brands can straggle on.

Excite.com is still an approximately top 3,000 US site. As is MyWay.com, which is owned by the same parent as Excite, and looks like it hasn't seen a design update in a decade plus.

Lycos still gets a modest amount of traffic.

And Digg is still a roughly top 500 site in the US. I put them in the same zombie-former-big-web-brand category as those other sites.

<comment><USER7> The new Digg is* awesome, and doesn't share any ties with the old Digg. It was bought for a modest amount by this pretty cool company: [http://betaworks.com/](http://betaworks.com/)

* or used to be? I haven't checked it in ~1 year

<comment><USER6> I'm familiar with the story, I just don't regard what they're doing as much more than temporarily riding on the glory of the former site, much as MySpace is doing today.

Is it a great product? An innovative product? I don't think so, every time I visit digg it comes across as just another aggregator, and there isn't much special about that.

<comment><USER8> I didn't really visit the old Digg but I visit the new Digg daily and I know of a few others in the same position. Might not be your thing, but it's clean and regular/predictable so I can see how it would attract a new audience.

</comment></comment></comment></comment><comment><USER9> If anyone from their engineering team wants to share details, there's an open Quora question about engineering at MySpace: [http://www.quora.com/What-is-it- like-to-be-an-engineer-at-My...](http://www.quora.com/What-is-it-like-to-be- an-engineer-at-MySpace)

</comment><comment><USER10> Lots of impressive numbers being thrown around. Seems like they're offering up some stats to get some hype before another sale?

</comment><comment><USER11> For some context, that is 1/27 of Facebook's monthly users, or 1/10 of Google Plus'.

EDIT: was "1/270 of Facebook's monthly users", now corrected.

<comment><USER12> > MySpace reached 50.6 million unique users in the U.S. in November.

So that is actually a hell of a lot better than the headline leads you to believe. That's about 1/6th of the entire US population that - according to the article - checked in on Myspace last November.

Yes, I also find that hard to believe.

<comment><USER13> EDIT: I stand corrected, the comment below is bollocks. Honest apologies.

 _That 's about 1/6th of the entire US population_

It baffles me every time when Americans think that the world stops at their borders.

What makes you think all these people are Americans? We're talking a 120th of the world's population, what do you find hard to believe?

<comment><USER14> It's because the article literally says it's 50.6 million uniques in the US: "Between desktop and mobile devices, MySpace reached 50.6 million unique users in the U.S. in November. That's a massive surge of 575% versus the same month in 2013."

I read this as implying their uniques (as measured by, say, Google Analytics) were 50.6 million in the US, which probably means less than 50.6 million Americans visited the site in Nov. For instance, if every one of those uniques visited on both their smart phone and their computer, then it'd actually be 25 million real people. The truth is likely somewhere between 25 and 50 million Americans visited in Nov.

<comment><USER13> Ok, I'm officially a moron today. Thanks for taking the time to elaborate. I had read the article, but apparently not well enough.

</comment></comment></comment></comment></comment><comment><USER15> In short, it is due to all of the hard links still present from all of the Instagram #throwbackThursday posts

OK I know it is way more than that. Funny when I visited Costa Rica last year and went into a coffee shop I shoulder surfed a few people and wouldn't you know: MySpace profiles. It looked like they were musicians or into musis but either way MySpace is alive and well.

</comment><comment><USER16> Great customer acquisition cost, less than $1 per user. With ROI at 10 to 20 times, that was a pretty good investment for $35M.

</comment><comment><USER17> I don't get it why the former big social sites don't invest in viable protocols which would allow their userbase to connect to other former walled gardens.

Their users stick to the platform no matter what. Why not give them some incentives and more flexibility?

Why don't they implement oauth, zot and tent et.al.?

</comment><comment><USER18> sort of unreal to have a 50M number kicking around. Who are these people? If it isn't just spam/misguided links... Seems like a user would have to have serious investment in content or community there to stick around. Perhaps some strong communities hanging on. Still seems pretty crazy since the relaunch/revamp wiped mostly everything out..... defo another one of those straggler online entities hanging on ...I always like to wonder about this 'other internet' people seem to surf that would include dead properties like this...

</comment><comment><USER19> This is written like an advertisement. Not trying to knock them, just thought it was worth mentioning that News Corp owns both WSJ and MySpace. Smells like a (mildly informative) advert.

<comment><USER20> Apparently News Corp no longer owns MySpace. From near the top of the article:

"It's been nearly a decade since News Corp acquired the company for $580 million _and roughly three and a half years since the media company sold the fading property for $35 million to the Internet ad company Specific Media_."

<comment><USER21> unless they have a 0% stake, your point is moot.

</comment></comment></comment><comment><USER22> WSJ shamelessly pushing another Murdoch property...

</comment><comment><USER23> "the social networking site that put the very concept of social networking on the map"

Friendster?

<comment><USER24> No, it was BBSs and IRC. And that's probably not right either, I just don't know what was before that. I think "social networking" is an emergent phenomenon once you have some trivial, really trivial technology, and groups of people of some critical mass.

</comment></comment><comment><USER25> i'm sure most of those visits are from random search results, not users genuinely interested in the site

</comment><comment> artumi-richard My first reaction to this was "MySpace? - some kind of stargazing based website?" before moments later: "Wow! - I completely forgot what Myspace was!"

</comment><comment><USER26> Compete reports data that is very inconsistent with the numbers in the article:

[https://siteanalytics.compete.com/myspace.com/#.VLdTnWTF_lQ](https://siteanalytics.compete.com/myspace.com/#.VLdTnWTF_lQ)

About a YOY 50% decline rather than a 575% increase in November '14.

<comment><USER27> Third party "analytics" services are highly suspect. They often (usually?) aren't even within the ballpark, either in trend or quantity analysis.

[http://moz.com/blog/testing-accuracy-visitor-data-alexa- comp...](http://moz.com/blog/testing-accuracy-visitor-data-alexa-compete- google-trends-quantcast)

Why these services still exist is beyond me. At best they are worthless, at worst they are fraudulent.

<comment><USER28> +1, Compete et al are not only usually an order of magnitude off for our sites, they're not even _directionally_ accurate.

</comment></comment></comment><comment><USER29> Yes, 49.9M people each month visit MySpace after discussing old, washed up websites with their friends and saying, "Does MySpace even exist today?"

The other 100K are juggalos and pedophiles.</comment>


Ask HN: Moving up from engineering to management - <AUTHOR>

I'm a senior dev at my company (70 employees in the SF office). I've lead a bunch of projects and while I haven't had any direct reports, I've been in charge of those projects and managed/led other engineers who worked on those projects. I reached a realization awhile back that I really enjoyed that kind of role. However, there appears to be little upward mobility in this company. The best I can do is hope that another project opens up and that I can get the lead engineer position on that project.
But I also think such responsibility involves promotions/raises/whatever, which doesn't happen currently.
So my question is: how does a senior/lead dev move up into a management-level position?
I have a few options as I see it:
* Stay where I am, work hard, and hope someone notices (Problem: I've talked to my boss about it, and he doesn't know of any positions opening soon)
* Find another large company that's trying to fill a management role (Problem: I have no previous management experience, so probably wouldn't get hired. Additionally, most startups in SF have very flat structures where everyone reports to CEO or CTO, which means no management opportunities.)
* Start my own company (Problem: lots of them)
Anyway, any thoughts? <comment><USER2> This is a bit late, but my 2c - make sure you want this kind of role. Line management in companies with good engineers is more facilitation and people management than anything else.

Have a frank conversation with your boss and tell him you want to make the move in to management. Tell him you would consider leaving to make the move. Don't let him sit on his laurels - get him to talk to his boss about what positions there might be. If you get no luck there, talk to other folks in senior / management positions within the company.

That same conversation should be a frank discussion about you as a potential manager. There are lots of things you can take responsibility for without being a manager, so ask your manager in the mean time can you take on these extra duties without relieving you of any of your current duties.

The first promotion in to management is the difficult one and is typically filled by need. If you're in a growing company, there will be a need at some point, you just may have to accept moving out of your comfort zone.

By far and away your best chance is getting a position in your current workplace, so try and do everything in your power to make that happen. If you don't see any light or movement within 6 months, move on.

</comment><comment><USER3> Try a medium-sized company; it might be more flexible with hiring "requirements" and be willing to look at the time you spent leading other engineers. Be prepared to talk about how you mentored them, resolving intra- team differences, etc.

Sometimes you have to move away in order to move up, especially if you've been pigeon-holed as _just_ a senior developer. Another company will view you through fresh eyes, with an unbiased perspective.

<comment><USER2> Just to echo this, I've hired folks in who were team leads / senior engineers in other companies who wanted to get in to management but their companies were too small and not growing. So we hired them as individual contributors and promoted them as the team got bigger.

</comment></comment><comment><USER4> I made the move from engineer to manager. Along the way, I managed colleagues and friends I used to sit beside while I was an engineer. It's difficult but you learn a lot about managing, and more importantly, leading.

I believe you'll need to move to a larger company (I did mine at a public company but our location had about 1000 people). I've done a lot of hiring (as a manager) and I was always looking for a good mix of tech and management skills. Shoot for the first role at a larger company as being mostly based on your engineering skills but make it clear that you would like to use your team management abilities more.

At larger companies, there's always lots of projects and lots of role to fill so you'd definitely get more chances at moving 100% into a management role.</comment>


BuzzFeed's first substantive list: seven things they ought to teach in school - <AUTHOR> http://www.buzzfeed.com/jordans481f1d992/seven-things-they-ought-to-teach-in-school-147t9

<comment><USER2> Please don't editorialize in submission titles. It breaks the site rules: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html).</comment>


How to approach an alpha product - <AUTHOR> http://scripting.com/stories/2010/06/27/howToApproachAnAlphaProduc.html <comment><USER2> I think this approach also works very well for post-alpha projects. Often enough, the secret to satisfaction is patience combined with low expectations.</comment>


Ask HN: How do I handle a hacker attempting to extort me by threat of DDoS? - <AUTHOR> Recently, myself and a few other friendly website owners have been messaged by the same hacker that is asking for BTC or he will take down our sites.
We have no information about him.
Already using Cloudflare, it did seem to detect some of his BotNet(~3500 instances) but not enough to stop the load he put on us. (edited)
Cloudflare Rate Limiting is just too expensive and "I'm under attack" mode just breaks the site in places anyway.
I've reached out to Cloudflare support to try identify his BotNet from the times when he took it down.
Any help would be much appreciated. <comment><USER2> Weather the storm, do not pay the extortion. Most of these guys are shake down artists and when they realize there is not going to be a payout, they will move on to their next victim. Many of them are using rented botnets and dont want to waste their own money on a non payer, unless of course you do pay up, if you do that then they will keep at it and share/sell your info to others, things will get much worse.

<comment><AUTHOR> This makes a lot of sense, thanks!

</comment></comment><comment><USER3> [https://www.icann.org/news/blog/how-to-report-a-ddos- attack](https://www.icann.org/news/blog/how-to-report-a-ddos-attack)

From that page: "you should contact law enforcement if your organization received a threat prior to the attack, or received a demand for money in return for not being attacked"

</comment><comment><USER4> One of my clients came DDoS attacks every summer three years in a row, we said we were going to print up T-shirts for the annual event but they stopped this year.

We setup copies of the site so we could quickly rotate it to new IPs during the attack and signed up for the CloudFlare business plan for a month or two during the attacks every year.

This kept the site up for us. We also posted a message on the home page so our users would know what was going on.

We were able to use under attack mode without it affecting the site too much.

Good luck riding it out.

</comment><comment><USER5> Prolly exploiting a known vulnerability. Have you patched and rebooted all of your systems? Removed accounts that you dont use? Change pw's to everything?

Windows or Linux systems?

You can do some mitigation with iptables in linux.

>He has proved that he can by taking our sites offline for a minute.

What did this person take down exactly? The web server, or did he reboot the system?

<comment><USER2> The fact that cloudflare was defeated shows it was a ddos and not a reboot. Most likely a bot net rented with BTC and nothing more than a fishing expedition. Unless they are being targeted for some other reason than money the problem will go away.

<comment><USER6> > The fact that cloudflare was defeated shows it was a ddos and not a reboot.

How?

<comment><USER2> It shows that it was a DDos simply by the fact that is what Cloudflare does? Protects against DDos attacks? IDK maybe your right, I supposed they could have spoofed a DDos using a small botnet and simultaneously rebooted the servers. That would require a level of sophistication but certainly possible.

</comment></comment></comment></comment><comment><AUTHOR> Update:

Three different people from Cloudflare reached out to resolve the problem. They are awesome!</comment>


Ask HN: Software project with best documentation? - <AUTHOR> I'm looking for examples of really good software documentation (and also WHAT makes it great to you and WHY) can also be documentation of proprietary software. <comment> java-man in my opinion, Java:

[https://docs.oracle.com/javase/9/docs/api/overview- summary.h...](https://docs.oracle.com/javase/9/docs/api/overview-summary.html)

</comment><comment><USER2> this is the best document in my opinion: [http://doc.qt.io/](http://doc.qt.io/)</comment>


Help us to build Frend – A collection of accessible, modern front-end components - <AUTHOR> http://frend.co <comment><AUTHOR> We've been building a collection of front-end components with a focus on accessibility and modern standards, and are keen to collaborate with more developers.

The purpose of Frend is to not only offer these components for use in projects, but to also discuss the features that make them accessible. We'd like to continually improve upon them, to ensure they're predictable and supporting assistive technologies in all the ways they should.

Read more about the project on the website: [http://frend.co/about/](http://frend.co/about/)

Contributions are welcome via the GitHub repo: [https://github.com/frend/frend.co](https://github.com/frend/frend.co)</comment>


The SEC accused dev of fraud for behaving like a dev - <AUTHOR> http://qz.com/871450/the-sec-accused-a-software-developer-of-fraud-for-behaving-like-a-software-developer/ <comment><USER2> Well, probably not. From the actual OIG summary report (which was not written defensively in response to articles like this, but is rather the source material from which these articles draw):

The employee in question --- _an employee of the SEC_ , in case you thought this was an instance of the SEC telling other companies what to do:

        (1) committed time and attendance fraud; (2) terminated
        an employee for asking questions during an
        SEC examination of a registrant and for voicing an
        opinion; and (3) unnecessarily requested proprietary
        trading code from registrants and downloaded this
        proprietary training code onto a personal computer.

And, further:

        (1) was untruthful with the
        subject's supervisor and the OIG about the nature
        of foreign travel; (2) misrepresented commuting
        costs when applying for transit benefits and received
        about $400 in transportation subsidies that the
        subject was not entitled to receive; and (3) did not
        properly clear the sale of a security in accordance
        with the SEC's supplemental ethics rules.

Some of these claims were substantiated (for instance: the investigation, prompted by complaints from coworkers that this employee was never showing up to work, determined that the developer had missed 150 days of work), and other not (no evidence was found that they'd improperly obtained private trading code).

But either way: Quartz's summary of this story is needlessly glib, and the story itself doesn't seem all that interesting. I have no idea whether the employee was properly terminated or not (Quartz did them no favors by outing them in the article!), but I'm not sure why I would care either way.

<comment><USER3> >Quartz did them no favors by outing them in the article!

FTA

>While the inspector general's report (pdf) doesn't name the employee, the WSJ identified him as Erozan Kurtas</comment></comment>


Experiences Using Go as a Teaching Language with Young Programmers - <AUTHOR> https://groups.google.com/forum/#!msg/golang-nuts/FIRSDBehb3g/BFiHYVNCwzUJ <comment><USER3> I think the usefulness of `go fmt` cannot be discredited here. I had a brief stint of teaching a few school children programming in Python and initially the most confusing thing for them was the indentation. While it was easy for me to see that this statement would not be executed since its outside the for- loop, they had trouble grasping why that statement was running just once.

<comment><USER4> How much time it took them to get it vs the time it takes to learn the somewhat more elaborate incantations you need to spell a loop in Go? I recall that dealing with parse errors, the easiest error for experienced programmers, was REALLY depressing at 17.

<comment><USER5> Can you give an example of those elaborate incantations? Parse errors are not the greatest, but they removed the most common error I have seen among people learning to program which is forgetting the semicolons.

<comment><USER4> Well, compare Python's:

for i in range(10):

...with Go's:

for i:=0; i<10; i++ { }

An experienced programmer might have an opinion about these syntaxes but he can certainly handle both effortlessly. However, when I first saw for loops using syntax similar to Go's, I could not, for a long while, remember exactly what I have to type, and of course the compiler errors along the lines of "expecting some gibberish after some other gibberish" didn't help at all - <USER2> _not knowing that they aren 't supposed to help_ hurt, because I stared at them, trying to decipher them, instead of guessing that I got it wrong and looking up the loop syntax.

Now if you think about it, Python's incantation is very close to English ("for i in range 10" instead of "for every in the range of numbers up to 10" \- you omit some words and you add 3 punctuation characters but it's close.) Go's incantation, if you try to read it, makes little sense ("for i assigned to equal 0; i less than 10; i plus plus [or i equals i plus 1]".) You mention i 3 times which is weird, because beginners actually intuitively expect DRY code (hence Java's AssWiper bill = new AssWiper [and I'm quoting from a toilet door in a CS lab] felt very weird to me for a long while.) You have those semicolons in the middle, and you're supposed to remember the order of these 3 parts - init, compare, increment.

I mean, it wasn't a huge trauma but I felt dumb for quite some hours until I got it.

(Note that i:=0 and then a while loop incrementing i are _not_ nearly as arbitrary because you compose it out of sensible primitives. A Cish for loop on the other hand feels like one big blob of syntax which came out of nowhere. Of course once you memorize it, it's vastly more readable than a while loop because you pattern-match it and you translate it to "for every i from 0 to 10", and you _assume_ that nobody fiddles with i midway through the loop; whereas if you see a while loop, you need to scan all of it because you will suspect that i is being fiddled with in some non-trivial way.)

Also - omitting some parts of the for loop results in syntax which is fairly crazy actually, if you read it out loud. Like for ; i<10; i++ - what's a semicolon doing after the word for?!

<comment><USER6> Three-element for loops are the exception. The modal Go for loop is

        for idx, elem := range someSlice {
        }

Sometimes with idx replaced by _.

(Or at least, that's the modal for loop if you're doing it right.)

I wish I could make

        for x := range someSlice {

default to iterating on values rather than indexes... I do have rather a lot of

        for _, val := range someSlice {

but, meh.

Personally I'd unhesitatingly introduce that version and pull out the three- element version once someone needs it. People should learn value-based iteration as the default. I have to admit when I'm doing an interview and I see someone pull out the 3-element for loop in a language that does value- based iteration, I mentally dock a point for choosing a dangerous construct when an _easier_ , safer construct is readily available.

(Before someone jumps up and yells, I readily admit... no, _advocate for_... Python's

        for idx, value in enumerate(something):

when available. I really don't like the 3-element for loop.)

<comment><USER4> Well, yeah, but if you want to iterate over integer ranges, don't you use the for ;; {} form? (If not why is that form even there?) I'd expect the TFA's Mandelbrot set example to need iterating over integer ranges (while most code I'd actually write myself would iterate over elements of sequences.)

All I'm saying is, it's a lot of syntax to inhale, there are plenty of kinds of for loop. _I_ certainly don't mind, and I'd be happy enough with "the modal for loop" being DRY and compact. I just recall that my former self had trouble memorizing grammar cases. Python's for loop always does for value in sequence, so there's less syntax.

<comment><USER7> _> Well, yeah, but if you want to iterate over integer ranges, don't you use the for ;; {} form? (If not why is that form even there?)_

for range _does_ iterate over integer arrays / slices. The reason the C-style for loop exists is because sometimes you don't want to iterate the entire stack. eg

        // iterate half the stack:
        for i := 0; i < len(slice) / 2; i++ {}

        // iterate with a stepping:
        for i := 0; i < len(slice); i+=2 {}

        // iterate from a different starting position:
        for i := 5; i < len(slice); i++ {}

        // reverse iteration:
        for i := len(slice)-1; i>=0; i-- {}

<comment><USER8> Slicing is free and can be done inline, so your first and third examples can be changed to the range syntax:

        // iterate half the stack:
        for i := range slice[:len(slice)/2] {}

        // iterate from a different starting position:
        for i := range slice[5:] {}

That still leaves stepping and reverse, but I've found those are relatively rare, especially compared to the other two.

<comment><USER7> Ooops, just seen this comment. Yes, you're right, your slice techniques do make a lot more sense than my examples.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> I'm a bit skeptical, as the author seems to be comparing to languages which are rarely used for teaching children. Comparing "go run" to makefiles, for instance, indicates that Go might be easier to teach that C, which isn't saying much. If the author was previously using a different language and it took the children 30 minutes to complete a simple task which now takes only 20 minutes with Go, that sounds great but perhaps there are other languages even better suited to teaching where they would pick it up in 5 minutes. Specifically, most of the points raised in favor of Go could be applied to Python, which seems to be the most common teaching language right now. I would be interested to know if there are reasons Go is a _better_ teaching language than Python.

<comment> aaron-lebo Python is a much bigger language than Go. Metaclasses, decorators, list comprehensions. I could list feature after feature. Granted, some of these are rather advanced features, but their very existence only adds complexity.

Go, because it is so (even overly) simple works really well in this domain. It's also nice because with type deduction it feels dynamic, but it still has some very C-ish features. You could easily go "up" to Python or "down" to C from Go. Even after years of Python programming, there's a lot of concepts from low-level languages which you never touch.

<comment><USER10> In place of metaclasses and decorators, Go has some combination of "go generate", the reflect module, magic anonymous structure embedding, and structure field tags, all of which add up to a good deal of complexity and none of which Python has. Similar story with list comprehensions vs. Go's magic builtin for loop syntaxes.

I think Go probably does have simpler semantics overall than Python does, but not by that much.

</comment></comment></comment><comment><USER11> Honestly, I'm not surprised. As Robert Griesemer, one of the core Go team members, confirmed the other week in his GopherCon talk "The Evolution of Go", Go inherited a lot of concepts from Oberon. Oberon is from the Wirth family of languages, which are generally regarded as good teaching languages. He aptly described Go as using C tokens, but having an Oberon structure.

</comment><comment><USER12> Glad to hear $GOPATH wasn't an issue for students. I think it's more an issue for experienced programmers who already have a personal preference for directory layout, project structure, and where things get installed on their system.

I've actually gone the other way: storing all my source in $GOPATH-esque trees as it turns out to work pretty well!

</comment><comment><USER13> Potentially of interest is my coauthor's article, "Teaching Haskell to a 10 year old"

[https://superginbaby.wordpress.com/2015/04/08/teaching- haske...](https://superginbaby.wordpress.com/2015/04/08/teaching-haskell- to-a-10-year-old-day-1/)

</comment><comment><USER14> Those kids must be really smart. I still have co-workers who can't get the $GOPATH foo right. :(

<comment><USER12> Force them to read this: [http://golang.org/doc/code.html](http://golang.org/doc/code.html)

I know it's unfortunately long, but I have yet to find someone who has read it and is still confused about $GOPATH.

<comment><USER15> Part of it is just understanding how to set up the $GOPATH. Understanding its structure is one thing, but actually getting the 'go' to read the right directory on OSX vs Ubuntu vs other systems depending on your shell (and version of go?) and over old installations, can be a very confusing way to start using the language.

</comment></comment></comment><comment><USER16> What would really be useful would be a genuinely critical study that allows a "post mortem" of what Go could have done better to support new programmers. If all we ever do is toot our own horns, nothing really gets better.

<comment><USER17> I imagine it's useful on its own for educators.

</comment></comment><comment><USER18> I have to said: Python should be better as the first language.

<comment><USER11> Why?

<comment><USER19> I'd say it's a great learning introduction because it gets directly to the point of executing one line after another with uncluttered syntax and no boilerplate.</comment></comment></comment>


Finding Time to Invest in Yourself - <AUTHOR> https://nav.al/finding-time <comment><USER3> Founders want employees to have the founder mentality without giving them founder equity. AngelList (which this author is shilling) salaries and equity grants are pathetically low. So they write fluff pieces about how you'll learn so much doing a founders laundry. I learned a lot more, faster, as an employee at big tech than at early stage startups. Startup VCs and company need to get out of the business of writing fluff pieces about how great it is to be a startup employee and get into the business of fixing early employee equity grants. The "standard" is pathetic.

<comment><USER4> I've been wondering about this for a long time. On average, what equity level would you say counts as "pathetically low" and what range would you say counts as fair?

It seems to me that early employees are underpriced these days, the way that founders used to be, so a correction is probably inevitable. At the same time, there's no way seed-stage startups can match FB levels of compensation—the math just doesn't work. So what would a correction look like?

<comment><USER5> i think vc/founders need to innovate on this topic to: provide better effort/reward incentives, and reduce risk for employees, giving that they have less voting control over equity.

Could be something like:

\- companies keep lower number of employees, higher grants, but demand founder-like effort for early years

\- early employees get substantial equity grants 5-10%, that must be sold to VCs on secondary offering at next rounds. In that case, employees could directly benefit from startup grows, while reducing risk compared to FAANg, and founder can keep their equity size. Yes, upside is limited, tax/legal work, but could be covered by new refreshment grants from employee pool

\- YC creates/funds employee union-like organization, that funds/organize activities/benefits for early stage startups

\- help legally with paying/hiring employees remote with equity package

also joining startup and buying out $$$$$ worth of stock options that could turn to 0 is a downside compared to stock grants from FAANg.

<comment><USER6> Idea #2 is genius. In my experience early employees become a liability as you scale and exceed their experience skill level. This makes it a win for them and for the org. Nothing worse than an early employee who is hanging on to a high level role when everyone knows they aren't cutting it. What are some possible downsides of this?

<comment><USER7> In other words, idea #2 is to have a mini-IPO (liquidity event) for the early employees, by round A or B. B might make the most sense. Kind of like a super- bonus or extra warrants. So at least the early employees don't have to wait 7-10 years to see an outcome, but can expect a (smaller) windfall within 1-3 years, to put them on par with high-paying jobs if the company is successful enough to raise a B round.

</comment></comment></comment></comment></comment><comment><USER8> I avoided Stephen Covey's "7 Habits [...]" for years and years — but when I finally read it, it was much deeper than I'd imagined, and less superficial than a lot of "self help" books out there.

One central habit in the book is around "saw sharpening" and essentially making time to invest in yourself, so ultimately you can invest in interpersonal relationships. It's kind of a "hierarchy of needs". You need time, and money — and sometimes neither seem to be available.

I can't do the whole thing justice here, but for the sake of advancing my point — it begins with sorting out what's urgent and important from what's trivial and unimportant, and learning to be proactive. Personal finance is something to consider as well, because saving and reducing expenses can buy you some additional flexibility in your life.

With some spare time and money, you get to the question of — what do I do next? How do I learn, where do I start? Personally, I think the best way to learn is to build something! Build something that you're passionate about, and try to solve a problem. Then, see if you can demonstrate value to others — speak to real people who use your product, empathize, and try to make it better.

In terms of big company vs startup, both — like anything — have their ups-and- downs. In my experience, if there's something worth optimizing for it's this: try to work with great people. Kind, brilliant, considerate people.

<comment><USER9> Great comment. Finally reading 7 Habits and couldn't agree more.

</comment></comment><comment><USER10> I feel like this is promoting wantrepeneur lifestyle and taking low paid long hour start up jobs to get on the ladder.

Whilst innovation is important, and earning your stripes too, I get sick of this unspoken attitude that anyone who doesn't work for a "cool" startup must be unambitious and lack talent.

Big tech are dominating most of the interesting problems. Startups likely can not compete with google - if they choose to let you exist it is because they have decided the problem isn't profitable enough.

<comment><USER4> If that argument is correct, then startups are toast and it's big conglomerates from now on. I think that's going too far. Not everyone wants to work for a big company; not everyone wants to work for an ad company; and so on. What I'd like to know is whether startups can narrow the gap enough to be worth it for early engineers, once these non-compensation factors are included.

<comment><USER5> Disclaimer: worked only in startups as early-stage engineer.

I feel like early stage startups are getting closed to be toast, at least in bay area, from different angels conglomerates are better at non-compensation factors as well. And in current environment, when startups stay private longer, any engineer has a better chances to go to mid or late stage startup, wait till IPO and repeat. It is better from money, career, networking.

If put aside equity, as a decision factor, I think, early engineers can go to a startup because it's a faster growing environment with more freedom. Faster for career, business skills, networking, engineering skills... But founders are focused on growing a startup (or stock price) at all cost, short term, from round to round. And people personal goals are usually longer term and founders don't have time/will for that.

More thoughts on non-compensation factors that startups could get right if they want:

1\. Advance in career faster.

Some go to startups because they feel they can progress faster in career ladder. In reality early engineers do not have enough experience for management/lead positions, and there is not enough experience to gain in early days (not enough people, tasks). Founders usually end up bringing ex-big corp/cool startup management, because "they worked at scale".

For management career development working at big corps are usually better, since there is a clear path you can take to grow, and you can estimate how much it will take you to do it.

Founders could be upfront about they goals and as part of offer could promise people a chance at management, some management coaching. Organizations like YC could offer early engineers management/leads coaching programs to their portfolio companies.

2\. Grow as engineers

Startups usually don't have enough scale and tech is not perfect. More like a different peaces "glued" together in a hurry, and always constant change.

Anyone working at startups as early engineer and trying to go to big-corp for money will hear "yeah cool, but we are looking for tech experience at our scale of usage"

Startups can compete in this area (if they don't have scale) by allowing people to develop as public figures, encouraging blogging, talking at conferences.

3\. Unlimited vacations. Flexible time.

Early engineers are always on, and harder to take long vacation, or completely disconnect. Compare to big corps, there are some where you can take several months sabbatical.

4\. Full business transparency

Founders can be fully transparent in terms of business, funding in front of employees. This can go long way in developing loyalty and trust. Compare it to big corps, where there are layers of management.

5\. Remote-first

More startups allow people to travel and work from whatever hours, location they want - more employees/engineers they will attract. Founders could be upfront about it: we pay 80% of market comp, but we don't care where you work from, as long as you available from some reasonable time online.

6\. Networking

I feel like startups suck at this. It's expensive to send people to conferences, startup team is small. Working at FAANg you have better networking opportunities.

YC/VCs could have a networking events not only for founders, but for engineers as well. From YC perspective it's better if engineer leaves for another YC company and stay in ecosystem, than to leave to FAANg.

7\. Family friendly

I feel like big corps are more family friendly: insurance, time off, activities. Startups figuring out how to make it or compensate for luck of it — could help.

</comment></comment></comment><comment><USER11> It's incredibly depressing that "finding time to invest in yourself" is about furthering your career. Sure that's part of it, but it's just one piece.

I'm so lucky that I've almost forgotten how lucky I am to have an employer who lets me work on myself in job related aspects _at work_. They give me time to get better at my job at treat me well enough for me to stay. It sure as hell pays dividends to them as I get better at making stuff for them.

Meanwhile, that means that outside of work, finding time to invest in myself doesn't have anything to do with career. I've got that covered at work. Now it's about finding time to make myself feel fulfilled. This is what I'm happiest to be able to invest time into, and it's not even mentioned in a post about finding time to invest in yourself? It feels like another symptom of the broken work-life balance culture I see in the early stage startup community. More like work=life balance.

</comment><comment><USER12> > People will say, "Well, I'm not the founder. I'm not being paid enough to > care." Actually, you are: The knowledge and skills you gain by developing a > founder mentality set you up to be a founder down the line; that's your > compensation.

Basically what I understand is that I should care as much as the founder even though I don't get paid enough. It's about other skills I gain by doing this. I highly disagree. No matter what I'll do it's all about the short-term compensation when working for others because I can get other skills both if my pay is low or high. And I prefer having a high pay and also getting soft skills. This guy sounds like he's a founder and tries to convince readers to be a good employees and care about others' businesses.

</comment><comment><USER13> I think the takeaway here is that no matter your circumstance, you should find a way to gain "specific knowledge". It boils down to:

\- If you can afford to apprentice / intern under someone success or on a trajectory to success, do it. \- If you can't, then work your paying job, whatever that is, but feel around for opportunities that no one else is looking to own yourself.

Not bad advice, but IMO, not exactly "finding the time to invest in yourself". I actually think finding the time to invest in yourself is getting better at time management:

1\. Instead of reading tweets, opening instagram, swiping on tinder, etc - <USER2> start an essay, article, etc.

2\. That time you'd normally zone out and listen to music on the bus/train - read or watch something that you learn from in a big way.

3\. Instead of staying in and watching netflix, hulu, etc get out to a meetup of people that are interested in the same thing you are.

But these - I think - are all obvious things to people that are reading this.

</comment><comment><USER14> Too much preamble. I stopped reading when the author started shilling his "How to Get Rich" article before he even started his point.

<comment><USER15> "If you're a barista at the coffee shop, figure out how to make connections with the customers. Figure out how to innovate the service you offer and delight the customer. Managers, founders and owners will take notice."

I stopped reading here, because... no, no they won't, and even if they do - they won't/can't reward you appropriately for it.

</comment></comment><comment><USER16> Although I love Naval's ideas, I don't think there is a singular model to accountability and skin in the game.

It is to compete with yourself every day given the constraints you have as an individual.

As an example, I would rather find the best happy me than copying a so-called successful person.

To me, owning a business is the ultimate experience for people skills which you can never learn in a classroom. But I would rather do it on my own individual terms than copying a mental model.

</comment><comment><USER17> These kinds of articles that talk about hustling, startup life, versus the other kinds of articles that talk about FAANG salary and perks are like the yin and yang of HN articles.

Always popular, always divisive enough, no clear compromise in sight.

I think it speaks of how actually a lot of HN readers really want to work at startups (including me) but these days they cannot find any justification to do it, financial wise.

</comment><comment><USER18> I really wouldn't want to work for someone who's so full of themselves that they can't even do their own laundry. Worse yet, someone who'd make their _employees_ do their laundry for them.

I personally find Naval and his platitudes to be overly simplistic, and his "get rich quick" advice is mostly impractical (and often bad) for normal people.

</comment><comment><USER19> Lots of negative reactions to this post but I find it to be a very accurate and fresh take.

</comment><comment><USER20> This fluff piece was written so quickly that the author did not correctly comprehend a two-word quote that he uses:

> Coming out of college, Warren Buffett wanted to work for Benjamin Graham to > learn to be a value investor. Buffett offered to work for free, and Graham > responded, "You're overpriced." What that means is you have to make > sacrifices to take on an apprenticeship.

No, what that means is that, as a fresh college graduate, Buffet added negative value to Graham. (Hence, even at $0 he was too expensive.)

Blog posts are often a bit like code: They take more effort to read than they do to write. In this case, the author spends so little time trying to produce something worth reading that I couldn't finish the article.

Even for free, this post was overpriced.

<comment><USER21> It seems to me that the author comprehends the quote perfectly well. His point is that since Buffett was adding negative value to Graham out of the gate, he'd have needed to do something extra to make hiring him worth Graham's while. And that doing that something extra would have been a good investment because of the learning opportunities it would bring. That's the apprenticeship part. Disagree with the argument if you like (I do too), but don't read it unfairly and then rip him for it.

<comment><USER20> Perhaps what we disagree on here is semantics. When I read,

> you have to make sacrifices __to take on __an apprenticeship

I understand that to mean that in order to even apply for / commit to an apprenticeship, you have to make sacrifices. In the context of the rest of his narrative, that means sacrificing a safer, better paying, more conventional career for being a gopher for a would-be titan of Silicon Valley.

Obviously, if you have the chance to be the gopher for an actual titan of industry, it's probably worth any reasonable sacrifice. But that's not what the author is promoting. He's promoting the "hustle 24/7" mentality even as a barista in the hopes that your manager will reward your entrepreneurial sprit --or, more likely, a newbie founder who will at best will exit their startup somewhere in the high six to low seven figures and leave you with little more than a few hundred thousand dollars of opportunity cost.

<comment><USER21> I totally agree that the value of such an apprenticeship depends on how titanic the master is, which means it's mostly not going to be all that valuable.

I still think Naval understood the point about negative value perfectly well.

</comment></comment></comment></comment><comment><USER22> Take time every day to invest in yourself. Your employer is lucky to have you.

</comment><comment><USER23> I don't buy this Naval guy he is too pseudo scientific

</comment><comment><USER24> Oh, wonderful. Another Naval article that's ultimately about how awesome and knowledgeable he is, and none of his success has anything to do with luck. He's truly self made!

I find his writing reeking of arrogance and axe body spray. Have some damn humility.

</comment><comment><USER25> "In many cases, the person is way overqualified. Someone with multiple graduate degrees might be running the CEO's laundry because that's the most important thing at the moment."

These sort of ideas telegraph that the author knows they got rich but don't actually understand how they got there.

<comment><USER4> Ok, but please don't post shallow dismissals to Hacker News.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

<comment><USER25> This isn't a shallow dismissal. I'm literally quoting a part of the piece that is absurdly bad.

Would it be edifying for you and others if I explained why I think suggesting that a smart startup employee should not be doing the CEO's laundry?

<comment><USER4> It's not edifying to cherry-pick the most sensational detail in order to hammer it. What you wrote is shallow because you haven't engaged with the core idea of the post at all. That's exactly what that guideline is supposed to discourage.

You seized on "CEO's laundry" because it sounds absurd; no doubt the fact that it sounds absurd is exactly why he included it. If you reduce his argument to that, you're breaking another site guideline too: " _Please respond to the strongest plausible interpretation of what someone says, not a weaker one that 's easier to criticize. Assume good faith._"

What would be more edifying is if you delivered on the claim your comment makes for yourself, that you know how someone got rich better than they themselves do. How?

<comment><USER25> It's hard to edify and spend that time when you routinely flag and kill my comments.

You claim that HN is "better than this" but Naval's post is totally devoid of insight. It is hackneyed and the commentary responding to it is a reflection of that. If you want better commentary on the front page, then do a better job of making the front page articles worth talking about.

As to me claiming to know how Naval got rich - that's easy - he's a person who cashed in on a golden era of startups when it was easy to sell off bad properties for big money. Instead of realizing that he was extremely lucky to be at the right place and right time, with the privilege of having enough personal wealth to take those risks, he instead spends the rest of his career trying to justify his wealth and position. That's why all his advice and "insight" are the sort of trite self-help aphorisms that anyone can say and make it sound true.

You always ask others to be better on HN, but maybe take a step back and ask yourself if maybe the state of HN is a reflection not of the community but of the guidelines and leadership that drives it today.

as for me? I gotta get back to my day job ;)

<comment><USER4> The last comment of yours that was flagged and killed was six months ago: [https://news.ycombinator.com/item?id=20348091](https://news.ycombinator.com/item?id=20348091). It was done by users, and rightly so.

I have no opinion about Naval one way or the other, but your argument there is flawed. There were tons of people trying to do the same thing at the time. Plenty had privilege and money. Why didn't they all succeed too? To just say "luck" is a non-answer; that's assuming your conclusion. A real argument would need to show how it wasn't anything else.

<comment><USER26> It might be useful to think of "luck" as an error term on a regression model, where the covariates are well-known factors (e.g. wealth, ambition, connections) and the error term is everything else.

Given that plenty had privilege and money (i.e. those are the covariates), and many didn't succeed, we'd expect those weren't significant variables.

Many likely had drive, connections, know-how as well. Many of them probably failed too. Again, insignificant covariates.

So what does that leave? The error term: luck.

In other words, during a tech boom like at the turn of the century, there are so many winners (often outsized, which distort many basic statistical assumptions, such as a normal distribution) that is almost futile to try and identify significant covariates.

To speculate here, often with the pretense of certainty, is more often reflective of post-hoc reasoning than actual science.

That, in my opinion, is why "luck" is an adequate answer. We can be fairly sure that certain covariates contribute to success over the long-term in life (i.e. we have a large sample size of being alive, and we can extrapolate from many other people who have lived). It is far harder to do this with nonce hype cycles (infrequent, low-sample size).

Chalking up more success to the error term, "luck", seems perfectly appropriate during such unusual times.

<comment><USER4> If I understand you correctly, then "luck" is another word for "we don't know". That's reasonable, but then we shouldn't make strong claims to knowing.

There's a cruder version of this argument, according to which _all_ success is luck. I hear that, or things that sound like it, a lot, but it's too simplistic and usually too self-serving to be plausible. Though many successful people will be the first to tell you they were lucky. (I always remember [https://news.ycombinator.com/item?id=1621845](https://news.ycombinator.com/item?id=1621845))

<comment><USER26> I think that's a fair opinion.

The only tweak I'd make is really around sample sizes and statistical significance.

All success _may_ be due to luck (the error term), but we can be fairly confident (say p < .001) it isn't. Said otherwise, we can be reasonably sure that some covariates (e.g. hard work, wealth, education) are significant, given a large enough sample size and we define what qualifies as success. One of course could quibble about these - do we really have enough statistical significance for each trait? - but the fact is that every person everyday operates with some intuitive understanding that these things matter. In other words, not all outcomes are due to luck.

This is much harder to do with small sample sizes or unusual occurrences. Statistics is based on frequencies, and if we have low frequencies (such as a tech boom), we should be much less confident in the significance of each variable.

This is, presumably, why people intuitively chalk up much success during these times as survivorship bias. It's not that it certainly, absolutely is; rather, it's that we're far less confident on which variables are significant and which aren't. The error term remains.

Again, attributing it to the error term, implies mostly that we shouldn't have too much confidence in our speculations on which traits are significant during such one-off events.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER27> The first example is basically find a successful person and take a menial job sucking up to them and doing their laundry.

Welcome to America 2020

<comment><USER4> Come on, you guys. HN comments need to be better than this—much better. Please read and follow the guidelines:

" _Please respond to the strongest plausible interpretation of what someone says, not a weaker one that 's easier to criticize. Assume good faith._"

" _Please don 't post shallow dismissals, especially of other people's work. A good critical comment teaches us something._"

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

I don't care about the author's argument one way or the other, but I care a lot about degraded discussion on HN.

<comment><USER26> On the other hand, I feel Hitchens' razor is useful here:

"What can be asserted without evidence can also be dismissed without evidence."

In other words, the "low quality" of comments may actually reflect a patent and blithe dismissal of a perceived "low quality" post. I think you must acknowledge, given the community's reaction, that this is potentially a low quality post.

In that case, such a reaction seems appropriate.

<comment><USER4> Ok, but the substantive way to dismiss something low-quality is to ignore it, and maybe also flag it. It's not to add something even more low-quality.

</comment></comment></comment></comment><comment><USER25> "Now, persuasion is a generic skill—it's probably not enough to build a career on. You need to combine it in a skill stack, as Scott Adams writes."

Naval quotes Scott Adams, dilbert creator who has on the record said things like this:

"But in general, society is organized as a virtual prison for men's natural desires. I don't have a solution in mind. It's a zero sum game. If men get everything they want, women lose, and vice versa. And there's no real middle ground because that would look like tweeting a picture of your junk with your underpants still on. Some things just don't have a compromise solution."

"Naval: Tony Soprano was a businessman who had to enforce his own contracts. That's a very complicated business."

Just for others' edification, I'd like to point out that Tony Soprano is not a real person.

source: [https://jezebel.com/dilbert-creator-scott-adams-weighs-in- on...](https://jezebel.com/dilbert-creator-scott-adams-weighs-in-on- rape-5813290)</comment>


Ask HN: How is your company using Node.js? - <AUTHOR>

I am curious about how different companies are using Node.js in their project(s). I am working on an open-source report which I hope to publish online soon. If you're in NYC I'll be talking about this at a future NYC Node.js meetup.
1. What are you using Node.js for? Is this for a new or existing project?
2. Why choose Node.js for the project?
3. What performance gains/benefits did you see, if any?
4. Any lessons learned or gotchas? <comment><USER2> 1\. Node.js powers the data collection for W3Counter's real-time dashboards

[http://www.w3counter.com/stats/pulse/1](http://www.w3counter.com/stats/pulse/1)

2\. I got tired of fussing with kernel network config tuning, and I'm more confident with writing servers in node than C/C++.

3\. A reduction in TCP sockets needed to handle a few thousand concurrent connections from several tens of thousand to just the few thousand. The request/response model of doing it in something like PHP meant there were connection from the users to nginx, nginx to php-fpm, php-fpm to the database for each user -- and it increased at more than just 3x the number of users since TCP connection stick around a while after they're finished waiting for any out-of-order packets and such.

A reduction in time-per-request from ~70ms to ~1ms. No initialization/db- connect/teardown per-request means node can do its thing and dispose of the request much faster than PHP, which was the original language this was written in some years ago.

[http://i.imgur.com/ipQXcjJ.png](http://i.imgur.com/ipQXcjJ.png)

<comment><USER3> That's nice! I guess the response time will be on the same network, right?If not, What is your server provider? How far you are from the server? What is your ISP?

<comment><USER2> The 70ms and 1ms are time spent in the application handle each request, not response times at the client. That's going to be determined by latency between the client and the servers, which are hosted in Softlayer's Washington DC data center. 19ms from Philadelphia if you're curious.

</comment></comment></comment><comment><USER4> 1\. [https://www.datalanche.com](https://www.datalanche.com)

2\. The correct, proper answer is very, very long. Too long for a HN comment. The short version is that the product is I/O heavy since it mostly just queries a database and returns the results to the user over HTTPS. Node is primarily designed for this use case.

3\. Per-query memory overhead is less than a threaded approach. Javascript is one of the fastest scripting languages when it comes to string manipulation which is what the API server does besides I/O. Node itself is written in C/C++ so it is quite fast too.

4a. Being single-threaded, it is very sensitive to CPU-bound tasks. I am actually working on refactoring some code to support streaming because there is an edge case that is CPU-bound and stalls the whole process.

4b. A big downside for my use case is handling 64-bit integers and numerics since Javascript does not natively support these data types, but are very important to support in a database product. We have worked around it using strings. The API server does little computation itself, so it isn't that big a deal.

4c. If you are doing a lot of CPU-bound work or computation with large numbers, then I strongly recommend not using Node. Otherwise it is probably okay even if your use case is not what Node is primarily designed for.

I should also point out that I have been developing software for a long time and have learned to become skeptical of the latest language, framework, tool, etc. I have seen so many of them come and go. It took some convincing for me to decide on Node for Datalanche. I am a big believer is picking the right tool for the job rather than the latest trend. I will be the first to say one should pick Node because it is the best for the use case.

<comment><USER5> Thank you for the fantastic insight! This is one of the better, simplified versions of the pros and cons of Node

<comment><USER4> You are welcome. :-)

</comment></comment></comment><comment><USER6> I run a web development company in Sydney called Thinkmill ([http://www.thinkmill.com.au](http://www.thinkmill.com.au)).

We use Node.js for everything we do, from mobile app backends to websites to web apps. We've been using it for nearly two years, and found it fantastic - compared to technologies we've used previously it's faster to develop in, faster to run, easy to deploy (especially with platforms like Heroku) and the value of npm and the ecosystem of high quality open source packages is hard to overstate.

We have also developed an open source Node.js model-driven CMS / web app framework called KeystoneJS ([http://keystonejs.com](http://keystonejs.com)) which is built on Express and MongoDB and has been getting some great feedback :)

The biggest lesson / gotcha has been getting into the different mindset - especially when we started, there wasn't a lot of 'hand holding' available compared to other languages and frameworks, and there were few established best practices to follow. I think it's easier these days (there's certainly more out there) but I'm very familiar with it now so it's hard to gauge from a beginners point of view.

It's easy to fall into traps with callback patterns and error handling, for example - so you really need to get your head around what's out there (like the async library for example), and how to structure your application and code.

<comment><AUTHOR> Keystone.js looks pretty sweet, I'm gonna try it out this weekend!

Before using Node.js had y'all done a lot of work with async code-bases?

</comment></comment><comment><USER7> I'm not a company, but that said I'm using node.js in a few toy applications.

For example I have a HTTP-server in node that accepts POST requests and sends their bodies over to an XMPP server.

For a bigger project [http://blogspam.net/](http://blogspam.net/) aims to classify blog-comments as spam/ham in real-time, and the entire server is written with node.js. (It really just receives JSON objects, scans them with a series of plugins, and sends back a reply saying "OK" or not. Conceptually simple.)

Finally my email stack is powered by node.js, handling 30ish virtual domains with recipient testing, and anti-spam at SMTP-time. This is built around Haraka, which is a reimplementation of the ideas found in qpsmtpd. (A server I once built a small company around.)

Generally I've chosen node because it was fast to get "a scalable server" up and running with. Both the blogspam service and the mail handler were initially perl, and both received 20-40% speedups for free (well if you don't factor in my developer time).

</comment><comment><USER8> We use Node.js for a few internal services. Most of them are HTTP APIs which serve data from MongoDB and Redis. Two applications are gateways to external services (SMPP, Email) which maintain a database of delivery attempts and results. Two other apps: One of them is a tracker which collects data from our website of our logged in users activity, and one is a queue manager which manages load on external services which can take a limited number of requests at a time.

Node.js has proven to give us good performance benefits and ease of development, maintenance and scalable deployment compared to PHP and .net, the other two platforms we usually work with.

I am not aware of the old metrics, but as per my seniors, we have got a very good performance improvement on the API services by using node. The rest of the node projects were new projects.

<comment><AUTHOR> That's great to hear; your story is very similar to many companies out in NY.

</comment></comment><comment><USER9> Exponential.io - Exponential is a code generator designed to help developers build apps faster with less effort.

We use Node.js for our entire client-facing stack including an API server for code generation, a command line client for pulling updated code from the server, plus we use it for our public website.

We're currently evaluating using Node WebKit ([https://github.com/rogerwang/node-webkit](https://github.com/rogerwang/node- webkit)) for building a cross-platform desktop UI for our CLI tools.

</comment><comment><USER10> We are using Node as a backend to multipart uploader interfacing with the Amazon S3 architecture. Our application is built in Symfony2, but we found that Node was much easier for writing parallel upload scripts in. Took less than 3 days and works perfectly every time, no regrets there.

<comment><AUTHOR> What is being uploaded? Large images/videos, small text files, etc.?</comment></comment>


Hacking your body for perfect sleep - <AUTHOR> https://www.indiegogo.com/projects/sprayable-sleep-sleep-you-spray-on-your-skin/x/1694564#251

<comment><USER2> To make a more generalized question:

How do we find out that such health products are genuine or can work as they advertised?</comment>


Show HN: Create and share javascript bookmarklets - <AUTHOR> http://bookmarkify.it/ Today I'd like to show you a small tool I created to learn about Rails a while back. It is pretty basic, but works very well for my own things.
Just write or paste whatever javascript you want to run, you can even include external libs. When you save just drag the link to your browser bar.
A script I use often is one that makes video's on websites bigger when clicked.
Tell me what you think. <comment><USER2> Good work.

Quick suggestion: why not let people save their bookmarklets in your site and build a bookmarklet directory?

<comment><AUTHOR> Thanks xcubic.

Yes, I was playing with that idea, although I dislike the thought of having to register/login to yet another site. Maybe this is a good opportunity to try something else instead. The obvious options are logging in with facebook, github, etc. But maybe there is another way to conveniently couple users to their bookmarklets.

A directory is something that has been on my mind as well, this way people who are less tech-savvy can still profit of people who put a lot of effort into their bookmarklets.

<comment><USER2> Maybe you can simply let people publish anonymously too, without having to do registrations and logins.

<comment><AUTHOR> I will take this into consideration as well.</comment></comment></comment></comment>


Show HN: Alienslike.us – Vote on what an alien society might be like - <AUTHOR> https://alienslike.us/ <comment><USER2> It asked me if intelligent alien life would know about pi. I answered "yes", and the survey told me that 84% had also answered "yes". Am I understanding that right -- that 16% of respondents think that pi could be avoided?

OK, I get that this is a wildly crazily speculative discussion but how does anyone imagine _intelligent_ life that doesn't have a concept of pi in some form? Pi is everywhere in math and science.

<comment><USER3> Can someone explain how pi holds up when base 8 math is applied?

<comment><USER4> pi becomes 3.110375524210264302151423063050560067016321122011160210514763072002... in base 8 or, really, still pi

Pi is just our name for the ratio of a circle's circumference to its diameter regardless of the base.

This is why it doesn't make sense for an intelligent species not to know what 'pi' is. It's an important concept that pops up immediately in basic geometry and just keeps popping up over and over all the way to general relativity and beyond.

Yes, an intelligent species may not know pi but they would not have progressed even to the point of basic geometry in the maths and sciences.

<comment> V-2 Their approach to geometry could be quite different though. Eg. they could use non-Euclidean geometry by default, 2D only being a special/edge case, and Pi, while encountered in calculations once in a while, wouldn't have a status of a well-known constant: which I understand would be the minimum to meet the requirement behind the question. If not, the question would be akin to whether they "know" 1, hard to say what it means

<comment><USER5> Pi shows up either in Einstein's field equations, or in Newton's gravitational equations. It's probably possible to formulate them both without reference to pi, but off the top of my head I don't see how. (As mathematicians go, I'm not at all applied, though.)

<comment><USER6> Pi only shows up in the field equations multiplied with an arbitrary constant. Therefore they are trivial to formulate without.

<comment><USER5> The arbitrary constant is related to G, which is Newton's gravitational constant, and to the speed of light. If I've understood correctly, if you don't want pi to appear in the field equations, then it will appear in Newton's equations as part of G.

</comment></comment></comment></comment></comment></comment></comment><comment><USER5> My answers are strongly dependent on rather loose interpretations of words like "sleep", "money", "private" "property", "taxation" and so on. I think it's probably better to start with more general questions: for example, the answer "no" to "do they defect with each other on Prisoners' Dilemmas" basically rules out the need for taxation.

</comment><comment><USER7> "Is there United Nations" \- this question is extremely vague. It should be clarified. Overall most questions are based on our civilization and our path, rather than more important aspects.

-"Are they aggressive"

-"Do they have empathy"

-"Do they have family model"

Same with "Are there Jails" should be substituted by "Are there crimes" and "Is there a justice system"

<comment><AUTHOR> This is an interesting comment!

I tried to have a balance of questions over these 6 areas:

* Biology

* Economy

* Environment

* Politics

* Science & Technology

* Society

I also tried to have a balance between questions that you would think for certain would be a 'yes' like the Pi one and a 'No' like the cannibalism one.

Layered on top of this was my own personal views on what's 'unusual' about our own society and a desire to get people actually thinking about us, not the aliens. Do we really need Jails and religion and countries? Is there another way? Maybe we could have a justice system without Jails, for example. That's what's behind the UN question - probably not a good question - but something I think about often.

I regret not thinking about the family question. That would have been a good one.

<comment><USER8> It probably needs a question about whether the aliens are aquatic or land- based. Some of the follow up questions wouldn't be relevant, like bridges and roads, if the world were aquatic.

<comment><USER9> Don't forget air-based.

</comment></comment></comment></comment><comment><USER10> It was fun, thanks!

Just this morning I finished reading Solaris (by Stanisław Lem, it's an amazing book about reflecting on "how an alien could look like", 10/10), so I stopped thinking after every question to consider different scenarios possible with either answers.

To me it feels like a great tool to start laying down the plot for your next scifi book ;)

</comment><comment><USER11> This is a funny quiz to do. Even if IMO yes or no are too restrictive. Also, the backgrounds are very heavy, I used to select answer, start loading page and press esc to stop loading of the background :D

<comment><AUTHOR> Some feedback on the performance would be helpful. The server is in Singapore, so perhaps if put it behind cloudflare to speed up the images download for Europe and US?

I wasn't really expecting this level of interest to be honest.

<comment><USER12> I wasn't able to select an answer until the image finished loading (well, it would submit the answer I selected at that point). I would suggest making it so it doesn't have to load the image before you can respond, and maybe compress them a bit more :)

</comment></comment></comment><comment><USER13> Fun exercise, but some of the questions could use more context.

For example: "Do they value gold?" \- I guess that depends on the amount of gold that you can find on their planet.

I guess it would lose some of its charm if the questions were larger, though.

</comment><comment><AUTHOR> I made this in Go & postgreSQL as a learning exercise. There are 60 questions and I haven't developed the 'end' yet, it just goes back to the start. So if you see the questions repeating, it's time to stop. If you hover over the percentage graph it will give you the stats so far for that question.

<comment><USER14> I kinda like the idea, though maybe 60 questions are a lot to go through. However, a very big improvement would be to show yes/no in the graph/circle in green and red (same color as the buttons). I was confused how many voted for yes/no based on the circle at the first questions

<comment><AUTHOR> Good suggestions. My CSS skills are a bit impoverished so I tried to keep it simple to start. It's amazing how many people stick it out and answer all 60 questions. I hope my server can keep up....

</comment></comment></comment><comment><USER15> It's a never ending quiz that asks you the same questions more than once. There needs to be an end!

</comment><comment><USER16> I think the only thing that I said "no" to was ten fingers, since there's something around a 25% chance they have five fingers on each hand -- versus three, four, five, or six or so -- and assumes they only have two arms which serve as their primary environment manipulators. Even with eyes, it's a safe assumption their form of life evolved near a radiation source of some kind, and they almost certainly have "eyes" with which to sense that source. Even more so, that these things all exist in our history, by extension they must be possible in alien history. They may be immortal atheist pure communists that do not need to eat _at the moment_ , but you'll need to consider how they got there, and so "yes" they probably did at one point have thieves and taxes and poverty and a king, even if they don't now. And "having" something (in my answers) includes having had something.

</comment><comment><USER17> "On this planet there is intellegent life."

C'mon, of any words to misspell...

<comment><AUTHOR> oops!

</comment></comment><comment><USER18> I started with Do they have jails and after a long while it asked me again the same question. Next was Do the have shops, which I already answered. Maybe it should understand it asked all the questions, thank and quit.

Are you going to post a one page total of all questions?

Btw, did you spend more time coding or looking for suitable pictures for the questions? :-)

<comment><AUTHOR> It starts at a random question ( so all the answers are evenly distributed) and it just loops around to the start. I do plan to add an 'end' page with a summary at a later stage.

I hadn't used Pixabay before but it was perfect for this. It was a bit of mucking around to have 3 different image sizes for each question -so yes that took a while. About 6 hours including the domain and server setup I would say. The code was the easy (and fun) part.

</comment></comment><comment><USER19> Needs a 'maybe' button.

<comment><USER20> Yeah, there are a lot of maybes in here. But on the other hand, that would most probably cause me and a whole lot of people to answer maybe on pretty much all questions. This is more interesting, and makes you think about the question more.

</comment></comment><comment><USER21> I've heard that bridges on an alien planet would look eerily like ours since there would probably be a need for them and all designs would converge on the most optimal.

<comment><USER22> Somebody wrote that toast would also fall butter-side-down on any alien planet with any gravity. Lots of arguments about tables, toast, gravity and mean rotation speed.

</comment></comment><comment><USER6> I answered no to essentially all questions. I consider dogs and rabbits, for example, to be intelligent life. From observing the earth and our surroundings, there is no reason to assume that higher intelligence would automatically arise.

How to define human-level intelligence is an interesting question. It would probably have to be done with questions similar to those on the site. E.g., do they know about pi.

P.S. 25% think they have access to time travel?!

</comment><comment><USER9> "500 Internal Server Error"

Is the site being DoS'd by us?

<comment><AUTHOR> Yes looks like it. Just rebooted it - should be okay now.

</comment></comment><comment><USER23> I am amazed by how many people are willing to believe this but don't find out for themselves what the name of Jesus is doing

</comment><comment><USER24> Just cycling for me - get to the last question and it continues to the first question :( I was looking forward to the results.

</comment><comment><USER25> What a waste of time, its just a bunch of questions useful to advertisers.

</comment><comment><USER26> what's the purpose of this exactly? I kept clicking a the gauge chart changed all the time but showed no insight on what was going on

<comment><AUTHOR> The gauge chart shows you the percentage of people who agreed with the previous question (including your response)

<comment><USER27> It need some kind of label on which color is which, currently it is quite confusing.

</comment></comment></comment><comment><USER28> epic!

<comment><AUTHOR> Thanks:-)</comment></comment>


Ask HN: Reward for Patents After Leaving the Company? - <AUTHOR> Hi HN -
I have a patent/employment related question that I'd love to get some advice on.
I worked for a well-known tech company. During my tenure, I filed for many patents on the company's behalf. IIRC, the company gives you ~$1k for filing a patent, and additional ~$10k once the patent is approved. I unfortunately no longer have access to the official patent policy.
I received the initial reward of $1k for each of my patent filings. However, I left before the patent was granted. I only realized today that these patents have all been approved by USPTO as of earlier this year.
My questions are:
1. Should I still be entitled for the final reward from the company?
2. If so, I'd love to hear HN community's advice on how I should approach the company to seek the reward.
I feel like I am not alone in this because patents takes a long time to approve and people move around in our industry. So I hope the answers to these questions can help others too.
Many thanks in advance! <comment><USER2> Entitled is a funny word with two senses here. One is "Do I have a claim for compensation which the legal system will back?" and another is "Do I deserve do get paid this money?"

Legal questions are often best answered by a lawyer. The lawyer is going to ask to see the contract you have with your employer about this compensation. I do not have access to this contract, but I have a probabalistic guess for you based on standard practices in the tech industry: you do not, in fact, have a contractual right to payment for the company's patents. They're the company's patents, not your patents -- you signed an IP assignment agreement which made this absolutely, unambiguously clear roughly contemporaneously with starting your job. Your sole guaranteed compensation for any work was your salary. Your company owes you zero dollars and zero cents of remaining salary; they mathed the heck out of that when you stopped working for them and, after that check was cut, you were even. Your company has discretion in awarding your bonuses when you worked there; they're going to exercise their discretion in not awarding you bonuses since you do not work there.

Do you deserve to get paid the money? That's a rather different kettle of fish. To the extent that you're well-educated adult who can understand contracts presented to you in English, none of the above should come as a surprise. To the extent that one thinks that the purpose of the bonus is not incenting future behavior but rather rewarding past behavior, a reasonable argument could be made that since you put in the work you should receive the fruits of it.

<comment><AUTHOR> Thanks for the long reply patio11.

I can see where you are coming from, and I wouldn't be surprised if the same argument is used by the company. If that is the case. O well, I wish them well but I would never be this naive again.

There is just one point that you might have missed.

The patent work doesn't stop the moment you finish filing. In fact, almost all valuable patents will be challenged in court, which can cost a LOT of money. In those cases, the company would have to hire back the original inventors to defend them in court, for which the original inventors can charge almost an arbitrary amount of money for.

In my personal opinion, it would not be wise for the company to argue over pocket change amount of money if it risks destroying the relationship between the company and the inventor. If that is really the case, when the day comes that the company needs help, the inventor would not hesitate to charge exorbitant fee just to spite the company. I honestly believe this is why @smoyer in the other comment is still getting paid by his company even though he is no longer employed.

Last but not least, on a human level, I feel it is a bit unfair given how much extra I worked for these patents, above and beyond my call of duty. I'm not going to cry over it but it will leave me in a pretty bad mood. If I end up getting screwed over, well... let my experience serve as a lesson for rest of the aspiring inventors in similar situation in the future.

<comment><USER3> > the company would have to hire back the original inventors to defend them in > court

What makes you say that? I'm genuinely curious. I'm the named inventor on a few of patents for a previous employer that were all granted after I left. It never occurred to me that they would continue to need my services (nor have they).

BTW have you asked your previous employer about the situation? My guess is that @smoyer's situation is fairly rare and the company will likely consider it a perk rather than an entitlement. It's not clear there would be any harm in asking though.

<comment><AUTHOR> I have friends who have gone through this experience. I was pretty surprised too that the company was willing to pay so much to defend their patents. Granted... my friend's rate was fairly reasonable... I think between $500-$1000/hour in probably the early 2000s.

It really depends on the patent in the end of the day. If a company can potentially lose tens or hundreds of millions over a lost lawsuit, spending a million on legal defense would be very reasonable.

I have not talked to my employer about this. I wanted to get some collective wisdom from the HN community before approaching them. But yeah, I'll definitely give it a shot. It doesn't hurt to ask.

</comment></comment></comment></comment><comment><USER4> That's up to your company's policy. My company has a similar policy with a two-stage award, and you're not entitled to the award for approval if it's approved after you leave.

Do you have any former colleagues/friends at the company who could get you a copy of the policy?

<comment><AUTHOR> Good point! I'll check to see if any of my friends can get me a copy of the patent policy.

I wonder how legal it is in the state of California to bar the people from getting their reward simply because they are no longer with the company. Patent approval has nothing to do with the employment status. This seems a bit unfair to be honest.

Further, they specifically asked me for help AFTER I left the company. I agreed to help as a good-will gesture. I wish I could've clarified the reward policy back then.

<comment><USER4> Out of curiosity, I checked our policy. The people who can get monetary awards at my company are:

\- active employees, and

\- retired employees who retire with eligibility for retiree health benefits (my understanding is that this is, approximately, people who worked for the company for 20 years or more), if they provide requested assistance to the company to get the patent issued after their retirement.

So at my company, if you just _left_ without having been here for a long time, they wouldn't give you the money after you left. (This is what I thought, and good to know in my case since I have a few patents in the pipeline myself...)

Furthermore, there is no mention that "this is different in California". We employ people all over the country including in California, and a lot of our policies do call out California specifically because it does have different laws, so I suspect there's nothing special about California here. (I am not a lawyer.)

<comment><AUTHOR> Thanks for sharing madcaptenor! Very interesting to know this!

</comment></comment></comment></comment><comment><USER5> I also wrote a lot of abstracts for a large cable television equipment manufacturer. In some cases, Ididn't even write the application but they've continued to pay me both the filing award and patent award fees. I haven't worked there since 2010 but they're still paying me as an employee.

<comment><AUTHOR> Interesting! At least there is one case that the company is doing the right thing. Thanks for sharing smoyer!

</comment></comment><comment><USER6> 1\. No, you are not entitled to the final reward (almost certainly).

Maybe your employment contract is different than other companies I have heard of, but this ought to be just like any other bonus (referral bonus, holiday bonus, etc.). When you terminate your employment, you are no longer eligible for employee bonuses.

</comment><comment><USER7> The company most likely was banking on most employees never collecting the patent granting "reward". Like equity, it's a carrot to motivate/manipulate you, not a sincere "thank you".</comment>


Android 4.2: December month missing in calendar - <AUTHOR> https://code.google.com/p/android/issues/detail?id=39692

<comment><USER2> According to this comment: <https://code.google.com/p/android/issues/detail?id=39692#c17>

It's caused by the convention of the Android datepicker to store month values as 0-11 instead of 1-12.

Dates are given in 1-31 as expected; and years are given in e.g. 2012 as expected; but months are given in 0-11 which is totally inconsistent with how people normally number months and how the rest of the API works.

So for January 1st, 2012, printing 'getDate()', 'getMonth()', and 'getYear()' would yield '1-0-2012'. It's a badly designed API and I'm surprised there aren't more instances of this breaking.

(I ran into this once in our codebase, but we managed to fix it pretty quickly).

<comment><USER3> > months are given in 0-11 which is totally inconsistent with how people > normally number months and how the rest of the API works

That numbering is consistent with Java and the constants in the Android API.

[http://docs.oracle.com/javase/1.4.2/docs/api/constant- values...](http://docs.oracle.com/javase/1.4.2/docs/api/constant- values.html#java.util.Calendar.JANUARY)

[http://developer.android.com/reference/java/util/Calendar.ht...](http://developer.android.com/reference/java/util/Calendar.html#JANUARY)

<comment><USER2> You're right, and I didn't doubt that. I meant it's self-inconsistent with how days and years are handled, not necessarily inconsistent with other calendar APIs within Java and Android. Sorry I wasn't clear.

<comment><USER4> I guess the idea is to use the month as an array index to convert it into a string. You don't usually convert the day of month or the year into a string.

Nontheless I agree that it's bad API design.

<comment><USER5> Then declare the array with 13 slots, fill slots 1-12 with the appropriate strings, and don't use slot 0. Or better, put in an error check for being passed a zero.

Suddenly, a 1-12 value for "month" is directly an index into an array to convert the number into a string...

</comment></comment></comment></comment></comment><comment><USER6> Note for everyone checking only the screenshots and not reading all the comments. The Calendar app is fine, the People app has this problem.

"It's only broken in the People app (like #29 said, Calendar is fine).

I'm running JOP40C, and I can confirm this bug (in the People app) with all date formats."

<comment><USER7> #29 seems to be missing. I didn't know comments can be deleted on that site.

</comment></comment><comment><USER8> I wonder if there's been any movement on the dreadful performance of 4.2? It made me very aware that there is little to no support for Android/Nexus, and nowhere to take problems unless you know what a bug tracker is, which many will not.

<comment><USER9> I've noticed the exact same thing. 4.2 has ground my Nexus 7 to a halt. Turned off NFC, which helped a lot, but it's still not as snappy as 4.1

<comment><USER10> That's curious. 8 or 16GB? I haven't run into it myself, but I've heard that low free space will slow down the Nexus 7.

Stuff like better animations for the app switcher made my own Nexus 7 feel faster after the 4.2 update. Of course, that's just a perceptual change.

Prior to 4.2, Chrome with many tabs open and Adobe Reader were my only major annoyances. Chrome seems somewhat better, though since I've cut down on tab usage and started using Firefox more I'm not sure how much it's really improved. As for Reader, I just use ezPDF for larger documents now.

<comment><USER9> 8G with plenty of free space.

</comment></comment></comment></comment><comment><USER11> Wow. I was just feeling pretty stupid about some of the bugs in my code. Thanks for the pick-me-up, Google.

</comment><comment><USER12> Thanks to Google, there shall be no 12-12-2012 apocalypse.

<comment><USER13> 12-21 _

</comment></comment><comment><USER14> Incoming iOS advert: "Supports all months, January to December"

<comment><USER15> This would never have been released Steve Jobs was still alive.

<comment><USER12> Indeed, he would have called Eric Schmidt to let him know about this Android bug before it being released.

</comment></comment></comment><comment><USER16> Perhaps Google thought it was a good idea to insert a leap month to check how the kernel would behave.

Did anybody notice heavy CPU load?

</comment><comment><USER17> Anybody who's never made a mistake with zero-indexed arrays, raise your hand!

<comment><USER18> _o_

</comment></comment><comment><USER19> Looks like we will be seeing Android 4.2.1 very soon

<comment><USER20> Can't the People app be updated through the Play Store like Gmail?

<comment><USER19> I don't think so.

</comment></comment></comment><comment><USER21> Someone call Nick Bostrom and let him know we have a test to discover if we're living inside Android 4.2. Results pending.

</comment><comment><USER22> It's rather ironic that a company so high-tech it's looking hard at self- driving cars and asteroid mining has trouble implementing a calendar, a technology that's been around for thousands of years...

<comment><USER23> The cars crash sometimes too. Software has bugs.

<comment><USER24> Have they? I thought the only crash was when a person in a car crashed into the back of one? (pretty sure the self-driving car was being driven by a person at that point too).

</comment></comment></comment><comment><USER25> I wonder what the git blame command will contain...</comment>