Many of my traditional blog post live on this site, but a great majority of my social-style posts can be found on my much-busier microbloging site at updates.passthejoe.net. It's busier because my BlogPoster "microblogging" script generates short, Twitter-style posts from the Linux or Windows (or anywhere you can run Ruby with too many Gems) command line, uploads them to the web server and send them out on my Twitter and Mastodon feeds.
I used to post to this blog via scripts and Unix/Linux utilities (curl and Unison) that helped me mirror the files locally and on the server. Since this site recently moved hosts, none of that is set up. I'm just using SFTP and SSH to write posts and manage the site.
Disqus comments are not live just yet because I'm not sure about what I'm going to do for the domain on this site. I'll probably restore the old domain at first just to have some continuity, but for now I like using the "free" domain from this site's new host, NearlyFreeSpeech.net.
I'm looking to figure out all the elements I need to convert my election-results Bash script to Perl, and one of the tasks involved is dealing with XML.
In the Bash script, I'm just treating the XML as text that needs to be hacked at with sed.
But in Perl, as in many languages I presume, there are modules to help with this.
XML::Simple takes a file in XML format and converts it to a "Perl representation," one of those "representations" being a Perl array. Here are some other links on parsing XML in Perl.
Perl Begin recommends avoiding XML::Simple and instead using XML::LibXML.
Now I'll have to figure out what to do with the data after Perl deals with the XML so I can turn it into the HTML I'll need later in the program.
I won't lie by saying that it is a lot easier to find recently written XML-parsing strategies for Python than it is for Perl.
With that in mind, before I close out this entry, here are some links on parsing XML in Python.
I'm continuing my reading of "Learning Perl."
The book is a bit dog-eared. Some of that is from carrying it around. But some of the wear is from actually reading the book.
I'm up to Page 74. I have been taking notes in the book and underlining things that seem important.
I meant to read this book with the Learning Perl Book Club, a reading group made up of Ode users.
That didn't work for me. The stopper was the "you need to do the exercises" part of the enterprise. While I had the time to do the reading, I had a lot of mental resistance to trying to hack at the exercises at the end of each chapter.
I know that doing the exercises in these books helps you "get" the concepts, but I just wasn't there yet.
Now that I'm a few chapters in, I want to start typing the book's programs into my local system, running them and playing around with them a bit. While that's less than going all in on the exercises, it's more than not touching the computer or using Perl at all.
A couple days ago, there was a Google Chrome update, and for some reason the browser began working once again on my Fedora 20 system.
Now it's broken again.
It could have been a Mesa update in Fedora. Or something completely different. It could be the dubious AMD Catalyst/fglrx installation I have going, using Fedora 19 packages in Fedora 20.
Whatever it is, Google Chrome is broken again.
I even tried Spot's Chromium repo for Fedora. Chromium crashes X just the same.
Is it just me, or is anybody else having a problem with Chromium/Google Chrome in Fedora?
Google Chrome (using the Google repository because Fedora doesn't package Chromium) is working once again on my Fedora 20 system.
It had been broken for a few weeks. Whenever I started the browser, it would segfault and kill X.
Google pushed a new stable version of the browser today to its Fedora repository. I did the update, started Chrome and am now running it with no crashes and no problems.
Thanks, Google.

I want to borrow books via the Los Angeles Public Library's Axis 360 service, which won't give you their DRM-laden ebooks without use of the Adobe Digital Editions software to take the small file you download (normally called URLLink.acsm) and use it as a kind of key to download the longer .epub book file.
And Adobe Digital Editions is not available for Linux.
But it can be installed with Wine, the Windows compatibility layer for Linux systems.
I already have Wine installed on my Fedora Linux system so I can use the excellent IrfanView image editor that's written for Windows. While instructions on the installation of Wine might be useful, I don't want to go there for the purposes of this post. I'll just say that you should use your distro's package manager to install Wine, and in this particular instance, the version of Wine available in your distro's repositories should be sufficient. One thing I will tell you: Make sure you also install wine-mono (or whatever the package is in your system that includes the Windows version of Mono in Wine).
Back to installing Adobe Digital Editions in Linux via Wine.
A few people reported problems (a very few did not) with version 2.x. A few offered easy-to-byzantine workarounds to make Adobe Digital Editions 2.x work in Linux.
None of that worked for me.
So I followed the advice of Mr. Alphaville, used his download of Adobe Digital Editions 1.7, and was up and running with a working application in a few minutes.
You are prompted at some point after installing Adobe Digital Editions (ADE) to either create an Adobe account or use the one you already have.
I already had an Adobe account, so I used that login and password and was quickly swimmming in the world of DRM-ed ebooks.
Huge problem. The DRM'd epub files that Axis360 puts out aren't compatible with the Amazon Kindle.
Sure, I could break the DRM and use Calibre to convert the files. But I don't want to do that. I'd rather get the books for the alloted loan period and have them somewhat gracefully disappear when the loan is up.
So for Kindle, I'll stick with the Los Angeles Public Library's Overdrive system.
And for those titles from LAPL's instance of Axis360, I guess I'll just read them in Adobe Digital Editions via Wine.
Editorial comment: It's not like the Amazon Kindle is some obscure device. It dominates the ebook market. Axis360 basically tells users of the dominant ebook readers to take a long walk off a short pier.
Kindle Fire tablets, which are mostly-fledged Android devices, can access this content with the Blio or Bluefire apps.
But non-Fire Kindles (the cheap, not-a-tablet kind) get nothing. I guess that's what Overdrive is for.
Now is the time. I'm going to really learn to program.
I've been dabbling in programming for awhile now. I've mostly stayed within the friendly confines of the Bash shell on my local Linux system and the Linux servers on which I run various scripts and services.
I've been meaning to get deeper into real programming, whatever that is, for at least a couple of years. I would say it hasn't happened, but to a small extent it has. Now I'm ready to take the next step.
So what did happen?
A couple of years ago, I began writing little Bash scripts to automate my rsync-driven backups. With these little one- to two-liners, I didn't have to remember the exact syntax to do the rsync backup correctly and remember where my "exclude" file was living.
I also had trouble with screen blanking in Debian Wheezy. I finally figured out how to fix the problem with xset, and wrote a little Bash script to automate that process.
I have also written a bunch of scripts to automate posting and create an archive of this Ode site. Among these Ode-related scripts is a local Perl program that generates an Indexette date stamp. You can copy/paste it into your post file, or call the script from within a text editor, which is what I do with Gedit.
It's still a simple two-liner, albeit with more than a dozen lines explaining what's going on.
About a year ago, I started a more complicated programming project at my day job.
So what do I do at this job? I work for a bunch of local news web sites. I push content. I create web pages in an arcane CMS. I create blogs in a common CMS (WordPress). I fix broken things and solve problems. I take things that are separate and mash them together.
The project, the thing I've wanted to do, was to script together data from various sources, more specifically election results for the nine web sites I work on.
I wanted to do it in Perl. But when I finally decided to do it, I just didn't have the chops. But I did know Bash, and I learned (or learned more) about such Unix/Linux utilities as wget, cat, cp and sed to turn my data into HTML pages I could generate with cron and iframe into my various web sites.
Thus far I've been re-reading "Learning Perl", this time noting things that will help me in my election-results project.
I'm somewhere in the 40s in terms of pages, and I'm making notes in the book -- it's a real book, not an ebook -- in pencil.
Search and replace is pretty much a core function in Perl, so I can safely say goodbye to sed.
Concatenation can be done with a dot (a .) between items, so that takes care of cat.
I would really like to pump data into an array and use Perl's foreach to process each line.
Grasping scalars and arrays is going to be key.
I'll have to look into grabbing data over HTML and bring it into the scalar or array. The LWP::Simple module looks like a good candidate for this. I could also use the full LWP.
I'd like to code a date stamp into the data. I've already experimented with that in Perl for my Indexette date-stamper script.
Eventually I'll need to write the results out to files on the web server. That shouldn't be too hard.
I see in the Fedora Magazine that Matthew Miller is the new Fedora Project Leader.
Terrific choice.
Watch the video above, read his Fedora Magazine posts.
I'm very confident about Fedora being in good hands as the Fedora.Next project begins remaking what the distribution is for those who both use and produce it.
That Fedora is stretching its own particular envelope and remaking itself for the desktop, server and cloud is huge. And having Matt -- a longtime Fedora contributor -- at the helm is very reassuring indeed.
In looking to replace Fedora and get out of Catalyst hell, the distribution I choose depends on whether I will continue to dual-boot with Windows 8 (which I almost never use) or swap in my 320 GB drive and single-boot Linux.
Now that my hardware is "maturing," I can start considering distributions that aren't as aggressive as Fedora in terms of their updates.
Bleeding edge isn't something I'm looking for.
I'm leaning toward continuing with Xfce, though I will consider the GNOME and LXDE desktops. I'm even considering Ubuntu's Unity.
Linux Mint is conspicuously absent from my list. Maybe I should consider it.
The recent move to continue supporting Debian Squeeze as an LTS, and the expectation that the same will happen for current and future releases, has me looking more closely at Debian than I otherwise might. I have a lot of fondness for Debian. For one reason or other it generally runs "faster" than just about anything else.
But as "bleeding edge" as Fedora is, I probably had to do more hacking/scripting to get things working the way I wanted in Debian Squeeze/Wheezy than in Fedora 18/19/20, Fedora's Catalyst driver fiasco excluded, so that's something to think about.
My daughter's aging IBM Thinkpad R32 laptop runs Lubuntu, and I'm fairly impressed by it.
But Xfce remains my workhorse DE. Especially when it comes to running my company's proprietary CMS over Citrix, Xfce seems to play "better" with this sorry arrangement than other DEs. In Xfce I have to be "disciplined" enough to stay on a single virtual desktop. Changing desktops cuts my Citrix connection and locks me out of my apps. (Thanks, Citrix ... or thanks, CMS vendor who will not be named).
In GNOME 3, changing windows at all cuts the connection, so I need to keep Xfce around for this reason alone. I haven't tested this behavior in Unity because I can bring GNOME onto my Fedora system, but Unity is Ubuntu-only, and I haven't set up a full Ubuntu system with Citrix and done a test with this particular CMS. (That's the trouble with a desktop environment tied to a single distro.)
Fedora 21 won't be released until October, and if my AMD Catalyst solution continues to hold up, there's a very, very good chance I'll stick with Fedora 20 until the whole thing falls apart.
AMD released a new beta of its proprietary Catalyst driver for Linux, version 14.6.
You can download it directly from AMD, or wait for it to enter your distribution's packaging system.
For the past week or so, I've been using RPM Fusion's Catalyst packages for Fedora 19 on my Fedora 20 system, and this update hasn't come through that channel just yet.
If/when this particular method blows up, I could always go back to using the upstream AMD .run installer.
There's also a good chance that I will move to a distribution that regularly packages Catalyst and isn't as aggressive in offering kernel updates so I don't have to deal with this on a continuing basis.
Mat Enders of Sunday Morning Linux Review put it very well in the show's most recent episode.
Fedora is very stable, especially given how much new code gets pushed during the entire release period.
Nobody tells you that before you start running Fedora. The desktop environment tends to linger, but kernels, applications and lots of other components are new, new, new.
Just now I got a new Xscreensaver.
I'm not using Mirall to sync OwnCloud at this particular moment, but I am using Fedora's packages instead of those direct from OwnCloud due to dependency problems on the non-Fedora repositories. And there is a new Mirall today as well.
Every once in a while, a bit of catastrophe enters Fedora. There are SELinux issues. In my case there are AMD Catalyst issues (which can be solved by NOT running AMD Catalyst, which I do from time to time).
Right now Google Chrome kills X. That's my "issue" of the week, you might say.
And when things do go catastrophically wrong, there is usually plenty of help on the mailing lists and in the forum.
Mat's point, more specifically, was that he has less trouble with Fedora than he did with Debian Sid, the "Unstable" release that gets new packages all the time.
What's notable is that Fedora is almost always ahead of Debian Sid when it comes to newness. (It's not ahead of Arch, but what is?)
And that Fedora newness isn't in something called "Unstable," but is in the regular releases. There is no Fedora "Stable."
But for the most part, it works.