skysight-inc/HackerNews huggingface dataset:
Same here. I have a degree from a Canadian university, but not in anything CS-related. I can pass a coding interview fairly easily, but getting into the US is a tremendous pain in the ass.

And once you're there, you won't be able to get a Green Card in a year or two, like all your colleagues. No advanced STEM degree; you go to the back of the line. You're looking at waiting a decade or more to really be in control of your own life. Possible, maybe, for someone in their early 20s, but if you are that young, why wouldn't you just get a degree?
Don't underestimate how much people will pay, but it almost entirely depends on geographic location and your level of skill. Not just technical skills, but your "soft skills" like communication, teamwork, and marketing are equally important.

In the northeast US, a mid to senior level programmer/engineer could fairly easily charge between $90/hr and $120/hr (or much more in some cases, such as if you have a specialized skillset) for a fully loaded hourly rate. Don't forget (I'm sure you know this, but it bears repeating), about 25% to 35% of whatever you charge is overhead and will go towards administrative costs, not profit/salary.

The GSA (General Services Administration) publishes the average hourly rates that companies charge the US government for all kinds of services. You can probably expect about a 20% variance in these depending on your level of skill, reputation, and the geographic location and size of the client, but it is a pretty accurate and informative starting point.

Link: http://www.gsa.gov/portal/content/103877
What isn't mentioned on the legal page is considered fair game. that covers a lot.
Okay, I was wondering about the Lua-in-Nginx case. Using a Lua implementation of something like node.js would certainly work.
> I would expect to see an academic review of the literature. What you provided was [1] wikipedia

I expect this is why you're seeing downvotes.
It was when Donald Knuth wrote that, 50 years ago. Nowadays it is engineering.
It is desirable for a programmer to build software, within a specific time, specific cost and certain specs. 100% Engineering.
Now this is valid for 99% of software jobs out there. You will always find some company that does software research, but it's the 1%.
What I would like to know is if you made that scrolling time-left thing, it looks neat.
Not at all. It's just a struct with two members:

struct Time {
double val;
enum Epoch epoch;
};

It works just like one-member structs, in that it can be treated as a single value, passed and returned by value when calling functions, and keeps you from accidentally mixing different kinds of values. Having the "epoch" field along for the ride just means you can add some additional smarts.
I don't see why a variable can't have a "name" property, even if it's not used as pointer value. I don't see why ASTs should have less information than source code. IMO they're equivalent, and just different forms of representation.

ASTs are easier to manipulate with code, source code is easier to manipulate with text editors. We don't really have good tools for manipulating ASTs yet.
Quadrilateral demo - Cassowary Javascript
One of "coolest" things about Javascript (that persuades many to try Node) is that it has a non-blocking control-flow. But if you are coming to Node from a PHP/Ruby background, you might lament the default synchronicity of PHP. For example, you query your database in PHP, you can rest assured that your program doesn't keep running without the DB result. In Node, you either 1.) descend into "callback hell" or 2.) use some sort of Async module [ https://github.com/caolan/async ]. I personally love Node but would say 'Expect to learn new patterns' to anyone making a transition to it.
So long as you are willing to work way down the pay scale, sure. I am merely describing what I think is important in technical fields based on what I have seen around me over the years. I know a guy with enough college credit for four degrees. Never completed the requirements for any one degree. It was incredibly difficult for him to get a job as he got older. A degree would have opened a lot of doors. You go from having to explain and prove yourself to people assuming you are well qualified at a certain level.

Look, I've also seen the opposite. I've seen PhD's who are just about worthless. I mean, not a clue. Can't connect the dots. I've seen enough of this to be absolutely biased against PhD's (sorry). Great for academic research but stay the fuck away from work where anything has to be done in the real world.
A rational approach would be to find less biased ways of carrying out the research, not simply banning it.
Relevance? Of course it would have relevance, as any facts on the subject would. What misleading effect are you referring to?
If you look at that article, you will find it does not provide evidence for any of the claims in the post. That's not the fault of Wikipedia, as I explained, this is an extremely broad and complex issue, and most academics won't directly cover it because "basic income" is too vague a concept for them.

But that was the point I was making in the first place: you cannot cite three sources and then claim to have the evidence on your side, when these three sources don't provide the evidence that would be needed.
Obligatory pro tip: Don't bill hourly. Bill weekly whenever possible, and anchor your consulting rate to the outcomes you can achieve in a week instead of to 60 minutes of your attention.
This perspective is true of commuter public transit as well. High availability cuts the average time of the entire trip, smooths out capacity usage, and increases accessibility.
Travelling from city to city may indeed take longer than we would like. But the real innovation isn't making airliners faster - it is in getting people from their location and onto the aircraft sooner. The lengthiest leg of the flight to me is the time spent waiting at the gate.
Someone should do a study on the lost productivity of airline travel.
Show HN: Gimme Bar for Android
I don't think I have it anymore. I didn't save a copy.
I know that making guns is not hard. It's not all that interesting that people are able to build guns themselves. After all, it's ancient technology, and people build far more complicated machines at home.

What's interesting to me is not that a gun can be built by an individual, but that this particular kind of gun can be built legally by an individual in the US without informing anyone.

People build their own airplanes, for example, but at the end of the day they have to get them inspected and registered before they can legally fly them. That one can build an AK-47 without any such controls, and still be completely within the law, is interesting.
It doesn't have to mean being in debt, although I think for a lot it does. It can just be living paycheck to paycheck through most of their life and using credit to buy things they can't afford. The worst part beyond the stress it puts on a family is reality is forced on them around retirement, when it is really too late to change anything.
Whenever I find myself making a static site I create it in flask and them wget over it to convert to HTML. Normally I push to s3 so it would probably make sense to put a layer in to self publish using boto. Building in a simple framework and pushing to static is a great way to create a solid and cost effective site.
> American secondary/high-school education, outside of schools and communities outside the norm, is horribly bad.

I'm not sure it is that simple. I recall a recent article that said Canada has one of the best education systems, but, if I recall correctly, 70% of Canadians fit a certain demographic. If you observed only that same demographic in the US, the students in the US actually did better than their Canadian counterparts.

It suggested the problem wasn't the education system in the US itself, but rather much deeper social problems.

> In a lot of cases you will loose, regardless of what your actual capabilities might be.

The good news for those without degrees is that high paying jobs are naturally, by the laws of supply and demand, the ones where employers cannot be picky. If you want to fight for the "bottom of the barrel" jobs, then sure, a degree is probably going to be a significant filtering device. If you're looking at top paying jobs, then outside of legal requirements, the degree isn't going to matter because employers will be happy to have found anyone with some skills.

Programming is currently in that in-demand category, and as such the incomes are high and the education requirements are low. It is kind of funny to see that people think this is something genuinely unique to programming though. It is just economics.
Yes, but that can still be a bit complex. I have used https://github.com/chriso/klein.php prior for doing exactly this, but it was a long time ago, the codebase now seems a bit more advanced, and mature.
There is a reason I put the word 'moral' in quotes, and you just explained it. The thing is, that I think it has already become sufficiently obvious that as a society, we see a need for change. Using vague terms like 'morality' make a lot more sense when you put them in a quantifiable context that represent the will of the populous. Thus I don't see the need to regress back to this 'default state' of pretending we don't know where we stand because it seems we've already established that much. Instead, presenting things that way seems to confuse and induce semantic arguments like this one because it removes knowledge that people already know; leading to [IMO] wasted brainpower -- unless a lot of people really are unaware of the current zeitgeist, in which case I would take back my arguments.
You can use Code School for free this weekend
Let the benchmarks speak for themselves.
I think his title is more to blame than the content. He's not really just talking about the design, he's talking about the whole package, about doing actual work and getting money for it. He mentions other environmental concerns in the first paragraph as things that keep him in C++. Design just happens to be the most noticeable factor.
Less biased means not just a different institution, but a different culture, the "public health" culture appears to be totally biased and has published a string of self-refuting junk science papers in the most prestigious journals like the NEJM and JAMA.

Who do you suggest?
Why do you have to re-checkin? You can just drop your bags off after customs in most airports unless your commuter flight is > 4 hours away.

For me it works out like:

30 minute taxi to airport

2 hours ahead because its an international flight; checkin isn't even open if I arrive more than 2 hours earlier, I could get away with 1 hour or 1 1/2 hour, but I would get nervous.

1 hour delay on tarmac (b/c...Beijing)

11 hour flight

30 minutes immigration/baggage because Seattle is cool like that (unless our flight gets in early, then we have to wait for customs to open, curse that afternoon Beijing-Seattle flight!). On the other end, you have Heathrow, where the wait to get through customs is 4 freaking hours. I'm never flying to London directly from Asia again.

30 minute taxi to Bellevue if Seattle is my final destination (it often is), otherwise, hang out in the airport for a few hours waiting for whatever weird connection I have. Security in SEATAC is like 10 minutes, so no big deal there.

Bullet trains are great, until you realize that the bullet train station is farther away than the airport...on both sides of the trip! Given the distance, it's still much faster to fly between Beijing/Shanghai than to take the bullet train. Japan is completely different, of course.

I'd really like to hear if an Australian travelling to New York (or anywhere international but Bali/NZ) would prefer a faster plane.
Lots of discussion on this last week: https://news.ycombinator.com/item?id=5729100
How about that they just might be lying? Also, kids will overhear a lot of stuff, and then say things that they think parents want to hear (seeking validation).
Thanks, but hourly billing is kind of defense for overtimes - I bill at the end of the months, but with the total number of hours worked.

When you bill weekly - initially, a fixed 40 hr/week is assumed. But the client might push as much work as possible for that week...

Another option could be: Weekly (or monthly) billing + hourly for overtimes.
Let's not be silly. Note how many of the top items on this list predate movies and radio:

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

The An Lushan Rebellion, for example, is thought to have possibly killed 15% of the human population of the entire planet. Hitler and Stalin couldn't dream of such levels of mass murder.
but really people who think dynamic typing is suitable for large scale software development are just nuts

Flame-bait. I happen to like static typing-- and I'd be excited to see more progress with optional static typing in Clojure-- but I disagree.

First of all, you can pretty easily get principled strong typing with a language like Clojure. One of the first things I write on a large Clojure project is defn-typed. If types were a major part of what I was doing (e.g. theorem proving) that wouldn't be acceptable, but for web programming it's generally enough. It's pretty easy using a few macros to make it so that you get almost all of the guarantees (from unit testing) that you'd get from compile-time type checking.

Remember: dynamic typing doesn't mean you don't have types. You can include types in your contract system. It means that type sanity isn't checked at compile-time. For certain problems that require extremely high levels of correctness, you need static error-checking/analysis because runtime unit testing isn't good enough. For every large system? No, not the case. What you need, in general, are good programmers and sane development practices; those matter a lot more than static vs. dynamic.

My experience is that static typing performs best when you're trying to solve a known problem extremely well, and that's not an uncommon thing in software. Dynamic typing is better-suited to a more chaotic world where you don't know the problem yet, because it makes it easier to "poke" at things in the REPL and build prototypes.

Also, improperly used, static and dynamic typing both fall down disastrously on large or distributed systems. For example, if you have circular dependencies in a large Scala project ("don't do that", you might say; but we're talking multi-developer now, with the full spectrum of skill) you're going to see gargantuan compile times because incremental compiles will fail you, and while Scala's compiler is an extremely powerful machine, it's not fast.

All this said, Haskell is still a very cool language and I think everyone who wants to be a serious computer scientist needs to get some exposure to what it has to offer. Real World Haskell is a great book, for starters. I also think Scala is great if you have strong developers who won't be tempted to OOP things up.
I haven't noticed any big problems. The American airport I fly into often (SeaTac) is pretty efficient, security rarely takes more than 10 minutes. The other smaller airports I've experienced haven't been any worse.
I've been billing daily but yeah, in my limited consulting experience hourly is way more stressful and it isn't practical to have to account for your work at that level of granularity. Especially since this is a question specifically about long term work.

That being said, this question is more useful as an hourly rate since some people set their daily/weekly rate different because they work more or less than an 8 hour day / 40 hour week.
The worst part of my flight, and most of the time the largest part, is the Home->Gate->Plane part. Why would I pay to optimize the least unpleasant part of the journey?

Give me a way to skip the whole "everybody is a possible terrorist" fiasco and now we're talking ...
YCombinator had published (~3 years ago?) some "standard" documents: "Series AA Equity Financing Documents" http://ycombinator.com/seriesaa.html I hope one of them is usefull.
I fly about once a month for personal visits. While I'd love to reach my destination faster, I struggle enough to afford tickets at their current prices. If I'm not prepared to spend $30 for a better seat, I'm definitely not about to spend a small fortune for a few extra hours at my destination.

I use Hipmunk to find flights, and by default they sort results by "Least Agony" -- which means least total flight time / stops. Those tickets are generally more expensive, and I often have to sacrifice agony for price.

Not everyone can afford fast.
He works on videogames, so Windows is non-negotiable.

I had the same reaction, but given that his code has to run on other peoples' desktops, it makes sense.
I don't know, but given that public health is so important, fixing it would seem to be a top priority. If what you say is true, then the situation is far worse than just "some biased people use taxpayer money to criticize gun ownership", and I'm certainly not going to admire anybody who simply defunded one small portion of it to protect their pet issue while ignoring the rest.
I feel the same way with the majority of these "I turned down their offer" stories. I admire them, but $1M (even across 4 years), to me is a lot of money. Enough to fund a new project and then maybe I'd think about turning down future potential buyouts having the financial stability.
OS X may not be as reliable as advertised. Most people don't have issues. But my mac has significant issues with any software that needs to be installed. Drag-and-drop installs to the applications directory are fine, but anything like Mac app store, Adobe update manager, or Office Mac installers will not function correctly. My apps also frequently crash. I have lost hours in the double-digits to my unreliable mac. Never had these issues on Windows. Now I'm stuck and unsure about any future mac purchase.
I am proposing that a degree becomes more important later on in life and that this is why one should obtain it as early as practical.
Does United even offer first class on international flights though? I thought they only offered business class on international flights (first class on domestic flights, but so what?).
5th paragraph of the article.

"To accomplish that, Rohrer first built the game in computer form, designing a set of rules that would be playtested not by a human, but by an artificial intelligence. He said he plugged the game's rules into a "black box," letting the AI find imbalances, iterating new rules and repeating. Rohrer showed the video game version of his board game onscreen, but obscured key portions of the board game's layout, so no one in attendance could reverse engineer its mechanics."
Really? Can you so harshly judge Google on abandoning a (lets face it) terrible protocol?

Maybe I could get over the fact that it's so complex -- which puts an unnecessary strain on both servers and clients -- and maybe I could get over the fact that (on average) servers consume 40% more memory than their IRC counterparts. Maybe I could even get over the fact that the spec could change at any moment (the eXtensible nature of it isn't necessarily a good thing, you know).

But what I couldn't possibly in a million years get over is that... it's XML (shudder).

-- To the downvoters:

Here's some previous discussion about why XMPP sucks: https://news.ycombinator.com/item?id=2069810

I'm currently working on a project that deals with real time communication (think IRC for the new web) and after fidgeting around with XMPP for a couple of weeks, I gave up on it completely. It's awful. I doubt many people have implemented an XMPP client (or even worse.. a server). Try it some time.
I make a half day the minimal billable unit for support of old projects. This helps control the problem of odd hours popping up here and there.

For companies that send you around the place internationally, I charge full days for international travel time - giving them the choice of sending you Business or Economy (and the corresponding amount of work that would be possible to undertake in flight).

EDIT: Re the last point - If they are paying by the hour/day/week, they are buying my time irrespective of whether I am able to work or not. Eg If they put me on economy, or put me through a day of meetings - they are going to be charged the day.
Yes, exactly. It's one thing to be technically knowledgeable and quite another to be able to transfer that knowledge effectively to someone else; especially if they're not technical.

Diplomacy and delicacy go a long way to improve job relations and demand, but these aren't usually taught unless you specifically seek out these lessons.
I would love to know me where I can move to and get paid $ 1250 a day for 5+ years experience developing web products in Python.
It's classic cognitive dissonance - they realize they made the wrong choice, so expend energy and time justifying it and explaining how they made the right choice every chance they get, as though eventually they will convince themselves. And they probably will, in time.
Recently started booking by the month. Same thinking, but decided to pitch the sale per month instead of just one week. And I ask for 50% payment up front as a term to confirm the booking.
I really wish X11 wasn't a factor for OSX anymore. I keep running into software I'd like to run but their "OSX" version requires you to fire up X first. From a speed and a visuals perspective it's pretty terrible.
PHP is Abercrombie, and Ruby is JCrew. Be popular!
Few people now remember it, but back in the earlier days of commercial aviation flying was a breeze. You could walk up to a counter, buy a ticket, walk to the gate and walk on.

It was that way for a long while.
A lot of the shutdowns have been due to low (for google) user bases, or just no engineering staff to support it. A lot of their shutdowns I see as a way for google to become more focused as a company, which I feel like was needed. They had too many half-baked services.

As for XMPP, it was their business decision. I'm betting engineering had a good reason for it, it just may not be shared with us.
Assuming that this future civilization is sufficiently advanced, wouldn't they have the ability to detect what's inside the ground without actually digging? I know we can through (I believe) echolocation, why wouldn't they?

Then they would see a cavity that's been sealed on all sides by concrete. However I suppose by this point they would have also discovered radiation and nuclear reactions so it might be a moot point.
There's also Cody Broscious's Benjen framework, if your need is a blog.

https://github.com/daeken/Benjen

"Benjen is a tiny static blog generator. At its heart is a <100 line Python script, which takes in your templates and blog entries and produces a static site."
Well, the wayback machine is your friend. http://web.archive.org/web/20111001124736/http://log.nadim.c...
I've found that static types help with prototyping because you can make changes to types used in your program and the compiler lets you know when you missed a spot, those locations could live for months in your code in a dynamically typed project.

static typing systems work with good programmers and sane development practices as a force multiplier. dynamic typing systems become something that requires you to have good programmers.
Of course it's entirely possible, and probable that the office configuration was not the only variable. Given that the company were trying to find ways to improve productivity the desk config was likely one of a number of changes, not the least of which would be the staff being aware that management was looking carefully at productivity.
I could never work at a place with that kind of idiotic policy.
I'm pretty much failing to make sense of your last sentence. Is that "never" supposed to be there?