Archive

Author Archive

Cartoon – Mike is dead!

June 25th, 2010 Bed No comments

Cartoon “Mike is dead!” after the break – from Cartoon Studio

Read more…

Categories: Cartoon Studio Tags:

Cartoon Studio for iPhone & iPodTouch lifts off!

June 18th, 2010 Bed No comments

Just a quick blog post today to say that our iPhone app Cartoon Studio is now live in the App Store! Head over to HawksBed Studios to read more.

Categories: Cartoon Studio Tags:

Cartoon – Growth

May 23rd, 2010 Bed No comments

Cartoon “Growth!” after the break – from Cartoon Studio

Read more…

Categories: Cartoon Studio Tags:

Setting up a Trac Server Under OS X 10.6

May 23rd, 2010 Bed No comments

Trac is an excellent open source tool that allows you to manage a software project;s development life cycle, incorporating a wiki with issue/bug tracking while integrating with a source control service such as subversion. Months ago I had set up a subversion server which was working great on my iMac. I then wanted to setup a Trac server to go along with it so I could manage all aspects for my projects properly. Here’s how I did it.

Installing and setting up Trac

Trac is written in the python scripting language, also requiring a number of other third party libraries. While a compatible version of python comes pre-shipped with OS X 10.6, these prequisite libraries do not. However its extremely easy to install trac along with all its prequisites by using python’s great ‘easy_install’ feature. Simply fire up a command line by launching Terminal.app and run the following command:

sudo easy_install trac

This will download and install everything you need for you without further input, so let it do its thing and when its finished we are ready to create our Trac environment. Because I had previously set up my subversion server under a dedicated OS X user ‘svn’, I wanted to run trac under the same user. Thus I was going to create my trac environment in the /Users/svn/trac/newproject directory and do so by ensuring it was created with appropriate permissions for the svn user. This can be done by prefixing any command with ‘sudo -u svn’, which will run the command as the svn user. For steps on setting up a dedicated user for this purpose see my previous subversion howto. Run the following command (after ensuring /Users/svn/trac/ has been created) in the terminal:

sudo -u svn trac-admin /Users/svn/trac/newProject initenv

This will create a whole bunch of directories and files and you can then run the standalone Trac server manually to check that these first steps have worked:

sudo -u svn tracd --port=8000 /Users/svn/trac/newProject

This will make the trac server listen on TCP port 8000, so we can then browse in Safari or the browser of choice to http://127.0.0.1:8000 and see that we have a trac server running. Its not terribly useful yet however, as we still need to create users, assign administrator privileges to somebody and setup our components and milestones. Press control-c in Terminal to kill the currently running server.

Adding Users

Even if you’re the only one who will be using your trac environment, its a good idea to set up a proper user for yourself. The easiest way to do this is by using tracd with Apache .htpasswd files. We can create a .htpasswd file using the htpasswd command.

sudo -u svn htpasswd -c /Users/svn/trac/newProject/.htpasswd username

This will then prompt for a password to set for the user. For any additional users we can run htpasswd again, just leaving out the -c switch (which tells it to create a new file):

sudo -u svn htpasswd /Users/svn/trac/newProject/.htpasswd another_username

Now that we have configured users and passwords, we need to tell the trac server to use them when running. We can do this by adding the –basic-auth paramater to tracd when we launch it:

tracd --port=8000 /Users/svn/trac/newProject --basic-auth=newProject,/Users/svn/trac/newProject/.htpasswd,/Users/svn/trac/newProject

Now we can browse to http://127.0.0.1:8000 again and see that this time we get prompted to login first. We can do so, but we still can’t administer our project yet. We need to give at least one of our users administrator privileges so they can define our project’s components, milestones and such. We can do this using by running the following command (this can be done while our existing tracd is still running, so there’s no need to kill it first):

trac-admin /Users/svn/trac/newProject permission add username TRAC_ADMIN

This will give username full administrator privileges to your trac environment. After running the command you can just refresh your browser and see the admin tab appear on the page. For a comprehensive guide to the various privileges you can give to users, see this page. You can now configure all aspects of your project directly from your browser.

Integrating with Subversion

Trac can integrate with your local subversion repository, to configure this we need to edit the trac.ini file for the project. In my case this can be found at /Users/svn/trac/newProject/conf/trac.ini. With your favourite text editor find the line that says

repository_dir =

For me this was line 172 of the file, it will be under the section labeled

[Trac]

Simply put the full path to your svn repository here, so in my case its:

reposistory_dir = /Users/svn/repos

and ensure that the line beneath it reads:

repository_type = svn

Restart tracd and refresh your browser to see that the “Browse Source” tab now lets you do exactly what it claims to do.

Automatic Startup
The final step in our trac server setup is to make the tracd service run automatically at system startup. To do this we can create a launchd service using Lingon. You can grab the latest version from Sourceforge. For more details on using Lingon see this previous article I put together, but for this task we just need to add a new User Daemon. Run Lingon, click the New button and select User Daemons. Fill out the dialog as follows:

Name: org.trac.tracd What: /usr/local/bin/tracd –port=8000 /Users/svn/trac/newProject –basic-auth=newProject,/Users/svn/trac/newProject/.htpasswd,/Users/svn/trac/newProject

and be sure to tick the “Keep it running all the time” and “Run it when it is loaded by the system” checkboxes. Click the save button and restart your Mac. If everything has been done right you should be able to instantly load trac in your web browser. Now you can focus on managing and implementing your project.

Categories: Tech Talk Tags: , , , ,

What Bed’s Been Doing Lately

April 19th, 2010 Bed 2 comments

So I admit, as recently pointed out to me, this blog has been pretty boring lately, focusing primarily on my articles at The Apple Blog, and updates to my little iPhoneOS app that rotates photos. Thusly I will henceforth try and amend the issue, beginning now, although since this post is called “What Bed’s Been Doing Lately” and I’ve been doing what many consider pretty boring stuff, I may not succeed.

Firstly my full time job of the last 12 years is still keeping me busy, managing my small software team producing Windows and Windows Mobile software for the retail market. 12 years of working with barcode scanners. Still, I have been pushing the sales team towards these babies, because it would be immensely more fun writing software for a well designed platform, as opposed to Windows Mobile.

I know this because most of my after-hours time lately has been spent deep within XCode cooking up Cartoon Studio for iPhone, iPod Touch and iPad. We are currently in version 1.0 feature freeze and are a brewing up something that is hopefully full of spit, polish and shiney. Speaking of spit and polish, I have a post about just that over at HawksBed Studios. HawksBed studios is the company founded by myself and my good friend Bort (of Twitter and FARK fame). We make a good team since I can implement things, but have no ideas, while he can’t implement anything but is full of ideas. The first (of many) ideas is Cartoon Studio and we think that so far we’re on track for something exciting. Check us out and if you’re interested in joining our wider (but still private) beta release let us know.

Meanwhile, back in March, an old friend was resurrected: PCW Entertainment. When I first discovered them in 2001 they had a big impact on me. Sure, Professional Wrestling is not a legitimate competitive sport, it is theatre. But it is physical theatre and very much so. As I trained to be a referee, learning how to take bumps and flip around I found a great respect for all of these athletes and new found ability within myself that I could do anything I wanted to, if I wanted it badly enough (even become a local tag team champion being thrown off the top of the ringpost through a table and loving it; me, a geek who avoided all exercise at all costs). So when PCW announced their return I gladly got in touch and asked “what can I do?”. They’re a good bunch of people and if you’re like me and avoid the politics, never a drama. I was back doing commentary with the excellent Christopher Bayliss in March and had a great time. The next show is coming up on the 15th May – if you’re in Melbourne Australia, enjoy WWE or TNA and have never seen local independent pro wrestling – you’re missing out.

Finally, coming back to geeky stuff, I thought a small analysis of the sales figures for Photo Rotate over the last year would be interesting. Obviously such a small utility app was not going to let me retire, in-fact I would have been happy to have recovered the cost of the iPhone developer program. But as you can see it’s been some OK pocket money. What’s more interesting is that even with tiny daily sales, where the ‘sales spikes’ occur are pretty clear:

Click to make larger

Nothing surprising, but interesting. And on that note I need to stop writing and get back to doing what I’ve been doing most lately, putting spit and polish on Cartoon Studio.

Categories: Personal, iPhone Tags: