John Piper on Roman Catholic “heresy”

John Piper on Roman Catholic “heresy”

A timely and helpful post from John Piper, I reckon:

God’s mercy is not a warrant to neglect or deny precious truths, especially those that are at the heart of how we get right with God. And the teachers of the church (notably the Pope) will be held more responsible than others for teaching what is fully biblical.

Idolatry aside, this is a pretty good summary of why I’m not a Catholic, why I have major problems with Catholic theology, and why I totally respect many Catholic individuals regardless.

Git version control for WordPress development

If you work with WordPress and you’re a proper geek, you want to keep your code under version control, and you want to do it with Git. Yes?

Well, you’re in luck. Even though WordPress is an SVN project, there’s an official git repository on GitHub. It syncs with SVN every 15 minutes. Yay!

So, you’ve cloned yourself a copy of WordPress:

> git clone myproject

But you don’t want to work with bleeding-edge WordPress (you’re not THAT geeky). So, you check out your preferred version, let’s say 3.4.2:

> git tag -l
> git checkout 3.4.2

You get a “detached HEAD” warning, chuckle a little at the visual that gives you, and create a branch (as recommended). You probably want to name it after the tag you’ve just checked out:

> git checkout -b 3_4_2

Sweet! Now you’re ready to finish setting up your local copy of WordPress, and then you’ll be ready to start coding! You’ll probably want to add various files and folders to .gitignore before committing your changes (e.g. wp-config.php and wp-content/uploads), but we’re not going to cover that here.

Next, you might want to push your changes to a remote repository. You can’t push to “origin”, because that’s WordPress proper. So, you might do something like this (or not; there are many ways to skin this particular cat):

> git remote rename origin wordpress
> git remote add origin ssh://me@gitserver//srv/git/myproject.git
> git push --mirror --set-upstream origin

This assumes myproject.git is an empty repo on the server. You can create it like this if necessary:

> git init --bare myproject.git

Now you have two remotes: “wordpress” (formerly “origin”, i.e. the official WordPress repo) and “origin” (your self-managed remote repo for this project). You’ve also used –set-upstream to tell Git to push and pull from “origin” by default.

Note that if you clone from your remote repo later, you’ll need to add “wordpress” manually if you want to change versions, for example:

> git remote add wordpress

Now, if you’re still with me, let’s upgrade your local copy of WordPress. Make sure your working copy is clean, and hold on to your Red Bull cans!

[NOTE: this assumes you haven’t made any changes to WordPress itself that you want to keep. If you have, you’re on your own now!]

> git fetch --tags wordpress
> git checkout 3.5.1
> git checkout -b 3_5_1
> git merge -s recursive -X ours 3_4_2

The first three lines shouldn’t need any explanation, but the last one is a bit special. It tells Git to merge the changes you made in the 3_4_2 branch into the 3_5_1 branch, and to automatically resolve any conflicts in favour of 3_5_1. This works fairly well, except for any files that disappeared between 3.4.2 and 3.5.1. You’ll need to delete these manually, then commit the merge.

Finally, upgrade your database and get testing!


Google + “open” = big joke

Google + “open” = big joke

For some reason, a lot of people think Google is a benevolent champion of openness. Open platforms, open data, open source, open everything.

Marco Arment hasn’t fallen for it, and neither should you:

If they really cared about being so “open”, they’d open up a nontrivial part of their business that hasn’t already been commoditized, like their searching or advertising algorithms.

Click through for more of his ranty goodness.

Fraser Speirs on iPads for consumption and creation

Fraser Speirs on iPads for consumption and creation

This has already done the rounds, but if you haven’t seen it yet, click through for a helpful analysis of the iPad’s suitability for tasks based on their complexity and duration. As usual, Fraser is spot-on.

Also, Apple has just posted a 5-minute video showcasing a school that’s using student iPads REALLY well. (For consumption AND creation.) Worth a watch.

A world without Adobe

Photoshop, Illustrator, InDesign. If you believe the hype (and the masses), they’re all “industry-standard”. They also happen to be Adobe’s flagship products, and in my view, they don’t deserve to be industry-standard-anything. Here’s why:

  • Pricing. Leaving aside the breathtaking cost of commercial licenses for Adobe software (which only ever creates a scenario where relatively few legitimate license-holders cover the cost of relatively many pirates), the difference between Adobe’s US pricing and Australian pricing – even for downloadable products with no domestic support options – can be massive. It’s less of a problem than it used to be (thanks to media attention and parliamentary inquiries, no doubt), but this price-gouging remains a blight on Adobe as a corporation.
  • Hostile takeovers. Adobe buys its competitors and destroys their products, either by halting development or by butchering code. Heard of Macromedia? Flash? Pixmantec RawShooter? You know what I’m talking about, then. Adobe is a Big Bad Bully.
  • (Lack of) innovation, bad software engineering. AIR was never fast enough for serious development. Flash didn’t evolve (e.g. by becoming an “open” platform) and was similarly inefficient (hence no mobile Flash on any platform in 2013). As these were used in frontline products (e.g. Photoshop), they became slower, hungrier and buggier. One can only assume that no-one at Adobe knows how to write good code! (Have you ever opened a Lightroom catalog in a SQLite browser? Least. Efficient. Data structures. Ever.)
  • Good alternatives actually exist. No, I’m not talking about GIMP. There’s Pixelmator, iDraw, Acorn, Aperture and a bunch of other fast, affordable, serious alternatives to Adobe’s big-name products. And they’re rapidly getting better.

I own several licenses of Lightroom and Photoshop, and have passively endured each version’s decline in performance and stability. That’s over now. I’m moving to better products, from better-behaved corporations, and I intend to take my school with me.

“Industry-standard” is so last decade.

x100.365 #59


Now that his arrival has been announced on Facebook (modernspeak for “now that everybody knows he’s here”), I can share the face of February 28: Mr 3’s godparents’ new son, a.k.a. Miss 1’s future husband.

Welcome to the world, you gorgeous little hairy man with the cute sad face!

[As mentioned earlier, x100.365 is going to be a bit different in March. 31 strangers in 31 days! Stay tuned.]