XML RPC Using Ruby On Rails Mar 2, 2007
Just wanted to link to a wiki article I wrote as part of my internship at Red Hat. When rewriting the internal Errata Tool using the Ruby on Rails framework, one of my tasks involved porting the XMLRPC server which the errata tool provides to other applications that use errata (such as bugzilla). After looking into the topic, and writing the required web services, I wrote the following article summarizing what I learned: How To Write An XML RPC Service using Ruby On Rails. (Also available here incase the previous links is taken down or vandalized)
Installing Slackware 11.0 on the Acer Aspire 5102WLMI Notebook Feb 18, 2007
(Standard Disclamer: I am not responsible for any changes you do to your system and their results/outcomes, follow this guide at your own risk!)
Overview: To make things short, I bought this laptop to use in grad school last fall. Overally it is a nice (not great) notebook that I bought for a reasonable price though Unfortunately I was unable to get my first distro of choice working, Fedora 5, as the installation worked 100% but the system froze when intializing udev, early in the boot process. Afterwards, I installed Ubuntu, without any glitches, and spent a while configuring the system so that it worked properly (for some reason my synaptics touchpad was giving me alot of trouble). Unfortunately after all the hastle, the laptop would boot/run as normal but would periodically suddenly just freeze when in use. There was no single action that caused this, and after much debugging, I gave up and decided to try my staple and still favorite distro Slackware.
General Hardware Specifications:
|Hardware Components||Status Under Linux||Notes|
|AMD Turion 64x2 (64-bit, dual core) CPU||Works||Select right processor in kernel config. All ACPI power options built into kernel for full power management support|
|512MB DDR2 RAM||Works||No special setup needed|
|100GB PATA Hard Drive||Works||ATI PATA chipset must be enabled in kernel config|
|Touchpad||Works||Enable synaptics and psmouse drivers in the kernel|
|Speakers/Headphone Jack||Works||No special setup|
|ATI Radeon Xpress 1100||Works||Required a bit of configuration, see below|
|Realtek Ethernet network card||Works||Just select appropriate driver in the kernel config|
|Atheros Wifi Network Card||Works||Had to fiddle around to get this working, see below|
|CD/DVD Reader/Burner||Works||No special setup needed|
|USB Port||Works||No special setup needed|
|Card Reader||Not working||Didn’t mess around with this too much, but I’m unable to mount a SD card that I have|
Steps I performed to get Slackware Working: 1. Immediately upon reciving computer, boot into Windows XP and go through the Acer setup / create a backup cd.
- Wipe the hard drive clean (note you will lose a small Acer recovery partition located in the first sector of your hard drive, but you don’t need this) using a live Knoppix CD, and created/formatted 4 partitions:
- /dev/hda1 20GB vfat for Windows XP
- /dev/hda2 20GB ext3 for Slackware
- /dev/hda3 1GB swap (yea this is probably alot bigger than I need but w/e)
/dev/hda4 55GB vfat for shared documents and data Knoppix has a graphical tool called kparted to do this. Just simply boot from knoppix (you might have to use the ‘noagp’ and/or ‘nohotplug’ boot options to do this, I cant recall though), launch a terminal and type ‘kparted’, then format as necessary.
Reboot and put the Windows XP backup cd you made in step 1 into the drive. Restore your Windows XP installation to the first partition (make sure you can boot and everything works)
Reboot and place the slackware cd/dvd you downloaded into the drive. Install Slack. Space isn’t really an issue, so I went with the full install and chose to install Lilo over the MBR. I had slack mount windows xp under /mnt/winxp and my shared data partition under /mnt/shared
Boot into Slack, there should be no problems getting the system up and running. I did have a few issues with some hardware at first, and you will need a hard link to your ethernet port at first for an internet connection (eg. wifi doesnt work) and you should use the physical terminals (ctrl-alt-f1 though f6) as the touchpad is unusable.
I downloaded swaret to manage packages and dependencies for this box. A pet peeve I have with Slackware is that the built in package management system does not support dependency resolution (done on purpose for simplicity) and many of the packages out there are not setup to work with the external utilities to do so (such as Swaret). This of course depends on the community and is getting better everyday, and I plan on contributing a few packages which I manually installed/compiled to the Linuxpackages.net repository once I refamiliarize myself with Slackware again (it was my first distro, but I was using Fedora for a long time since then). Regardless, my /etc/swaret.conf file is attached for your use. I disabled the FTP repositories as I block FTP in my network firewall.
Since slack comes with the 2.4.32 kernel by default and the 2.6 kernel in the repo is a bit outdate (albiet not by much; eg. is 2.6.13 and the current kernel in development is 2.6.20), I decided to download and compile the 2.6.19 (current stable version) kernel from kernel.org and get my hardware working from there. Note: Later on in the process I downloaded and installed the bootsplash package in the Slackware repository to enable a graphical bootup for my system. My kernel configuration which I have included with this article incorporates the patch which enables the startup bootsplash in the kernel. I’m not sure if trying to use my config with a native kernel (eg. without the bootsplash patch) will work. You can find the patch I used here: http://forums.debian.net/viewtopic.php?t=10983
Copy the kernel config file included with this post to the /usr/src/linux-2.6.19/.config file, then run “make”, “make install” (this will overwrite the kernel you are using to boot your system, so make a backup, but all should work regardless), “make modules_install”, and “lilo”. Then reboot
At this point most of your hardware should work. I’ve included my lilo.conf and xorg.conf files with this post incase you need trouble.
Because I prefer gnome to KDE, I installed dropline-gnome from the slackware repository (using the install tool which was provided, I installed all applications that came with it), as well as libgksu (from the repo), and gksu (which for some reason did not come with dropline-gnome and was not in the repo, thus I had to d/l the source, compile, and install manually; simple process though with no hickups).
To get wifi working, I downloaded/compiled/installed the madwifi driver (simply google “madwifi”). I added “/sbin/modprobe ath_pci” to /etc/rc.d/rc.modules, restarted, and whala the wifi card was present and worked (I connect to the network via the NetworkManager applet in gnome, which offers an incredibly simple interface which to select and connect to availible networks in the area).
My ATI Radeon Xpress 1100 Graphics Card gave me a bit of trouble. All in all, it turned out to be a kernel issue, and the working kernel/xorg.conf is attached. Essentially after compiling your kernel and rebooting (so that your using it), download the ati linux driver from www.ati.com (xpress1100 will not be on the list, but as far as i can tell there is only one linux driver). Since the header linux/config.h was removed from kernel 2.6.19, and the ati driver code relied on this, I simply copied config.h from an old kernel to my current one (eg. cp /usr/src/linux-2.4.30/include/linux/config.h /usr/src/linux-2.6.19/include/linux/config.h). Then simply run the installer script as root, and upon successful completion, backup your /etc/X11/xorg.conf and run “aticonfig –initial”. Finally reboot and test 3D acceleration w/ GLX gears. Notes: your running kernel cannot include support for DRM under character devices, if it is a module on your system, disable it. My attached kernel config has it disabled, so you can just use that. Furthermore, every time you upgrade your kernel you will need to run the ati driver installer so it builds a new driver for your kernel.
Unresolved Problems: * Bootup takes a long time. On the same machine, Windows XP takes about 30 sec to bootup to the login screen (though from login to usable system takes longer than in Linux) while Slackware takes anywhere up to a minute and a half to boot. When I had Ubuntu on this system, it never took longer than 40sec to boot, and I feel this is because I have a big kernel (built all my required drivers right in, instead of making them modules)
In the middle of startup I get alot of “hdacodec invalid deprange_val 0x7ff” errors in sequence (everything before and after this is bootup is flawless). Googling this, I found that many people have this issue and it has to do with my soundchip, but since audio works flawlessly, and the bootup text is hidden by my bootsplash I decided I wouldnt try to fix it and break something in the process (Murphey’s Law)
I would like to install Grub over Lilo for a bootloader (mainly because I would like a graphic instead of an ugly red menu), which is a simple process but will be done at another time
The card reader does not recognize cards inserted into the slot and no corresponding devices appear in the filesystem. This is most likely caused by a missing driver, but I have no pressing need for it and thus this will remain unresolved for now.
I attempted to get gdesklets working (installed from a package from the repository) for the “Dock” widget, but am getting errors whenever I try to run the program and will work on this issue another time.
Attached Files: * 2.6.19 Kernel config (recall this is with the bootsplash patch) * lilo.conf * swaret.conf * xorg.conf * “lspci -v” and “lsmod” output from my working system * glxinfo output
Conclusion: I really like Slackware. Minus a few minor annoyances, Slack has always proven to be a solid, simple, and powerfull distro that just works. If some hardware isn’t working, its simply because the driver isn’t present and getting it working simply involves downloading the necessary software, (compiling it,) and installing as necessary. You never have to digg to far to try to debug a problem and once you setup your system (and dont mess with it :-p) it will forever work.
Hope this helped you! (As I play around with this machine more, I will keep this article update with what I did and the effect on the system).
Cell Phone Missing Feb 16, 2007
Unfortunately after one and a half years, I’ve misplaced my v710 cell phone for the first time. I really liked this phone (despite having to go through hell unlocking all the features which Verizon promoted but disabled on the phone), and really don’t want to buy another, especially since my contract is up in April, after which I am planning on discontinuing my Verizon account (overpriced, and not worth it). In the meantime (until I find it or buy a new one) I will only be able to be reached via email and aim. (with my luck, its burried under the 11 feet of snow we got this week!)
Disabling mplayerplug-in mp3 support in Firefox 2 Jan 23, 2007
I use my personal server to store my multimedia so that I can access it from any computer in my house. The other day, I found Ampache,a really nifty web-based utility that allowed me to access and listen to my music from any web browser. While this is a great addon to my infrastructure, I became quickly annoyed as Firefox 2.0 installed on Slackware on my laptop would default to using the mplayerplug-in to play my selected music. (I’d rather open playlists in xmms or amarok). After a bit of unsuccessful searching as to rectifying the problem from the firefox interface (not sure why you cant manually edit “File Type” associations in the preferences configuration), I found this tutorial on how to modify the mplayerplug-in settings, http://mplayerplug-in.sourceforge.net/config.php
Simply, just follow these steps (close firefox before you start): 1) If you have root access and want to change this for the entire system, edit /etc/mplayerplug-in.conf, else modify ~/.mozilla/mplayerplug-in.conf or ~/.mplayer/mplayerplug-in.conf (either works equally well)
2) Add the following line to the bottom of the file: enable-mp3=0
3) If you are modifying the /etc file (your root), run the following command: touch /usr/lib/mozilla/plugins/mplayerplug-in.so (might be /usr/lib/firefox/plugins/mplayerplug-in.so on your system)
If you are modifying one of the local mplayer config files in your home dir, run the following command: rm .mozilla/firefox/pluginreg.dat
Next time you start firefox, you can navigate to about:plugins to make sure mp3/m3u support is disabled. Next time you try to open a mp3/m3u, firefox will prompt your to save/open the program, at which point you can select xmms/amarok and instruct firefox to always use that to open the file type.
Here we go again.... Jan 19, 2007
This is my second attempt at a blog, which in itself is a small part of my entire network overhaul. I’ve learned alot from my previous attempts, and hopefully this time around everything will go smoothly as planned and I’ll get some visitors to the site ;-) Regardless, look forward to the start of commentary on a great deal of issues in the coming weeks. Hope to see you back again!