skysight-inc/HackerNews huggingface dataset:
You cannot only detect with 90% accuracy where they are but also with 90% accuracy that they're running Android.
It doesn't sound like you're looking for financial independence. It sounds more like you're looking to buy all the same things that everybody else buys and otherwise act like all the other adults you see, but be able to do so now with your entry level salary.

But that's what everybody wants. And it's why people end up living beyond their means.

If you want actual financial independence, that's pretty easy to pull off. Even in a place with million dollar houses. Just convince yourself that you don't need a million dollar house. Or a nice car. Or your own place without roomates. All you really need is to pay that debt down to zero over the next year or so then find an equilibrium where you can live on about a quarter of your take home pay.

Then you're done.

At a developer salary (even a canadian developer salary), that will start you down a path of saving a lot of money in a hurry. Enough that were you to lose your job entirely five years down the road you could happily coast along another five years before really needing to worry about money.

That's what you're shooting for. Notice that at no time do you do any of that coasting in a million dollar house. But if you keep at it, you'll eventually get to a place where you can buy that place in cash.
A lot of the people I know work in R or Python too however I also know a lot of people who dont have the coding or stats skills and need to do this kind of work. We thought it would be useful to build something simple in a familiar environment such as that of Excel. The tool doesn't require any kind of coding skills and its pretty simple to use.

Thanks for the feedback though.
Socket Sharding in NGINX
There's a setting in Messenger to disable it for all chats. And on iOS, just disable location services for Messenger.
If you know that you are going to need piracy risk support, then of course it makes sense to prepare the architecture for it, even if you only have to deliver the feature four months down the line. But YAGNI does not apply if you know a feature is needed. If you don't know but are just guessing about possible future development there are a million things in various directions you could also prepare for, and all preparations have a cost.
Then how on earth is it possible to build Parse.com with MongoDB?

http://blog.parse.com/announcements/mongodb-rocksdb-parse/
While it's relatively easy for people with an EU passport to move to the UK, the work permit system is just as bad as the H1-B visa system. It's capped at around 20000 applicants per year.

For those with good English and tech skills without an EU passport, Dublin is a fairly good option. The work permit system is reasonable and the demand for skills is quite strong. There are also a lot of US companies with operations in Dublin, which opens the possibility for an L1 visa to get to the US.

I think UK companies should also consider setting up offices in Dublin, so they can get access to talent they can transfer to the UK using the intra company transfer visa, similar to companies in the US having offices in Canada.
There's two questions here - anagram and something with centimeters and liters those with the imperial system may not be familiar with. I wouldn't actually bother explaining those - if the applicant can't figure out what an anagram is or how to calculate volume in liters from centimeters (which is simpler in the metric system), they're inept and completely unsuitable for software development.

I'd rather hire someone that can't write a word of code - yet - but can figure it out on his own using some googling than someone that passes fizzbuzz but gives me a blank stare when I mention the word "anagram". "I don't know what an anagram is /yet/" would be the correct answer.
100GB is cheap to store, but it's not cheap to download, for you or for the distributor. (At least, if everyone does it.) With free software, load-on-demand makes way more sense - if you need a purely local install, buy a DVD set.
There's an interesting thing that happens when you teach software development: many times you're forced to use heuristics in order to get something of value in the student's head. The 90 or 95% solution that somebody understands and uses is much better than the 99% solution that nobody pays attention to. KISS.

I think everybody needs to build 2,3,4,5 or more systems that you over-design in order to feel the pain and learn that YAGNI makes a lot of sense. Yep, for any given project there might be a couple of YAGNI items that make sense, but good luck trying to get a team of seven to agree on them. Most of the time instead of agreeing, everybody gets their 2 or 3 added (or they add them on their own without asking anybody) and you're back to astronaut architecture land.

A similar thing happens in C++. I firmly believe that a coder needs a bunch of projects where they shoot themselves in the ass with C++ before they finally realize that every little bit of added genericity and redirection is a ticking time bomb of maintenance work later on. Eventually you realize that brutally maximizing simplicity is as important as actually solving the problem. Probably more so.

Interestingly enough, I see more of this in high-level OO languages than I do low-level or FP solutions. I think that's because "manage the complexity" is a key part of those worlds, where "click to make a class" is a key part of the other. (Just speculating)
Doesn't work on iPhone which is annoying.
I disagree on the understandable part.

But another point is that it is much easier to have a typo that compiles in code than in variable names.
I've created my own programming language and they always tell me that the best languages are always self-hosted, so I wrote the compiler in my new language too.

I'm having trouble running the compiler.

bpgcomp bpgcomp.bpg -o bpgcomp

But I keep getting a "bpgcomp not found" error.
I have to say, it's rare for me to agree with a HN comment as much as I do to this one. Well said!
How we were submitted to Product Hunt and nothing happened
That's unrelated.

Sharing _exact_ locations by default without realizing it is creepy/intimidating. The content of the message/the incident itself is just an anecdote that explains how the GP noticed this idiotic behavior of FB's chat.

Commenting on the anecdote derails the thread as far as I'm concerned. The subject is 'FB shares detailed location data and you might not know it', not 'one time, in band camp, I lied to a friend about my ETA'.

Ignoring that, there's no way to judge his communication with a friend. The only two people that can decide whether a lie like that is acceptable are the people involved. The friend might be offended and agree with you. Or laugh about it and ask for a beer in return, being totally fine with it. Expecting it? Who knows. And still irrelevant.

We can blame HN for being unable to hide subthreads, but for now the first 2 pages on my 25" monitor discuss if lies are acceptable or not and in what circumstances..
It probably actually is a problem but most people don't realise it.

Even when people are incredibly careful people do unwittingly post things that allow others to identify them. They may not reveal much in any individual post but when you combine a few together its a problem.

1 prime example is a friend who posted an invite to a house warming party then a week later posted from their holiday abroad...
Oh man, dynamic loading of Go libraries is going to be awesome. I'm in the process of developing an http API framework/server (yes, yet another one, but why is a different topic). This will allow me to compile the actual APIs running on the server (multiple APIs can run on one server) as shared libraries and have the server automatically start them.
Hi, what version of Chrome are you using? We've has users experiencing similar issue on Chrome Dev/Canary which we're looking into, so you might want to try Chrome Stable.
Ruby on Rails iOS, Android & Windows Phone Push Notifications
XSlider Free Version – An Amazing Slider Plugin for Wordpress
The question is probably more aptly written as "Take the width, height and depth of a cuboid in centimetres, and return its volume in litres".
Diff math
I think that generally "how to write bad code" is a great interview topic as you probably get a positive fun response from those are know and get a nice insight what things they might be caring about.
Rails SEO Friendy URLS
Wow, this sounds awesome!! Thank you, I didn't know that, I will definitely look closer at the EU countries....
Agreed. And willingness to learn is more important than any current skill you have. Bet on your future skills, not your current shortcomings. Don't think "can I do this?" but "can I learn this?".
A key aspect of the rule is that it eliminates low value disagreements like this one.

First, you're completely forgetting the cost of (unnecessary) code in the system. And you're still making indefensible assertions (2-10x).
"the remaining volume past 1 liter" would sound more accurate maybe?

I still find it surprising people with no programming knowledge actually apply to these kinds of jobs.

This is like a construction worker applying for a doctors position.

Do they really think programming is just that easy that you can pick everything up at work.

We don't spend years learning this just for fun.
The team has indeed expanded.
I had this exact same thing happen to me in 2001.

I had saved up to spend half a year traveling around the world. I gave my boss the heads up a couple months in advance, he told me to keep quiet for a few days, and next thing you know I was out the door with a couple months to spend on a surfing roadtrip before hopping that flight, and enough funds to cover it.

Everybody wins, especially the CTO who had to ruin one less developer's day.
There are a few more exceptions, that come to my mind: Military, Intelligence Agencies and their subcontractors, TBTF-Banks, Disney, Sony ... ahrr and the list goes on
Does anyone know what author meant to say?

3) have a very similar Unicode model which is to map
Unicode data against arrays of characters where a
character[sic]. In Rust however...

It seems a part is missing.

Don't get me wrong, not criticizing author here, happened to me lots of times.
Deepin Screenshot: Moving Towards Perfectness Continuously
Jamie xx – Gosh
Removing CLOSE_WAIT connections
Non native speaker here. Does this above question mean, calculate volume with the three measurements and convert that from centimeter to litre? (thousand cubic centimeters make a litre)
I don't think these type of silly questions tell you anything meaningful as this is not how you code in the real world. Most people get nervous during interviews or don't perform well under timed tests. These type of interview questions really only test if you've heard these questions before. You're basically testing their interview skills.

There's no substitute for reading code they've written in production.
SBBM: Scripting Vanila Minecraft with Rust and LLVM
Bookmarked the podcast to have a listen later today. I've managed to productize my consulting which has worked well for me in terms of sales conversions and engagements etc. Ive been unable to identify a recurring revenue stream however. My consulting work is all strategy based. Im paid to think rather than do, whereas most others I have spoken to do some form of execution as well. Do you think there's a way for me to come up with some sort of recurring revenue model?
This is an excellent question. Here is a blog post from a colleague of mine about how he got into professional programming without having an academic background in it: http://sharktank.co.uk/articles/how-i-got-into-programming/

Now, I should say in advance that my colleague is very talented and not everybody can do what he did. You will notice, though, that he spent several years before he was able to make the jump. He's now a full stack developer and a good one at that.

It is hard to give good advice because there are probably people who will hire you (at very low pay) even with as little experience as you have. You can then spend time working to improve on somebody else's dime. On the other hand, it will be very stressful because you will have a literal mountain to climb and you may even cause the failure of projects without realizing it.

I think ideally, I would spend a considerable amount of time working on real projects on your own, spending 3-4 hours a day average. After a few years you will probably be more accomplished than many new grads out of university.

The other approach is to go to school and get a degree. It is expensive (in time as well as money), but that piece of paper is worth its weight in gold at the beginning of your career.

Whatever you do, good luck! Try to understand that it will be 10-20 years before you even realize how much you suck, so never give up trying to improve yourself :-) The only people who I've met who were not embarrassed about how bad they were at the beginning of their career are people who are still bad at their job.
calling what I said "profoundly stupid" adds little to the discussion, and only stands to subvert my expression of frustration, which is where the sarcasm comes from. You may disagree, but you don't need to knock down what I said to do so.

Likewise, take a step back. Maybe take two. What our our priorities as a society, as a species? These two companies with loads of money and resources, battling it out over if API's are copyrightable. I'm not saying that's not a significant legal matter, I'm saying in context of everything else, it's squabble. It's part of a big circle jerk that companies play with each other in attempt to screw one another so they can make more money.

I guess the future really will be nothing but lawyers.
Maybe you didn't get the joke. The joke is not about MongoDB, but about MongoDB fanbois that care only about some very narrow definition of "performance".

The wider message is that DBs are way more complex beasts that is meaningful to test this way.

Obviously there are cases in which MongoDB is a great choice, but equally obviously tests like this should not be a reason for the choice.
This slide mentions that initial go-version dropped down to 1/10th of the C in performance:

http://talks.golang.org/2015/gogo.slide#15

While the next mentions that the got it back up -- but not by how much.

It wasn't exactly crystal clear from the docs/website, but apparently[1] "master"
is go1.5 -- so with go1.4 on windows, one can:

# from a git bash, already have go1.4 installed
git clone https://github.com/golang/go.git go.git
cd go.git/src
git checkout master
export GOROOT_BOOTSTRAP=$GOROOT
time cmd "/c all.bat"

real 0m29.078s
user 0m0.015s
sys 0m0.030s

# with our fresh go1.5 (see more below):

real 0m33.034s
user 0m0.000s
sys 0m0.000s

So, apparently doing the same job (compiling go1.5 "master") with go1.5 and
go1.5 -- there's a small hit (I ran a couple of runs with each, the numbers
are consistent to ~1sec, so call it 29 for 1.4 and 33 for 1.5).

Note that if you want to do this, in particular the second part, it gets a bit
hairy, as "go.exe" needs to be in your path, and you need to change your
gopath (easy).

On my system, I had everything in $HOME/opt (%HOME%\opt), so all i did was
move opt\go to opt\go1.4, and copy go.git to \opt\go. One can confirm the
right version is being run with 'go version' (and 'cmd "/c go version"' from
bash).

[1] After a few useless hits, I found:
https://godoc.org/golang.org/x/mobile/cmd/gomobile -- which mentions what's
needed to actually test go 1.5. If they want testers, they should probably
add something under "install from source" on golang.org about "And if you want
to live on the edge, or say, test go in go, use "master")
The examples given are always so contrived.

And the whole point is to eliminate all this clutter from your head so you can focus on the task at hand.
It's important to remember the purpose of questions such as these. The purpose is to short-circuit the interview process when you're presented with someone so hopelessly unqualified that they're wasting your time and everybody else's. That's why they tend to be laughably simple.

More detailed questions -- how they react in real-world situations, how they manage under pressure, and so on -- can come later, once they've cleared that first hurdle.

An article well worth reading here is "The Five Essential Phone Screen Questions" by Steve Yegge.[1] He gives some good advice on what to look for in the candidate's answer as well as how to construct FizzBuzz-style questions of your own.

[1] https://sites.google.com/site/steveyegge2/five-essential-pho...
Ask HN: How do I know if my home router is secure?
So really this is a more of necessity not to encourage competition.

They need a replacement for the Russian rocket engines and SpaceX is the only good alternative.
This aweseome news. Can we do the IOC next?
The majority of candidates I've interviewed do not have code they can show me. Usually because they don't have permission to share code from their previous job.

The idea of these questions is to filter out those that cannot program at all; any competent programmer should be able to solve these; or at least talk about them for a while.

The point is to avoid making a bad hire; not to find an excellent person.
At my school we were marked down if we put more than X words on a slide (The rule was if you can't read the entire slide on a projector across the room, you have too much text), everything else should be in the slide notes.
I suppose the author of the test forgot the "only test realistic scenarios" best practice.
Distinctions like that makes googling for speed of the compiler itself annoying.. :-)
> If you have a small group of brilliant computer scientists, they can create world changing software. How many folks were required to get Snapchat or Youtube off the ground?

Snapchat is world changing and the work of brilliant computer scientists? Did I miss something? I can only hope that your post was intended to be sarcasm.
Emoti – Visualising our Emotions
>We need operating systems that treat programs as adversarial rather than trusted

A few client platforms are moving in the direction of isolating workloads: Qubes, Genode, unikernels.

OS X and Windows 10 include hypervisors that could be used to isolate risky workloads, but they are not yet positioned for mainstream use. Recent Intel GPUs include support for 3D graphics virtualization.

With strong isolation, we can localize competing vendors, filesystems, SDNs, DRM, monetization and data retention approaches into isolated VMs on the same device. No need to force all workloads into one walled garden, or put stable workflows at risk from experimental software.
Well, these are the same people who think you can safely backdoor encryption.
This has NOTHING to do with shared libraries vs. statically-linked code.

The size of the binary is completely irrelevant when considering if the code fits in the CPU cache. What's important is the size of code that actually executes. Dynamic linking changes nothing.
I find that notes are a natural result of preparing a talk. I write the notes to work out what I plan to say while designing the slides to support the script. The notes are the main way to communicate with people who weren't there or who need a reminder of what was said or to follow up references.

Example: https://git.csx.cam.ac.uk/x/ucs/u/fanf2/talks/2014-03-nws42....
Embracing change as engineer
> How hard is it to understand the notion of "building what you need, and not what you don't"?

Very hard, because it's in fact a tradeoff. Let's say you are building a house. Will you have wife and kids in the future? YAGNI says you can always expand your house once you have kids. But do people really build houses that way?

To take more extreme example, first thing you expect from housing is a protection from elements. So according to YAGNI, you should build the roof first, and see if it's good enough for you (and you don't bother, for instance, that you can only stand in the middle of the room). Again, no one really does that with real houses.

The whole art of engineering is to pick the reasonable tradeoffs, and this includes hedging against the risk of future expansion. That's why simple pronouncements as YAGNI are not of much help.
A good set of questions - they don't rely on too much esoteric knowledge, and look to see how the programmer would apply any experience gained to date in solving them.

One question we often use early in interviews is "could you show me something neat you have learnt whilst programming?" - we want to see if they have actually programmed before, if they took the time to dig in a bit more than hello world or the fabulous Paula bean (dailywtf classic) and importantly, why they thought it was neat.
The 7 people who love when you prototype
I noticed that ecryptfs + ext4 doesn't support sparse files efficiently (it takes a long time to write to a large sparse file, as if it actually writes/encrypts all the zeroes).
Having encryption directly in ext4 should solve that, but I haven't tested the patchset yet.
It means the volume in excess of 1 litre, since it talks about returning a negative number if it is less than that.
Correctly Hashing Passwords with PHP
If you look around the table, and you can't find the muppet, ...
I'm not sure if you're complaining about disk space or time spend compiling, but if you're complaining about time spent compiling, the complaint is not valid. Dynamically linked Go programs build just as fast, to a first approximation, as statically-linked counterparts.

That's not at all surprising considering that with static linking, each package is also built only once.
Does that mean cgo is away too ?
I was exited by this:

> Generate machine descriptions from PDFs (or maybe XML).

> Will have a purely machine-generated instruction definition:

> "Read in PDF, write out an assembler configuration".

> Already deployed for the disassemblers.

(my emphasis)

That coupled with a whole tool chain in a friendly language like go, makes be exited for how this might be used by other language designers. While "compile to go" might not be as attractive as "compile to c" -- it's not half-bad. More importantly it kind of smells like part of this tool chain should make it quite easy to generate machine code quite easily.

Nothing against llvm, rpython/pypy, graal etc - but the more the merrier!
Sure, any competent programmer could solve these under normal circumstances, but I've had a few interviews where I was kicking myself right afterwords for giving such stupid answers under pressure.
I like the old school dogma underlying the whole thing. Russia is bad, private enterprise is good, the US wants to put weapons in space, and Michael Jackson is rocking the world with Thriller.
Your exposure is not the notional, it is the mark-to-market minus any collateral received or posted. This will be a small fraction of the notional.
It was the best browser on any platform at the time, and paved the way for strong web standards support.

People often forget about this when bashing IE.
A new iOS Bug Crashing iPhones by receiving a specific text message
The trace viewer is not Go specific, it comes from the chrome browser, but of course the technology that makes it possible to trace Go is very Go-specific.
> Eventually you realize that brutally maximizing simplicity is as important as actually solving the problem. Probably more so.

Just wanted to quote this as a perfect software development aphorism.
(I'd be more confident in this test if someone could point me at a past commit where go1.5 works, builds with go1.4 and itself, but is (much 10x) slower...).
The Underwater Internet
It's allowed - there's an explicit exception for downloading code and executing it via WebKit http://info.meteor.com/blog/apple-hot-code-push-mobile
Amazon RDS SQL Server and Microsoft BizSpark Licensing Quagmire
Not gibberish per se.
1000 centimeters cubed = 1 L
So if you have 3 measurements in cm, you would multiply them all together and divide by 1,000 to get an answer in Liters.

[Edit for typo]