Previous Entry Share Next Entry
Interesting Links for 09-03-2012
Illuminati
andrewducker

Original post on Dreamwidth - there are comment count unavailable comments there.

I've got one of those cuddly Cthulhus. We put it on top of our christmas tree this year.

Cute. I also have a cuddly Shoggoth, which was given to me as a gift by placing it upon the roof of my doll's house... which was extra cute :-p

I guess Apple moved to OSM for the same reason Geocaching did - ludicrous licensing terms from Google. I'm really glad they did - the OSM maps are so much better for Geocaching, having been made with GPS units and having all those little trails on them.

Yeah, Google seem to have really pushed away a lot of their customers with their new licensing terms. I wonder if they decided it was a market they just didn't want to be in.

I hope that OSM maps get a big push from this - I'd love to see national governments feeding their maps into it, for instance. It would be great if the Ordnance Survey gave their data to them.

Regarding the git post, I see their point, but saying SVN is better seems like total crack to me.
Yup, the docs are awful. But hey, so are those for most unix commands. Reading 'ls' to try to find out how to, say, show jusst filenames down the page is a nightmare.
I do remember I found the basic concepts of git horribly difficult at first. And then I found branching and rebasing and merging horribly difficult. But there are excellent tutorials out there, and these days it's all a breeze. Git makes my work much easier and there's no way I'd use SVN again now.

Saying that unix documentation is also awful doesn't make things better :->

What's your objection to SVN?

Mostly that git is just better. Though branching in SVN is just hideous -- not worth the effort.

Getting my head round the concept of using local branches in git (and rebasing them when things happen on other branches and so on) has made day to day work so much easier. But it does require developing the ability to think in terms of history rather than code.

Being able to commit while offline is a huge advantage too.

And being able to easily run multiple public branches makes ongoing work so much easier than it would be with SVN. I can have one developer working on one branch, while I move general things forward on the dev branch, and then merge things into master as and when they're ready. No way would I do that with SVN.

Aah, yes, branching. git definitely has that down better. I understand that merging between branches is a right pain in SVN.

Not that that's particularly useful where I am - but I can see it being handy sometimes.

You *think* you don't need branching. Nor did I -- I never ever made branches on SVN. But once they become cheap to make, you find they're useful. I easily make several branches per *day* while working on a repository.

At $WORK we have 13 branches in the current project, of which probably 4 or 5 have active work going on. We would never have dared do anything like that in SVN. Partly because creating branches in SVN is so amazingly slow, and also because SVN is just horrible at handling merges - conflicts or missing code are to be expected.

We deliberately work with head (which has what is going into production in the next release) and branches for each release, where emergency fixes can be made.

Nothing gets checked in unless it's going into the next release. It all goes straight into head, so that we aren't surprised by something turning up later.

I've seen teams working on numerous branches, and getting themselves tied in knots because the features they want are sprinkled all over the place.

That seems excessive - it means anyone working on a feature that will temporarily break things doesn't dare push anything, or they'll break the code for everyone. And if all changes are kept locally and not pushed, you don't know what people are up to (and there's no code review).

I've yet to see anything that needed to be kept locally for more than 3/4 days while it was sorted out. The code is generally broken down into loosely-coupled components well enough that changes are localised (or are in the infrastructure that ties it together, which is also localised in its own way).

(I'm not knocking git, by the way - I wish we were using it.)

One more thing which occurred to me as I was coding the other day: partial commits.

I can be in the middle of making a total mess as I figure out the best way to do something -- there's debug code all over, there's various attempts to get data out of parts of the framework, etc etc. Stuff isn't finished; the UI's half there and all that sort of thing.

But if I make a change which I know is right, I can commit just that line, while leaving everything else as is. AFAIK with SVN I'd still have to clean that file up to being suitable to add.

That alone makes git revolutionary, if hard to get your head into at first. If I'm right about SVN not supporting that, I recommend using git as a client front-end to SVN. In fact, I'd recommend doing that for the ability to have local branches alone. (If ever you've been repeatingly hitting CTRL-Z because you KNOW it was working 10 minutes ago and you've done something stupid since which broke it -- then you need local branches. But eh, at times when I say that I wonder if it's just me that's a bit of a rubbish coder ;)

branching/merging is a *conceptually* hard topic - the right tools used thr right way can help immensely (as can the right sorts of development procedures) - but sometimes a far-down-the-line-bugfix-patch just has to be done and it is going to be a pain in the butt if the relevant codebase has changed significantly - as, say, a good practice such as frequent refactoring will inevitablly mean.

I have frequently had to explain that, yes, we have to change the code manually in more than one place(branch) and that in fact it's not going to be a cut n paste job even so (because structural things may/have changed), and no, there is no latest wonder-version-control-system or set of procedures we could use that will magically do this for us.....

Cherry-pick! Or hotfix branches. You still have to handle merge conflicts sometimes; as you say, nothing can prevent that.

Having returned to SVN in my new job after working with git:

1) Sloow. Almost every command requires talking to the server, and even on a fast LAN, getting logs, diffs, blames etc takes an age. Git can frequently clone an entire remote repository more quickly than SVN can perform a simple query.
2) No stash. I believe it's being added in a new version, but it's such a useful feature, and my shell script to approximate the behaviour just isn't the same.
3) Branching in SVN sucks. I'm sure you knew that already.

I think the basic problem is that SVN was only ever intended to be a better replacement for CVS. Which it is, undoubtedly, but compared to the various distributed systems, that's just not much of an ambition.

I recognise there are problems with git, but once I got the hang of it it made my life much easier.

As for the horrible, horrible command line aspect: use a GUI. I'm using Gitbox on OS X, and it's much, much nicer than messing about with command line stuff.

GitX here, but same principle. A few years ago there were no git GUIs at all but now there are tons. Paid ones mean you enver have to touch the CLI; GitX means I only go to the command line for rebases and branch switches.

"Jobless people could be offered a stark choice – six months in a job or six months without benefit"

They don't say whether or not these jobs going to be paid (presumably at the minimum wage). If so where exactly are these jobs going to come from? It's not as though there are millions of vacancies waiting for people to fill them.

Re-reading the article, it seems this is based on a briefing for a speech he is due to give next week. Presumably this will be revealed then.

I've been waiting two months for my Employment Insurance benefits to kick in. They say they will make a decision within another two or three weeks. In Canada people are already waiting far too long and being penalized.

Why is needing benefits treated as a crime? Isn't part of the original purpose of employment insurance benefits ensuring that there is a labour force ready to do seasonal tasks?

People who receive these benefits have either been paying into the funds, or have the potential of doing so in the future. It is not charity!

I'm always puzzled when the index is included in git's list of complicated features. It never seems to be explained well, but when I used it, it immediately seemed like how version control could work.

I'm still very amateur when it comes to source control, but there's two things you may want to do. "Commit all changes to your local repository" and "commit some subset of changes that make a logical whole". Maybe other people only ever do want to commit everything, but I _usually_ find I have some extra changes I want to be part of some other commit, or similar, and it seems that's what git makes the obvious default.

London might be the sixth largest French city, but it must also be up there in the list of Australian, American, Polish, South African, Indian, Pakistani, Jamaican, Brazilian etc cities. Even the British inhabitants don't seem to be from London itself. It seems that the only London natives in London are taxi drivers nowadays.

Clarisse Thorn's Confession's of a Pickup Artist Chaser is out!

I've read some sections of it at her blog-- she's intelligent and empathic, and PUA is a sufficiently complex phenomenon (definitely with some revolting aspects) to be worth the attention she gives it.

Yeah, the entire PUA movement is definitely one worth wearing the Ben Goldacre "I think you'll find it's more complicated than that" T-Shirt for.

If you don't feel that International Women's Day for you, perhaps it is because nearly every day is officially or unofficially International or National or Local something day. Having a day to publicise something puts you on the same level as card companies pushing for Secretaries Day or people posting "Yarrrr" on Facebook for International Talk Like A Pirate Day.

"I'd rather have a bottle right in front of me than have to have a--OH MY GOD THEY'RE CRAWLING OUT OF THE WOODWORK!'

You are viewing andrewducker