Archive for June, 2011

Fedora 15 rocks on ThinkPad.

On Friday my new Lenovo ThinkPad x220 arrived and of course in the evening after I finished work, I was jonesing to put Fedora 15 on it. The machine is a type 4286CTO (Smolt info here). I started by booting into the BIOS and checking the options as shipped by Lenovo. There wasn’t much to change here, other than to enable hardware virtualization so I could more easily run KVM on the laptop should I choose to do so later. I didn’t enable the extra direct IO option, VT-d, because I’ve seen it cause weird installation problems in a lot of cases.

While I was starting to work on my new laptop, I also took the time to refresh my backup of data on the laptop I’ve been using, a ThinkPad x201 graciously lent to me by Tim Burke when my Dell XPS M1330 started to go belly-up a couple months ago. I used rsync to sync everything to a large USB drive.

Then I grabbed a spare 64-bit Fedora 15 Live USB key with the standard Desktop image and booted from it, just to see what I might expect from an installed system. I was impressed (but not really surprised) to see that everything worked great out of the box (with one trivial exception I’ll cover below). Not only the standard stuff like video hardware acceleration, special keyboard buttons, Bluetooth, sound, and suspend/resume, but also stuff like the webcam (at full resolution) and wireless. So I tried an installation from the Live key, and everything went fine — and fast, due to the new 2nd-generation “Sandy Bridge” Core i7 processor on this notebook.

Booting that went flawlessly, so I decided to try a more full-featured install over the network. I copied the pxelinux images for the kernel (vmlinuz) and initial ramdisk (initrd.img) to the /boot folder, edited the /boot/grub/grub.conf file to add a boot stanza, set the new boot stanza to be the default, and then restarted. Spoiler: this installation also went flawlessly. When it came time to deal with the package configuration, I did two things:

  1. Using the installer’s ability to edit repository configuration as part of the interactive installation, I pointed the installation at my home network, for speed purposes — having made sure my local mirror of content was updated with the latest content already.
  2. I made sure the “Updates” repository was turned on (and also pointed at local content). This would save me having to do a separate update after installation.

In minutes I had a working system. Using some of the yum-fu from an earlier post, I added in missing packages that were on my previous system.

Now came time to restore my user data. However, I decided to forego using the USB drive for restoration, because here I was with two relatively speedy laptops, each equipped with a gigabit Ethernet network interface. Nowadays these interfaces don’t need special loopback or null cables; they can autosense direct connections and adjust accordingly. So I cabled the notebooks together and used the easy NetworkManager tool to set up the wired interfaces with manual addresses on the same IPv4 network.

A quick check with ping showed I was ready to go, so I ran rsync over SSH to pull all the user data (in /home) from one box to another. This step probably saved me about half the time that the USB copy would have cost thanks to greater bandwidth over gigabit Ethernet versus USB 2.0. (The new laptop has USB 3.0 but the backup drive I have is USB 2.0.)

One of these days I’ll get around to puppetizing my home network, but I just don’t have the time for it these days. So my last step was manually grabbing an assortment of configuration info from my old laptop:

  • Stuff from /etc/NetworkManager/dispatcher.d/ and /etc/postfix/ to support my laptop email solution (start here if you want to learn more about it)
  • Some web server configuration files from /etc/httpd/conf.d/ so I can run my local sandboxes of Drupal
  • A little more info from /etc/NetworkManager/system-connections/ where I have some system-wide connection profiles

And with that, I was ready to go. Actual “me time” expended on all this was less than an hour, if you count both installations, post-configuration tasks, and miscellaneous piddling around in the middle. Of course I wandered off and did other things while the data copying was going on, so I’m not counting that time.

As I mentioned, everything worked perfectly on the installed system with one tiny exception. Even the fingerprint scanner was set up in a matter of seconds, using the handy GNOME 3 “My Account” tool. Interestingly, if you’re one of the poor unfortunate unwashed using Windows 7 (even the so-called “Ultimate” edition), both the webcam and the fingerprint scanner have to have extra drivers installed if you want to use them. But in Fedora? Nope. It all works 100% out of the box. What’s the exception then? The only thing that’s not functioning yet is the new “microphone mute” function button. The button does issue a key press signal, but it’s not captured by anything yet. This is also an “extra driver needed” for Windows users, but true to form, the new button is already on its way to working out of the box in Linux, thanks to the awesome work of community members. My bet is you’ll see this enabled in a kernel update in Fedora 15, or at worst in Fedora 16 which will be out in a few months.

Hopefully this will be helpful to anyone who’s considering one of these fine laptops. ThinkPads are kind of the Cadillac of laptops for IT worker bees, in my opinion. Or maybe I mean Toyota truck? Anyway, they’re tough, reliable, full-featured and in the case of the X series, highly portable. And they work absolutely great with Fedora and Linux in general. Happy hacking!

Vain hope, no. 36.

OK, I could be wrong about this, because I’m not an encyclopedia of knowledge about groupware. But to the best of my knowledge, throughout 20+ years of group calendaring software I’ve only been allowed to choose to accept a meeting, mark it tentative, or decline. To the best of my knowledge — again, not the best knowledge admittedly — there hasn’t been a single system that lets me set “depth of commitment” to an appointment, or lets a meeting organizer estimate my importance as an attendee (again, beyond a single setting of “optional”).

In a perfect world of flying rainbow-colored ponies, I’d like to be able to show my commitment to a meeting in a more granular way for appointments where I’m not a key attendee. So for instance, for 1×1 meetings with my manager, or a meeting I’m running, I’d set my commitment at the highest setting. The default commitment for what we currently call “tentative” would be much lower, and perhaps the default commitment for “accepted” would be somewhere in between, or represented differently.

With said ponies clogging the skyways, a meeting organizer would also have the option to set how important they believe it is for me to attend the meeting. Then using some algorithm, the calendaring system could, instead of just sending me a dumb invitation, make a suggestion to me on how to handle the conflict as an attendee. Some weight would be given to appointments whose organizer bothers to set these request levels. For bonus points, the calendaring system might even record some sort of relationship between me and other users of the system, so that certain people (my manager, other trusted users) find it easier to kick other, lower-commitment appointments when needed.

I’ve often found people’s availability changes when I talk to them in person. (“I’ll move this other meeting around to make room for the time you’re proposing, this sounds important for me to attend.”) Yet reaching out to everyone individually is precisely what group calendaring systems are supposedly designed to avoid.

Perhaps it’s too much to ask for a system to do all this work for me. This might be a pipe dream. But it’s been on my mind a couple times over the last few months and I wanted to get it off my chest and onto the intarwebz. I’m sure it can be ignored silently without a problem if it’s unworthy. ;-)

Pinpoint packaged.

A few days ago Peter Robinson included Pinpoint presentation software in his personal wish list for Fedora packaging. I thought this software was a really neat way to show off a clever use of the clutter toolkit on which the GNOME 3 user interface relies. Thankfully, like most GNOME software it was exceptionally easy to package.

So there, I fixed that for you.

Next week you should be able to run yum install pinpoint to try it out. If you can’t wait, just follow the link in the page above to the build you need. Many thanks to Peter for reviewing the package — true collaborative spirit!

SELF 2011, day 2.

Saturday I had a fantastic time at SELF. For the first time in a very long time, I was neither an organizer or a table worker at the community conference I was attending. Since my speaking session was finished the day before, I seized the opportunity to go to all the talks that I thought would be interesting:

  • Thomas Cameron speaking on “SELinux for Mere Mortals.” I actually have a pretty good understanding of SELinux but what I really wanted from this presentation was to pick up some pointers from Thomas’ speaking performance. And of course he totally delivered; I can see why Thomas is consistently one of the top rated speakers at the Red Hat Summit. He even coped with some weird slide deck inconsistency admirably, an got an enormous and protracted round of applause.
  • I went to the two-part education talks by Greg DeKoenigsberg and Max Spevack. I got to hear a little more about what Greg is doing nowadays in his job at the Institute for the Study of Knowledge Management in Education (ISKME). Any talk that starts with Nyan Cat is worth staying for, in this writer’s humble opinion. Among other things, Greg talked about the modes of engagement that work (or don’t work) for students, and how some of the good examples might be leveraged for delivering instructional material that can be shared among educators.
  • Max took over the next hour, talking about the educational projects in which his Community Architecture team at Red Hat is involved. Attendees got an introduction to The Open Source Way and Professors in Open Source Software Education, and the difficulties and rewards of trying to scale these efforts outward. Interestingly, toward the end of the talk it seemed like there was somewhat of a more strident tone by both educators in attendance who were frustrated with the many levels of students they have to teach at once (including those who are not adequately prepared for post-high school education), and students who are frustrated with the quality of the exercises they have to complete as coursework — most of which code is simply thrown away because it has no practical value beyond the lesson. But it was really helpful, I think, for all these points of view to be exposed and have the opportunity to dialogue as part of Max’s session, and typically cool for him to help turn a lecture into a conversation.
  • At most the conferences I go to I’m lucky to see “Klaatu,” who some readers might recall used to do a Fedora related podcast, and who also works with Hacker Public Radio. Klaatu did a fantastic presentation on the new 0.8 release of Kdenlive, which seems to have matured greatly since I last looked at it. Unfortunately, Kdenlive still relies on encumbered components (though I believe all of them are free software) such as mlt and ffmpeg, but it does indeed look like it’s becoming a usable solution for multimedia editing on Linux.
  • I went to Dan Good‘s excellent talk on advanced use of regular expressions, in which I learned some really keen new tricks that, while maybe not impressing the ladies at parties, could come in seriously handy around the office. Dan claimed that all his skill is in programming rather than speaking, but I thought he did a very good job.
  • Finally, Spot did his closing keynote on “How you FAIL,” which is based on his hilarious and infamous blog post about how open source software projects often Do It Wrong when they’re trying to attract contributors. If you work on a project, you really need to go read that blog post now.

After the keynote, Robyn, Max, Greg, Jef and I headed to the Lime Leaf, an excellent Thai place a few blocks up the street from the conference. We wanted to grab David Nalley and his wife, but couldn’t get a hold of them — but when we arrived at the place, we discovered they must have had the same idea since they were there with some friends already! David’s phone had given out on him. I had a fantastic pad see-ew and a dirty martini that would have been perfect, had it included adult sized olives. Afterward, we headed back for the party and Robyn, without breaking a sweat, proceeded to take all my money in poker, a game in which I can now safely say I have very little skill or future.

I’m posting this from the Spevan, which is traveling up I-85 on the way back to Raleigh. Hopefully I should land at home just after dinner time.

SELF 2011 day 1.

Max posted a good summary of SELF day 0 that included our dinner and confab last night, and since we’re in agreement there’s no need for me to belabor his points. The upcoming release cycle will be an opportunity for community leaders throughout Fedora to renew their commitment to regular communication, transparency, and visibility at all levels. So on to SELF day 1:

Today was Cloud day here at the Southeast Linux Fest, and I know a couple of Fedorans here made it to some of those sessions. However, I ended up getting together with Max, Robyn, Jared, Eric ‘sparks’ Christensen, and a couple other people to talk about finance and events. One of the important topics was how we can make sure sponsorship requests and other financial matters for FUDCon events are handled quickly, efficiently, and fairly, while still maintaining a strict bottom line.

You’ll see some of the work captured on the EtherPad for the meeting, and links to some wiki tweaks made, here. I know Jared and Max will be posting more information about that session, and since I had to leave in the middle of the session for a conference call, I don’t want to jumble up or misstate the proceedings. Nevertheless, I was happy to see this dialogue happening in a candid and open way (besides the EtherPad and wiki work, our room was open to anyone who wanted to stop by and listen or participate).

I also had a chance to listen in on a little documentation brainstorming that Jared and Eric were doing after lunch. I spent my remaining time going over my slide deck and making some last minute tweaks for maximum goodness. As it happened, I had a very healthy turnout for my session on PyGObject (that slide deck is CC BY 3.0, by the way), good questions and feedback from the audience members, and even a number of very gracious compliments from attendees.

I love doing these educational “fill in the gap” sessions designed for the beginner-to-almost-intermediate audience. I believe lots of people out there are like me — somewhat skilled in simple sysadmin tasks but haven’t been able to make the leap to writing their own applications because of the learning curve. They just need a helping hand to explain the necessary missing pieces in a friendly and non-threatening way.

A gentleman talked to me after my session about “backing up into the right answers” as a learning experience, when you have no other alternative. That’s certainly a good way to explain how I learned GUI programming with PyGTK and PyGObject! But I’d rather help other people avoid awkwardly driving around backward and save them the time it took me to wrap my head around the basic concepts, and get them into 2nd, 3rd, or 4th gear (moving forward, not backward!) faster than me. We agreed that we both had plenty of occasions when we could have used that sort of tutelage, and I hope my session bridged the gap for some of the attendees.

After my session, I had a couple brief chats with attendees and other folks, and then suddenly it was time for the speaker dinner, which was delicious. I briefly wished I had a nice cigar to follow that excellent steak they served us, but decided to head upstairs to write a blog post instead so I could meet my self-imposed regiment of one per day. Now I’m going to go join the rest of our SELF folks at the pre-party and unwind.

And hey, if I’m lucky I might be able to watch Robyn spank the tar out of Greg and Max at poker again. ;-)

SELF day whatever.

Yesterday was a big road travel day. Contrary to my usual performance, I got a slightly later start than I intended in leaving home. But nevertheless Jared and I made it to Raleigh in plenty of time for Max and me to pick up the now-infamous SpeVan and return to Red Hat for our Fedora 15 release party. We had a great turnout there; unfortunately that meant all the cupcakes were gone before I could snag one! Probably better for me in the long run though, especially considering that we stopped at Bojangles on the way out of town.

Max was a real trooper taking the driving duty from Raleigh to Spartanburg. The trip took us through pretty bad gridlock at Charlotte, as well as a couple of thunderstorms. I’m sure it was especially distracting to hear the commotion from us boisterous passengers, especially given the increasing devilry toward the rear of the van. Nevertheless, Max made sure we all got to Spartanburg safely, and we touched down in time to say hi to Leslie Hawthorne and catch a wave of very well dressed partygoers at the hotel.

(I’ve noticed that every time a bunch of Fedora people gather at an event, we attract formal wear. Sometimes, as in Berlin a couple years ago, this gives some of our younger, single contributors a chance to chat up someone of the appropriate sex. At other events, we simply marvel at the fact that our scruffy group doesn’t get thrown out of whatever establishment is home to this chaotic mixing of the classes. Last night was apparently some sort of debutante ball, which I seem to recall happened at SELF 2010 also.)

Max and Jared and I were able to catch a quick (and, thank goodness, light) sushi dinner across the street. Then we returned and joined the crowd to unwind with a drink on the outside patio, after which Robyn proceeded to take all of Max and Greg’s money in an extended round of poker. Especially painful for the boys, I’m sure, were the two Hail Mary plays (can you use a football metaphor for poker?) that saw Robyn first snatch survival from the gaping maw of certain doom, and then a half hour later go all-in on a prayer for a straight that actually came true. I half expected to see the word “FATALITY!” hanging in the air like in that Scott Pilgrim movie. As the man sang, You got to know when to hold ‘em…

This morning we’ll be getting together to throw around some ideas for tuning FUDCon to ensure that the communitization of the event continues to trend in a positive way, and hopefully I’ll get a chance to go over my talk a bit more before this afternoon. Even though some of the material is similar to a talk I’ve given before, I like to feel prepared.

Travel plans June 9-12.

Tomorrow morning, starting early, I’m driving myself and Jared down to Raleigh, North Carolina. When we arrive we’ll pick up Max, turn right around and head for the RDU airport to pick up the big passenger van we’ve rented for a group trip to Spartanburg, SC for the Southeast Linux Fest this weekend. (Remember, there’s still time to register and attend — it’s free, but you’ll find that the Supporter package price of $65 is well worth the price!)

Once we pick up the van, it’s back to Red Hat HQ where we have a Fedora release party-type event scheduled. Once we wrap that up, we’ll all board the “FUDVan” for Spartanburg. We should arrive there by dinnertime, at which point, once we sort out and handle any other high priority obligations, Jared, Max and I will vanish for a little while to have an FPL confab over dinner.

Friday starts SELF 2011, and we’re all very much looking forward to it. If any of you are in attendance, I hope you’ll feel free to stop by my talk, which is about PyGObject for beginners. The schedule is a bit hard to read, but I believe my talk is around 3:30pm in Drupal Room A.

2FA gotcha.

I recently found out about two-factor authentication (I’ve seen this abbreviated as 2FA) on my Google Mail account. Wanting to get with the security program, so to speak, I dutifully set mine up. If you’re interested in doing the same, here’s a useful primer on how it works.

For each application you use that doesn’t support 2FA directly, you need to set up an individual authentication code which is different than your Google account password. You are able to manage each of these separately, including removing access for a specific app if needed in the future. So you would set up one code for your Evolution email client, another for offlineimap, and so on.

However, I made a boo-boo and forgot to set up an authcode for my local mail server, so a few days of my outgoing Gmail has been backing up. (So yeah, I need to set up proper deferral notices so I’ll notice these types of problems sooner.) I just fixed the problem, so if you see email from me that’s a couple days old and out of sync with the conversation, you’ll know why.

© 2002-2012 Paul W. Frields License: CC BY-SA 3.0. Some rights reserved.

Switch to our mobile site