skysight-inc/HackerNews huggingface dataset:
The proposals look great! But I'm missing one thing: Less fatal errors, or a better way to catch them. Especially for the case of calling a method on a null value. E.g.

$foo->getBar()->getBaz()

If getBar() return NULL for some reason, you get a fatal error which you cannot catch and handle without reverting to uglu hacks with a shutdown function.

My personal preference would be to have that statement return NULL and raise a warning or notice, alike to using uninitialized variables.
You;ve typed out the story of my life. Looking forward to great answers

I found myself with a different set of friends for my multiple personalites

party people
girl chasers
volunteer
motocycle riders
I highly recommend the book "Making Software: What Really Works, and Why We Believe It".

John Graham-Cumming, the author of the article submitted here, has a review of this book on Amazon.com:

http://www.amazon.com/Making-Software-Really-Works-Believe/d...

"This isn't a book about evangelizing the latest development fad, it's about hard data on what does and does not work in software engineering."
I find SublimeText (and TM to a much lesser degree) have certain features that really help with efficiency, like multi-line editing and good key shortcuts for in-file search and replace and regexp replace.

Vim is like this but without having to take your hands off the keyboard, so you get a little extra. But using the mouse and having a very visual hand-eye-coordinated text editing representation is really intuitive, so it's definitely a tradeoff.

Vim takes a long time to get used to, is not intuitive, and gives an extra boost in speed by its very nature; pretty much comes down to that.

Sort of like a car: it takes a long time and investment to learn how to drive and get used to the completely new world of streets and driving rules, but once you're there you can get places way faster.

All that said, I still use SublimeText, because I don't necessarily need Vim to program efficiently (I admit, my main obstacle is my mind, not my editing speed), and the experience of SublimeText is very efficient and matches my intuitive mental model of text. So the moral is, use what works for you.
Yahoo breach: most popular passwords, most popular domain names
It's an interesting observation, but I can't help but notice that none of the nine members of that list includes the single essential feature that's shared by all languages that claim to be object-oriented: The presence of a language-level construct (an "object") which bundles data together with operations on that data. The nine in the list are instead just a bunch of optional features that an object-oriented language may or may not have in addition to that one essential feature. Some of them aren't even particularly emblematic of OOP in the first place. The most well-known poster child for #6, Erlang, is a (non-OO) functional language that implements it among processes instead of objects.

In other words, while the essay is correct in observing that OOP can be a frustratingly fragmented paradigm, the claim that it is "not a well-defined concept" is a glaring case of failing to see the forest for the trees.
I would imagine that with something like TextMate you'd soon reach a point where you pretty much know all the shortcuts. With Vim, it seems like this saturation point never happens, even if you use Vim proficiently for years there is still more you could learn and incorporate into muscle memory for better results. It even surpasses the "collection of shortcuts" that many editors are and becomes almost a programming language for text editing. It's uncanny how Vim posts like this inevitably reveal commands and methods I'd never known before, and I thought I was a Vim expert.
I completely understand where you are coming from.

For me and others, we actually feel connected to our text instead of Vim. Let me give you an example, let's say I have following sentence.

"Why, oh WHY, do those #?@! nutheads use vi?"

my cursor is on the letter 'h' of 'nutheads'.

Let's say I decide to change the whole word to 'crazy people'.

Here's how you would do it in conventional editor (using EditPlus as an example).

Ctrl + <- (to jump to n)

Ctrl + Shift + -> (to select the whole world)

Shift + <- (to remove the space which was selected. )

Type in "crazy people"

Here's how you would do it in Vim.

ciw - (change inner word), it gets rid of the whole 'nutheads' word and puts me in INSERT mode.

type in "crazy people"

As you can see, EditPlus forces to you to navigate the text using conventional method. It doesn't have a concept of a 'word'.

Compare this to Vim. I told Vim what I exactly wanted to do ('change inner word') and it let me achieve that without any fuss.

As I wrote in my other comment, Vim lets me 'talk' and 'interact' with my text at a semantic level. Vim is like a translator which completely disappears when I am working with my text.

The example sentence was borrowed from another excellent article on Vim:

http://www.viemu.com/a-why-vi-vim.html
I'm eagerly awaiting the armies of Mechanical-Turked WiFi robo-mops and robo-vacuums. Why hire real people to clean your buildings when you can get some Indian to control twenty cleaning bots at once?

Let me know when one of you hackers starts it up.
I'm very glad I'm wrong in this case! It would be a horrible weakness in TC.
> Am I the only one out there that _doesn't_ think single-page apps are the future? It reminds me of the mid-2000s, "AJAX all the things!"

I absolutely agree with you. In my opinion the mid-2000s AJAX craze has died down into "AJAX where it's useful, otherwise do whatever." I expect the single page app idea will do the same.

I think the end result will be dedicated pages as the "homepage" of some topic that give full access to that thing and partial access to related concepts. That preserves some of the "I just want to fiddle with the kerblob, don't make me navigate away from what I'm doing" idea without throwing out the hypertext/linking/other beauties that make the internet great.
P.S. The Kale was wonderful
Sony Xperia J :The Latest member of the Xperia Lineup
Why Most To-Do List Apps Are Doomed to Fail
Tax law isn't that black and white and your answer doesn't really address any aspect of how to think about the problem.

For example, you can send an employee on a company retreat pretax. How do you seperate a company retreat from an individual's vacation? It is a continuum where somewhere between those there is an answer where it is legal and illegal.
Um... "your eyes can deceive you, don't trust them".

Besides the assorted cognitive biases that lead people to be convinced of the (non-)existence of $DEITY (and the absolute superiority of $EDITOR), there's the risk of deliberate trickery by salesmen and consultants who've been studying stage magicians.
ZZ

(no need to hit <Enter>)
Even green threads increase memory consumption and add implementation overhead.

Anyway, the call for a sync model is nearly as old as node is and I agree that a solid thread implementation should be part of node for those who like to code this way.
Hey everyone, just wanted to say I'm truly flattered my blog got posted to HN and made the front page (I'm the author). I hope people found it helpful

2 comments

1) Some of you wanted to know how HN compares to other sources for us, in terms of signups, conversions, etc. I'll post it in this thread at the end of the day (would you guys want a follow up post on this "Value of HN visits")

2) I've gotten some great feedback on the actual product from the HN crowd, which is awesome. Feel free to leave any feedback on this thread (you can try it at http://brandyourself.com)
Not sure you can commit perjury if you are the accused !
Amazon is trying to become a specialized shipping service?
Factual’s API: A Good Fit for Node
How To Go Viral On Internet? Well, I Have No Idea
A scary article that forgot already many "stupid" or "vague" laws exist and are never used or always used in the right context.
I started a side projects months ago and the first question I agonized over was: 'web app' or 'api app'.

We went through all the screen mock ups several times before any code was laid down. First thing I knew was it was going to be - for me - a lot quicker to just stick with Rails over node. I played with node before and didn't see my project 'needing' it.

I thought a lot about using Spine. Still hadn't gotten over the Backbone hump, so that was out. And in the end, I just decided that for prototyping and just getting something ready, I needed to stick with the easy and most productive route and just make it a page to page web app. Most of the world still finds this approach acceptable and I was just trying to not get sucked into the technology vortex. 'Real artists ship' I kept telling myself. I did end up using MooTools which seems so old school now, but it totally works fine and I prefer it over jQuery. I felt like a sorta ajax Rails app here and there would be good enough for what I needed to do.

Over the past 8 months, I found pockets of time here and there to put down some code, in spite of a newborn and contracting at a few different startups. I haven't regretted using any of the tech I used and I've been mostly focused on just delivering functionality and getting something ready for people to use. Real artists ship.

Will my Rails app handle 100s of requests a second? Probably not. But, I'm going to love having that problem. It will mean that people will actually be using the app and then I can start thinking about how to scale it up/out.

The shop I'm working with now has a bunch of young kids that are all about node. I think it's great and they even took an old Rails app and rewrote it in node because no one there knew Rails. Ok, dunno if I woulda done that, but it all boils down to - I think - what people are comfortable with.

I'm not that comfortable with node yet. I did see the whole bubbling up error thing and sorta spaghetti code possibilities when i was using it. Like some other posters have said, there are MVC frameworks out there that can alleviate or solve these issues. But at this point I just feel like most apps - most users - will not need or appreciate realtime. I've seen pretty pictures and buttons and ui that have put the sparkle in more people's eyes than if ajax was being used and thusly, realtime.

Is everything going that way (to realtime)? Absolutely. Are we there yet? No way. But I definitely see the writing on wall for Rails as a page to page framework. Maybe they'll come up with something - I've already seen evented php frameworks, so no reason to think this will not get sucked in to Rails somehow. And I've been using Rails as an api platform for years already, so the whole api discussion doesn't surprise me. But for now, I think there's still plenty of life left in Rails to make apps and companies on.
Crap Science: Ocean City, Md. Measures Tourism With Wastewater
The fact is that LibreOffice is just not that great. Sorry.
I never really understood why Kyle was so confused about the negative reactions. For someone who tried to be so in tune with people's feelings, he seemed to be missing something incredibly obvious: violation of expectation.

Yes, when you're in public you have no legal expectation of privacy. However, when you're using a computer at an Apple store, you're also not expecting that the webcam is snapping photos of you that will be posted online.

What he misses entirely is that what constitutes "legal" is not entirely congruent with social norms. Especially as it relates to what will happen to us in public. Legality defines the hard boundaries of our social expectations. We normally set those boundaries at a point where someone is "harmed". The broad social contract is that we won't trample all over each other, physically or emotionally, so we establish laws at the boundaries. Cross the boundary and you face punishment.

For example, it's not illegal to take photos of people on the street, yet US society has a love-hate relationship with the paparazzi. They're not breaking the law, but there are plenty of people who... uh... strongly dislike them. Kyle crossed over in to the same territory. Not illegal, but definitely hanging out on the fringes of socially acceptably behavior.
Make them wear a drill sergeant hat too.
Well, if I remember right, the UK had their "fair share" of terror (IRA), long before the US suffered from 9/11.

So this argumentation does not strike me so extraordinary. But that does not change the point, that this law really has the possibility to be misused.
Out of curiosity, how much do I need to pay to get my pricing page on hackernews?
Martha Stewart is a witch?

I suppose that explains the eye of newt in the recipes.
Judges, police and the people who direct the police are all socially close coworkers for the most part.
I've always used Legos. Not that it matters since you understand it either way. Do you routinely struggle with minor usage differences?
I worked at a company that tried this in 1993.

People hated it. They resented being told how they had to spend their time off. Some just wanted to veg at home or visit family or do any number of other activities. They didn't want to be forced to go some place that the company would spend $7500 on and they felt that those who did go were getting a $7.5k bonus that they weren't
> It feels like coding directly against system calls in C.

I disagree. Coding directly against system calls is much harder in C, because you don't have the advantage of closures and flexible typing. But, that aside, node is intended to be a very low-level library that facilitates higher-level extensions and abstractions in userland. It is more like C than it is like Python, and that is by design.

Node is JavaScript on the server. It is not JavaScript-like, or Compiles-to-JavaScript, or Erlang-with-semicolons-and-braces on the server. We don't mess around with the language runtime, we take it mostly as-is, and there is a huge benefit to doing that.

When and if V8 implements generators (as they are likely to do somewhat soon), then I expect we'll see a lot of experimentation in this area in userland modules. They'll have to be run with a --harmony_generators flag, most likely, but they won't need to be compiled or do scary bad-touch things with threads and stacks.

When the area has been explored a bit in those userland modules, and one or a few of them are popular and good and intuitive to use, and V8 moves generators out from behind a flag, and they're fast enough to be used in node without introducing performance regressions, then we'll investigate adding something like this to node-core.

Part of the reason why you meet such backlash from people in the Node community when you complain about "callback hell" is that the model is very simple, and it really is not as bad as it looks at first. JavaScript's bulky "function" keyword does make CPS quite a bit uglier than it is in Scheme, but it's a very reasonable approach to the problem which is extremely extensible.

The crappiest part in my opinion is doing `if (er) return cb(er)` all the damn time. Domains make that a little bit easier, but you're just trading one bit of boilerplate for another, so I don't know. Generators are probably the ideal approach to that problem, but I'm personally not sure they're worth the complexity cost they introduce. I am often wrong, and try to be quick to admit it. We'll see how they change the shape of things once they're a real thing and not just an idea.

In the meantime, use named functions. Use the "async" utility. Use Stream interfaces and .pip() them to one another. And most of all, Don't write big apps! Write small modules that each do one thing, and assemble them into other modules that do a bigger thing. You can't get into callback hell if you don't go there.
Mobile eCommerce drives Higher Footfalls in Retail Stores
Holy iPad slayer Company releases world’s first Christian tablet
I was watching 'Garrow's Law' yesterday. He said that "Laws which are passed in times of fear, are rarely removed from the statute books". Terrorists always win, because every time they attempt to strike the Government removes our basic liberties under the guise of protecting us.
Yahoo fails security 101 as 443,000 passwords exposed
I think what Apple did was right. They used the USC to take down images of people that were taken in an Apple store by Apple computers. If someone saw their image on his blog/project/whatever and was upset about it, they would go after Apple and not the artist. So they were covering their own butts. At the same time, they know he found a flaw and there was no damage done. Therefore, no reason to seek further prosecution.
not to be picky, but why is it called a robot if it is remotely operated? Isn't a robot supposed to be autonomous, at least in part?

I confess that I just gave a quick look at the article, but it seems like a small remotely controlled radio tank. Is it possible to give the thing instructions on what to do (e.g. follow a path along some infrastrucutre while taking pictures of it) and then let it do the job on its own?
Clojure was specifically designed to have multiple target implementations. That's the why it's approachable. As for why it's desirable, clojure is a high-level language and as such has certain niceties that are difficult to give up when forced to drop down to a lower level.
Which they use to misspell defencetech
tommy. masiero at gmail
Things Toxic to Scalability
These five things are toxic to web application scalability.
It's an exhilarating vision, because it would get a whole lot of accidental limitations out of our way and allow us to build the essence of a design. A lot of complexity is due to the impedance mismatch between what goes on at the lowest level vs. the highest. To be able to design the machine itself as part of the system would be a huge breakthrough – the sort of thing that, if it happens, people may look back and wonder how anybody did anything before.

I get excited thinking about it. Unfortunately, we still don't have any evidence that it's real. Read carefully, the article rather suggests the opposite.
Reminds me of Walker Evans

http://www.getty.edu/art/gettyguide/artObjectDetails?artobj=...

Evans organised publication of the images in book form, which I suppose would render the publisher liable if any of the passengers wanted to seek any form of redress (they did not).

In this case, Apple was the unwitting publisher with no editorial involvement, hence the action seems reasonable.
Why JavaScript? This is not a flame, I'm sincerly interested.

I have made several robots from small hobby projects up to an autonomous driving car (college team). For all of those we used C or C++, with one exception that used Java. For the Java controlled robot I built a web interface that allowed you to control it remotely over wifi (similar to this, without the repeaters).

I have been thinking about using Python or Ruby for the high level logic while using C/C++ down low controlling motors/sensors. Or maybe running a JVM and doing the high level logic in Closure or Scala with JNI over the drivers.

Either way, I see why you want a high level language for the logic, but why JavaScript/Node.JS? I guess this is more remote-controlled rather than autonomous, but for autonomous systems I don't see what JavaScript brings to the table.
Not sure why this is getting up voted. Hasn't Groupon taken a hit every day this week, and pretty regularly for the entire year?
Excellent comparison, thanks.

It's important to note that many modern text editors do have concepts of "words" and "lines" and such that can be used in similar ways. Granted, not near the extent of Vim, but they're still useful.

In sublime for example, I can Ctrl+Shift arrow to select words before and after. This even works with multiple selection (multiple caret positions). It's pretty cool.

Again, I understand that Vim is more of a language to describe editing text and is very efficient, I'm just saying you can get close with modern editors, and personally I find their visual language to work better for me.
In video form: http://www.youtube.com/watch?v=05WS0WN7zMQ
Have you tried other parts of China?
Agreed. Very impressive. Fukushima was the first thing to come to my mind as well.

Feature Request: Rocket Launcher.
Much has changed, but we haven't written about it yet. We're working on it. This post to HN caught me by surprise. The new design went live, but we weren't planning on announcing things until early next month. Trying to stabilize and polish the new APIs, etc.

Native support should be coming in Firefox 17, albeit off-by-default. Native support will be enabled on phones running Boot2Gecko, which ship in Q1 next year.
Galaxy Nexus phone back in stock on play.google.com
Since last midnight.
Pre-ordered units shipping soon.
Fortunately its nowhere near that bad. The prosecution needs to prove beyond reasonable doubt that the file contains encrypted data and that you have the key. So if you did have a file of random noise then the police would not be able to prove these things. And if you had software for using that file as a random number stream then that would be evidence in your defence. Remember, its for the police to prove your guilt, not you to prove your innocence. And the law in question does actually talk about that.

If someone wrote random noise to your hard drive then they couldn't prove these things (and in that scenario it would be a lot easier to frame someone by simply writing some child porn).

Encrypted files are not usually just cyphertext: there tends to be a header file with the file type, and of course there will be associated decryption software on the disk. Time and date stamps may well coincide (e.g. the decryption program was last run at the same time the suspect file was accessed). All of this would help build a case that the suspect had in fact decrypted the data in the past, and therefore could do so again.

As for steganography, they would need some clear evidence that the alleged steganographic data existed. Merely saying "maybe" and a pound will get them a cup of tea.
Call for a new open source economy model
It seems to me that "sell your personal data to advertisers" sows more confusion through its recognition than clarity. People who hear "sell your personal data to advertisers" without your background tend to believe it literally - money is given to Facebook in exchange for personal information (ie, someone's name and particular data about them).

In terms of the "Like" button and other social plugins, unfortunately there's not all that much to be done about the way the technologies in the web works. Facebook came up with this "widget" that provided way more value to people than the equivalent buttons from Digg, Delicious, and several others, many of which encourage integration that uses resources stored on a central server which could allow tracking even without clicking on them. Many of these widgets need to talk to a server anyway - to provide credibility and popularity by showing how many people have liked the content. However, the "Like" button needs to talk to a server to provide its additional value - to show you a list of your friends who have also liked this content.

I encourage you to read the Facebook Data Use Policy, especially the section about "Social plugins" under "Other websites applications", and the link through to the Help Center that gives even more information about how that data is and is not used.
We are have begun to outlaw privacy. This is wrong. Speak up, while you still have a voice.

http://archive.org/details/the_hangman_1964
https://www.youtube.com/watch?v=keZlextkcDI
https://en.wikipedia.org/wiki/The_Drumhead