Apr. 23rd, 2010

jack: (Default)
People in the bible
Number of times they died
ElijahA0
Everyone else1
LazarusB2

[A] Edit: Also Enoch (?), Also Mary (according to Catholicism only?)
[B] Edit: Also Widow of Zarephath, also some of http://www.pathlightspress.com/resurrection.html (?)
jack: (Default)
Obviously many people use git as easily as breathing. This post is obviously not addressed to them. This post is addressed to people who edit code, and every day or week copy it all into a directory called "backup-DD-MM-2010", or people who use Subversion or CVS.

I think many people may have heard of the idea, but be worried it might be too complicated for them to do easily. A long time ago I went from using nothing to using Subversion, and it's plainly a revelation: it takes about half an hour to install, and is Just Better. Recently I started using Mercurial with TortoiseHg (a convenient graphical interface for windows through add-ins to windows explorer), and already having a knowledge of what source control does, it took about half an hour to have the same directory on two different computers and a file server, and changes on the separate computers merged seamlessly.

If you're not already aware of the benefits of revision control/distributed revision control, what they are in simple terms:

  1. You can change some code and if it stops working, you can easily revert to the version that worked, without thinking "help, which bit did I change?"

  2. You can view a full history and see under what circumstances a particular line of code was originally written.

  3. You can commit successive changes on your own computer, even if they still need testing, and aren't complete, and only push them onto a central repository when a whole feature is finished. (You can do the same thing with a private branch in a non-distributed revision control system but many people don't like to)

  4. You don't always need access to a specific original computer/server so you can perform source control tasks even if you don't have network access

  5. Specifically you can clone the code base onto a laptop for working away, and then easily merge it back onto your desktop PC (whether or not you later push it to a central server) even if you've made other changes in the meantime, but while the computers are separated you can still commit code locally and have all the benefits of having atomic changes and history

  6. People may disagree, but I think it actually matches less-technical people's mental expectations better than a centralised system. People are used to the idea of "just copy the whole source tree here, and we can merge the changes later" which you CAN do with a distributed revision control system, except that you actually CAN merge the changes later rather than saying "oh fuck, they've diverged and it's all gone horribly wrong" if you don't use source control.


Caveats

  1. Obviously if there are several of you working on a project from different parts of the world with no central authority a distributed revision control is even more necessary, but my point is that it's incredibly useful conceptually, even for a single developer

  2. Many people may find they need a possibly more technically feature rich system, such as Git, even if it may be less easy. If you're in that situation you already know what you want, you don't need this essay. This essay is just saying "you need a system AT LEAST as good as Mercurial+TortoiseHg, it is outside my competency to say who may need more"

  3. If you are working for an organisation with source control, it's probably easiest to use the existing one! :)

  4. I happen to be in the position of having a file server more conveniently available than a server than can support a whole client/server paradigm, so something easily based in a file system is incidentally useful to me of itself, regardless of its conceptual benefits, but other people will be the other way round.
jack: (Default)
"All my Jewish friends suddenly seem to be gluten-intolerant for about a week and I don't understand why...?"

Dietary Restrictions

On the first day of passover you MUST eat UNLEAVENED bread (also a wide variety of really random things of theological significance). On all the days of passover you MUST NOT eat LEAVENED bread.

Indeed, you must be extra super careful and scrub your house to remove any trace of anything that might ever have been leavened bread ever. Literally. You can't make this stuff up. Well, ok, you can, because someone DID. But what I mean is, I can't make it up. Chametz is everything you're specifically not supposed to eat, leavened bread and leavening agents and anything similar. Mainly crumbs, but also scrub your oven and clean everything thoroughly and so on.

Read more... )

To come: a checklist of actions you should always include in a passover service to make it traditional/legitimate, in the unlikely event that my blog is your definitive source of Jewish education.

Active Recent Entries