That feeling is one of the few things that makes me still prefer New York to San Francisco... I hope that gets fixed soon!
1,457 karma · joined February 16, 2011
[ my public key: https://keybase.io/wulczer; my proof: https://keybase.io/wulczer/sigs/g46dYvOOsEpYFfTEQUY4Hwj5x_gO3JSvfDNXnd4pjvI ]
That feeling is one of the few things that makes me still prefer New York to San Francisco... I hope that gets fixed soon!
https://github.com/postgres/postgres/blob/master/src/include...
There was a good talk about using Postgres as a key-value store at PGcon 2010, see http://www.pgcon.org/2010/schedule/events/219.en.html and http://www.scribd.com/gavinmroy/d/31669670-PostgreSQL-and-No... (especially the classic photo of DBAs running with scissors)
Do these results have any real world value?
Probably not. (...)
Kind of sums it up. It's fun to play around with web frameworks and draw some bar charts, but please don't take this seriously. And definitely don't say "X is slower than Y" because of this.Things like that always remind me of this great quote by Tom Lane (source: http://en.wikipedia.org/wiki/Tom_Lane_%28computer_scientist%...):
On idiotic benchmark comparisons "Try to carry 500 people
from Los Angeles to Tokyo in an F-15.
No? Try to win a dogfight in a 747. No? But they both
fly, so it must be useful to compare them... especially
on the basis of the most simplistic test case you can
think of. For extra points, use *only one* test case.
Perhaps this paper can be described as "comparing an F-15
to a 747 on the basis of required runway length". location / {
uwsgi_pass <xxx>;
include uwsgi_params;
uwsgi_param UWSGI_SCHEME $scheme;
}
Without the UWSGI_SCHEME part, Django's Request.get_absolute_uri will return URIs starting with 'http' even if your site is served over HTTPS.http://people.planetpostgresql.org/andrew/index.php?/archive...
Sure, there was that guy that used an iPad, a wireless keyboard and a Linode as his PC so it's viable. But I think that's an exceptional case and it's more common to need quite a lot of supporting tools to develop things.
And of course, you know, our designer can work with just a notebook (as in: a paper notebook) :)
All you need these days to build great things is a
browser, a text editor, and the programming language
or tool of your choice.
Even when developing web apps there's sometimes need to use a network traffic analyzer, a debugger... Not to mention a plethora of tools for reading/analyzing/parsing log files, graphing benchmark results, generating test SSL certificates and a lot of other things that are not equally available on all platforms.And there's another consideration: if you're deploying your software on Linux it's just plain easier to develop it on Linux as well.
If you choose an unknown technology because you have solid reasons to believe it will bring a substantial advantage to the product, which will offset the loss in productivity, then sure. If you choose it just so that your team will be motivated and you willingly take the productivity hit for that, I find it difficult to understand.
It's not the technology choice, it's the reasons that seem weird to me. It's probably because of the runway length they have that they can venture into unknown territory for no reason other than trying things.
I'm reminded of Asana and Lunascript - a fun experiment you can afford when you have lots of money in the bank, but not something I'd see as practical.
Our developers bleed all over MongoDB, WebSockets, CoffeeScript and Node.
But at least they’re having fun. And in today’s tight job market,
great programmers have a lot of sway on what they’re going to be working on.
So is the job market so bad you have to bribe engineers by letting them use tools they're apparently not proficient or efficient with, just so they'll come and work for you? I find it so insane it's not even funny anymore.The problem of the main thread waiting on a response from the database is easily solved without rewriting all your code, which incidentally will have the same issues, since there's no new magic there.
If your software is a giant, ugly hairball because you wrote it in a hurry (I know I did this many times!) don't blame it on the language or framework. What I'm wondering is: Python/Twisted/Django rank equally or similarly on all the points from the list, except for Team Experience, which has to be much higher with the old stack than with a completely new technology and set of tools. This makes me think that there was a "play with shiny things" point after all.
The way my GP alleged that no big companies use Windows as a platform came off as snarky and represents what I think is a skewed, SV/web-startup centric point of view.
You can look at PL/Proxy that makes some things related to partitioning across multiple machines easier.
Couple that with variable hoisting (function scope) and hilarity can ensue when variables defined further down a function influence the value of another variable that looks like it just contains a string literal.
Default arguments: good. Clearly useful and already used a lot with the if (foo === undefined) foo = 'default' pattern.
Non-strict destructuring: bad. It's neither destructuring-bind nor pattern matching... If I destructure a 3-list to 2 vars, I want it to fail, dammit!
Multi-line strings: good, obviously.
Templating: hello, PHP! I thought we already know better.
List comprehension: useful.
My humble opinion: it's hopeless. A mix of useful and terrible features means it'll still be made out of "the good parts" and the awful rest.
My second thought was: "no, I just think I disagree with him".
Comments in the code are good. They help the next person that touches that particular part of the project understand why it's coded as is and why it wouldn't be a good idea to code it differently. Commenting a counter increment with "increment the counter" is silly. Commenting it with "it's safe to increment it without taking locks, because the caller already took them" is useful.
The most beautiful codebase I've ever seen is PostgreSQL and the comment density in its source tree is quite big. Take a look at https://github.com/postgres/postgres/blob/master/src/backend...
Would you say that this code has been written by a two-year-old? Or rather that it's been written by a responsible adult that cared about the integrity of future coders' tonsures and wanted to save them some heavy head-scratching?
I found it with hnsearch, by the way.
BTW: in my approach I opted for passing the entire Qual node as a string (using nodeToString) and my plan was to write a Python parser for that format that takes a string and returns a Python object. Not sure how hard that will turn out.
Yours looks quite more finished, one thing that would be very useful is handling Python to Postgres type conversion, like PL/Python does. After that, the next step is caching I/O functions for the duration of the scan, which PL/Python also does.
Nice to see that the idea made sense for more than one person, hope Multicorn will rock!
I see that this has been submitted before, so I'll just mention it here: http://thoughts.j-davis.com/2011/09/25/sql-the-successful-co...
Sure, you'll have yours today. You had a bit of rotten luck, as precisely on that day we turned down the flow of invites.
Sorry to keep you waiting ;)
Go, Anaheim Ducks!
Another way is to simply write your own visualisation. If you're interested in getting early-alpha-unstable-omg access to the read APIs (HTTP and WebSockets), shoot us an email to hello@ducksboard.com