skysight-inc/HackerNews huggingface dataset:
I have about 25 items on my to-do list. All serious tasks, that need to be completed, for customers/co-workers, over the next couple of weeks.

What on earth makes anyone think that I could just "Do one thing"? Unless that one thing is "Check my to-do list, and get the next item on it done."
I really feel for Jerry Yang. It seems like every Yahoo CEO and Board has been riding the coattails of his Alibaba investment while his name is left for the footnotes.
"This is not to deny that MongoDB offers some compelling advantages. Many users have found that they can get up and running on MongoDB very quickly, an area where PostgreSQL and other relational databases have traditionally struggled."

A few things about this I've never understood.

1. Someone's going to make a technology decision with priority given to a one-time cost over the strengths and weaknesses of running competing products in perpetuity? The ability to avoid having to learn something is a pro in this decision?

2. If you don't have the skill set to install or maintain MySQL or Postgres, you should not be in charge of installing or maintaining production systems, period. You will hit your ceiling the first time you have to do anything non-trivial with a system that happens to have been easier to "get started with."
> In most databases, altering a schema is an operation that's over quickly

I think many people were burned by MySQL InnoDB, which modifies (or modified; I'm still on quite an old version) schemas by making a new table and copying the data, and don't realise that all databases don't do that.
I can't really speak about Mongo, but since the post seems to be talking about relational vs. document based DBs in general, here's my perspective coming from CouchDB:

- Schemaless DBs make sense, when handled correctly within the application framework, for what I'd call information systems with regularly changing requirements. I'm currently building a rapid development platform for these kinds of systems, where users can define an arbitrary relational data model from a Web-UI and get the application with forms and views all pre-made. The user design is changeable at any point without breaking anything and even the underlying static data structures can be changed without any need for an update or data migration process - it's all handled when opening or saving a document with a previous version.

- CouchDB's map/reduce view definitions are interesting when designing a DB system, since they IMO restrict the developer in exactly the right way: One is forced to write the right kind of index views instead of being able to just join willy nilly. Making something slow usually means writing complex views and chaining many lookups together - one has to work for it and, conversely, being lazy and reducing everything to the simplest solution usually results in a fast solution as well. The result usually scales up to a high number of documents in terms of performance.

- Being able to replicate without any precondition, including to mobile devices with TouchDB, is a big plus - and in fact a requirement in our case. Offline access is still important, especially in countries where people spend a lot of time in trains or for systems that manager types want to be accessing in flight.
Will encryption be mandatory in HTTP2?
Most likely Iceland, Sweden, or Germany. The first two because of strong whistle-blower and journalist protection laws. The third because the level of detail which was released about spying on Merkel would have made an extradition practically impossible.
Having used mongo in a professional context, I'm sort of amused by how much vitriol it gets. It has it's flaws, but it's not that bad. I think it's been a bit misbranded as the thing you use to "scale", which ticks people off. To me, when I use mongo, I mostly use it because it's the most convenient option. It's very easy to develop against, and awesome for prototyping and a lot of times it's good enough that you never need to replace it after the prototype phase.

Relational databases are great, but they're almost an optimization -- they're way more useful after the problem set has been well defined and you have a much better sense of data access patterns and how you should lay out your tables and so on. But a lot of times that information isn't obvious upfront, and mongo is great in that context.
I found the bit about Go using AES native instructions to accelerate map key hashing most interesting. This accounted for a >50% throughput increase when he found aws c1.xlarge instances which had AES-NI as compared to those that didn't.¹

This is the kind of detail most developers would not be aware of, and to be fair, even now knowing it exists the only reference I can google up at golang.org is the C source code of runtime/alg.c where you will see…

23	if(use_aeshash) {
24	runtime·aeshash(h, s, a);
25	return;
26	}

… no hint that it might reduce your hosting costs by 33% or account for some huge variation in performance between one test machine and the next, or even individual runs if you are spinning up cloud instances to do your testing.

␄

¹ Does your CPU have the AES, SSE3 and SSE4.1 cpu capability bits all turned on? If so, you will hash mightily! Do you even know where to look to check?
I developed a fear of macros after realizing that they're not first-class, and you can't pass macros to functions as arguments for instance (instead you need to wrap them up in function, which doesn't work well with variadic forms).

An even more useful concept exists in J.Shutt's Kernel programming language[1] - that of first class operatives. Every entity becomes a first-class object, which can be an operative (like some special forms) or an applicative (a scheme function). operatives do not implicitly evaluate the operands, so you can easily create macro-like behavior by defining your own evaluation model. It's also trivial to convert between applicatives and operatives with wrap and unwrap (which are not special forms, they're defined in terms of vau and eval).

[1]:http://web.cs.wpi.edu/~jshutt/kernel.html
I liked the usage of the word restrain. I try to introduce one or two new things on projects. Too many new technologies and it you will increase the risk of the project, and you will spend more time learning than doing.
The New Linode Cloud: SSDs, Double RAM and much more
It's even better: with an explicit schema you can trivially do data migrations!

With something without a schema, data migrations are almost impossible to do correctly.
I do not disagree with your primary PoV that schemas can be a good thing, but:

a. Schema changes are considered DDL statements and hence can't be simply rolled back via transaction in most databases (as far as I know).

b. If you have millions or more rows and you need to introduce a schema change, it can get painful to do so and can result in app downtime. It is a well documented problem with some well documented work arounds.
Nerds are trivial to beat up for their lunch money. Sad, but still true.
These days? Unless you're talking about "organic" food, produce has never been uniformly of such high quality.
Without a todo list, how would you remember to pay your property tax before the deadline?
No snark, just curious. What's the point of this? Is it for teaching? It's a not a performance thing like asm.js right?
Yeah, but which drugs? There is no laxity for meth, crack or pain killers, which I would assume account for these deaths--not marijuana.
I think the US equivalent is "void where prohibited." This is almost always seen at the end of fine-print legal language that corporations write.
The concept of "everyone on support" is practiced in a lot of orgs, with varying implmentations (e.g. "one whole day a month", "one whole week per quarter", "one week of half days per quarter"). What works for your company depends a lot on it's current workflows and workload, how long support cases tend to last for. Most mentions of it refer to his post = http://signalvnoise.com/posts/3676-everyone-on-support
Here in the States we seem to value minimalism

What part of America do you live in?
I think I disagree with you on a few points. MongoDB might be adding features of SQL databases, and heading in that direction, but they are still missing joins, and that's a crucial part of relational databases.

Also, I'd clarify a little by saying it's trying to be a strongly consistent, distributed through replication and sharding database. Right now there are some bugs in the system, some improvements that need to be made, and definitely some default configurations that need to be changed before it's going to be a consistent database. It's definitely going for consistency instead of availability, but I don't think it can call itself consistent yet.
It crushes me to hear that they loved my software, and I’m taking it away
If you have a mac, you can right click on any word and choose "Look up in dictionary". The dictionary pulls definitions from it's internal dictionary and wikipedia.
Far better than google, bing and apple maps. Nice work, seznam.

Why seznam does non exist in others European languages?

Czech republic is a little market, and if they focus just on Czech republic their economy of scale will be broke very soon. They need investment to update technology, but if their market is so little it became prohibitively expensive very quickly.
I think many folks confuse normalization as a strategy with the underlying database technologies. Oracle and other RDMBS technologies can create normalized databases too. In the end it's a design judgment. There is a lot of room between fully normalized and one-big-table. Even firms that logically map things out fully normalized frequently decide that for some things that doesn't make sense.

Taking a step back, there are still reasons to abandon Oracle. It may not scale up, or be good for certain time series calculations, but that's another story entirely.
Wll, imo, if you work for any of those agencies, you're complicit in ruining the spirit of the net.

We had a great thing, and I am beginning to think that's been ruined. Good on you, good work.

Its far more important to spy on another bit of land, than actually do something useful.
It's not great code (though I'm working to make it so), and perhaps not the intent of this question - but if you want to looking at a 25+ year old codebase that's being refactored, check out LibreOffice, especially the VCL component:

http://cgit.freedesktop.org/libreoffice/core/log/vcl/
Make Money With Your WordPress Blog
Agreed. They inconsistent in whether they're showing total deaths or deaths per 100,000 or normalized death rate from some starting year, etc.
I think trivially is over simplifying it, but certainly migrations are much easier with a schema.
You can't have such a complete framework without some people hating something about it - there's just too much to be happy with everything.
Well, if that's truly the case, there's no reason you couldn't just translate SQL into JSON queries. (It's been a while since I looked at .NET mongo drivers, but LINQ in .NET basically already does this).
Pourover and Tamper – Client-side superfast collection management from the NYT
Heartbleed4PCI
"This is particularly striking since cancer and heart disease - the two biggest killers for 45-54 yr olds - have become much less deadly over the years"

Except your graph shows that cancer death rates have increased by almost 20% from 1968-2010... Am I missing something here?
On document store indexes the article says:

> If all order data is lumped together, the user will be forced to retrieve the entirety of each order that contains a relevant order line - or perhaps even to scan the entire database and examine every order to see whether it contains a relevant order line.

Both of these are untrue. Author needs to read up on secondary indexes.
Alcohol is probably included in these deaths.
Nope. I had to think about Slide 3 for a few minutes: "...because old people die sooner than the young".
Im no economist, but ive observed two things in SF; there are a ton of new, high-end high-rise apartment buildings being built in SF right now. (See all the cranes)

These will have high rents to pay for their high construction costs.

All other rents will rise as well, because all owners will see what everything else costs and continue to charge ridiculous amounts for their spaces.

The rents in SF right now are absolutely insane.
19-year old charged with Heartbleed hack at CRA
So, if I get it right, states become more and more coupled, thus entropy tends to decrease in an open system ? I'm confused.
This is an argument for buy vs build. As others have stated, the question is whether complexity is worth it. My bias is we tend to underestimate the complexity of small additions, and overestimate the benefit of having control over a system. The implication is too much complexity in things we build ourselves. Sometimes the industry standard solutions aren't appropriate, but it all depends on what a company wants to focus on.

And I'm not sure of the reference for Zola's restaurant, but I like the Guthrie inspired complexity of Alice's restaurant.
Probably the four most important things you can do to change your odds of making it past 80 are:

1. Not smoking.
2. Eating healthily (fiber, vitamins, low sugar; this is a nascent field).
3. Exercising regularly.
4. Wearing sunscreen and minimizing sun exposure.

These will collectively reduce your risk of common cancers significantly, as well as protect against heart disease. Additionally, they can help strengthen your immune system and body against other diseases that e.g. the malnourished or obese would be more likely to succumb to.
Please enjoy the source code of PostgreSQL (any version, but latest is generally recommended) core. It is very well factored, and typically also very well commented. This community cares a great deal about code quality, because they are so clear on the relation between readability, diagnosability, and execution correctness.
A New Level to 3D Mapping
I did encounter this exact issue; and sure enough, the developers had no clue how to use indexes: "just slap an index on every column, and it will Magically Just Work."

In other words, even 10 indexes per table is a red flag; if you see more than 30 indexes on a table, something is terribly wrong - database architecture, programmers' understanding of how indexes work, or both.
It's because mob psychology chooses targets based on visible availability. A Google employee boarding a special bus is visible - literally - in a way that his landlord is not. The reason mob psychology behaves that way in turn is because the coordination mechanisms used are very basic; thus, while individual members of the mob may be as intelligent as you or I, the mob as a collective entity necessarily behaves as though its intelligence were much more limited.

What to do about it?

At an individual level, if you're being targeted, say if you're on the receiving end of hostility from your neighbors, try talking to them, present yourself as a human being rather than a target. Read up on nonviolent communication. Explain what the real problem is.

At a collective level, fight fire with fire. Make the correct targets more visible. Find out the names, addresses and faces of individual landowners who have been primarily responsible for the political corruption. Publish them. Make them targets.

Or else get out of San Francisco. Seriously, tech workers have more intrinsic mobility than nearly anyone else does. Google could just decide to move its operations to a friendlier city tomorrow, and its net cost for doing so would be negative. If your startup has to be in San Francisco for the moment while you're raising capital, plan on getting out as soon as you have done so.

But don't move to San Francisco unless you are willing to get into the political fight; as things currently stand, that's like stepping into a boxing ring and then standing there with your eyes closed. You're just setting yourself up as a target.
Holy crap this is awesome. Good job guys at Linode. I said I would switch if the prices dropped about 25% because RAM was pricey.... So now I have to switch.
Well, I think the static typing analogy pretty much cuts to the heart of it. I wouldn't be shocked if static typing advocates tend to like relational databases, and dynamic typing advocates tend to favor nosql. (I can't prove this -- but I wouldn't be surprised).
I wonder how much of this is also veterans.
That does sound more like an issue tracker, though.
That's where I run. Very cool
Better and better keyboards
" All serious tasks, that need to be completed, for customers/co-workers, over the next couple of weeks."

Are they all inherently serious tasks? Or have these people told you there are important? Have you ever tried to simply ignore a request? I personally have found that in most cases, if a request is truly urgent, you will know it.
No. They could be smoking giant Bob Marley joints.
Yep. They give you a little program that runs on your computer that checks your external IP address at frequent intervals and updates the DNS records when it changes. Better yet, some home routers have a configuration page where you can select among popular Dynamic DNS providers and then you don't need to run the proprietary program. My ISP-provided router (FiOS) has ZoneEdit in the list which I've used for years even before I had FiOS, so it was a nice surprise when I found it there. Just for sake of example here's a link: http://www.zoneedit.com/dynamicDNS.html
I agree with your points, but PostgreSQL does support transactional DDL: http://wiki.postgresql.org/wiki/Transactional_DDL_in_Postgre...
I noticed that too, my guess is that the amount of people killed by cancer in the total population that has decreased. (example with made up numbers: 1968 has 1000 people, cancer killed 100 of them. 2010 has 2000 people, cancer killed 150 of them, thus it is both a increase and a decrease)
I don't think we disagree as much as you might think!

I'm trying not to critique MongoDB today, but rather thinking of what it will become. Today's implementation problems will hopefully be fixed.

I agree that without joins, MongoDB querying is very limited. I credit them enough to believe they will end up fixing that and supporting joins in some way. But then, they have "SQL with a different syntax".

And I definitely agree on the data-loss bugs. But again, presuming they fix those, they just end up with something very similar to a relational DB, in terms of the CAP theorem etc.

In short, even when/if they fix all the bugs and add all the missing features, I worry that we'll just end up back where we started.
It's really sad how wildly distorted executive compensation has gotten. The best phrase I heard was "entrepreneurial reward for managerial duty", and I fear it's become all-too-common. My eyes popped out of my head recently when I saw that Coca-Cola (yes, that same drink company that's done just fine for over a hundred years and whose organic growth rate might be 1% if they're lucky) was trying to give management $13 BILLION over the next four years. It's insanity. And when it's not simple pay, it's severance packages that give Fuck-You money to people whose performance provably dreadful. Leo Apotheker made $25 million on his way out the door from HP, after vaporizing over $6 billion in buying a fraudulent company and doing virtually no due diligence. It's madness, pure madness. Executive comp is a bubble, these people aren't worth anything near this much, but I have no idea when it will pop.
It's because a fixed schema is unnecessary in most cases. Most developers using a database are doing so via an ORM. In which case they already have a data model in their code. It often fixed and depending on the language strongly typed. It is also centralised, richer, commented, has far better validation and in source control.

So again why do I need a second data model that does nothing but get in my way ?
Well I'd kindly submit that those people are completely fucking it up. I also doubt you're correct about "most".

Again, I'm hiring you holistically.. not your ability to program. I think especially if your ability to program is a new facet to your otherwise rich and interesting existence then you're hurting yourself not sharing more.
See my other response about the advantages of schema-less design. I agree that fixed schemas can often be useful - the point is to think about this in advance for every project before deciding on SQL vs. NoSQL. I'd say a fixed schema helps during initial development, but will lead to more and more expensive data migrations later on in a system's life cycle, except in case of systems that are very well defined before anyone starts writing one line of code - and sometimes it's plain not possible if you want to have a flexible data model that's not fixed at programming time. It's simply - as always - a question of choosing the right tool for the right job.
Here's a link to OSSI — the Open Source Seed Initiative ⌘ http://www.opensourceseedinitiative.org/
>a. Schema changes are considered DDL statements and hence can't be simply rolled back via transaction in most databases (as far as I know).

In the database of my choice (Postgres. Since 7.1), DDL is transactional and can be rolled back.

>b. If you have millions or more rows and you need to introduce a schema change, it can get painful to do so and can result in app downtime.

In many databases and for many schema changes the workarounds are trivial (like adding columns without a default value).
Diabetes, heart disease, and arguably some forms of cancer are diseases of affluence [0] with known risk factors that are avoidable through lifestyle changes. If you're enumerating things to avoid in order to achieve longevity escape velocity, #3 should read something more like "Eat healthily and exercise daily to reduce your chances of getting diabetes and other vascular diseases."

Incidentally, there is also some evidence of Alzheimer's disease being linked to risk factors typically associated with type 2 diabetes. [1]

[0] http://en.wikipedia.org/wiki/Diseases_of_affluence

[1] http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2769828/
I believe the 100 (or any of the numbers in that chart) are scores which he normalized to 100 in each age category for 1968. I don't know what the per 100,000 is supposed to mean. As a death rate per year, it doesn't seem possible. Consider that it's showing ~70/100,000 in the 85+ category. Given that they'd all be dead in 25 years, that number can't be right.

This presentation is style over substance.
Just that Jobs turned a company from the brink of failure to the most successful tech company pretty quickly. But since Apple is an outlier, I was interested in hearing about any other examples of CEOs who have caused big improvements in short amounts of time.
As I always say when these sorts of articles come out (and I admit this is my use case for MongoDB and that doesn't necessarily match everyone else's use case), where is the easy to setup HA and sharding for PostgreSQL? I know it's coming, but right now it's not there.

For someone who redistributes a product that relies on end-users setting up HA, this for me is MongoDB's killer feature, easy to configure replication and sharding. I love PostgreSQL, but this is the one big thing that keeps me from using it right now.
Was that InnoDB or MyISAM? I didn't realize it used the same technique on both.
I think you're essentially talking about something different to what Jeff is. At work, you're there for a set period of time. You have a number of objectives, you do as many as you can in order of priority and convenience, and at the end of the day you go home and do something else.

Managing the rest (i.e. getting your car serviced, working on personal projects, learning a new language, going to the gym, meeting up with that old friend, etc etc etc) is harder because it sits in the back of your mind constantly, and can lead to the kind of emotional burnout he mentions.