skysight-inc/HackerNews huggingface dataset:
Followed the original RepRap project as a college student. A bunch of us students tried to do a group build of the RepRap Huxleys. It was way too much work to try off the bat in order to get a working printer.

After a run-in with a RepRap Mondo (it's big but it has a lot of issues, the design ended up not being that popular) bits-for-bytes RapMan printers (purchased by the industrial engineering department) and MakerBots (some folks at a local TechShop had them), we eventually got an Ultimaker kit.

It was amazing. Fast prints, cheap (compared to some), good-quality software, the assembly was straightforward and fast, instructions were thorough (compared to many other printers we've worked with), and print quality was good with almost no tuning.

Now graduated, I own an Ultimaker and whole-heartedly recommend it. Not only is it a good printer by itself, it has quite a clever community of inventors around it, and 3D-printed parts and improvements to Ultimakers appear with shocking regularity. (As opposed to makerbot, which is more of a professional printer in that less folks tend to modify them).

Cura, the software used to control ultimaker, has come leaps and bounds farther than what it started as. It's now easily mistaken for professional paid software, and it's easy enough that even someone with no experience can hop on and start printing.

Also shout-out to octoprint, which uses a Raspberry Pi to control the printer (3-hours of printing an awesome part rock, but not having your laptop tied to the printer for that long).

https://www.ultimaker.com/
The Overpopulation Myth
I guess you usually commit to paying for the house and then pay a downpayment that is non-refundable if you then cannot pay for the house. This way the money will be a safety net for the builder, since he could have found a different buyer during the time that the house will be empty.
Depends on what you are after I guess. Datomic puts the query engine in your application, so you're querying over a built-in cache. This means Datomic could be rediculusly fast for often requested data (should always be in cache). Datomic allows you to "travel back in time" as it has built in time management. Writes never blocks reads. All writes are atomic. Datomic supports functions (Java or Clojure) in queries and transactions. There is more, but this was a list of my most liked features.

Of course, Datomic has some drawbacks as well. Like storage space. Datomic never deletes anything, and isn't exactly conservative on storage either. For instance, a timestamp is saved for every value in the database. This allows you to view the database the way it was at any point in time, or tell you exactly when a user changed his password, username or email, but it does have a storage cost. Since Datomic is distributed, you also need a bigger setup (more machines) than with traditional databases.
Google's core project
The US makes a lot of money from the government allowing defense contractors to sell the stuff they design for it to its allies as well. The munitions-export provisions exist because, although we aren't too worried about our allies reselling the tents or latrines we send them to our enemies, we really don't like the idea of having the guns we've manufactured pointed back at us.

A secure softphone implementing http://en.wikipedia.org/wiki/NSA_Suite_A_Cryptography is a lot more like a gun than it is like a tent or a latrine, in terms of what an enemy nation that gets their hands on it will do with it.
What did you do to work on your social anxiety, if you don't mind my asking.
http://thewirecutter.com/leaderboard/headphones/

I find The Wirecutter to be very trustworthy for all gadgets. Top notch research across the board. For headphones they even have a "Which Headphones Should I Get" section if you aren't sure where to begin.
What it is that you design/prototype? Sounds like a job from your description.
Paraphrasing Bruce McKinney on Visual Basic (who was probably paraphrasing someone else): "Django-based CMS systems make the easy easier and the hard impossible".

I worked with Django for about 4 years of my life, maybe more if we consider some proof-of-concept projects. Every single 'framework on top of the framework' (with the exception of Django REST Framework) I've tried has been 'almost perfect', but that little delta between what you have and perfection is impossible to bridge. Just the dependency hell introduced by some of the projects is reason enough to give up.

If all you want is a simple CMS with support for some markup and adding images/videos, you can throw that together using Django, the Markdown module and one of the myriad upload plugins in a couple of days. You want to provide RSS? Use the built-in feed system. You'll spend more time reading the documentation and tweaking the settings file than putting the whole thing together yourself.
Bug in Microsoft Security Essentials Crashes Windows XP Machines
Thank you for a very clear and thorough explanation of a complex concept. Comments like this make me wish HN had some form of super-upvote equivalent to Reddit's gilding.

Assuming I can summon dang just by using his name, I feel like part of the reason behind the rise of "dumb and/or mean" is that as HN has gotten larger the community has also attenuated. Commenters become a faceless crowd and the quality of our interactions degrades accordingly.

I wonder if having a way of saying thanks other than a (humanity-less) counter increment or a (discouraged and poorly scaling) public comment would encourage more humane behaviour?

My first instinct is some kind of private comment system, but obviously that would enable less-accountable forms of harassment. Maybe that combined with a karma threshold and an aggressively enforced flag button?

Another less radical idea would be some way to mark an exceptional comment, which would also highlight that person's future comments to you in some way.
Concurrency is a property of systems in which several computations are executing simultaneously, and potentially interacting with each other (stolen from wiki). Here simultaneous could mean interleaved (multi-threading on a single core) or at the same time, but the interacting with each other part is key. They have to communicate, they have to communicate what they know about the world, what they know can change...they necessarily share state whether explicit or not.

Parallelism is is actually doing stuff at the same time, usually for a performance benefit, in which case, you aren't going to be using any of these slow FP languages anyways (but there is always Java + MapReduce, which is kind of functional). Your Erlang code will run "faster" relative to single core Erlang code, but if you honestly believe that you are being parallel fast...

> Because it keeps things (including faults, but also logical decomposition) simple. Also it maps well to real life. You have to send messages to other people, emails, phone, image. You don't directly plug a shared network back-plane into their brain. So when that crashes the whole group dies. You want to send a message to them and then continue minding your own business.

I get it: back in the old days before cell phones and screen sharing, we'd have to use carrier pigeons to send messages to each other, so we just sent messages out and minded our own business. But somewhere down the line, we gained the ability to interact in real time via language, looking at and modifying the same stuff even (I think this happened 50,000 years ago or so). We've never been able to recover from these impure interactions.
This does boil down to a point: do media and blogs write about startups that are interesting and/or important, or those who they can grab coffee, beers etc with. Quite often I've found being in the same city with someone covering helps you immensely, as many European startups can attest to. Hard to build those relationships from another city. Same goes for investors, biz dev partners etc.
So much of the online head-fi like chatter on this subject is near voodoo. I bought some Alessandro MS-1's which are tweaked Grado's after delving deep into online opinions, and they're peaky inferiors, an opinion objectively shown by an obscure online debunking I later found.

Beware popular opinion. Grado SR-80i's are good value for money, detailed but they have flaws.

I could live with Stax all day long.
I think the problem with threads/discussions like this is that you first need a clear definition of what 'productive' is. My definition of what I consider productive work is probably different from what other people consider productive work.

Until we are sure all parties are talking about the same thing, it's hard to have a useful conversation about productivity.
Although it's not specifically in their terms, FB has a history[1] of trying to prevent unfriending apps (it's a cat and mouse game).

[1] http://socialfixer.com/blog/2013/10/27/facebook-doesnt-want-...
Relatedly, you'll want to ship first-party or "blessed" libraries for the big programming stacks as quickly as feasible. Start with the one your team uses and then roll out to the ones which are big with in your customers' industries. They're vastly easier to consume for many of your users than a standard REST API is. (Compare: Twilio::Sms.send(from, to, "This is a message.") with Httparty.post("https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Mess..., {:From => from, :To => to, :Message => "This is a message"}). Of course, in an actual application, after the third time writing that I'd start working on a buggy poorly tested wrapper for half of the Twilio API, or use someone's OSS buggy poorly tested wrapper for half of the Twilio API. I actually did this prior to Twilio releasing a first-party Ruby API and will be crying tears about that timing for years to come.)
I get around 3-4 sustained development productivity (of course, there are always other non-development related tasks to do).

If necessary, I can push this to 7-8 hours a day sustained for about 4 days, but then I need days to recharge afterwards before I really get anything done again.
I'm making a magnetic shield for the board game, Settlers of Catan, so that all the pieces clip together nicely: http://facebook.com/hexi.glass
I'm pulling 10 hours a day of intense productivity out of 12-14 hours worked. New-ish job, exciting stuff and a culture which sets aggressive goals.

I've traditionally been a 6-8 hour/day producer and jumping up to 10 has been hard. I'm learning to put myself in the zone even when I don't feel it organically - like a form of mindfulness meditation. I also isolate work-time: if I'm in the office or in one specific spot at home I'm working and doing nothing else - no mail, no Twitter, no browsing. And I finish working before switching modes (so work doesn't lurk in my head all night). Jury is out on how long I can sustain this - if I had kids I can't imagine how I would so it. But on the upside, this pace has made my attention more acute, and on weekends when the work is put away I crave productivity on my side projects.
One on my business partners bought a Formlabs Form 1. When it worked it was great, but it just wasn't reliable enough to depend on at the volume of work it was bringing in. For high volumes you need to by an expensive machine, but prices clients are willing to pay is dropping, and the technology is changing fast. He couldn't make a business case for owning a 3D printer, so he sold it. Shapeways is cheap & fast enough.
Can you give me some kind of numbers on how much you would be willing to sell this game for? Besides Obj C, is there anything else one needs to know to manage the game?
We're based in the bay area. I have no idea why gossip or info on financing rounds would help our business.
Is the DOJ Forcing Banks to Terminate the Accounts of Porn Stars?
It's really more helpful if you give a budget, but I think you'll find very few people who wouldn't recommend the ATH-M50. From what I've owned, nothing hits the price:performance ratio as sweetly, and it is great-sounding no matter what genre I throw at it.

They are closed-back, so the soundscape is limited, but still great. I wear them on planes and they passively cancel noise well.

http://www.amazon.com/Audio-Technica-ATH-M50-Professional-Mo...
How exactly did he handle this issue ?
Or rather it's a consumer-oriented list. BDs aren't much of a consumer brand (though they do have a consumer line) and don't market as such. Most of their stuff is marketed for industry, so this makes them a bit "underground."

Further, most of their line is designed for industry or hardcore audiophiles: a lot of it is high-impedance (200 Ohm+), which means you need a real amplifier to drive them (otherwise they'll be pretty quiet), making them not a great portable solution. For comparison, consumer-type stuff is typically standardized 8/16/32 Ohms.

Even further still, their headphones are designed for accuracy, which consumers don't always want either (... subconsciously). For consumers, listener-enjoyment is more important: accenting bass or adding color (distortions) can make music more pleasurable to listen to, etc.

That said, I own a pair of BD DT-990 Pros, and they're the most excellent pair of headphones I've ever owned.
There are a few interesting projects in the contrib organization on GitHub:

https://github.com/purescript-contrib

I also like inquire.js:

https://github.com/concordusapps/inquire.js

Also, some slides and examples from a talk I recently gave, with a few (what I think are cool) examples of functional approaches to common JS problems:

https://github.com/paf31/lambdaconf

And a little game (needs some more work):

https://github.com/paf31/purescript-croco
http://functorial.com/purescript-croco/html/
Really interesting idea. I had a similar idea for a financial management app, but the use of location is really clever! Hit me up if you are serious about doing an iOS version. I would be interested in contributing.
Same boat here, I've looked into them and like the idea of buying one, but I don't feel I'd get much use out of it. I guess I should think of them as a toy and something to play around with in the evenings, instead of a useful tool.

If I had a son like the other poster, I'd be all over these, I think they'd be a lot of fun with kids. I'd like the technology aspect and problem solving, and a kid would love being able to print their own toys and parts.

Also, 3D printers seem early for me to buy in. The technology is changing rapidly, and it's difficult to tell who's going to come out on top. I'm in no rush, so maybe in a couple of years when I have a little more time, and 3D printers mature, I'll pick one up.
WW3,?WHY WOULD ANYONE NUKE USA,?
? Having worked for freelancer in the past, it is pretty obvious that their site is a scam, meant to extract money from freelancers as much as from buyers.

If you really want to work on a site like that, go ahead. I'd warn you though. You're going to lose money if you take them up on anything.
Another reasons is that your API likely sucks/is broken if you haven't made a client for it (and thus figured out the gaps/problems).
Seth Roberts has died
I've got these as well, great sound for the price.
For the brands mentioned, I broadly agree with them this time round in my limited experience, but I can't really judge more broadly than a few brands there and as others have mentioned, they notably miss any Beyerdynamic offerings.

It really depends what you want. I have a pair of the Koss KSC-75 for my portable use and they're fantastic. They cost about $50 and are clip-over-the-ear sort of things but have some of the best sound below $100.

For home use, I use a good ol' pair of the Alessandro MS-1 (which are essentially the Grado SR80i, albeit with some slight differences that make them more preferable to most). They're also an open headphone but are fantastic and come in at about $125-$150. They excel more at the rock end of the spectrum and aren't heavy on bass, so if you like thumping dance music then maybe avoid them but that's not to say the bass isn't there. They're a good, balanced offering for all types of music listening.

Note that both of the above are open headphones, so they will not block external noise. Depending on your use case (e.g.: isolation for coding) this may be a major downfall. Open headphones are invariably better audio quality for the equivalent price however, so you're hard pressed to get a good set of cheap closed headphones.

I'm happy to recommend both, depending on what you want to do with them. Alternatively, there's a fantastic website run by some knowledgable people who can give you some input even if you don't end up ordering from them, at www.headphones.com.au . Obviously an AU retail store, but their forum is good for discussion and they have a mostly-sensible set of recommendations.
Aluminatus A1. Bad investment from a "ready to print" perspective, since out of the box I had a blown FET which making the frame and USB +24V to my computer. Narrowly avoided blowing up my USB port when I saw sparks when the ground shields touched.

It's definitely still a labor intensive hobby at the low end - buy a RepRap kit and put it together yourself, since you'll save a bunch of money and learn how all the bits work (which you will need to when tuning things and/or when you just have to modify it somehow).

Also get a cartridge heater rather then a 7 watt resistor for the hotend. The resistors blow up too easily, the cartridge heaters are designed for heating. Also pay attention to safety mechanisms - way too many designs don't seem to have adequate interlocks in acknowledging that the fundamental purpose of the machine is to create heat, which is inherently a fire danger.
A meta comment - I'm reading a lot of the "use the right tool for the job and stop arguing" statement in language/framework/system/machine comparison threads these days.

I find the "right tool for the job" to be a total conversation stopper. It stops the bikeshedding type arguments, true, but it also stops potentially illuminating comparisons. Can we, as a community, agree to stop bringing it up in comparison arguments?

Imagine a new programming language and system being presented in an article. It is healthy and useful for the article to say "We designed system X so it is easier to express Y kind of programs. A, B, C are the complications encountered when doing the same with systems I, J, K." rather than "We designed system X to express Y kind of programs. We like it, but if you don't, use the right tool for your job."

While many of us are polyglots, we do seek to minimize the number of parts when building a system, so such comparisons are often meaningful at some level.
So its a kind of Joke in US?
"The Door Problem" of Game Design
Do you even have to ask the question? Of course it helps being able to meet someone in real space to win them over to your cause.
We're doing it all wrong
It would be great if there was a 10GHz CPU (single-core), for some special domains.

There's a reason it hasn't happened.
Great article.

I'm curious how people are deploying Go apps in production. Is it nginx+some app server?

(In other words what's to Go equivalent of nginx+unicorn or apache+passenger in the RoR world?)
RadiumOne fires CEO after domestic abuse conviction
I have an apache + reverse proxy for go servers running and listening on their specific port.
I'm citing my own experience as a professional.

Programmers talk to other programmers in terms of functions all the time. Every API you use exposes functionality. If that API assumes some sort of state, that can cause issues for the consumer of the API. It also forces whatever entity is maintaining state be tightly coupled to the consumer and leads to centralized systems.

If the API does NOT have state and instead uses a token based system for authentication and access permissions it is operating in a functional manner. State is maintained outside of the function.

The less coupled that two modules are the more portable that they are. You can bundle up something like the "express" npm package and ship that off to whomever. You can easily build modules on top of an express application by passing the entire app to another module. This pattern has been used to build an entire ecosystem of loosely coupled middleware.

These are not Object Oriented designs. They aren't entities that communicate by sending messages to one another while floating around in some global workspace. They are interfaces that pass state around as arguments to function calls.

Global state is very nicely demonstrated in how modules can be shared between Node and Browser Javascript. What is global? All of the I/O. Files, XHR, mouse clicks, sockets... all of these are the inputs and outputs and all are handled by "window" or "process" or other global state.

Modules can be easily be reused between the server and client if they do not interface at all with any sort of global state.
http://www.toonxn.com - Its a game portal which I created for my lil bro. But then I thought of making it big and created a chrome app for it too. https://chrome.google.com/webstore/detail/toonxn-offline-gam... .. The chrome app provides offline games for those who don't have internet access..
I have a standing desk (adjustable but not automatic to sitting desk) but I'm on and off of it. My work setup anywhere is pretty much just my laptop majority of the time regardless of where I'm using it.
It's nice that this article claims everyone who makes an api should provide a client. But what happens when it uses hypermedia restful constraints? I think that any company which is able to provide multiple implementations for their API has already made it financially to afford those luxuries.

I know of some large companies which do this already, one of them being braintree, which offers an amazing API in many different languages, but they are already profitable and were bought by paypal.
You can still care about performance by having acceptance criteria for throughput and latency, even when it's not the best the machine can do. You sound like you're arguing for a binary perspective on performance. But performance is a tradeoff. Often performance comes from de-abstracting multiple steps in a program's operation, reducing redundancies introduced by modularity and composability, and increasing complexity by denormalising data structures.

Design for performance thus often comes at the cost of development agility and operational correctness. Being correct and agile yet still meeting performance criteria is a bigger win for most businesses, which usually aren't constrained by cost and raw speed of hardware. Functional programming, to the degree that it let's you exploit machine parallelism, gives you more leeway for good design before you risk missing your perf requirements.

And that's a reason functional programming is actually given a boost by hardware parallelism.

(Much bigger is that it's often a better way to structure programs, and now there is less integration costs since you hide behind the - yes - functional, stateless API of a http request handler, an explicit function of input to output.)

PS: your perspective on perf is kinda off to me. Almost all applications care about performance. If they never terminated they'd be useless. Performance isn't just a priority, it's a requirement. But usually it's just a deadline and a hardware cost multiplier - and money saved on hardware may not be enough to pay for extra / more expensive people elsewhere.
I would conjecture that your perception of FP languages making progresses is an echo of your own development or of people immediatly surrounding you, and that possibly, numbers would show that there is no increase in FP language adoption.

I'm not taking a stand here, just posing a possible alternative explanation. At least, I've thought about the OP's question and guessed it was a false generalization of my own progress. Data in (dis)favor of either.