skysight-inc/HackerNews huggingface dataset:
Oh just blame Wordpress. My self-written software has no performance issues on MySQL, but Wordpress loading times are over two seconds with a default installation.
Unless the law mandates it and provides harsh penalties. Health care and financial companies, to name two industries, spend billions every year on security and privacy.
So why did you start it??
I've been using Sleep Cycle for a couple of weeks, and it works well and it's interesting to see graphs of your sleep quality. Makes me feel like Stephen Wolfram, who I would just assume has been doing the same:

http://blog.stephenwolfram.com/2012/03/the-personal-analytic...
No, I wouldn't expect it is "common", but it definitely shows up. libpurple doesn't use it because it does its own thing, but glib has library support for it: http://developer.gnome.org/gobject/stable/chapter-signal.htm...

Although a straight-up Google search for "g_closure_invoke" is amusing. I did add the "as long as you can get the memory management right on it" for a reason... page after page after page of "segmentation fault in g_closure_invoke" stack traces....
Mr. Swartz was a canary in our coal mine. When tyranny encouraged his death we all became more acutely aware of it, yet another thing we owe him gratitude for no matter how much we wish he'd toughed it out so we could crack a beer with him. For very good reasons Anonymous has done something I doubt myself or most of you would have the courage to undertake and I am grateful to them. Blank is Beautiful!
Speculating... but a statutory license is not equal to a copyright in this case.
pt-online-schema change is a great tool, but not a panacea.

I've seen a serious issue where under moderately heavy load, the OSC tool would trigger a deadlock on the final atomic table swap, blocking all transactions against the table, including the final `RENAME TABLE`.

All operations (including reads) would block, waiting on a table metadata lock. Killing the offending RENAME thread was the only way to restore access.

IIRC, the ultimate cause was due to a bug in our code that would occasionally leave stale transactions open in edge cases. Happened a few times, and caused a fairly severe outage the first time we hit it.

Not sure where the blame here lies -- and what can fundamentally be improved -- but OSC techniques and MySQL still leave plenty of room for a moderately savvy user to get into trouble.
Love the typography and the aesthetic, but the horizontal scrolling is killing me. I just can't get into it.
The first time the internet got upset about this was when the Glee version of the song got posted to various sites (including iTunes) in advance of the show being broadcast. That FIRST version of the song included the duck sound and the line "Johnny C's in trouble". Lots of people noticed it and blogged about it and as a result, the network appears to have done a quick editing job to delete those exact elements from the version that broadcast - they left off one whole verse to do it.
Amazing people needed to help change healthcare
Accountants invented the concept of a queue of transactions causing predictable updates. They also invented eventual consistency in the form of special and general ledgers.

However, ACID is four requirements and they're all still valuable and useful defaults. Atomicity comes from double-entry bookkeeping, consistency from the idea that data is meaningless without structure, isolation from the demands of consistency and durability because people get grumpy when you tell that that umpteen jillion dollars may ... or may not ... have been recorded.

Like I said, I'm a data-safety bigot. I greatly prefer to start with a safe default and then relax the guarantees. Retrofitting safety is harder, especially when you don't have a uniform statement of what your data is.

For something like a blog, an RDBMS is probably overkill. And MySQL got its start in life because it so thoroughly (silently) relaxed the standard guarantees that it was much faster than anything else.

> major-version upgrade capable HA while under load

The strategies are the same as for NoSQL.

Either you stop the world, or you run versions in parallel and drain traffic from the old versions.

I also find it slightly hilarious that just casually upgrading something without exercising great caution is seen as a good idea.
The analogy goes like this: If you're very rich, you can do horrible drugs and pay a veritable army of people to keep you presentable and working. Of course, this until one day it doesn't. Being large and successful doesn't mean that there's nothing festering deep within. Companies and people can become so invested in previous solutions that the perceived benefit versus the cost of switching is almost always too low to gather enough political will to execute. MySQL is a drug, when you start it is cheap and available, but as you grow as you hope you will, you start to need more and more. Of course, this exposes many of the flaws and problems of the drugs you were on and if you're in a bad way, still are. Better to go through a bit of pain now and know what you're in for than to just use MySQL because facebook, twitter, amazon, and flickr can pay a huge team of people or large consulting firms to make their technology decisions actually work. If you really must, use MySQL to spike the product but know the side-effects and know when to get the hell off it.
Ask HN: which database should I learn.
Hi I am changing my profession from financial services to programming. Which RDBMS should I learn? I am confused between MySQL PostgreSQL mangodb etc. please guide.
That is a big draw. Most revenue comes through loyalty programs and most properties are terrified if they give to much to OTAs their numbers will drop and they'll be fired. Plus, people who book online are usually price sensitive and indifferent to the actual service and amenities - their loyalty comes from price not past experience. To make matters worse, companies like expedia/hotels.com have HORRENDOUS customer service which makes better brands even more hesitant to help them out, because its trouble they can't control. The vast majority of GMs are promoted from within, which means working class and under educated. They're not going to take chances because jobs are hard to find and not one of them wants to go back to housekeeping etc
Just because the hotel isn't 5 stars and its in a rough part of town doesn't mean the govt has the right to just take their property.
I agree with this, Twilio has enterprise sales for this exact reason.
Dennis Ross is my congressman as he is based in Lakeland, FL. I am also pleased that he is one of my LinkedIn connections. It's a small world. Good job Dennis! (Yes, I voted for him, fyi.)
the bullying is terrible, what kind of human beings do that? you did the right thing, and i hope your work goes well. I am freelancing, nobody asks me about my health, and the few employers i disclosed my bipolar to are fine with it, and get that I sometimes get lots done and sometimes "have a hard time". If you wish to contact me feel free to drop a note and I'll give you my email.

keep it up and kudos to you for handling the harassment.
Man, I had this very idea a few months ago. :-)
Drchrono website redesign out today
Anything called "art" has been termed so by an establishment.
My favorite thing about JavaScript... must be a matter to personal taste.
['10','10','10','10'].map(Number);

this is one is correct

['10','10','10','10'].map(String);

this one makes sense

['10','10','10','10'].map(Object);

i'd like somebody to explain me this one ?????????

Javascript is really difficult as soon as one try to do non trivial stuffs.
Having done a lot of video encoding myself, I've found that H.264 offers the best quality, especially at lower bit rates.

I really do hope that VP9 can offer the quality of H.265. VP8 just wasn't good enough to compete against H.264.
Absolutely. A stencil on the side of a building is fundamentally unsellable (though walls have been preserved/sold before).
This is an ad hominem argument. His statements about MySQL should be judged on their own merits, regardless of the load times of his blog.
You're right, offering a solution to MySQL problems in a thread is generally useless.

I don't really get what point the author is trying to make.

I also don't take detailed performance advice from people who can't keep a blog up. Yeah, must be the wrong backend.
Yes but then read the books. Wodehouse was a supreme prose writer. Carve up those words, as must happen in adaptations, and you lose an immense amount of the fun. Just try it if you don't believe me. Joy in the Morning is one of my favourites.

The amazing thing about Wodehouse is that his stories came almost entirely out of his head and secondhand sources. By no means did he lead the kind of life described in his peerless stories.
Bluetooth LE has very low energy (heh) consumption and a 50m range. A short walk in public should be enough to collect the most recent messages, if not just standing by a window on a busy street.
How could you possibly not get the point? It's the first two (2) sentences "Considering MySQL? Use something else."
No, it's not.

If you're going to be a performance authority about web technology, you should know how to configure the open-source and very well-documented code you are using.
For predicting structure (which takes you to 'tough luck' in the chart as it's not implemented in scikit-learn), you can use structured SVM's through either SVM-Struct (http://www.cs.cornell.edu/people/tj/svm_light/svm_struct.htm...) or JLIS (http://flake.cs.uiuc.edu/~mchang21/softwares/JLIS/indirect.h...).

Though note that both libraries are free for non-commercial use only.
Object('abc') is the same as new String('abc'), Object(1) the same as new Number(1) - it just calls the .constructor
It is odd you call it "literary". Throughout his life I think Wodehouse was acutely aware that - his work will not be nearly as respectable as say Dostoevsky. Having read almost everything Wodehouse ever wrote (and foreword, preface whatever) - My assumption is Wodehouse will be probably amused to be considered in same league as Dostoevsky or Jane Austin.

I find it sad that, comedy is not considered nearly as respectable. Jeeves would certainly do his typical cough - if an Author of comedy is considered for Nobel prize in literature.
It's not performance advice, though.

It's a list of known problems with MySQL, most of which violate the "Principle of Least Surprise".

Some of the problems have performance implications. The query planner stuff, for example.

> The funny thing is that this blog's performance is based on some cookie. If I reload in Chrome? 2 sec ... just stop ... when you don't even know what you're talking about.

It may interest you to learn that web browsers have local caches. Incognito Mode does not have such a cache, and so must refetch pages from scratch on each view.
My friend and I were discussing about this this morning! She is diagnosed with bipolar disorder; and this morning she asked me whether I think she could still be successful career wise with her conditions. I said "Of course, you will! Other people may stigmatize people like you! But you should NEVER stigmatize yourself!" Of course, I talked to her more than just few sentences. This article just proved everything I told her!

For those who have suffered depression, here is a list of well-known people who have suffered major depressive disorder. If you google, there is a list for every mental disorder!
http://en.wikipedia.org/wiki/List_of_people_with_major_depre...
Nice of them not to mention Blek le Rat (http://bleklerat.free.fr/)
I don't see how using Apache, with what I guess are the default settings, has any bearing on remarks about MySQL.
I know Apple uses SAP/Oracle and imagine the others would be similar.

But they use Oracle Cluster i.e. multi-master so it isn't monolithic like say a giant PostgreSQL database would be.
> I had earned $150,000/year as a programmer, but because of the stress I was under at one job I developed the mental illness and was fired for being mentally ill

Serious question that I haven't yet faced as an employer. If this comes up with one of my employees? Is it appropriate to sit down with them, recognize that they have an illness, but that the company still has needs that need to be fulfilled at that level, but recognize that the employee can still contribute, although at a lower stress, less demanding level...is it appropriate or even welcome to offer continued employment, but at a lower salary and position?
The Best UI is no UI
I use MySQL and Postgres, depending on the project.

What other option is so obvious that you can't even name it?
I'm so used to reading PG as Paul Graham I forgot I actually read PG Wodehouse earlier.
Start with sqlite (Easy to set up, file based, good for playing and for embedded systems) then PostgreSQL or MSSQL if you are going to be in Windows land. MySQL later if you have to. It's fallen out of favor in some communities since Oracle bought it and it's just not as powerful as PostgreSQL though it does the job.

Also go buy the book "Joe Celko's SQL for Smarties" [1] (And everything else he wrote on SQL...) and actually learn what SQL and DDL is really all about how to properly model data. Lean some SQL and DDL before you start messing with ORMs like Rails Active Record or SQLAlchemy and all that stuff.

[1] http://www.amazon.com/Joe-Celkos-SQL-Smarties-Fourth/dp/0123...

Also, maybe just go read "SQL For Web Nerds" right now but take it with a grain of salt and again forget Oracle for now. It's old but good... http://philip.greenspun.com/sql/
> Oh just blame Wordpress.

I usually do. But in this case it looks as though MySQL's underwhelming query planner might be at fault.
What is your theory on this?

I don't have one, but what is your theory on this?

http://i.imgur.com/5hPqZQh.png

Now, here's the whole 12-hour graph, rather than just a three minute excerpt from the very end:

http://i.imgur.com/npSuZd9.png

Whatever your theory was, does it still hold up?
Collective learning from 20 early stage startups from India
I would suggest going with no-sql DBs (e.g. cassandra) as these are the new trends where most of the big companies are using it for big data processing.
If you have to be a jerk about it, it may interest you that relatively static blog content can be cached on the server.

I'm genuinely interested to learn which use cases are more dependent on query planning than caching methodologies.
Elegant and useful Under Construction gifs for Startups
Spending billions != importance, especially if as you state it's mandated by law any way.

I wouldn't disagree with you though in regards to a large proportion of companies in those two areas. I however was specifically speaking of the other industries, the majority of which still see IT as an unnecessary expense and anything more than "new password every 30 days" as an inconvenience.
Glee throws a legal slushy at Coulton, says he should be happy it ripped him off
Hanukkah and Thanksgiving
didn't say anything about apache, so not sure what you're complaining about.
> relatively static blog content can be cached on the server.

If you poke around, you'll find that this isn't a Wordpress installation. (Or any other dynamic blog engine, for that matter.)

It's Markdoc[1], a static site generator:

> Markdoc converts wikis into raw HTML files and media ... Markdoc need not be installed on the hosting site, since the resultant HTML is completely independent.

I believe the program at fault here is Apache, which in the default configuration loves nothing better than to choke on child processes.

[1] http://markdoc.org/
See my other reply for why I brought Apache into the discussion.
Criticism my startup HN por favor: It's a free server monitoring app
Built using these technologies: http://cloudiff.com/humans.txt
Took us 4 months to this point.
Still a work in progress.
Love to hear out feedback.
Good night hnewers :P
PS - to this point, you've been ignoring me. Zero feedback. Nada.
I've been diagnosed with Schizophrenia and I'm able to work as a software engineer. I was diagnosed when I was 27, and I'm 29 now. I have a Computer Engineering degree from Northeastern University. I'm currently working from home on an Android application and getting paid via 1099.
try to never change the database structure works pretty well. For all other cases, the easiest solution requires that you have a good redundancy system in place, and some extra planning. But basically run alter table without replication on your out of rotation slaves and masters, and then swap. Depending on your backup situation, you could probably just run the alter table on your backup systems and then restore from then.

Yes, alter table is inconvenient, but how often are you updating your schema and how often do you use it? In my experience, once major development was done (which is usually before there's a large amount of data in the tables), schema changes are rare, but queries are very common.
Petition to White House re: Self-Driving Vehicles
Very not-straightforward. A compulsory mechanical license to distribute a derivative work as a sound recording does not automatically grant you copyright over the derivative arrangement of the song itself. You kind of own the sound you recorded (you pay a statutory publishing rate, which is around 10 cents, per unit sold to the songwriters, which the Harry Fox Agency collects and distributes on behalf of the music publishing industry) but you don't actually own the song.

That said, it's most certainly not nice/cool/ethical to steal non-copyrighted arrangements simply because someone can't sue you.
The C++ Standard Library - A Tutorial and Reference
Such principles don't matter for C++11 -- the new standard is good and will be implemented.
Let's see if it matches up:

1. We need to make an example out of him and try to lock him up for 35 years.

2. We need to make an example out of her and get her fired.
Mozilla switched from gcc to clang on Mac OS X (starting with Firefox 17 last year):

https://groups.google.com/forum/#!topic/mozilla.dev.platform...
> I'm genuinely interested to learn which use cases are more dependent on query planning than caching methodologies.

I'll reply to this separately, it's a good discussion to have.

My basic problem is that caching comes with a coordination cost and I prefer the originating data source to be as performant as possible.

My own use case is a small Wordpress multisite installation. Even with a relatively trivial amount of traffic and site data, it behaves abysmally on some simple requests. The linked article seems to explain why -- the query planner ignores indexes on certain kinds of joins. The same sort of joins as the Wordpress Recent Comments Widget.

Now, I can and have worked around this by using multiple layers of caching. There's the MySQL query cache, some memcache (PHP opcode caches would in theory be quicker but I've never been satisfied with their stability) and of course pumping gzipped HTML to disk for nginx to serve directly without hitting PHP or MySQL.

But like I said, caching comes with a coordination cost. One of my sites is used less like a blog and more like a chat room. Hundreds of comments per hour, every single one of which causes the query cache to be pruned of the exact query I most need to cache in the first place.

That is: I need to cache this query because they talk so much. But they talk so much that the cache is not that helpful.

What would be helpful is if MySQL was a bit smarter about using the indexes I put there in an apparently useless bit of chicken-waving.
I'm not sure why "getting the memory management right" is the hard part, or why it's any more or less hard than general C programming practice. For example a closure object with a reference count that releases references on its contained objects when destroyed seems like a perfectly workable pattern. (I'd be surprised if that's not how the glib closures are supposed to work, knowing that glib like many general-purpose C libraries is pretty big on reference counting.) NSInvocation in objc comes to mind, where IIRC the closure-like object can hold a reference to its arguments, though it's been years since I've used that...
From a quick browse, I don't see any way to view diffs?
Using a documented interface and claiming it's inherently unsafe...

try{System.out.println(5/0);}catch(ArithmeticException ae){}

NOTHING HAPPENS OMG.

Exactly like FUD.
LongPlay app launch
Dig it!
This agency translates all new English names to French. Sometimes the translation catches up, but often people keep using the original English name (with a French pronunciation, English speakers would probably not recognize the word :--) )
Try putting http://www.youtube.com/watch?v=EvGRi_7DCiA on in the background while you watch.
I think he is talking about "people who use mysql only because it was the easiest thing to learn" don't know these things, not "experienced DBAs/devs who happen to be using MySQL".
Well, either way, one could skip school and the debt, and just get into construction.
The tl;dr version: Cloud services have exogenous risks that you can't control but trying to avoid them is wrong.

Absolutely false! If your company stands to lose $10,000/hr for every hour it's not operating (and that's a LOT of businesses) then the idea that "oh we'll just trust Amazon for this, what could possibly go wrong?!" is fairly short-sighted. Yes Amazon will work to fix things as fast as they possibly can but they sure as shit will not write you a check for $50k for their 5 hour outage.
Is it MySQLs fault that wordpress asks it to do something that's hard?

LIMIT OFFSET queries are always going to be hard because you have to generate lots of rows only to throw them away, but there are ways to organize the data, and write the queries so that you avoid temporary tables. I don't think Wordpress is MySQL specific; and maybe they use an ORM layer anyway, but if you want to get the most performance out of MySQL, you need to know how it works and write your queries accordingly. Sometimes that means get all the data unsorted from MySQL and sort it yourself, which is unfortunate, but frontend cpu + memory is cheaper than database I/O to make a temp table and sort it
"I'm going to rant against MySQL, but I'm not going to suggest a better alternative."
Thanks for being clear and detailed about your DB migration.

I've been involved in a few and they've generally been brought on by DBAs convincing the bosses that "everything is wrong"...once it was done the DBAs wanted to blame the developers again.