skysight-inc/HackerNews huggingface dataset:
Nobody cares about unicode?

I couldn't write web software that deals with non-ascii, and especially non-Latin, alphabets without paying attention to Unicode.

When I start getting into weird edge and corner issues -- I am continually amazed that Unicode works as well as it does. It turns out modeling alphabets is way more complicated than you might think. And Unicode gets an amazing amount right, making it practical to do things robustly correct.

Including not just the character set and encodings, but things like Unicode collation algorithms. A bunch of really smart people have worked through a bunch of different non-trivial problems of dealing with diverse alphabets, and provided solutions you can use that pretty much just work, bug-free.
This wasn't a FB interview - this was a phone screen before you got to the interview. Every linux sysadmin under the sun can answer 90% of those questions from "muscle memory." The purpose of this phone screen was to ensure that the incredibly expensive time of the interviewers was only used to meet potential candidates.

There are certain trivia or data that the entire community of linux sysadmins know, just by having worked with the operating system - and, if you miss more than about 20% of those questions - one can say with pretty much certainty that you are not a linux sysadmin.

I thought the questions were roughly the ones I would give to a technical recruiter to screen.

(PS: ls -lart - muscle memory, I type it 100+ times a day)
Definitely rate limits. They should probably be proxying the requests and caching the images.
I preferred the approach described here over pure Redis pub/sub because of the ability to disconnect or lose connections and still end up with the data eventually.

Specifically about "cron" capability, resque-scheduler does a pretty good job for Resque in general. Resque Bus uses it for exponential-backoff retry.

It uses the scheduling capability for the "Heartbeat" described in the README. I'll write more about that later if people are interested. Quickly, it's an automated way to add events every minute. We use this like a global (shared across applications and servers) cron clock.
Are they getting worse and worse? I haven't seen anything to suggest that...

Unless you're extrapolating that because there are more CS majors, there are more potentially employees for a limited number of jobs. But considering that the world keeps needing more, and specialized software, the number of jobs is also growing.
"Optionitis" is like "salaryitis". Is the author offended when employees make a spreadsheet to see if they can afford a house?

Is the author offended when VCs or CEOs make spreadsheets to understand their equity stakes?

Of the author was honest, the message would be "options are a Market for Lemons", so just pay a cash to people who you can't bear to share the risk AND responsibility AND rights of an equity stake.
Presumably they are screening for competence. They don't need Doug McIlroy to run their servers.
There's an element of a collective action problem going on: why train your employees when they will most likely be gone in 3 years or two years or six months? Even if you retain half of them, you're still spending time training the other half---training that will reap you no benefit, and may even end up helping your competitor.

People take better care of things they own, and higher employee mobility means that companies "own" their employees less than before. As such, investing in them just yields less return than it used to.

That doesn't mean I think we should go back to the bad old days of cradle-to-grave BigCo---rather, I think the author doesn't realize that's what drove the "good old days." Be careful what you wish for.

All that said, the author is correct in identifying the problem of a future shortage of senior developers.

But shortages are not a problem if you control the supply. Become a senior dev anyway, if on your own time. Learn to market yourself. If you think a shortage is coming, profit off of it by investing in yourself.
You can run fsck in a diagnostic mode that doesn't write any changes.
AC power plugs and sockets
Uses it != cares about it
Ah, yes, anyways, I was thinking of the massive increase in javascript.
I think that value might be a bit optimistic.

http://i.imgur.com/zYsc6oa.jpg
Senior dev here who wasn't even a CS grad.

I got experience by finding a job with someone that didn't require experience- they were ok with a certification. After that, I used experience and connections to find jobs. Usually they just fell into my lap.

Today is different. But I'll give you a hint: either co-op or take a job in some sort of related field part-time in college if you can and network. Networking no longer means attending club meetings or being a douche who tries to sell himself to others during social/networking events. Instead it means coding at meetups, etc. with others. It means getting involved in open source projects that people actually use a lot- the same people interviewing for jobs that you're applying for.

No one is going to just hand you a job. We are now churning out kids to college who got trophies just for playing sports. You don't get a job for finishing college anymore. And getting jobs without having experience has never always been easy. But if I did it without even having a relevant degree many years ago, you can do it with a degree now.

If you suck a interviews, practice. If you get nervous when you speak, join Toastmasters. Actually do stuff like coding up applications for things you are interested in. Maybe you have a steep hill to climb, but you can do it. I'm not saying it is easy. But there are enough jobs out there that if you don't get one, you are either (1) in the wrong place (move to another tech hub city) or (2) you have a deficiency you need to work on. There are jobs for people right out of school. I know because I know people that have gotten them while in school, and they are set when they get out. Stop just taking classes like that is enough. It isn't.

So- of course inexperienced doesn't mean stupid.

But it does mean: unexperienced. Get some experience.
They can't set balances to whatever they want. They have to justify each switch from ledger to ledger with signed transactions. (Just like miners in Bitcoin can choose the transactions to include in their blocks but can't just create Bitcoins out of thin air or teleport them from one account to another.)
Some background to this project:
http://blog.jenniferdewalt.com/post/56319597560/im-learning-...

(HN discussion: https://news.ycombinator.com/item?id=6097155)
Oof! I dealt with a SASL and CAS system that had much of its flow control built into XML strings. Yeah, you may not have to "compile" things, but you end up with a system where everything is a runtime exception. I believe this style of coding was referred to as "inner platform effect" by Martin Fowler.

Glad that I'm far from that project now.
Replacing Python
I think I've seen some people argue that it's not a coincidence that the development of computers happened in a culture with a small phonetic(-ish) alphabet, that this facilitated the development of computers.

To me, that sounds both rather too teleological, and plausible.
If the food wasn't great, then somewhere so gross wouldn't stay in business very long.

All of my favourite places to eat or drink are hardly cleanrooms. If I were elderly or had a weakened immune system, that would probably concern me more than it does currently.
You can have an order book between any two assets. The pathfinding engine will prefer whatever path is cheapest, assuming it's not too long for it to find. For example, the USD/Bitstamp <-> BTC/Bitstamp order book is quite popular.

This is important because the price of XRP is not very stable now. If you wanted to keep offers up for USD to EUR, it would be very irritating if you had to pull down and replace a USD->XRP and XRP->EUR offer every time the price of XRP changed (to prevent one order from being too good and the other too bad). Also, if you couldn't place a USD->EUR offer, what would you do if you really wanted to trade USD for EUR? You can't place an XRP->EUR offer because you don't have the XRP yet. And if you place a USD->XRP offer, you wind up with XRP that you didn't want.

In the future, if the price of XRP becomes more stable, order books to and from XRP may become more popular. But still people who just don't want XRP will place offers on order books directly between assets other than XRP.

Whether or not XRP is a currency is really an arbitrary thing. I just want people to understand what XRP is and what its role in Ripple is. If they think that makes it a currency, then fine. If they think it doesn't, also fine.
Redefining Hackerspaces
> I belive this is the kind of approach to discover and report security vulnerabilities in the 21st century..

Depending on how capable the analysis suite becomes, then it would be very interesting to run it from CI.
You don't have to trust a compiler. Even with Thompson's original presentation, you could (with sufficient care) audit the machine code - possible, just impractical without a seriously massive investment. More recently, though, someone figured out how to make sure a compiler is cleanly built from its source: http://www.dwheeler.com/trusting-trust
50 New York City startups you need to know about
Exaggerating reveals the point. That is the satirical technique in action. And this is about poking fun at a) the enthusiastic self regard that many tech companies have for their "culture" and b) the notion of the unlimited benefits of self-surveillance, which is a value social networking has explicitly and implicitly promoted.
You're response is funny to me. It's funny because, and I know this sounds arrogant but I am 100%, 100% right and anyone that is both intelligent and honest can see this. I'm not right because I'm smart, I'm right because I have common sense.

You're making this typical naive morally indignant response about promoting scarcity blah blah blah.

You may be a person totally devoid of self interests but the fact is most people are not. I'm sorry Virginia. Now let us please recognize the fact that people were never stopped from following RMS moral truth throughout the history of technological innovation. Yet, many people have labored for you to have these fancy things like Teflon, integrated circuits, CT machines, all manner of strange, complicated things.

We don't have a lot of evidence of great technological innovation occurring under some sort of quasi Marxist (not meant derigatorily) paradigm that was not spurred because of some desire to win a nuclear arms race or equivalent. It's just horribly naive.

As far as the self-righteousness about like "we are to create value" and your strawman game ...

Are you seriously suggesting programmers are worthless. =)

No, I know you want donations or something and then will jibber jabber about how we all should learn to live with less, I'm not sure. I'll be honest I don't know what you're reaction but this response is hard to take seriously.

You think the modern world would really fell out of Stallman's world view? You think society would really work that way? If you do, I think you are seriously misguided about reality.

It may be true that Stallman is morally right, but, trust me, no one really wants to live in that world (well sure, if you've ever seen that show "Taboo" there are some out-there people, but keys get real).

I will say this, your position, if it were to take hold, would be an interesting and fun, if devastating, way to shut up all those people that blather on about how "everyone needs to learn to code" ... Although if this RMS moral view took hold in the past we wouldn't have to worry about that in the first place.
thinking hard thoughts and typing...

Meh/. This is a weak argument. Most people in nearly every company from the PA to the CEO sits at a desk with a screen and makes clicking sounds 95% of the time. With the minor process of of 'talking' added, this is the basic description of ~all jobs. It helps to critique the argument at a level of resolution that matters.
Keypress: A Javascript library for capturing input
Pretty much.

A Docker AMI Generator exists. DigitalOcean offers an out of box Docker host. OpenShift will replace cartidges with Docker. OpenStack can provision Docker containers. Other PaaS/IaaS are in the works.

Running a registry is as simple as `docker run samalba/docker-registry`.

Pushing to that registry is very simple, especially if you have a reverse proxy ( I use hipache. Mine is registry.stinemat.es )

So, assuming those first 3 are in use in a 'convenient' way (as defined by you) - your request exists today. That matter of convenience will grow.
I have friends who work for artistic stuff in the video game industry. Telling good from bad in their domain is practically even harder than screening CS candidates. Every job there is, they ask for a portfolio of projects. From day one of job hunting, they need to be able to show something to a company.

While it isn't mandatory in software, being able to talk about something at any point during the interview process is a HUGE plus.
Why not use AMQP?
AutoLaTeX: how to automatize LaTeX compilation
Five little robots travel along lines and turn colored scribbles into music
Aren't you confusing TMI with lying & deception.
Students Win Seed Money To Make Flour From Insects
Sidekiq supports scheduled jobs: https://github.com/mperham/sidekiq/wiki/Scheduled-Jobs
NSA agents illegally spied on love interests ‘only’ 12 times
You could still do this even if strings were encoded in UTF-8. Just define the length of the record to be the length in bytes.

This is why most modern programming & serialization languages (Go, Python 3, Protocol Buffers, Cap'n Proto) define separate byte[] and string types. Some things are just binary data and should be treated as such. Other things are encodings of world languages and should also be treated as such.
Around the world 360 days!
Why just "CEO"? Why not startup founder? Isn't it applicable to all the founders too?
Making it more something regular people can read and understand would mean more arguments by lawyers (real and wannabe) over how far bits of it can be stretched.
Thompson is at the very least responsible for the ^ and $ metacharacters.
1) Inexperienced Joe's most pressing problem as a result of inexperience is attempting to find a job by looking at job ads. Joe does not yet know, but should learn, that most jobs in fact have no associated ad, and that jobs which do have ads are disproportionately jobs you do not want to apply for. Instead, Joe would have been better off attempting to get his name in front of people who have the authority to hire junior programmers, who are a) legion and b) overwhelmed with their current inability to source candidates who are capable of producing working programs/systems/etc.

1b) Not posted job description anywhere accurately represents all parts of the job, and for the right candidate, companies are willing to ignore virtually anything. The right candidate is "anyone who can convince the decisionmaker that they're the right candidate." Decisionmakers at many companies value grades a lot less than Joe, in his inexperience, believes they do.

2) There actually do exist many companies which invest, heavily, in being the first job you'll ever have. Fog Creek and Matasano spring to mind, and I'd work at either. Both of them do it in part reaction to the fact that if they didn't experienced talent would be available too infrequently and priced too high for them to hire the quantity which they want to hire, which strikes me as a common enough problem that other companies probably adopt quietly the policies those guys adopt publicly.
Ask HN: Part Time Hacker Gigs?
I am a Silicon Valley based iOS consultant charging around $40K/month for my services. I am also working on a bootstrapped business.

I believe the ideal setup for me would be to work 3 days/week for a firm that wanted world class talent at a significant discount to my usual rates, leaving me time to work on my side business.

My question is this - why does this seem almost impossible to get? I've spoken to dozens of devs in the same spot (would take significant paycut for the flexibility), yet nobody is capitalizing on it?

Anyways, using throwaway account as I don't like to divulge rates (or rather, willingness to discount). Email me or share below if you are of a similar opinion, or know of resources to locate what I'm looking for?
well - being racist also towards brits - doesnt make you any less racist.
=) Well, right. But I mean, I feel like those that support RMS view should question whether he is right and not just how he can package his message better. There are many that fully understand RMS AND agree with him but there are MANY that think they agree with RMS but do not really understand him.

I always find it amusing when some Linux podcast has RMS on and the hosts are not very sophisticated on RMS and think "Oh, awesome, we love Linux and free software rocks and RMS is so cool and such a big name in free software, we love RMS"

And then RMS comes on the show and basically tells the hosts they are worse than Pol Pot or any NAZI you could ever imagine!
I guess Facebook employees don't have access to google and so this is why they want people to have this stuff memorized

;)
You are arguing more with an imagined opinion and worldview than you are arguing with the comment that you replied to.

The comment you replied to refers to the perceived difference between what "the startup mythology" promises and the reality that many software engineers at startups are given in hard benefits.

Some software engineers at startups work 100-hour weeks because they think they will receive massive compensation in the form of stock. They perceive the stock they have already received to provide a much larger amount of raw wealth than it would if they crunched the numbers. They perceive that their company might provide them with much larger grants of stock if they perform exceedingly well in building the product. Sometimes their bosses guarantee them that they will receive a massive cut of the company, if they just work a little bit harder for a little bit longer.

I don't know how common situations similar to the above are, but they do exist. I imagine many folks reading Hacker News have been on one or both sides of the table in that situation (stock-granting and stock-receiving). I believe that is what the comment you responded to is criticizing.

Nowhere was there a comparison made to victorian textile workers.

Nowhere was there a claim that '(not) getting as rich as you thought' was the worst complaint about the software industry.

You made the latter two arguments up, and then knocked them down.
>(PS: ls -lart - muscle memory, I type it 100+ times a day)

alias lsl='ls -lart'

Place that in your .bashrc, or whichever shell you may be using.

Reduce typing.
Oft repeated because it contains some truth. Also, overweighted. Availability of source code is not a substitute for security audit and good practices in development. It does help a little, directly. Indirectly, it helps a lot, because it means now you (or anyone else) can pay anyone to perform that audit. You can choose who you trust, beyond simple blind trust in the person providing the software.
I respect RMS and his point of view. But I don't believe in any religion, not even the RMS variety.
Congrats, Jennifer. You inspire me!
But using 0 to terminate strings means you can never have a string that actually contains codepoint 0, as the terminator isn't part of the contents of the string.
Freedom is in the eye of the beholder, and often has many zero-sum components: the freedom you are requesting (to use someone else's work as part of your own without having to give anything in return) directly impinges on the freedom of others (as users do not have the freedom to modify the resulting binaries or devices that you are distributing, a freedom the GPL is designed to assure users have).

I encourage you to read this conversation I was in recently:

https://news.ycombinator.com/item?id=6209724 (edit: fixed link to include the actually-important comment...)
Yes, non-existent. That's what I was suggesting. As I remember it, a lot happened between 1983 and 1991. I did not own a PC that could run UNIX in '83, but I did in 1991. Perhaps it was the same for Torvalds.

No, I don't think RMS's GNU was targetting "PC's", i.e., non-shared computers, in 1983. Few people would have owned them. My point, perhaps missed by others, was that Linux was aimed at a new bit of hardware that many people had acquired by 1991, the 386 PC.
> guaranteed minimum income

A guaranteed minimum income is basically welfare.

Welfare enslaves the poor.

Instead of using income that is not work-dependent or welfare checks as a means to try eliminate poor health and quality of life, allow charitable organizations to help those people instead.

Kids today that can vote don't remember in 1996, Clinton said, "Today, we are ending welfare as we know it," and, "This day will be remembered not for what it ended, but for what it began." They don't know why he said those things. Redistribution and economic tricks to try to raise the poor up don't work. People have to have incentive and work not only because it is something that is important to them, but because it is the way to survive. If you have any doubt of this, read books about those that have won the lottery or who have had rich families and money just handed to them.

Poverty is awful, but money is a curse. The way to assist those that are poor is through charity of time and effort, not through wealth redistribution by the government in any form.
You can absolutely mix GPL software and incompatably licensed software. What you cannot do is redistribute that combination.
Ummm why can't you just install your own git, wiki, etc from open source if you desire?
Again, and I mean this in a nice way, how are your complaints remotely relevant? I'm really trying to understand...?

So if someone builds me a house and I pay them ... Is it immoral for them to have built the house without being some kind indentured servant to me for the rest of their lives doing whatever I want for whatever reason ...

That seems like a weird thing to say, but what you're saying is just as silly. Should I have access to unlimited resources from this builder and if they do not consent to my demands then they tyrants?

It's a service that I pay for and I have agreed to conditions of said service and I can choose to stop paying if I am not happy or I can sue if I feel the terms have not been met. I don't see the problem but I do see clearly the alternative is charity.

Someone else responded, a user jszz on this thread and said something crazy about Germany and how we need become a self-sufficient commune. I'm not sure what it meant and I'm not sure that anyone that holds this view knows what they mean. =(
Impressive stuff, but I can't help but cringe watching these cool young professional actors hunching over tiny devices and stabbing glass with their fingertips. Fingers, backs and necks are not evolved to be used like this.
Tangentially, can someone on the W3C please fix the sorry state of key bindings across UAs?

Cross-browser idiosyncrasies are finally improving...except for webapp key bindings. Alt-F is taken in IE, Ctrl-whatever is taken in other UAs. Or an extension like (the awesome) vimium conflicts with some key bindings, so you have to disable it all together.

To the point where Asana uses tab as their short cut key. Tab! Wtf! "tab-p" for project. Bizarre!

But I guess I can't blame them, as I wouldn't be surprised if it's the only shortcut modifier that wasn't taken yet across all UAs.

I admittedly have no solutions to propose, so am just ranting about an understandably hard problem...but it would be nice if someone came along and fixed this. Please. :-)
Paul Graham is gay -- is not derogatory unless you think being gay is wrong; it's simply factually inaccurate. Like saying, "Harry Potter is in Ravenclaw." Which is offensive if you have a prejudice against Ravenclaws.