1,374 karma · joined March 4, 2008
YouTube videos: https://www.youtube.com/user/hackerdashery
My twitter feed: http://twitter.com/sahazel
My website: http://awesame.org/
Side projects: http://codepad.org/ http://omgaudio.com/incoherence/
I've spent many years using schemas, and I know well how they work and what they achieve. I'm saying they're a lousy tradeoff.
My primary point was just that SQL is old, and I think the reason it is the way it is has more to do with history and compatibility than what we'd want it to look like if we started from scratch today.
SQL is still around because it was successful. And there are reasons to value compatibility, and to avoid changing things for no reason. But my personal experience using a database without using SQL was pleasant, and I'm anxious to see the world move on to something new and improved.
My point is, people still do this. You never hear about REST-injection or memcached-injection attacks, even though those are possible in principle, because those protocols don't encourage this mistake the way using SQL as a database API does.
One thing I would say about postgres is that it has a lot of features. As a new user, it's hard to know which ones to use in which ways, and what the downsides might be.
His idea is that mathematics is the empirical study of the implications of systems of rules.
The "yield" keyword is an indicator of where control is returned back up to the event loop and other things can happen. We like that in monocle, because we view it as dangerous; in thread-and-lock terms, it's sort of like "unlock everything".
Eventlet (http://eventlet.net/) is an example of a similar framework that decided not to require "yield" at these points.
I think the question is really whether you're more compelled by generator-style concurrency, or Twisted itself. If you want to work deeply with Twisted, inlineCallbacks lets you use generator-style where you want, and is maintained along with Twisted. If you want to use generator-style concurrency to its full advantage in simplifying complex evented servers, that's where monocle is going.
You need our service to make sure your web apps work in all the popular browsers.
We've got a bunch of web browsers in the cloud which you can remote-control via and API, to make sure the features of your site work cross-browser. We use a popular open source browser automation tool called Selenium, which my cofounder Jason Huggins created.
I'm curious whether the above description makes sense, or still leaves you scratching your head!
Firefox 55.28%
IE 17.05%
7.0 38.08%
6.0 34.21%
8.0 27.77%
Chrome 7.51%
Safari 7.46%
Opera 5.53%
Mozilla 5.34%
Konqueror 0.95%This is not true of CouchDB. Indexing is done on the keys generated by arbitrary Javascript views. A view returning results keyed by interest is trivial.
6:44 AM --- A GFS Site Reliability Engineer (SRE) reports that the GFS Master in App Engine's primary data center is failing and continuously restarting.
8:00 AM --- The cause of the GFS Master failures has not yet been identified. [...] the GFS SRE decides to commence the upgrade immediately in an attempt to alleviate the problem.
9:00 AM --- The GFS upgrade [...] finishes, but the Master is still failing. The GFS SRE escalates directly to the GFS engineering team, and [they begin] live debugging of the failing software[...].
10:00 AM --- GFS SRE advises that the GFS engineering team has identified the cause [...] GFS Master is no longer failing and GFS Chunkservers, which hold the actual needed data, are starting to come back up by 10:30 AM.
Kenny G definitely had the easier job among those two examples.
Replacing you as manager is probably not going to work out well unless he already has someone good in mind. CEOs rarely understand how much difficulty they'll have identifying competent tech managers. He's in danger of finding someone who does a great job of "managing up" and a poor job of getting things done efficiently and correctly.
If you can't prevent the hire, making sure you hire someone competent is probably the most significant thing you can do for the company.