skysight-inc/HackerNews huggingface dataset:
I'd like to make a subtle but critical adjustment to your statement:

"A union is a legal framework for the employees which has the ability to recast the power balance and can do it in their favour, if it so chooses."

Unions are definitely capable of doing this thing, and some do it. They do not necessarily do this thing, and some do not. The common failure mode is that an entrenched union is run by a group of people who act very much like company management, profit immensely from this arrangement, and remain in power by employing forms of the pirate ship loot splitting strategy.

(The pirate ship captain must propose a split of the loot, which the crew votes on. If they vote in favour, the loot split goes ahead, and if not then the captain is thrown overboard. The correct solution is to divide the loot equally between 51% of the crew including the captain, and allocate none to the rest.)

The worst unions are definitely not a framework for laziness, but they do tend to be bad for businesses as their primary function is to suck money out of the company and give it to union leaders. The best unions make everybody better off, including the employers. Some companies have internalised the functions of the best unions, because they realised that this makes everybody better off, so don't have any real need for unions. Some companies have internalised the functions of the worst unions and are engaged in an asset-stripping operation.

There is a tendency for older unions to be worse than newer ones. Setting up a union will almost certainly be good for the people who set it up. Joining an established union may or may not be good for you; if you're thinking about joining a union then research this union carefully and figure out if they're going to be good for you. Keep in mind that bad unions tend to be extremely political and will be surrounded by propaganda - look for clear evidence of outcomes.

If you're thinking about unionising in your workplace, please think carefully about this problem and how you're going to make sure that your union is one of the good ones. If you're thinking about running a company, please think carefully about how to be one of the companies that already does the work of the good unions.
Yes, but note that the offense is for unlawful possession of firearms, not lawful possession (though I imagine the conditions for lawful possession in Singapore are extremely restrictive).

Where I live (Finland) the ratio is 2:5 (2 million legal guns, 5 million people). That's the highest in EU. We also have among the highest homicide rate in EU, but these two rates are not really connected (i.e. very few of the homicides done with a gun.).
> no electronic voting system, no matter how clever, is any further than one fuckup or one dirty sysadmin away from being a total fraud.

Not entirely true. The best electronic voting systems require multiple fuckups and/or multiple dirty developers and hardware manufacturers to become a total fraud. Not saying that is safe enough for elections yet, though. But there is no reason why you can't add multiple checks and balances and mutually-hostile guarantors to an electronic voting system.
Yes, but only his complaints about the public sector unions were reasonable enough to address.
Working with FreeCAD means maintaining OpenCASCADE, here's my notes (hopefully this will help you get a sense for what you're signing up for): http://diyhpl.us/wiki/cad/opencascade/

I think that OpenCASCADE is very difficult to maintain. At least half the variable names are "aMPBLPB" and "aMPBLI", the other half are some strange combination of Russian, English and French. I think that to insulate yourself from the actual CAD engine it would be a good idea to use cadquery, a python library that is aiming to let you switch out the actual CAD implementation without (dramatically) rewriting your source code.

At the moment, I think the two biggest players in the CAD kernel landscape are verbnurbs ( http://verbnurbs.com/ ) and solvespace ( http://solvespace.com ) (which includes parametric modeling and constraint solving, btw). Both are very well written, well documented, and well tested. BRLCAD also has surface-surface intersection for NURBS, although I don't remember all the caveats....
Here's a short (and quite sad) documentary about a family of Beanie Baby collectors -- https://www.youtube.com/watch?v=PgDsyj5eLmo
I suppose, not knowing what "far, far more" actually is, that could be appropriate. Typically, whether it's a loan or some kind of "partnership" when you ask someone else to front the expenses for your project/purchase you end up paying a lot more over time than if you had the cash in hand.
The title appears to be inaccurate. The fund has, on average, outperformed the market by 2%/year over 40 years, which works out to 120% outperformance with compounding. That is far less impressive than beating the market consistently (i.e. every year) for 40 years. He's only done that for the last 7.
BitLit is a company that allows you to upload a "shelfie" of your books and they will recognise the books from their spines. So don't give up hope on that image database, it must exist. Nice work, looks like an interesting project.

http://www.bitlit.com/how-it-works/
There is /r/thelongread or /r/longform I believe. Part of the problem is actually not discovery but availability – there just isn't that much longform content.

If you keep an eye on vanity fair, the atlantic, new yorker, the sunday times and a few others, you're likely to read most of the good stuff.

Better revenue streams might increase the supply. You are right that a model similar to music is needed – I'm not going to pay 100$+/year for a magazine subscription, but I'd gladly pay 40$/month for 'the netflix of journalism'. I've also seen quite a lot of writers publish kindle shorts which could become 'the itunes of journalism'.
Obviously if this weren't a trivial example and were real code he'd account for this in his C code, and it would still be much faster than the Python code.

He hand waved it away because it's not really relevant to the point.
Relevant: https://news.ycombinator.com/item?id=8631804
I'm using the Deis publisher from the Deis project to accomplish service discovery.

It's a neat go daemon that runs as a global unit(every node) listening to the docker event bus and updating etcd for you. From there it's easy to use confd to manage updating nginx or haproxy (which is what the deis router does).
I've been thinking about that for the last few days, and I think that's the best solution, if it's possible. Optimizations might clutter up the code and make the intent not clear. Writing idiomatic code and hoping that the compiler figures it out is also suboptimal, as noted by the grandparent.

I think the best solution is to be able to make some kind of annotation, or other way of declaration, on a function that says "this function should be no worse than this". In Scala's case, for example tailrec. I'm unfortunately having a hard time with coming up with other, specific examples, but the gist of it is that the compiler either manages to do all the work on the function itself and the functions that that function calls, or errors out and reports what it couldn't do. Ideally I would want to make 10 functions which are all pure and referentially transparent, call all those functions from a top function with some kind of annotation that gives some demands with regards to optimizations, and then have that function be transformed to a single, efficient, fused loop with no allocations or intermediary values that are unnecessary. But like I mentioned, the hard part seems to be in actually specifying what your demands are.
Because his comment has zero value.
Looks good! Waiting to hear back on the iOS beta :)
Scientists invent new way to control light
A very good reason to generally attack/dismiss feminism IMO is that it is this morphing amoeba-like ideology. One's personal feminism is always different from 'those mainstream feminists', yet you do not see a lot of distancing from some of the very harmful feminist extremists that are around. ("NAFALT" - not all feminists are like that)

It's gotten to the point where the analogue would be to label oneself a 'stalinist libertarian' (because not all stalinists are like that) or other similar nonsense.
As someone who has read almost 50 academic papers in the last 6 months (MSc in Computer Science, we read a paper before class and then analyze it with the lecturer) I agree unanimously with the parent.

Above making notes, I find that challenging the material in the paper is key to understanding. For example, authors may make claims without sufficient data to support their arguments or they might not explain a particular anomaly in their results. There are nuances in papers everywhere, try to pick these these out as you read them.

Secondly, you will at times read papers which assume a particular level of prior background knowledge. For example, I've had to read papers on rateless codes (Spinal Codes), indoor passive radar and full duplex radio with zero background in electrical engineering or physics. 6 months ago I would look at some of the equations and think "nope, not even going to try and understand that". This is bad, don't do it. If you don't understand the equation at first glance (and I would be surprised if you did) break it down piece by piece. Annotate what each variable/Greek letter represents, how it fits together with their explaination of the equation and how it might fit a trend shown in their results. Sometimes you might find that you have to do extensive Googling to understand whole papers, don't worry, in my experience this is perfectly normal.

Finally, if you don't understand something, don't continue reading. Try to understand it before progressing. Only continue reading if you absolutely cannot get it. If you find that a lack of understanding of an earlier part of the paper starts to limit your understanding of later parts, stop! Go back and re-read the earlier parts. Quite often, material later in the paper can adequately explain concepts earlier on.

Best of luck!
The Power of 'Good Enough'
The Law That Broken Hillary Clinton's Back
For anyone looking for the actual law and code that says it was illegal for Clinton to have her own email server at home, I figured it best to air out the dirty laundry.

U.S. Code, Title 18, Part I, Chapter 101, Section 2071, Paragraph a: “Whoever willfully and unlawfully conceals, removes, mutilates, obliterates, or destroys, or attempts to do so, or, with intent to do so takes and carries away any record, proceeding, map, book, paper, document, or other thing, filed or deposited with any clerk or officer of any court of the United States, or in any public office, or with any judicial or public officer of the United States, shall be fined under this title or imprisoned not more than three years, or both.”
Paragraph b: Whoever, having the custody of any such record, proceeding, map, book, document, paper, or other thing, willfully and unlawfully conceals, removes, mutilates, obliterates, falsifies, or destroys the same, shall be fined under this title or imprisoned not more than three years, or both; and shall forfeit his office and be disqualified from holding any office under the United States.
I only just logged out to look for those links (and found them). If I'm logged in, I can't find them anywhere.

Regarding HN's feed, all I know is, if I reset Feedly and Feedbunch (i.e., mark everything as read), after x minutes Feedly will show more unread articles than Feedbunch. Over the course of eight hours (when I'm asleep, e.g.), Feedbunch will show maybe a dozen new articles and Feedly will show, like, 40. I don't see this issue with my other feeds.
This seems a whole lot like the Bro IDS (https://www.bro.org)
Again, inline ASM is pretty rare these days (when we do use it, it isn't for SIMD). Intrinsics are much more common.

The big issue (aside from convincing MSVC to implement it ;) with your suggestion is that, unlike TCO, vectorization isn't really a boolean. There's a range of what vectorization might mean (you can vectorize code and do a bad job with it, only marginally beating out the scalar code), so you'd still need to check the generated code for the situations where you care.

And honestly, it's not worth the effort. Vectorization shouldn't be as scary as it is for most programmers. Once you get the hang of how to do it, it's not bad at all. We write a lot of SIMD code at work, and 'difficulty of writing SIMD code' isn't a big issue for us. Honestly, it's kind of fun, a bit like solving a puzzle (an optimization puzzle, something like SpaceChem or Infinifactory).

Now, a situation where it might be a win is if you have a lot of different platforms you need vectorized code for... but in my experience you're probably better off doing it by hand unless this is a huge number.
I love examples like this. My interpretation of this generally depends on an idea of "Expected Impact", where ex. the difference between $10^6 and $10^9 in terms of lifestyle impact can be smaller than the difference between $10^3 and $10^6. You could assume a logarithmic value function, for example, but each person might have a different function depending on what you would do with the money.

Not that people actually think that way, but you can construct a model where the guaranteed million is the rational choice.
Continued fractions show up in odd random places, generally when you need to represent a value as precisely as possible with a ratio of two integers that are, themselves, as small as possible.

I was writing code to program an RF synthesizer chip the other day and found myself going back to an old Graphics Gems chapter by Ken Shoemake, after discarding three or four newer implementations of rational approximation solvers that I wasn't happy with for various reasons. Ken's application was for intersection testing (presumably for polygon clipping) on machines with limited precision. It's a great introduction to the topic if you can find it.
You are, of course, entitled to your opinion that the best way to clear this up is by making comparisons to C++, but the problem is that in defending your comparisons, you have brought in various issues, such as that C++ references cannot be rebound and the differences between the meaning of 'pointer' in the two contexts, that can be dispensed with if you do not take this approach. Personally, I think that those people who are both confused and looking at this from a C++ perspective would be better advised to stop making comparisons and look at Java for what it is.
Survey: The State of Adjunct Professors
I'm loath to count anything on the Eastside as Seattle.
If the title of the article were accurate (which it's not, since the text of the article confirms the fund did not outperform in each of those 40 years), then that performance would be hard to explain by random chance. Assuming naively a 50% chance of beating the market each year, doing it consecutively for 40 years straight is 10^12 against, which is far larger than the number of people in the world, never mind number of funds.

Now, the naive assumption of 50% odds of beating the market is a little dangerous, since there are plenty of investments that are highly likely to beat the market but suffer occasional catastrophic losses -- i.e. without being particularly clever one can trade probabilities for magnitudes.

So at the end of the day, there's no substitute for understanding how a fund manager actually thinks and operates. It is possible to beat the market, and to do it consistently and for reasons other than luck. And it's possible, with diligence, to pick a fund manager to do it for you. But merely looking at the history of returns is not diligence, it's laziness, unless the fund has a truly astounding statistical record, which very, very few funds do, even the good ones.
Seems like the root could be sharded if it's an issue?
It takes a long time to execute people in the USA. Having an execution hanging over your head for 20 years probably makes prison much, much, much worse.
I don't think they use arbitrarily strict libel laws in the UK to shut down opposition parties. Also, political leadership in the UK is not dynastic.
Another system focused on the wrong thing in monitoring: on alerts and charts.
Those are merely methods of consuming data, not the only ones and not even the
most important ones a decent monitoring system should do.

Sending e-mail or displaying a set of charts or a status table is simple.
Allowing to collect, collate and aggregate the data (metrics and events) in
arbitrary way, also as an afterthought, is what monitoring system should do.
With virtually everything on the market, when a need for any processing not
anticipated by monitoring system author arises, one needs to write much stuff
outside said system.

We need less systems resembling invoicing systems and more systems resembling
general purpose databases.

This is why monitoring still sucks.
Actually, JavaScript is a lot like Perl.
http://www.ocpsoft.org/opensource/javascript-is-the-new-perl...
then you will have to manually reset the mouse on the table :-D
The 10,000 hour rule is wrong and perpetuates a cruel myth
He should have done this in Europe, he would serve a few years and get on with his life, but now he is dead.
How would you do that? You have to be able to do lookups on the root. You have to have something to shard /on/.

B+ trees shard the updates by splitting the keyspace up into different leaf nodes.
Conventions, newsletters, mailing lists, lists of potential buyers to contact personally, collectors contacting him and asking...

Having observed people in a fanatical collecting hobby (vintage pens) through the insistence of a friend of mine, I get the impression that people involved in such collecting often strongly dislike eBay and similar sites. eBay, for all its faults, creates some level of transparency and openness in the market, and allows everyone to buy, sell, and appraise. For what are essentially fragile but persistent bubbles, transparency is bad.

Dealers want to be able to tell stories about pieces and their rarity, without a large market to let buyers verify them, and want to be able to hide sales, letting them inflate prices as much as possible. They certainly don't want anyone to be able to compare prices. Buyers want to be able to get special access to sales of pieces (or what they think is special access), or want to find people who don't know the value of what they have.

It's interesting hearing people in the hobby talk about these things. Dealers will rant about eBay and its dangers, or about buyers who "don't want to pay enough" (meaning they didn't sell that piece at all). Buyers will talk about how so-and-so contacted them first about a new piece, or about the amazing rarity of pieces that nevertheless seem to show up pretty often, or about how values appreciate with time. Unsurprisingly, doing painstaking research on auction sales over the last several decades, my friend found that values of most pieces did not even outpace inflation. Somehow, this didn't dissuade him. The hobby/bubble in its current form, though, is dying, and that's a good thing.

This is even more the case for collecting bubbles that are based around items currently being manufactured, as there is always the possibility of just creating more, and that risk is highest when everyone knows what is going on. In this case, for example, the manufacturer was easily able to destroy the dealer's business, but did so because the pieces were being very publicly sold. Had he instead kept everything quiet, and sold privately, he could have kept up what was essentially a scam for much longer.
OpenSSL vulnerability: how to update on Ubuntu 14.04
Show HN: JustAddComments – Easily publicly add comments/responses to any site
Not really. But you could imagine hacks like forcing updates instead of logging to the first N-levels (N = 1 or 2) of the B-tree. I don't know how well that would work in practice.

I do know that B-tree block contention is a big problem for my $DAYJOB's use case for smaller B-trees.
The Python code was trivial to write and immediately correct and robust. Trying to get C code to do the right thing is considerably more difficult - for example even trying to detect overflow can result in code the compiler then removes - http://lwn.net/Articles/278137/

Robust, correct and fast are a hard combination to do. I do acknowledge the article is about the latter.
One Year of DynamoDB
What's different this time to prevent that from happening?

- Real-time international communications

- Much better global diplomacy

- Many more small agreements between neighbours

- Knowledge of history

- Numerous countries possessing weapons so terrible that their mere existence should send shivers down everyone's spine

How many do you want?
Co-Founder Success and Self-Fulfilling Prophecy
Transceivers you will WANT to take out in the field and not leave behind
Big browsers fall in Pwn2Own exploit competition
> maximum price at which you can be profitably employed.

I think such a figure is extremely difficult to calculate in many if not most jobs.
Anyone care to explain why I get downvoted for stating an accepted fact? Take e.g. the IEA Blue Map scenario (50% reduction in GHG emissions by 2050), which depends heavily on electric vehicles. It also requires a 320% increase in nuclear power generation.
Hi, what do you think? thanks in advance! :).
FinderPath
Why? Many other countries come close to that ratio. Is there something intrinsically bad about that?
>>Cray 6600

Should be Seymour Cray's 6600, as it was sold by CDC [1]

http://en.wikipedia.org/wiki/CDC_6600
It should be straightforward to do something similar with neovim. Instead of vim's +clientserver support, communication would be based on neovim's msgpack-rpc api[1].

[1] http://neovim.org/doc/user/msgpack_rpc.html
Unlearn – Haywire
40$ would be too much for most people though, right? When the dust settles it will be at <10$/€ per month like the music and movie streaming services for all-you-can-read.
But the status quo is awful for most of us.

No offense, but I think that statement is ridiculous. You admit you're in the top 1% of income earners in the US and you choose to use the word "awful" for your predicament?
That's easy to do without tables. See display: table; and display: inside-block for the div. text-align: center, yadda.
Hodinkee has quite a bit more information on this: http://www.hodinkee.com/blog/Jean-Claude-Biver-Talks-About-S...

Most importantly, the Hodinkee piece mentions pricing - somewhere in the region of $1000, i.e. more expensive than the typical wearable but more affordable than a regular Tag Heuer.
So I've looked at potentially working with OpenSCAD before, but unfortunately had to go back to something like Autodesk Inventor before really starting. The biggest problem I have with all open source 3D CAD systems are the lack of parametric modeling.

If you're unfamiliar with this, this basically is setting constraints on your geometry. For example, you can say that edge A has the same length as edge B, and it mirrors across plane C, which is 10 cm away from the primary XY plane.

This is essential to my workflow in 3D modeling and makes most geometry based operations (such as specifying that edge A is 10cm and starts at 3,4) obsolete. It also allows easy assemblies: you can specify the axis of shaft A need to be coincidental with the axis of hole B.

Plain text based 3D modelling would be awesome as you can use reasonable revision controls and have reasonable merge strategies.. but the lack of parametric modelling, at least for me, is a deal breaker. I've looked into writing a library for parametric modelling in Python, but then I realized that you probably need to be a PhD in geometry to write a correct implementation with reasonable speed....