skysight-inc/HackerNews huggingface dataset:
Some further exposition.

Some takeaways from this slide deck: a TreeMap<Double, Double> has a minimum of 82% overhead. If you allocate 100 megabytes of memory to that tree map, only one fifth of that memory is your data, the rest is object overhead. An array, on the other hand, would have only 16 bytes of data, and thus would store close to five times as much data per megabyte. Even if you implement some strange accounting scheme on top of your array to make it act like a tree, you're probably already reaping performance benefits due to greater data locality, likelihood of having data in cache lines, etc.

I'm reminded of when I worked with libraries for Judy arrays in 2006 or so. Judy arrays are a radix tree like data structure with performance optimized for cache line sizes and dereferences at every node of the structure. Pointers to leaves are tagged in their lowest 3 bits to indicate which of 8 types of node they are. A very full node then will usually be allocated as an array, a node with fewer entries than roughly 3/4 of a cacheline worth of pointers will have an array of bytes, and an array of pointers to child nodes, located adjacently. The first list is searched, and if there's a hit, it uses that index to find the pointer to the child in the second list.

All of these optimizations are really fantastic, Judy arrays not only have more "features" than hash tables, such as very efficiently stored arbitrary length keys and the ability to access the first, last, and random elements of the tree very efficiently, but also a Judy array can be accessed in lexicographic order which cannot be done with a conventional hash table. On top of this, in practice, they outperform naive hash trees straight out, due to their eye to optimizing for real world processors' cache line size.

All of this is fantastic, except if you implemented this in Java it would be, ahem, "in practice it is very very very very very very very very very very very slow... very very slow".
How is this "Threadless for socks"? The whole point of Threadless is that they're crowd-sourced art that the community votes on.

This just seems like standard corporate merchandise printing, like when you get your logo on a bunch of pens.
Japan’s Record Snowfall is Downright Nuts
This is exactly what I was talking about. There are a ton of challenges - and obviously this is against what the market/industry is looking to provide (they want to control the service, and see your data as a part of their service)

But we need to move in this direction and have some balance between the user owning their online experience, especially when that experience is an actual extension of who they are - and services that are able to provide portions of that experience in a way where they can be profitable and viable businesses.
Mine are issues and yours are details.

I certainly drilled down into more detail, but I'm not convinced that there's as much of a dichotomy there as you may see. Nonetheless, I understand what you're saying, but I'd counter that "details matter" and that different details matter more to some people than others. Also, I certainly don't intend that list to be seen as an alternative to your list, I mean it to be additive (from my perspective anyway).

2. Mine are about them, yours are about you.

To some extent, yes. But asking whether or not a company has, and understands, a reasonable software development methodology, or whether or not they have a culture that foster employee engagement and empowerment, is very much about them.

Mine show interest in the big picture; yours could easily paint you as a demanding nit-picker (whether you are or not).

Yes, I will say that I chose to drill down to a deeper level of detail. Basically I'm working backwards from the bad stuff I've actually seen in my career, and putting it in terms of "these things suck, I don't want to be in this environment, so convince me that this won't be the case here".

I just don't think I ever would (or ever have) discussed them with a prospective employer.

I mostly didn't in the past myself. But that was out of naivety, or fear. Either I was naive about the existence of the issue, or I felt like "I need this job too bad to be too demanding." As I've gotten older and more comfortable in my skin, and more confident in the value I can provide, I don't worry about that as much. I can walk away from a job offer, knowing there will be others.

And even if I didn't discuss these issues with potential employers, they have certainly been factors. I was invited to an interview with $BIGCORP once, went in, did the first round of interviews, and then got a phone call asking me to come back in. I politely declined. Why? I saw that all of their developers were in a big cattle shed full of low-walled cubicles - an environment that I consider "optimized for maximum distractions" and fairly inhumane. I decided they weren't a good fit for me based on that factor alone. Doesn't mean they were wrong and I was write, or vice versa, it just wasn't a fit that would have worked.
> Villains are often wise, open, and listen generously. Actually mafia types are often some of the nicest people, as long as you don't cross them.

Manners, charm, and good listening are all things that are orthogonal to that whole good and evil thing. They are powerful tools, and often make ones life easier. They can even be a tremendous force for good. These are all orthogonal to good/evil, though.

Musical talent is another thing people get mixed up about. Someone can be a musically talented jerkwad. The same goes for beauty, obviously. The same even goes for programming talent.

> Regardless, humor is an important technique for bringing perspective to situations, and helps us come back to realizing life is about being happy, not settling scores.

It can also be used as a bitter condiment while settling scores. Once again my point: Humor is orthogonal!
Cas didn't write Ultratron and mentions in the article he mainly writes flash and iOS games.
> "The first step, finding open positions that are appropriate to your skills and abilities, is overwhelming and impossible. The only way you have any hope of short circuiting it is to have connections with the right people who can open the maze from the inside. Or to become famous in a community."

You don't need to be famous, not even close. You did get it right though - you do have to know people.

Finding your next job is something you should be doing before you're actually thinking about leaving your current one. Go to meetups, look up interesting companies in your area and make yourself known to them - you'd be surprised how many people are willing to chat even with the knowledge that there's a 0% chance of you jumping ship in the foreseeable future.

It's not only a great way to get your name out there and make a few contacts, but it's also a great way to find out what's happening in your local tech community.

It is also necessary. In my experience the best employers and the best positions fulfill primarily via word of mouth. By the time a job hits a major job site it means the employer has already failed their first-choice option (i.e., a known referral by a trusted entity).
It sounds like there is a need for a good indie game publisher. Someone that can find good indie games and get them the publicity they deserve.
"The long-term, progressive solution is to train people up."

This is just false. As computers begin to become capable of more and more jobs, the demand for human labor will decline. Automation is qualitatively different from mechanization. Education is a thin gilding on an impressive but non-optimal brain architecture. To say education will cure the ills of automation is a bit like saying fitness training could have saved workhorses from obsolescence. Workers of the world, you're fucked.
Here's a screenshot I took of the DNS propagation yesterday: http://i.imgur.com/SVML7Wi.png Looks pretty bad!
I feel like I remember playing this game five years ago ... Maybe even eight years ago. In fact, yeah, I think this is a game from 2005 (maybe it was just recently released on Steam or something). It definitely felt like something new or at least very well done when I first played it.
Given that you haven't looked at the actual programs, it's understandable that you don't know what you're talking about.
Ember Data can be really powerful, but is even far worse in the "black box of magic" department than Ember itself. There's a lot of crazy internal state and logic being fired off in all directions, and it can lead to very strange state errors and race conditions.

I'm really glad to hear that they're adding an adapter type that can be more powerful than just an $.ajax call while not being quite as complex. It was by far my biggest complaint with Ember.

(of course, I hope this doesn't stifle development of more full-featured adapters - I think half my problems with Ember Data come from the LocalStorage adapter I'm using having some major issues ;p)
With that phrase, you could find others to vouch for its offensiveness, so she would be far less relevant.
I agree. I'm in Indianapolis and there is plenty of demand for developers here as well.
How do we optimize our ability to stay "in the zone"?
Put some thoughts down on ways to stay focused and highly productive for long periods of time. Wondering what everyone else is doing.
Keep the pricing message simple. I'm not a fan of variable pricing - I like to know what the monthly cost is going to be beforehand. I appreciate tiers where I can see what I'm going to hit depending on growth over time.

Someone below said that you should base your pricing on cost - I completely disagree. You should absolutely NOT look at cost when you put pricing together - rather, you need to ask your customers about the value of what it is you're providing. For example, Heap will be saving the time and hassle of deploying a generic solution on a server and the time of customising it. Plus Heap will be improving their product every day whereas the self-hosted version would need a developer to add new features. These sort of things all add up - you'll be surprised what you find out when you ask your customers.

Pricing is hard. There are a lot of good articles and discussions on HN if you do a bit of searching.

Good luck. Heap looks good
By not wearing a burqa you make muslims uncomfortable. Better cover up!
Announcing Starred Pages
> Dart has special data types for the VM.

It has optional types, like many compiled-to-JS languages (as lack of declared types is one of the motivations for such languages.) I don't know what you mean by "special data types for the VM". Can you provide some examples?

> They clearly want to target the VM for fast applications that aren't very usable compiled to JavaScript.

Obviously, they think that the VM will provide some benefit over compiling to JS or they wouldn't make the effort of building the VM. But, unless you can give a reason to believe that they are crippling the performance of Dart-to-JS code to push the VM, I can't see why that would be a problem.
Sorry but that's total FUD and has a very obvious agenda. Ruby is preinstalled on most Linux distros, and thus Rails is a gem install away. In production, people only run Ruby on Linux. I, and a heck of a lot of people, do all Ruby or Rails dev on Linux. So I guess you must mean Windows.

So perhaps what you actually meant to say is that Microsoft haven't stepped in to do all the work for supporting Ruby on Windows, like they did with Node?
Is there any reason that Ruby programs cannot use GMP?
Aren't gorgeous looking Robotron clones kind of a dime a dozen since Geometry Wars?
Yes, that is right. My opinion is that a positive act from parties involved would simply quiet down the current wave of hate.
Speed still relevant in many applications.
Hipchat is good at falling back to email only if you're not online; I'd like to see more similar services do the same thing. At the moment when something happens on facebook I get two notifications within a couple of seconds - one from the facebook app, then one from gmail.
Ok, so here's the problem. None of the recommendations in this are actually actionable. Consider:

- Be Interesting

Well, the company either is or it isn't. If you're an auto parts distributor who needs to convert your application from Cobol on AIX to ASP.NET on Windows, then well, you aren't really very interesting. And there's not one thing the recruiter can possibly do to change that.

* Care

Perhaps you genuinely care, but what if you don't? The recruiter is human too. Maybe they just want to do their job and go home. You can't decide to genuinely care. You either already do, or not. And we're saying they absolutely must not pretend to care. So ... the only remaining option is not caring.

* Acknowledge Applicants

I don't think Matt appreciates the sheer volume of resumés that come in for an advertised position. I know some HR departments that insist on sending an acknowledgement for every received application, and they spend a lot of man-hours on it, and are constantly having to defend this practice to executives. And honestly, why does the typical badly-formatted, ungrammatical resumé actually deserve a response, anyway? Matt may be a special unique snowflake, but trust me, all those other people aren't.

* Get to Know Programmers

You can't do this without getting to know programming. And the whole point of specialization of labor is that you shouldn't have to. You can hire a doctor, lawyer or plumber while knowing nothing about plumbing, doctoring or lawyering. Why should it be different for programmers? As a profession, why should the rest of the world bow to our desires, instead of us creating a better product for them to buy?

* Let Me Code, Dammit

This is the one piece of good advice. The best way to interview in any field is to engage the applicant in job-related task behaviors and observe the results. With programming, we're lucky that this happens to be pretty easy. But I don't understand how this squares with the earlier rejection of having the applicant code a Fibonacci function.
I'll point out that her Freebase entry (sourced by Wikipedia) contained exactly the incorrect data until it was fixed.

See http://www.freebase.com/m/09v5l5c?links&lang=en&hist...

Freebase, owned by Google, is part of its structured data efforts but few people remember this :)

Contributing structured data is awesome!

(former Metaweb/Freebase employee, current Googler)
This has been covered over, and over, and over again. CoffeeScript has some explicit goals with respect to the generated JavaScript output, and that includes not mucking with your identifiers. In order to implement correct lexical scoping, you'd need to rewrite identifiers to avoid shadowing and collision. CoffeeScript's design is a very reasonable trade off given the inadequacies of JavaScript.
24 Web Design Conferences You Should Know About
Unless you're trying to hire geeks who can fit in to a standard office environment without weird platform demands. In which case, insist on .docx.
Ask HN: Is it possible to Bruteforce RDP Using PHP?
i want to code a php script to bruteforce rdp servers. as you know RDP uses TPKT as its transport protocol.
i want to know is it possible to send packets over TPKT protocol or is there any workaround ?
"but another term for courteous noncompete agreements with your competitors is cronyism."

And another term for this sentence is a strawman argument. Nobody at all said there was a gentleman's agreement not to compete. Please read the article.
Horses are able to provide more than muscle power! They can tread over ground unsuited to the most primitive vehicles. They can fit in narrow spaces, they don't require petroleum, and they have enough intelligence to avoid certain kinds of absentminded user error. They are animals and they have personalities that machines will never have.

Surely someone could find new uses for old horses, after all they are organic and adaptable in a way that machines aren't.

And somebody did find new jobs for those horses! 2% of them, at least. The balance got slaughtered.

You can wave your hands and argue that the jobs are out there or will appear given sufficient creativity, but the market simply doesn't care about the faith you have placed in it. Your optimism doesn't control the unemployment level. We have to prepare for the eventuality that the jobs don't materialize, and we have to do it in a way that doesn't heap perverse incentives onto the unemployed while choking off the very consumption that fuels the economy in the first place.
What's preventing Ruby 2.0 from using a jetpack and rocket powered shoes?
It is odd to say NLP is about "removing ambiguity". Rather, it is about _coping_ with ambiguity (of the linguistic variety). Using a language with (supposedly) less ambiguity would just be a cop-out, not a real solution.
Man carrying umbrella, not rifle, was on his usual route
Upvote.

That's one of my favorite quotes and I almost mentioned it in the post. "So it goes" is mentioned 106 times in Slaughterhouse Five. After reading the book, I found myself saying it as often as 'good luck, bad luck, who knows?"
I know they mostly don't make money, but his games are not the kind of games people play on desktop/console. Which tend to be sit down and play for a couple hours over voice with a bunch of friends.

Cas's games are more the grab an iPad and play for 20 minutes while waiting on the bus.

He would most likely have a better chance at breaking even in such an environment.
Brace yourselves for the massive wave of "I'm a X year old kid who wants to make Y" kickstarter campaigns.
EDIT: By 'not possible' I mean it's not possible to delegate responsibility for it to a tool that derives what the differences in schema are.

Schema migrations are not possible in general.

Yes, you can diff two schemas and generate statements to turn one into the other. Adding columns works fine this way. Removing columns works fine.

Do you really need a library to add and remove columns? Not really. But rollback, someone will say. Schema migration libraries let you undo things. Nope. You can't rollback a drop column once it is committed, that data is gone.

What happens when you run into issues in production that you didn't have in your test/development environment?

Basically, automated schema migrations don't work. However, I guess if you haven't been through it you'll just have to learn the hard way. :)

SQL gives you a very flexible environment. You never have to break existing code to push out new features, if you are just a tiny bit careful.
Dangerous Blogs Act
As is much of the defence of her behaviour are quite clearly double standards driven by misandry.
eat24hours was here before seamless or GrubHub, has FAR superior restaurant selection, excellent customer support, and doesn't spam my mailbox and bus ads with "BUY USING SEAMLESS RIGHT NOW HERE'S SOME MONEY!!!!"

Love, love, love Eat24.

Also, a personal anecdote... I reported a CSS bug to Eat24 and they gave me $100 in food credit. I'm not affiliated with them in any way besides being a customer.
Came here to say this. There'd be a lot more developers on the Dropbox API if you could exchange saving file contents on someone's Dropbox account for money...
I thought Cas was a java programmer? Am I wrong?
That's very true. We don't have the same complaint about programs specifically built on one family of operating systems not working on another. That also speaks to how much we depend on the browser these days to act as an OS in a way, particularly for full featured applications that depend on (relatively) new technology.
A Manifesto for Gesture Ubiquity
The announce mail is out too:
http://gcc.gnu.org/ml/gcc-announce/2013/msg00001.html
Lulu's restructuring turns the page with new hires, new services
As a T-mobile customer since they bought Voicestream, I'm very, very happy they didn't get sucked into AT&T.
The length of time I've seen open positions sit unfilled

There's an excluded middle here, where the ability of a company to choose correctly (avoid false negatives) is not a given, and that they are filtering properly in the first place (as I mentioned of a rockstar-seeking YC company elsewhere in this thread).
A file server with open wifi placed somewhere in an urban downtown setting. See what people share.
Some years back i was able to tolerate when a webapp needed serious fiddling in a) apache configs, b) php configs and c) manual mysql database setup.

Nowaday i expect something to run and have as few steps to install as possible. It wasn't even so much the many steps in between but the stuff that just didn't work as given in the installation guide. Turned out that some answers were in the gitlab Troubleshooting Guide. And then some stuff just didn't work, because at that point resque was removed (if i remember correctly, i don't even know what resque is and i don't really care, tbh). Now, after this took me 2 hours to get it running, half a day was spent with a) log in, b) find something not working, c) google, d) log into server and fix, e) repeat.

I'm no ruby guy, too, but i would've thought this goes much smoother nowadays.

I was using Gitlab for 1 or 2 weeks back then, but when the password reset didn't work it really made me think if i want to go through all that again on the next major update. So i turned to gitblit (which i rejected before because it can't do pull requests).

Edit: Don't get me wrong, i liked the Gitlab interface, it's very polished and nice, and what was working was working fine. Still i wouldn't want to maintain it. Maybe it's all better now with 5.0 :)
Meetings are mutexes
No, they don't. You have the game assets downloaded already on your PC. They just stream control messages (move the camera there, that player hits the other player, etc).

Real time gaming is not streaming video...
Cyprus impose capital controls to prevent crisis spreading in eurozone
Domino's online ordering service is amazing. Grubhub's service.. not so much.
Lots of programming jobs hire based on experience and knowledge, not formal education. It is possible to gain experience without having a "job", but at an opportunity cost of time and lost wages from a low income job. Most knowledge is available for free on the internet and libraries, with additional in-person resources available in urban areas via informal networks and meetups.

This route still works out to considerably cheaper than a traditional college education, takes less time than college, and has the potential for immediate employment once qualifications and prerequisites have been met. Last time I checked, every company wants to hire a "rock star" if they could only find one...
I'm about to set them up for the company I'm working for as cheap remote servers. Each of them will have an API for me to connect to from the main server. Cool use case, and fun. Total Rpi used will be about 20-ish.
A new role for geek communities? Win back the Internet.
Can't recommend FTL enough. My wife and I like to play it together, making decisions together throughout the game.

It's like the video game analogue of Space Alert, a board game with a somewhat similar premise. Funny enough in this case the board game is real time and the video game has a (much needed) pause option.
It is a little bit worse than this in many cases actually, you pay tax on your earnings AND you have to cover the costs of getting to and from work and things like childcare while you are at work.

That being said, my experience is that among the poor there are very few that are not interested in working but I know of at least one person who did pull out of the workforce after finding that they were further behind with a job. Make of it what you will, I think it is a condemnation of low-skill labor rates, not of the welfare state.
What's preventing Ruby 2.0 from "using multiple processes to spread the load"?

>>if you can just call out to C libraries for everything<<

You can't just call out for everything.

There have been language implementations that used GMP under-the-covers, so - to level the playing field - everyone can call out for GMP and PCRE.