Tag Archives: Open Source

Extract Audio from DVDs in Ubuntu

I wanted to extract Marillion’s cover of Toxic today, which lives on the DVD release of Thankyou Whoever You Are / Most Toys.

I found a useful page over at Ubuntu Geek which covered the topic nicely using a tool called transcode, which I’ve used a little of in the past.

I was having some difficulties with this one though, as transcode only worked on a few titles on the DVD. After a bit of testing, I discovered that this wasn’t woking on titles that had no video.

Eventually I settled on this command line to extract the song:

<code>transcode -i /dev/dvd -x null,dvd -T 4,1,1 -a 0 -y null,ogg -o MarillionToxic.ogg</code>

Here’s the breakdown:
transcode – run transcode
-i /dev/dvd – set the input to the DVD drive
-x null,dvd – set the input modules. As I don’t want video, I’ve used null and then dvd for the audio channel
-T 4,1,1 – set the Title 4, Chapter 1, Angle 1, which is the Toxic track on the DVD
-a 0 – set the audio track (the first is 0 on DVDs)
-y null,ogg – sets the output to ogg. Once again, I’ve forced null for the video
-o MarillionToxic.ogg – finally, I’ve set the filename for extracting the audio.

The whole track was extracted from DVD in a matter of seconds. Brilliant.

Meld in Windows

I’ve become a huge fan of a program called Meld in Linux. It allows me to compare files, folders and even update CVS repositories (in a basic way). It’s cool

Thankfully, there is a very similar program available for Windows and also Open Source called WinMerge. This does pretty much the same thing and works in a very similar way.

It’s great for comparing registry files between different computers and different folder structures.

Automated Documentation in PHP

I’ve been looking for some software to help me compile web-based documentation for a school that we work in.

What they are trying to do is write coursework modules for staff to follow, and then have them available on a site.

I know how this ends up. One of the ideas I had when they told me that they were writing modules was to put it all in word, and then generate PDFs at the end, using the headers for bookmarks in Adobe.

It was sound until I was told that there must be ‘no scrolling’, so that pupils with a 2-second timespan might be able to read it. I’m not convinced that the no-scrolling is the way to go, but I suppose it’s no better one way or another.

So, here we are. I’ve scoured the internet looking for something that will do the job nicely. I found some modules on the PEAR site that would allow me to create documentation and store links in a database. I liked the look of it, but it seemed that I might have been going a little off-track as with HTML Menu, I’d probably end up storing all of the data in HTML pages that I’d still manage and then place the menu in a database. Not fun.

Luckily, an offshoot of a PEAR project surfaced called PHP Dcoumentor while has some useful documentation (surprise, surprise), and seems to be able to generate documentation into a variety of formats from XML or DTD, which can’t be bad.

Steve was perplexed as to why we are doing this, when it means that we would have to go through everything that the tutors have written for the modules and reformat it. Ironically, if they had settled on my PDF idea in the first place, then it’s feasible that we could have used the Word styles as a starting block for the online styles.

Still, if someone wants to pay me to make documents look pretty, then I’m all for it.

Reverse Engineering Passwords

Hashing passwords is a common way to secure them in a database and make sure that they cannot be read easily.

But did you know there’s a website that reverse engineers the hashes and stores them in a searchable database?

The folks over at RedNoize have created such a site.

Obviously, there’s no better protection than keeping your databases tightly secured – but even so, it may be worth considering putting extra abstraction on passwords – just to make it that little more difficult.

Get Network Manager to stop asking you for the keyring password with pam_keyring

As I’m using network manager to control wireless access on my laptop and a desktop computer in my home, I’ve decided that the keyring manager is a nuisance.

I couldn’t bear for it to constantly ask for a password every time that I needed to log on to a wireless network to retrieve the stored password. This is further compounded by the inevitable question: “Why do I have to enter my password again?”

Over at the Ubuntu forums the same question has been asked. Thankfully, there is a resolve that will also be included in the Feisty release.

The easiest way for Ubuntu user is to download the .deb package of pam_keyring and install on your system.

Once installed, so the following:

  • Open a terminal window
  • Type cd /etc/pam.d
  • Type sudo gedit gdm
  • In the editor, and the following:
    ## Added so that NetworkManager doesn't keep asking for Keyring password.
    ## relies on having same password to keyring as login password.
    auth optional pam_keyring.so try_first_pass
    session optional pam_keyring.so

Save the file, and then try it out.

The catch is that the keyring manager must match your login password. If you have a different password set already, then the only way to make pam_keyring work is to delete your existing keyring and restart:
killall gnome-keyring-daemon
rm ~/.gnome2/keyrings/*
gnome-keyring-daemon

or alternatively change your login password to match your keyring.

Once you have entered the network key of the wireless LAN, you should find that passwords and automatically stored and retrieved.

And this works for any other Gnome applications that use the keyring too.

Recovering bad discs in Linux – pt 2

So, maybe in part 1 the data recovery didn’t work for you?

Well, that’s OK because Linux is robust against bad discs in one form or another. The trick is to work out what that might be.

A good method is to use dd or dd_rescue. These tools create a forensic copy of your hard disk drive or partition so that you can mess around with it without affecting the original drive. This is also a benefit as generally a virtual disk will mount and work faster than a faulty disk drive.

To begin with, we need to create that copy of the partition that you need data from.

mkdir ~/myDisks
dd_rescue /dev/hda1 ~/myDisks/hda1.image

The reason that I’m using dd_rescue rather than dd is that seeing as you’re reading this guide, the drive probably has faulty areas of the disk. dd_rescue will work around those quite nicely.

I’m working on the premise that it’s a single partition that you need to recover. If not, you may want to look over at http://edseek.com/~jasonb/articles/linux_loopback.html#id2494145 to read up on ways to read parts of disk images and generally show off.

Right, so we have our image.

Let’s set up the mount point

mkdir /mnt/restore

And now mount the new partition image

mount -o loop ~/MyDisks/hda1.image /mnt/restore

The partition should now mount on the folder. To check if anything is there:

ls /mnt/restore/

You should see a familiar list of files (or if someone else’s drive, one that is not so familiar). You can now copy the files away and do whatever you need to do to the image.

Once finished, unmount the disk image

umount /mnt/restore