Linux and Flash – cut the crap already!

Linux and Flash - cut the crap already!Look, Adobe, can we please get with the times and start making a product that works on Linux? Please? It’s getting closer to 2010 and we’re still missing flying cars, meals in pills and a flash player that actually works most of the time. You see that? I’d even settle for most of the time right now. The sad truth is, Flash locks up on my current Ubuntu install, with the latest Flash release and it happens all the time.

Why on Earth should my modern browsers (Firefox, Opera) still freeze up on every third embedded video I try to play? Business websites are rendered ugly as hell because Flash just doesn’t know what to do with them. You do realize that by hindering a portion of today’s web browsing consumers you’re eventually affecting your own bottom line, right? Even a small portion who can’t do the things that web developers, web store owners and viral marketing execs expect them to do can be significant if it impacts delivery and sales.

For those who aren’t employed by Adobe. Yeah, I think that Flash sites are not the way to go, even with Google’s revelation that Flash can now be indexed. The truth of the matter is Flash is here and it’s probably here to stay so we need Adobe to please swallow whatever bitter pill they’re fumbling around with and just get a working version out to all of us in Linuxland so we can watch cats attack string on YouTube or whatever it is we’re wanting to do online. Okay? I know of lots of local, small sites like restaurants and small brick and mortar shops who have Flash front ends on their sites. And you know what? It stinks not being able to patronize them – for them and for me.

We need a working Flash. Let’s hope 10 does a much better job of it than 9. Until then, I’ll be taking my own petty mental revenge by referring to this monstrosity of a rich media crap fest as ‘flunk’ using my inside voice. No, that won’t fix anything but at least it will get that grimace on my face into a twisted smile as I kill and restart my browser yet again.

Things you should never EVER type in Linux. Ever!

Things you should never EVER type in Linux. Ever! I feel that I need to put a warning at the top of this post because try as I might in the subject to be clear about what I mean, I know that someone will go and type/execute one of these things into their production server at work and then be horribly distraught and/or cause some sort of power grid catastrophe across the Pacific Northwest or something.

If you’re a Linux guru or or experienced enough to know what all of these things are then you probably don’t need this article and we can go our merry ways. If not, then DO NOT, DON’T, NEVER EVER EVER EVER run these commands in a terminal session. If you do you will render your system anything from useless without a forced reboot to devoid of any useful purpose ever.

Why write this article on ArsGeek then? Because you should be forewarned as a Linux user that there are people out there who consider it good fun to bait others into running destructive and harmful commands on their machines. Particularly those new to Linux. So use this list as a caution as to what not to do. And note that it’s not an exhaustive list, simply a quick reference against stuff you really don’t want to do. Bottom line is, research what you’re about to execute before you push the enter key and know what you’re doing to your system, yourself and your job prospects.

Let’s start with commands that delete things that probably shouldn’t be deleted, shall we?

The basic way to delete a file in Linux is with the rm command. rm foo will take foo, wring its skinny neck and throw it down the drain. Gone. See you later.

Now there are lots of variants on these commands. Let’s look at a few. Again, look but do not execute!
rm -rf ./ - Delete the files in a current directory (all of them)
rm -rf / - Delete the partition. (AHHH!)
rm -rf . - Delete the whole directory.
rm -rf * - Delete all visible files in a directory

Running all of these commands have certain real world utility. They’re also a great way to fubar your system if run in the wrong place. Remember ‘rm’ means remove. -r means recursive and -f means don’t bother asking me if you want me to really delete your /usr/bin directory – or any other for that matter.

Mean folks have gotten slightly more creative and regular Linux users have made this mistake more than once.

rm -rf .* - Delete all hidden (files that start with a ‘.’) files.

Now, how about the good old fork bomb! Sounds ominous eh? What a fork bomb does is eat up all of your available system processes, essentially bringing your system to it’s knees. A fork is when a program spawns another program – often a version of itself. A fork bomb is when this happens endlessly and nearly exponentially until there are no resources left on your system. Most often the only way to get out of this is to hard reboot (i.e. hold down the old power button) which can cause file system problems. Here’s a few examples of fork bombs to watch out for:
:(){ :|:& };: - The cutest one. Like a vorpal bunny.
#!/usr/bin/perl - for Perl meanies.
fork while 1

or also in perl:
fork while fork
#include <unistd.h>
int main(int argc, char* args[])
return 0;

That last one is in C. As you can see there are a bunch of ways to do this – the above examples are only that, examples. Just be careful of code you don’t know with the word ‘fork’ in it, or of typing lots of emoticons into your shell.

Even windows users can be subject to fork bombs in the form of malicious batch code. Here are two examples:

The next kind of code bomb is a tar bomb. Tar is a nifty program for compressing and uncompressing stuff so you don’t have to lug around hefty loads of data. Tared files can be crafted however to ‘explode’ into an existing directory, rather than into a new directory.

An example: Say you’re in your home directory and you have file called foo.tar you want to untar. So you do so and it should untar into a directory called /foo sitting in your home directory. Through malice or bad practice though, it could just untar all of it’s files into your /home directory. This is bad if there are say. . . 487,038 files in the tarbomb. Now you’ve got all the junk to sort through in your home directory. Ouch!

The same can be said for any uncompiled code. If you don’t know where it’s coming from think twice before compiling it. It’s very easy for someone to hide a chunk of malicious code in the thousands of lines of codeit takes to make a program.

Bottom line is – be cautious, don’t run things if you don’t know where they came from and always, always check what a command does if you’re not familiar with it. Not only will this make you more productive and more powerful user but it will help you protect yourself as well. Remember this isn’t an exhaustive list, there are plenty of other tricks out there as well. Be safe.

Edit: Thanks to the commenters for pointing out some errors – I’ve since corrected them!

How to clone your bootable Ubuntu install to another drive

clone.jpgIf you’ve ever wanted to completely clone your Ubuntu install, with all of the tweaks, files you’ve downloaded and changes you’ve made to it, there’s a fairly simple way to do this. What you will learn in this ArsGeek tutorial is great if you want a complete backup, or if you’re looking to move your system to a newer (read: bigger, faster, stronger) hard drive or even just to clone your install to other business machines with the same hardware.

We’ll be using the terminal (Applications-> Accessories-> Terminal) and the dd command to do this. You’ll also need to have your second disk up and running when we get going. You can either have it installed and mounted internally or use an external disk enclosure and USB or Firewire. (Note: Doing this via USB 1 will be excruciatingly slow!)

You’ll also want to either be cloning your hard drive to one of the exact same size, or if you have a larger disk, make a partition of the same size on it and clone to that. Then, use an Ubuntu liveCD to change the partition size (System-> Administration-> Partition Editor). Lastly, you’ll need a Ubuntu LiveCD.

On to the good stuff. Got both disks plugged in? Good! Now you’ll need to figure out which disk you are copying from and which disk you are copying too. In your terminal, type:
df -h
Look first for the partition that’s mounted at root, or ‘/’. Here’s what my root partition looks like.
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 71G 46G 22G 68% /

If you’re using a SATA drive it will appear like that. IDE should be /dev/hda1. See that slash below the Mounted on? That’s the root drive.

Now you’ve got to locate the drive you’re copying too. The same df -h command will do the trick. Look for another disk mounted on /dev/****. If you’re not sure what you’re looking for, first run the df -h command without your second disk mounted. Then plug the 2nd disk in (be sure to shut down if you’re doing this inside your machine and not via USB or FireWire) and run the df -h command again. The newest partition that appears is what you’re looking for!

So if your current root partition is /dev/sda1 and the partition you’re going to copy to is /dev/sdb1 (a USB mounted drive) here’s the command you’ll need to type in your terminal:

sudo dd if=/dev/sda1 of=/dev/sdb1

Replace with the correct paths for your drives if they differ. It’s going to take a while, so grab a book or start up a movie. Maybe go to bed.

Once it’s complete, you’ve got yourself a brand new copy of your current Ubuntu install. You’re not quite done yet though. Now you’ve got to install Grub on your new disk so you can boot from it. Make sure your new disk is attached to your machine and your old disk is unplugged and boot into the Ubuntu LiveCD.

Once your machine boots up, open up a terminal session and type:
sudo grub
Grub will launch and give you the grub> prompt. Here, type:
find /boot/grub/stage1
You should see something come back that looks like hd(0,0). Jot that down, you’ll need it in a second.

Now, still in the grub> prompt, type:
root hd(0,0)
You’ll put in whatever result you go above – it may be different than hd(0,0).

Once that completes, type:
setup (hd0)
Even if you got a result that differs from hd(0,0) above.

And you’re out of grub. Restart your machine, removing the LiveCD and you should be up and running on your new hard drive. You may also encounter a problem on your first boot where the system will try to scan your hard drive for bad sectors. If that fails, you’ll find yourself in a root terminal session. Just type:
Let the disk check finish and you should be good to go.

How to fix your Windows MBR with an Ubuntu liveCD

windows-mbr.jpgSomething happen to a windows Master Boot Record (MBR) that you’re responsible for? Want a very quick, very easy way to restore it with nothing but your craft, native intelligence and a liveCD?

Be cautious here – you’re working with your disks in a very direct manner. If you don’t have everything backed up or are unsure of anything, you may want to wait until you have a standard Windows CD/DVD.

Boot into your Ubuntu LiveCD on the offending machine. Once Ubuntu starts up, go to System -> Administration -> Software Sources and enable (by checking it off) the Universal repository.

Now, open a terminal session (Applications -> Accessories -> Terminal) and type the following:
sudo apt-get install ms-sys
ms-sys is a program used to write Microsoft compatible boot records.

Now you’ll need to figure out what partition is the one hosting your Windows operating system. Back in the command line, type:
sudo fdisk -l
That will list the available partitions. You’re looking for a partition that says something like
/dev/sda1 1 9327 74919096 83 NTFS
The two important bits are the ‘/dev/sda1‘ which is the partition itself and the ‘NTFS‘ which tells us it’s a Windows formatted partition. So your Windows partition exists on your drive sda and it’s partition 1. The MBR for drive sda (assuming you boot into windows using it’s native boot loader) is what you want to repair.

We want to fix the MBR on /dev/sda. To do so, type:
sudo ms-sys -m /dev/sda
You’ll want to change the ’sda’ bit if your results from ‘fdisk -l‘ are different. If for instance your windows install is on sdb or hda.

Once you do that, reboot the machine, removing the LiveCD from the drive and Windows should come back to you.

Sure, you could do this by inserting the correct Windows CD and booting into repair mode from it – but I find the Ubuntu way a bit faster and I’m more likely to have an Ubuntu LiveCD on me than a Windows CD. For alternative ways make sure to search through the posts on our homepage.

How to find your UUID’s for devices in Ubuntu (and other Debian based distros)

uuid.jpgHave a burning urge to discover the UUID’s of your disk partitions? Run Ubuntu or some other Debian based distro like maybe Debian? Well have I got the article for you friend! Here it is, two easy steps to discovering your UUID – and the best part? For two steps I’ll give you two different ways to get that pesky UUID on your screen.

But first, what exactly is a UUID? From Wikipedia we see that a UUID is a Universally Unique Identifier. “The intent of UUIDs is to enable distributed systems to uniquely identify information without significant central coordination. Thus, anyone can create a UUID and use it to identify something with reasonable confidence that the identifier will never be unintentionally used by anyone for anything else.”

For a little more trivia: A UUID is a 16-byte (128-bit) number. The number of theoretically possible UUIDs is therefore 216*8 = 2128 = 25616 or about 3.4 × 1038. This means that 1 trillion UUIDs would have to be created every nanosecond for 10 billion years to exhaust the number of UUIDs. That’s a lot of UUIDs.

These unique ID’s are used by Ubuntu to identify your various partitions for the system. So if you do a quick
cat /etc/fstab
You should see at least one, probably two and possibly more UUID’s in there. One for your primary partition and one for your swap partition, plus more if you have any removable devices, other drives or other partitions around. It will look something like UUID=1c9e4ae2-0ddc-4e3c-8758-4cdd6c90407a.

So how do you discover just what partition belongs to which UUID? Open up a terminal session (Applications -> Accessories -> Terminal) and type the following:
On my system, the output is as follows:
/dev/sda1: UUID=”1c9e4ae2-0ddc-4e3c-8758-4cdd6c90407a” SEC_TYPE=”ext2″ TYPE=”ext3″
/dev/sda5: UUID=”a647ea33-74ee-4123-84bf-7edc32e2e39b” TYPE=”swap”

So sda1 (my primary partition) and sda5 (my swap partition) are identified.

Or, your could type:
ls -l /dev/disk/by-uuid
and see something like this:
lrwxrwxrwx 1 root root 10 2008-01-02 08:26 1c9e4ae2-0ddc-4e3c-8758-4cdd6c90407a -> ../../sda1
lrwxrwxrwx 1 root root 10 2008-01-02 08:26 a647ea33-74ee-4123-84bf-7edc32e2e39b -> ../../sda5

There you can get the UUID and also see who owns the partitions, when they were last touched, their permissions and finally, what they’re called (sda1 and sda5 in this case).

If you’re trying to pin down which UUID is associated with a particular thing, such as your root partition, you can cat /etc/fstab and look for the UUID associated with the mount point “/“.

ArsGeek reviews the Neuros OSD


The first two observations I made when I opened my Neuros OSD were that the unit was a lot smaller than I was expecting (about five and a half inches by five and a half inches in size) and that it looked nice. This was no flat looking boxy apparatus, nor was it a standard component. It was curved, it was sleek, black and more aerodynamic than any other DVR I’ve come across. When I saw it, I immediately decide to publish this review on Arsgeek blog.

I liked the size and the look immediately. Not only was this thing slick looking, but I could easily grab the RCA cables and the Neuros and bring it over to a friends house to watch whatever I’d recorded.


There are a few things that are fundamentally different about this video recorder which may take a little getting used to. First, this product is open. Not open as in the wind blows through it, but open as in anyone can hack around with the firmware, making changes and if they are for the better, giving them to the community. The second change is that this recorder really doesn’t have any storage of it’s own to record to. You’ll need to provide storage in the form of one of the many popular memory cards (complete list below), a USB drive or your networked share.

Taking the Neuros out of the box another thing became apparent. This would be an easy device to set up. You plug two sets of RCA cables into it and plug them into your source (digital cable in my case) and your output (a TV set with me). I plugged the unit in, stuck a 4 GB USB flash drive into the side of it and using the handy remote I turned it on. I set the playback device as Television, the recording device to my USB drive, the quality to normal and started recording. A half hour later I had a full television show recorded on my USB drive. Every port, every slot and every plug is clearly labeled in nice, white lettering. That’s great as well.

I took the Neuros out of my living room and plugged it into the bedroom television along with my USB drive and tested the playback. The quality wasn’t amazing but it was certainly good enough. In fast panning shots I noticed a bit of degradation but on the whole it’s not noticeable if you’re watching a sitcom or just about anything other than sports. You can also select different quality levels – recording at a higher level produces larger files but better frame rate and clearer images.


With the way storage is going right now, you can easily obtain a 4 GB SD card and pop it into the Neuros for easy recording. Need more storage and want to compete with other devices, not a problem if you have an external USB drive. You’ll need to plug another device in (the drive) but it’s certainly feasible to easily attach 300GB worth of storage.

Something interesting I was able to do was transfer an DivX file from my Archos 605 and pop it onto my USB drive. From there I could play it back via the Neuros without problem. This little device handles an incredible range of formats for video, audio and even image playback. I love that it plays .ogg files – this is my first device other than my Linux computers that supports Ogg Vorbis.

The interface on the Neuros is not the slickest I’ve seen but it’s also still under development. With each new firmware release the interface changes for the better. I enjoy the IR device that when placed over the IR receiver on my cable box can change the channel for me. It’s nice to be able to set up the Neuros to record several shows on different channels and then let the box do the channel changing for me. The Neuros is very easy to use, as simple as any device out there and is a fantastic example of Open Source in action.


This product can really be as powerful as you want it to be. If you’re an average home user, you pop an SD card into it and record content for as long as your storage holds out. If you’re a little more advanced, you connect it to your network, update the firmware (or download the firmware to your local PC and put it on an external drive to connect to the Neuros), record video to play directly on your PSP and stream video over your network. If you’re an advanced user and hacker, well you can change the way the Neuros works and make the experience better for everyone.

Pros: This device will record from just about anywhere, play on just about anything and use just about every format out there. Really, you won’t find more flexibility than here. It’s also open which I like on a very basic level. The firmware is constantly changing and making this product better. You can make it as simple or as complex as you’d like it to be. Everything you need to start recording, from the Neuros to the cables to batteries for the remote is included in the box. It’s not horribly expensive and it looks like a sports car.

Cons: In terms of user interface, there is still a bit to be done. Several times my unit froze up on my and had to be power cycled to get it back. I’d love to see a nice program guide for a more TiVo like interface. Wireless would also be great. And even though it’s listed in the pros, one con is that the firmware is constantly being updated to improve the user experience. If you’re not one to have this unit connected to your network at all times (like say, my parents) then you’ll never get the newest updates unless I show up at your house and plug it in for you.

At $229.00, the Neuros OSD won’t break the bank and will give you a full feature, take anywhere, record anything on anything and play on just about everything device. You will have to spend more money on storage if you don’t have anything laying about. With the price of flash memory coming down and the capacity going up, it won’t be long until you’ll be able to pop 30GB of USB flash memory into this box for less than the price of the box itself. I’d love to see S-video out on this, as well as wireless connectivity. Another cable snaking across the floor is not something I’m anxious to have. I’m interested to know if the Eye-Fi wireless SD card would work well with this.

For me, I love fooling around with my Neuros. If you’re at all technologically inclined, you’ll love it too.


Video Standard

* Compatible with NTSC, Pal and Secam (input only) standards

Video Recording

* ISO Standard MPEG-4 SP encoding (MP4, ASF)
* QVGA (320×240) @30fps with AAC-LC/MP3/G.726 audio for smartphones, PSP™, iPod™, iPhone™ and PDA’s.
* VGA setting (640×480) @30fps for PC, TV playback.

Video Player

* MPEG-4 SP with MP3 audio, 30fps up to D1 resolution (720×480)
* Quicktime 6
* MPEG-4 AAC-LC stereo
* MP4 format at up to D1 resolution
* H.263 with MP3 audio
* FLV (for Playback of YouTube videos)
* AVI (including Divx and Xvid)
* MP4
* WMV (up to QVGA)

You can also see a more detailed table of supported video formats for playback.

YouTube browser

* Watch YouTube videos on your TV
* Search the entire Youtube library using keywords
* build a list with all your favorite videos

Photo Viewer

* JPEG decoder (baseline up to 32M pixel)
* GIF (nonanimated)
* Thumbnail view
* Zoom in/out (2x, 4x)

Audio Player

* Stereo MP3/WMA @ 30-320kbps (CBR & VBR)
* Ogg Vorbis
* Stereo MPEG-4 AAC-LC
* G.726


* Schedule (timer) recording
* Customizable slide shows
* One-click record
* IR Blaster to control your set-top box
* Run 3rd party applications

USB Host

* Record to and playback content from any USB mass storage device


* Connect to your network
* Save recordings to network storage
* UPnP support
* Stream Audio/Video from Internet
* Download multimedia content from Internet
* Connect to Windows Networks (Samba client support)

Complete System Includes

* Standard A/V RCA Interface Cables (European units also contain SCART adapters)
* 110-240V AC/DC Power Supply
* Stand
* IR Blaster
* Remote Control
* Abbreviated Users Manual

Dimensions and Weight

* 14 x 14 x 3.2 cm (5.5 x 5.5 x 1.25 inches)
* Weight 230g (8oz)


* System updates and 3rd party applications available at
* Automatic built-in software update

Storage Card Compatibility

* Memory Stick: Duo and Pro Duo
* Compact Flash: Type I and Type II
* Microdrives with CF type II interface
* Secure Digital (SD)
* Multi Media Card (MMC)
* USB thumbdrives
* External Hard Drives