skysight-inc/HackerNews huggingface dataset:
I also find objections like the "createBunnyOrToaster" antipattern to be really, really uncompelling. You don't need a static type system to make sure that your functions are sane and consistent, and you don't have to be John Resig either.

First of all, put a comment at the top of your function that says what to expect about the return value. You should be doing this anyway because the return type alone is often not sufficient for future programmers reading your code.

Secondly, every time you write the word "return", look up at the top of your function and make sure you are in accordance with what you said the function would do. If you end up with a paragraph comment about what the return value will be like, refactor.
Ask HN: Does anyone else hate the "zero-button" Apple trackpads?
I find that I misclick a dozen times a day, when my thumb does not press sufficiently normal to the trackpad surface, and so skids to a new location before the click happens.
Douglas Crockford tech talk in San Jose
Douglas Crockford is back in action. His Javascript talk coming up this 21st on Paypal Campus in San Jose. Seems like the talk is open for all. Here's the RSVP link: http://www.meetup.com/TechXploration/events/65087252/

Was anyone there for his previous talks, if so can you share your experience?
This is technically interesting, but voyeur-istically creepy.
Try fixing new basecamp before poncing around with this bollocks
Heated and cooled office chair
Jaron Lanier's Plan to Save the Middle Class With Hyperlinks
That's how I first heard about her - adorable.

An utterly bizarre and idiotic decision by Argyll and Bute council to stop her taking photos of her food and essentially stop her blogging.
Anyone tried to use this with Spring?
Civilization II creator surprised gamer played for a decade
Silicon Prairie News [0] does a pretty good job covering the tech start-up scene in the region around Kansas City, Omaha, and Des Moines. Check it out if you want a closer look at what's going on in that part of the Midwest.

0. http://www.siliconprairienews.com/
That example is easy to solve because it is not using any of the provided techniques that makes it more difficult for robots to solve the CAPTCHA: "changing the HTML background color based on: mouse cursor hovering, previous state or input or shared secret"

The purpose of the example is to give you a basis on which you could implement an effective CAPTCHA.

The claim of "difficult or even completely impossible for robots" applies to CAPTCHAs using the above techniques, which are not used in the example.
So what exactly is the benefit of this? Is it superfast like HandlerSocket?
If the kernel "largely trusts the userspace" then the security model is wrong.
The beginning of Skype's end
Backbone.js is minimal on purpose so that you may implement these types of optimizations. That's why there's many ways to do things in Backbone.js but overall makes the application more efficient.
The github repository seems to have a lot of open issues for a 1.0 release: https://github.com/angular/angular.js/issues
The picture of the bear is reasonable and appropriate, given the circumstances. Mature, even.
> That is technically true, but what is the point? The bindings can make things better, or they can make things worse. WebGL, for example, covers over a lot of issues with OpenGL (security and convenience), making the web version very nice to use.

Last time I tried WebGL version of Quake3 on my machine which had the hi-end AMD graphics card at that time, it ran at less than 100FPS. For a game that's 10 years old that is a very poor result. The reason why I said bindings is because I want a language powerful enough to implement any technology I want in that language.

> There is no simple solution here.

Of course it's not simple. It doesn't mean it's not possible. Microsoft's WinRT is another example of coming closer to the native code apps.
Perhaps data-ng-* should then be the default, as another commenter has suggested.

The Web Component spec[1] examples always have the template in plain HTML, wrapped in a <template> and separate from any JavaScript. Searching the AngularJS site, there are zero references to "Web Components". Web Components are so new that the spec still has Norse mythology references, so a reference from Angular to the spec would be a big help.

More importantly, while Angular has been duplicating the functionality of Underscore and jQuery, the rest of the JS world is extending itself with CommonJS modules according to spec. Half of the builtwith.angularjs.org examples include jQuery anyway. Angular's attempt to be a complete "end-to-end solution" may easily make it a jack-of-all-trades, master of none. This also seems at odds with its focus on being a component.

Lastly, I am not the first person to raise these concerns.[2]

[1] http://dvcs.w3.org/hg/webcomponents/raw-file/tip/explainer/i...

[2] https://groups.google.com/group/angular/tree/browse_frm/mont...
Nice PR stunt
Like many commenters here, I'm not sure I can agree with the author's position. Plenty of in-browser apps go awry, but that's most often because the tools people start using (notably jQuery) just don't work well once you have a large collection of UI components on the page.

That said, the bulk of Google's web applications, for instance, are not written in GWT or Dart, but rather in JavaScript using Closure Library, and compiled using the Closure compiler. So I don't think the answer here is to not use JavaScript (although I can understand why people at Adobe would argue for that), but rather to use tools like Closure or Angular that make the process more straightforward.
How to answer a question: a simple system
Worked fine for me, file dl-ed from http://download.skype.com/linux/skype-ubuntu_4.0.0.7-1_amd64...

--

Edit had to install 6 deps using gdebi; when I ran the app it crashed before authentication completed and took down my desktop session on Kubuntu 12.04.
I'm not convinced that the local council has the power to require the school to prevent photos being taken. I think that is a decision for the head/governing body.
"why wouldn't you disable root login and only use sudo with command logging enabled."

Without going into operational specifics, the answer is that this doesn't scale.
There's a pretty good overview here: http://plunker.no.de/
I really enjoy the wp7 platform - developing apps is a cakewalk compared to iOS / Android and fragmentation is nonexistent. As a user of both iOS and wp7... wp7 just has a better overall user experience, it's not massive - but it's many small incremental improvements that add up.

Here's their problem: the carrier / retail ecosystem for WP7 sucks in the US. It's clear that they don't have any carriers truly on board except for AT&T... which is easily the worst carrier in my area (Chicago) in terms of both reliability and pricing.

Verizon has ONE crap Windows Phone, the HTC Trophy - possibly the worst Windows Phone available. So that's a no go. Sprint also has a single crappy phone. T-Mobile has a whole two phones - Lumia 710 (a crap version of the Lumia 900), and the HTC Radar - which is actually pretty nice, but hobbled by only 8GB of built-in storage. Even then, go to any of those stores and you'll have a rep trying to sell you an Android phone when you walk in the door. Check their websites and you'll see WP7 phones are at the very bottom.

Priority #1 should be fixing their retail/carrier ecosystem. The platform is fantastic, and there are some damn good phones too - but you're screwed unless you're on AT&T.
GWT? Seriously? I cannot think of any large, significant web app that has been written in GWT.

I would consider the AWS management console to be significant.
Une petite histoire de Courage et de Persévérance
Study Shows That Engineers Care More About Money Than Bankers
The way I type changes dramatically from day to day, depending on my emotion. Sometimes I top very choppily at 35wpm, and sometimes I type like a waterfall flowing over rocks in waves at 120wpm. There's no way that this method would work reliably for me.
America's Reasonably Effective System of Higher Education Finance
Try AngularJS ;)
> I could not agree more with your comment. There's not a problem with text. Why do people pretend there is?

My problem is not with text per se, but with unstructured text. I'm fine with JSON in cases where efficiency is not a top concern.

Let me ask you this; how would you do the equivalent of this hypothetical command?

$ ls | structured-grep 'file.size > 1M'

The answer is that you can't in today's world without writing a parser (or some code that calls readdir/stat manually). That is the problem with unstructured text.

Text formats like CSV that seem simple actually end up being hugely complicated once you push them to their limits. Nothing is worse than software that breaks once something unexpected happens, like a string that contains an embedded comma.
As an extra layer of security, not the 'singular' layer of security, the drawback you mention doesn't apply. It would have uses outside security too, for example user identification and profiling purposes on websites. I often wonder about sites where users usually type in content, and what information could be gleaned about users by their operators.
That's just the prototype. In the production glasses, they'll just implant that big plastic slab in your skull.
Right now, they can't make WP7 device on par with One X or GS3. Not because nobody is willing, but due to compromises MS has chosen, when they developed WP7.

Do you remember, that the big selling point of WP was that you do not have problem with system upgrade? That you do not have to wait for system updates from vendors, because MS can push them directly?

Well, it turns out, that they can do it because they support only one design - one SoC (Qualcomm Snapdragon), two screen resolutions ("big" 800x480 and "small" 320x480), etc.

So basically, all phones are the same, just in different cases, with different logos. One one hand, it gets you direct system updates. On the other hand, it loses the competition in hardware, that pushes vendors to bring new products to the market. What's in it for NVidia, Samsung, TI, when they cannot use Tegra, Exynos, OMAP in WP7 devices? They will use android, where they can try to better up the competitors.

That's why we have One X and GS3, but WP7 is stuck in MSM8xxx land.
First thing I checked for too. Second thing I looked for was someone pointing out that this is asking for object oriented systems (such as Smalltalk or Self).

But the third thing, no one mentioned: SNOBOL. Reportedly (because I haven't used it myself) it is better than AWK for complex matching.
Address Book has always been a C API, not an Objective-C API, for legacy reasons. I suspect that had a lot to do with it.
SPN does the best coverage of midwest startups hands down. On top of that they put on the amazing Big Omaha conference.
The End of the Asian Miracle
Congruence relation!
I also hacked up a tool for structural search. I'd noticed intellij's built-in structural search has a very simple pattern language - you just type the code you're searching for and insert a wildcard like $x$ or $foo$ where an expression can vary. However, its restricted to the languages Intellij can parse.

(in what follows HN is mangling asterisks, so I used 'X')

Tokenizing a language is much simpler though. So I just did that, and let wildcards match like <token>X? up to the next expression boundary at the same nesting level - the boundaries were ',' ';' ')' '}' and ']' when I tried this on java, C and perl.

This turns out to be simple enough and powerful enough to be useful. For instance, your example:

boost::bind(& ${id} $( :: ${id} )+, $( boost::ref( Xthis ) )|ref| $.X )

Would be:
boost::bind(& $id1$ :: $id2$, boost::ref( Xthis ) )
(for 2 args - I'd need to repeat for more args like so:
boost::bind(& $id1$ :: $id2$, boost::ref( Xthis ), $id3$)

This works because $id1$ is non-greedy, and whitespace is ignored. I did tend to tweak the tool to what I was searching for (I'd have dropped ',' as a delimiter for this one), which I guess is cheating on keeping the syntax simple!
Doesn't flood fill defeat the point of coloring books? The kids will never learn the hand-eye coordination necessary for drawing within the lines.
"Benign"?

What would a malignant dictatorship be like?
oh no -- don't hurt the extortionist's fee fees
Sorry, by "out-of-band errors" do you mean the error return value? This is not a terminology I'm familiar with.

For any function which produces values of the form (a -> (b,e)) I'd refer to that as a product type. If this is what you're referring to, this is just a return value. There isn't really an exception system here.

If you think about how return values work in C you'll note that it's usually some subset of the range which is defined for an actual value and some subset defined for an error condition. This is basically the same as (b,e), just worse type safety. Easy and efficient tuple constructions are hard to create in languages with manual memory management.

Edit: Also, I didn't mean that Go should have innovated in PLT, only took advantage of innovations already established.
Ok, you have no idea what you're talking about.

> Interestingly most apps that depend on Qt, WebKit or ICU include their own copies of this libraries.
So you're not a Linux user, ok. In that case there really are not that much shared libraries. Using a free desktop means that a large majority of all programs you use requires the same set of shared libraries. And as least in KDE and Gnome, there is a large number of small programs running in the background.

> I can't help but feel that when you have systems with 4,000 binaries in your PATH, something has gone terribly wrong.
A quick "ls /usr/bin | wc -l" gives me 3135. Considering this is not the whole PATH, I think 4000 is a normal number.

In Linux distributions, programs don't have to ship their own versions of anything. Maybe you should try it.
Australian retailer charges customers IE 7 “Tax”
Facebook Promoted Posts Less Effective than Ads
There are very brief references to Jasmine in the Unit Testing[1] and Testing Services[2] sections, however the complete (proprietary) E2E testing documentation does not mention Jasmine at all.[3]

[1] http://docs.angularjs.org/guide/dev_guide.unit-testing

[2] http://docs.angularjs.org/guide/dev_guide.services.testing_s...

[3] http://docs.angularjs.org/guide/dev_guide.e2e-testing
CoffeeScript is a syntax, not a language.

His arguments have to do with the semantics of JavaScript, which are identical to the semantics of CoffeeScript.
AdWords, AdSense, Flights, Hotel Finder, Offers, Wallet, The New Blogger, Chrome Webstore, Product Search, Public Data, New Google Groups, Orkut, Google Takeout, Google Pagespeed, Google WebFonts, Google Tables, Google Health (discontinued), Google Wave (discontinued), PlayN (basis of Angry Birds)

http://gwtreferencelist.appspot.com/#AboutPlace:
No, he just hard-coded the number shapes. As long as the numbers used the same font as the example (and don't overlap), it should work just fine.

OCR would probably be more robust in general (for varying fonts and number shapes)... but it's simply absurd to call G-WAN's scheme a better captcha. More obscure and less targeted? Perhaps.
Tools I Install on Every Server
Having seen these cars driving on 101 I must say that as an engineer I'm sorely tempted to test their reaction ability :-)
"Go is not meant to innovate programming theory. It's meant to innovate programming practice."

I don't think GP was saying that Go should have provided some advance to programming language research, but that it doesn't show much awareness of advances that have already been made.
Things Every New Startup Should Do
I haven't ran the code, but I did completely read it.

It appears to me that he maps the character set GWAN uses for the captcha system, and as such, should work for any image generated by GWAN using the same character set as it simply identifies pixels matching the character set.
Did they lint or unit test their code? Without having a way to verify that parts of your app work at a smaller level, of course it's going to get hairy when it starts to grow. Although a compile step verifies types, unit tests do that plus check against runtime errors. This is not a language problem.
I thought about using OCR - just to over-engineer it. But I wanted to show how the characters are perfectly aligned and how clear the font is. I would like to understand, what he thought, why this Captcha is so special.
It's 1st generation. Just imagine the third generation based on iphone development.
Remember gmail's arithmetic questions after watershed to prevent drunken users writing 'regrettable' emails? This could be another angle to provide the same functionality.
>Okay, thanks, but I've known about basic automata theory since I was an undergrad, two decades ago.

I wasn't trying to educate; I was discussing the relevant limitations of my approach. The fact that I can't spin a perfect regexp for anything (including JSON, sexp, xml) that nests arbitrarily deeply is an issue with what I proposed - one that I think can be worked around sufficiently, but an issue nonetheless, and I wanted to acknowledge that. I don't see what prompted the defensiveness I take from your comment - I'd expect most people here to know at least that much automata theory, here. I've not known it for quite two decades, but two decades ago I was 8. I'll reply to the constructive bits of your response separately.
Q: Why Does Microsoft Need Yammer? A: To Save SharePoint
I don't ever actually 'hardclick' the pad. I just tap it with my finger so I can't say that I've encountered this problem.
For a certain definition of "large" and for certain domains ( especially finance ) his argument is very, very valid. 200 average developers working with GWT->JS are anyday going to be more productive than coding native JS to get the same functionality. This isn't anti-JS...end of the day if you are on the web your code is JS. Thing is, how do you get there - do you hire 20 pricey smart JQuery guys, or 200 average Java pgmmers. Pls go to a bank or any large finance shop - TONS of Java programmers, very familiar with navigating through verbose boilerplate Java code, very familiar with coding up some risk function or pricing algorithm in Java...mostly by abusing the heck out of the optimized collections library and its search & sort algos :) But so long as the damn pricing function prices corectly, eveybody's happy. So now all that stuff has been built & is sitting there as desktop apps with dirty swing UIs. 1000s of Java classes. Literally tens of 1000s. Nobody is going to rewrite it in JQuery/JS/coffeescript => No money, no mandate, no manpower, no expertise, but primarily no need to do so. GWT has captured precisely that sweet spot. First get rid of the fancy swing widgets - stick to simple GWT textareas & lists & panels & checkboxes & stuff. Then get rid of Java collections - replace with GWT lightweight collections. Then check some corner cases. Then compile to JS & optimize & you are done. The same shit now works on the web, & if its buggy you just debug your desktop app because they are essentially using the same logic. This is just how it is done in large financial shops. You are simply not going to hire JS folk & teach them financial algos & then get them to code those up in idiomatic jquery...takes too long. Just train the existing Java folk who already have the domain expertise to move from fullblown Java + swing to lightweight collections + GWT. It doesn't have to be pretty. We are not web shops or consumer frontends...this will still be accessed by people inside the bank...only not by downloading applets & standalone java apps, but via native JS.
Well done.

Except, I'm pretty sure the gwan guys are just a very sophisticated group of trolls.

I'm going to go out on a limb and say if you test their web server yourself you'll find that their claims are false, and that the reason it's closed source is because the joke would be too obvious if we could simply take a quick look.

In any event this is all hilarious.

Now, I hope someone with the time and curiosity will do this.. and publish some actual benchmarks of gwan so this controversy can finally end.
There are really two ways to impress a super early investor like ycombinator:

1) Have some admirable amount of "traction", if you've managed to get 20,000 users for a product, that's pretty cool.

2) Be able to articulate why and how you're going to get traction, where the pool of interested users will come from, and how much money that could be worth in the best case.

YC does a ton with non-consumer startups (like mine), but we still have the same two hurdles to overcome. What you're probably sensing is that the viral features you can build into consumer startups are easy answers to some of their questions, though chicken and egg problems come up in most of those cases.
Context matters. I think it's acceptable for that icon to mean 'list' in one context, and 'justify' in another. Using it to mean 'menu' is a little confusing though. Sure, there's a list of menu items, but in the context of Facebook it looks a lot more like a list of posts – i.e., newsfeed.
I'm pretty sure i have skype working on a iphone 3 non-gs, anyway.
>Because helicopters are already widely used, drones are not. Yet.

So what?

>Because a helicopter costs millions of dollars.

Drones that provide enough persistence for surveillance aren't anywhere near that cheap. DHS paid $180m for ten of them, making them far more expensive than the kind of helicopters police departments use.

>A helicopter must be flown by a person. Drones can be automated.

Sort of. The FAA is still going to require an operator in case there's some kind of air traffic situation. And someone still has to sort through whatever data the drone is providing, something that isn't automated.

>Are you starting to get the picture? 1 helicopter = 100 drones. Go read 1981 by Orwell. You'll begin to understand the concept of something being Orwellian.

Yeah, I get the picture. This is mostly hyperventilating. The statement you can buy and operate 100 drones for the cost of one helicopter displays a complete disconnect from reality. You need to do a little reading up on what kinds of capabilities drones offer at what cost.
> You don't need a static type system to make sure that your functions are sane and consistent, and you don't have to be John Resig either.

Right, and you can do structured programming in assembly. But when the language or tools don't help you do that, there are examples like the one the author points out where developers don't.

Don't mistake utility (what can be done) for usability (what is easy to do). Usability always matters.

> First of all, put a comment at the top of your function that says what to expect about the return value.

I want a language that gives me a nice pleasant syntax for doing that.

> Secondly, every time you write the word "return", look up at the top of your function and make sure you are in accordance with what you said the function would do.

As a programmer, you should be trained that when you see "every time", you think "automate this". If you and everyone on your team and everyone who has ever been on your team has to remember to do something every single time, your code will accumulate a pile of instances of forgetting.

Fixing that is exactly what tools and languages are for. It's a hell of a lot easier to make a disciplined tool than a more disciplined programmer. (And when you have made a more disciplined programmer, they typically evidence that by asking for more disciplined tools.)
I think the apple track pad is the only good touch pad available on all laptops. I've never (ever!) liked using a touchpad on a laptop - until I tried the trackpad on apple's laptops.

Re: clicking, I always configure it so that tap-clicking is enabled, so I never really had this problem.
Update on the Hacker Grants Program