skysight-inc/HackerNews huggingface dataset:
For a field that has a number of classic formulations of this essay (look up "The Story of Mel, a Real Programmer"), this is a new and excellent addition to the genre.

It's not just about programming. In writing up my own bit on this piece (http://redd.it/24cxgc), I happened to look for the origins of the phrase "complexity is the enemy", figuring it would turn up in some late 1980s / early 1990s Usenet post.

Nope.

The Economist Newspaper, Jan 18, 1958, volume 186: "It is easy to see that complexity is the enemy of reliability".

(Thanks again to the Google ngram viewer).

Bruce Schneier takes this one step further and notes that "Complexity is the enemy of security"

https://www.schneier.com/news-038.html

This also applies far beyond just programming, the Internet, or IT. All technology faces this problem, and it's going to bite us by and by.
Improves 0.004%.
Editing the same thing in different places at the same time.
It isn't strange, it's standard practice. What would be strange is to force Python to hold one hand behind its back and be used in a totally unrealistic way that doesn't reflect normal practice. And by strange I mean basically dishonest about the performance available when using Python.
But vim already has multiple cursor support, and arguably even better tools that do the same job.
I always see people using 'sociopath' as different from 'psycopath', and I also see people claim they mean the same thing, and I also see people say that neither are used anymore, technically speaking (as in psychiatrists). Anyone with formal training on the area would be kind to briefly (or not) clear this up?
Demo somewhere?
Buffer's salary and equity list
you can get multiple cursors with this plugin (works better than I expected) https://github.com/terryma/vim-multiple-cursors
Twitter stock slid after the company reported results
Simple python script to deobfuscate the hex and replace the junk variables:

import re

a = open('test.php')
line = a.readlines()

# Replace hex values with ASCII, regex to find the \x values and a lambda to replace each match individually
def decoder(char):
return char[2:].decode("hex")

unhex = re.sub("\\\\x[a-f0-9][a-f0-9]", lambda m: decoder(m.group()), line[0])

# Replace ${"GLOBALS"}["foo"] = "bar"
for match in re.findall('\${"GLOBALS"}["[a-z0-9]+"]="[a-z0-9]+"', unhex):
variable = re.findall(r'"(.*?)"', match)
pattern = '\${\${"GLOBALS"}\["'+variable[1]+'"\]}'
unhex = re.sub(pattern, variable[2], unhex)
unhex = unhex.replace(match+";", '')

# Replace $bar = "foo"
for match in re.findall('\$[a-z0-9]+="[a-z0-9]+"', unhex):
replace = re.findall(r'"(.*?)"', match)[0]
pattern = re.findall(r'\$[a-z]+', match)[0]
unhex = unhex.replace(pattern, replace)

# Chuck in newlines
unhex = unhex.replace(";", ";\n ")

b = open('out.php', 'w')
b.writelines(unhex)

The files all seemed to be one liners, so this works. More work to replace everything else though. Blergh.

Edited to include variable replacement. I think there are some catches with things like ${sgasklgna} but it largely works. Just needs prettifying.
FYI Mercurial has time-based releases. So 3.0 doesn't mean anything special (it's just the next feature release after 2.9).

http://mercurial.selenic.com/wiki/TimeBasedReleasePlan
"Distributed" Hadoop Handbook
Trust Is Good. Control Is Better – Securing The Internet Of Things
In a list that's supposed to point out "unexpected" killers, snakes are, interestingly, far and away the deadliest of the animals you'd actually think of when someone says "dangerous animals".
My favourite is when there's a trail leading to their command and control IRC channel, so you can turn up there and bother them in times of boredom.
One big difference is that _the entire system_ is built using Nix, including configuration files. Nothing in /etc is editable, everything goes through /etc/nixos/configuration.nix followed by a `nixos-rebuild switch` (does the entire build before atomically switching) and a `nixos-rebuild switch --rollback` (takes a few seconds) if you panic.
The configuration is just a Nix expression so you can do whatever you like with it, it's not like a JSON file but actually integrates with your packages, allowing you to override settings etc. There are options which are the same as USE flags, for example you can turn off X with `environment.noXlibs=true` and the entire system would be rebuilt without X.
It's at the same time much simpler than portage and much more expressive.
Yes, mosquito it is a dimitive for "mosco", that comes from latin "musca". Sharing a latin root doesn't make them mean the same.

If you understand mosquito as "little fly", then how do you call actual mosquitos? Im from spain. I can assure you no one here will take the word mosquito for other than the blood sucker insect.

Don't say you are wrong, probably this is about diferent spanish usage since it varies from country to country and even more from continent to continent.
PYTHONPATH is a liar. site.py and easy-install.pth tell the truth
Yup, which humans can pick up if they train their cat to use the same toilet as they do. Incredibly unsanitary. People and animals have separate shit receptacles for a reason.
Well, yes and no.

Python apps CAN be fast. Python itself isn't. It's dishonest to do a NumPy benchmark to show how "Python" is fast if the article implies that all code written in pure Python will be as fast. Then newbies will come, try to write fast algorithms and find out, they have to rewrite them in a faster language to get that advertised performance.
It also influences human behaviour [1] which is probably why the grandparent's post is so massively downvoted ;)

It can also be deadly when it doesn't kill you "The difference in seroprevalence of toxoplasmosis in these 2 samples suggests that Toxoplasma-infected subjects have a 2.65 times higher risk of traffic accidents than Toxoplasma-free subjects"

EDIT: it also suggests an explanation: "the effects of T. gondii are best explained in evolutionary terms by the manipulation hypothesis, ie, the parasite changes the behavior of the rodent in such a way as to increase the chances of the parasite's getting into a feline and completing its life cycle."

[1]
http://schizophreniabulletin.oxfordjournals.org/content/33/3...
Easy Way To Integrate Video, in Your THREE.js Game with THREEx.videotexture
> the performance available when using Python

The honest thing would be to say "yes, Python is slow, but you can use some fast modules written in C".

You can even go farther and say that if you're going to use Python for non-trivial projects you better learn C (or some C generator like Cython).
Show HN: Music for Dinosaurs
One big difference is that:

function functionName()

will show up in a stack trace with a name, whereas the other won't.

You can also do this:

var f = function functionName() { }
I'm glad. Because you use Drupal.
340 200-pound angels can dance on the head of an uncracked graphene pin (2mm dia). Only about 3 to 35 on cracked graphene.
A good experiment would be trying an urban track, like you'd see stereotypically at a high school or some parks. Then you'd have the extreme artificial urbanism, yet also have the lazy "just walk the path no interruptions" of a trail.

I also walk at lunch time, also whenever shifting gears during the day, and hike on the weekends on trails, and I don't find a huge difference.
Or jay-walking.

Legally should should walk to the crossing at the end of the block. But pragmatically you could just run across the road during a lull of traffic.
They're plotting:
http://theoatmeal.com/misc/frame/cat_kill
Bitcoin made simple – video animation
It takes a thousand tweets to learn Twitter
Wow, 50,000 snake deaths per year!

Living in Europe, I've never seen snakes except in a zoo.

How do you avoid them in a country with snakes? Can they pop up anywhere out of nowhere?
Depends on the language I guess? In italian we only use mosca.
It is troubling to hear that digital-ocean takes arbitrary action to shut down servers without giving atleast 24 hours notice.

It is worrisome for me because I am a linode user and only recently created a digital-ocean droplet and after playing with it, I liked their service and was planning to host a new app with them instead of Linode while the existing one's remain with linode.

But now I am not sure?

Can any digital-ocean staff please provide a link that shows your policy for shutting down servers. I need to be sure this high handedness is not actually in your policy.
If someone wants to do the kinds of computations done by NumPy, what's relevant is how fast that actual practice is. Not some stupid alternative implementation intended to show that Python is slow, but which nobody would ever actually use.

In other words, it's nonsense to discard Python with NumPy as an option for fast computations just because we can imagine an imaginary world where NumPy was written differently, purely to penalize this environment for having used more than one language.

To be honest, we should benchmark what we actually have, not imaginary made-up handicapped versions of the things we are judging.
You should go in the country side more, there's loads of snakes in Europe in the wild, though not Boas or Pythons.
http://kangax.github.io/nfe/
Interestingly, Italian has 'mosca' for fly, too, but mosquitos are "zanzare", which is onomatopoeic.
And a hearty fuck you you should give to those making you do unpaid overtime :)
What about consulting the actual, present day, normative instead of the middle age origin?

http://lema.rae.es/drae/?val=mosquito
http://lema.rae.es/drae/?val=mosca

Sorry about frustrating you, and i mean it.
Problem I have with most touch interfaces (and to a wider extent the whole closed iOS ecosystem) is that they still have to show how they actually improve productivity. So far all we've seen is dumbing down the "user experience", turning computers from a productivity and creativity device into a pure media consumption device, glorified TVs basically. This is much much worse then the BASIC home computers of the 80's.
This initiative reminds us painfully that Bitcoin still hasn't found its kill application (apart from Silk Road). If it had, they wouldn't have to give away BTC for free but these MIT students would queue up to buy BTC.
Actually that's not true at least in Firefox and probably chrome.

Take a look at http://jsfiddle.net/2LsSg/.

window.onload/g@http://fiddle.jshell.net/2LsSg/show/:23:5
window.onload/f@http://fiddle.jshell.net/2LsSg/show/:26:5
@http://fiddle.jshell.net/2LsSg/show/ line 29 > eval:1:1
window.onload@http://fiddle.jshell.net/2LsSg/show/:29:1

(I guess jsfiddle wraps the JS code in a window.onload handler, which makes this a bit more ugly)
When TDD Doesn't Work
This is nothing but trolling. I wasn't disputing your definition; but you weren't including it as merely an informative point on a random English word. By the pragmatics of English conversation, it was clearly meant as an accusation in this context. Your retreat to defense of the definition, as opposed to any notion of the applicability of the definition or of anything else you've said, is disingenuous. In any event, at this point I am done responding in this thread, whatever else is posted.
Vim doesn't need multiple cursor support. Train yourself to think in Vim—you're editing text and words, not moving a cursor.

Macros and global replace already do what you want.
Fullscreen mode has been a standard feature of Linux window managers for a long time - it was certainly available in the metacity WM (used by Gnome 2) 10 years ago.
File System and JavaScript. Processing Files in Browser
This article is about processing files in a browser. It explains how you can read and change files data, drag-and-drop files to/from browser, parse excel and pdf on the client side without server.This article also includes caching media data and playing them offline.
That's it, I'm getting rid of my pet cat in favor of a hippopotamus. Safety first.
Weekly links for dojo toolkit devs
What is Root Cause Analysis?
The ubiquitous implementation of Python is written in C. So, for example, the list-sorting algorithm is written in C. If you want to eliminate C from the equation completely, I guess we now have to rewrite the C sort algorithm to be slower to show off "how slow Python really is" in isolation from C. But this is a benchmark of a fantasy world. That Python isn't the real Python we use. In the real world Python is not in isolation from C, by design, and this works well.
Don't say you are wrong, probably this is about diferent spanish usage since it varies from country to country and even more from continent to continent.

Daily language use is a very different thing to etymology.

Let me give you an example:

I'm learning Polish as a second language, and I love, love, love the Polish word for whale: wieloryb.

Why?

It's a contraction of the words for great/large and fish: wielki + ryba = wieloryb. Isn't that cute?

No Pole in their right mind thinks of "great fish" when you say "whale;" that's clearly nonsense.

And yet despite this, the history of the word remains.
No, it isn't. Labeling is there is express facts so you can make informed decisions related to nutrition.

If you want to eat organic, no GMO popcorn without palm oils made in Brazil, you'll need to either find a manufactured product that is oriented towards your beliefs, or source the raw materials yourself.
Get a programming job in the burbs. Yeah I know not very trendy, but you gotta live for yourself first and others later. Both my first and second real job were in suburban office parks with massive forest stands around the buildings to separate them, duck ponds, etc. Both formal garden-ish areas and informal trail areas. My third job (also suburban) was kitty corner to a city park full of picnic tables and wooded walking trails.

Currently I'm in a very extremely urban location, no place to park, loud heavy traffic, nothing green for a couple miles unless its a hyper manicured lawn covered in blowing garbage or a potted plant, panhandlers all over, garbage everywhere, super high crime (relatively). Other than that, its a good job, but I miss working in better more civilized environments.
Problem is that iPads/touch devices in general don't scale up beyond non-toddler tasks. It's painful to watch someone do something simple as their email on an iPad. Even copy-pasting something from one app into another is hilariously involved.
Automated Focus Stratgies and Algorithms
Why not do the reverse, and declare the inner functions before?
Content Aware Typography
Run Quartz, The Java Job Scheduler, on Top of Redis
Really the biggest risk is if you're walking in the veld and step on one accidentally, they are not aggressive animals that seek confrontation with humans. Unfortunately they hide themselves very well and are entirely motionless when resting so it's easy to accidentally step on.

A snakebite is not usually deadly. Most deaths occur in poor parts of Africa where people do not get appropriate treatment.
What about consulting the actual, present day, normative instead of the middle age origin?

Because one's the reason it got its name, and the other's day-to-day speech?

Sorry about frustrating you, and i mean it.

No worries, and I'm sorry if I caused anything on my part.

I read your comment as picking holes in an article purely for the sake of picking holes, which is something I find frustrating waaaaay out of proportion.
Well, from the parent poster's position, Lisps would not be "functional" - they'd be "pseudo" or "mostly" functional or something. Obviously this disagrees with common usage, but the expressed motivation "mutation disagrees with 'function' in mathematics" isn't crazy. I do think it's insufficient, however, in the face of common usage given that we've collectively chosen that "purely functional" should mean that.
Hackers set to release Bitcoin-laundering app 'Dark Wallet'
You didn't read the thread. The OPs code used very small arrays and using numpy was slowing the code down by an order of magnitude. The pure python solution is 17x faster.
I very much agree. When that happens to me, it's usually because I'm thinking about the issue in the wrong way because of how I have read (or perceived) the code and how I think the code should be. Wrong notions, assumptions, etc. Getting away from the code, allows me to carefully focus only on the problem. Then things become clear.
yes, http://HTMLform.com. Its a form designer with some cool features like popup forms. Cool price too.

If you want to try the Premium version write me at info(at)htmlform.com

if you are interested write me there. I dont read HN a lot.
Eh, Stripe has way larger/more high profile customers than us, but yes we've been very happy with them.
In Greece we have plenty, in the countryside and in the Islands. If you go to Ithaca for example, you'll come across many snakes in June-August if you visit the villages on the hills.

You avoid them by learning to live with them. Most snakes are afraid of human. Some are not poisonous. People who live in the specific knows what's dangerous and what's not, where they live what to do and how to react.
Wistia “How To” Video Tips – Video SEO
The original one did as well initially, then quickly the films in the images changed to what you saw.
Michael Lewis: The Wolf Hunters of Wall Street
Baby we were born to RUN: celebrating 50 years of Basic
What is this book written in? I've seen this format for the xv6 textbook as well.
I have to agree with you on 4OD. I've always had big issues when using it. Were your issues only with the live broadcast? Would you have been able to watch it on demand or would it have the same problems.
I see two things in lots of JavaScript these days, both of which probably contribute to the perception of JavaScript as a bad language:

1. Anonymous functions assigned to variables. These make debugging a nightmare. Some (possibly all) versions of IE reports something like "error on line 0" when it occurs in such a function, so you really have no idea what went wrong.

2. Accidental closure creation.

Both of these are avoided by just declaring your functions statically. If you want to create an object, you can still assign a static function to a property, e.g.:

function foo() { ... }
Foo.prototype.foo = foo;

Back when I used to primarily write JavaScript, and compatibility with things like Netscape and IE3 were a concern, I'd write all my code roughly like that and just namespace the functions if they are for a particular class, e.g.:

function className_functionName() { ... }
className.prototype.functionName = className_functionName;

This guarantees maximum compatibility with very old versions of JavaScript/JScript, runtime efficiency (functions get evaluated at parse time not runtime, also guaranteeing only one copy of the function code is ever created) and no possibility of accidentally creating a closure where you don't want to (which can lead to memory leaks).

The downside is that it it makes your JavaScript code look more like C++ code that Java, and even less like Ruby. It also requires a tiny bit more typing, and we all know how much programmers hate typing.
Your Business Dashboard: Hack Your Browser for Efficiency
So anyway, where is NeoEmacs?

*i am going to run now.
Per meowface's comment, this code is ~4 years old. It's in a much better place now, but there's still a lot of room for improvement.

The vulnerability wasn't in the main application. I'll write more about it on my personal blog in the coming days (http://chrishateswriting.com).
I thought jay-walking was specifically crossing against the lights at a controlled intersection. If there are no lights (within ~20 metres) it isn't jay-walking...[0]

[0] I could be completely wrong, and given the international audience I am probable both right and wrong.
The Avalon movie theater in NW Washington, DC, has a "Panorama of Greek Cinema", which has always amused me because the only capitalized word that does not derive from Greek is "Greek".
You can still pass in callbacks to them. So if I got the parent's intent right, you've got:

function bunchOfAsyncThings(callback) {
var function1, function2;

function1 = function (callback) {
// do stuff here, then do callback
function2(callback);
};

function 2 = function (callback) {
// done with everything
callback();
};

function1(callback);
}

(Edit: formatting)
Are you referring to a case like this?

{
f();
var a = 3;
function f() {
console.log(a);
}
}

That will print "undefined" because the entire function f() is hoisted and callable in the first line, but the variable a has not yet been assigned the value. That's not a race condition (those are related to timing in concurrent systems) but is certainly the sort of counter-intuitive visibility that makes me prefer to use function expressions most of the time.
My site had been un-validated for Cards, so maybe that's what was causing it.

You could try to see if the same applies to you.
Does anyone have the specifics of what malware time4popcorn includes?
If it's the same thing, find & replace?

Just playing devil's advocate, I've never come across a situation where I wanted multiple cursors that sed or macros couldn't do for me.
Exactly my thought: I switched from screen to tmux years ago, why I should care now? tmux does everything that screen didn't back then, and has improved even more since then.
No. The language in which the interpreter is written is not the point here. The point is the interpretation overhead of the best (or "only" if we're being pedantic since Python is de facto whatever CPython does) interpreter.

That overhead is the price you pay for using Python so it's what matters when you compare languages for CPU bound projects.
In LaTeX. Sources are linked from the page:

https://github.com/AllenDowney/ThinkOS
I thought we were going swimming!
Actually using var makes the function more reusable. For one, having the reference allows you to pass it along to other functions. Further, declaring a function without var is not the same as throwing it into global scope, it can still only be accessed by the local scope *unless you assign it to a global variable of course :)
And how, exactly, do you conclude that I'm American? Or that I've not worked professionally on three continents?

Cool assumptions, bro.

And why propose a thought experiment if you're just going to dismiss criticism as a reflection of the critic's nationality, instead of evaluating them on their own merits?

You didn't address a single counterpoint I made; it sounds like you're not interested in a "thought experiment" so much as proposing your idea and then not hearing any criticism.
You could also remove the hard drive. It's very easy to do and would prevent any accidental write.
Native here. I know mosca, mosquito, mosquita, moscón, moscarda, moscardón and even moscoso and mosquearse.

But "mosco", really?
Besides the lethality of the disease, we must consider how debilitating it is. Read what it's like to have Malaria.

http://www.gatesnotes.com/Health/What-Malaria-Feels-Like-Mos...

Imagine feeling like that and trying to go to school, work, or take care of your family. It would be impossible. It's undoubtedly contributed to the lack of development in most of Africa.
It's mostly that the snakes avoid you. Snakes don't see humans as food and so mostly get out of the way when humans approach.

In Australia, where I live, it's said that even in the suburbs there will be a snake living somewhere close by. But most people will rarely ever see a snake and most snake bites are from people being foolish, like trying to kill a cornered snake.

Only four to six Australians suffer a fatal snake bite each year, and this is with our famous collection of highly venomous snakes [1]. I understand that fatal snake bites are much more common in India though, and I guess that's from population pressure and many more Indians living a rural life.

[1] http://www.australiangeographic.com.au/topics/science-enviro...
The Panda Patent: Brand Mentions Are the Future of Link Building