skysight-inc/HackerNews huggingface dataset:
ORMs are a really bad attempt to force a square peg into a round hole. The mismatch between the relational model and object-oriented design principles is simply too big.

In the relational model:

(0) A relation is a collection of tuples of primitive values. Every relation has a relation schema, which determines the arity of its tuples and the type of each tuple component. In other words, the relational model is first-order.

(1) There are a few basic operators for computing relations from other relations (relational algebra).

(2) There is a mathematical theory (database normalization) of how to design primitive relation schemas to avoid storing duplicate information, and running into insertion, update and deletion anomalies.

On the other hand, in a pure object-oriented program:

(0) An object is a collection of data and operations on it. The data is hidden from the rest of the program, so the only way to operate on it is to use the object's operations. The operations may take objects as arguments and return objects as results, so objects are intrinsically higher-order.

(1) In general, there are no limits on how one can define a single object's operations. However, it's impossible to define operations which require knowledge of the internal representation of two or more objects at a time.

(2) There are heuristic guidelines (e.g., SOLID principles) for designing flexible object-oriented systems. However, they lack any sort of rigorous foundation beyond “it seems to work in practice”, so object-oriented designers may deviate from these guidelines at their own discretion.

---

For data-oriented applications, it's pretty clear to me that the relational model has important advantages over object-orientation:

(0) The decoupling between data and operations allows the database designer to focus exclusively on data integrity constraints, instead of anticipating whatever queries users will want to make.

(1) The limited expressiveness of relational algebra (with no recursively defined relations) is also a blessing, because it makes automated query optimization tractable in practice.

While objects present problem after problem:

(0) Object graphs are intrinsically directed, and must be traversed in the direction of its links. This makes queries less declarative.

(1) Objects have a notion of identity, which destroys many opportunities for using equational reasoning to build large queries. This also makes queries less declarative.

Of course, the relational model says nothing about general-purpose programming, whereas object-orientation does. But there exist other paradigms for general-purpose programming that are less badly in conflict with the relational model. For instance, functional and logic programming:

(0) Don't reject the use of first-order data, decoupled from operations.

(1) Prefer the notion of mathematical variable, whose meaning is given by substitution (a first-order operation), to imperative assignment, whose meaning is given by certain predicate transformers (intrinsically higher-order gadgets).
Why would tech investors finance a coffee retailer?
Best Application to Quickly Switch from Android to iPhone Without iCloud
That is a wonderfully written article.
Instead of being sexist and asking people to leave based on their gender, ask those who believe in Sharia to leave. Demand that anyone who enters the hackathon makes a public deceleration that they are not followers of any religious belief that treat women and men different.
I don't see how this is really different from an annuity beyond getting a bonus payment when someone dies and not being funded in a way that you're sure the money won't run out prematurely.

With an annuity, a company sells you a plan that will pay you $X/mo for a lump sum of $Y. Those that die below actuarial estimates end up paying in more than they get out while those that continue living get the profits from it.

I guess the difference is that with an annuity, you're expecting the monthly payments to be pretty close to what you're paying in over a normal life expectancy. So, a million dollar annuity with a 10-year life expectancy might net you $8,000-$8,500/mo. By contrast, a tontine would see you put in a million dollars and then maybe get $3,000 per month with a 10-year life expectancy with those that outlive others getting more money as time goes on. So, if you live long and others die, your payment might go up to $10,000 or $15,000. Is that the point of the tontine?

But why on earth would that be the future of retirement? An annuity is predictable. The risk is borne by the company selling it. With a tontine, you get unlucky and everyone lives long and you're in a bad situation. In the best case, your payments go up, but why would you want the chance at $10-15k after others have died rather than $8k predictably always?

An annuity already spreads the risk and uncertainty of life expectancy. That's the problem we're trying to solve. An annuity already lets you profit off those who die early who have paid in more than they take out - and if you live long you get more than you paid in. If you want to add the morbidity of the tontine to your retirement plan, take out life insurance policies on your friends and cash in when they die young and lose money if they live a long life. Combined with an annuity and you basically have the tontine. You get regular payouts from the annuity and you profit when your friends die via life insurance policies on them.

But looking at that, why bother with the life insurance policy? Why wouldn't you just get the annuity and have a predictable, steady income?

* You might not like companies that sell annuities and think they aren't a good investment. However, they're sound compared to some hacked-together, crowd-sourced thing that isn't backed by someone reliable with deep pockets. I won't personally buy an annuity, but they're based off spreading the risk in a conservative enough way to guarantee predictable funds (along with a reasonable profit for the company). An under-funded tontine that has people live longer than expected would simply run out of money and leave people destitute.
Isn't that exactly how things are built in many of the larger US cities?

Luxury High rises are built in the middle of poor areas all the time. And all of the affordable housing city rules make it that something like 15-20% of new units in said high rise have to go to affordable housing, etc.

So you have a bunch of poor families who luck out and get to live in a million dollar 2 bedroom with free concierge service, which happen to be surrounded by homeless people.
People don't want to use these services. People have to use them, as there is no other method. Had the web's been decentralized from the get-go, and someone would come with a centralized service, you'd find the goldenkeys of the world arguing "people want to use decentralized services".
hangs on js intensive pages, like jira
Because of political wars that lead the .NET team to base the Framework on the CLR instead of the COM+ Runtime that was being prototyped.

Why do you think that WinRT is basically the return of .NET the Ext-VOS project origins, but with .NET metadata instead of COM type libraries?

.NET Native is what Ext-VOS was going to be, if it wasn't for the decision to create the CLR instead.
Microsoft trolls Apple with a WWDC afterparty
Google Docs as your CMS
Bad Boss Behaviour Made My Startup
I can fully understand that example, only someone without FP knowledge would not get it.
Microsoft releases VS Code 1.2 with integrated terminal and tab support
Is this really any more private than some phones that are available for purchase?
Ask HN: Training in London – where, what and when
Our company organizes training for students of technical schools (exactly for those who recently completed school), in connection with our partner company - based in UK - we are planning to conduct them in the United Kingdom - which places / organizations would you recommend as a possible place to visit in London and the surrounding area to show young people IT business and technology?
Perhaps one of you wants to show people your business? Give them a possibility to see something new?
I was just the other day looking for a great app to turn Live Photos into shareable images easily. I feel a well taken Live Photo provides so much more life into that moment than a still photo. My current workflow was Gif Toaster to turn them into GIFs, and then upload the result image to Giphy, and share that. Painful and slow, really. This new Google app is AMAZING for what I wanted to do, plus provides stabilization making the resulting images even better. Goddammit, Google, well done!
I am curious how much a rewrite staying in Ruby could have saved. Its always easier to write code when you have a good specification, and a working application would fulfill that role well.
By a titan of software development processes, if there even is such a thing.

Titans of engineering are people like Torvalds, Carmack, Engelbart, Wozniak, Codd, Lamport, Wall and many many others.

Including process people in that list would be mistaken.
This is surprisingly nice. I like live photos, but they've always been hard to share. This not only makes it easy, but the image stabilization really improves the result (maybe I just have a shaky hand).
The guys of the Fablab Hamburg in Germany already created a PCB from it and used it produce a low volume of cell phones from it. Just ask them politely for the PCB.

Here two German articles about the initiative:

http://www.heise.de/make/meldung/Temporaere-Handy-Fabrik-in-...

http://www.heise.de/make/meldung/Handy-Selbstbau-Projekt-in-...
Interest rates are set by the economy as a whole.

Because of arbitrage, the interest rate on low-risk assets (including bonds and various forms of debt) will always be more or less the same. You can't have higher returns without a higher cost of borrowing. And of course, raising interest rates suddenly will have negative effects - assets will be devalued (higher borrowing costs drives house prices down, for example), which hurts retirees even more than low interest rates on savings.
Nginx: Supporting HTTP/2 for Google Chrome Users
Comprehensive Guide to Startup Ecosystem in Germany
You do have a point. The distribution is not uniform and my model needs this correction.

Yet, randomly assigning a port in my (wrong) model is already 16 bit strong. Looks like the reality penalizes it even more than the math.

And yes, you'll still get a number with a few dozen zeroes after the comma of extra entropy.
First Surgical Robot from Secretive Startup Auris Cleared for Use
> Rust is not a good solution for high level problems

Who is saying that ? Not the Rust team, nor the Rust users …
Rust is a general purpose programming language, and it's pretty high-level (in terms of features, think about functional programming for instance). The only reason I wouldn't advise everyone to write their stuff in Rust atm, is the youth of the ecosystem (which is growing rapidly, but is still a bit too early-stage): their is no intrinsic limitation in the language that make Rust «not a good solution».
Because Go is a garbage collected language, programs will often require more memory than they would in Rust, although pretty often that's an acceptable trade-off. If the trade-off is acceptable though, it might be worth looking at Nim and D too.
Yet nothing new on the security side. Figures. How many cars can be hacked now thanks to Bluetooth-based locks? Millions?
Also in my experience ISP's to this day favour downloads over uploads by at least a 20:1 margin. Not to mention their restrictions on open ports and running internet-facing servers.

Though I'm not sure if this was just a market response to customer preferences or if it was a contributing factor to digital consumerism.
From looking at their source briefly, I can make two observations:

Firstly, their core parsing routine is a state machine not unlike the one found in rust-csv: https://github.com/wiseio/paratext/blob/master/src/csv/rowba...

Secondly, they do indeed appear to be achieving high parsing speed using coarsely grained parallelism. You can see the code that chunks up the CSV data here: https://github.com/wiseio/paratext/blob/master/src/generic/c...

It's pretty clever!
No-one really benefits from accurate polls except (possibly) politicians. This is a non-problem. It's also probably insoluble. If you ask 10,000 people now how they're going to vote, that won't always be a reliable guide to how 40 million people are going to vote in 3 months' time. There's just no fix for that. People change their minds, and samples will not always be representative.
Show HN: Scriber – Micropayment Platform for Publishers
Sounds like a great idea if you want to visit a war-torn area to make a protest about sexism and Sharia, not to mention risk getting mixed up in an international incident or worse. Not so much if you want to run a hackathon which actually improves the lives of those that took part.
Nim Programming Language 0.14.0 released
Forking Chrome is useless, Google can just take a bunch more of engineers to work on it, add some features to chrome, and extinguish your project again.

Forking Chrome would be like fighting against Embrace, Extend, Extinguish after you’ve already lost (which we have with Chrome, compared to what KHTML used to be like)
Hi! We decided to take a proper stab at this problem space and are currently at the stage where we would love some feedback from the HN community.

The best way for getting a feel for how it works is going to our demo publication and browse some articles: http://www.getexplorerr.com/

If you decide to sign up through the publication and then go back to our site, you will be automatically logged in to your profile: https://www.scriber.io

There's also a publisher dashboard you can play around with: https://www.scriber.io/publishers#demo

We've put a lot of effort into the integration with publications and making the user experience of signing up and purchasing articles as seamless as possible, upping conversion by removing as many hoops the users have to jump through as we can.

Please let us know what you think, any feedback is greatly appreciated!
If anyone would like to give it a try, you can get a kit including PCB and parts at AISLER
https://aisler.net/damellis/cellphone2hw/diy-cellphone

Please note that the kit does only include parts which are available from the major distributors. You may check the Bill-of-materials at
https://aisler.net/damellis/cellphone2hw/diy-cellphone/bom

Disclaimer: I'm one of the founders of AISLER
I really agree with your sentiments, that first paragraph is a great quote. I grew quite an adverse to MongoDB after researching it. While I never found this specific caveat, I found other very worrying decisions.

> reliable storage engine

By "reliable" I assume you mean "consistent?" While MongoDB claims that it's CP (which it's not, as per the article) there's nothing wrong with inconsistent databases (AP, e.g. CouchDB). Mathematically there is no reason for MongoDB to behave like this. It's fundamentally broken; it's neither AP nor CP.
Is Your Child Coding Yet?
Lazy programmers that skip error checks or count keystrokes as a something major are probably at the wrong job.

Either an error can happen then it must be handled - no matter how likely it is. Or it can't happen, then there's no need to handle it. The rare exceptions are functions where errors are indicated in the type signature but in reality won't occur, e.g. because the error return value will only be used in other implementations of an interface or because a precondition that guarantees that there will be no error was checked before. And for this cases you could still do something like: _ = functionThatReturnsError()

This is the approach that you e.g. have to follow in F#.
Your code enforces consistency and detects when a transaction fails the consistency rule rolls back the changes to the state when the transaction started? That's some great code I'm sure, but a lot of effort.

The only limitation on an SQL check constraint is that you cannot use columns in other tables.

As has been pointed about by many of us slow learners, it's far easier to understand constraints in SQL than it often is to dive into a code base.
On OSX there is the fantastic http://postgresapp.com/ . It installs into /Applications so it is easy to remove, and comes with a start/stop GUI and taskbar icon. Great for local development.

But installing and configuring Postgres "properly" on a server is still something of a challenge. Do I need to modify random_page_cost on a SSD or not? What are good memory limits on modern big servers? What exactly needs to go into pg_hba.conf?

None of these seem too difficult after reading a few tutorials and wikis, but it would be nice if the server set itself up with reasonable defaults based on the machine its running on.
> why is it so hard for some to accept that money is, overall, by far the strongest motivation force out there?

Because the evidence is circumstantial at best. Money, is of course important. But the strongest motivator? Not for many people.
My biggest take away from React Europe 2016 arrived four days later
> yes, but current COTS hardware, via userspace networking can very easily saturate a 10g interface at 64b packet-size / core.

Citation needed.
RestCoder
Google's Bazel build system integrates with XCode
> I think if Mexico and Canada not only declared dead their intent to destroy the US but also decided to shoot rockets onto civilians on a daily basis

Oh you mean like many Israelis don't just declare the intent to annex the west bank, but actually have settlements there / support them? The declarations are numerous, here's a recent and particularly shameless one.

http://www.haaretz.com/israel-news//1.723297

> Bennett also indirectly criticized Netanyahu for opposing a Palestinian state before the 2015 elections and supporting it after the elections.

> "The time has come to say clearly: The land of Israel belongs to the people of Israel," Bennett said. "In Hebrew, English, Russian and French; in summer and in winter; when there are elections and when there aren't. Why? Because the world listens to every word we say."

> "The world identifies weakness just as it identifies strength," Bennett added. "The world smells when we aren't certain about our right to the land and attacks us furiously with boycotts.

The people who want to annex the other side - which exist on both sides - each can't be excused with those on the other side.

> being threatened with destruction

Not really credibly so, and all the while while expanding settlements, demolishing houses, targeting human rights organizations, killing people and even faking evidence such as https://twitter.com/Channel2News/status/737971602260889600/v... - and other such things which all fall under "definitely not agreeing with many decisions" I would assume.

Yes, there's plenty of terrorism sold as "freedom fighting", and I agree it's terrorism. There's also plenty of blaming Israel for everything while not even criticizing Hamas or the absolutely useless Palestinian authorities. But this tale of bleeding heart Israel trying to do the very best, and being so misunderstood? Just look at a map, even that says a lot.
It is not the force that changes, it is the rate of gas generation (burn rate). You need to generate airbag gasses fast enough to inflate before your face hits the airbag, but slow enough not to tear itself apart (especially the metal forming the gas generator).

As the ammonium nitrate based gas generator mix ages, becomes less stable in that it burns faster, generates its gasses faster, and crosses the threshold between gas generation and explosion (RUD).

Ref: https://en.wikipedia.org/wiki/Gas_generator
Ah, the disgruntled employee.

Many years ago, I saw a notice on a company bulletin board stating that a couple of executives had been indicted based on testimony by a disgruntled former employee. It turned out presently that he was disgruntled because he had been caught by the feds and had done a plea deal. Within a few months the executives were off to Allenwood.
It is absolutely the case in the USA that the Fed pushed down long term interest rates by their manipulation of shorter term rates, thereby modifying the yield curve.

The Fed themselves state this, eg http://www.frbsf.org/education/teacher-resources/us-monetary...

Only the most obtuse person would argue otherwise, for example by claiming that market forces set the rates...but the Fed has truly unlimited credit so only an idiot would bet against them.
Arbitrary constraints which look at multiple rows require serializable isolation to work under concurrency, and most people do not run their databases at serializable. But you get pretty far with single row check constraints and exclusion constraints (exclusion constraints can be used for checking against range overlap).
Reading the docs will probably make people feel all kinds of feelings. Especially the `last` part.
We live in a flat that is in ~1800 townhouse that was converted to flats about ~1900. Have never heard a single noise from neighbours (external walls are 1m sandstone!). We also have original shutters on most windows which do a lot to overcome the weaknesses of old sash windows.
Nice, but IMO it falls, as the Bullet Journal, into the category of beauty over result. I just think that simpler, less structured systems provide comparable results in terms of getting things done, while wasting less effort on the nonessential aspect of system.

As for alternatives, my favourite is t (http://stevelosh.com/projects/t/). Truth be told, it may be way too simple. But yet again, complexity needs to be justified.

As a side note, remember that you can do for organizing tasks an argument similar to xkcd's on automation:

https://xkcd.com/1205/

https://xkcd.com/1319/
Show HN: Nbind – universal toolkit for mixing C++ and JavaScript
I think the faulty airbags should be installed in all cars.

The only way you rear end a car at 25mph is if you're tailgating.

The problem is that people dont know they will be impaled by shrapnel in a collision. If they did in advance suddenly everyone would be paying a LOT more attention to driving.
Rakuten to exit the UK, Austria and Spain as global retrenchment continues
Being French, I never heard of someone doing this with strangers.
On the other hand, it's a well known way to bypass succession fees : parents sell (or find a way to pass on without monetary exchange) the house in viager to their children, and continue living there until they die.

That way, even in a case where there is disagreement in the family later on, parents can't be forced out of the house.
Heard of Netmap or DPDK?
An Introduction to Signal Smoothing
Show HN: sleuth, an autodiscovery and communication library for Go HTTP services
The Pentagon Reboots Its Silicon Valley Outpost
I'm starting to think I am a p-zombie and though I feel like I have conscious experience it's only an illusion caused by my neural circuits.
I wrote an introduction and tutorial post, but linking the actual repo is more appropriate for this audience. Here's the post about it as well: http://darian.af/post/master-less-peer-to-peer-micro-service...
I feel it's an Orwellian privacy issue. If you capture Bluetooth signatures in myriad places, you should be able to track where people are going with relative ease. Increasing the range without adding security features (if that's the case) would do nothing to ameliorate such concerns.
More attack surface, not less.
That's a totally valid reason to use Mongo, now if only they'd market themselves that way.
Apple Campus 2: June 2016 Construction Update
> It's the ROT13 of defense mechanisms.

Not true. Modern port knocking is provably secure and requires network layer attacks to bypass.
How much more hardware would be needed if we turned on IP-multicast (at least the source-scoped kind) for everyone?
That's a fair challenge and I can accept I might be over-effusive in my praise.