skysight-inc/HackerNews huggingface dataset:
It's a pretty crappy comparison. If you need transactions and ACID properties then you pick InnoDB and not MyISAM. Now what are the cons of PostgreSQL?

1) It's hard to install and manage, which could explain why Postgre's adoption is fairly low.

2) MySQL is used and proven to scale on very large installments (Yahoo, Facebook, Google - just to name a few). Postgre's usage is much lower (Skype and Reddit from those I know of)

3) Due to the adoption of MySQL it's very easy to get help and to buy help. For example: http://mysqlperformanceblog.com offers great advice on everything MySQL. Due to Postgre's smaller user base it's harder to get or buy help.

4) The development of "MySQL and MySQL tools" is very rapid. Check out Drizzle, Xtradb, xtrabackup, innodb plugin, rethinkdb.com (this is just a few, there are tons of other engines and tools under development). It's unclear to me how rapid Postgre's development is (for example, they still lack a decent replication), but I doubt Postgre's development is as rapid as MySQL's.

5) The advances features of Postgres are not that needed in most web applications. If they were that needed, more people would have used Postgres. I.e. Postgres has a lot of non-essential features, while it lacks some essential features (such as decent replication).

The bottom line is that MySQL is proven, easy to use and install, is under heavy development, is backed up by billion dollar companies and has a very large user base. MySQL is also built mostly for web-applications and offers _great_ performance, great tools and great replication.
Flickr's API vulnerable to straightforward message digest attack
SpringSource tc Server: Enterprise Class Tomcat
Looking at getting the "minimum required" liability insurance at the moment. Neither of our first two customers want it but the people we are renting office space from do.

Any recommendations on providers?
oh it was in his rectum, I thought the had been really creative and opened up his abdomen and sewn him back up.

We are one step closer to the bombdogs

http://www.youtube.com/watch?v=_nvfQw8UCDE
While you guys sort out whether the source of information should matter vs does it matter to us humans, it should be pointed out that the article itself endorses a quote which hits out against Spolsky for being a "bug tracking system salesman".

Although, I'm writing enterprise code in MS technologies all day long so I'm clearly not to be trusted.
Candidate A is unhireable. Programming is more about communicating with people than machines, and I say this even as a former embedded systems programmer. I've worked with A's before and they are A-holes.

Candidate B is very hireable, but only in the context of an established team with functioning leadership--both technical and business--as well as people who can help them develop their skills and career further. That is, I would hire them into a team, but not to start a team. They are clearly happiest when other people are making decisions, which is actually amazing when you have decisionmakers in place.

That being said, I take the view that whomever you hire you are married to. That is a two way street. You are stuck with them whether they are good or bad, and you are responsible for their success as well. If you hire the A-hole, then you'll regret it. If you hire Candidate B but into a situation where they will fail, you're doing everyone a disservice.

Just with marriage, wait until you found a good match.
Hey there Thomas,

I've taken your bit and amended the page (hope that's ok).

http://jacquesmattheij.com/be-consultant/pricing

I agree with you in general that lowballing is bad when done categorically, but for a starter-upper it can help to get off the ground quickly, shifting to a higher hourly rate within several months. The problem I see here is that when you're new you have to somehow overcome the lack of reputation, and one tool you have in this respect is price.

Thanks for the critique, it's much appreciated.

As for the smart marketing bit, I asked if it would be ok to post this on HN and got the suggestion to post it elsewhere and link it here, because of the length of the post, it really was written for the express purpose of helping out those that are either wondering about starting their own business or that are already operating one. The basic idea was that if it saves a few people some headache that it is already worth doing.

Originally it was one huge page but I figured I'd better split it up a bit to make it more maintainable.

The purpose of the poll I posted a while ago about peoples employment status, was to find out how many people would be interested in something like this.
Well, I made sure to scroll through, but this hasn't been said much yet: You have not provided enough information to answer the question.

Every programmer has different skillsets. It is important to match programmer skillsets to their jobs. (Anything that you might object to about that statement, I would consider part of the "matching"; for instance, I can and do match "what the programmer should be learning" to the job too.)

Both A and B here have their place; what you haven't described is the type of work you need done. Are you an early phase startup where this is going to be one of two or three critical guys, and working on intensely technical stuff that will be the foundation of the company? Are you a medium-sized company with a lot of grunt programming work that needs to be done competently, but without the need for a lot of creativity and experience? Hopefully it's obvious how I've stacked the deck on those two descriptions, and more likely it's something in between. What is it?

This is the first question to answer before you can answer the "whom should I hire?" question. It is likely that once you answer this question, the choice will be obvious.
B. Better long-term prospects. Unless it's a consultant, no employee should be viewed as short-term.
MySQL Con: Owned by Oracle
This is a great writeup, very thorough. Experience/knowledge aspects aside, professionalism seemed to be the common trait that separates the <$100k from the >$100k consultants. If you're easy to work with, communicative, and responsive — you'll never have a problem finding work. Self discipline seems the big barrier for a lot of people, and after awhile the work-from-home gets lonely.

I don't think estimating is voodoo except at the very start. Log your hours on every project (don't burden yourself, round to the :15). You can't manage what you don't measure; this includes client expectations in regard to project scope / fees. This is where the ad industry has it right, creatives have been beaten down by clients since the dawn of advertising. We're talking centuries of abuse. :)

I usually bucket hours into 3-5 categories per estimate/proposal: client service (meeting/phone calls/etc), consulting, creative, technical, and production. Each valued at their own hourly rate. ($80, $200, $150, $150, $100 respectively). Every proposal has a high-level budget that is approved by the client. When it comes to invoicing however, we bill to-the-hour and aim to invoice 5-10% less than the soft bid if they are a good client. Billing by the hour makes the client much more conscious of feedback and "design by committee".

This works for us, we have pretty good margins when it comes to service related work without getting killed by client demands, paperwork, or tedious processes.
I am not thinking of this as a flamewar, but an interesting discussion about TDD and agile amongst people whose opinion I respect. And it is really an ongoing reaction to the first chapter of C@W. There is much more food for thought in the other chapters.
The meta-discussions and navel gazing? Never.

As an aside-- do you think Accountants sit on forums and blogs all day and say "there are two kinds of Accountants in the world..." or is this something unique to software people?
Dimdim - Excellent free alternative to WebEx et al
This type of "programmer" makes me want to jump off of a bridge. The guy gives the acronym for standard operating procedure in the last paragraph of his post. Acronyms are for efficiency, but apparently this guy is using them to try to look smart. Also, the fixation with software development methodologies is very telling. How often do you hear master writers talk about the 5 paragraph essay? I know I'm being a bit harsh, but it's programmers like this that kill programming as a craft.

I think I'll take the word of Peter Norvig on this one: "One of the best programmers I ever hired had only a High School degree; he's produced a lot of great software, has his own news group, and made enough in stock options to buy his own nightclub."

http://norvig.com/21-days.html
Just finished watching this talk. Its pretty good. My only complaint is that there seemed to be a lot of generalization and non-technical flavor despite the technical audience (unless I'm misunderstanding the purpose of Google Tech Talks). I would have like to see him cut about 30 minutes off this presentation or fill it more with examples and case studies.
I find this incredibly useful for internationalizing apps! I can tell I'm going to have alot of fun using this lib.
The NYC Web Startup Sector
And one of the best ways would be "just code the thing up". Make some simple prototype and put it online. Doesn't seem that tricky, really.
Realtime Related Tweets Bar: Another jQuery Plugin
Several cities seem to have services like the CTA Bus Tracker. Very useful. San Francisco has NextMUNI (http://nextmuni.com), Minneapolis has NexTrip (http://nextrip.metc.state.mn.us/NextripFull.aspx).
> The advances features of Postgres are not that needed in most web applications. If they were that needed, more people would have used Postgres.

I am not so sure. Many people just start with Mysql (with MyIsam) and realize that they have a pile of transactionless FAIL on their hands only at some later date, without really going through a selection process.

Regarding the performance, has anyone actually done an apples-to-apples benchmark lately? Say PG 8.3 vs Mysql with InnoDB?

In any case, this particular comparison is not really worthwhile... it's full of hyperbole: "blazing fast", "rocks", "aeons" and so on. Doesn't sound all that professional.
Everything I know about effective advertising I learned from Bob.

http://www.mybobs.com
But then a lot of the pro- points go away, too. It's almost like it's two different pieces of software.
I'll join the chorus and say that this is great stuff, jacquesm.

Estimation is one thing that makes me very nervous to the point of not wanting to start my own thing. I have always underestimated things (and once it got very bad when I was doing contract work). If you could expand on tips here (such as what to avoid - i.e. don't switch to a new programming language before starting work), it would be much appreciated.
I've had great luck with http://techinsurance.com - the owner literally called me and walked me through my options, and then told me that I could probably get away with not having a "Fidelity Bond" which was the most expensive piece...
I just saw the founder of Cluster Busters give an amazing talk yesterday. It should be online in about two weeks. Truly a life changing talk, I really hope it gets posted here when it's available.
True to a point, but MySQL lets you pick and match on a per-table basis.

I've used MySQL extensively, and use Postgres for most things now, and I prefer MySQL for many things. Not least replication, which is so much simpler with MySQL (I'd love to be proved wrong on this - please someone point me to a replication solution for Postgres that is as simple as for MySQL).

But the differences aren't great enough for most typical use that I'd worry too much about which one to use. Currently I use Postgres because that is what my team is familiar with.
Ok, I'll do that, give me a couple of days to get it done.
For some reason, I have an uncontrollable urge to say "Ich bin ein Berliner".

But actually, I have never been to Germany :)
Why not just link to the actual Harvard Book Store event page?

http://www.harvard.com/events/press_release.php?id=2390
http://news.ycombinator.com/item?id=401926 on http://news.ycombinator.com/item?id=401876

colin, did flickr ever reply to you about that?
sigh, they need to teach this law in k-12.
1) hard to install? What about `apt-get install postgresql` or the usual ./configure-stuff is hard? Also, EnterpriseDB provides pre-built one-click installers for Windows and Mac OS X. Upgrading between major releases could be painful as it requires a dump/restore, but lately, we got pg_migrator which takes care of that (and pg 8.4's parallel restore helps in cases where pg_migrator fails - not that I know of any)

2) the .org domain is hosted with PostgreSQL. Scalability-wise, that looks good enough for me.

3) Kind of agreed, but then again, the documentation of PostgreSQL really rocks. In my 8 years of (near-fanatic) use of PostgreSQL, I never came across a problem the docs could not solve for me.

4) One major release per year might actually be quicker than what MySQL does. I don't know about related tools, because I don't generally have need for any. There's PGAdmin III which, AFAIK is updated as often as PostgeSQL itself.

5) You don't need the advanced features, until you use them and then you can't live without them. It's like addiction to drugs :-) - I moved from MySQL to Postgres back in the days (end of 2001) for a large project after spending hours and hours of hair-pulling due to the lack of subqueries and views in MySQL and since then, I never wanted to go back.

We're using PostgreSQL as the backend database for multiple large e-commerce applications. Some tables are over 20G in size (1.5 billion rows in one of them). PostgreSQL is easily handling ~60 queries per second on a quite dated dual core box with 4 GB of RAM.

You might have had a lot of success with MySQL. I on the other hand had a lot of it with PostgreSQL.

I don't know about the later versions of MySQL but when I moved to PostgreSQL, it was years ahead of MySQL feature-wise and as I never had any performance or scalability issues, I never felt the need to go back or even see if MySQL has caught up already.

Just wanted to add my two cents here.
A Columnist's Farewell: How to Read a Column
This liquid breathing stuff was also used in Dan Brown's new book, The Lost Symbol
Indeed. I have seen many "transactional" web applications that lose data because of MySQL's policy of handling errors by ignoring them, among other problems. (0000-00-00 as a date is just the tip of the iceberg.)

I even know of self-proclaimed "Postgres experts" whose applications lose data with Postgres due to its very "liberal" default isolation level. (MySQL has the same problem, of course, except you can't even fix MySQL with a config setting.)
~~~cold hearted~~~
The notes are visible on slideshare. Click on the "Notes on slide X" tab.
If you need more background, Oracle "still" hasn't made any press releases as to the fate of MySQL. This should be a very big "con", with a huge question mark next to it. Many core MySQL developers aren't being too optimistic about the future.
A Linux distribution inspired by Chrome OS
This is HN so I assumed an early startup environment. But of course as the startup grows, this will change. So I'm also looking at it long-term.
In the first thread it was mentioned several times that people voted for posts to give them what they felt was a good score, not as a +1/-1/0, but to give them a specific score.

For example, I have a fairly reasonable idea of a 1 (http://news.ycombinator.com/item?id=848274), 5 (http://news.ycombinator.com/item?id=848482), and 10 (http://news.ycombinator.com/item?id=848201) point posts (note, these were just chosen fairly quickly off of the front page items, not trying to call anyone out for anything). Generally, I won't down vote people unless they are approaching the next group up when I don't think they deserve it, and will upvote if they are lower than I feel the post deserves. I know several other people mentioned feeling the same way, and it seems like there are far more people who felt that way and refrained from voting on most comments precisely because of that (at least if the jump in comment scores on my posts are indicative of the scoring in general).
I think this is mostly an issue of degree, not a boolean one.

Sure, potential is not a constant, but most people can go well above the level they're currently at, all it takes is time and effort.

The manager/employee issue is very true, probably there is a bit of both there, but the bigger issue than manager/employee is employee/other employees. If someone is disruptive to the team he or she is working in then their amazing skills are totally irrelevant.

A skilled person that is also a team player is of course ideal, but if you already know that you are going to be working on a team effort to take someone that would not thrive in that situation would be a mistake.

Managers that only select 'yes men' around them are to be avoided like the plague, no contest there.
They could take a firefox approach. I think it's already somewhat built that way. Give everybody the functionality that everyone uses, and provide a way to easily (without restarting anything) add extensions for more functionality.
This time around you have some very interesting and well reasoned points.

But it does not diminish from the original points of the essay. People who lack visible status indicators will tend to make a lot of noice about how good they. This may be justified, or not depending on the person. It may be necessary, or not depending on the circumstances. But the tendency to do it is definitely there.

There is also a tendency, in some of these people making a lot of noise, to do it in the form of diminishing others.

A person who makes a lot of noice about how good they comes accross as at least slightly arrogant, someone who does this in the form of trying to lower others can come across as elitist.
Purchase a New iPhone on Orange O2 Dont Have Exclusivity in the UK anymore
SICP Study Group Alpha Video
If A is motivated by money then that might work, but not everybody is motivated that way.

But the principle may hold true regardless of the method of rewarding.
The absolutely worst thing about MySQL is its lack of strictness. Maybe this has changed, but I was furious when I, by accident, inserted latin1 data into an UTF-8 table.

Instead of complaining about invalid input data, MySQL accepted the data and truncated it at the first invalid byte. Without error or warning.

Even if this was due to a misconfiguration on my part, behavior like this is completely unacceptable.

http://www.gnegg.ch/2008/02/failing-silently-is-bad/

and don't get me started on other comparable issues like truncating overlong texts added to varchar fields, or accepting invalid dates and silently converting them to 0000-00-00 shudder
Great post from a mathematician on the surprises in mathematics.
>Twitter is a medium (as in new form of media)

That's crap.

All this talk about twitter as a medium, twitter as revolutionizing communication, twitter as a service conveniently ignores the fact that twitter is a BUSINESS. It's purpose is to make money. Everything it does is subordinate to that goal. Maybe this wouldn't be true if it was just the founder's fun project, but it's not - they took tons and tons of VC money, invested on the assumption that they would be turning a profit. It doesn't matter how popular they are, or how many viewers they have if they can't leverage that into turning a profit.

In the words of Musashi - "The primary thing when you take a sword in your hands is your intention to cut the enemy, whatever the means. Whenever you parry, hit, spring, strike or touch the enemy's cutting sword, you must cut the enemy in the same movement. It is essential to attain this. If you think only of hitting, springing, striking or touching the enemy, you will not be able actually to cut him."

It makes absolutely no difference how popular or revolutionary you are if it doesn't make you any money.

And while in pre-internet times, when viewers translated directly into dollars (which is why it's got such high valuation), it would be a safe assumption that it will, it's far from clear that the same rule applies today. There's many huge services that aren't profitable because no one's figured out how to make money off of them yet. Saying something like "I have no doubt twitter will do very, very well" seems unjustified given the fickle nature of internet users and the fact that the rules for building a profitable online service are more alchemical than scientific at this point.
Definitely! I presented my PHP framework at a meetup a year ago, so its time to go again to give some more talks on sites I've used to build it and go from there. I also spent this weekend setting up my blog and thinking about all of the articles I want to write.

I just got my first customer, so I'm happy things are going well so far.
Snow Leopard Skin for Windows Live Messenger 2009 Free
Remote Control: Using your iPhone to manage your PCs
You can use Google Translate over HTTP like this:

http://ajax.googleapis.com/ajax/services/language/translate?...

They're not bad. I use it in a TextMate-Script which replaces Text with the translation (for gettext files).
or A solves the wrong problem in the wrong way and you ultimately are left with nothing.

at least B is likely to make progress in the right direction. the OP did say B's solutions were acceptable. if acceptable is true then i see no reason not to hire B. you get the solution you want with a good teammate who will eventually be as good as A technically but with a whole bunch of other goodness.

note that team instability is the largest downfall i've seen in the handful of MIT startups i've witnessed. it's crucial that people work together. i'm married to my startup partner, so working together is one of the first things we ironed out. if you're committed to that, then you can give strategy and execution an non-distracted chance.
Ok. I think you mean that they'll spend their time learning the basics of 6 different languages without getting in-depth in any of them.
I'm actually surprised Adobe has even kept Fireworks alive since buying Macromedia (I used it for all my front-end work too).

I just forced myself to learn and use Photoshop (slices in particular) for web artwork.
> 2) MySQL is used and proven to scale on very large installments (Yahoo, Facebook, Google - just to name a few). Postgre's usage is much lower (Skype and Reddit from those I know of)

You might be interested to learn that Yahoo runs a modified version of Postgres that is column-oriented http://glinden.blogspot.com/2008/05/yahoo-builds-two-petabyt...
It very much depends on how you go about it.

I fit the 'A' category (so effectively I'm telling people to never hire me ;) ), over time I've gotten better at communication and I work better together with others now than in the past, but there is still a lot to be solved.

The best spots to 'plug me in' are when everybody else is ready to give up and it's a real challenge, or when I can write tools for others. (or under extreme stress). Those are the times when I thrive. If you want me to do the front-end of your web-app together with 5 others then please look somewhere else.

Whether or not A is an asshole is a call you can't make with the information given, it's perfectly possible to not be a team player and not be an asshole at the same time, if someone ignores decisions that were made then maybe that indicates they're working for the wrong boss or at the wrong level.
> "Postgres experts" whose applications lose data with Postgres due to its very "liberal" default isolation level.

Explain further. I'm not a Postgres 'expert', just a happy user, and I'd love to actually learn something from a silly X vs Y thread.