221 karma · joined June 21, 2011
I was in your situation, where client wanted SQL Server since they already have the license. During development, I use PostgreSQL instead, to "support Postgres as well".
At the end, roughly one-third [1] of the total development effort was spent on overcoming SQL Server's limitations, things that you would never have to think about in PostgreSQL.
So, try telling the client that they already have PostgreSQL license as well, with unlimited future upgrade.
[1] This figure was pulled from ass. The actual productivity loss could be more due to similar reasons outlined in http://news.ycombinator.com/item?id=3784750
Instead of doing it in a centralized/db manner, Beaker allows sessions to be distributed client side:
http://techspot.zzzeek.org/2011/10/01/thoughts-on-beaker/
It was one of the best things I learned last year.
The author should try reading Peopleware. Here's an excerpt from Chapter "Bring Back the Door":
"In response to worker's gripes about noise, you can either treat the symptom or treat the cause. Treating the cause mean choosing isolation in the form of noise barriers -- walls and doors -- and these cost money. Treating the symptom is much cheaper. When you install Muzak or some other form of pink noise, the disruptive noise is drowned out at small expense. You can save even more money by ignoring the problem altogether so that people have to resort to tape recorders and earphones to protect themselves from the noise. If you take either of these approaches, you should expect to incur an invisible penalty in one aspect of worker's performance: They will be less creative."
- it is just a small team (less than 5 devs)
- there is no github, just a locally hosted gitorious instance (proprietary project)
- the lead dev who picks git is using Windows half the time
- there are less technical people who need commit rights (e.g. changing reports layout, changing CSS, etc)
I believe the "git already won" mentality (which is very apparent in the comments of both OP article and HN) get these people to pick git over mercurial. And once they become familiar with git, they won't let go, due to the sunk cost of learning gitology[1].
Nets spent billions to build a new arena. Knicks got Jeremy Lin.
You are assuming the world is full of honorable people like yourself. Unfortunately, that's not the world we live in. In the words of Scott Adams:
"The least effective system ever invented is something called the honor system. The theory guiding this system is that people are not huge weasels."
Bad developers exist everywhere.
PyCharm.
I was debating myself whether to spend $50 for PyCharm, or $60 for Sublime Text. Then I came to my senses.
SQL isn't even turing complete. How can it be more versatile and flexible than your programming language of choice?
> How would you expect an ORM to generate a "dense" query like this with it's simplistic view of things ?
In SQLAlchemy,
cls.query.filter(<some_condition_on_another_field>).update(dict(one_field=value))Absolutely. First we have developers trying to use ORM (a.k.a. HideSQL) to avoid learning SQL. That fails. Now we have developers trying to use NoSQL to avoid learning SQL. This "avoid learning SQL" thing is shaping up to be a fantastic anti-pattern. I wonder what's next.
This is not a good comparison. With ORM, you started with Python/Java/C#/etc + SQL, and ended with Python/Java/C#/etc + SQL (a lot less). There is nothing new added.
With CoffeeScript, you started with JavaScript, and ended with JavaScript + a perlish language.
If you deploy Debian/Ubuntu on servers, your fate is pretty much dependent on this guy, unless you roll your own packages, which wastes precious time.
Sweet talking is no evil!
This is good, as it improves the code's readability.
> ...but the other half is actual code reduction/simplification, mostly from loop comprehensions.
This may not be good, as it can reduce the code's readability. List comprehension should only be used moderately, else you will end up with this:
http://blog.garlicsim.org/post/3504711416/nastiest-python-li...
Also, with python, at least you gain performance advantage by using list comprehension.