skysight-inc/HackerNews huggingface dataset:
Last week or so a harsh criticism of taking pride in one's work was linked here at HN.

A hypothetical pair of debelopers were discussing their proposed approach to developing I think a web application.

The first wanted to implement it in a dead simple way so as to get to market quickly, save money and so on.

The second scolded the first. "I take pride in my work.". But his proposal was not to work with pride, rather his approach is properly known as "overengineering".

Sometimes consultants, construction companies and the like overengineer so they relieve their client of all his money. Sometimes they do so because they genuinely feel it is the right thing to do.

"Solving the Software Problem: a Taxonomy of Error" asserts that all the world's problems could be solved were we to stop suffering each of the Seven Deadly Sins as enumerated by Catholic Theology:

http://www.warplife.com/jonathan-swift/books/software-proble...

http://www.warplife.com/jonathan-swift/books/software-proble...

Obviously we have Greed and Sloth.

But the very worst Sin of all? Even the ancient Greeks agree:

Pride. Homer's Odyssey elucidates what Odysseus experienced as a result of his idea that he no longer owed fealty to the Gods because he set Troy up the wooden horse.

But I and many others regard it as crucial to take pride in one's work. This is easier to see in the trades. I have a friend who may be the highest paid carpenter who walks the Earth. Not because he complicates everythimg but because he works efficiently and because he produces quality work.

Another friend is a general contractor. He compared his struggle to motivate his crew to "pushing water uphill".

There is more to it but one who takes pride in one's work is rewarded by the work itself. It is uncommon for thise who do to concern themselves for external reward. For me as a theatrical carpenter it was enough that when the shoe must go on, it does go on and the set is complete by opening curtain.

I will address this in more detail real soon now then post it somewhere at Solving the Software Problem.

The Catholics also have the Seven Heavenly Virtues.

I am not actually Catholic but some of what they have to say is insightful, informative and in the case of The Divine Comedy, funny.
Frankly I am totally astonished that it's not required that voting machines consist of open source software and hardware.
Eventually, a lot of spacecraft communications will switch to optical systems instead of using radio. The major gating factor there, at least in regards to solar system exploration, is the creation of off-Earth infrastructure to facilitate it. Which likely would be just a small fleet of relatively modest sized space telescopes designed for 2 way communications. Having the infrastructure off Earth would mean that it would be insensitive to weather and would also be easier to maintain contact with spacecraft nearly anywhere in the sky at any given time. Building that infrastructure probably won't happen until launch costs fall but realistically it's something that could easily happen in the next decade or so.

And then the available bandwidth goes way up.
Curious as to how this actually works under the hood.

This looks like type erasure (checking the types in the compiler but treating everything as id under the hood, similar to what Java does), whereas swift, if I'm not mistaken, uses reification for generics (creating separate copies of each class/function for each parameter type used in the application).

Does that mean that the compiler is doing erasure for generics coming in from Objective C, inserting runtime casts where needed, but then doing full reification on swift code?

Seems like that would have to be how it works, no?
Gallery of Stupid XSL and XSLT Tricks
A Middle East Supercomputer Makes the Top List for the First Time
He's referring to 3D density. Die stacking is one way to do that, and it's the only one that isn't just wild fantasy.

Another would be for the die to have multiple layers within a single die - which can't be done with current technology, but isn't physically impossible. Basically what you'd need to do is similar to PCB fabrication - you need to create "blind" and "buried" features within a series of stacked layers.

Obviously that capability doesn't exist right now, but you could look at using an ion beam to create a planar mask that targets only a single layer within a multilayer wafer. The particles travel through material without depositing energy until they reach a critical threshold [1], after which they rapidly deposit nearly all of their energy. This allows you to give the beam a specific "depth", in other words it can be targeted in 3D. Perhaps - because it's a particle beam, not an EM wave - it might also be less susceptible to some of the problems caused by the wave nature of light, even in a more conventional application.

I know it from proton radiotherapy (a good general rundown of the technology here [2]), and I wonder if it couldn't also be used for something like this. A lot of problems would have to be solved. You'd be talking about a substantially different process from standard wafer production, you'd have to tighten up the Z-resolution, etc. No idea if it'd work or not in the end, but I think it'd be interesting to look.

Or alternately maybe we figure out some additive/subtractive method that lets us create multiple layers on a single die another way. For the short terms it's going to be die stacking though.

[1] https://en.wikipedia.org/wiki/Bragg_peak

[2] http://www.aapm.org/meetings/05AM/pdf/18-4016-65735-22.pdf
looks great. but i can't help but think it would save everyone a lot of time -- maybe not up-front, but in the long-run -- if we wrote these frameworks in c and just wrote language bindings for r, python, ruby, etc. why are we rebuilding good frameworks over again just because they're not written in our preferred language?
> Did you ever attempt to get to the bottom of an intermittent error that was driving you insane, only to discover much later that a private variable wasn’t synchronized properly? Have you ever spent hours stepping through the lifecycle of an object, going through many different components spread out across the codebase and wished that you had spent all that time solving new problems instead?

I see 3 issues here.

1) Most people haven't dealt with those issues enough. There are complex programs but there are also many simple program as well. And unless one deals with hard to debug concurrency / pointer / mutable state errors they will not appreciate immutability. They might pay lip service to it, because it is cool, but they will not appreciate it enough to start rewriting their codebase in it. That is a bit like fault tolerance, unless they have been woken up at 3am because their main larger server process segfaulted and had to debug, they will not think about isolated units of failure, about supervision, durable peristent snapshots/checkpoints, monitoring etc. They of course will say that "fault tollerance is good" but it is good in an abstract, general way.

2) Those that dealt with these issue might accept the state (pun indended) of affairs and never realize there is another way of doing things. I mean they just accept that you have to have locks and mutable state and mutexes and dangling pointers and then spend months debugging hard to track concurrency errors at 3am. That is just how software development works and it is as good as it gets.

3) People realize there is something better, they know about, read about, played with it. But they don't have enough energy, political power, or time do fix it.
I don't necessarily disagree with your point, but it is a quick way for larger companies to filter through the many small consultants who may or may not understand the risk and complexity of an issue. And I have two great long term relationships with enterprise clients that did this to me initially. It was just their filter.

You could easily argue it is underhanded, or slimy, but I don't think it is as uncommon as we would like to think. Just like an Enterprise level client who won't pay for a $99/month SaaS, but if you change that price to $999/month, suddenly you are a contender and taken seriously. The value proposition is about perception, not reality for many larger organizations, which I put health care and universities in too.
Great point dhimes! Not everyone that uses the app necessarily has to be "on the prowl".

I definitely was thinking about people in their early 30's and how hard to meet new people at that age.

If you have any ideas how to target this market, I'd love to hear them. You can email me at sam@friendstonightapp.com
This is an incredibly salient point, because the conspiracy theorist in me screams that it was intentional in order to sway public opinion in favor of electronic voting machines, in order to let Them fix elections. I truly believe the whole scheme of electronic voting is intended to defraud the public of their right to vote.
Yes, doable and desirable. There shouldn't be any caveats to this deployment.
I actually suspect that you can make a solid app with ClojureScript _today_, QTTT being the thing that makes me think this is so. https://github.com/mfikes/qttt#react-native-port Also, Facebook has shipped apps based on React Native.

The aspect that is rough is the ClojureScript tooling. This post attempts to cover where we are with tooling: http://blog.fikesfarm.com/posts/2015-07-06-clojurescript-wit...
Awesome...but. No text? That suddenly wipes out my use case (data viz). I was super encouraged reading this post, multiple renderers including canvas / webgl (so I assume speed - unlike D3), smart, clean, indeed creative looking logo/site...suggests the author has taste...but no text kills this for me. I see no obvious use case for animated 2d that does not do textures (personally happy to do without) but also does not do text.
Follow the money. All the new voting systems are about enriching cronies at public expense.

Now that HAVA's touch screen fiasco has played out, the next big push is for vote by mail (postal balloting) requiring all new gear and enabling exciting new business models.

That these new systems are unverified, unreliable, and easy to subvert (undetectably) is just a happy side effect.
>> Spare us the half-baked hackery.

>Ad hominem? I guess I win.

That was not ad hominem, because what you wrote is indeed half-baked hackery.

Nobody said it cannot be done the way you did it. You were just pointed at the shortcomings of your approach and that the Python community generally prefers stupidly simple, easy to understand solutions. Using magic attributes to argue against it just makes it worse - remember this is a thread about idiomatic Python code bases.
It's basically an additional QA or acceptance environment, capacity being a fraction of what is running live, that's no more costly and time consuming really then all the effort it takes to setup a bug bounty program, and you can get far more useful take aways from it if they can fully red team it. If someone finds an exploit that takes down the system or compromises account data, no real data or systems are at risk, no more so then they would be to actual malicious users.

The rules of engagement would obviously limit you from testing the real properties and restrict you to said servers that are completely isolated from the working production environment. DDOS attacks would be things that hang the application, or database, not simply flooding it with bot requests. Then they could do code injection, etc.
Even if that were true, the definition of "sexy" has changed over the years. Currently we're in a Rubenesque period.
Amazing 10 year old cover song of 99 Red Balloons
Robotic weapons and ethics
Sorry for taking so long, here it is: https://news.ycombinator.com/item?id=9861042

By the way, it would be great if HN had some sort of notification for when you get replies.
When I charged $45/hour before I quit to go back to school, I was nominally making $90k a year. According to the rich list website, that puts me at 0.09% worldwide. No, I am by no means wealthy. I have loans I am not done with!
What are some advantages of Neo4j compared to the more recent OrientDB and ArangoDB? I know Neo4j is a pure graph DB and the other 2 claim to be "multi-paradigm", but those other 2 also claim to implement most graph functionality anyone would want, on top of claims that they are both more performant than Neo4j.
How the Hell Do I Prioritize Work, Blog and Find Balance?
Just me thinking off the top of my head: I doubt ClojureScript's ability to compile itself helps with that, but I've never pondered that before. Hmm.

I think Fogus's post is still relevant: http://blog.fogus.me/2012/04/25/the-clojurescript-compilatio...
I think you are right in that it sells many people short, but then again having no good academic credentials is selling yourself short.

Data science is not like security. There it is more accepted that good engineers/researchers do not necessarily have the best accreditation. It seems that data science/engineering is turning around to this though.

It's not that autodidacts can not build bridges, it is that the people with the data and money do not want their bridges build by autodidacts.

Anyway... back to studying http://statweb.stanford.edu/~tibs/ElemStatLearn/ for me :).
I havn't check the PRs yet , but does this BETA also have performance improvement commit a few weeks ago?
https://github.com/rethinkdb/rethinkdb/issues/4441

That one rethinkdb overall performance of writes by 2x right?
Well, the avoidance of docking was primarily because this was a thought experiment, not quite optimizing for a global optima. We wanted to see if a Mars mission could be mounted within those tight constraints, and set about with those constraints as unwavering. Why avoiding docking was one of them, was a requirement from Mars Direct. (Flipping through A Case For Mars for a minute wasn't enough to find the reasoning...) If you wanted to do a mission with minimal assembly but with docking... I'm not sure you could get a ship with a dry mass of <25T to launch to LEO. Say, with a sizeable upper stage for orbit insertion, habitat module and life support storage space (even with the food / water / fuel all brought up later). Even a fairly large Bigelow module, electrical equipment and pressurized space for food is going to be more than a Delta IV-H can take to LEO... And then an empty upper stage big enough needs a lot of volume. Maybe two flights for assembly, and then launch supplies up?
Well, you got me there -- I honestly feel that property notation was not a very good addition to Obj-C because it looks like C struct access yet is incompatible with it. It's supremely annoying that I can't write "view.frame.origin.x += 10"...

But I do use property notation, if only because not doing so would probably drive my co-workers crazy. It's more important to write code that is readable in context; nobody cares about my personal syntactic tastes. (That's of course why I like to whine about them on HN.)
StartX Week 3: Lead Mentors
Hi guys, any idea when we might get this on mingw?
I wasn't left that much the wiser after reading this either. In short, I think "constructor", "recipe", "knowledge" are some pretty heady concepts which could use a lot more explanation.

I think what it's trying to say is that constructors are resilient (i.e. long lived, through virtue of replication) 'structures' expressed in matter capable of stably holding and repeatably acting on digital information. And once you have a basic constructor, assemblages of these can provide successively higher levels of organizational power. Their digitally error-corrected resilience differentiates them from flash-in-the-pan analog chemistry, and once you have that longevity of structure you can start to have life. I think.

I don't know. I mean, yes, intuitively, life as an emergent property of recursive layers of self-organizing structures makes more sense than life as the continuation of a random walk through chemistry, but whatever constructor theory is, it's not deeply explained here. What are its implications? How does it actually compare to alternative theories?
>...and in Canada, we do not claim to have free speech and defined in America. Hate speech is not tolerated here...

One of the worst aspects of our country IMO. I wish we had millions of people willing to defend the basic right to say what you want.
Intel really shouldn't get credit for the Sandy Bridge IGP, because that's just where they caught up to the NVidia IGPs that they'd banned. The first generation of Core series mobile chips represented a major step backwards from the user's perspective because Intel would no longer let NVidia make chipsets, so Intel's IGPs no longer had to compete against the GeForce 9400M and 320M. Ivy Bridge was the first time Intel actually moved the market forwards in terms of mobile IGP performance.
I fit this scenario perfectly. I moved out of state, bought a house in a small neighborhood and my wife and I just had our first child a few months ago.

We know no one and we aren't going to start knocking on doors to introduce ourselves. We're not nearly that outgoing. However, it would be nice to meet people and hang out here and there. We're in our late 20's so it's hard to find people around our age in a similar situation. We can't really go to bars to meet up or go to concerts or pretty much any thing we used to do a year ago.

An app that could get people to meet up in these situations could be useful, but would I use it? Eh. I don't know.
> You have to start trusting somewhere.

Sorry, I'm fresh out of trust. I made the mistake of learning the mechanics of election administration.

The only "trust worthy" system is one based on mutual distrust. If two or more belligerents (aspirants) agree to the final count, then it's probably satisfactory.
> The trolls won the war for usenet too. It didn't destroy the internet.

It sure as hell destroyed Usenet, though. I remember, because I was there when it happened.

At least when we lost Usenet there was somewhere else for all those discussions to migrate to: the Web. If they destroy the Web, where are the discussions supposed to go then?
Post the link here as well. Some students from India/Brazil and other countries would be reading hackernews as well and can spread the word. As others have suggested, try posting in reddit groups as well.
Can engineers learn anything from sales?
When you meet a stranger, the actual purpose of small talk is to try to find some common ground. Some people are better at it than others (I am horrible)... but if some common ground can be established, both people will have an easier time making conversation. That's why so many meetups are centered around an activity/topic. I would much rather attend a group of "20 random people that list kayaking as a sport they enjoy" than "20 random people".
Thank you. I am learning Scheme using Dr. Scheme, are you aware of any such debugging tools for Scheme as well? Kindly let me know.

Keep up the good work, you've a very good blog.
GUI vs. Command line interface
How I wish I could write React components
The question of "why?" is as above, the question of "why now?" is to make it work more nicely with Swift.

This addition is so distant from C++ that New Horizons hasn't even reached it yet.
But how do you become a good data scientist, instead of a technical person, that knows how to apply an algorithm in Python/R.

What I am trying to ask is how do you become good at setting your start point(formulate your hypotheses), communicating your insights and selecting which tools apply where, because if your are good at coding and have experience in things related to computer science you have the abilities to handle a dataset(SQL Knowledge) and the data tools(Python, Pandas, etc), but that doesn't earn you the title of data scientist.
I'm german and i agree totally with you. Unfortunately a lot of people didn't know anything about the reasons for greek crisis, so the media coverage about the "lazy greeks" is working for a lot of stupid people...
I first really noticed how much this bugs me with the New Yorker's subscription reminder.

"We need to hear from you right away regarding The New Yorker holiday gift subscription you gave JANE DOE last year."

So, I kindly replied: when does it expire? Then seconds later I get a bounceback. It's a terrible customer experience.
How do you they do it? Is it secured?
I enjoy sharing the atmosphere and sunlight with a fern. I'm not sure that companionship, even among dogs could be considered anything other than anthropomorphism. I definitely find that I have more in common with the fauna than the flora, I don't think this makes either of them any less alive, or tasty.
Memory didn't matter in the past. At some point caches weren't important, CPU were not running as fast compared to main memory. Then CPUs were getting much faster and caches started to become very important.

Then at some point networking was very slow and it didn't matter if you wrote your code in a scripting language, if all you did was wait for network packets. That was around Pentium 4 days or so. CPU speed was doubling quickly and 1Gpbs cards and switches were still kind of fancy and expensive.

But then it all kind of changed. Caches are important now. You thrash your cache around and you can take a serious performance hit. Even kernel code can't keep up with network wire speed at 10G range.

Long story short, a lot of performance heuristics and folk knowledge about it has be re-evaluated periodically.
According to another article I read, he had to supply UA with a W9, so the answer is likely yes.
MovBoxx Beta – Collect all the media you love
Author here, I originally posted this to https://www.reddit.com/r/ocaml to gather some feedback prior to posting it here. It was a surprised when my boss told me "Hey, you're top 10 on HN right now". Glad to know someone liked it enough to post it here before I could :)

It's something I've been working on for quite a while, because I wanted to answer the question "Why do you like OCaml so much and why should I care?" once and for all. Hope you enjoy it.

Speaking of OCaml, all the traffic going to my blog is going through HARchiver [0], a very high performance proxy and reverse-proxy 100% written in OCaml that gathers datapoints for use with Mashape Analytics [1]. Disclaimer, I work at Mashape.

[0] https://github.com/Mashape/HARchiver

[1] https://www.apianalytics.com/
Yes, that patch for soft durability writes is in there. Looking forward to hear if it improves things for you.
A lot of it comes down to robustness. Neo4j has the advantage of simplicity and maturity when compared with multi-model dbs. Multi-models, as of now, are feature rich and reliability poor. Instead Neo4j has fewer features but just tries to do those things really really well.

It's been in mission critical prod. environments now for nearly a decade. I'm certain that in the future DSE, Orient, Arango, or someone like them will be big contenders in the space. However, for the time being, I wouldn't trust anything critical to them.
Maybe yes, maybe no. A classic example is tourist trap restaurants in heavy tourism areas. They literally don't care about repeat customers because all of their business is transient one-time customers. Sure they might get bad reviews ultimately, and that could hurt them, but that hasn't really seemed to slow them down, and that is easy to game.
This article begs the question on "Biological replication and self‑reproduction are in fact such stupendously well‑orchestrated physical transformations that one must explain how they are possible under the simple, no‑design laws of physics such as ours. This additional explanation, which was not included in the theory of evolution, is essential for that theory to properly explain how living things arise without intentional design – to close the explanatory gap."

From my point of view, chemistry more or less explains how cells work, and we don't need a quasi-platonic explanation of how the universe is designed to allow for a grass-eating goat machine to explain this at all.