NetworkManager and virtual interfaces, again.

Zeus has a point in his comment, I should blog more often.

Here’s the first: NetworkManager again. I noticed that it doesn’t bring my interface alias up anymore. Must have happened after some upgrade. I am not sure.

As I was trying to figure out what’s going on, I opened the network management interface and looked at various things – and it started to work after that. Kind of frightening.

Even more frightening is looking at /etc/sysconfig/network-scripts/ifup-aliases. Looks like there are people who need such a large number of network interfaces, that they needed to assign them in ranges, hence the ifcfg-$DEV-range* files.

OK, this is not that exciting of a post. I’ll do better next time.

Random bits

Apparently I didn’t get in the habit of blogging short entries often.

Today liferea notified me there is a new release of WordPress that I should upgrade, so I figured I might as well post something.

First off, liferea is slowly becoming a habit. I use it to track announcements about new software (see paragraph above), keep in touch with my friends, read news from ./ and some other news sites. To the point that I have now to see how I can replicate the feeds on all of my computers. Maybe I should try a news reader from yahoo.

A lot of exciting things happened. We’ve finished upgrading rPath’s issue tracker, Jira, to the latest version. And we did it in a eat-your-own-dogfood way: it’s a software appliance living on a Xen machine, as a domU. I was involved in this initially just for the Mercurial plugin for Jira, but figured we might as well go to the latest version of Jira. I had to fix several other plugins that were broken by API change (yes I wish you didn’t have to touch plugins to make them work on newer versions). It’s pretty cool, if your reference a Jira issue in your mercurial commit message, it will get indexed by Jira and linked to the issue (viewable as the Mercurial Commits tab). This link is an example.

The software appliance lets you isolate the application from the base operating system, and it makes it trivial to update it. No mess left on the host operating system either. I know package managers are supposed to help there, I’ve been installing rpm packages for almost 10 years now, trying to achieve that. But the very moment you deploy the system in a production environment, you know things get installed that you didn’t plan for. Conary helps a lot here.

I am looking forward to version 0.45 of Inkscape to land in Foresight. The screenshots look awesome. Ken promises he’ll have it committed in a couple of hours. It’s very nice to have the latest and greatest software, and Foresight is doing a great job there. A big thanks to the Foresight community and to Ken for making Foresight a great distribution – which DistroWatch reviewed yesterday.

On the personal front, we’ve been unhappy with my daughter’s school (or maybe looking for a reason to move into a larger home). At any rate, we’re in negotiations for the repairs the seller has to perform before we close. This is exciting. Except for the hour I spent today with the heating technician inspecting the gas pack in a chilly 18 degrees Fahrenheit. And for the amount of siding that has to be fixed. Hopefully we’ll get to an agreement on this. But I had to spend a lot of time on the phone with lenders, insurance agencies, inspectors, real estate agents and the such.

Lazy…

Wow, almost a month from the previous post. If blogging were one of my New Year resolutions, I’d be behind already.

Anyway, I was pretty busy lately. We had friends visiting for Christmas, more friends visiting between Christmas and New Year, and an orienteering event at Lake Johnson to organize.

I’ve been playing with vmware quite a bit lately, partly for my work with software appliances (which are a very cool concept) and for Condes, the Orienteering course editor. I initially tried to run Condes under wine, and it installs and starts, but for some unknown reason all features on the map are drawn with extra thick lines/points, so everything becomes unreadable. I believe something in the way Condes displays OCAD maps. Otherwise, Condes can be run in Windows under vmware, but it’s slower. I’ve found a thread about Condes on Linux here, and I’ve chimed in, let’s see how much interest my experience generates.

I’ve also dipped my toes in the murky waters of Java programming, working on porting some jira plugins to the latest and greatest, version 3.7.1. I haven’t decided yet if I like maven or not. The fact that maven2 is not backwards compatible with maven1 (and doesn’t complain if it can’t find the .pom file) makes me a bit hesitant. Also, packaging Java applications feels weird: each application ships with all the jar files. Sure, you remove the inter-dependency between applications, you can now independently upgrade one without touching the other, but if you have a security issue and have to patch version X of a jar file, you’re dead in the water since there are no good ways you can list all applications that use a jar (that I could find, at least). That’s my 10k foot view of a subject I am not familiar with, so take it with as much salt as you like.

Back to software appliances. Isn’t it nice that when you need a PostgreSQL database server, you just go and download a PostgreSQL appliance that you unzip and start using vmplayer or xen and run it as a server? It even comes with phpPgAdmin, so you can do all the administration remotely. It literally takes a few minutes to have something up and running and not worry about extra packages you have to install, extra hardware to solve possible security problems etc.

One final gripe. I spent an hour last night with someone from Fidelity trying to understand where some of my ESPP stock has gone. To make the story short, they will gladly lose history of your purchases because the software that does the transactions uses an “oldest first” policy. Enough said. Your assets are still there, it’s not like you lose money, but you do lose important historical information.

NetworkManager and virtual interfaces

My wireless router is an old Linksys BEFW11S4 (801b). I wouldn’t ask for more in terms of speed, when I’m working from the laptop the bottleneck is the upstream Internet provider (cable), and if I have to transfer massive amounts of data between the laptop and the home computer, I can connect directly into the router with a wire and get 100Mbit.

But there is something my router doesn’t have: static DHCP assignment of addresses. I hate it when I’m on the laptop and I don’t know the IP address of the home computer. I could configure the IP address on the home computer statically, but since I also have to use OpenVPN I’d have to set up dnsmasq so I can get the proper DNS server when connecting to the VPN. Or I could use NetworkManager which would take care of switching the name servers for me.
One solution I found was to have the eth0 interface on the home computer be assigned by the router via DCHP, and have a virtual interface (alias) eth0:0 configured with a static address that I can ssh into.

OK, so I’ve set up the alias in /etc/sysconfig/network-scripts/ifcfg-eth0:0 (I’m not a GUI guy when it comes to configuring the networking, I prefer to go directly on the filesystem and write the file myself – nevertheless, using system-config-network would do the same thing for you).

Except that NetworkManager will not bring the interface alias up. It will bring the main interface up, but not the alias.
After digging a bit, it turns out NetworkManagerDispatcher is at fault, and this is the solution I found:

  • mkdir -p /etc/NetworkManager/dispatcher.d (on a newly installed system it was not created by default)
  • Add this eth-subinterfaces file to /etc/NetworkManager/dispatcher.d:
#!/bin/bash

iface="$1"
shift

action="$1"
shift

if [ "$iface" = "eth0" -a "$action" = "up" ]; then
/sbin/ifup eth0:0
fi
  • Make sure you chmod 0755 /etc/NetworkManager/dispatcher.d/eth-subinterfaces
  • You may or may not have to restart NetworkManagerDispatcher (I think it just worked for me):
    • /sbin/service NetworkManagerDispatcher restart
  • Click on the NetworkManager icon, disable networking and re-enable it.

At this point, ifconfig should show the interface alias.

The Battle of Wesnoth

After reading an article about Linux games I’ve found out about The Battle of Wesnoth. It was ranked as #1, with Frozen Bubble (which I played before on my Fedora system).

Being tired of chasing 3 very strange bugs I’ve been working on for the past 3 days or so, I’ve decided to package the games for Foresight. I’ve only managed to get to wesnoth. You can get it from the foresight.rpath.org@fl:1-contrib branch.

Frozen bubble has a ton of dependencies, I have to build those first.

gnucash 2.0.2 for Foresight

Yesterday I finally got around to transfer the recipes from my private Conary repository into the foresight.rpath.org@fl:1-devel branch. Everything is now built, you should be able to use the above label to try out the newer gnucash.

Some of the intricacies included:

  • newer guile and slib packages conflict with umb-scheme. You’ll have to get rid of umb-scheme.
  • gnome-games needed to be recopiled against the newer guile.
  • guile and slib are pretty evil to compile, I had to use tag handlers. You have to start somewhere :-)
  • I have split the HBCI support into a different package, gnucash-hbci. The reason for that was the extra dependency on aqbanking which was pulling in the KDE libraries.
    This extra package would allow you to do online banking with Gnucash, if your bank supports the OFX protocol (and most do, except that you will not get that information from the bank). Follow this link to learn more than you wanted to know about the mess.

Happy managing of your financials! :-)

gnucash

I’ve read some recent posts about how cool gnucash is, and decided to give it a try. This is the second time I try to use it, hopefully this time I’ll stick with it.

My first experience was “interesting but too buggy”. That was probably a good 2 years ago. Ever since, it has come along nicely. Last night it did not crash on me, not even once. It handled both *.qif and *.qfx files, I used the files downloaded from my accounts (bank). I know I’m not supposed to do that, normally one would keep records of the expenses and would reconcile against the statement – downloading the transaction from the bank will not make sure the bank hasn’t mistakenly messed something up. But I needed some data.

Once I had the data imported, I started to assign it to various gnucash “accounts”, and I got hooked when I saw how easy it is to see how much you paid the cable company etc.

Although it got to be pretty late in the night, I decided to give scheduled transactions a try too – that was one of my biggest worries with gnucash. I used to keep my finances in a gnumeric spreadsheet (I did converted it to .xls at some point so I can read it with OpenOffice if I had too – even though gnumeric is supposed to handle the Open Document Format too). Every month I would copy the block of transactions from the previous month, manually change the dates, keep only the transactions I knew about etc. As it turns out, gnucash will do the scheduling for you automatically (you do have to choose between having the transactions created automatically for you some number of days in advance or be prompted when such a transaction is created).

Around 2AM I finally decided to go to bed, after being pleasantly surprised and very committed to switch away from the spreadsheet.

Whether I will really input all the receipts in the system and reconcile with the credit card statement or just mark the payments from the checking account into the liabilities/credit card account, that’s to be determined – I think it would make sense to spend the effort of tracking down the receipts, I’d be curious to know how many errors the banks made in my credit card statements. If you think it’s not possible, think again: it happened twice so far to have a check debited by the bank with $5 or $10 extra, even if the other side got the proper amount. I caught those errors because they were in my checking account, but I am not that rigorous with my credit cards – if I recognized the transaction it was good enough for me, I wasn’t checking the amount very carefully at all.

The Choice of the Music Player

Last week I started the thread about music players and now I can give more updates.

I have only looked at Banshee and Rhythmbox. There were enough plusses on the Rhythmbox side to make me keep it as the music player of choice.

On the stability side, both seem to crash as often and randomly. Looking at the changelog for Rhythmbox, at least some of those were fixed between 0.9.5 and 0.9.6. I will probably recompile 0.9.6 and see if that’s true.

On the speed side, Rhythmbox beats Banshee hands-down. Browsing a repository over DAAP is especially painful with Banshee – changing from one repository to another takes ages even for low thousands of items. Rhythmbox seems to do a much better job at caching that information.

On the usability side, I was able to figure out how to create a playlist in Rhythmbox, but it wasn’t obvious how to do it in Banshee, plus I managed to crash it several times in that area.
Looks like I’ve made my mind…

… And the week after the week of vacation

First week at the new company (rPath). Not a lot of comments, other than I am trying to learn as fast as I can.

I’ve started by installing rPath Linux on the laptop, and just finished reinstalling it with Foresight Linux, mostly because I was looking for more recent versions of NetworkManager, XChat and a working suspend-to-RAM. Plus, Foresight has a lot more desktop goodies.
After using Foresight for about half an hour, I can say I got 33% of what I wanted. XChat has been replaced with xchat-gnome, and suspend didn’t work in different ways (no kernel support – easily fixed by running the rPath Linux kernel). Another thing is the music player: Foresight comes with Banshee whereas Fedora Core 5 comes with Rhythmbox. Apparently I will have to look at Amarok too.

I did spend some of my time with paperwork, inherrent to getting a new job (new health insurance plan etc.).

Hopefully I will not be subject to the viruses that are affecting some of my friends (no, not computer viruses, I’m talking about cold/flu), and the weather on Sunday will hold for the orienteering event.