skysight-inc/HackerNews huggingface dataset:
Perhaps this is just my Stack Overflow reflexes, but:

The string argument to SuperSecretPasswordProtectedStuff() should be const (reference, perhaps even) and of course printf() shouldn't be used in C++.

It's ... fun and interesting that such a super-minimal example of source code (from a research professor for crying out at 200 dB(A)) has those kinds of "sloppiness indicators" in it.

Or am I just being grumpy?

Regardless, I'm glad to see someone trying to shed some proper light over the obfuscation research, I too was underwhelmed by Wired's coverage. I'm more or less clueless when it comes to all things security-related, though.
In the wake of WW I and II, Europe had to learn some painful lessons. Looking at the U.S. today, we can see where not having learned those lessons left this country. We will have to recreate the WW II catastrophe all over again, just so we also get the memo.
> Even if it decides to be our friend and to help our species, someone will of course fork that AI and give it a negative personality and goals.

No: the first AI won't let them. See, we're talking a rapidly improving super-intelligence. Whatever is contrary to its goals, it will squash like a bug. A mad scientist forking the code of the AI with a different goal structure is definitely contrary to the goals of that first super-intelligence, and will be shut down before it grows into a sizeable competitor.

The result of intelligence explosion is a Singleton: the AI will be a perfectly efficient dictator. It may even shield us from the laws of physics until we graduate to adulthood.
You will start caring the day you want to update to Bootstrap 9000 and need to change the class names of all the properties that have changed. A counterargument could be that one could stick with the version already deployed, and that's fine too I guess.

For me it's about being in control of the situation. I will find myself changing things just for them to look as they are supposed to look like, and soon realizing that is not CSS anymore, just another framework being in between and making the work sometimes easier and sometimes harder. Using LESS at least gives you a bit more of control on the hidden spots, and opens room for sane customization.

I do personally prefer to not use a CSS framework at all, but if Bootstrap is a requisite on a project, using LESS is a no brainer.
Indeed, probably it's the number of times linkedin sent them some email titled "join linkedin now".
I haven't seen that anywhere where I live (northern California). Just 6 packs and 12 packs for anything except "domestic" (piss beer).
I suppose (1) could be set by solved by having an environment variable where a server can be nominated as the "update server" but this has the down side of it still being possible to accidentally have multiple marked servers.
The "what if someone worse took his place!" reason is a misnomer - if you have the capability to go back and kill Hitler then you'd have the capability to go back and kill someone else as well.
Exactly. Saying that with infinite CPU power you could brute-force a solution is like saying the Library of Babel[1] contains every book ever written. True, in a sense, but not as useful as you might think.

[1]: http://jubal.westnet.com/hyperdiscordia/library_of_babel.htm...
Aldi is by no means low quality! However, I agree it isn't premium either...
Related: https://news.ycombinator.com/item?id=7247054
One interesting theory I heard was the the US and Britain were trying to keep Hitler alive, because he was his own worst enemy. Had he been killed off during WWII, someone competent might have taken over and extended the war.
Yeah, sure. Because it is so easy to build packages, as the shortlyness of the article and the amount of the involved commands prove, it is surely a fast and good way to produce those packages to deploy your code.

For reference, it is not. Packages solve a different problem, and he even writes it: Well made packages with dependencies enable everyone to use the software, regardless of the involved system, given some constraints. They don't need to be fast and they don't need to be easy (as much as I would like them to), because they are used by specialists in a lengthy process.

But if one deploys code on a system, we know a bit more of the system than "it is a computer". Maybe it is a standardized production instance, maybe it is a vm - in any case, we have direct access. So it is possible to use easier and faster methods to deploy code directly, without having to resort to arcane voodoo.

If you really want to use debs for deployment, at least use checkinstall and handle the dependencies manually. Then you need at most 3 command (./configure, make, checkinstall).
It works in many European languages and countries.
Sailfish OS experience [...] launc[h]er application which can
be used to simulate the Sailfish OS experience on Android devices

What's the point for a custom launcher?

And on Wikipedia:

On 16 September 2013, Jolla has announced that its Sailfish OS
is now compatible with Android applications and hardware.

http://en.wikipedia.org/wiki/Sailfish_OS

It would help a lot if Sailfish OS/Tizen would support Android device drivers, all of them are Linux after all, and the major issue are closed source device drivers that prevent more wide spread adoption...
No questions - just wanted to say thanks for a great product I really enjoy using!
When you consider alternate past timelines, you have to choose some model: is space-time elastic so that a change will be automatically fixed gradually through time? is causation effective immediately, leading to possible paradoxes (killing your parents)? are you actually making a branch?

Well, if we consider the last choice (which, I think, is the more convenient for speculating), you would still have a World War because this event was more of a pretext since there were already a lot of political tension. Moreover, the alliances which made the war global were already in place and would lead to WW1 even with another trigger.

That say, you can also consider the Butterfly Effect meaning that changing the trigger could finally change a lot of things after some time. Maybe Hitler (or his substitute) would have listened to his adviser, or he would have declared war with USSR, or Manhattan Project would have failed, and so on.

tl;dr: if we are to rewrite history, let us do it all the way!
I'm a heavy Docker user.

I'm using screen right now to scp 4.5Gb from home to my Docker host. I'll close the terminal at some point and check progress tomorrow.

I guess you could do that in Docker.. but why would you?
It's even more the case for local searches. Google routinely finds badly misspelled locations (from I gather interpolating with my location?) - for these kinds of searches, I don't think any of the alternatives comes close.
I appreciate the comparison to the ancient Web, but this article doesn't say much more that I can't find in Bootstrap's documentation.

Anyone who has used Bootstrap's mixins with semantics in mind knows there are some bigger issues to address than the layout. Some questions off the top of my head:

* How do you build semantic forms with Bootstrap without going to markup fluff hell?

* How can you avoid the unsemantic class names for components that are tied too closely with child components (I'm looking at you, .panel)?

* What is the semantic purpose of a row element? It seems purely presentational to me.

* How do I add icons without peppering span.glyphicon.glyphicon-X's all over my markup?

* How should I organize/maintain all of my LESS files as my stylesheets scale? I'm not looking for any one "right" way, but suggestions are always nice.

* Are there any optimizations I can consider when I'm only using a bit of Bootstrap's functionality?

* How can I extend Bootstrap's mixins for my own needs?
Small nitpick: please don't spread the misconception that Gavrilo Princip killing chief commander of occupying army who wanted to show off by visiting occupied territories somehow started the world war. It would have started anyways since the balance of powers was way off.
This is awesome, really appreciate you guys open sourcing this app.
It's been a long, hard slog for Metro Bank. To date, they've raised £641m (that's over $1bn) in investment and racked up total cumulative losses of over £130m ($220m).

And don't forget Metro didn't build their own platform - they outsourced all their technology.

Despite their apparent enthusiasm (see links at the bottom of this post), I don't think VCs are ready to sink over a billion dollars into a single startup, even if it is a bank. They're looking for billion-dollar exits like Facebook and Whatsapp, not a $1bn investment with a $100+bn exit.

VCs Start Pining to Own a Bank - http://www.bankinnovation.net/2014/02/vcs-start-pining-for-a...

“I am dying to fund a disruptive bank.” - Marc Andreessen - https://twitter.com/pmarca/status/432651247909208064
History is weird that way. I recommend listening to Dan Carlin's Hardcore History series on the Mongols[1] where he talks about how historians often justify unspeakable horrors because in hindsight there are a lot of benefits to modern civilization. He balances it out by saying that the benefits don't look so good if you have to ask the people who actually have to pay the bill. Millions of Chinese, Muslims, Russians and Hungarians who actually had to pay for the benefits of Genghis Khans conquest would probably not see it as a good trade off to endure literally the end of the world.

He also talks about how sometime in the future, when the pain isn't as fresh as it is now, some historian will write a book about all the benefits of Hitlers regime, like they do for Caesar or Alexander(All butchers of similar caliber). But thats pretty much impossible currently because you need the historical distance from such hard topics.

[1] http://www.dancarlin.com/disp.php/hharchive It's caller "Wrath of the Khans" and is essentially an audio book, find a couple of free evenings and listen to it if you can handle hours and hours of horror. There are also a bunch of old episodes(only recent episodes are free) on WW2 that are definitely worth the money. The most recent series is on WW1, it's still unfinished, and in fact after many hours it's barely one month into the war, you need an entire mini-audio book to set up the context for an audio book on WW1, thats insane. Fans of history will become addicted to this podcast. BE WARNED!
You think the average person is aware of the data companies are collecting on them? I feel like 99% of the world has no idea how their privacy is being invaded. I think it's important to raise some awareness, so people can make an informed decision in the first place.

I also don't believe the answer is simply not using the services. That's like saying if you don't like the government monitoring your phone calls or location, you should just stop using phones.
How about going back in time and changing Hitler's mind? I'm not sure what the best way to go about it would be, but it'd probably be worth a try before you kill somebody.
For (2),
> Our goal is to be able to install a package using Puppet, Chef, CFengine, or something else that puts all of your code in a standard location every time, on every server.

For (3), I think it can be solved by some database migrate library?
The LinkedIn Android App will periodically ask to scan your Google+ contacts for people you might know on LinkedIn, so if you've ever used that you could have leaked contacts to them that way.
There was a time when LinkedIn would often require you to re-enter you login details, seemingly at random. Login details consist, of course, of your email address plus a password, and so if you used the site much you kind of got used to entering them in every time they were requested.

The login form, unsurprisingly, looked very similar to the one suggesting that you give LinkedIn your email address plus you email account password. When I first noticed this, I thought that, for people who re-use passwords, this was an accident waiting to happen. I'm sure people must have been caught out by this.

I was very tempted to submit this to darkpatterns.org, but the first part of the pattern (frequent re-authentication) doesn't happen any more.
Who invited all these wanna be "businessmen" to our site?
You're over thinking this... None of these are specific to this type of deployment. If you want to do any of the above, you'll have to work around whatever production deployment solution you have.

1) How would you do this for any deployment method? You'd have to be able to ID one specific node in the cluster or make sure that your job could only run on one node with some sort of locking.

2) If you're deploying multiple versions of an application in production, you have other issues.

3) How would you rollback database changes to begin with? Come to think of it, how are you going to deal with any DB schema changes? This isn't just an issue with .deb/.rpm deployments of code - you'll have to figure this out for any application deployment.
All experiences I have had with visual programming have been counter productive, (with the exceptions of creating GUIs). I think some things are suited to visual environments - things which need immediate feedback, other things are not.

Think about using Unix. For copying one or two files, or renaming the, use the GUI. Need to do the same with 100 files? I think most competent people would naturally go to bash, and write a for loops, or small script. For these things it is easier. (And I am fairly sure that most desktop environments have a had more time spent on them than most visual programming "languages"). Likewise Visual query builder in SQL can build a basic query fairly quickly and easily, but once you know the syntax well, it is probably a lot more efficient and powerful to use text.
This is really great. Thank you! What made you decide to open source it?
That reminds me, I keep meaning to delete my linked in account. It literally is of no use to me, all it does is attract spam from useless recruitment agencies.
I share this sentiment.

Coming from angular too, what I love most about react is that it completely frees me from having to care about the moving parts in my views - aka maintaining state.
Although a lone gunman single-handedly starting the bloodiest war in the history of humankind makes for a nice just-so story, in reality things are more complex. Europe was a ticking time bomb at the time; just like Hitler personally didn't cause the second world war, Gavrilo Princip hardly did the first one.
> a lot of us that are just one SSH worm away from having all of our files destroyed.

This has happened quite a lot in some high profile cases over recent years, where [Company Name Here] was hacked and as well as taking down their live service the attackers got from there to the backups and killed them too.

> I've been thinking about ways to create an offline-equivalent backup, so that it can be automated.

The trick I use to improve the safety of my online+offsite backups is to stop any one service being able to connect and authenticate with all the others, disconnecting the online backups from their source as much as possible.

My "live" stores connect to an intermediary and push updates, and my online backup stores connect to the intermediary and pull updates (with restores and automated tests being the same thing in reverse). The live stores and the backups can not connect+authenticate to each other directly, and the intermediary can't connect+authenticate to either the live store or the backups. This way if a malicious entity (be it a human or an automated exploit) gains access to a privileged account on any of the three locations it does not automatically gain access to all the others, but the process of taking and testing backups can still be automated.

Of course this isn't perfect: it is a little more hassle to setup, needs an extra resource (the intermediate location) which could potentially be a point of failure (though your automated backup tests will hopefully detect problems there before they become serious) and it depends on good credentials management (I sill need to be able to connect to all three for remote admin and if you use the same credentials for them all, and/or store said credentials in the same insecure place, the extra protection is lost) but I find it works well in practise. Also as I'm using the same OS+libs+tools in all three places I'm still susceptable to attacks using "zero day" exploits on some part of that stack, so for that reason (amongst others) this does not remove the need for truly offline backups.
I have switched from screen to tmux and tmux IMHO more convenient (I have about 30 windows in 2..3 tmux sessions). Can't say anything about byobu.
I'm the same -- I never allow websites to riffle through my contacts, and would certainly never give up access to my email account to do it.

However, mobile apps have a much easier time of it. Looking at the contacts stored on one's phone is just one of the many permissions they request, and users are conditioned to just click past that screen anyway.
I find that if I run emacsclient and emacs server, I don't need to use tmux. If I get disconnected, I just reconnect and run emacsclient again. All my buffer states are preserved.
It's like tech-news outlining that the yellow hits atop a google search are paid for. Why this is on the front page of HN I have no idea.
These days, you are right, there isn't much use for assembly, other than compiler writers and the occasional kernel code. And most of what I described was the 8086, warts and all. By comparison, MIPS is relatively straightforward, but I see by your attitude towards assembly in general that you'd rather spend no time with assembly.

Fair enough, you can certainly go your entire career without resorting to assembly language (heck, the last time I got paid for programming in assembly was the early to mid 90s---I'm still amused by the "C is too low level for programming" arguments these days, when back in the early 90s, people were bitching about C being too high level and inefficient).
An (ex) colleague of mine blogged about the valid reasons behind this some time ago: http://www.thoughtworks.com/insights/blog/deploy-package-not...
Tmuxifier (https://github.com/jimeh/tmuxifier) is a great utility for scripting tmux layouts. Well worth checking out if you have complex layouts you want to be able to recreate.
We had drones before 911!

https://en.wikipedia.org/wiki/History_of_unmanned_aerial_veh...

> The earliest recorded use of an unmanned aerial vehicle for warfighting occurred on August 22, 1849, when the Austrians attacked the Italian city of Venice with unmanned balloons loaded with explosives.

> After World War I, three Standard E-1s were converted as drones.[6] The Larynx was an early cruise missile in the form of a small monoplane aircraft that could be launched from a warship and flown under autopilot; it was tested between 1927 and 1929 by the Royal Navy. The early successes of pilotless aircraft led to the development of radio controlled pilotless target aircraft in Britain and the US in the 1930s. In 1931, the British developed the Fairey "Queen" radio-controlled target from the Fairey IIIF floatplane, building a small batch of three, and in 1935 followed up this experiment by producing larger numbers of another RC target, the "DH.82B Queen Bee", derived from the De Havilland Tiger Moth biplane trainer. Through some convoluted path, the name of "Queen Bee" is said to have led to the use of the term "drone" for pilotless aircraft, particularly when they are radio-controlled.[7] However during this period the U.S. Navy, continuing work that reached back to 1917, was also experimenting with radio controlled aircraft. In 1936 the head of this research group used the term "drone" to describe radio controlled aerial targets.[8]

etc. So current drones are just a refinement of earlier technology. If we hadn't gone to war in Afghanistan we had Iraq to use this new technology. If we hadn't gone to war in Iraq or Afghanistan we would have used drones over NK, perhaps to drop media players loaded with sitcoms and soap operas and music.
Besides, I was answering the question about why learning the x86 was considered crazy, because compared to other CPUs, it is crazy (not that you care about that).
AWS enables Perfect Forward Secrecy on Elastic Load Balancer
Sitemeer – new with round-robin and multi-protocol support
This actually works with GNU Screen. Because of this, and because of the lack of workspace reordering in tmux, I seem to be actually about the only person who likes Screen more than tmux.
I had heard of this paper but reading a summary now makes me link the idea with secure verifiable computing [1]. This is basically the same base idea where A wants to send a program to B so that B can use the program but not know what it does. In the case of the original article, you want B to get back the results by himself (like in a conventional application).

However, there is another approach where B is just an untrusted third party where you want to outsource the computation. In other words, A wants to get back the result and check it, without B knowing anything of it. There is actually a(n almost) generic construction that allows that [2]. In short, you consider the boolean circuit of what you want to compute and transform it so that the inputs are keys necessary to unroll the computation, until getting the encrypted result. More specifically, step 1 gets the input keys and compute some new key (amongst several possible); step 2 use this key for next computation and so on.

On the one hand, this constructions are very neat because they give us a better understanding of what we can do with cryptography. On the other hand, they can be a little frightening because they are the theoretical grail for DRMs and such.

[1] https://en.wikipedia.org/wiki/Verifiable_computing

[2] Part 1 of A Proof of Security of Yao's Protocol for Two-Party Computation, http://eprint.iacr.org/2004/175.pdf
Basically, we wanted to! We've benefited hugely from open source projects ourselves, and have always enjoyed being part of the community surrounding them. It seems like the default state is to not be open source, but we realised that since we own and run the business behind ShareLaTeX, we had the freedom to play by our own rules. We also think it makes sense from a business point of view as well, since it will (hopefully) make us accessible to a wider audience, particularly onsite installations that we don't have the resources to support as a proprietary 'enterprise' system.

We've written a bit more about our motivations in our blog here as well: https://www.sharelatex.com/blog/2014/02/21/sharelatex-is-now...
Or a step further: don't let either the live and backup sites connect to each other directly, instead use an intermediary site that both connect to (which can not connect back to them).
A InfoSec ONLY search engine
Well, I suppose I mention some of these as the article likens package deployment to Capistrano in the opening paragraph.

Using Capistrano, for (1) I can just mark a target server as the update server to run these commands. With packages, I assume I either have to have a different version of the package or rely on some sort of environmental variable which the package reacts to?

2) Yep that would be slightly ridiculous for production, but I was thinking more along the lines of UAT, staging and other shared testing/development environments. It's not ideal but I have been in the situation where this was required.

3) True, but with Cap I can just issue a rollback and it will revert to a database snapshot that was taken from the last version. I can't see how we could do something like this with packages alone.

Maybe you mean that these problems are outside the scope of packages and that I should be using packages with something like capistrano to solve them but then why wouldn't I just use Capistrano on its own?
I got used to it. The 8086 was the second CPU I learned assembly for (the first was the 6909). While I never did like it as much as the 6809 or 68000, it still had its charms (and I liked it more than SPARC assembly).