skysight-inc/HackerNews huggingface dataset:
All code is a formalized description of "methods of operation". Unless you believe software achieves practical results without the benefit of hardware. And that's assuming you write pure assembly, else you also have firmware, operating systems, drivers, libraries, runtimes, or whatever supporting infrastructure is needed for your code to do anything meaningful.
This sounds like an oversimplification, though:

> Bundling dependencies for production environments has always been and always will be a terrible idea.

We're considering Docker currently -- not for the distribution model at all, since we'd only ever use our own internally built & maintained images -- but as a clean way to break apart dependencies, and make it possible to run a diverse multiple-server-type environment (production) in miniature (development, demo, UAT).

I quite like the idea of something that may occupy multiple VMs or dedicated servers in production be able to run as a lightweight app in a dev environment, with exactly the same dependencies in place -- that's quite useful.

If this kind of use case is also a terrible idea, I'm interested to hear more -- we're just now tinkering with the idea, and haven't yet moved from theory to practice.

My own concerns revolve around how easy it will be to keep updated on RHEL patches, for example -- apparently we should be able to keep both host and app dependencies updated without much trouble, but it adds more complexity to the maintenance cycle (it seems).
"Write a function that takes three measurements in centimeters as input and returns a the volume over a litre"

I have a hard time understanding what this us supposed to mean. Is there a typo somewhere? "returns a the volume over a litre" sounds like gibberish, but then I am not a native speaker.
Why Elon Musk Takes Human Growth Hormone
A great writeup! A lot of the Rust community seems to have come from the Ruby side of things (with writings such as "Rust for Rubyists" by Steve Klabnik), although I feel that Rust and Python share many ideas that Ruby does not concern itself with.

I particularly like the section about string handling. There is a reason that Rust strings are hard, and I will make sure to point to that section whenever mentioned.
Actually, the point is to manage expectations. Instead of saying I'll be there in 5 minutes, it would be better to say I am going to be X minutes late. There's lying to hide your business, but there's also lying and being inconsiderate of other people's time.
Google Play revamps its Android apps' age ratings
Alan Kay about re-creating Xerox PARC's design magic at CDG
I have been looking around for jobs here in Spain, a lot of the better paid senior level stuff is for either MS stack, or Java (they all seem pretty corporate style). There are Python jobs around, but more mid level.
> In countries where there is 98% piracy

I know piracy is widespread in China, but 98% ? That looks like a high number to me.

> it's impossible to start a purely software company

So all these companies (https://en.wikipedia.org/wiki/Category:Software_companies_of...) don't exist ?
Makes sense if you're Musk and want to jot down to Santa Monica to see your mistress Friday evening. (Come on seriously this is what this is all about, you know it, I know it) Not so good if you want to commute to your worker bee cubical job Monday morning.
your FB friends are supposedly people you know in real life and trust

According to the article, this feature is also enabled for group chats, where you converse with people who are not even your FB friends.

people working on messenger

I happen to be working on a mobile messenger [0], and I can see the benefit of transmitting user location. Still, I would never implement it as an on-by-default feature on all outgoing messages. Sending a location should always be an explicit action performed by the user, for battery preservation reasons as much as because of the privacy.

[0] https://yaxim.org/
Will be interesting to see if Microsoft sought a license from Apple for Project Islandwood...
Does the speed it takes to compile the compiler really matter?

Edit: Of course, faster speeds would be interesting to hear about, so great question.
That FOSS Patents piece is the best commentary I've seen on the subject, thanks for bringing to my attention.
The state of augmented reality
The myth of bad British teeth
That's kind of old world thinking, it's been bugging me. In traditional programming and processor architectures that statement would be true. But if it were true today then Google wouldn't have built the Dalvik and then ART layer into the OS. They'd be compiling them on the developers PC and you'd end up with a fully static App.

The VM approach allows the VM to synchronise application wake-ups which can increase battery life.

Google chrome on Android is acting much like a VM to developers and I'm willing to bet the Android Chrome team are spending a much time as the Java runtime team are on optimising.
I'd add to this list some simple binary logic questions. I've noticed that some programmers struggle with De Morgan's laws. Also many prefer to write hardcore one-line boolean expressions, often with multiple negations, instead of splitting it into smaller subexpressions assigned to properly named variables.

An interesting question would be hence to show a candidate some complex, buggy logical one-liner, with the comment above the code stating something different than the code actually does, and ask him to fix it.

A good candidate should extract booleans out of it and then see the flaw in reasoning, fix a bug, and perhaps write code so self-explanatory, so that the comments can be removed.
EMC to buy Bethesda cloud-computing company for $1.2B
There hasn't been such a thing as a north bridge since Nehalem in 2008. These days the access won't even hit RAM it'll just go to on-chip L3 cache.
I think it would be much more likely that new architectures would be added as cross-compilation targets than to work back through a v1.4 bootstrap.
Well, C is essentially "portable assembly", so it's to be expected...
I am mystified. Probably something is not working correctly.

The Pages show various previews. Clicking on them does not open that page in the right side (as I would expect). Its blank.

I can create rectangles, lines, hotspots and move them around. Hotspots doesn't have any way to make them do anything that I can figure out. No ctrl-click, no options. Its just a blue square.

I click on Layers. Lots of things here. The things I created and lots of things I didn't (and can't see) like History, number circle, hotspot-demo2.gif. I can drag them up and down in the Layers or I can drag them into the main area but they don't do anything.

Why would History be in there ? Properties Prototype Tools ? I can double click and retitle those objects. I have no idea what they are.

Obviously something is broken.

OK, I've opened the Keyboard shortcuts and at the very bottom it says ⌘ + enter: toggle review mode.

With that I can actually see the design.

Suggestion: you probably want a very obvious button at the top to allow us to toggle "review mode"
I see it as the opposite. If the maintainer of the container put some effort in, everyone could have a secure version of their software with minimal effort.

The trick is to get people to care about their security. In theory, this is what open source is about. Why not assemble a taskforce to go and secure these containers?
xxxₓ
We're in the process of doing an promo animation, which would be the demo as well.
> My own concerns revolve around how easy it will be to keep updated on RHEL patches, for example -- apparently we should be able to keep both host and app dependencies updated without much trouble, but it adds more complexity to the maintenance cycle (it seems).

That's about the "problem" with Docker – it's deceptively easy to roll out everything as its own containerized app. Updating? Not so much.

It turns Docker from a magical silver bullet into a slightly fancier way to handle reproducible deployments. Using it this way is fine, but not what Docker is marketed as by many.
There are also cases where lying to say something is longer than the direct distance is more accurate. i.e. if I know I'm going to stop for gas/etc., even if I'm "5 minutes away" by distance, I might say I'm 10 minutes away.
Yeah, it's gibberish. I'm not sure what was intended either. Something like "return how much the volume goes over a litre".
Otherwise, we'd need to tailor the images and configuration for the individual language type. When a new language is introduced, it can take 'days or months' to get everything working well.

Yes, and now you have to tailor the distribution in the container to the new language. Of course, the impact is smaller than changing one system that contains everything.

However, this problem was long-solved before containers (as in OS-level virtualization) as well in virtualization (Xen, KVM, etc.). (Of course, FreeBSD had containers for ages, but they were largely ignored.)
I admire the consistency of Ilya's efforts. The US despite claiming the policy of sucking out best Russian brains in reality fails to provide the backing policy for that, and Ilya's story shows very good example. When it comes to software development, I believe the US as a framework, does not really want devs to come and wants to keep them remotely.
Question for the HN community: I've been learning Python on and off for about 6 months and I can answer all of these questions with ease. I'm subscribed to Interview Cake's emails and generally figure out their programming tasks. Question is, am I good enough to make the leap to doing 'proper' programming? The gulf between hobbyist and professional coded seems huge. How did you all cross it?
Have you tried to do business in China when it comes to software and services ? Not only are these Chinese software giants backed by government but you have to comply with numerous rules and let government to stick its dirty fingers to your stuff.

Oh and most of these SW companies sell physical goods as well they are not pure SW at all.
> save it all, wholesale

Is this even feasible now? When so much of the web depends on backend logic? Or transient, proprietary technologies?
What ideas are you talking about?
Oddly, no one I know thinks those are true. Many points copied (and commented) here so no one need follow the link.

> Email services are used only for commercial purposes.

Sourceforge has offered project email lists since the 1990s, and that's but one example.

> Email service is the only thing to blame when your email got to spam

Our very own Paul Graham did some of the early work on making Naive Bayes spam filtering practical.

> People do not read long emails

I've been told I write some very long emails. And they get read.

> People do not read emails on weekends

Huh? That's not been true in my entire history of doing email.

> Time of the day does not matter

Okay, this one I agree with.
"I'll be late 5 minutes" does not have the same set of expectations for "I am just five minutes away" which is what kanche said.
Haha, yup. I am just reading Metzinger's "The Ego Tunnel" which contains the latest research on the subject.
Specifically soccer-related infrastructure, i.e. stadiums. The United States could host four World Cups simultaneously without having to build any more stadiums. Qatar has to build almost everything from scratch.
This old comic piece seems to still apply: http://www.mongodb-is-web-scale.com/
Just curious, how do they distribute their content so widely with just three people?
Yes, gross derivative exposure is irrelevant... until there is a breach in the counterparty chain and suddenly all net becomes gross (as in the case of the Lehman bankruptcy), such as during a financial crisis.

Perhaps rather than total notational outstanding, a more meaningful number is the amount of real assets this is all backed by. According to the IMF we have $600 trillion in gross notional derivatives backed by a $600 billion in real assets, i.e. 1000x systemic leverage:

http://www.imf.org/external/pubs/ft/sdn/2012/sdn1212.pdf

One can imagine this to become just a tiny bit problematic once collateral chains start breaking, such as when "AAA-rated" AIG failed :)
That's why i set myself a rule of whenever somebody says I will be there in 5 minutes I translate it to give me 5 minutes to show up if i don't forget about it.

And I hold everyone to it. If you don't show up in the amount of time you specify I'm gone.

I'm Romanian too I just hate wasting my time. My friends learned that really quickly.
Sort of, yes.
Some people did, if they had the money. Children were evacuated and dispersed. However, as always, people have to live within commuting distance of their work. And pretty much everyone was either conscripted, recruited into the manufacturing or logistic side of the war effort, or in one of the "exempt" professions keeping the country operating. My grandfather was one of those as a railway signalman.

I can't remember whether ration cards were location-restricted as well, or whether there were bureaucratic obstacles to freedom of movement.
Do they do that when hiring mechanical engineers? Make them fix a Rube Goldberg design?
Pakistan Is Upnext for Facebook Internet.org Project
The only way to cross something is by going forward.
The problem is that "secure version" is a constantly moving target; the taskforce would need to go around once a month (or whenever there's an urgent vulnerability discovered) and update apps that needed it.

If Docker apps were somehow integrated with maintained Linux repos, this could be possible by default -- e.g., all Docker images built on Debian stable dependencies would have their internal dependencies auto-upgraded with each Debian stable sub-release, and possibly be flagged as "needs human intervention" on major releases.

Have there been efforts to do anything like this? I'm new to the Docker world....

There needs to be, though, otherwise a "secure app" is always a temporary creation.
Following the Charlie Hebdo attack, FOX was reporting that certain areas of Paris are "no-go" zones for non-Muslim French people.

http://www.theguardian.com/world/2015/feb/12/paris-lawsuit-f...

So the title "The real no-go zone of France" was already a reference to the controversy they mention.
Finding non-shill opinions on this whole issue is quite hard. Once you check the facts of the case it's really quite open-and-shut in Oracle's favor.
Or, it could be your best estimate, based on current traffic conditions or walking speed.

I always underestimate how long it will take,this does not mean I am lying, it means I am bad at guessing how long it takes me to walk/drive/sit in a train somewhere
I froze up a bit in an interview over a DeMorgan's law equivalency question. All I could think of were Karnough maps. On the way home I palm slapped myself when I remember DeMorgan's...

"not (A or B)" is the same as "(not A) and (not B)".
The truth would be "I have no clue how long it will take me to get there"
May be a mild case of https://en.wikipedia.org/wiki/Dunning_kruger_effect -- you think you know the correct solutions, whereas actually there are no single, unique correct solutions for at least some of the questions.

Don't be discouraged, though -- to gather certain kinds of experience you have to go into 'proper' programming. As long as you're open to questioning your assumptions and current state of knowledge, you stand to improve :)

Consider question #4 - there's no single correct way to indicate `underflow' condition. You could raise an exception, return zero, return negative value... it's all about considering and picking trade-offs, knowing convetions and matching client (caller) code.

Consider question #5 - while certainly you can provide your worst FizzBuzz, a programmer with different experience would probably provide a much different, perhaps even worse example [1]. As author notes, the 5th question is about experience with ineffective, brain-damaged, ugly, unmaintainable etc. code.

[1] speaking of some really insidious code: http://underhanded.xcott.com/
"I just passed landmark X and I'm on foot" is often more helpful.
Actually this is nothing like paradoy. And I suspect with a better lawyer he would lose hide "transformative" case.
IMO fixing bugs and refactoring complex code is a part of daily job in any long-lasting project (especially when there's big rotation), hence it makes sense to check for that in an interview - contrary to asking some stuff that a developer won't ever likely do in a project.
What you should be looking for in a candidate is the ability to do what a good developer would do in a real world situation. In your test a good candidate would just bin the opaque, broken code and write it from scratch in a better, more readable way. If something is quicker to rewrite something than it is to work out what the previous developer did wrong the right answer is always going to be a rewrite, and that's always going to be the case for a one-liner.

If you want to test someone's ability to fix broken code then you need to give them a test that reflects that, not a test where you tell them not to work properly.
Can you elaborate on the different meanings of 'systems programming'? I just thought it meant OS development.
From 'Occupying' a Spanish Bank to City Hall: Barcelona's New Mayor
I think only a non-football country could fix football. They've not been sufficiently bought.
Off the top of my head, "intersex", "genderfluid", "non-binary".
> If the millionaires wish to remain millionaires, the money cannot be idle. It has to be invested in value producing activities that generate a return.

So what?
Investing is not giving. Investing may generate wealth, but if there's no redistribution, the rich will get richer and the poor will stay poor.
Docker Hub as a build service doesnt make it very easy to update older images; you can set manual triggers to rebuild current if the FROM container changes, but thats not automatic. Other dependencies are not very easy either as you only get one FROM, then everything else is probably from git repos, packages, language packaging tools or tarfiles, which obviously need checking for updates.
#5 (write a bad version of fizz buzz) is a great question. Just asking such a unique question in an interview would raise my estimation of the company.
Don't a lot of those benchmarks end up only measuring how fast your language can call out to GMP to do the real work? And regex-dna ends up measuring your regex implementation which for a lot of them is again just going to be measuring how fast they can all call out to PCRE.

They're neat and all and it is called the benchmarks game but I wish they'd remove the ones that end up getting gamed like that.
While I still believe that a short (paid, ideally) project is a more meaningful test of a developer's skills than whiteboard coding or the like, I thought this made a reasonable case for a quick set of heuristics to filter out non-starters.

I especially like the "bug fix" item (#3), as it contains a variety of different possible issues and seems like it would expose how the candidate thinks and approaches reading code (which they will be doing a lot of, if it's like every programming job I've ever had...), in a meaningful way. Combined with a nice but simple problem like the anagram (#1) question it seems like you could filter the wheat from the chaff rather quickly.

Semi-off-topic:

Unless I'm mistaken there's a typo in the little "about this author" blurb at the bottom: "David Elbe is web entreprenur..."

It also seems like the problem statement for #4 is not quite correct, I'm having trouble parsing it (as some others in this thread also seem to be):

"Write a function that takes three measurements in centimeters as input and returns a the volume over a litre"

Everything past "and returns..." needs some editing, methinks.
Would be nice to see some official benchmarks from RethinkDB. As this illustrates, there aren't any good ones out there.
Enough Is Enough: Silicon Valley Must End Its Elitism and Arrogance
Flowplayer 6.0 released
A full review for HideMyAss – probably the best VPN service outthere
I think it'd go down better if there was more there. This is a more tech focused site than an arty site. If you'd drilled down the ins and outs of the tech behind the font (How to compile it from the source maybe?) it would probably have been better received

Also I read your poster as "When in doubt m,ove"
Current Automated Blood Pressure Is Inaccurate for 15% Population
Show HN: Trolling with Memes (powered by Google Image Search)
Hell, brainfuck can interprete itself
Ah, good catch. You would just do `color: white` then, no?
Interesting Carsharing Timelapse in Berlin
Interesting. I remember people complaining that the iPhone 6 was slippery, and of course it is heavier than the 5/5s. Do you also have numbers for 4/4s and 6 vs. 6 plus?
Ah, Florian Mueller, a paid Oracle shill.
Marty.js v0.10 – React native support and much more
LPIC-1 101 Linux Certification – Boot and Package Management
Nice writeup! One thing though, I believe Rust's BTreeMap [1] is a B-Tree (not a binary tree, as suggested), i.e. it's a tree whose branch factor is generally greater than 2.

The docs say that if you don't give a branch factor, a sensible choice is made for you, probably to get nodes to fit neatly into cache lines, so seeing as we are storing 35 unsigned 64 bit integers, this would be around 16 or 32 elements in a single node, and a depth of about 2. This means that, because the current implementation of BTreeMap does linear searches at
insertion, for this particular use case, the BTreeMap isn't doing much better than a plain old array, that you are insertion sorting.

TL;DR: Storing the results in a vector and then in-placing sorting it could be faster, but not noticeably. I know this isn't the point of the article, but it was just an observation I had :)

[1]: https://doc.rust-lang.org/std/collections/struct.BTreeMap.ht...
Based on stack overflow's terms of use and instagram's they are not the same. Stack overflow's terms say you give stack overflow and others the right to copy and use the content. Instagram's terms say you only give permission to Instagram. And well this makes sense as the purpose of these sites differ. If you want to share photos that people can use elsewhere go to a site like flicker were you can easily attach a Creative Commons license.
It's "normal" in python for this to work with integers:

>>> "x" * 3
xxx

The only weird part (and it's not that weird IMO) is that numpy's "float" can be implicitly coerced to integer.
Maybe we should change the standard licences - GPL, MIT, etc. - to include a caveat "free to use without restriction... except by companies known as, or ever known as, Oracle Corporation"...
I enjoyed this and felt it was a more reasonable set of tests than what fizzbuzz usually equates to.

I do not test well. ever. Especially if there is a timer going. Thankfully, I've been able to get work from just taking about the stack or problems, and that's worked so far.
Thing is though, these questions / exercises are just that - exercises. If you can write real code / real applications (could you build a contact form, forum, shopping cart, order form etc in Python?), then you're ready.
Well, the author cares enough about RethinkDB to test it, even if he's a mongodb fan, even if his first benchmark was wrong, he was right to publish it: you all helped him when you pinpointed the problems in his tests... Thanks you for that.

I don't see any marketing here, just the "do your own benchmark" best practice, and the "share with community" best practice... Does it make it a perfect benchmark? No, but at least he tried... and the author has corrected the discrepancies since then.

Now imagine the benchmark was against [your favorite DB here] with even stronger results against RethinkDB. Notice how the most upvoted comment is joking about MongoDB. The second one is a pro-mysql comment. What's the point? Would it have been a better benchmark if it read "mysql is 10x faster than RethinkDB?" or "MongoDB is even slower than RethinkDB"?
SMS+ the first Unicode 9.0 Candidate Emoji adopter