skysight-inc/HackerNews huggingface dataset:
I guess you pinpointed one reason I like Deja so much: The x height of its lowercase letters is slightly higher than the median line.

In other words, the x height is higher than the middle stroke in capital "E" (or "F", "A", etc.). The reason I like this is because code uses mostly lowercase letters (unless you write COBOL), and if you keep the x height classically aligned, the font ends up looking squat and gnarly, like Akkurat.

Deja exaggerates the x height by (in display terms, at the point size that I use) two pixels, which evens it out and "fills out" the line height more nicely, making for a more harmonic flow, even though this also means the middle strokes of some capital letters don't line up with the tops of the lowercase letters. (This is not a violation of typography rules, by the way.)

Fonts like Akkurat, with classical x heights, look more sparse because lines with only lowercase letters leave more room above the x height, and the difference in height between lower and upper case is more pronounced.

Anyway.

I agree that Deja's angle brackets are a bit too angled. Akkurat's is better.

The problem with Deja's "=" is not the length but the spacing. It has the same spacing issue as Akkurat's "+".

However, I categorically reject your criticism of Deja's lower-case "L". It's perfect because it looks precisely like the character L, whereas Akkurat's "l" looks like the number 1. (It's also consistent with the overall shape of the font, matching the arcs in characters such as f and j.)

I was jesting about the 0/Ø. I don't care whether there is a center dot or a slash myself.

Looked at Liberation, but it's not for me. Too... squished.
I just guessed, I'm french :)
That baffles me as well. I made another comment in this thread [1], but what really dwells on my mind is: do companies that interview like Facebook really believe that my day-to-day as a programmer has so little to do with the work I would do if were to work at their company?

I'm particularly curious as someone who only did a bit of CS in school and became a full time programmer from work I did as a hobbyist.

And if the answer is "yes, your work has nothing to do with the kind of work we do at Facebook, Google, etc." it's not so much that I'm appalled but actually even more curious about the jobs at those companies than I am now.

[1] https://news.ycombinator.com/item?id=5623861
Am I reading the problem incorrectly or is that just ridiculously easy?
I'm going to be starting this July. I know a good number of people in my class who interned there, and wouldn't have joined if I'd heard of 50+ hrs/wk being the norm. From what I've heard, it's a place where you may work long weeks on rare occasions, but that would be due to your desire to get something done, as opposed to external corporate pressure. Not being a current employee, I may be wrong, but that's the impression that I get.
Jus Soli[1] has its own share of challenges and problems[2][3]. Personally I would prefer the US to abolish or drastically modify the American Jus Soli provision. It has caused too many heart-breaking situations where the illegal immigrant's child is a citizen and has to enter the foster system because his parents get being deported.

Overall only education, integration and the political clout to refuse to sacrifice democratic principles in the face of potential demands from new immigrants is a way that open immigration can work.

[1] - https://en.wikipedia.org/wiki/Jus_soli

[2] - https://en.wikipedia.org/wiki/Birth_tourism

[3] - https://en.wikipedia.org/wiki/Anchor_babies
Another reason I am not fond of this- it is easily hackable. I know some pretty average people who prepared for months, went through all questions they could find online, ignored their day jobs and cleared the interviews, while some really talented people could not.

Funny that this got brought on the Facebook thread. Though I never applied at FB, I have 'mentored' two people who made it through the process. Mentoring as in, helped them make sense (and see the general pattern) of the solutions which they saw online but could not appreciate/ understand on their own. Though I guess they had lesser trouble regurgitating the solutions in the interviews.
I guess they also hire a lot of young people who might not have a lot of practical software engineering experience. They probably have studied a lot of algorithms at college though so that is probably the best way to test how good they are at applying things they have learnt.

I also guess that when you run the largest online community out there you might run into problems that you can't find the answer to on stack overflow. Even if these are not the majority of problems you face day to day there's an advantage to having staff on-site who have a hope of solving them.
Just a sidenote: as for the name of the community, demosceners themselves refer to it as "demoscene", in one word.
Maybe they did think it through, but their conclusion reveals some inexperience.

It's impractical on many levels. Thus the need for kludgy solutions like blank identifiers. I'd rather see a strict mode or some other type of compiler flag.
Key insight: sleep disorder, in particular insufficient delta sleep, may cause symptoms similar to ADHD

The patient didn’t have A.D.H.D., I realized, but a chronic sleep deficit.

A number of studies have shown that a huge proportion of children with an
A.D.H.D. diagnosis also have sleep-disordered breathing like apnea or
snoring, restless leg syndrome or non-restorative sleep, in which delta
sleep is frequently interrupted.

One study, published in 2004 in the journal Sleep, looked at 34 children
with A.D.H.D. Every one of them showed a deficit of delta sleep,
compared with only a handful of the 32 control subjects.
It is the same everywhere and easily optimized. There's a mendacity about what people actually do.
Interesting and informative post, but it seems to be focused on software engineers. What is the process and screening like for hardware engineers?
I can't even sign up. Just get "Facebook returned an error" and shuts me off.
Is the signup failing with "Facebook returned an error:" for anyone else?
You have no dynamic content and your website crash at 200~ concurrent users?

You're doing everything wrong then. I had a website going through 6000 concurrent users sometimes and which was hosted on a very cheap mutualised server! I didn't realize so many people had no idea about simple caching techniques.
How is the phone "subsidized" anyway; Apple or Android? Consider, say, buying a 32gb iPhone 5 in Australia on Optus, for a 4GB unlimited plan is $3,120.00 over 24 months [1].

Or, you go and buy the phone from Apple for $899.00, and use Optus prepay for 4gb @ $70/month == (899 + (70 *24)) = 2579 [2] (I noticed this expired after 28 days; so maybe add another month cumulative).

Of course, as Scott Adams says the only reason all these companies exist is the "confuseopoly" they create with various different plans that are the same but slightly different with no clear benefits. So maybe my maths is wrong, but good luck figuring it out in clear terms anyway. In Australia with all the "$20 for $275 value" bull-crap it's especially bad. At least in the US it's just plain "minutes" and M/B.

I think really it's the same with Android phones ... deliberate confuseopoly. I agree with the author; after getting a cheap, underpowered, bloatware, never updated Android piece-of-crap I have a simple rule -- Nexus or nothing.

[1] https://smb.optus.com.au/opfiles/Shop/All/cis/Cis%20Document...

[2] https://www.optus.com.au/shop/prepaidmobile/prepaidoffers
Yeah, I was talking about VTSAX. VTSMX is a newer product that Vanguard offers. It has a $3000 minimum balance... but a higher expense ratio. If you can afford the $10,000 initial deposit, you should always go VTSAX over VTSMX.
You can fit at most 60 chat windows on the screen. So surely you can just start at the top left and wrap around every 10 windows? When you get to 60 you can't display any more.

Or is the problem different? For example you already have some arbitrary number of windows already displayed at arbitrary locations that you cannot move?
Impact on human interaction is a concern in the age of social media. We will always find a way to lose time. I'm not sure if any generation is/was immune to that.
I'd like to mention the font ProggyClean. After trying several fonts, this was the winner for me.
For my Facebook interview for an internship, I was given a simple string manipulation problem which I solved quickly. Then I was given the N-Queens problem (a more generalized version of this one http://en.wikipedia.org/wiki/Eight_queens_puzzle). Needless to say I didn't solve that with my remaining time, since the interviews are only 45 minutes. I didn't feel it was a fair assessment of my skills.
Just use http://serverbear.com/ and be liberated from blog spam like this.
> The problem with Deja's "=" is not the length but the spacing. It has the same spacing issue as Akkurat's "+".

Doesn't it become a length problem when we are talking about a fixed-width font though?

Thanks for elaborating, you obviously know more about typography than I do! I don't have much reasoning behind my choice of font apart from personal taste.

I just took another look at Liberation Mono for the first time in years and it is eerily similar to Akkurat Mono which probably explains why I like both of them so much.
I'm in neither of those demographics, but I'd imagine part of being a good entrepeneur is understanding the hiring processes of companies that you will be competing with for talent, so this article should be popular on your hypothetical website too.
I think that raises another question. You assume that they don't want the process to be hackable, what if they just want someone to see the patterns in those solutions because they believe those patterns arise in the work they will be doing at Facebook?
Can http do downloads from an arbitrary offset to another ? Not a rhetorical question, genuinley curious.

A long long time ago I had written an application (out of a mix of curiosity, whim and as a learning excercise) to share rpm files (red hat package manager) peer to peer. I chose ftp because it could parallelize the download to max out my bandwidth.

Connectivity to the main servers used to be terrible in those days in India. Neither were there local mirrors with fat pipes.
How much of Brain Computer Interfaces is biology and how much of it is computing on a rough scale? Does anyone know of any good books to gain more knowledge in this field? I study biology as an undergrad and this sounds very interesting.
In no way is VC a loan. It's an investment. A bet.

(Ignoring the use of convertible debt, which is really just a hack to benefit everyone).
lol.

questions similar to #2 - #5 are the real mccoy. algorithm winnies would likely go into stupor over them.

clearfix my algorithm developer ass.
ETFs are different, not strictly better. Given an ETF and mutual fund with the same expense ratio, the choice is simply a matter of preference.

An ETF allows you to buy/sell at any time throughout the day, while a mutual fund lets you buy fractional shares, and make atomic transfers to other funds. ETFs have a bid/ask spread, while mutual funds trade at the day's closing price.

If you do frequent trading, then ETFs are the obvious choice (but frequent trading is generally a good way to lose money.)
The utility of google rises exponentially with your pre-exsisting knowledge (at the low end of existing knowledge). If you know nothing about algorithms, then you can still look up and implement, say, a red-black tree. However, if you run into a problem that is simmilar, but not identical to, the problem that a red-black tree solves, you will have a difficult time adapting the red-black tree to your problem.

If, however, you have a strong basis in algorithms, but still no pre-existing knowledge on the red-black tree specifically, then you will be in a better posistion to adapt or optimise it for your particular use case. Not to mention have a better intuition in what to search for in the first place, or who to structure the rest of you code to play nice with an algorithm that is a good fit.
There is a huge potential market for "cheap" smartphones particularly in developing countries, and because of the nature of iOS, Android is the only viable game in town. So people will continue to buy subsidized/cheap smartphones for a long time, atleast outside of the US.

Bloomberg recently published a very informed article [1] on the subject where one company, "Micromax increased shipments to 633,000 smartphones in the last quarter of 2012 from 9,990 a year earlier, while [another], Karbonn grew to 304,000 from zero."

Because of the price disparity of phones from Apple/Reputable Android manufacturers, there is a very large untapped market for sub_$100 smartphones in China and India.

[1] http://goo.gl/PHKIH
http://i.imgur.com/oovbnwI.jpg - is this a black screen? No!
Arithmetic is a "bombshell"?
Wouldn't a simple inotify[0] watch on /etc handle that scenario? Does it split up the commits by package?

[0] http://linux.die.net/man/1/inotifywait
Here's another from the same thread here: https://twitpic.com/cjbzvr
I never buy subsidized phones as the cost and contract can run into a couple thousand in the long run. Generally, it is a lot better to just buy it up front and go with one of the unlimited plans that run for $50 a month. The savings are huge over time. This applies with all types of bills as well. I even pay my car insurance in full as they generally charge $5-$10 a month if you opt for the monthly payment.
The issue is a static site shouldn't even need to use caching techniques.

When I'm building an app I will use memcached with redis. But this post was just about getting a host environment/workflow for situations in which you want the ease of development that server side languages provide (shared code includes, etc.) and not have to deal with things like caching.
I made another comment on this thread [1]. I wish instead of having to prep for interviews like this, I could just present a portfolio of clean code I made myself (non-proprietary of course) or my github. Unfortunately most of the grads they're hiring have no serious code to show for themselves.

[1] https://news.ycombinator.com/item?id=5623922
Touchscreen interface for seamless data transfer
That is what I worry about uploading dotfiles as they may contain important bits about my system.
Wouldn't that commit as soon as any file was changed, no matter who or what changed it, denying users the ability to supply a meaningful commit message?
This party is not in SF, but I'm sure you could click around and discover some west coast folks who attend: http://atparty-demoscene.net/

Also, see Pouet.net for all things demoscene.
I don't get why he would document what happens when you hit reload. The page reloads. The colors are all the same and can't be adjusted, so obviously it can't be met to be a means of choosing colors. Where did you even get these expectations from?
So, it's down for me right now. Back to square one?

EDIT: it's back, one or two refreshes later.
I believe I have touched #1, garnering 30,000+ views in a day. It was a static site on an Amazon Micro instance served with nginx, no hiccups. I have not minified any of my assets either.
That is the goal. Slower hashing is harder to crack, is more secure.

Login load is nothing compared to the rest of the app.
After reading this, it makes me want to hug my toilet...
Bugs produce diesel on demand
Brilliant PR. Lead the sheeple on.
Though I doubt that, it might be true that being good in algorithmic puzzle-solving (as opposed to real-world algorithmic research/ development) helps employees in their day-to-day work. And I do think they maybe missing some real gems because of it.

But in my opinion, they just need an easily definable and quantifiable process. And they are happy to look the other way when they see covert cheating/ hacking as long as it clears the process. And there is no denying that there is still a decent ability threshold which most covert cheating people too will pass, which I guess suffices the corp needs.

I am a far bigger fan of pair programming after a basic phone screen, but large companies just can't do that.
Must be your internet. My server load time is hanging steady at 455 ms.
I would assume that you have an arbitrary number of windows already displayed that you cannot move.
As you say, the early web came close to this ideal. What happened was almost entirely political and social, namely censorship, and copyright, and DMCA takedowns, etc (only occasionally would a "webmaster" die, or would a system fall into disrepair). Freenet/anonymity (and the early web had the appearance of anonymity), is one approach to prevent pointer-breakage by simply making the censorship impractical. Another would simply be to accept that the web should be an append-only distributed database like Bitcoin's blockchain or like a de-duplicating filesystem in which additions depend on prior content, making censorship all or nothing (and hopefully we wouldn't throw out the baby with the bathwater). Bittorrent is somewhere between - anonymity through numbers and a high-availability through independent mirroring (without interdependence between torrents, discouraging censorship).
I'm using a font called zevv-peep, like it a lot.

http://zevv.nl/play/code/zevv-peep/
I was using this distro for the past few months. I must say that I liked it very much because its optimized for laptops and I get the most battery life out of it. Now that its gone, can anyone here please suggest a distro that does the same? Other than Lubuntu, which seems to be an obvious choice?
See webcitation.org - copies the page at time of linking.
This sounds awesome. The next time I interview for a position somewhere, I really hope it's closer to this, than to obscure problem solving trivia.

The next time I interview someone to work for me, I really hope I can make the experience as collaborative and rewarding as it sounds this was for you.

The kinda person who I can work through this interview with is exactly the kinda person I wanna work for / employ.
Here's a question: at companies with these kind of approaches, how many of the founders and early employers would have done well in these interviews themselves?

Obviously, services grow and the Facebook of 2013 is very different from the Facebook of 2004, but it's kind of funny to see companies that succeeded because the original team was able to ship (period) evolve to focus on hiring CS majors who can reinvent the wheel on a whiteboard.
Communication from Facebook recruiting team is ZERO after applying. Not even an automated reply.

About a week back, I applied to Facebook after solving a puzzle on their Interviewstreet page successfully within given time.

Sadly I didn't get any kind of acknowledgement from their recruiting team, neither saying I am rejected nor that they have received my application.
>>Take your time preparing. Do code katas and practice interviewing with friends. Try solving the interview questions on our site.

This makes me wonder, who or what kind of a candidate the person even trying to hire. Programming or any career for that matter is by and large a kind of job that requires you to perform everyday, you have to be consistent. Its not an Boxing match or America's got talent contest which happens once an year for which you do all the preparation for 12 months and then perform on the last hour. Software projects or any project for that matter simply don't work that way. You don't read books for months, decide to do the project and then hammer out all the code in an hour.

>>Impress us with your mastery of whatever language you're best at.

Again, whom are you trying to hire?

>>Hard training makes for an easy battle. Brush up on techniques that you may not use every day, but are very useful when you need them: recursion, graph theory, tree traversal, combinatorial problems, etc.

Sorry but this is getting boring. This algorithm thing is so badly gamed, it doesn't even make a good point of testing a candidate anymore. I've known people who work an hour everyday practicing these interview problems and can ace through such interview in a breeze, but wouldn't even last hours in a demanding work environment.

The best way to check if a candidate is good for you is to do a through check on the quality and kind of projects/problems they have worked on in the past. If they have done well, hire them. Else regardless of whatever they might know from the text books, if they can't get the job done or haven't in the past. They are worthless to you anyway.
The role we all played in the Bangladesh tragedy
To quote PG, "...the way to do really big things seems to be to start with deceptively small things."

Aspirational goals are useful, but an answer to the "billion $" question is not always a necessity. Many billion dollar companies started off without an explicit goal to become huge businesses. See Facebook, Amazon, Google, etc.

Quote is from here: http://www.paulgraham.com/ambitious.html
Maybe you don't realize that "they" includes Ken Thompson himself... You may disagree with the Go design team's decisions, but it's amusingly absurd to accuse them of inexperience.
No, I meant inclusive :-). Why must "incorruptible" include "inflexible", and vice versa? Though in hindsight, you're not saying that inflexible implies incorruptible (A <-> B), only that incorruptible implies inflexible (A -> B). Why must that be the case?

I'll simply have to disagree that involving human judgment in every step of a process is a good thing, or that the adversarial legal system does anything other than favor the party with more resources (instead of the party that is more correct). Human beings are simply far too fallible, far too vulnerable to blind spots and biases to be trusted with important decisions. I read once on HN that removing human judgment from part of the judicial process, by implementing sentencing guidelines in criminal cases, actually improved outcomes.
Strangely enough your current copy on the page features the old version!
Meet The Man Who Allegedly Radicalized Tamerlan Tsarnaev
Fast and simple Git history rewrites with The BFG
And with a phone as beautifully-designed and high-end as the N4 selling for $300, someone could certainly sell a perfectly usable Android phone for much less.

(Unless Google is selling it at a loss.)
This is a great question. I can't speak to Facebook, but I ask hard algorithm questions and this is why I do it.

The point of these hard questions is not to assess if you know some obscure algorithm. The algorithms in these questions are obscure precisely because you're not supposed to know them. If the candidate clearly knows the algorithm I switch to a new question.

The point of these questions is to assess your ability to perform under pressure in an unfamiliar situation, which is a fundamental skill that all productive engineers require. I expect that any engineer I greenlight to encounter novel situations. These are not necessarily Hard Problems dun dun dun, but these situations will challenge your problem solving skills and you won't be able to look up the right answer on StackOverflow. I expect candidates to have the ability to deliver a solution that works and makes the right tradeoff between time, quality, and scope.

I have also had interviewers ask hard problems for the wrong reasons. Frowntown to that.
It is tedious to code the layout and design of the
PDF using code libraries such as FPDF, Prawn etc.

I recently used Prince[1] to generate a PDF version of a web-based book. The PDF needed to be suitable for professional printing (crop marks, bleed, trim, etc.). Prince was the only solution I could find that came even close to being adequate for the job, and it exceeded my expectations. Creating the HTML for Prince wasn't tedious at all. It was almost a pleasure because Prince includes better support for print-related CSS3 properties than any rendering engine I've encountered. There's a web-based service named DocRaptor[2] that is powered by Prince.

[1] http://www.princexml.com/

[2] http://docraptor.com/