Tuesday, February 7, 2012

Git at large companies


https://news.ycombinator.com/item?id=3548824


That mentions Amazon, which has embraced git without prohibiting other VCSs. That helped us to solve several problems with scale (100k small repos vs. 3 large repos). I can't comment much, but I can re-post what was said:
Amazon uses Perforce at the moment, and for the most part developers are unhappy with it, as well as the team that has to support it (single giant server prone to outages which block up a couple thousand developers, etc). We're in the process of moving to Git for all of our source.
On the other hand, what you're describing as a problem (what Facebook is describing as going to be a problem) is less likely to be one for Amazon as, with some exceptions that are in the process of fixing the issue, the majority of software at Amazon is developed as a service. Services are segregated into their own package, with most services being broken up into cohesive subpackages (a service my team is building will probably have ~10-13 packages when done), and we have a dependency modeling system for packages baked into everything, from build through deploy, which eliminates most of the cognitive overhead of breaking our services up this way.
All of this translates very well into different Git repositories. What we lose is cohesive atomic commits across packages, which we do get with Perforce. The upshot is we have a team developing a system to handle that specific case.
There you go. SOA (Service Oriented Architecture) solves the repo problem along with a bunch of others.

The problems I've had with git at Amazon are minor, and we do have a very large code-base.

Friday, October 21, 2011

Linux utilities

I'll try to update this list over time...

  • bbcp -- alternative to rsync


Thursday, September 8, 2011

MySQL 4.1 for Windows performance problems

http://lists.mysql.com/mysql/202489

Excellent explanation.

Sunday, August 7, 2011

Git: What is the purpose of `git reset`?

Scott Chacon, the author of ProGit, also has a helpful blog, and this particular entry on "git reset" is absolutely invaluable. Also see this blogpost by Mark Dominus.

ShowOff: PowerPoint/Keynote alternative?

According to Scott Chacon (also the author of the ProGit book and a senior developer at GitHub) near the end of this interview, the following inequalities exist in the world of presentation slides for software developers:

PowerPoint < Keynote < ShowOff

Actually, the entire interview (of Scott Chacon by Werner Schuster on 06 September 2010 at the Scottish Ruby Conference in Edinburgh) is interesting, covering such topics as the use of ErlangRedis, and memcached in the GitHub infrastructure.

Node.js, Redis, Pub-Sub, WebSockets in one brief example

http://howtonode.org/redis-pubsub

That's a quick way to learn a bunch of stuff.

... Well, as of 2014 that's pretty much out-of-date, but the discussion thread has useful links.

Sunday, July 24, 2011

Java: The worst part? Checked exceptions.

This guy hates checked exceptions in Java, with good reason. They are also a bad idea in C++. Bruce Eckel has chimed in as well.

A "checked" exception is one which is named in a "throws" annotation on a function.

void foo() throws MyException {}