skysight-inc/HackerNews huggingface dataset:
"My limited and very biased samples suggest that hackers have a much greater intrinsic desire to improve their skills than those in other professions. We want to be ninjas not just because it will mean better-paying and more exciting jobs, but because there is something innately cool about knowing how to properly wield Javascript, Erlang or Clojure."

ENOPARSE. Beginning looked promising, but examples of what is cool quickly spoiled it completely. Hacker is most likely a good programmer, but even very good programmer doesn't have to be a hacker. Seriously, using HTML+CSS+JS, while making over 50% (80%?) of HN content, isn't hacking-related stuff at all. Heck, you can "hack" some HTML/CSS/JS platform differences in particular browsers with some workarounds, but it doesn't make you a hacker. If the things will go on, it looks like a hacker term may become a synonym of the web developer. Or programmer using lesser known languages too. It would be huge slap in the face of real hackers.

Hackers are behind stories like:

- X86 MMU fault handling is turing complete -- https://news.ycombinator.com/item?id=5261598

- The 8085's register file reverse engineered -- https://news.ycombinator.com/item?id=5314442

- Dalvik patch for Facebook for Android -- https://news.ycombinator.com/item?id=5321634

to name a few recent ones.
Chrome for Android lets you move between tabs easily by swiping from the left and right corners of the screen (and swiping in general is used for tab navigation in Android). Maybe Opera could rip that off.
I'd agree, except that it is a privately-funded expedition with "very little government involvement". I can't complain that someone in the private sector is pushing exploration of space further (even if the exploration part is limited), with no (or "very little") cost to me.
Totally agree. Nowadays I try to be laser-focused about what I do in my 'free' time. The bar is set much higher than when I was younger. It's not so easy to stay focused though with all the high-quality distractions these days.
Tips On How To Qualify For Commercial Mortgage Loan In Simple 3 Steps
But now you are in the position where you know your work looks bad. Imagine when you were younger and said, "This, this right here is better than anything anyone has ever written."

At least now you have a decent smell test.
So exceptions do add structure as to where you can go _to_ but they serve the same purpose in where you can come _from_ Its a little easier to trace since you are scope bound, but its still harder then being able to trust the control flow of your code. Additionally because you can't trust control flow of your code ( since any time the sub routine can essentially longjump to some place higher in your stack) you are now required to context wrap all your code in try blocks essentially implementing bookkeeping that the compiler will do for free if you just design your code in a sane manner.

This is why java implemented typed exception throwing because it the only way to have some semblance of safety when programming with exceptions. I am even more disheartened to see that the author uses my beloved scala and in still trying to do this kind of nonsense, when we have plenty of good tools at our disposal to negate the use of exceptions for control flow.
If you show picture to one head. does other one know what it was?
Exceptions break normal encapsulation mechanisms but as long as you code is exception safe, nobody cares, it's just that exceptions are the new goto, and nobody likes goto.

However they are only few good reasons to use goto, and exceptions for control flow should be treated the same.

Therefore the point we should make against exceptions for control flow is not exceptions are for exceptional
circunstances but; as a rule of thumb exceptions are for errors. And indeed they help a lot in not obscuring
normal program logic, we allready have other tools for control flow.

Nobody likes goto (and my bad english)

bye
Not a fan of this post. Link bait title followed by almost zero substance.

Stockbroker performance would be an ok point of comparison for another non-deterministic profession, like an athlete. But programming is deterministic. Your code either performs the desired function in the desired way or it does not.

Additionally, there are clear skills you can pick up. You either know these things or you don't.

You really can objectively improve at programming, without room for any interpretation or argument. There's no randomness involved.

With being a stock broker, there's a luck factor. Your pick may have been based on sound objective reasons. Made better by more thorough processes than picks you made in your 20's. But natural disasters or internal corruption which was not disclosed may cause an outcome completely against what everything else predicted thus ruining your performance.

Unpredictable disasters for us can be setbacks, but they don't ruin our performance as developers.
Given that the Mir discussion was on the front page some hours ago, this comment does have something _constructive_ to add.
RockThePost Revamps Its Crowdfunding Platform.
it's the same with stock price. say there's a giant correction. the value disappears. it wasn't stolen from anyone. the same way the global economy has grown over thousands of years, and people are much wealthier - that isn't because they stole from anyone but the total value of the entire economy grew and "everyone" became wealthier.
I'm curious, would you elaborate on your reasons to avoid "to be" verbs?
The author notably tries to refute arguments against the use of exceptions for control flow, but doesn't present any reasons (at least not in this article) as to why this usage might be a good idea.

There's no compelling reason to introduce odd, non-idiomatic code patterns when they don't confer a significant benefit. Some people here argue that the "intent" of exceptions in a language design is not relevant compared to what can be done with them. In general, I disagree with this. Language designers' intent informs the expectations of readers of code, and your readers' expectations are important. Code is a form of writing for communications, both with the computer and with maintainers; it's not artistic writing, where you might deliberately violate expectations or norms in order to delight or surprise your audience.

That said, using exceptions as a method of transferring control to a non-local, dynamically-bound location is a powerful technique for which few languages offer an explicit alternative. It's also difficult for readers to analyze, so it should be used sparingly. For instance, I can think of reasons that one might use this technique within a container or algorithm library, but I can't think of a good reason for a container library to force this control flow idiom on callers by throwing exceptions to signal common situations.

(As usual, Common Lisp is unusual here. It has a throw/catch feature which is explicitly a flow control mechanism, and not just an error-handling mechanism. The standard documentation is interesting in that the Notes section suggests exactly when one would want to use this mechanism:
http://www.lispworks.com/documentation/HyperSpec/Body/s_thro...)
I'm sorry but I am too getting better.

It's just that getting better is a draining, exhausting, humbling, confusing, difficult, pain in the ass process where your effectiveness goes to 0 for a while as you do something new.

I think the reality is that people avoid getting better because the process to truly make such strides is a horrible experience.

For instance; after 12 years of vim I'm trying emacs ... intensively; and it's overwhelming. I want to do things in vim but I'm forcing myself to learn the other side of the fence. And you know what? It has been truly invaluable.

Next time you get an idea tell yourself: "I'm going to write this in (pick a random language, like prolog, or ocaml that you don't know)."

And stick to it until it's done. Pretend like you've never used anything else and must learn all of it over again.

Then try something else you aren't good at. Spend many hours a day at it.

Ask yourself "If I was 15 ... how would I approach this?" or "If I was much smarter than me, how would I approach this?". Both systems help you unshackle yourself from your comfort zone and the latter helps you try to get a better handle on things you haven't yet.

Dedicating yourself to the learning process towards mastery outside the institutions of learning takes real dedication and is a pain.

But I certainly write a better parser and lexer than I did out of college. I certainly write better functional and object oriented code. I certainly organize my time better. Across the board, I run circles around my 23 year old self because I continue to endure the unnecessary pains of intellectual growth.

And one day, I'll finally sit down and figure out how to write a mobile app. It's up next. I've had a bunch of failed starts, but my next idea will run on my phone; whether it belongs there or not.

Not because "I can" but because I've told myself that "I will".
Congratulations, you just gave syntax highlighting a whole new meaning!
Not Everyone Wants to Make Stuff
This intentional use of the definition of a word from one context in another context is equivocation, a form of dishonesty that it makes little sense to tolerate.
I don't take the engineer's and entrepreneur's stance here that every thing that I work toward have a so-called practical application and measurable economic value. You can spend your life on something without expecting it to "make you better".

The efficiency in my craft that I gain may prove to have some value to others in the "real world", but make no mistake, I'm not driven by anything but my interest in the craft itself.
The Great Programming Debate
"Somehow"?

They've given a specific list of reasons. If you're going to complain about it, at least refute their specific technical reasons if you want your complaint to have any credibility.
And yet they made Lego games and failed to make something like Minecraft, which is a natural fit for them.
I think every MBP I had after my iBook did that to me.
I guess this depends on the market you are entering though surely?

If you are entering an already pretty saturated market then you are probably going to struggle for customer attention without looking very slick.
If it goes high enough, it will be worth mining trashed HDs for lost wallets.
It will be interesting to see how many (if any) HTML features they've dropped by switching to WebKit/Chromium. CanIUse [0] shows the latest Presto-based Opera having the following features that Chrome on Android doesn't:

getUserMedia/Stream API
Shared Web Workers
CSS3 object-fit/object-position
Color input type
Drag and Drop
Datalist element
WebGL - 3D Canvas graphics (partial support)

[0] http://caniuse.com/#compare=op_mob+12.1,and_chr+0
When you have a growing economy but a fixed money supply, money will appreciate. When this happens, people will prefer to keep money rather than spend it, and you get deflation-induced recessions/depressions. See the latter part of the 19th century in the US for repeated examples of this.
Djs Kentucky History & More: The History Of Martin County, Kentucky
He's right that this at least better than the "we use cookies" notice.
Governments do freak about gold though.
Maybe I was just being arrogant! I left a company feeling like I was 90% through a project after working on it for 3 months. The company released the finished project over 3 months later, and I wondered what took so long. I said "I knew that the developer they put on the project was really slow!" But maybe I was just being arrogant.
Yeah, sometimes, using exception as control flow is the only simple and clear way. I do use it occasionally.

ex. Lets assume that a problem can be attacked as algorithm1 (A1), and algorithm2 (A2). A1 is fast but cannot handle some corner cases while A2 is slow and can handle all cases. we also assume that there is no easy way to tell whether A1 is good or not without invoking A1.

So the function can be implemented as:

void A()

{

try {
A1();
}
catch (e) {
A2();
}

}

void A1()

{

.....
if(corner case) raise();
.....

}

Is there a simple way to avoid using eceptions here?
I bought a new reserved instance yesterday, and got the email from Amazon about this today. Good thing that "New Reserved Instance prices will only apply to Reserved Instances purchases made on or after March 4th."
Maybe its an avoidance of identity with these things? Typically people regard things that they claim are part of their identity as more fixed than other things.

Alternatively, he could be following the advice of Korzybski, in Science and Sanity en.wikipedia.org/wiki/Alfred_Korzybski
My 2012 rMBP just started randomly locking up, forcing me to do a hard reboot. It's weird because sometimes I can move the cursor around, but nothing else will work.
We could always say that you shouldn't use return statements for control flow to complicate things further. ;)

Your code doesn't preserve information about what caused the failure though.

And also, I actually did magically reduce lines of code since I can just let the exceptions I fix bubble up and I've customized my web framework to turn them into appropriate error pages and the the <Class>.NotFound exceptions are even annotated so that they're automatically turned into 404s.
Phusion Passenger 4.0 Release Candidate 4 – Phusion Corporate Blog
specific? They are pretty damn vague, not to mention completely wrong. See e.g. the comments from X.org/Wayland developers at:

https://plus.google.com/100409717163242445476/posts/jDq6BAgd...
Could also be the tools and tech at our disposal allows us to tackle larger problems faster too.
You mean how will a central authority with the economic stability of the country as its central aim be able to help provide that stability?

Yeah, not so much. Which is a shame because that's a feature of the current monetary systems that I like.
He didn't do any debunking. He merely asserted the opposite; and not very convincingly.

He claims exceptions are fast enough. But though he proposes that exceptions are generally usable, he only backs this up for java, and AFAIK the statement is in general false. In other words, in most contexts, using exceptions for control flow is expensive.

He claims that "decent debuggers" won't pause - but which decent debuggers is he talking about? Because that's not at all the norm. Furthermore, as soon as you attach a debugger, it's likely all exceptions are much, much slower. Having code that runs orders of magnitudes slower in debug mode is a problem in and of itself because it means that some issues can't be properly debugged. Furthermore, many debuggers are designed to work with convential code - in other words, if they let you filter exceptions, it's not in a practical way intended to be ideally usable as control flow.

He claims that it's not hard to understand, but provides no support. If you're going to deviate from convention, you should have a reason; some argument. Merely the fact that it is conventional is a plus since that simplifies communication and maintenance. And frankly, having read his article, I don't see the advantage - he's doing it differently, but what's the point? What's he winning?

He claims that the arguments against exceptions aren't well documented, but that's simply because he's searching rather narrowly. All the way back to dijkstra's article on goto such control flow existed, it just wasn't called the same. And exceptions are essentially non-local goto's.

Finally, he's doing an end run around the type system. This is about as problematic as a null reference; i.e. it's going to cause constant pain. You've documented your program by type annotation which is good for humans, good for API discoverability (autocomplete) and allows some static checking. By doing this you're adding a hole that isn't properly annotated. In some languages, e.g. java with checked exceptions, this is less of a problem (but then it's also quite wordy). And again, it isn't true in general - maybe for java.

In a purely functional language with checked exceptions, I can see his argument holding water - Say, some Haskell variant. At that point, the distinction between this approach and discriminated unions is very small - indeed, if you use some nice monadic syntax sugar you could probably exchange the one for the other.

But really, why not just use discriminated unions in the first place?
The world's billionaires are racing to Mars. This should be very interesting! It will excite humanity and inspire millions of young people to become scientists and engineers.

Tito is planning for 2018. Elon Musk around the same time, maybe a bit after. And Bezos will pick up the pace too. We really do have a new Mars-focused space race with multiple billionaires competing. Amazing!
Exactly. It's essentially as close as you can (legibly) get to an Option/Maybe monad in Java.
boom. what a colossal waste of money that looks to have been.
But doing things in private means there is no oversight or accountability.

But doing things in private increases voter apathy.

But doing things in private is suspicious behaviour in a Western democracy.

But doing things in private means that the people most affected will not be able to contribute to close loopholes, tighten up wording, spot inconsistencies, improve operational processes etc.

But doing things in private means that bribes, extortion, blackmail etc. are par for the course during negotiations, with no penalty of a backlash.

But doing things in private means she with the biggest bribe wins.

But doing things in private is merely a delaying tactic as the law has to eventually become public knowledge at which point it will be politicized, escalated etc.

But doing things in public is how we (attempt to) improve fairness in a modern Western democracy, despite the cost in efficiency.

Clearly there is a compromise to be made between the two extremes, as dlss's points are very valid and are constantly a challenge for democracies to overcome. But I posit that the balance doesn't lie on the "keep everything secret" side.
works in the latest version of Chrome on OSX for me. Unfortunately I think this line in drummachine.js proves it wont really work in FF/IE:
context = new webkitAudioContext();

(I believe FF has a separate mozAudioContext(), cant wait till this stuff is standard in browsers).
Now somebody needs to make a 303, hook them up to each other via websockets and we can have a banging html5 rave.

There are a couple of synth examples on the root page of that domain, just need to make 'em scream and squelch. Easier said than done unfortunately.
I had to chuckle when I read this (near the end):

"That, needless to say, is a recipe for irrelevance and, eventually, disappearance."

In the last eight+ years I've used OpenBSD extensively as the networking and firewall core for smart grid networks. I can, with confidence, say that 100% of the smart grid transactions on at least two $Billion+ utilities on at least two continents flow through OpenBSD servers.

We evaluated the full gamut of Cisco, Fortinet, and other Firewall technologies, but, from 2004 through 2010, only OpenBSD had the functionality and failover that we were looking for for < $100K/appliance. (And, when you want two for redundancy, plus another two for your DR center - Four appliances add up). It almost pained me to see how low-end a server could handle hundreds of thousands of IPv6 UDP states compared to what Cisco would have charged. (Note - and, regardless, Cisco didn't, until recently, handle IPv6 in fault-tolerant Active-Hot-Standby mode on their ASA platform)

For those that have a lot of experience with OpenBSD - the continued rock solid stability, almost 100% complete (and useful) _systems_ documentation (as opposed to the utility and library documentation you get on a linux system), consistent startup/configuration for 10+ years, plus, of course, very mature pf, makes the platform a continuing highly relevant product, that will not disappear for many years to come.
There's a form of English called E-Prime [1] that does this, the idea (I believe) is to clarify what you mean and be clear about how your ideas of things came about. It stops lazy assertions and gives you perspective.

For example, you can't say: Lua is better than Python[2]

Instead you say: I prefer Lua to Python

Or perhaps you say: More projects that I rate highly use Lua over Python.

Or maybe: Lua scores more highly on common performance benchmarks than Python

[1] http://en.wikipedia.org/wiki/E-Prime

[2] Just an example; I'm not actually saying Lua is better than Python
Heh, first icon in Speed Dial is to Google+. Even though the browser is nearly identical to Chrome for Android under the hood, Google is still serving the basic html version to Opera.
Do you know if it will be possible to add Southwest Airlines to your data set in the future?
Continuations: Choosing Technologies When You Start
I'm convinced that Google Glass will fail for this exact reason. People really don't like being recorded. Even though surveillance cameras are widespread, it's much more personal when you can see the person recording you.

All it will take is one creepy app for Google Glass and people will start to revolt. Imagine an app that has a large amateur porn database that does facial recognition on people around you and displays naked images of similar looking people. Obviously that would be an incredibly hard software problem to get working well, but it doesn't have to work well; in fact it doesn't have to work at all. All that is needed is a single article about it in the press and it will take off.

I imagine that a very loud privacy vs free speech debate is imminent.
Same here. I've been following it but have always talked myself out of throwing money into it. Guess I'll just make money the old fashion way. Curious what this guy [1] is thinking right now.

[1] http://www.reddit.com/r/Bitcoin/comments/18f3pd/i_have_my_en...
According to the official blog post at http://my.opera.com/ODIN/blog/ Opera 14 for Android is based on AppleWebKit/537.22 and Chrome/25.0.1364.123 but with added support for:

input type=color
Microdata
WebGL 3D context
CSS3 @supports
Winners of the HTML5 is Ready App Contest
We're no longer on the gold standard because it lead to hoarding and economic inflexibility. It doesn't destroy wealth, however when gold is your currency and people hoard gold (for any reason be it economic instability or as an investment in the future price increases) the economy loses that amount of circulating money and moving money is what makes an economy work, not stagnant saved money. So by signing that executive order and replacing hoarded gold with non-appreciating paper money there was less incentive to hoard and more likely to spend, which is what we needed to get out of the Great Depression.

It'd be a little harder for that to happen with Bitcoin since it's not a currency backer but a side currency but the chance it could stagnate into investment only is there. Then it's value is entirely determined by the whim of the market since it's entirely ephemeral. (Yes all monetary value is ephemeral, intangible and based on the belief and good will of the market, but thing like gold have a longer history of having value everywhere.)
Why go the lawsuit route - that just brings attention back to a bad review. If the claims of the BBC are false, play the media - suggest a rematch, ensure the terms are fair but supportive of your case, and use the latest model to blow them out of the water.
The light speed limit comes up elsewhere. As best we know, you cannot transmit information faster than c. Not even with "spooky quantum stuff". There are no shortcuts. Information is just as real as matter or energy--if not more so, see John Wheeler's "it from bit"--and isn't tied to meaning, see Shannon.
Understanding the Bias-Variance Tradeoff
It's Top Gear. From a journalistic point of view, they are akin to the Daily Mail or Harry Potter. The outcome is decided up front.

They won't win a rematch, even if they do.
The gradient chart
Writing Makes Me A Better Designer