tiistai 21. heinäkuuta 2009

Beginner's guide to Linux: openSuSE 11.1 exploring the desktop and system configuration

In previous screencast we demonstrated how easy it is to install modern Linux distribution (openSUSE 11.1 to be exact). In this screencast we explore a bit the newly installed system and the new KDE4 desktop. We also learn how to access YaST, a superb system administration tool and how to change display resolution with it.

KDE is one of the major desktops available for Linux, the desktop means in this case the graphical interface that user sees in front of him when he is using his openSUSE system. KDE went through major changes from the "old" KDE 3.5 series to the new KDE4 series, to a point that the new KDE is a complete re-design of the desktop metaphor. KDE has always been my choice on desktop and because openSUSE does great job 'releasing' KDE it has only deepened my admiration for the openSUSE project. KDE.org has a nice visual guide to KDE4, check it out!

YaST is no doubt one of the single most greatest aspect of openSUSE Linux distribution. People that have not used it seem to think that it is yet another package manager (if that was the case it would be called YaPM). Truth is that YaST is so much more than simple software installation tool, it is everything that is missing from most other Linux distributions and that is a centralized system administration tool that makes configuring your system easy. Want to partition your drives? Simple, use YaST. Want to setup your monitor to correct resolution? Again thats simple just launch YaST. Want configure file serving or other server functionality? YES, use YaST!

In video below I'll shortly present the two aspects I like most about openSUSE, as described above they are: great KDE desktop implementation and YaST. By KDE implementation I am not saying that openSUSE devs did all the work, but they compile a great release with fixes and polish to the KDE code.

Notice, the above video should load, by default, in HD mode. So just ignore the recommendation on the video to "turn on the HD resolution".

torstai 25. kesäkuuta 2009

HTPC reincarnation

Three weeks ago I placed an order for couple of HTPC suitable terabyte hard drives. It seems that hard drive selection has grown quite bit since last time I was shopping for drives. Seagate has long been my favorite, because of their long warranties and my personal experiences with their drives. So this time my choice was Seagate's LP (for Low Power) drives with spinning speed of "only" 5900 RPM. In exchange Seagate is promising lower wattage, less noise, less heat and better reliability for these drives compared to other desktop-grade hard drives. To me they seem ideal to my HTPC usage, they are only Seagate terabyte drives that have five years warranty and quite cheap (84€ each).

So finally getting those drives means that I can start messing around with my HTPC once again. As I mentioned in some older post, it has been working too well lately and I been kinda wanting to get something to fiddle with. I've learned from my last HTPC upgrade though and I am keeping my old installation parallel to my new installation, so we can watch TV and do the rest of HTPC stuff during the next few weeks.

Enter Debian
I've decided to try Debian this time, instead of the old trusted Gentoo. With Gentoo I seem to always to break the Portage in the end to such state that I don't want to install or update anything in fear of breaking something critical. Last episode was unsuccessful Python update and the result a only half working Portage.

As always, it has been a pain in the ass to get my machine to boot from any installation media. This time around it does not seem to care for my boot CD's and I resulted to installing Debian Lenny from USB memorystick. I wanted to install Debian Testing from the start, but I had trouble with the USB installer, which was complaining about disparency between Linux Headers on the installation image and the running kernel from the Debian Installer. I could not find a easy solution, so installed the stable Lenny and upgraded to Testing first thing after installation.

I also managed the most complicated partition setup to date (personally). I wanted to have several RAID1 devices and a LVM volume, which made the partition count reach 12!
So here is what I did:
-/boot 100MB on RAID1 with EXT3
-/ 20GB on RAID1 with XFS
-Swap 4GB on RAID1
-/htpc 20GB on RAID1 with XFS (this partition houses eg. cache data for MMS multimedia libraries)
-/safe 200GB in RAID1 with XFS (this partition is for backups, mainly our photos)
-/video 2x750GB in LVM with XFS (this partition will contain solely PVR DVB-recordings)
The reason for using LVM with /video is that I can add more capacity easily later on once I manage to fill the the 1.5TB. 1500GB sounds quite a lot, but I can fill that up quite easily by running automatic timers for our household. I also do not consider the recordings critical enough to warrant RAID mirroring.

Next up, compiling a custom kernel, hopefully it will be quite easy to have the latest 2.6.30 version.

lauantai 20. kesäkuuta 2009

Beginner's guide to Linux: openSuSE 11.1 installation guide

It is evident from the earlier blog entries, that I've been into making screencasts lately. I've started a series of screencasts called "Beginners's guide to Linux", in which I use openSUSE 11.1 to demonstrate how to install and use a modern Linux operating system. Of course the choice of Linux distribution and the desktop environment can be argued to infinity, I've decided to use what I use currently myself and following videos will feature openSUSE 11.1 with KDE4 desktop.

There are several ways (the case always when dealing with Linux) you can choose to install openSUSE 11.1. First you could download the LiveCD's, so called because you can boot your computer from them without installing anything, although you can actually install a basic system from the LiveCD also. Nice thing about LiveCD's is that you get to see a preview how you desktop looks and behaves, how openSUSE detects your hardware and so on, without actually installing anything. Keep in mind though that booting to a LiveCD environment will present you with slower system and with less functionality than you would get with doing a real hard drive installation. If you want to try out a LiveCD, you need to choose between the two (main) Linux desktops, KDE and Gnome. Second way to install, which I like the best, is to download the DVD and install using that. The DVD offers a better installation program, more choice in software and you can choose between several different Desktop during the installation. Head to http://software.opensuse.org/ to download the CD or DVD image.

First screencast starts where any Linux beginner would, installing the system. While it is nowadays very easy to install any modern Linux distribution, there might be some points like partitioning where beginner can feel out of their depth. The video is fast forwarded during the tedious bits of installation, so expect to spend something like 20-60 minutes when installing it, depending quite a lot about horsepower on your computer. On this screencast we are using 32bit DVD.

Notice, the above video should load, by default, in HD mode. So just ignore the recommendation on the video to "turn on the HD resolution".

torstai 11. kesäkuuta 2009

My Digital Self

In the beginning
I started of my computing career with a second hand Commodore VIC-20, I was around 7 or 8 years old at the time (that's 1987-1988, I was born in 1980). Shortly after the VIC I got a brand new Commodore 64 as a present from my parents, from my C64 days I recall quite vividly playing a lot of Giana Sisters, F-15 Strike Eagle and a game about M1 Abrams Main Battle Tank. I also got my first introduction to programming with C64's Basic.

After the Commodores I had a quite long pause until I got my first PC, although I was a very reqular quest at my friends who already had their own PC's. I think I was around 14 years old when my family bought a 90mhz Pentium desktop and it was so cool I was almost torn in half in excitement. The operating system then was of course DOS and Windows 3 and a bit later Windows 95. Funny to think that in this point Linus Torvalds had already released 1.0 version of Linux Kernel, but I was not aware of it, not at all.

Since then I've had several desktops and a occasional laptop. From 1994-2004 I was using first Windows 3, then Win95, Win98, Win2000 and then Windows XP. I was always very curious about the operating systems and how to tweak them to their maximum performance, that was mainly because I never could afford to buy the absolute latest and greatest hardware available. So I have a good decade of experience in different Windows systems.

First touch with Linux
My first serious experience with Linux was at my summer job during 2004. The job was at one the biggest IT corporations in Finland and I was tasked testing software that ran on UNIX platform. I don't remember anymore what gave me the push to install Linux to one extra computer that I had at work, but I soon noticed that my work (connecting to various UNIX servers, debugging them and so on) got much easier with Linux. The distribution I installed (at that point I didn't know there were others) was Red Hat, but I soon found out about the new Fedora Core project and decided to install Fedora Core 1 at home desktop to dual boot with Windows XP.

Fedora Core 1 did not actually impress me that much at the time, I found it to be quite unstable, requiring quite a lot of manual configuration to get basic things working and, being a newbie with Linux, quite easy to break. So I continued us
ing Windows XP as my main OS, playing computer games was a big hobby of mine then anyway, but I recognized the potential that Linux held.

Age of nerdism
I think it was around fall 2004 that I dreamed up a nice PC customization project. I decided to try and fit a small Pentium motherboard inside a old Sony cassette tape player to make a retro looking MP3 player. I managed to fit the motherboard with 200mhz Pentium CPU and 96MB RAM, heavily stripped power supply unit, 3.5" hard drive, a sound card, a network card and a video card inside the little cassette player (quite like the one above). I even managed to install Debian on it, but partly because I faced some problems configuring Debian to work with my hardware and partly because I was worried about burning down my flat, the project got abandoned.

After the MP3 project I quickly tested Fedora Core2 and Mandrake on my desktop, I still was not convinced enough to stop using Windows XP but then along came SUSE. I was sold from the start. It recognized all my hardware and the configuration with YaST was so easy that I actually was very impressed and from that point on (end of 2004) SUSE or later openSuSE has been the main OS on my desktop. Although I still sometimes boot to XP to play a occasional game, it is Linux 99% of time. I even had couple of years there when I was completely Windows-free.

During past years besides running openSuSE on my personal desktops and laptops, I've created three HTPC/DVR's using Gentoo (one for myself, one for my parents and one for my little brother), I've run Ubuntu on my work laptop for a year, since then installed both my work machines to run openSuSE and been recognized as RHCE. Nowadays I work as a Qt software developer and besides the day-to-day development work I also administer four Linux continuous integration servers for our software project.

So in summary, it could be said that The Penguin has been good for me. I think it is time to give something back to the community and that starts in my next post.

tiistai 9. kesäkuuta 2009

Secrets of screencasting in Linux

"A screencast is a digital video recording that captures actions taking place on a computer desktop. Screencasts, which often contain voice-over narration, are useful for demonstrating how to use specific operating systems, software applications or website features."
Definition by: WhatIs.com

To be honest, there is nothing mysterious about screencasting on Linux operating system. Plenty of applications exist from recording your desktop to audio and video editing. But the small advice I can give is in form of applications that I've tried and found out to work best for my needs.

For me the workflow is only three phased, phases being: recording the video, editing the video and adding audio, and finally uploading the video Youtube and creating captions. Because I am not doing any voice-over narration (my english is not that good) I can skip any advanced audio editing that might be otherwise required.

Step one of the workflow is to record the video from your desktop. I've experimented with few applications and found out that application called recordMyDesktop suits my needs best. recordMyDesktop gives me stability, simplicity and performance that I require and most importantly it gets the job done. Changes are that you can find this application straight from your distributions software repository. recordMyDesktop saves the video to Ogg Vorbis Video format (.ogv) but on step two you can convert it to pretty much anything, besides at least Youtube accepts ogv-files just fine.

Step two is to edit the recorded video and add some audio to go with it. The application I use for this is called Cinelerra, it is a long standing video editing software for Linux and might actually be a bit "overkill" for screencasting needs. Previously I've edited a 7 minute making-of documentary of indie film called "Korpinkieli ja Vaeltaja" (website in finnish only) using Cinelerra.
Although it has been over three years since then, Cinelerra still feels very familiar and is now considerably more stable. Check out the tutorials on Cinelerra's website to get going, I assure you that once you get going it is very nice tool. After the video is edited it is time to add audio track. Because I'm no good as narrator, I've only added some Creative Commons music to the video.

Step three starts with uploading the video to the chosen video host. I am using Youtube, but of course there are also alternatives like Vimeo. After the video is uploaded I usually create the captions using the Youtube's caption editor. After that the video is ready for publishing.

Widening the scope

This blog started off as my personal diary, sort of, marking down my steps to Linux HTPC nirvana. Since the HTPC has been working pretty much flawlessly and I've been reluctant to fiddle with it, there has not been nothing to write about lately. So as of now I'm widening the scope of this blog to include also other things digital, besides just Linux and it's uses in HTPC.

The original intent of the blog will be tested soon. I've ordered couple new terabyte hard drives for my HTPC and they will house the new installation, actually the fourth incarnation of my personal HTPC. New drives are necessary because I don't want to lose my current setup so I've something to fall back onto in case something goes "horribly wrong". The old blog entries should come handy when I start anew, albeit this time around it will be Debian Linux not Gentoo. But more about that later on.

What those "other things digital", that I mentioned in the beginning of the entry, will be, I do not know yet. One idea is to blog about digital photography, a dear hobby of mine. Second thing is that I've been testing my mettle in screencasting lately and I would like to dedicate few blog entries to them next.

perjantai 9. tammikuuta 2009

Plans for the future

Everything has been working very nicely in my current HTPC installation since it's installation early 2008. Because of that, I think it is time to upgrade, the proverb "Don't fix it if it ain't broken" does not seem to ring any bells for me. I guess there has been too little tinkering lately.

New hardware?
Anyway, I am not planning any major hardware upgrades, I've been thinking of getting myself one of those small Logitech DiNovo Minis. But besides that I am mainly thinking about software upgrades, and plenty of them. I am still thinking of the best way to do the complete re-installation. I will be keeping the old installation as a backup, because from the past experience I know there will be some problems and delays before I get to same state of HTPC-nirvana I am with my current installation.

It remains to be seen if I figure out a way to do this without buying new harddrives, but it might be the safest bet to get two new (and bigger) drives from shop. It would also enable me to change my old Seagate disks to Seagate special DB35 or SV35 class of harddrives, which are designed to be run on HTPC, NAS or other 'embedded' systems. I have those already in my NAS and they seem to do what they promise, ie. low noise, low wattage and low temp, also because aforementioned things they should be more reliable.

New software!
On software side I have some grand plans.
First of all I want to install the latest Gentoo 2008 and the latest Linux Kernel. I want to also create RAID1 that I previously had, but also create separate LVM setup that houses recordings, this LVM shows itself as a single filesystem for VDR which can be quite difficult at times when using multiple filesystems for saving the recordings. Also LVM enables me to easily extend the space by adding new drives to LVM and thus expanding the space available for my recordings.

"Witness the power of this fully armed and ...
eh I mean "full upgraded" and operational HTPC.

With the new Gentoo and kernel I want to test out new ways of making the boot process even faster. Somethings called baselayout-2 and openrc should speed up it quite significantly. Who knows maybe the new kernel has better support for my motherboads ACPI and I can also enter Suspend2RAM and actually resume from it.

New kernel means that I have to once again change my kernel config, which gives my a good opportunity to take some features into use that I have previously disabled. I want to have AutoFS available to allow me easily mount Samba and NFS shares from my network, even if the shares are not available at boot time. I also will need to enable NFS support, NTFS support and FAT support in my kernel, to enable mounting of network shares and USB connected drives.

I also will probably update to latest Nvidia driver which enables hardware based video decoding, this is done with NVIDIA VDPAU support that was added in the latest stable driver 180.22. This also leads me to upgrading my Mplayer and Xine to enable support for the VDPAU. When compiling new Mplayer I need to keep in mind that I should enable mencoder make flag, that way I can use mencoder to automatically encode my DVB recordings via scripts.

Two of my main HTPC softwares are also in for a major upgrade, this is if I can wait until the 1.1.0 final of the MMS will finally by released. VDR has also received a major upgrade from my old 1.4.7 version as the 1.6 branch has gone stable. Especially the new VDR I fully expect to give me lots of headache, I run quite many plugins in 1.4.7 and I am not completely sure of their compatibility. 1.6 version of the VDR also enables me to use UTF8 finally, which should help me with filenaming problems. With these two upgrades I will also need to change my lirc setup and enhance the functionality even further.

Finally I plan to improve the fault tolerance of the system by duplicating the system partitions in that way, that if the first system fails for some reason, it will use the backup system automatically. I have done this with good results with my parents VDR setup, where the main disk is showing signs of ageing.