skysight-inc/HackerNews huggingface dataset:
Gotcha, it's for OLTP, don't know how I missed that.

Should be quite easy to do equijoins especially if you're joining a couple thousand rows at most at a time; it only gets hairier when you're joining all records of very large tables that don't necessarily fit in memory, which is not very OLTP-y.

With regards to persistence, I'm really curious to hear how you're planning to have durability without writing something to disk on every transaction. It could work if you're relaxing the definition of durable to mean written to memory on at least $n$ nodes, though that's likely to be surprising to someone with a stricter definition of durable.

Edit: By the way, it's really cool that you have a C++ implementation of actors, I'll have to look into it. Have you thought about turning that into a library?
The house rules (they're linked in the comments section) cover conduct, not, by and large, content (some exceptions for homophobic / sexist / racist commentary).
For every positive article on MongoDB there are ten which are negative. Now that's a strong brand.
Hmm, consider that you haven't spent any money on a computer in 4 years. Look at the 'health' of the computer companies like HP, Dell, Acer, etc.

The problem here is a bit more insidious than you might assume at first glance. The reason you can buy a motherboard for $100 which has close to a thousand individual components soldered to a 16 layer board is because a manufacturer invested tens of millions of dollars in a highly automated manufacturing line that could turn out millions of them a month, and all the connectors on them had injection molds made because billions of connectors would be needed, and testing companies built amazing bed-of-nails testers that can run 25,000 tests on that board.

When I was at NetApp our partners built systems for us (so called ODMs) to our specifications but in the thousands, not the millions, and our motherboards that had a similar complexity to the ones that Gigabyte or ASUSTek could sell cost us $800 each. Smaller runs, those in the hundreds, are like $2,500 to $3,000 each.

The lack of buying is taking the oxygen out of the system. These guys are cutting costs where they can, but there will come a time in your lifetime where buying a cost effecting "PC" class machine out of parts will be very very hard to do, they just won't have the volume. A new TV with similar smarts? Still cheap. But a desktop machine?

They call them economies of scale, when there is a scale, when there isn't they don't work so well. Factories in China are starting to switch over to making systems for server farms, not individuals. Amazon, Google, Microsoft might by 50,000 at a time. You and I, not so much.

We are on the leading edge of that change. I have a sense that it is going to be a fairly dramatic change.
Why I love virtualenv and pip.

We use virtualenv and pip extensively here, with virtualenvwrapper.

mkvirtualenv <project>
workon <project>
pip install -r requirements.txt

It just works. I don't spend any time on it. Our developers don't have any problems with it. All the other considerations in the article we either handle as you're meant to, or understand the limitations.

Still, looking forward to some interesting comments on here.
Dunno, I'm here on a business trip. But the problem with reusable bags is that you have to know to bring them in advance, which is OK for the weekly massive shopping excursion, but not feasible for the "we're out of eggs and milk, please pick up some on your way back from work" situation.

Back in Melbourne I shopped a lot by bike, and I'd never put anything even in my backpack without a plastic bag around it, because meat leaks, yogurt bursts, glass jars break etc. A paper bag would rip if you tried this, and soak through instantly if something did spill.
What I don't get about app permissions is that it's all or nothing. You see these apps and they require access to just about everything. As if I'm going to install that? Not.

However, it should be that an app asks for permissions and as a user I can tick or untick each individual permission. I.e. does this or that weather app really need access to my contacts? Nope. So why can't just untick that permission?

Permissions on apps seem to be pretty much broken.
USD20k is a very large sum. It works out to just over 1.2million in INR. Now that's a lot. If all it took to make USD20k a year was 40-50hour work week, I wouldn't feel underpaid at all. And I would be living a life of luxury.
> "My advice is to attempt startups in the center of a confluence of macrotrends"

That's basically like saying "buy the winning lottery ticket" in my opinion. There are lots of eyes watching for macrotrends, and lots of people trying to capitalize on that. Identifying the trend is part of success, sure, but that's the easy part - the hard part is separating yourself somehow. Luck isn't the whole reason for that separation, but it's a significant part of it.

I do agree that many founders don't recognize their luck. To their credit though, I think they often emphasize the "work hard, be smart" part instead of saying "I knew I was better than all my competitors because..."
They are popular to get cause they are funny. They are popular to make because they let you experiment around with metaprogramming magic in the language to some extent.

I want a fuckit.hs
The problem is once you touch those memory pages, total memory usage increases even if you don't call malloc.
Here's the post at Renesys upon which this article is based: http://www.renesys.com/2013/11/mitm-internet-hijacking/

FWIW, I found the renesys post more informative than the Wired article (though on a standalone basis it is pretty good too).
Ok im following you. Maybe the differentiator is the divisibility of coin vs gold, and transferability.
As less haskellish approach to functional programming boost library: http://www.boost.org/doc/libs/1_55_0/libs/range/doc/html/ind... is nice.
It allows me to write:

v | filtered( [] (int i) { return i % 2 == 0;}) | transformed([] (int i) { return i * 2;})

instead of:

vector<int> filtered;
copy_if(begin(v), end(v), back_inserter(filtered), [](int x) { return x % 2 == 0;});
vector<int> transformed;
transform(begin(filtered), end(filtered), back_inserter(transformed), [](int x) { return x * 2;});
Misleading title. This is only a tiny section of TAOCP.
A minimal example of a set of negative rights which allows taxation and is logically coherent is "No taxation without representation":

It is set of negative rights (containing only one element), and contains no contradiction.
Not only that, but the law itself should predict its point of failure.
The slides were originally here AFAIK: https://speakerdeck.com/benbjohnson/raft-the-understandable-...
Uh, Path did stuff like this on iOS well before. We aren't immune here, though that is changing with iOS 7.
Exploring $ORIGIN in RPATH (2011)
I pretty seriously considered scaling the wall of the motel opposite Taco Bell, but a) I would probably have gotten shot, or at least had the cops called on me, and b) it's hard to climb when you're carrying a piping-hot Chalupa Steak Supreme. (And oh god, was it awful. Shudder.)

Incidentally, Taco Bell was happy to serve me my take-out in a plastic bag. Make of that what you will.
The Onion puts it nicely: http://www.theonion.com/articles/nelson-mandela-becomes-firs...
Have you given any more thought to ... not multithreading it? Since you're scaling across servers, apply the same concept across cores. Presto, no more bottleneck on atomically incrementing an ID.
The externality isn't the transportation, it's the benefit that those transported offer to employers, merchants, entertainment venues, etc. Few transaction capture systems properly ascribe all value and/or costs, the more so in the case of public goods.

It's the same reason why there are (in addition to specific taxes for gas or vehicle registration) general taxes for roads / streets / highways, or schools or other infrastructure. Even those who don't use them directly benefit indirectly.

Not all goods and services have such externalities, though in your specific case of milk it's interesting to note that agricultural marketing boards (the milk advisory board in the US, also commodity boards for raisins, cotton, beef, pork, and poultry) exist which pool marketing power among individual farmers / producers. Vaccination and public health is another case where there are very strong positive externalities which argue strongly for subsidized (or even mandatory) vaccinations to provide herd immunity. Another interesting case is the situation of totally drug resistant tuberculosis. I'd submitted an HN item on this a few weeks ago, the dynamics of treatment are such that it's very contrary to the principles of individual discretion / freedom and privatization:

http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3631557/

In particular: there is no treatment. Once you've got the baccillus, you've got it for life. Some people are asymptomatic carriers, some exhibit symptoms and typically die, though over the course of several years (4-5 typically). Total isolation and quarantine is required to prevent spread. Which means that if you you want to encourage people to cooperate with quarantine, you'd better make it an appealing option. Which means: you're paying to put these people up in an isolated, shadow community, for the rest of their natural lives.

Think about it.
They are the official way supported by Microsoft to target iOS and Android with .NET.

http://xamarin.com/pr/xamarin-microsoft-partner
Latest PHP Weekly
I'm not sure that full-isolation is an alternative, they're somewhat orthogonal solutions. It's perfectly normal to use pip and virtualenv inside a virtual container, so that the base operating system is a known environment.

Just saying "use full-isolation" doesn't solve the problem where I want to deploy multiple projects in the same unix environment. Heaven forbid I might want two processes from different projects to cooperate, without needing to do everything via APIs and TCP. Overheads there are not just performance, but also development time.
Choking linker with lengthy symbols.... coffee time!
Why Design is Awesome
Foursquare of football
13 Reasons You're Not As Successful As You
23andme has suspended health-related genetic tests
Most computing environments don't have a user to speak of, and the correct response of an application to an out of memory error could range from doing nothing to sounding an alarm.

As a user, I find it incredibly frustrating when my old but indispensable music software runs out of address space (I have plenty of RAM) and, instead of canceling the current operation (e.g. processing some large segment of audio), just dies with a string of cryptic error dialogs. The best thing for the user in this case is to hobble along without allocating more memory, not to fail catastrophically by assuming that memory allocation always works.

Swap is not a good solution because when there's enough swap to handle significant memory overuse, the system becomes unresponsive to user input since the latency and throughput to swap are significantly slower than RAM.
mandating the use of paper bags instead

No: Mandating the use of bags other than disposable plastic bags.

I typically carry a couple of reusable bags inside my messenger bag. For items which don't fit in the latter, I can lug a couple of bags worth of groceries or other shopping items easily. And the reusable bags are markedly more durable than even disposable plastic bags.
Free speech is a constraint on governments, not on private property.
It's an immune reaction to hype. Thesis calls forth antithesis, all that jazz.
For durability, check out http://www.infinisql.org/docs/overview/#idp37053600

I've thought about having an actor library, or minimally, to have the actor basis of InfiniSQL independent of specific workload, but haven't thought it through entirely. I'd be supportive of any efforts to that effect if you want to work on it!
If 1,000 CS grads found startups attempting to solve a problem they each have, are they guaranteed success? Or will there be five outliers which exit for billions and then tell everyone all they need to do is to solve their own problems?

Telling others to solve a problem they have seems more like an algorithm to generate at least some successes by guaranteeing diversity. This million monkeys approach is a strength of capitalism, but I wonder if it's the method which maximizes expected value for a would be founder. It seems more of a method to guarantee a minimum return for a VC.
Anyone with knowledge of transistors knows that transistors cannot scale forever. I imagine this point is emphasized for people who know nothing about transistors except their amazing history of scaling.
> How can the default writes be fire and forget? It just made sense, given all the information to configure it the way you prefer I would always go with this approach

Yes, we should bring unacknowledged writes as a default back.

(Often a technology's greatest detractors are its own fans, they are digging its grave without even realizing).
If there's no overcommit, each of those COW pages needs some way of making sure it can actually be written to. Isn't that literally the point of overcommit? Giving processes more memory than they can actually use on the assumption they probably won't use it? And Windows takes the different approach of never handing out memory unless it can be serviced (via RAM or pagefile).

What am I missing? (I know you know way more about this than I do.)
Reagan's explanation for vetoing is the same that many on the left use for advocating removal of the Cuba sanctions: they hurt the people more than they help.
> The past couple centuries

?? Centuries? You mean twenty/thirty years, probably? We don't really have computers until about 50 years ago, and even then it was not widespread.

You don't have to wonder what post-Moore's law will look like. Look at other industries when they become mature. The car industry is one example: there's not that much innovation that goes into making a car better in terms of performance. I mean, a car from 30 years ago may be less comfortable but still drives pretty well as long as it's maintained. What makes the difference then is not performance anymore but whatever added value you bring on it: durability, reliability, service, etc... no doubt sooner or later electronics makers will have to innovate in different directions as well.
Just because people were wrong in the past, doesn't mean that people are wrong now. This time, I really do think it's different.

Historically, scaling provided a few benefits. As transistors got smaller, they went faster and used less power. They also got cheaper. The first benefit, going faster and more efficient dried up back in the early 2000s when leakage currents because a problem. This is why transistors have been stuck at 3 GHz for so long. The second benefit, cost reduction, is now disappearing. The cost per transistor actually went up with the last node! These days, lithography costs dominate all else. The only way for chips to start getting cheaper is if EUV pans out (so far it's not looking great, but we'll see) or if we radically change the fabrication process and turn transistors sideways (this requires extreme etch control).

Even if it is technically feasible to go smaller, unless EUV costs go down it may not be financially feasible.
>The lack of buying is taking the oxygen out of the system. These guys are cutting costs where they can, but there will come a time in your lifetime where buying a cost effecting "PC" class machine out of parts will be very very hard to do, they just won't have the volume. A new TV with similar smarts? Still cheap. But a desktop machine?

Servers have been moving in the other direction all my life, becoming more and more like your commodity desktop. My dad worked with mainframes; when I came of age, SUN sparc was still a thing. As far as I can tell, as time goes on, the server stuff starts looking more and more like the consumer stuff.

Hell, half the low-end server stuff these days has a built-in APU, and there's a lot of discussion on how we server types can use that.

That said, yeah, if you doomers are right and people stop buying desktops all-together, your 3x-4x estimate on cost multipliers /for the motherboard/ isn't unreasonable.

Personally? I think the reason why old computers work fine right now is that everyone who used to spend effort writing new software to make your PC seem slow is now writing new software to make your cellphone seem slow. The thing is? I think this will pass. This is the first wave of "wow, pocket computers are actually useful!" which is cool and all, but I think that we're approaching the point where we are going to run up against the fundamental limitations of the form factor.

But yeah, that's the thing; until someone gets around to writing new software that makes your PC seem slow... PC makers are going to hurt.

Interestingly, check out AMDs CPU roadmap:

http://www.amd.com/us/press-releases/Pages/amd-unveils-2013j...

Looks like their low-end server chip is going to be an ARM.

This is consistent with the idea that the volume (and thus the innovation) is going to be in the mobile arena.

Of course, it could also just be a desperation move by AMD.
I don't see why this is shameful. If anything, you can use your new credentials to charge higher.

Would you reveal the site/project name?
Here's my impression of the future of CMOS:

(1) Scaling will be technically feasible for many more years. (Intel's roadmap goes to 5 nm, and researchers have already made transistors as small as 3 nm.)

(2) However, even if scaling is technically feasible, it may not be financially feasible. Quadruple patterning may get you smaller feature sizes, but at a very high cost. The alternative to quadruple patterning, x-ray lithography (called EUV), is also quite expensive, but at least there's some hope that its costs will drop.

(3) Only if scaling is both technically feasible and financially feasible, we will continue to scale. But even then, the benefits of scaling will diminish (as they've been diminishing for years). Traditional scaling hasn't done much for silicon performance in years: recently most improvements in CMOS have come from straining the silicon with germanium. And the other beneficial side of scaling, cost, is also ending. Shrinking transistors gets you more chips per exposure/wafer, but at the same time it raises the costs of each exposure/wafer. We're finally reaching the point now where the increasing costs of each exposure/wafer are matching the savings of scaling.

In light of all this, it's hard for me to see performace per dollar per year (which is not technically Moore's law I grant you) continue at the rapid pace of the past, even if technologies like x-ray lithography, III-V semiconductors, optical interconnects, and whatever end up panning out.
Watch videos together with friends & interact live
> But the problem with reusable bags is that you have to know to bring them in advance

Or, you know, buy them in the store the time you forget. It adds a little expense, sure, but if your walking your not going to be buying more than one or two, and having a few extras around is useful.

> which is OK for the weekly massive shopping excursion, but not feasible for the "we're out of eggs and milk, please pick up some on your way back from work" situation.

Actually, there are ultracompact folding reusable bags that can easily be carried in a pocket or even fit on a keychain (and, also, would take a trivial amount of room in a backpack, briefcase, etc.) If you really have a non-car-using lifestyle, it really isn't that much of a burden to keep one handy for incidental shopping.
Show HN: Kontax
PCs still sell by the truckload. There are developing markets as well where expansion is still possible. There's the PC gamer market, which will probably expand with SteamOS's initiative. Who knows what the market will be like 10 years down the road, but at this point, we are far from being at the edge.
Like to put some money on that?

I'd bet money that in two years time 2 out of the top 5 "real" games will be available on iOS and/or Android. (Not entirely sure how we are defining "real" games, though).
Good thinking, but I think that shifts the issue--namely, that each inter-thread message uses atomic compare and swap to create the message. I assume there'd be a similar bottleneck on the actor that generates the transactionid limited by the number of messages it can send & receive.

Instead, a friend and I have been thinking about how to perhaps modify MVCC to work with distinct transactionid's per partition. Namely, I'm already generating what I call "subtransactionid"'s for each partition involved in a transaction. And those must be ordered for synchronous replication, so I think the way to implement a variation on MVCC may already be mostly there.

I know I still owe you an architectural doc...fixin' ta, ya know.
Once your out of the reach of any currency exchange, you won't be able to use Bitcoin either, what's your point?

The difference is, all national currencies have an offline only form which is good anywhere within that nation. Bitcoin does not.
"Despite their name, rare earth elements (with the exception of the radioactive promethium) are relatively plentiful in the Earth's crust.." -- https://en.wikipedia.org/wiki/Rare_earth_element
Its what stood out to me too.

That said, even as a techie who has worked on and with dropbox products, ive come this far without ever really relying on it. And I dont see that need increasing over time.

I love dropbox, but im a bear on it long term.
I have seen a lot of good use and success stories with MongoDB as well. This negative reaction lately makes me want to give it a shot and see why there is so much fear.
Static Interactive Widgets for IPython Notebooks
Doesn't terrorism have to be again the civilian population? If the French resistance were attacking the German Army or the Vichy Regimes troops, it wouldn't really be terrorism.
Amen.

Generic algorithm of making things better:

0. Give it a go to fix it oneself first. Really.

1. Failing the previous, raise the perceived deficiency with a specific and workable proposed solution.

2. Failing the previous, indicate what's undesirable and how, and what behavior would be desirable.

3. Failing the previous, put a monetary bounty on the feature, fork the project or live with it. Rewriting from scratch has a 99.99% probability of being several times more work than it seems.
> Tools for C are powerful, mature, and available on near every platform. Every single C programmer that I know uses multiple memory debuggers, for example: e.g., valgrind for leak checks and more on smaller code segments, LLVM address sanitizer on unit test runs, jemalloc or tcmalloc/google-perftools, and more.

This is exactly the point. C developers need to make use of external tools to improve the language's flanky design in terms of type safety.

Tooling, outside the language standard thus not available in all systems that support C, instead of using a saner systems language like Ada, Modula-2, Oberon among many others.
Node's npm doesn't work for everything. For example, it fails to install indirect dependencies: https://github.com/isaacs/npm/issues/3124

NPM may be simple to use, but it is not accurate.
yes, I imagine it would be fun to do some thinking and writing on such trains! thanks for sharing.
ArangoDB
An open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient sql-like query language or JavaScript extensions.
You may take a look at a "MongoDB Gotchas" discussion.

https://news.ycombinator.com/item?id=4745067
So tell me, have you tried this: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... ? Pure heaven for tab junkies.