Bad Apple (PEBKAC)

I seem to have a lot of bad luck when using apple computers.

I did all the updates on one of the imacs in our group, and installed the software I needed to use… it had a hard disk failure before I managed to use it (and I’m too scared to remove that screen myself).

Then later when I needed to use some software on the mac (in Igor Pro) I left the computer with all my experimental analysis open, and someone else in the group logged out my session without saving the data, the next time I learnt how to save the Igor experiment session…


Organising my collection of books using open source software

Moving some books around at home I decided I really needed to have a list or some sort of rudimentary database… maybe a project for mysql. But then I thought, hand on a minute, this must be a common problem, there are probably several open source programs to do this…

A brief search and I had a list of contenders by searching the web… something like this but not quite.

Software like gcstar and tellico are relatively light weight programs specialised for collection management… more advanced software for running a library with many borrowers is also available in the form of open source library management packages. A list of many useful programs for library management of various sizes is available here: . In contrast the collection management programs allow easy customisation, as well as templates for managing your collections of films, books, articles, music, guitar pedals (link to video) etc.

I opted to try gcstar and tellico, both being available in the repositories of the linux version I use (debian GNU/linux it’s the official linux distribution of the free software foundation). First up was gcstar, I installed from debian repositories and then performed update with ‘gcstar -u’ this downloaded updates to /usr/local which seemed to work, I hit a problem when trying to add the first book. There seemed to be no where to enter isbn for search, and trying to retrieved information for the first book just carried on searching without getting back any information.

gcstar failing to work for me

gcstar failing to work for me

Next up was tellico which worked. This was a really useful program for searching for details of my books. It can search various databases for details of each book, including the library of congress which is useful for some older books. I now have the majority of my academic books stored in a .tc file which can be exported to various formats (XML, gcstar, HTML, csv, etc). Both of these applications are designed for managing generic collections, so the fields can be customised to suit the needs of your collection (whatever it is), there are features to record lending of items, or price, etc.

Using Tellico to search collection (left) and search online databases for book details (right)

Using Tellico

I was really happy to find the tellico project, it met my needs at least as far as creating an index of my books, it usually takes less than a minute to add the details of each new book to the list, with most of the time spent trying to find where the ISBN is printed if it’s available.

Finding duplicate files and saving space in Unix filesytems is a useful script to save space on unix file-systems. It works by looking at all the files in a list of directories and replacing duplicate files by hard linking to the first copy of the file. This has the advantage that the file will still appear at both locations in the file-system but only use up one place on the disk. This could lead to problems later if you modify one of the files and aren’t expecting the other to change, but for saving space from my static back files it’s ideal.

Below is example of saving space, one of my backup drives which contains multiple snapshots of my work became 100% full. needs a list of directories to trawl through so here I used the * to provide a list. (I could have also listed tjhe directories e.g. “BACKUP-JAN15 BACKUP-MAR15” etc.

prompt> perl *

I’m really happy this freed up a whole lot of space.

prompt> df -h
Filesystem Size Used Avail Use%
/dev/sdb1 1.4T 494G 812G 38%

Next question
What I would like to know next is how compatible this hard linking can be with rsync, I guess it’s not that compatible since it probably changes the time stamp to that of the oldest date on a unique file (I didn’t check this).

How Fortran Changed the World

The BBC is kicking off a new 5 part series of programmes on programming, by looking at the impact that FORTRAN has made on our lives. The series “Code that Changed the World” starts on the the 6th April and is hosted by former “bits” presenter Alex Krotoski.

FORTRAN stands for FORmula TRANslation and it particularly suitable to scientific computing. The language was developed by IBM as a practical alternative to assembly language. The development of FORTRAN had a large influence on the development of compilers, since an objective was the generation of efficient code from the source code written in FORTRAN.

FORTRAN has a large lineage of versions, from early versions designed to be entered by punch cards, to modern versions designed for structured programming.


Punch card images generated at

Apple and Jobs

Steve Jobs 1980 (23:00), how apple computers started.

LISA 1983 (8:30) — trying to introduce consumer computing

Getting software on the MAC (Lotus 123, Microsoft)

The LISA computer (14:09) — trying to introduce consumer computing

Apple Adverts from 1984

Apple Advert with Bill Gates

John Scully on how Jobs got fired from Apple (8:03)

Building NeXT (20:46)

Brain Storming in NeXT (23:00)

Pixar (12:39) — owning success, when to exit by IPO

Dealing with a question on OpenDoc vs Java (5:13)

Jobs introduces itunes

Company structure / managing

Wozniak on Jobs movie

The deal with Microsoft is the most important move… ensuring Word was on the mac permanently meant it could be used interchangeably with a windows PC.. helped to make as de-facto standard / monopoly player while staving off anti-competition claims. Today Mac computers use PC hardware, sleek hardware and software built on unix system differentiates the system from windows. Apple has proved to be a hugely successful marketing/ design company with a huge cash surplus from it’s repeated successes.
Here we can see what is the difference between macintosh and Microsoft, two successful companies which don’t actually compete directly. From the start, apple has been about delivering a standardised easy to use computer, which is integrated so the user doesn’t need to know about what is inside — computing for the rest of us. Microsoft don’t sell computers, they sell software. They were happy to sell their office software on to apple computers.
In the early days, the garage built apple II computer was a success and gave a cash flow, apple was able to introduce mass production techniques (assembly line with latest just-in-time stock control) to produce the macintosh. The apple mac is first core product which makes apple a success, today’s imac looks amazing similar in construction (although the components have changed it’s basically the same design (a sealed box with monitor, CPU and power transformer).
Something astonishing is that they have been recently able to have additional success, they successfully introduces the itunes market place, which they have been able to sell their ipod. iphone and ipad.

Computer for Apollo

Amazing stuff. Computer system for in flight course correction during Apollo mission. Computer system includes memory which is programmed by weaving copper wires.

Remote desktop using Xnest

I just learned about the existence of Xnest. It’s probably not as nice a solution as using the commercial nx software (or whatever advantage of VNC is) … which we presume has lots of clever stuff hidden inside… but it has the advantage of not needing any additional service to be run on the remote machine, and Xnest already being in the debian repositories with all convenience and open sourceness that entails. Log in to shell on remote machine using ssh, then start this Xnest program.

Example of using Xnest

Example of using Xnest, Remote desktop (gnome-session) served up to my gnome3 desktop.

Xnest can be used locally, for example to allow creation of a parallel nested xsession with different window manager. Just like other gui applications it can be started if you are log in using ssh and allow xforwarding (using x11 on unix or available with for example cygwin on windows). This allows you to log in remotely and start gnome session in a window, giving remote desktop.

Xnest -geometry 1150x750 :1 &
xterm -display :1

Then start for example gnome-session from the xterm embedded in the Xnest window.