Git – it’s just that simple

Monday, February 9th, 2009

sudo port install git-core +doc +gitweb +svn +bash_completion

The above is my command-line command of the day.
I’ve been doing some research over the weekend, reading up on all the current source control systems
(for which, by the way, there is no consistent acronym. The closest I can find now is DVCS – Distributed Version Control System)
and have come to the conclusion that:

  1. The developer behind Shoes is one intensively creative fucker
  2. Git is as good as it gets

The kicker came when I found the script git-p4, which allows me to use Perforce at work in conjunction with all of git’s way-cool features!

What are these features you ask? Well, if you’ve ever heard of SVK, you will love git. Because git does what SVK does natively. And SVK is known to be like a castle on shifting sand in terms of stability. Git is rock-solid.

For the uninitiated (which would be most of you), SVK lets you check out code from a Subversion (svn) repository, and then do local-only checkins and checkouts. Then once you are happy with your changes (perhaps after 20 revisions, all tracked locally by SVK), you can “push” your changes to the main svn repo.

In the same way, git lets you “pull” changes from a central repo, do many modifcations, checking them in to git each time, and do a final “push” back to the central repo. Indeed, the concepts of “central” and “non-central” repos is not embedded into git. The central repo is only central by convention. All repos are equally “central”.

“E Text Editor” – TextMate for Windows

Monday, March 3rd, 2008

E Text Editor logo

I’m working in Windows at the moment
(my development Mac hasn’t arrived at work yet)
so I’m looking around for replacements for things I use on the Mac.
I found out today about the
“E Text Editor”
(and also the free, Monaco-like font
E is the closest thing I’ve seen to
my favorite Mac text editor.

What really struck me about the author’s description of the editor was that:

  1. He has a powerful revision-control system embedded in it (in fact, the editor was just a test app at first for the revision control app library)
  2. He
    actively sought out
    Allan Odgaard, the author of TextMate, and talked with him about making a Windows-based editor with a lot of compatibilty (being able to use TextMate plugins, etc), and Allan was highly in favour of the idea (the TextMate page mentions it will never be available on Windows, after all).

So I have downloaded the app and will give it a 30-day tryout.
Maybe I’ll post a review here or something.

Does anyone have any other Mac-replacement recommendations?
And why, after all these years, does
installation still suck so much?
They need to be like a Linux distro and have a single, massive installer with everything in it, instead of forcing everyone to separately download everything as part of the install.


Tuesday, April 24th, 2007

Panic, the creators of “Transmit” and “Audion”, have released
a new web development IDE.
It has a slightly steep price at $US 79.

They’ve licensed
the SubEthaEngine
the Coding Monkeys,
so multiple people can collaborate easily on a web site.
I think this was an excellent idea.
Small developers should be helping each other out like this more often.

The IDE includes a terminal you can put into pane in the IDE.
It knows how to ssh to sites and upload all your files.
It looks pretty nice!

installing wordpress on a Mac using MacPorts

Wednesday, December 20th, 2006

Note to self: when setting up mysql on a Mac using MacPorts (formerly Darwin Ports), install mysql with the following:

% sudo port install mysql5 +server

That bloody little “+server” part was a royal pain in the ass, let me tell you.
I would think that mysql installs would be servers by default.
There should instead be a special “+client” flag to prevent server installation!

Oh, and for some reason, the wp-config.php did not like the host name localhost.
Instead, use

DirectX Revisionism

Monday, October 30th, 2006

Iain dugg
an article about the upcoming DirectX 10 specification.

Let me rephrase the opening of the article more accurately. The original reads:

Microsoft’s DirectX application programming interface (API) was first introduced in 1995. DirectX was designed to make life easier for software developers by providing a standard platform developers could use to easily make multimedia software and game programming for the Windows Platform.

Before the arrival of DirectX, developers had to program their software titles to take advantage of features found in each individual hardware component. With the wealth of devices on the market, spanning from input devices to graphics and sound cards, supporting every hardware device on the market was a tedious, time-consuming process.

The only fatual part of that is the first sentence about DicrectX coming out in 1995.
Here is my rephrasing.

Microsoft’s DirectX application programming interface (API) was first introduced in 1995. DirectX was designed to lure software developers into using a proprietary, Microsoft-owned API, providing vendor lock-in and reduced availability of games on other platforms.

Before the arrival of DirectX, developers were using OpenGL, a cross-platform, standardized 3D graphics library that allowed developers to take advantage of 3D graphics without requiring deep knowledge of that hardware.

TechTok 05: Cameras, Leopard, Virtualization, Future OS’s, Networked Graphics, Plan9

Sunday, August 13th, 2006

Iain and I recorded a podcast on the airplane to San Francisco and other places.
(14.6MB, 31:53)

Please forgive the ambient noise!

Adding “Digg this” link to WordPress in one line

Wednesday, July 12th, 2006

<a href="<?php echo urlencode(get_permalink()) ?>">Digg this</a>

That’s it. This seems to work in at least versions 1.5 and 2.0.

Most of this is from an article on Pierre Far’s I just put in the WordPress-specific stuff.

He has a nice Javascript bookmarklet that can be dragged to the bookmark bar to digg any site you visit:
Digg this

The bad thing about the bookmarklet is that if you are just reading on the main page, it won’t point to the specific story’s permanent link.
So be sure to click down into the story before using the bookmarklet.

Ubuntu Software

Monday, July 10th, 2006

Just a brain dump of some useful Ubuntu software I ran across while browsing recently.


It’s like Mac OS X’s Spotlight
apt-get install beagle


Programmer text editor
apt-get install bluefish
[Mac version: “fink install bluefish”]


iTunes replacement, integrated with music site
apt-get install amarok


Programming text editor; uses fish://.. to edit via ssh


Web design app like FrontPage or DreamWeaver

sudo apt-get install nvu
sudo cat > /usr/share/applications/nvu.desktop <<EOF
[Desktop Entry]
Comment=Web Development Editor
killall gnome-panel

[requires universe and multiverse repositories]


Another text editor
apt-get install kate


Windows TrueType fonts
How to install your Windows TrueType fonts into Ubuntu
apt-get install msttcorefonts

extract nicefonts.tbz into /etc/fonts as root

Xara LX

Xara LX
Graphics Editor


Web site mirroring command


IEs 4 Linux
Lets you run Windows IE under Wine on Linux

Excellent Ubuntu RSS Feed

Thursday, March 23rd, 2006

I recently subscribed to
the RSS feed
Planet Ubuntu
and was very happy to see that it is a full feed, including images.

It’s hard to find good full feeds.
If I had my way, everyone would have a full feed.

The argument against them is that full feeds suck bandwidth.
The counter-argument is that if I am reading my feed and visit the page to read the full article, that is way more bandwidth then just a single full feed.

Fink and DarwinPorts docs

Thursday, February 9th, 2006

If you have a Mac and have used either of the two top packaging systems, Fink or DarwinPorts, then you have a bunch of doc you may not know about.
Fink stuff lives under /sw while DarwinPorts (or simply “ports” as I like to call it) lives under /opt/local.
Both install documentation under share/doc, which is not easy to get to all the time.

To expedite reading that documentation, I use a symlink to my ~/Sites directory, like this:

ln -s /sw/share/doc fink-doc
ln -s /opt/local/share/doc ports-doc

However, by default, the Apache setup for Mac OS X personal web sharing does not follow symlinks.
Thus, I add “FollowSymLinks” to the “Options” line in my “.htaccess” file (note the leading period).
Mine now reads:

Options +ExecCGI +FollowSymLinks

I can’t remember if the “+ExecCGI” was there before or not.

With this in place, I can now browse such goodies as
(neither of which you can browse, sorry).
The “localhost” part of the URL means “my local machine”, and will always work as long as Apache is running.

Now excuse me as I read over http://localhost/~rae/ports-doc/glibmm-2.4/docs/reference/html..