Why the Cool Kids Are Playing Dungeons and Dragons - <AUTHOR> https://www.nytimes.com/2019/04/06/opinion/sunday/dungeons-and-dragons.html <comment><USER2> I've always considered myself nerdy, but when I was younger I thought I wasn't _that_ nerdy to play Dungeons and Dragons. Years later a woman I had a crush on was starting a campaign with some mutual friends so of course I jumped in. When she left the group prematurely to go to a university, I stayed because it was just so much fun. These days I get bummed out if I don't have a weekly game of some sort to play.

The reason why it's cool is that it's essentially an unlimited budget, sandbox video game/film of any setting or dynamics you want. Most people think of Dungeons and Dragons as the only game of its type but there are so many more. I've played in a futuristic cyberpunk dystopia, an episode of Star Trek, a blasted radioactive Mad Max landscape where different realities have messily converged, a medieval land where dragons are the ruling class, infiltrating a clockwork/steampunk aristocrat empire, and a bunch more that I'm forgetting.

You also engage with people face to face, make food together, catch up on things, exercise improv skills, and goof around too. I once played a female Druid (I'm a man) but used a weird version of my voice and claimed I had been cursed to speak like that).

With the exception of a trending multiplayer shooter game or two, I generally don't play computer games anymore. With the right people there's so much more nuance, depth, and variety with table top role playing games.

I'm currently getting ready to be the GM of a Dungeon World campaign. I really like the variety of community made supplements available to it, and it's philosophy of player->GM->player feedback loop driving the action.

<comment><USER3> > I've played in a futuristic cyberpunk dystopia, an episode of Star Trek, a > blasted radioactive Mad Max landscape where different realities have messily > converged, a medieval land where dragons are the ruling class, infiltrating > a clockwork/steampunk aristocrat empire

Are these DM-driven things based on the D&D rules or separate games? I'm really keen to get a local group going but the swords & sorcery aspect isn't universally appealing. Steampunk aristocrat empire on the other hand...

<comment><USER2> Mostly different games. The Mad Max game was the Dungeons and Dragons 4th edition version of Gamma World, which I think is the 5th or 6th edition of Gamma World. It was more like a mod for 4e than anything else.

The dragons as the rules game was straight up 4th edition Dungeons and Dragons.

But the Star Trek game was Lasers & Feelings. The steampunk game was Lady Blackbird which is also free. You can search for them and find the PDFs easily.

The cyberpunk game was Shadowrun, which also involves magic and elves, orcs, dwarves.

There is a Shadowrun hack for 4th edition DnD, and there's some steampunk stuff in DnD through their Eberron expansion (a playable race is the Warforged). While DnD mostly codifies rules for combat, DMs can totally rewire the game to feature stealth, diplomacy, and other types of interaction. But other games may be a better choice.

<comment><USER3> Thanks! This is great info; I appreciate it.

</comment></comment></comment></comment><comment><USER4> I literally started a group 2 weeks ago. Six 30-40s adults played for 5 hours straight and not a single person touched their phone the entire time.

Fucking magic

</comment><comment><USER5> I play DND with my friends because there just isn't much local multiplayer in gaming anymore.

Where as I used to be able to huddle around the N64 with 4 controllers playing Goldeneye with my friends, or passing the controller round to play Worms Armageddon. Nowadays everything is online, which makes connecting to friends easier, but doesn't beat the feeling of being in the same room and laughing with your friends.

<comment> toper-centage Air console is my go-to casual local multilayer gaming platform. Its not great, but it's fun enough.

</comment></comment><comment><USER6> I started playing AD&D in seventh grade a very long time ago. The cool kids have always played Dungeons and Dragons. Best distraction and creative thinking platform ever.</comment>


Autistics in the Silicon Valley - <AUTHOR> http://modelviewculture.com/pieces/autistics-in-the-silicon-valley?utm_content=buffer77a0f&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer <comment><USER2> _" There are HR employees, executives, janitors, schedulers, technical writers, consultants, graphics artists, designers, and myriad other jobs at SAP that require a totally different skill set than the one SAP's Autism programs searches for. And all of those jobs are able to be fulfilled well by Autistics."_

Erm, wouldn't having communication difficulties and trouble identifying emotional state in others be somewhat of a barrier in all but the most by-the- book soul-sucking HR positions?

<comment><USER3> Seriously dismissing how crippling autism is for a lot of people, and how wildy different are the effects.

My brother is one of them, and despite is "better" than most certainly can't have a job. In fact, is too smart to be in the repetive kind-of-jobs and too crippled to havce a chance elsewhere.

A _very_ small subset of autistic people have won the "lottery", so can complain about stuff and have a more-or-less independent live.

To think: Is like have a(several?) thin sword passing in to your brain, and you don't know what _exactly_ it damage. That is autism.

<comment><USER4> I don't think that's quite the right analogy.

The way I explain it to people regarding my son is that you have the brain, the brain's modules are all there, but all the interconnecting stuff that helps the different parts of the brain work together, self-regulate, etc., are all much weaker than in a typical brain.

Thus you get people who are very impulsive, or are great problem solvers but have trouble with language (which requires the cooperation of many different parts of the brain), or much prefer visual inputs, etc.

Even that is only an approximation of what must be going on, but certainly most of the gear _works_ ; it just doesn't work together concurrently as it should.

</comment></comment></comment><comment><USER5> I really have a lot of trouble with this article. It seems that it's premised around the idea that there is a wide variety of Autistics, each with unique talents and skillsets, and that programs like those at SAP should hire and accommodate Autistics in additional roles, such as technical writing, communications and PR.

But then the author also starts off with wide, sweeping statements about Autistics without citations or evidence:

> _Autism Speaks, an organization despised by most Autistics and many of their > parents_

> _many Autistics, myself included, liken [listing ASD in the DSM V] to > homosexuality and transsexuality being listed in previous DSMs_

As I continue to read it, I start to wonder whether the author is just upset because they heard about SAP hiring Autistics and was disappointed that his/her skill set wasn't a good match for the role:

> _I would be a disaster in the coding and software testing departments, but > would be more successful in a technical writing, communications and PR role_

I hope this isn't the case, but it's hard to say.

I also imagine that it is a much easier sell for someone at SAP to say "we should hire Autistic developers" \-- even though SAP would have to spend extra to train the people interacting with Autistic developers, that amount is dwarfed by the profitability of software developers in general. (The financially-relevant but non-tangible goodwill of hiring Autistics is just icing on the cake.) On the other hand, I feel like it'd be harder to convince higher-ups that hiring Autistics in other roles is at all worthwhile if they can't get through a neurotypical (unaccommodating) hiring process.

<comment><USER6> >As I continue to read it, I start to wonder whether the author is just upset because they heard about SAP hiring Autistics and was disappointed that his/her skill set wasn't a good match for the role.

When OP said "I would be a disaster in the coding and software testing departments, but would be more successful in a technical writing, communications and PR role", I interpreted it as a concern about autistic people being typecast as techies. People are really excited to help autistic people join the work force, but most of the efforts I see are directed at technical jobs.

To be fair, quite a few autistic people are well-suited for technical roles. I myself happen to fit the stereotype.

<comment><USER5> It turns out that I can answer my question about the criticism of Autism Speaks by reading the author's own blog posts[0].

Judging from the author's bios[1][2], it appears that the author is an Autistic that writes. Given this context, I'm more inclined to interpret these words literally (i.e. as in, "it's unfair that SAP is willing to accommodate coding/testing Autistics but not me") than as a general example supporting "a concern about autistic people being typecast as techies".

If you're looking at Autistics on a site called _Hacker News_ , I suspect you're going to find more technical people than not. That doesn't mean you can generalize that to the general population of Autistics.

[0] [http://apoststructuralautistic.wordpress.com/2014/06/19/my-a...](http://apoststructuralautistic.wordpress.com/2014/06/19/my- autism-does-in-part-define-me-and-thats-how-i-like-it/) [1] [http://modelviewculture.com/authors/erika-lynn- abigail](http://modelviewculture.com/authors/erika-lynn-abigail) [2] [http://apoststructuralautistic.wordpress.com/about/](http://apoststructuralautistic.wordpress.com/about/)

<comment><USER6> >Judging from the author's bios[1][2], it appears that the author is an Autistic that writes. Given this context, I'm more inclined to interpret these words literally (i.e. as in, "it's unfair that SAP is willing to accommodate coding/testing Autistics but not me") than as a general example supporting "a concern about autistic people being typecast as techies".

I am autistic. While either of us could be wrong, I think its pretty safe to say I have a better idea of what it means to be autistic than a person that isn't. You are basically saying that your interpretation of what he meant is based on the ridiculous assumption that we are incapable of making statements that aren't intended to be taken completely literally. If being autistic hadn't rendered me nearly immune to being offended, I'd probably be pretty upset about someone making such an ignorant statement.

>If you're looking at Autistics on a site called Hacker News, I suspect you're going to find more technical people than not. That doesn't mean you can generalize that to the general population of Autistics.

As a person with Asperger's that has two nephews with severe forms of autism, I assure you that my experience reading about autism is not limited to Hacker News.

So basically, if I mention the simple fact that there is a stereotype about autistic people, I am attempting to generalize the population. However, at the same time its OK for you to make bigoted assumptions about a complaint that a person made without actually weighing it on its own merits.

I can see how many reasonable people might end up disagreeing with the OP's claims. Unfortunately, you appear to be simply writing it off because he's autistic.

<comment><USER5> For the record, I am also a person with autism.

I am "writing it off" because the author writes in a way that suggests that their experiences represent all people with autism, but I feel that they do not represent me.

I am not saying that the author's opinion is not valid. I think that it's a perfectly reasonable position. What I'm upset about is the tone the author chose to use to convey their point.

(Edit: I find it ironic that I'm writing this, because the author has written articles saying they're upset with Autism Speaks because the tone in Autism Speaks' materials don't agree with the author's experiences.)

</comment></comment></comment></comment></comment><comment><USER7> In the ideal world there'd be no companies explicitly seeking or denying the autistic, just jobs available and anyone applying and then viewed as more than autistic or not autistic.

Secondly, but perhaps more important, I see companies that solely hire the autistic more as taking advantage than as providing assistance.

<comment><USER3> Do you understand that autistic not mean "Like Sheldon Cooper?". Autism is use too broadly now, so spread that include mildly issues. A serious autistic persons is unemployable (or need constant supervision). Even the most sympathetic employer would have a great problem trying to employ somebody that can't communicate, can't control itself, can't take commands, can't adapt to the situation, maybe will attack with ferocity for (apparent) no reason, or try to injure itself, and so on.

<comment><USER8> It's not used 'too broadly.' Autism is a disorder on a spectrum. Some people have mild autism, some people have moderate and some people have severe autism. These are technical terms.

Also calling people 'autistic' and later calling people with autism 'it' as in 'try to injure itself' is a really shitty way to talk about human beings. Check yourself.

<comment><USER9> Did you read the article? The author uses "autistic" to refer to people with autism (and additionally rejects the term "people with autism")

<comment><USER3> That is a weird distinction, probably is a cultural thing? How can be better to say one of the other?. I have more than 30 years with my twin brother. My aunt is a professional trainer for people with disabilitues (a sport, gold- winner kind of trainer), I have learn a bit of sign language and so on. But I never heard that kind of argument (ie: here in colombia none of both will sound more or less respectfull, are equivalent)

<comment><USER10> There is some contention [weasel words] about what is the better way to refer to people with disabilities/diabled persons. Here are two perspectives:

People-first: [http://www.asha.org/publications/journals/submissions/person...](http://www.asha.org/publications/journals/submissions/person_first.htm) and [https://en.wikipedia.org/wiki/People- first_language](https://en.wikipedia.org/wiki/People-first_language)

Identity-first: [http://www.xojane.com/issues/i-am-not-a-person-with-a- disabi...](http://www.xojane.com/issues/i-am-not-a-person-with-a-disability-i- am-a-disabled-person) and [http://cheshirekit.wordpress.com/2014/01/23/the- social-model...](http://cheshirekit.wordpress.com/2014/01/23/the-social-model- of-disability-and-person-first-vs-identity-first-language-2/)

</comment></comment></comment></comment></comment></comment><comment><USER11> Before I laud SAP's efforts to hire those with autism, I'd like to hear what their compensation model is like. I understand that, based on the extent of the disability they are willing to accept, that they will incur increased managerial costs. And possibly decreased output. But I can't help but have this nagging feeling that SAP might be using them as a very cheap labor force for certain tasks that other higher-paid developers don't want to do (eg extensive bug-testing.) It might be too easy to say, "well they wouldn't be working without us, so what's wrong with minimum wage?" Perhaps I'm too cynical.

On the whole, the term "autism" has always bugged me. I know that it's always painted as a spectrum, but said spectrum is so wide as to render the definition alone almost completely meaningless. A person who can't live without constant, 24/7 supervision and is unable to communicate is in an entirely different category than a person who just has trouble maintaining eye contact in a conversation and is maybe a bit too passionate about some niche interest.

Increasingly, I've seen it being used as a pejorative against software developers (as this profession does indeed require extreme dedication), usually by the types of people who have zero ambition of their own. Most likely as self-validation that their apathy is normal, and it's _others_ who have the problem.

I think this really does a disservice to the people who are genuinely suffering from an actual disorder. And it also pushes people toward the lighter end of the spectrum to play up how autism is really just a different mindset and not a disorder at all.

In my _personal_ opinion, (I don't publish any manuals on mental disorders,) if you are living on your own, earn a decent salary, have friends, and otherwise appear completely normal to others in person; then I don't care if you have a bit of trouble with social cues: you're not autistic. And it's insulting if you or others refer to yourself as such. Even worse is when I see them being used as excuses. I had some issues with social graces as a teenager, so I practiced and do pretty well now. It's disgusting for someone to play off issues that they could easily address with some effort on their part. Even if it's legitimately a problem, a disorder is not an excuse to give up on trying, and just expect everyone else to tolerate you. Yes, it sucks that you have to try harder than others. Welcome to life, it's not fair.

I see this same situation with regards to the obsessive-compulsive label. People who simply have a perfectly sane desire to want an organized work desk, or to wash their hands before eating, or to double-check that they locked their door often identify or are identified as having OCD. That's a joke compared to the people who live in a constant state of intense anxiety, who can get stuck for hours turning a light switch on and off hundreds of times until it "feels right", or who end up driving around the neighborhood dozens of times, terrified that they ran someone over and need to go and make sure they didn't.

Let's leave the "disorder" label for people who really are disabled in a significant, life-impairing way.

<comment><USER12> > A person who can't live without constant, 24/7 supervision and is unable to > communicate is in an entirely different category than a person who just has > trouble maintaining eye contact in a conversation and is maybe a bit too > passionate about some niche interest.

I live in Silicon Valley, and I have an autistic 9 year old son. He resembles the former, not the latter.

Thank you for actually understanding the difference. I am glad someone gets it. The spectrum is largely diluted to the point of needing to be broken up into smaller spectrums. It pains me every time to explain what "low functioning" autism is, or "classic autism".

My son was told he couldn't really join a Bay Area Autistic Minecraft group because he was "too autistic" and it was really for high functioning autists or "Aspies."

Maybe I should just start saying "mentally disabled". Easier.

<comment><USER11> > Thank you for actually understanding the difference. I am glad someone gets > it.

I've seen the difference first-hand many times growing up, perhaps more so than most having attended private schools for a while. I have nothing but respect and adoration for you and others who care for the truly autistic.

More societal acceptance would be great for increasing quality of life, but what we really need is further research into treatments and prevention for the actual disorder. This downplaying of significance through "high-functioning autism" is a disservice to that aim.

> My son was told he couldn't really join a Bay Area Autistic Minecraft group > because he was "too autistic"

That is so intensely infuriating, I'm very sorry to hear that. If it's any consolation, I can tell you with unfortunate experience that kids are the cruelest of all towards those with disabilities beyond their own. Nonetheless, I do hope you can find another group that is more accepting.

> Maybe I should just start saying "mentally disabled". Easier.

And you really shouldn't have to. It makes little sense, because as a child we all seemed to know what autism meant. Yet lately it's become trendy to associate with things like Aspergers (which I would argue could almost be an advantage in today's increasingly specialized world.)

But whatever label you settle on, just don't fall into the trap of arguing semantics. Like in the linked article, "autistic" vs "person with autism". A label is only offensive when it's used to disparage. And in that sense, any label can become offensive. Political correctness distracts from the core issue.

</comment></comment></comment><comment><USER13> Not sure how this fits in with the competing "brogrammer" model of hiring where applicants must be racially, gender-ly and culturally a clone in order to get hired.

<comment><USER14> ...or the one where hiring is done to reach set diversity percentages rather than merit-based.

</comment></comment><comment><USER15> Deeply respect SAP (and others) for doing that. Hopefully this will catch up in other regions as well.

</comment><comment><USER16> It's rude to call someone "an autistic." They are people with autism.

<comment><USER17> From the article, just below the fold:

> You might have noticed several unusual things about how I discuss Autism. > I've capitalized Autism, and I have not once used the word "disorder" or > "syndrome" in tandem with it. I also say Autistic, rather than "person with > autism" -- the term Autism Speaks, an organization despised by most > Autistics and many of their parents, would prefer you to use.

<comment><USER8> Yeah, this guy doesn't speak for persons with Autism. He's trying to make an 'autistic culture' thing, acting like his disorder is just a choice, a valid social model. Unfortunately autism is not a social model, it is a disorder that ruins lives.

<comment><USER18> The author of this article seems to be a woman, not a man.

Also, it's a lot easier to just use 'they' instead of he/she most of the time anyways, food for thought.</comment></comment></comment></comment>


Without Higher Education you are in a dead end - <AUTHOR> https://www.youtube.com/watch?v=8utmmWoBSBY <comment><USER2> I get what he's saying. I believe the debt I acquired in college really messed up my life.

But there's also the fact that college is now free in Germany, and that offer is open to Americans. I actively tried to persuade a family member to at least consider Germany as an option. After all, what could be better? Free degree, travel Europe on holidays, no drinking age issues.

She didn't consider it. She's going to a college nobody has ever heard of in the US and spending $45K annually for the privilege. At least I tried :-/

<comment><USER3> Does Germany pay for room and board while studying?

<comment><USER4> free means tuition-free. so yes, students have to pay for living expenses, books, etc.

<comment><USER5> But i think it still ends up cheaper than just the tuition in the USA.

</comment></comment></comment></comment><comment><USER6> The decision to attend a private 4-year university has got to count as one of the biggest mistakes I've made in my young life. The 19 weeks I spent in coding bootcamp have been orders-of-magnitude more useful to my career than the 4 years I spent in college. Most people will never know less about life and what they want out of it than they do when they're in high-school. So in my mind it makes no sense to give someone like that the responsibility of a choice that will cost them and their families between tens and hundreds of thousands of dollars (depending on whether they choose public vs. private, in- state vs. out-of-state, etc.).

Knowing what I know now, I would have jumped at the chance to study for free in a place like Germany (as per danjoc's comment). That sounds like the perfect way to minimize the costs of what college purports to offer- a chance to broaden one's horizons and investigate possible directions one wants to take with their life.

<comment><USER7> I think the key phrase here is "young life."

When you get older, read more, travel more, experience more, you'll understand the value of a well-rounded education.

Or maybe not. Perhaps confining yourself to a one-track life and career path will prevent you from seeing, or being considered for, other opportunities in life. You'll never know.

<comment><USER6> Don't misunderstand me, I'm not demeaning the value of a well-rounded education. I agree that it's vital to a full life. My point is that colleges don't have a monopoly on well-rounded educations. For me at least, America's higher education system (and really, its high school system as well) depleted rather than fostered the kind of curiosity needed for life-long learning.

I'm using "young life" in the sense of "up to that point in my life". I'm now in my mid-30s and on my 3rd career (first in sales, then as an overseas ESL teacher, and now as a software developer). I've travelled to 20+ countries, lived in China and Europe, and had many wonderful experiences along the way. I'm grateful for the many careers I've had, which allow me to state with confidence that my current career is a great fit for me. But none of my experiences required that I attend the college I did and go into deep debt to do so. While (as you said) I'll never know for sure, my guess is that debt probably cut off just as many opportunities as it gave me.

</comment></comment></comment><comment><USER8> From the man that brought us such classics as "If Meat Eaters Acted Like Vegans - Ultra Spiritual Life" ([https://youtu.be/z0O_VYcsIk8](https://youtu.be/z0O_VYcsIk8)).

<comment><USER9> I know what I'm writing is kind of superfluous, but not all vegans are like that. There are vegans who try not to disclose the fact of them living vegan.

</comment></comment><comment><USER10> Why has this article been yanked off the HackerNews home page?</comment>


Poll: Are polls on HN just a social hack to gain karma? - <AUTHOR>

I've seen a lot of polls lately. These polls mostly come with predefined choices (as comments) that can be upvoted. Are these polls really used or are the authors just hacking their way to a high karma rank? <comment><USER2> I think the issue with polls isn't the fact they could be used to exploit the community for points, but rather the fact you can vote for more than one option in the survey which kind of subtracts away from its credibility. I don't doubt some people have the intention of getting points in mind, but I am willing to bet that most have the right intentions.

Unlike other communities such as Reddit or the old Digg, the Hacker News community is slightly more mature and make more rational decisions than those of other communities where trolling is rewarded. People on HN if suspicious won't be afraid to call someone out and well, I haven't seen it happen. So either people out there are outsmarting everyone or perhaps nobody sees the point in gaming the site for points. Bad content rarely makes it to the front page.

</comment><comment><USER3> The approved way of submitting a poll is at [http://news.ycombinator.com/newpoll](http://news.ycombinator.com/newpoll) \--- this gives us proper poll options that do not end up hidden by other comments, and do not count towards karma.

You will have noticed that some people mercilessly down vote all comments- masquerading-as-poll-options, to discourage this sort of karma whoring.

</comment><comment><USER4> Highly unlikely since the polls have to be thought of and successful. It's much easier to just add the dozen most popular, mainstream, generic tech news sites to your preferred RSS reader and then submit whatever they spew out.

</comment><comment><AUTHOR> Yes

</comment><comment><AUTHOR> No</comment>


Ask HN: What may be happen if I break license of open source project? - <AUTHOR> I want to know what could be happen if I or somebody else break rules of software license. Is they really working nowadays?<p>Thanks <comment><USER2> The ghosts of Richard Stallman, Eric S. Raymond, and Bruce Perens will come and visit you while you're sleeping, and fly you around the world, showing you all the evil that has befallen the world as a result of your infraction.

Or you could just get sued. Or publicly shamed in a very visible way.

Or maybe nothing at all. It's really hard to say.

But don't do it. If you can't accept the terms of the license, don't use the software. This isn't rocket science.

</comment><comment><USER3> SCO will happen my friend. I'm just kidding of course but therein lies a wealth of information about the many ways it _could_ come back to bite you. [https://en.wikipedia.org/wiki/SCO%E2%80%93Linux_disputes](https://en.wikipedia.org/wiki/SCO%E2%80%93Linux_disputes)

</comment><comment><USER4> Commerce and freedom are protected by lawyers.</comment>


Explain PING documentation - <AUTHOR> >ping -i 12 google.com Pinging google.com [8220.127.116.11] with 32 bytes of data: Reply from 126.96.36.199: bytes=32 time=116ms TTL=54 Reply from 22.214.171.124: bytes=32 time=116ms TTL=54 Reply from 184.108.40.206: bytes=32 time=116ms TTL=54 Reply from 18.104.22.168: bytes=32 time=116ms TTL=54
Here I set ttl time 12 but really the output says me ttl=54. Then tell me what is the necessity of the above command? And why is it included in PING documentation?
Thanks!!! <comment><USER2> What did you expect -i to do? On OSX, the documentation for it says

-i <wait> Wait <wait> seconds between sending each packet.

In terms of the TTL listed in ping's output, [https://openmaniak.com/ping.php#ping- ttl](https://openmaniak.com/ping.php#ping-ttl) gives an explanation of what it represents.</comment>


Why I Stopped Angel Investing (And You Should Never Start) - <AUTHOR> http://observer.com/2015/08/why-i-stopped-angel-investing-and-you-should-never-start/

<comment><USER2> Having lived through my share of bubbles, it always surprises me that people think they can predict the future. The phrase I hear is, "That could NEVER happen again." And then it does. I agree with thelynchmob1's comment, too. Many younger people are seeing startups as an antidote to corporate life, but they don't have the experience that working for a larger company can give you first.

<comment><USER3> Not even working for a larger company, but working for any company -- including and especially other startups -- would give people invaluable experience that they could then go and use later down the line.

<comment><USER2> Absolutely.

</comment></comment></comment><comment><USER3> Really good piece. Although it still seems like a bubble to me, but I understand his point about an anti-bubble of talent. There seems to be a "me too" aspect to this, where it's not just that doing a startup has become cool, but other routes for young people -- more studying, or getting a job -- are actively becoming uncool and unattractive, and carry a certain stigma.

</comment><comment><USER4> Really eye opening, but I'm a bit annoyed that I'm going to have to re-think some of my goals now. ;)</comment>


Our hurricane-tracking startup - <AUTHOR> http://www.stormpulse.com <comment><USER2> The surfer crowd could be a good market here. You could probably find some traffic by posting in their forums. California looks to hurricane development off Mexico all the time for swell, but I see you are only covering the atlanitc here...

<comment><AUTHOR> Great idea! Have you seen www.surfline.com? Maybe we could advertise there once we get the Pacific going (which wouldn't be a colossal amount of work with the systems we have in place...).

<comment><USER2> Advertise? You should partner with them. Their hurricane service is terrible.

<comment><AUTHOR> Going to check it out. Thanks for the idea. We've been thinking about "Stormpulse as an embedded service" for a while . . .

</comment></comment></comment></comment><comment><AUTHOR> Been working on this for a while, and it's time to start telling folks about it. I'm curious to know what you all think of anything and everything you're willing to comment on.

<comment><USER3> Very pretty. I'm not sure who your audience is, but assuming its goal is to reach the widest audience possible, here are my comments:

1) When looking at a storm, only information about that storm should be displayed. When I looked at TS Barry, the bottom half of the site showed a ton of images. I thought these images were of Barry, but they were of current weather. Ultimately I found the site very cluttered.

2) If the target is a wide audience, it would be nice to have little snippets of text that give a simple interpretation of what you're seeing in images. Like, this is an IR channel sensitive to water vapor.

3) RGB images need some explanation of what the RGB channels are. The color contrast is terrible. I suggest an arcsinh stretch which is linear at small values and logarithmic at high values. I can give you more details if you like.

4) There's a yellow line that goes across the RGB images. Is this the sunrise?

5) The main image window is awesome. Is it really necessary to display all that other information in the bottom half? Before I said the site is cluttered. Actually, it's just that part below the main map.

6) On the topic of clutter, what's the point of all the buoy data? I personally can not grok it. Better to put it on the map somehow.

7) I love your use of sparklines in the windspeed. It would be cool if you added a scale. Is it possible to put a red dot on the sparkline to show exactly where you are? I like the color hue change, but a red dot, I feel, would be better.

8) This is a cool site. If I hear about another hurricane, I'll definitely use this site. Clearly this is a labor of love from people who love storms :)

<comment><AUTHOR> 1\. Point taken. 'Is this data in scope?' is something we need to take seriously.

2\. Glad you said this. I would like to do the same. It would be nice if it didn't take a lot of work to explain. Maybe footnotes would do for now instead of a big 'Help' section.

3\. Also glad you said this, since I myself am not sure what the RGB channels are. It's funny that you are criticizing the quality, not because I disagree, but since I had nothing to do with the satellite images (they are government- produced). I'd like to hear more about 'arcsinh stretching'.

4\. That is the sunrise.

5\. I definitely want to get as much as possible on the map. However, I do like having the larger canvas of the HTML page for data that just can't fit. I appreciate your feedback on this since I want to stay motivated to strive for more density in the map window.

6\. Yeah, you're right. Should either kill the buoy table or find a better way of organizing the data. Coincidentally, that data _is_ on the map. If you see a blue or red square on the map you can click them. Those are buoys. We could use a legend.

7\. Definitely possible, it's already in the code. I think the dot already exists, it's just always the latest color hue--i.e. the shade of white to red that corresponds to the current speed, rather than red all the time, since red represents a Category 5 storm.

8\. Thanks a lot.

</comment></comment></comment><comment><USER4> Great work. Keep it up. Someone should buy these guys quickly. I see you guys are using S3. There's no doubt that you have a ton of info. The trick is not to overwhelm the user with that info but at the same time have it easy for them to access it and interpret it if they wanted.

<comment><AUTHOR> Thanks for the encouragement.

S3, yes. We're happy so far.

Feel free to point out any trouble spots with information density vs. legibility.

</comment></comment><comment><USER5> I had previously ignored this links on News.YC since hurricanes aren't a passion of mine, but glad I checked it out today. Very well done! Excellent job on the site and the interface. I found myself engrossed and playing with the data for much longer than I anticipated. Keep up the good work!

<comment><AUTHOR> Thanks, Matt! I was somewhat hesitant to put this up on the news, but since it is our startup and I've been following YC for a while now, I thought some folks might like to see it.

Really happy to hear that you were pulled in even though you're not a storm-o- phile.

We definitely seem to teeter somewhere between 'great interface' and 'whoa, I'm overwhelmed, there's too much data!' Density is what we are striving for, but legibility is paramount.

</comment></comment><comment><USER6> So cool! I've been playing on the site and I'm impressed. Who's your ideal customer? How do you plan on making money?

<comment><AUTHOR> Thanks, Ty!

Ideally, anyone interested in this sort of information. That said, there's obviously an advanced tilt to the site right now to support our marketing strategy of going after the most avid enthusiasts first, and the general public second.

We are planning to provide some (hopefully) very useful localization features. Ads and sponsorships would be okay as well. We have sunk in personal investment, but we don't owe any outside financiers; read: we don't feel pressured to make huge sums, nor must we to make anyone happy.

</comment></comment><comment><USER7> Wow.. this site must have required many long nights and lots of coffee to put together.

</comment><comment><USER8> Make it work on the cell phone.

<comment><AUTHOR> By which I assume you mean: 'Make _all_ of it work on the cell phone.' because at least part of it already does.

FlashLite is the answer to getting the Flash component to work on something other than the iPhone :), and I haven't had the time to figure out how to make our ActionScript 2.0 / Flash Player 8 code compatible.

I'm pretty convinced that doing so would be profitable, of course. Problem is, I feel that way about more features/enhancements than we have the time for right now.

</comment></comment><comment><USER9> As a storm chaser, This sounds like a great way to track incoming storms!

</comment><comment><USER10> Well, I'm sure this is useful in some manner. However, I've never even seen a hurricane, and a hurricane has never affected my life. So I'll leave the commentary for those people whose cat has been raped by a hurricane...

<comment><USER11> Then why even bother commenting on this thread? Great site btw although I had a bit of trouble navigating the site. Help docs should alleviate that...also it would be nice if the UI was cleaned up a bit for new users. I had no trouble using the map and checking out the world. But the rest of the site leaves me confused with so much information all over the place.

</comment></comment><comment><USER12> Great mashup guys! I like the cloud toggle switch.</comment>


Changing My Mind On Microsoft - <AUTHOR> http://brontecapital.blogspot.com/2012/07/changing-my-mind-on-microsoft.html

<comment><USER2> > My personal gripe was how poorly Microsoft thought about and handled > security issues. My Linux computer is _as far as I know virus free_.

He is comparing Windows 95 to Ubuntu 11.04 (if you follow the link in that sentence)!

> They [devs] did not bother developing for other platforms because those > platforms were economically irrelevant and the Microsoft developer tools > worked.

Then he doesn't even make the connection to virus writers targeting Windows between 199x-200x.

> Windows security issues are everywhere and it did not need to be so.

Sorry, but that's mostly due to the desktop market size and Windows' share of it.

Everything after Windows XP had security at its core.

Blame the users who are clueless, that are emailing viruses to all their contacts, download Trojans and warez with backdoors, etc.

And again, he is comparing decades old MS OSs to latest versions of Linux and OS X.

> Nowadays nobody under thirty writes anything on Microsoft developer tools > unless they are demented or brain-dead.

Completely false statement.

<comment><USER3> > > Windows security issues are everywhere and it did not need to be so. > > Sorry, but that's mostly due to the desktop market size and Windows' share > of it.

No, it's not. It's mostly due to Microsoft ignoring security for years because it wasn't important to them. They didn't have to have everyone running as root by default in all versions of Windows before Vista (AFAIK in XP Home you can't actually set up restricted users). They didn't have to have lots of open ports offering things like RPC to the world. They didn't have to have all files executable by default, based solely off the hidden part of the filename in AnnaKournikova.jpg.exe.

There are now supposed to be 300M Android devices worldwide, which is within an order of magnitude of Windows' numbers 10 years ago, and you don't see Android phones being compromised remotely within fifteen minutes of being connected to a network. There's no equivalent of Blaster or Sasser or anything close to that level.

It's partly due to Windows' market share that it got targeted so heavily, but those opportunities wouldn't have been there if they hadn't ignored security for so long.

<comment><USER2> I think you've missed the point on multiple fronts...

> and you don't see Android phones being compromised remotely within fifteen > minutes of being connected to a network.

Again, why do you (and others) keep comparing today's Linux/Android/OS X OS with a 10-15 year old Windows OS.

Windows security has been at its core since after XP, and by all knowledgeable accounts is just as good as Linux's ... as long as you know how to use it / deal with it. Today 95% of the problem is clueless Windows admins, and bad user decisions.

As far as my own experience goes, I've ran Windows 3.1, 95, 98, 2000, XP, Vista, and all the rest never having been compromised. So it is possible at least.

What you're doing is the same when people complain about IE 6 vs. the latest version of Chrome...

IE6 came out in 2001, and at that time was the most standards-compliant and feature full of all the browsers on the market (well, except for IE 5.5 for MacOS).

> They didn't have to have everyone running as root by default in all versions > of Windows before Vista (AFAIK in XP Home you can't actually set up > restricted users). They didn't have to have lots of open ports offering > things like RPC to the world. They didn't have to have all files executable > by default, based solely off the hidden part of the filename in > AnnaKournikova.jpg.exe.

Of course they had to do all that. The Windows users back then were generally not very savvy and anything that got in their way was a disaster waiting to happen. Also it was a different time. Even today most Windows home users don't even understand the file-system with it's drives, devices, directories, subs, and files. And you wanted them to understand user security and how it plays with applications that they ran? No.

> but those opportunities wouldn't have been there if they hadn't ignored > security for so long.

I guess they should have gotten a time machine to the future to pull all that work and knowledge back to the past. Windows XP should have been based off Windows 7.

My point is that what is possible today, was not possible 10, 15, or 20 years ago both from a tech and user point of view... Just because someone can do OS security good today, dosn't mean you can blame someone else for not doing it good decades ago.

<comment><USER3> > Again, why do you (and others) keep comparing today's Linux/Android/OS X OS > with a 10-15 year old Windows OS.

You argued that Windows was targeted solely because of its high market share. I'm drawing a comparison to another platform with high market share; there simply wasn't anything comparable ten years ago. And it is not obvious to me that it's not a valid comparison; Microsoft were a huge company who had been developing Windows for fifteen years at that point. Android is a lot younger, so you could just as well expect it to be less mature and therefore less secure.

And yes, I know it is possible to run it without being compromised. You obviously knew what you were doing; millions, even tens of millions of others didn't know and wound up with their computers zombified into botnets. That wasn't all because of their ignorance; there were times when a newly installed XP machine would be compromised less than fifteen minutes after being connected to the internet, which wasn't enough time to install the patches it needed. That can't be considered that user's fault, especially when they've just sat through half an hour of being told how they're installing The Most Secure Version Of Windows Yet!

> Of course they had to do all that. The Windows users back then were > generally not very savvy...

Now you are missing my point. Microsoft didn't _have_ to do anything. They could have built an operating system that was harder to use but more secure. I contend that it's even conceivable that they could have built an operating system that was roughly the same for ease of use, but still more secure; maybe they'd have been slower to market or had to compromise elsewhere. The point is that security was not a priority for them for years, they obviously just weren't that concerned. That may ultimately have been the right path for them, because they arguably didn't pay a high price really, but I don't personally consider it the technically best course.

> My point is that what is possible today, was not possible 10, 15, or 20 > years ago both from a tech and user point of view... Just because someone > can do OS security good today, dosn't mean you can blame someone else for > not doing it good decades ago.

I think this is where we fundamentally disagree. I don't see why you think security is only something that can be achieved now and why it couldn't be ten or fifteen years ago. In the Unix world, people have known not to run as root for decades; Microsoft chose to ignore that for a long time and ultimately have been forced to shoehorn it back in for Vista. They could have done that in XP, if not long before; it certainly had the capability for it, they simply cut that out of XP Home and chose bad defaults for XP Pro.

<comment><USER2> > And it is not obvious to me that it's not a valid comparison; ... Android is > a lot younger, so you could just as well expect it to be less mature and > therefore less secure.

There is a reason why PC games are so much more advanced in their design, graphics, and game-play today than they were 10-20 years ago.

By your logic, there is little reason why Crysis 3 should not have been developed 15 years ago. If they can do it now, and the product/market fit for it is good now, why not 15 years ago!

That's just not how it works.

> In the Unix world...

Different world, different people, different needs/wants.

Microsoft didn't ignore anything; they have maintained a billion users for more than a decade. And profited more than most companies with an increase in sales every single year. They did something right, more than they did something wrong.

Easy-of-use was a priority for them over security until after XP because...

1\. It would have impacted their users negatively (do you remember the response due to the new security in Vista?... people couldn't handle a pop-up, couldn't understand privileges, etc).

2\. There previous OSs started from a single-user standpoint and it's difficult to change that (and maintain backwards compatibility, 3rd party drivers and software, support, etc).

You make things seem so easy. That's not how it works.

<comment><USER3> No, that is a totally different thing, and a fairly ridiculous comparison. You clearly can't have Crysis 3 15 years ago because the computers weren't powerful enough. Please don't apply a bad metaphor and tell me that's my reasoning, because it clearly wasn't.

Security does not require computing power, it needs careful code. By _your_ logic, OpenBSD would have been an insecure mess 15 years ago, and nobody's web server would be getting hacked today. _That_ is not how it works.

<comment><USER2> I've pointed out how ridiculous it's to blame Windows 95 for not being what today OSes are.

Since that wasn't good enough, I then pointed out how ridiculous it would be to compare IE6 (circa 2001) with the latest version of Chrome (2012).

But that wasn't good enough either.

So in the most general of ways I gave you one even better, which BTW had a small part to do with PC performance and more to do with everything else.

> OpenBSD would have been an insecure mess 15 years ago, and nobody's web > server would be getting hacked today.

Have no idea what logic you're talking about.

I think we'll just have to disagree.

</comment></comment></comment></comment></comment></comment></comment><comment><USER4> > _Nowadays nobody under thirty writes anything on Microsoft developer tools > unless they are demented or brain-dead._

I'm 29 now, switched to mostly doing C# two years ago, and I _love_ it. Its mix of pragmatism, familiarity and modern constructs is unparalleled, and no other truly modern language has this good IDE support.

The only thing I don't love about it is the vendor lock-in, but in reality this is a smaller problem for many applications than it seems.

<comment><USER5> Yeah, the author is apparently unaware that C# is one of the few truly multi- platform languages, which runs on Android, iPhone, OS X, Linux, windows of course, and whatever other platform the mono people have since added.

I don't even get the complaint about vendor lock-in. What does using C# lock you into (especially compared to the use of other languages)? Sure, it's possible to use C# in such a way that you're stuck with microsoft tech, but it's not mandated that this is the case.

<comment><USER4> Good point.

The lock-in is mostly such that if you code in C# on Windows first, getting it to run on Mono later may be difficult, if you didn't pay close attention to what you were doing from the start. In this sense, it's rather different than e.g. Java.

But not too different from all that POSIX-specific Ruby and Python code out there, admittedly.

<comment> X-Cubed Yeah, but that statement applies to pretty much any language really, not just C#.

If you code your Java app to expect to find documents in /home/<user>/ or link your Java app with binary libraries that are platform-specific, then you're going to have the same trouble.

Cross-platform support is rarely (if ever) a matter of just compiling into a new binary.

</comment></comment></comment></comment><comment><USER6> I read Bronte Capital all the time. He is a hedge fund manager in Australia, and it very good at sniffing out fraudulent stocks or short-worthy stocks and shorting them.

I'm not too confident in his ability to assess technology though, and I think he may be a bit premature on this MSFT call.

I do believe that Windows 8 is a mistake made out of desperation. Given that the change in interface will confuse a lot of people, I think enterprise will be wary of making the switch because of all the massive retraining it will require. Any type of little change in enterprise environments will always require retraining, so I think enterprise adoption will be very slow to adopt. Maybe MSFT will wake up and change the interface back and have some sort of switch to change back-and-forth before it ships a final version though.

<comment><USER7> * __Prediction: __this will wind up with a lower corporate take up rate than Vista (ie next to none).*

* __Prediction 2: __this will accelerate, rather than slow down, the rate at which enterprises take their enterprise specific software into platform independent programs*

* __Prediction 3: __by stuffing this up Microsoft has just about lost its bet on moving the retail computer market into docking cloud computers. Apple will do this. And they will do it by stealth.*

Unfortunately, Microsoft seems to have survived Vista experience without too much injury. And having had some experience with enterprise platform movements, accelerating a "glacial" speed is still pretty slow. And finally, I still have doubts about Apple's capability and interest in the general "retail computer market". (Although I could be wrong about that.)

</comment></comment><comment><USER8> Whether one agrees or not with the facts and reasoning of the author (a successful hedge-fund manager with a widely followed blog), this blog post is important in and of itself because of what it represents: a tectonic shift in the business community's perception of Microsoft.

The _business_ community is now openly doubting the future relevance of the Windows platform!

<comment><USER9> No, this is historically very typical for Microsoft.

Windows ME sucked. Windows XP was great. Windows Vista sucked. Windows 7 was great.

At least that was the perception. Reality is more nuanced, of course.

And business is very conservative, they never upgrade immediately.

For business, the alternative to Windows 8 is Windows 7 or Windows XP. It isn't OS X or Linux or Android. Microsoft does better if they switch to 8, but they don't lose if they don't.

<comment><USER10> There were no serious threats to their dominance before; now they have iOS, Android and even OS-X is starting to gain more marketshare than I'd be comfortable with if I were ballmer.

<comment><USER11> I really don't see the point that many HN users keep comparing apples with oranges. iOS and Android have no relevance in this discussion as they are not real OS'es. You cannot develop on them, you cannot do work on them except for replying emails and browsing some webpages. And that's how it will remain.

OSX is great, but please post the link from Apple store where you can get a decent working laptop for under $500. Good luck with that.

From a developer's perspective, I think we should keep a more clearheaded approach to this entire debate and not turn HN into a fanboy forum.

<comment><USER12> You can't develop on them?

Try this: <https://play.google.com/store/apps/details?id=com.aide.ui>

with a Transformer or another Android tablet with a Bluetooth (or in some cases USB) keyboard.

<comment><USER11> If you are going to be carrying around an external keyboard / dock to make your tablet behave like a laptop why not go for the real thing?

</comment></comment></comment></comment></comment></comment><comment><USER13> > Nowadays nobody under thirty writes anything on Microsoft developer tools > unless they are demented or brain-dead.

Hmmm.... i am 29, i write C# and .NET for a living... there are a few lads in the office that are .NET Dev, under 30... I must be in a black hole then...

<comment><USER14> or brain-dead

<comment><USER15> How does one know?

</comment></comment></comment><comment><USER16> His attack on using developer tools was harsh, but I'm over 30 so it didn't apply :)

But seriously, I'm afraid he is close to the truth. As a career Windows programmer, I have great fear for the future after having tried the 2012 preview -- I've never felt so lost on a computer in my life. For my own selfish sake, I keep praying they'll make some changes before final release.

<comment><USER17> move to greener pastures. Install Linux in a VM and start to program some hobby project on it.

<comment><USER16> In my case, I sell my own software. So having a market that will buy my software is first priority. Providing support all day is not how I prefer to make a living. (that's fearful me talking)

I'd love to know the percentages of independent Windows devs that make a living selling software vs percentage of Linux devs that can make a living selling software. Sure, big companies will employ both, but how does it work out for the small guys?

Edit: I will admit Linux and its ecosystem are looking more and more attractive all the time...

<comment><USER17> You don't have to go full time into it. Just putting some hours in the week to toy with it. Doesn't have to be Linux - can be Mac[1] and Objective-C as well, just diversify yourself for learning & (maybe, future) profit.

</comment></comment></comment></comment><comment><USER18> The "nobody under 30 writes MS" statement is obviously false at it's core but perhaps it means something slightly different?

I imagine most of the under-30 devs working on MS software are being hired by established companies to work on enterprise type software or for consultancies building websites using ASP.net etc.

What about people under 30 who are starting their own businesses from scratch? For example startups, they tend to be using stuff like Ruby/Python/JS etc.

So the question is , what happens when the old guard start to retire? How many will stick with MS because that is what they have used to that point , or will there be interest in switching to newer tools to build newer systems?

<comment><USER19> _What about people under 30 who are starting their own businesses from scratch? For example startups, they tend to be using stuff like Ruby/Python/JS etc._

As someone who was under 30 during Microsoft's heyday (90s) I can say that most developers under 30 then also didn't use MS tools. Borland tools ruled the roost until VC6 and VB6 (around '98). And most young developers out of school back then knew Unix, not Windows.

My point is that it's a myth that there existed some time when all young developers used MS tools. In fact I'd argue that in terms of mindshare MS devtools are near their all-time high in popularity now -- it's that the Windows OS isn't as popular as it once was among the under-30 crowd.

</comment></comment><comment><USER20> Essentially ...

"Nowadays nobody under thirty writes anything on Microsoft developer tools unless they are demented or brain-dead. Firstly the kids out of the colleges know the platform agnostic stuff well. Secondly when half the computers leaving factories either run iOS or Android (that is are smart-phones) nobody sensible will write in a way that does not allow easy porting to these platforms."

<comment><USER21> Under-thirty checking in as a user of Microsoft developer tools. There is still little out there that can beat C# all-around. There still is no alternative for Visual Basic.NET. XNA is still a quite popular game development framework.

Kids out of college know what their college specialized in. This is either Java or Visual Studio, and chances are when they graduate they'll get jobs at a company making corporate desktop software on Windows. The best way to discourage an aspiring programmer is to tell him/her "yeah it works, but it's not _cool_."

<comment><USER22> He's over-generalizing with that statement, but I would definitely agree that most start-ups are using RoR or LAMP, and not anything from Microsoft.

<comment><USER23> Most software isn't written at start-ups, of course.

</comment></comment></comment></comment><comment><USER24> > Nowadays nobody under thirty writes anything on Microsoft developer tools > unless they are demented or brain-dead.

I see most people saying he is wrong here, though I can't think why.

Are there people who thing A. writing software for windows? B. are targeting the windows phone? C. deploying to a cloud (private or public) using Windows servers?

If you are targeting a phone, it is most def either iOS or Android, probably both. If MS, a distant third (and at that point you'll probably be using PhoneGap, Titanium or HTML5).

The number of people actively developing new desktop apps for Windows has to be tiny. Maybe even smaller than tiny.

And if you are deploying to anything other than Ubuntu, you're crazy (and potentially fiscally irresponsible...BizSpark not withstanding).

I get that some people might be using the dev tools, though I would wager (no numbers on this, just gut) that the number of MS Web Devs is far, far fewer than the same open source web devs (PHP, Ruby, Python, NodeJS, Clojure etc).

So, I don't get why people say he is off base.

Frankly, the only people I can see still using MS stuff are the big corporates. IMO, MS is riding the long tail into obscurity. Though, with their financials, it would still be a long, long tail.

<comment><USER25> (Anecdotal counterpoint) For the vast majority of the students at my university, visual studio is the reach-to solution for any problem. They would much rather figure out how to write ASP.NET because visual studio is "awesome" than go around running node.js (what's that?) from a command line.

<comment><USER26> Anecdotal counterpoint to your counterpoint - I saw the same thing 10 years ago when I was in school (Comp-Sci students gobbling up Visual Studio). It seems the more things change the more they stay the same...

Despite this:

-Qualified .NET developers continue to be difficult to find. Also, they make slightly less money than their Java counter-parts for reasons I don't fully understand.

-The 00's are regarded as Microsoft's "lost decade"

-Microsoft's tools gained little traction among startups... although MS-based ones do exist. The most notable being StackExcahnge however that was created by industry veterans not out-of-college whippersnappers.

Don't count on computer science students to create Microsoft's future. Many will drop the major for something easier.

</comment></comment></comment><comment><USER27> I made the decision to jump ship from Microsoft developer products about five years ago. I could already see the writing on the wall. I swapped the remaining proprietary tools I was using on Windows XP over to open source alternatives and jumped from VB6 and .NET over to Python. Then, when it was time to replace my PC, I installed Ubuntu 8.10 instead of Vista. Never looked back.

</comment><comment><USER28> > Nowadays nobody under thirty writes anything on Microsoft developer tools > unless they are demented or brain-dead

The gamedev community is very MS centered. There are a few people doing handheld stuff, or homebrew console hacking, but the majority use Windows and Direct X. A lot of people use C#, or even develop for the Xbox 360.

</comment><comment><USER29> Say what you want about Microsoft, and acknowledging the past decade has been a real disappointment, I wouldn't count them out just yet...

If I compare Microsoft's handling of the OEM PC industry of the 1990s to Google's handling of the Android ecosystem, the latter is utterly laughable in comparison _cough_ Nexus 7 Screen issues _cough_. That alone is reason enough for me to think they could return. They just need the right leadership. And if you think such a transition is impossible, compare the Apple of today to the Apple before Steve Jobs returned...

</comment><comment><USER30> _> In the late 1990s Windows developed huge market power. Whilst not strictly a monopoly the company had plenty of monopoly characteristics. Sure you could buy a Macintosh - but that market was so small that people did not develop software for Macs and hence Macs were for people who did not need a wide range of software._

So is this, in addition to careful attention to typography, the explanation for why Macs were big with designers? (Many designers do the vast majority of their work in a handful of programs, and one in particular.)

</comment><comment><USER31> Platform agnostic tools have hardly done anything on the desktop or mobile. If you're writing a mac app without Cocoa or a Windows app without .NET (or other various Microsoft technologies) you're going to have a bad time.

Python and Ruby might be first class languages on the web, but they're never going to be on the desktop/mobile. (Yes I know about things like RubyMotion)

No devs under 30 work on Microsoft stuff? Even if you take that to mean "No dev under 30 _wants_ to work on Microsoft stuff", that is ridiculous.

</comment><comment><USER32> To my mind, Microsoft ought to be putting all of their corporate weight behind Mono. CLR, F#, C# are all technically superior to JVM, Scala and Java IMHO and many others. But what holds alot of people back from .Net in the enterprise is that they want Linux in the server room, not Windows. If Microsoft really put their weight behind Mono then I think lots of enterprise customers would ditch Java in favour of .Net

</comment><comment><USER33> How can I say this gently.. Windows 8 looks like ass. I don't know a single person running it today. Things do not look good for Microsoft in this release cycle. I don't think the following one will be any better.

</comment><comment><USER34> _All internal computer now run as virtual machines (not desktops) running on two mondo-powerful Linux servers. The virtualization platform is Citrix. Nobody has a functional box under their desk any more._... _The company has got rid of the desktop computers entirely (sorry Dell and HP)_

What? How are they accessing these virtual machines? Mind meld? In most cases where companies use VDIs the desktop machines are the standard old Dells and HPs because they actually cost less than "dumb terminals" (aka thin-clients). And that's accepting the questionable notion that VDIs are the future.

 _Nowadays nobody under thirty writes anything on Microsoft developer tools unless they are demented or brain-dead_

We have been on a hiring binge lately and it is very difficult to find candidates who know anything _but_ Microsoft tools. Sure they might know github, but there is a very substantial part of the workforce that stills crawls into Microsoft's bosom.

In general this blog post is completely detached from reality. There is the "startup" culture, of course, where everyone runs an iMac and develops iOS and Ruby/MongoDB apps for their EC2 cluster, and then there's the many magnitudes bigger general computing world that holds zero similarities.

<comment><USER35> _... it is very difficult to find candidates who know anything but Microsoft tools._

This may depend on a variety of things, such as the job location and desired skill level, but this _blanket statement_ is false. For example, it seems that a significant number of Hacker News participants - who are developers - develop in other languages and platforms.

 _... completely detached from reality._

My personal opinion is that developers who don't learn other languages, platforms, and tools are completely detached from reality. There will always be (perhaps seemingly a majority of) people where being a developer is just a "job" and learning new _things_ isn't necessary. But, again my personal opinion, this ultimately harms yourself.

Finding good people is _hard_. Many others have written about this, but don't be discouraged that there's _only_ Microsoft developers out there.

<comment><USER36> _There will always be (perhaps seemingly a majority of) people where being a developer is just a "job" and learning new things isn't necessary._

Absolutely. And I don't begrudge those people- I initially learnt .NET myself and then broadened my horizons, but many of my previous co-workers have families, time consuming hobbies or other such interests. There's not inherently wrong with having "just a job", if you're content with other things in your life. It seems like a specifically (oddly) US-centric view that there should be anything wrong with that.

<comment><USER35> _There's not inherently wrong with having "just a job" ..._

I agree.

In the context of this conversation, finding good people is _hard_. There was an article in The Atlantic that discusses this basic idea and more:

[http://www.theatlantic.com/business/archive/2012/07/the- big-...](http://www.theatlantic.com/business/archive/2012/07/the-big-jobs- myth-american-workers-arent-ready-for-american-jobs/260169/)

Here's a quote from the article that makes a good point:

 _... When firms were asked why they have difficulty hiring, 55% picked "lack of available applicants," but essentially the same percentage, 54%, said candidates are "looking for more pay than is offered" (many more than the 40% selecting lack of "hard" skill). This is an important reminder that the labor market is a market._

The labor market is a _market_.

</comment></comment></comment></comment><comment><USER37> I agree with most of the article, but the "The Ubuntu Unity failure" was only a temporary one.

The author says it got better, but in reality Unity already overtook Windows' UI and it will overtake Apples UI with one of its next iterations.

As a younger (though not that young) developer I have to agree that using MS developer tools is the wrong way of doing things for most new software, not all of them though, it sure has its uses. But I am strongly against proprietary software that only runs on one OS as that will only lose you business. Even the game platform Steam seems to have gotten to that point, a Linux port is on its way.

<comment><USER16> The great thing about propietary software and one OS (Windows specifically, OS X too though) is people using those operating systems expect to pay for their software. I'd love to come out with a Linux version of my software, but I'd then be competing with 10 free versions, and worse, a mindset that expects everything to be free. I gotta eat!

<comment><USER18> There is definitely a hunger in the Linux community for quality commercial applications in areas where open source has not traditionally managed to perform so well (Image/Video editing, games etc).

You would certainly have limited luck trying sell a C compiler or package manager to Linux users for sure, but there are certainly areas (including some developer tools)where there could be a market.

If you released (say) an image editor for Windows and Mac you are competing with Photoshop as well as countless other programs, whereas if you release for Linux you may have less potential users (although there are still an estimated 30 million) but you are competing with _The Gimp_.

There is a subset of Linux users who would never consider any commercial software, but this is pretty small percentage, at least that is certainly what Valve is banking on.

Mac users do expect to pay for software sure, but Windows users? Not so much since Windows seems to be the platform with the highest piracy as well as countless horrible "freeware" programs.

<comment><USER38> _If you released (say) an image editor for Windows and Mac you are competing with Photoshop as well as countless other programs, whereas if you release for Linux you may have less potential users (although there are still an estimated 30 million) but you are competing with The Gimp._

And Krita: <http://www.krita.org/>

</comment></comment></comment></comment><comment><USER39> Wait, so he's saying that he's moving from MSFT to AAPL because AAPL has better lock-in? Personally, I'm staying with MSFT because MSFT has already learned the follies of relying on lock-in and is moving on where AAPL is repeating MSFT of the 90's mistakes.</comment>


Avoiding the "Flash" of Unstyled Javascript Content - <AUTHOR> http://www.learningjquery.com/2008/10/1-way-to-avoid-the-flash-of-unstyled-content

<comment><USER2> It is incorrect that using CSS to hide it makes the site unusable. You can use a noscript tag to add the CSS that shows the div again.</comment>


Oboe.js: reacting to Ajax/Rest quicker by not waiting for it to finish - <AUTHOR> https://github.com/jimhigson/oboe.js

<comment><USER3> I was wondering when some of these types of libs might make their way into the world, I know I saw in Nicholas Zakas' book "High Performance JavaScript"[1] that he demonstrated how to read back (process) a large AJAX result in chunks, allowing you to begin working with the response before it was finished downloading. It was called "multipart XHR", and he shows a neat code example and then links to a site that has sample code[2].

The main difference between multipart XHR and Oboe, that I can see, is that MHXR requires you to format your data in a specific manner (using a magic delimiting character), though I'm curious if the base method is similar or not.

1\. [http://shop.oreilly.com/product/9780596802806.do](http://shop.oreilly.com/product/9780596802806.do)

2\. [http://techfoolery.com/mxhr/](http://techfoolery.com/mxhr/)

<comment><AUTHOR> I haven't looked at MXHR but here's roughly what Oboe does:

1 Create XHR, listen to XHR2 progress event. 2 Use Clarinet.js SAX parser, scoop up all events. 3 From SAX events, build up actual JSON and maintain path from root to actual node. 4 Match that path (+ some other stuff) against registered JSONPath specs. 5 Fire callbacks if they pass.

<comment><USER3> Interesting. After looking at the MXHR more, it appears as though it was adapted from Digg.com[1] (aka DUI.Stream[2]), and then later adapted by Facebook[3].

Yours sounds more elegant in that it can handle JSON naturally, but I wonder if the other might be better suited for binary content (not sure in which context that would make sense, if any).

Either way, I find them all fascinating, and I've starred your project :) Will keep an eye on it.

1\. [http://techfoolery.com/mxhr/mxhr.js](http://techfoolery.com/mxhr/mxhr.js)

2\. [https://github.com/digg/stream](https://github.com/digg/stream)

3\. [https://www.facebook.com/note.php?note_id=183263890703](https://www.facebook.com/note.php?note_id=183263890703)

<comment><AUTHOR> I suppose you could make a binary equivalent if you needed to. You'd need to make some kind of binary matching language, maybe like Erlang's binary matching.

Adding XML/XPATH support would be a natural extension.

</comment></comment></comment></comment><comment><USER4> Perfect..

Took me about 10 minutes to add to an existing rails app that adds hundreds of markers onto a google map via json. Live updating as you scroll around.

Previously I was trying to find the sweet spot between how many slows down the initial rendering to the viewer vs showing all the markers.

Changed about 3 lines of javascript to use Oboe and changed my rails controller to:

          per_page = 100
          1.upto(10).each do |page|
            response.stream.write ActiveModel::ArraySerializer.new( resources.paginate(page: page, per_page: per_page) , {root: 'cg'}).to_json
          end
          response.stream.close

<comment><USER5> What is the resulting speedup to the first marker?

</comment></comment><comment><USER6> At the very bottom he describes the use case. Mobile apps optimize for battery life by preferring one big long request up front rather than lots of little ones as needed. But you only need the first 10% of the data to render the first screen of your app.

<comment><USER7> You might want to render the first screen of your app without any ajax call. That's the best thing to do. There is no reason why your app cant render with datas directly.

<comment><USER8> No reason? You, sir, are lacking imagination.

Here's one: How about the fact in some cases waiting on the latency of a data lookup before rendering the page makes it feel much slower and more sluggish?

In the case mentioned above of map markers, if there's real latency involved in the lookup and you can render the page sans markers and then populate them a couple seconds later, isn't that a superior UI?

Yes, if you are building a simple, moderate or low traffic website/app, it's probably a better practice to render the page with the initial JSON needed. But a lot of the people here are working on products with millions of users -- or just tons of data -- and that changes the equation a bit.

What do you think?

<comment><USER9> I think you misunderstood your parent's comment.

While the phrasing of the final sentence was awkward, the post was arguing for exactly the same thing as you.

</comment></comment></comment></comment><comment><USER10> This looks really cool! I'm confused about the usecase, however. In your foods/nonfoods example[0], it allows you to request a some JSON with 2 keys, `foods` and `"nonFoods"`, each with an array value, and use only foods, discarding nonFoods. You request this from oboe('/myapp/things.json')

My question: why not modify the backend to accept a request like `/myapp/foods.json` and let the backend compose the json you need & send only that? It seems like fixing it "in the wrong place" to build your frontend to accommodate getting the wrong/too much data. Is this a contrived example that isn't the core usecase? This is my assumption.

Is this primarily for 3rd party APIs and legacy codebases where it's impractical to change the response type & updating to e.g. sockets is impractical? Thanks for the cool project, I apologize for my ignorance wrt whatever points I'm missing!

[0] [https://github.com/jimhigson/oboe.js#using-objects-from- the-...](https://github.com/jimhigson/oboe.js#using-objects-from-the-json- stream)

<comment><AUTHOR> I suppose the example is a little artificial. It isn't really for using some of the JSON response while ignoring the rest (well, you can use it for that but it isn't the main use).

I got the idea for this project working on data vis. Not all of the data was visible and we wanted to display the first bit of data quicker without waiting for all of it to arrive. We could have just sent the visible bit but it was good to have some data ready in the off-screen section for when the user scrolled.

Before that I worked on a service where we were aggregating 6 or 7 services into a single JSON. Some of the services were quicker than others but because the AJAX lib we were using waited for the whole response they all had to go at the speed of the slowest component.

We could have done multiple requests but it was more elegant to serve a whole page's json in one call. Also, we cached the slow services so they were only sometimes slow.

<comment><USER11> > well, you can use it for that but it isn't the main use

Actually, you could use it for that, as long as the library actually finishes downloading the file on abort. If you need contents from the file again, you just download it again and as it will already be cached, that operation should be extremely fast.

</comment></comment></comment><comment><USER12> This makes a lot of sense. Latency is the #1 enemy on mobile, but bandwidth tends to be relatively okay. That's why streaming a video to your phone feels surprisingly fast, while everyday browsing feels sluggish. The obvious conclusion is to use fewer but larger requests, which is why Oboe is so attractive.

</comment><comment><USER13> This is great for that 1 time out of 1,000,000 when you have an ajax call that would benefit from a tool like this. In the overwhelming majority usecase, this oboe.js thing is not going to be a "plug it in, automatically webscale" type of optimization. I'm not trying to rag on the authors of this project, but the wording of this submissions is going to lead noobs to mis understand the benefit. The authors should instead emphasize the usecase where an actual benefit comes out of using this library, instead of just saying "it makes your ajax faster!!"

<comment><AUTHOR> It should make most calls faster. Exceptions are for small JSON files or on networks that are fast enough there is no streaming effect (the whole file arrives very quickly)

For most sites there'll be some users where it will make it faster (mobile, slow internet) and others that it'll be about the same. If the network is unreliable it should help as well because when the connection drops you don't lose what you already downloaded.

"makers" = just me :-)

</comment></comment><comment><AUTHOR> Just merged in support for reading any stream in Node:

[https://github.com/jimhigson/oboe.js#reading-from-any- stream...](https://github.com/jimhigson/oboe.js#reading-from-any-stream- nodejs-only)

      oboe( fs.createReadStream( '/home/me/secretPlans.json' ) )
       .node('!.schemes.*', function(scheme){
          console.log('Aha! ' + scheme);
       });
       .node('!.plottings.*', function(deviousPlot){
          console.log('Hmmm! ' + deviousPlot);
       })
       .done(function(){
          console.log("*twiddles mustache*");
       });

</comment><comment><USER14> Does this require any changes server-side?

I'm using Node.js — with an Express.js router — to power an internal site. We have a few API endpoints which would benefit from this. Does anything need changing when sending the data?

<comment><AUTHOR> No changes required. It should accept any JSON resource.

Having said that, there's a much bigger improvement if you're progressively writing out the JSON rather than doing it in one big lump.

<comment><USER14> Awesome! I'll investigate how easily we can stream our JSON out.

<comment><USER15> Its probably not worth changing it if it is eg in a file already, but if the process to generate it is a slow one it might be.

<comment><AUTHOR> I agree. If you're doing something slow/asynchronous like aggregating several http resources it is worth it to write out as early as you can but keep server-side the same if you can generate the whole JSON quickly.

<comment><USER16> One issue I found with writing early is handling error condition(s).

On the server side, you may run into an error after you started writing out your reply. That may cause an incomplete reply. It may require more involved error handling between the server and client. 'Gather first write later' approach gives you a simpler error propagation between server and client.

</comment></comment></comment></comment></comment></comment><comment><USER17> Is it intentional that it accepts invalid JSON?

I ask only because most of the examples on that page would not be valid as the name part of the key:value pairs needs to be quoted.

PS: Don't upvote this, it's a minor detail and the big point about the use- case is far more important than this comment.

<comment><AUTHOR> Parsing is built on top of Clarinet (see where the name comes from?)

[https://github.com/dscape/clarinet](https://github.com/dscape/clarinet)

Unquoted JSON in docs is a mistake. I'll take a look now.

<comment><USER18> One could be forgiven for thinking it comes from SAX, which is probably where Clarinet comes from.

</comment></comment></comment><comment><USER19> Java has had good stream parsing of JSON for a while now too. Last time I had to do it, I was surprised to find GSON, the library we were already using, had support for it. XML stream parsing vs. model parsing was a much bigger change.

</comment><comment><USER20> There must be a break-even response size below which this is pointless, the server doesn't send responses byte by byte but in chunks the whole response could well be on the wire already so it would how zero impact on download footprint. The impact of TCP nagle makes this very hard to predict too so the chunk size will vary between server config and server workload at the time of the request. Anyone that has developed an HTTP parser has experienced this. I feel like this is a problem to be solved in the server using JSON path or similar.

</comment><comment><USER21> This is basically node-trumpet in the browser. Really great stuff!

[https://github.com/substack/node-trumpet](https://github.com/substack/node- trumpet)

<comment><AUTHOR> Hadn't seen that before. Interesting link, thanks.

Very similar except JSON/JSONPath instead of HTML/CSS. Oboe runs fine in Node but I want to make the code a bit more standards-y. Ie, using Node's EventEmitters instead of the little pubsub I made for the browser.

<comment><USER21> It would be really nice to have the same streaming interface (with EventEmitters) as Node, but you I can just shim that on top of Oboe I guess. It would be great to have the same patter as in Node.

Btw what are you using for the Node side, JSONStream?

[https://github.com/dominictarr/JSONStream](https://github.com/dominictarr/JSONStream)

<comment><AUTHOR> There's only a node side so far as I needed to write for some component tests. It'd work with anything that writes out valid JSON.

The client side works in Node right now as well as in the browser but it is a bit browser-y. It is on my home office Agile board to make it a bit more node-y.

</comment></comment></comment></comment><comment><USER22> Very cool, but there's one thing I don't understand.

Do you need to stream JSON objects from a server to make this work? You have to get a response from the server in some kind of streaming protocol right?

Or...

Is this just reading the part of the JSON string that it currently has?

I'm inexperienced with streaming, so this might be obvious to some.

EDIT:

Ah, I get it. I was wrong to say it was "streaming". Looks like my second suggestion was the correct one.

<comment><USER23> If you've spent too much time in jQuery you might not realize that streaming is supported by the underlying XMLHttpRequest object. The readyState property can be set to LOADING or DONE. Most applications will wait for DONE so they have a complete document to work with. A "normal" payload will be small enough that the lag between LOADING and DONE is tiny, but a big download can definitely be parsed as it loads. Imagine an HTML doc with inline JavaScript. That JavsScript is evaluated as soon as it's encountered and doesn't wait for a page load that may never happen.

</comment></comment><comment><USER24> You could serialise a state history as it happens, allowing your users to modify the futere state in real time and push to the always unfolding history stream. Could be great for games.

<comment><AUTHOR> If you don't care about old browsers you could use the same connection to keep the state updated as you used to download the original state.

I built this for more-or-less standard downloading, only quicker. But, yeah, if you set a server up to feed it you could use it for lots of creative things.

</comment></comment><comment><USER25> This is really important for perceived load time[0]. Here's an article that illustrates how this can work in practice: [http://dry.ly/full-streams- ahead](http://dry.ly/full-streams-ahead)

[0][https://sites.google.com/a/webpagetest.org/docs/using- webpag...](https://sites.google.com/a/webpagetest.org/docs/using- webpagetest/metrics/speed-index)

</comment><comment><USER26> This probably won't work if you have gzip on, right?

<comment><AUTHOR> I'll have to test to be sure you still get streaming. It depends how the browsers handle xhr2 events with regard to gzip'd http. I /think/ it'll be fine but I need to check to be sure. Eg, with gzip on you still get progressive html rendering.

<comment><USER26> From what I remember, Apache will send you a single chunk if you have it on, for example:

      <?
      echo 'Hey
';
      flush();
      ob_flush();
      sleep(20);
      echo 'Bye';
      ?>

Will send you "Hey
Bye" after 20sec instead of what you would expect (which does work with gzip off).

Besides, even if you manage to stream it, I imagine inflating partially received content is not trivial for the browser.

<comment><USER27> Gzip is a streaming format -- it's designed as a compressed format for communication streams. Browsers have no trouble with this. The Apache behavior you describe is probably related to buffering settings, which I think can be configured.

</comment></comment></comment></comment><comment><USER28> So if you're streaming in the JSON this program must have a custom JSON parser because there would be no way to assure valid JSON on an incomplete payload. Am I understanding how this works correctly?

edit: Also how is this faster, if you're parsing an incomplete response over and over again isn't each parse blocking, wouldn't this approach kill your FPS?

<comment><AUTHOR> Well, you could have a JSON which was valid at the start and invalid at the end. It'd parse the first bit ok and only throw an error when it got to the invalid bit.

Nothing gets parsed more than once. SAX parsers already parse streams, they're just not used very much because they're a pain to program with.

</comment></comment><comment><USER29> This could be big for making dynamic web maps faster. Often we request a large array of geometries to display on a map and can only display them all at once after ajax is done. If we could display each geometry as they are loaded it would be a big improvement to perceived performance. I imagine this is the case for other kinds of data vis as well. Off to test!

</comment><comment><USER30> This seems like it could be used to create a protocol similar to XMPP - <USER2> I always enjoyed from the perspective of elegance.

I might have a pet project this weekend, thanks for sharing.

<comment><AUTHOR> No worries. This is my masters dissertation btw.

<comment><USER21> What exactly is the title of your dissertation? (just curious)

<comment><AUTHOR> Liable to change but "An approach to i/o for rest clients which is neither batch nor stream; nor SAX nor DOM." I'm writing it now.

</comment></comment></comment></comment><comment><USER31> Is this sax? [http://www.saxproject.org/](http://www.saxproject.org/) Not sure I understand what it is and what role it has in oboe.js.

<comment><AUTHOR> it is built on top of a sax parser.

</comment></comment><comment><USER32> Excellent! Plopped it onto my site where I was loading a big json package and it works beautifully. Thanks so much :)

</comment><comment><USER28> Are you using a webworker to process your JSON stream?

<comment><AUTHOR> No, although that's a nice idea and something I'd like to look into.</comment></comment>