skysight-inc/HackerNews huggingface dataset:
OP here. Several people have pointed out that of course I should expect a leak, since each `logIt` object is leaked. That's absolutely true; my point was just that we don't want `str` to leak.

But the original bug that led to this discovery involved a data structure that shouldn't have leaked at all. I've updated the post to show it; duplicated here since GitHub Pages seems to cache posts pretty aggressively.

var theThing = null;
var replaceThing = function () {
var originalThing = theThing;
// Define a closure that references originalThing but doesn't ever actually
// get called. But because this closure exists, originalThing will be in the
// lexical environment for all closures defined in replaceThing, instead of
// being optimized out of it. If you remove this function, there is no leak.
var unused = function () {
if (originalThing)
console.log("hi");
};
theThing = {
longStr: new Array(1000000).join('*'),
// While originalThing is theoretically accessible by this function, it
// obviously doesn't use it. But because originalThing is part of the
// lexical environment, someMethod will hold a reference to originalThing,
// and so even though we are replacing theThing with something that has no
// effective way to reference the old value of theThing, the old value
// will never get cleaned up!
someMethod: function () {}
};
// If you add `originalThing = null` here, there is no leak.
};
setInterval(replaceThing, 1000);
Embracing Failure to Improve Resilience and Maximize Availability
"They deleted the ability for people (both old and new to the web) to easily create web sites, and be in complete control of the content and presentation they provide to their audience."

That makes no sense whatsoever. Does no one remember the extra JS/CSS to hide advertisements?
If we're pretending to be severely brain-damaged to the point where we can't see the difference between different things, then yes, the title is totally accurate.
Very interesting that Euler even sometimes used π as C/r!
Long story short: I thought I had two types of backups, MySQL dumps and snapshots of the VPS the MySQL server ran on. It turned out that those were both stored on the same hardware. (D'oh.) Which then had problems. (D'oh.) And my only accessible backups were a day old. I was either forced with "Lose a day of data" or "Reconstruct current state of SQL database from a machine will now not boot."

Long story short: After some don't-try-this-at-home-kids craziness I was able to bring up a second copy of the production environment from the bare metal, initialized it with an empty database, and then copied out the contents of MySQL from the barely functioning hard drive on a machine booted into rescue mode.

How did it almost lose me $X00,000? Well, clearly losing the database is Very Bad and losing the last day of data is Quite Bad, right? $X00,000 = somewhere between Very Bad and Quite Bad times the value of being the sole shareholder in Appointment Reminder.
A Fallacy of Risk
You just changed the way I think about selling hosting and support.
Unlikely, since this isn't a federal case.
There is an argument, because normal people don't know what the hell a READ_PHONE_STATE is.
I love this concept, we could use more approachable static-file-cms solutions for non-technicals.

Without getting too far into a review/investigation, I do feel like a different name would be appropriate. It's already a language and a text-editor, doesn't that just add confusion?
Not to mention that's probably a tactic they use to skirt the law, so if they assassinate someone, and it gets found out later, the agency is not responsible.

I don't think either CIA or NSA have any respect left for the spirit of the law. They "just do what they have to do", and figure out the legal issues later through whatever loopholes they can find.
Maybe it's time to stop electing district attorneys. I personally think it's a terrible system.
Terrorists harder to track after Snowden's leaks, officials say
Are you serious? It's a monopoly for the car dealers. Manufacturers can't sell directly so car dealers get all of the sales.
I mean, which web server? What is the built-in start/stage server built on? Can you place it behind Nginx?
HiDPI support in Gnome
VoterAction.org proved in court that Kerry won New Mexico in 2004, even though its electoral votes were awarded to Bush. Just the tip of the iceberg.
>did I say anything wrong?

Yes you did. You're basically pulling the puppetmaster defense of 'I said something incorrect but you reacted so I win'. People tend not to like that argument.
I'm not an xbox live user, but I do watch my share of movies. I've yet to see a reference to killing a school full of children and eating their hearts in any movie that has come out of hollywood.
Works as per spec, won't fix. Closing.

The definition of "memory leak" is smeared all across the road.
This is quite silly. Car manufacturers sell directly throughout the rest of the world. It's working for them quite well.
That doesn't give you the phone number though, nor does it excuse them using the phone number (as I'm inferring from the wording in the article). TelephonyManager.getDeviceId() returns the IMEI/MEID/ESN, not the phone number. When most developers require READ_PHONE_STATE for a unique id, this is what they use.
You see things like this all the time, where some government functionary declares something manifestly retarded to be true, and the statement is then taken on faith by (the media, message boards, politicians).

The best example of this I can think of is the "100 mile from the border Constitution-free zone", which was the stated position of some moron at DHS that was then (maddeningly, given how great they normally are) picked up by the ACLU. In reality, the notion that there's a 100 mile zone of warrantless personal searches extending inward from every border was a notion that was litigated by SCOTUS in the '70s and, obviously, found wanting.

I would support a public policy that would make statements of this sort ("the CIA has no limits when working with the NYPD!", "We can ghost your laptop as long as you're within 100 miles of any airport!") a firing offense, but short of that, there's not a lot you can do about this problem; if the USG employed 1/4th the number of people it does now, that'd still be over a million people, and no group of one million people can possibly avoid a couple crazy people.

The real check on this sort of stupidity is the courts.
Almost all of them are overseas, outside of US territory and jurisdiction.

http://en.wikipedia.org/wiki/Black_site#Suspected_black_site...
I cannot fathom why such a visually jarring thick bar of color representing the languages used is the most prominent visual element on the page.

It makes no sense. Especially when you consider that you already likely know the primary language the project you're looking at is written in.
The emails are fantastic and I recommend them heartily. Please do consider subscribing if you haven't yet.
Also, why are they still considered "secret" if random people on HN are discussing them candidly?
The revolution will be texted
Give SWTOR Game Update 2.3 A Try Today - MMO Strategy Guides
But the tone and context are not a convincing threat as the comment was made as a joking example how "insane" he was instead of a credible threat targeting anyone specifically.

There is a serious question on proportionality here. Kids do and say stupid things. You cannot bar them from their rights while forcing them to attend school to "protect" them, meanwhile throwing the book at them for every minor stupidity or bad division they might undertake.

Lately I hear more cases of ruining lives by charging minors with ridiculous crimes than school violence... Protecting the youth...
The Antifragile Organization: Embracing Failure to Improve Resilience
So people dislike DRM simply because it conflicts with their fantastical dream of an "open web"? And whether the platform it's on claims to be open or not?

Just because the standard is there doesn't mean you have to use it or websites that make use of it. If I want to enjoy incredible amounts of content for a low price with a side of DRM, then let me. You can go use flash/silverlight/<insert other plugin name here> on another site.
AES yes, PGP no. Anything based on the difficulty of discrete logs is done for. There are 2 types that remain secure, schemes based on the difficulty of solving problems in lattices and problems in coding theory. Lattice based cryptography is particularly interesting since all known fully homomorphic encryption schemes use it. If this remains the case, and if FHE matures faster than quantum computers (and it actually has been as far as I can tell) that everyone will switch to lattice based cryptography making quantum computers a little less useful and interesting.
Didn't you hear of these suspected terrorists sent by the CIA to Morocco, Syria or elsewhere explicitly to be tortured?
I've used Vim for many years and still found Sublime superior after trying it. While I still prefer Vim for quick edits and ssh, Sublime ended being much more productive for coding.
It is however one of the first thing you want to do, and an important part of using github.

Much more so, as far as I'm concerned, than the ratio of various languages within the repository whose level of uselessness is only overtaken by the number of tags in the repo.
Don't forget this app comes pre-installed on several phones too..
>> I mean, shooting up a school and eating their still beating hearts??

It's a completely ridiculous comment and I am astounded that you are taking it seriously.
It is very misleading, if not downright dishonest, to claim that Silicon Valley cities "aren't having a construction "boom," when actual construction tells us otherwise.

http://www.mercurynews.com/business/ci_21274644/rents-rise-s...

http://sanfrancisco.cbslocal.com/video/8986205-construction-...
Lance Armstrong had to hack his blood
"PayPal is currently the only way to purchase a license for Sublime Text."

Why ? I was really hoping to just use a credit card directly.
First, it is not a bug in JavaScript at all.

Here is a technical explanation of why there is a memory leak and how to fix the problem.

The scope chain of Closures (in JavaScript) contains the outer function(s) activation object. The activation object of a function contains all the variables that the function has access to, and it is part of a function’s scope chain.

This means the inner function (the closure) has access (a reference) to the outer function’s scope chain, including the global object. And even after the outer function has returned, the closure still has access to the outer function’s variables.

Therefore, the activation object of the outer function cannot be destroyed (for garbage collection) after it has returned, because the closure still references its variables.

When the outer function returns, its own scope chain for execution (its execution object) is destroyed, but its activation object is still referenced by the closure, so its variables will not be destroyed until the closure is destroyed.

The execution context of a function is associated with the functions’ activation object, but while the execution object is used for its own execution and is destroyed when it returns, its activation object is referenced by closures—its inner functions.

Now, as to the specific example in question:
The reason the str variable is never destroyed is because it is referenced buy the logIt function because the logIt function's execution object references the entire scope chain of the run function, and the logIt function is never destroyed, so the str variable remains in memory.

As the original author (OP) suggested, be sure to dereference any local variable in the outer function that the closure is using, once the closure is done with it or once the outer function is done with it.

Also, simply setting the logIt function to null (when it completes execution—returns) will allow the str variable and the entire scope of chain of both the logIt and the containing run function to be destroyed and ready for garbage collection.

For a detailed explanation of closures in JavaScript, see "Understand JavaScript Closures With Ease":
http://javascriptissexy.com/understand-javascript-closures-w...
I think you mean to say "glance over and quickly forget the basics of python in minutes"
These are good notes. You can quibble over some of the specific details and their assigned importance, but generally they show great logical enhancements.

To add to the language bar discussion - I rarely care about the languages in my own repositories (or repositories I'm watching or have starred). This is one of the new features that I enjoy for repository review, but if I'm in a repo I actually use, I rarely care about any of the data here (including commit numbers, tags, branches, contr.) Rather than moving this data about the page, I'd like to be able to remove it entirely based on circumstance or settings.
Robert X. Cringely has a term for this sort of experience: being an "airport kid."

http://www.cringely.com/2013/02/07/accidental-empires-part-6...

When aviation was new, in the 1900s and 1910s and 1920s, the technology of flight was growing at an incredible pace. Flying was new and sexy and constantly changing. And you didn't need to be a "professional pilot" to get in on it; all you needed to do was to find someone with a plane and convince him to let you take the stick.

So kids who fell in love with the romance of the skies would hang around their local airfield, running errands and doing odd jobs, basically whatever it took to ingratiate themselves with the people who used it. Because any of those people could be their gateway to their own flying career.

Eventually flying stopped being sexy, though. The seemingly infinite possibilities of the early days of flight got reined in by cost and regulations and simple physics. Educational and career paths for pilots settled into a few profitable grooves. Flying became safe, cheap, routine. And the airport kids disappeared.

They disappeared because kids want to be where the action is. And the action isn't in mature industries. It's in the new, because the old is already hemmed in with grown-ups' restrictions, which slow down the pace of change. Those restrictions are usually put in place for good reasons -- lots of inexperienced pilots back in ye olden days got themselves killed by pushing their machines or their bodies too hard -- but the kids don't see that. All they see is that it's safe, which means it's boring.

You and I (I'm a couple years older than you, but not much) were the airport kids of the Web. We gravitated to it because it was, as you say, a blank slate. You didn't need a degree or a certification or to even necessarily know what the hell you were doing. All you needed to do was find a computer lab somewhere that was hooked up to the Internet, and be willing to learn.

That low barrier to entry meant that we made a lot of dumb, pointless, sometimes even dangerous things. (I came within an inch of getting drummed out of my university in the mid-90s for helping build a site where students could rate their professors; the professors came after me with torches and pitchforks because the results were accessible outside the campus network.) But it's also what made it exciting. Exciting places are dangerous by definition. But to a kid, the part about it being exciting is a lot more interesting than the part about it being dangerous.

Eventually the Web matured, of course. Now it's Critical Infrastructure, which means it's important enough to be hemmed in with those grown-up rules and regulations. It became indispensible, and therefore boring.

So now there are lots of online-technology majors, but not so many airport kids. The airport kids are somewhere else, waiting for the next Wild West. This one's gotten all civilized.
Don't worry. I find vim completely dated, arcane, and esoteric. Sure, it can do almost 25% of the stuff sublime can do but every feature has it's own learning curve.

If I want to select four lines of text in any text editor that isn't vim, I just hold down the shift key and use any of the cursor navigation available to me. Not so in vim.

Upon leaving vim none of the key bindings are never used in any other program. That's antithetical to the manner in which I operate. Normally if a program doesn't support the odd keybinding or two I just use autohotkey or equivalent. But vim makes that impossible.
We can have distributors without having them protected by extensive federal and state law, though in such a case distributors would be fewer. Protections originated in the 1920s, when dealers invested in the manufacturers and could be yanked by carmakers into buying cars they couldn't sell. Dealers began lobbying governments to maintain and increase protective laws, and have done so successfully ever since even though carmakers have long stopped seeking investment from their dealers.

> However, theory and evidence suggest that the protection that automobile dealers have obtained from local legislatures has been to the detriment not only of manufacturers, but also of consumers, resulting in higher cost of retailing and higher prices for cars, inflexibility of the dealer network, and a lack of innovation in car distribution.

http://faculty.som.yale.edu/FionaScottMorton/documents/State...
This capability is what took me from trying the Dash demo to paying for the app.

Once the content became something I could use on all my computers and not just the Macs, it became worth the money.

Being cool and cooperative with Zeal earned the Dash developer at least one sale.
I welcome a return to mass market creativity instead of paint-by-number UGC linked to real names.
The video bringing cake and ice cream to this bug's 7th birthday:

http://www.youtube.com/watch?v=oAiVsbXVP6k

It's got a real Joker laugh going on toward the end.
I would say you could skip the entire part about Ames' time in Russia and still get the message, which is that Ames dislikes Greenwald's coverage of the leaks and Snowden because Greenwald demands that everybody see Snowden as a bona fide hero. It's worth noting (and the article mentions this extensively near the end) that Greenwald and Ames have been enemies for the past few years.

Honestly I think the article could do without the comparison to so-called "real" martyrs. The point that he makes around the middle:

"But I’ve been frustrated as Hell watching Snowden’s politics, and the politics of his diehard supporters, and the strategically flawed, manipulative decision by his handlers at the Guardian to preemptively convince the public that Snowden is a hero, an infallible “historical” figure who must be worshipped by anyone who considers themselves aligned with history."

is a good one to investigate, and I'm inclined to agree with Ames when he says

"So for me, the importance of what we’ve learned about the NSA spying programs doesn’t hinge on whether or not I have a cult-like faith in Snowden’s and Greenwald’s “heroism” as “true patriots” unlike the other team’s guys. But the problem has been, from the start, that Snowden’s and Greenwald’s network of supporters created this false consensus, and thought-policed anyone who dared deviate or think for themselves."

However the article is too long and unfocused, and I think it suffers as a result.
Somewhere, I have the code laying around to build a webring ...
So, non-violent drug users (criminals), rather than political dissenters?
(Now added to the bottom of the post.)
Television White Spaces database receives FCC certification
Instead of having adventures into the great unknowns of the web, we instead now spend most of our time on social networks: boring, suburban gated communities, where everybody's "profile" looks exactly the same, and presents exactly the same content, in the same arrangement. Rarely do we create things on these networks; Instead, we consume, and report on our consumption.

This is a brilliant observation. Facebook started as a scrappy but fun college thing, and now it's a platform for people to brag about travel and the food they eat.

To get anything decent out of humans, you have to create a context for excellence. Otherwise, it's Sturgeon's Law that sets in. That is a natural way of things, even when the technology is well-designed. This is similar to complaints about job sites or dating sites because "the sites are broken". No, the sites are fine. They do their jobs extremely well. It's people that are broken.

The problem is that there's no money in creating a context for excellence, and the economic pressures on an organism like Facebook to mediocritize (remember that this often happens by default; no one explicitly decides to make their platform shitty) are just too powerful.
What does he mean by "# Tuples are created by default if you leave out the parentheses".

With or without the parens I'm getting the same result for "a, b, c = (1, 2, 3)"
Are you somehow suggesting that if I jump off this building and flap my wings that I won't actually be flying?
I'm pretty sure it doesn't literally show them "READ_PHONE_STATE" and other permissions in enum form. There' s a heading and a description of what each permission entails.
Actually, Swedish and Danish ARE very weird, but they didn’t make the cut-off of “14 or more of the 21 features attested”. Swedish has 12 of the 21 features listed in WALS, Danish has 13. Both of them are actually weirder than Norwegian (15/21 features):

Swedish: 0.86
Danish: 0.85
Norwegian: 0.82
Your own comment was not very constructive. You listed three existing proposed solutions, and dismissed them prematurely with minimal explanation. For example, you said free college for everyone would be taken advantage of, yet it seems to have worked wonderfully for Europe. The second solution you listed, you also dismissed, saying it is the "wrong way to go about it" but did not explain why. And for the third solution you said forcing schools to cut overhead would require administrators to fire themselves, which is not true. But you dismissed it too.

The rest of your comment assumes that we can actually find a solution to the mess that is US college education - or education in general. That is unlikely to happen. Despite the fact that most people here on HN are very smart, we are overwhelmingly technologists and don't know much about the problem domain (education) to begin with. We may have participated in it as clients (i.e. students) but that's the extent of most people's exposure to it. This is why everyone has different opinions on what the root cause of the issues are. Debating them might be interesting, but a solution is unlikely to emerge in a medium like this due to the sheer complexity of the problem.
IWork for iCloud beta now available
Thanks! For what ever reason, setting the python root did not help, but i just copied the 'base' folder to python lib folder and that seems to have done the trick.
I find that many of my clients aren't eager to do retainers because they don't trust that I'll actually be around (I did only start consulting this year). Do you have any advice for overcoming that?
Location services can always use data or wifi antennas. I believe most Android phones have an OS-level option to turn off app access to location from these sources (otherwise airplane mode would be the only way to do it, I guess).