skysight-inc/HackerNews huggingface dataset:
Atari Labs in particular brainstormed a lot of things, some more on-target than others, so there are quite a few wrong predictions as well. It's interesting that it even existed, though. The idea, today, that a videogame company could host a basic-research lab like Bell Labs, MSR, etc., headed by a prominent researcher (Alan Kay was near the top of his fame at the time) seems almost absurd. Google hired Peter Norvig to head up a corporate research lab, but it's hard to imagine Ubisoft or EA doing something like that.

My favorite not-implemented Atari Labs memo, fwiw, was Brenda Laurel's suggestion that they design games for dolphins and humans to play together: http://www.kmjn.org/snippets/laurel82_dolphinvideogame.html
Google, here's how to fix Play Store for Android.
There's a whole hipster movement going on right now around the idea of omitting semicolons from JavaScript code. I believe CoffeeScript is the culprit.

Personally, I agree with Crockford -- it's dumb.
Along these lines, for Kickstarters where both individuals and companies are probably going to donate in you're going to want different rewards. Companies want recognition... their name in lights. Individuals want participation and swag. Set rewards up accordingly.
It is a bug on JSMin. Minifying should never alter code behaviour.
I would say very nearly all programmers fit the popular definition of geek just by being programmers. If someone you don't know finds out you're a programmer, they're probably going to classify you as a geek. I think our culture has moved beyond that being automatically negative, however.

If you find yourself in a peer group who still stigmatizes being a geek, just wait until you're a few years older and money becomes the primary status symbol.

"Brogrammers" often try very hard to distance themselves from "geeks" by adopting non-geek hobbies, but still tend to approach them with geek-like obsession. Someone who obsesses over cars, or sports, or beer is still a geek--just a different kind of geek.

I'm sure you've met plenty of fantasy football geeks, car geeks, and beer geeks who would emphatically reject the geek label.
I like this idea but I think it is also necessary to show "total karma received", which is equivalent to what we think of as karma today. Otherwise, people are incentivized to hoard their karma to boost their reputation.
Am I missing something? What is in this CMS that is worth $1,500/month? Or is it just they can charge that because of who they are and who they're targeting (enterprise)?

I tested out the app and found it more complicated and not much more powerful than existing free or cheap CMSes.
It's the same marketing doublespeak that Salesforce is employing by their slogan "No Software". I have no idea how they can get away with claiming salesforce.com is not software. I don't even know what that means?!

(Note, I understand that they mean to say you don't need to 'install' anything, but to twist that into claiming there is 'no software' is just goofy).
> ! is not intended to be a statement separator. ; is.

Which is why there is a line break there. He's far too stubborn to realize that JSMin is at fault for not being able to correctly parse JavaScript.
Same reason people don't use semi-colons in Python, I imagine.

Besides, I'm not willing to acknowledge any reasons for using semi-colons as significant. And without any significant reasons for it, I may as well not use them. Besides, it makes the code prettier :).
Missed the most important: no more errors from missing semi-colons.
Some video game companies still are: http://www.theverge.com/2012/4/13/2947088/valve-reveals-secr...
Because standard-compliant JavaScript implementations don't require them (ECMAScript describes a model of "semicolon insertion" that implementors are supposed to follow).
I like this. This seems like a good temporary fix before one of us finally breaks down and creates a good email protocol that takes the uses of modern email into account; as well as a webclient and server for that protocol.

Mayhaps I'll have time for that this summer.
The biggest thing you'll want is Value-Based-Fees.

I've written about them here: http://shipsolid.com/blog/why-value-based-quotes

You'll run into a lot of people that just want a website for their business/family/dog whatever - 5 pages or so. You can do that, but you'll just end up selling your time for cheap and racing to the bottom.

Don't do that. Instead, develop skills that demand a premium, and meet real business needs by creating money and value for your clients.
> raising the skill level to contribute

That's insane. Good programmers need not know stupid tiny nits about Javascript (heck, I've worked on a Javascript JIT and I don't really know Javascript). That does not mean that they are not skilled.

> aesthetic

I don't understand how "you must carefully understand how the language parses to understand this line of code" is aesthetically pleasing when compared to unambiguity.

> minimalism

Here, it is needed, at least arguably (by douglascrawford). You could argue that the "optional semicolons" rule is ugly and not minimalistic, and thus the minimalistic approach would be to not use that rule.
The price seems out of the ballpark considering Office365 include Sharepoint and Lync/PBX.

http://www.microsoft.com/en-ca/office365/all-plans.aspx

Sharepoint seems to have more features and probably more books, trainings, and materials.
Nokia Fixes Lumia 900 Data Woes Ahead Of Schedule With New Software Update
The examples he gives are exactly the situations where you should use semi-colons, as understood by those who skip them. Take a look at http://blog.izs.me/post/2353458699/an-open-letter-to-javascr...
I wonder if the "insanely stupid" comment isn't about the omission of the semicolon but about the omission of "if". Since when is a good old-fashioned if-statement out of style?
This is about trying to stop HN becoming reddit or God forbid youtube. Where there are some great comments and submissions coupled with an overwhelming sea of bullshit. This is about trying to incentivise meaningful comments and submissions.

I don't want to see HN get to the point where interesting posts and comments get lost in a whirlpool of css tricks, poor attempts at humour and thinly veiled trolling.

There doesn't seem to be a whole lot stopping that from happening at the moment except for the fragile karma system.
I hate to be the one asking for a citation but can you share some examples of "more people" who have moved from Linux back to Solaris? I agree about excellence of Dtrace and ZFS but I'm just curious about your kernel comment.
I always think of using semicolons like using parentheses when doing math in code. It makes the order of operations explicit rather than implied. For example,

1 + 2 * 3

Solves to 7, obviously. But I'll write it in code like this:

1 + (2 * 3)

Just to make it clear that I know what I mean, and I mean do the operations in _this_ order.

Similarly, using semicolons to end lines means I am saying loud and clear... this line of code ends HERE.

Obviousness is a good thing, no?
Meh, the real hipsters are just pushing comma-first.
Autotest, which is now built-in to Pharo, will automatically run unit tests relevant to the method you're editing when you save the method, so you can get pretty close. http://magaloma.blogspot.com/2010/06/autotest-for-pharo.html
Great idea. The commodification of karma.
Learning the minutiae of a language is important, sure, but I can't fathom why you'd willingly introduce unnecessary fragility or overthink into your codebase.

Ideally, your goal as a hacker is to make cool shit. Your goal is not syntax.
Nice Try ;)
the officer was so aggravated he forgot to wear his hat when he got out of his car and the case got dismissed because of it

That really sounds like an urban myth.
If APL looks good to you, it may be worth checking out its descendent J: http://www.jsoftware.com/
Sure the "raising the skill level" bit is just trolling. Omitting semi-colons is about removing ambiguity, and making it easier to spot inconsistencies. As a bonus, code looks cleaner.

In this case, the minifier is breaking the code, regardless.
http://blog.izs.me/post/2353458699/an-open-letter-to-javascr...
Anyone else having trouble signing up for the trial? The captcha won't validate for me after 15 tries. Also on each validation fail, the number of employees drop down resets.

Feels very "enterprise" for me.
"we completely missed the most important aspect of the network -- that it was going to connect people to other people."

I find this to be far the most interesting part of this article. Why was it that they missed this aspect? Was it just something they overlooked, or was it that people could not envision connecting with each other through technology?

Interesting to think about.
This is a great idea. Makes people more mindful of their voting. A good addition might be to tie a similar system to submissions. Doing so could boost quality of content and reduce the noise in submissions.
As far as I can tell, no. At least not in the Valley. There are some exceptions, I imagine, but they are all probably fairly specialized. A BS will get you almost everywhere an MS will.

You're much better off just learning to program yourself--it's easy and fun--and getting a nice entry-level position. The job market is literally crazy right now--I get tons of email about random positions, and I'm just finishing my second year of school.

What you should do is spend some time on a programming project of your own. Write something you've always wanted. This will both help you learn and give you something to show to potential employers.

If you turn out to like programming, this will get you a fun job that pays well more quickly than a degree. If it turns out you don't like programming, than it will be much easier to find something else than if you're doing a Masters.

I'm only familiar with the graduate program at my university, but it seems all the graduate students have a good deal of experience both from their undergrad classes and outside of class. I am not sure it is a good fit for somebody who has not spent a lot of time programming and studying CS already. Since I'm not a graduate student I could be mistaken here, but that's how it really seems.
The line break will not help if ! becomes an infix operator.
So in this case:

var value = x + fn
(y).burp()

Is it obvious that there is a missing semi-colon at the end of line 1? The code is technically correct without it (not that I approve of it). You can assume it's wrong, but it's just a guess.

If your code is in no-semi-colon style, there is no ambiguity, you can be 100% sure that this is a mistake: there always should be a semi-colon guarding that parenthesis, regardless of intent:

var value = x + fn
;(y).burp()

It's about removing ambiguity and visual clutter with a simple set of rules.

How many JS programmers know the difference between a function expression or declaration, and the semi-colon that should follow or not? You're dependent on a linter. Following the no-semi-colon rules makes your intentions clear in every case, without machine validation.
So you think it's ok for a minifier to break working code? Please explain.
There's something horribly wrong with everything about this. Why is such a smart person as Crockford wasting his time arguing about semicolons in 2012? Why is this at the top of the most popular hacker website? Why are people writing detailed opinions about semicolons in this thread (with surely more to come?)

One would hope that at least over time the bike sheds being argued about would start to at least evolve into arguments about bike garages and eventually bike factories. But I guess the bike shed is forever a bike shed, as long as we're making bikes.

Whatever the next disruption is in software engineering, please dear God let it be immune-by-design to this type of distraction.
Top 5 Dual SIM Mobiles in India for April 2012
The dual SIM mobile market continues to attract mobile users looking for feature-rich mobile phone. We bring you the list of top 5 dual SIM mobile phones that garnered our attention this month.
I'm no stranger to selection bias (http://news.ycombinator.com/item?id=1852186 for example). I'm just surprised that anyone back then managed to make such predictions.
How many times must this bush be beaten. I've read people complaining about no semicolons in javascript for ages.

Get over it...
I agree with Crockford.
Interesting idea. How would you go about simple authentication to prevent spoofing since PGP/GPG is too difficult to explain?
Some of this could be very good - I already get messages like "your next issue of 'Linux Journal' is ready" that tip me off to go grab it. It would be nice if this would auto-download and get synced up to my other devices - especially for things like bills, statements, etc.

But I tend to think that's a corner case (email based subscriptions notifications that need to be delivered by non-email means) - we already have tech to do this, between Microformats, RSS feeds with enclosures, and other established attachment formats like vCard and [v|i]Cal. I'm thinking that building on those rather than inventing new and arbitrary JSON syntax to enclose via MIME is probably a better long term strategy.

I also see the distinct possibility of abusive, antisocial behavior. Most people don't understand whitelisting, and the crazies among them already set their email clients to always tag every email from them as being "IMPORTANT", demand read receipts on everything, send HTML only messages, and worst of all, top post.
Can you parse this expression without parentheses?

a && b && c || d || e + f > g && h

The parser sure can. Do you have all the operator precedences memorized, or do you use superfluous parentheses because you're not always sure?

It's true that the semicolon is not needed, and it's true that the minifier is breaking code. It may even be true that Crockford should fix it. But that doesn't change the fact that the omit-the-semicolons position is absurdly immature hipster posturing that serves no engineering purpose.
... Crockford is the developer of JSMin, and was explicitly dragged into the conversation because people claim (possibly correctly) that it is a bug in JSMin than when it is given code with semi-colons that are missing in places that the JavaScript specification claims are optional (possibly also stupidly), it generates output that is not semantically equivalent to the original code.

Your statement thereby makes no sense: this is precisely the kind of argument and conversation--a bug report from a user that itself can be construed as a question about what the purpose of the project is and what parts of the specification it will choose to support--that one would hope the primary maintainer of a project should be "wasting his time" involving himself with.
It would be really interesting to see this in combination with JSON-LD for linking (meta)data.

http://json-ld.org
Yeah, I can vouch for Rachel though. I've known her stalker personally and they were both friends of mine at one point. I get what you're saying though, and you're absolutely right: there's a lot of fucked up attention-whoring people out there. I actually wish you were right because then it would just be Rachel and nobody else. Unfortunately it's several more people than that...
World's Fastest Random Number Generator from 'Sounds of Silence'
This is a silly example because it's so simple. E.g. You can just write 2*3+1, which is easier to read. Regardless, I'd wonder why you put the parenthesis there, as if it were some odd hack or workaround for some obscure bug.
I'm not sure about using them for list scrolling, but they are definitely interesting effects that would be great to show new elements getting added to a list (e.g. of notifications for example).
Seems like they picked up a few hires when the Zune marketing team disbanded...
Oh lord, I'm not a sockpuppet. Have the HN admins verify my IP address FFS. It's NOT a TOR or I2P exit node.
Kind of funny that you say this, since CoffeeScript inserts semicolons.

The lack of semicolons is the one major thing in the Github style guide that I think is stupid. It seems silly to avoid using semicolons in Javascript because it actually takes a little bit more effort than just using them.
I think the stupidity here is entirely isolated to using JSMin.
Thanks, I appreciate the feedback. I definitely see what you mean about the shares not being worth much at this point. I think at this point I am leaning towards starting my own and dealing with the stress and pain that comes with it, but enjoying the autonomy and the learning experience.
Whatever the next disruption is in software engineering, please dear God let it be immune-by-design to this type of distraction.

While your sentiment is positive, wouldn't this mean either designing things in a rigid, unambiguous manner (think C's semicolons) or changing human nature? Ambiguous choices plus human nature equals debates. An argument about semicolons does seem silly and your proposed outcome sounds nice, but how could we get there?
I couldn't agree more. Whenever I'm learning something, I find that breaking things is the best way to get concepts to sink in. You don't know what a null pointer is until you dereference one.

If I were to teach programming to a class of kids in the 8-16 range, I'd probably get a Python environment up and running and spend:

- Two to five minutes explaining a small concept (start with the print statement, go to variables, then operators, then functions, and so on and so forth)
- A couple of minutes playing around with the concept using some neat functions or classes which you write before the lesson. Like a send_email() function, where you supply each kid with a disposable email address and password.
- Up to an hour repeating the first two steps.
- A few seconds giving them an optional homework assignment which they can work on and show off to their classmates when they come back.

I'm sure they'll be hooked when they find five hundred emails in their inbox, that's certainly the sort of thing that got me hooked back when I first started.
Amusingly, I agree with your premise but not really your conclusion. Adding a semi-colon is like adding parentheses. But I think redundant parentheses add visual clutter--unless I have a very complicated expression, I leave them off. (Maybe it's the Haskell code style rubbing off on me...)

So I actually think that 1 + 2 * 3 is better than 1 + (2 * 3). I usually find reading a line with less stuff easier, so I prefer the shorter between two equivalent expression.

Besides, adding a semi-colon is more like surrounding the whole expression with parentheses rather than just grouping. And you would never write (1 + (2 * 3)). And yet that also says, loud and clear, the same thing!

I've used some languages with optional semi-colons--Python and Haskell, for example. I've never thought that missing them made the code less readable--it's always been the opposite. Going back to Java and having to use semi-colons everywhere becomes increasing annoying as I grow more acclimated to languages without.

In short, I see where you're coming from but don't really agree.
I don't follow this argument. Putting a semicolon at the end of every statement, regardless of what follows, seems to be an even easier way to avoid making this bug.
> sudo brew install

No sudo. From https://github.com/mxcl/homebrew/wiki/FAQ:

> Why does Homebrew say sudo is bad?
> tl;dr Sudo is dangerous, and you installed TextMate.app without sudo anyway.

> Homebrew is designed to work without using sudo. You can decide to use it but we strongly recommend not to do so. If you have used sudo and run into a bug then it is likely to be the cause. Please don’t file a bug report unless you can reproduce it after reinstalling Homebrew from scratch without using sudo.
It might also suggest that conferences in those places might be a bit more technology-oriented and less like spring break in Maui.
It's possible (though I haven't done any research) that the law may require a uniformed officer to make the stop and the hat is part of the uniform. No hat -> not uniformed -> not a legal stop.
interesting. I didn't know that.
Nice, but all of these max out the CPU on all the browsers I've tried...
You're not their target market. Corporate marketing departments are, and they love this shit.
Why?

This unfortunate behavior is well described by Wadler's Law:

http://www.haskell.org/haskellwiki/Wadlers_Law
I was writing an imap client recently and I also thought about using that in the same way to prompt for deadlines or bringing a sense of urgency.

In fact email is wrong but so is ADSL's design (using the high frequencies on copper lines) - yet it works. So at the cheapest, email protocol could simply be augmented with a set of metadata which then clients have to somehow integrate.

It doesn't sound like the solution, but it is a quick and dirty fix. And it may be all we need until the real solution emerges, which I think nobody quite knows what it is yet.
Jacob ("fat") comes off looking far worse than Crockford, to my eyes (and that Kit character seems to be 7 years old). It's the arrogance and stupidity of youth facing the crotchety crankiness of experience. Crockford has earned the right to have a strong opinion here IMO.

But it's not just bike-shedding. It's more pernicious than that. It's actually something that looks like bike-shedding to uninformed observers, but something that strongly affects cross-version compatibility. Javascript does automatic semicolon insertion by taking advantage of potentially ambiguous constructs that happen to be resolved in one way right now. But they may be actually ambiguous in the future - in the case where a unary prefix operator becomes a binary operator. Language extension usually works this way: a previously unambiguously wrong statement is made valid; but JS semicolon insertion often turns "wrong" statements into "correct" statements, so it leaves less "entropy" to be taken advantage of when increasing the power of the syntax. I think there's a strong case for JS to not insert semicolons here, and I agree with Crockford's position on not handling it in JSMin. It's the right thing to do.
I would hardly call this an "argument" from Crockford. There is absolutely no back-and-forth. Crockford is told there is a bug (or perhaps, a missing feature) in his software. Crockford responds that he will not change his code, and that the first guy's code is bad. Other commenters then begin arguing, but Crockford does not.
I think the usual semi-colon-less style is to put a semi-colon in front of lines beginning with parentheses (and only those lines). This is the one potential problem area if you don't have semi-colons everywhere, so you can avoid almost all (or maybe actually all) problems just by prepending a semi-colon to those lines.

I think Ricardo's point is that this style (having a semi-colon only before parentheses at the beginning of the line) makes your intentions more explicit.
Watch Online Jannat – In Search of Heaven… 2008 Hindi Movie 
Watch Online Jannat – In Search of Heaven… 2008 Hindi Movie,Watchvideo songs, Watch sequences,Watch Filmstars:Emraan Hashmi, Samir Kochhar, Sonal Chauhan, Vishal Malhotra, Javed Sheikh. And Director:Kunal Deshmukh
天才相师
Sure, it's a simple example. How about:

destPoint.x + offset.x * diameter

vs

destPoint.x + (offset.x * diameter)

The longer the variable names the harder it is to visually parse the order of operations. At least for my brain.

This whole thread is arguing about style, IMO. I'm just offering my explanation why this style makes more sense to me.
USCIS wants to streamline pathways for foreign entrepreneurs with EIR
The full list is [(+*/-. (basically parenthesis, array/property acessor, and any math)
Yeah, I think a more subtle version of the Skew effect, with a smaller angle and quicker transition, could be tastefully used.
I wasn't literally asking why is this happening. I was pointing out that it's sad that we live in a world where someone like Crockford is spending brain cycles talking about semicolons, regardless of the reason.