Aug 16
How to participate in the Linux community
A guide by Jonathan Corbet, executive editor of lwn.net and Linux developer.
Aug 16
A guide by Jonathan Corbet, executive editor of lwn.net and Linux developer.
Aug 11
This blog post is a survey of the graphics programs available on Linux. A friend complained how hard it is to even draw a square with the Gimp. My suggestion is there are better tools for drawing and the Gimp is better left to image manipulation.
Inkscape has got to be the most popular free drawing tool. Inkscape is an Open Source vector graphics editor, with capabilities similar to Illustrator using the standard Scalable Vector Graphics (SVG) file format.
To draw a square in Inkscape: Click on the rectangles tool
(or push F4), and while holding down Ctrl (to keep the ratio right) draw your square. We want a black empty square so now we need to edit the Fill and Stroke. Click on the Fill colour in the bottom left corner and the Fill and Stroke dialog will pop up. Select X for no Fill. Change to the Stroke paint tab and select black for the stroke. On the Stroke style tab you can select the width of the stroke. (On my screen the black stroke looked kind of grey until I zoomed in (+) on it.)
OpenOffice.org comes with a basic drawing tool, oodraw. This might be all you need if you are working with oowrite and just want to add a simple diagram.
To draw a square in oodraw: Click on the rectangle tool
and while holding down Ctrl+Shift draw your square. Right-click the square, select Area | Fill: None | ok. The line colour defaults to black, but if you want to change it just right-click (must be on the outline now) and choose Line, then change the colour.
For the child in all of us Tux Paint is fun to play with. The truth is it is actually harder to create a neat drawing in Tux Paint than in Inkscape. But then having fun is the point, not neat drawings to illustrate the report to your boss. Children might like this app too.
To draw a square in Tux Paint: First select the shapes tool
on the left, then the open square shape
on the right. Select how big you want your square and what crazy angle you want it on.
Xara Xtreme looked cool when it was open-sourced, but doesn’t seem to have gone anywhere fast. (I may be out of date on this.) Wikipedia says “The port is still in its first stages and, while usable, currently lacks major features.”
Dia is a GTK+ based diagram creation program. It is similar to Visio, but unfortunately doesn’t match it. For basic diagrams though Dia is useful.
Getting a bit off topic. I have found the cpp->dia (aka cpp2dia) tool very useful for reverse engineering UML diagrams from existing C++ source. Pity it hasn’t been updated since 2003.
To draw a square in Dia: Click on the box tool
and draw your square. There is no keypress I am aware of to to force the ratio to be a square. After you’ve drawn it though you can right click on the shape and edit its properties.
For example you may have a photo and want to draw attention to a region in it.
First I’d suggest you create a new transparent layer for your square Layer | New Layer. This lets you work on your square without it messing up the rest of your image.
You may also find it useful to drag out guides from the rulers to mark the boundaries of your square.
Method One: Use the Gfig plugin
Updated: Thanks to Penguin Pete we’ve learnt there is a gfig plugin which can draw all kinds of shapes under the menu Filters | Render | Gfig. Use the rectangle tool
to create the square and move single point tool
to adjust its size. I didn’t find a way of maintain the square ratio, but you can use snap to grid to help with that.
Method Two: Use the Rectangular Select and Bucket Fill Tool draw a solid square
Use the rectangle select tool
to select the region, then use the bucket fill tool
to paint the square. This could then be used as a background, e.g. for some text.
Method Three: Use Select Invert and layer transparency to create a square “window”
Select the area we want to highlight with the rectangle select tool again, but this time choose the menu item Select | Invert to select everything outside the window. Now use the bucket fill tool to paint this area white. Then the cool bit: wind down the layer’s Opacity in the layer options until the layer underneath is visible, but the selected area is still highlighted.
Jun 9
The Auckland Linux Users’ Group meets monthly on a Monday night (normally 7.30pm on the first Monday of the month). The last meeting was Monday 9th June with Martin Kealey talking on advanced BASH.
Dropped in at the library after work and had a beer or three with Simon at the London Bar before heading up. At the old Delphi Users’ Group, Borland used to ply us with beer and pizza, but the LUG is a BYO biscuits and coke event – maybe IBM or Novell would like to sponsor refreshments?
Turned out our room in AuckUni’s new Business School was double booked. But Colin had a room available in Engineering, and then when Martin couldn’t get through the firewall to his server Vince volunteered his laptop to demonstrate BASH. Shows the Linux community spirit.
A few things I noted down as new to me were:
A = (1 2 3 4); echo ${A[0]}[[ are built in operators which can be used instead of the test [ command, e.g. if [[ built && in ]] May 6
We released Ghost Solution Suite 2.5 today.
New features include:
This presentation describes the new features in more detail.
It will be interesting to see how GSS2.5 is received, especially for me the new Linux tools. I see Microsoft recently added Linux support to their MOMS product as well.
Apr 27
How can you be really confident of your backups? My cunning plan is to mirror my whole website back onto my home box so I can see that I have all the data safely duplicated. When I say “my plan” I really mean I stole the idea off Ralph who has had his web site served both from ihug and from his home box for ~4 years.
The content on mysite is in the MySQL database and various files. The files are easy to mirror with rsync. Getting the database mirrored has been a lot more fun.

I use a SSH tunnel to securely connect the database on the webserver with its mirror on my home box. MySQL can support SSL connections, but using a tunnel seemed easier. I didn’t want to enslave the main MySQL server on my home box so instead I run a new MySQL server with a custom socket and port. I then set this up to connect to the master server on the webserver. The commands for this are in localdbsetup.sh.
Every half an hour I have a cron job run localsync.sh which rsyncs the files across and checks that the MySQL replication is still running. I can check my data is ok just by looking at the mirrored website. Then each night localbkup.sh runs to dump the data from the mirror and tarball it up.
Seems to be working pretty well. Yes, it is massive overkill just for a simple website backup, but it was an interesting project for the long weekend.