metaruss

Computing

subversion-helper-scripts 0.6-1

by on Dec.15, 2008, under Linux

Version 0.6-1 of subversion-helper-scripts has been released.

Changes

  • Fix naming convention of config files in tools versus documentation.
  • Don’t use ‘source’ in non-bash scripts.
Leave a Comment :, , more...

site-upload 0.5-1

by on Dec.12, 2008, under Linux

Version 0.5-1 of site-upload has been released.

Changes

  • Add –checksum method of change detection.
  • Add –force-stamp option to allow stamp file fix-ups.
  • Major cleanup of how stamps get updated.
  • Continue uploading if something goes wrong, but don’t update that stamp.
Leave a Comment :, , more...

DAViCal is not quite RSCDS

by on Dec.02, 2008, under Linux

At one point I had a working CalDAV store on my home server using RSCDS 0.9.2.  It was a little touchy and the clients were flaky (Sunbird/Lightning and Evolution), but it worked.  One day it didn’t, which turned out to be an unnoticed upgrade of the rscds package.  I just recently had a chance to look into the issue.

It seems to have been an issue with the database schema, but I decided to upgrade to the latest package instead, now called davical.  Well that turned into a big mess, as I couldn’t even get it to work with a completely clean database.  Everything looked great in the admin interface, even after re-importing all of the events, but the caldav.php interface would return a completely empty response to all clients.  Not even a VCalendar…just nothing.  After fighting with it for several hours, I found that the issue was actually with libawl (Andrew’s own little utility library).  Apparently, DAViCal 0.9.6.2 does not like libawl 0.33.  Upgrading to 0.34 fixed the issue.

Hopefully Andrew will fix the package dependency.

Leave a Comment : more...

site-upload 0.4-1

by on Nov.25, 2008, under Linux

Version 0.4-1 of site-upload has been released. This is the first version I am releasing publicly, but I have actually been using this tool for many years to upload changes to various websites that I maintain. It works easily and quickly form the command-line, which is handy when making changes on my home server remotely.

Changes

  • Initial public release.
  • Major clean-up of the code.
  • Do not delete remote files if they are now being ignored.
  • Add –start-path and –norecurse to allow fast uploads of large sites when little has changed.
  • Allow command-line options to properly override config file options.
  • Fix logic for boolean config options.Only check the checksum if the modification time changed.
Leave a Comment :, , more...

LIRC module Debian packages for 2.6.27 kernels

by on Nov.20, 2008, under Linux

“LIRC is a package that allows you to decode and send infra-red signals of many (but not all) commonly used remote controls.”

It seems that any time I try to use the Debian LIRC modules source package, it is too old to build against the kernel I am trying to use. I have updated the 0.8.3 package currently found in Lenny and Sid to 0.8.4a. It will now build against Linux 2.6.27.

Source Packages

Binary Packages

What I have built with the above source.  Unlikely to be useful to you, but here you go anyway…

2 Comments :, more...

Downgrade from Irritating Ibex

by on Nov.14, 2008, under Linux

Lately, I have not been as diligent in testing Ubuntu releases before upgrading my important machines.  There are always some small hiccups, but most were fixed fairly easily.  Upgrades to both Feisty and Gutsy went fairly well and didn’t introduce any serious issues that I can remember.  I had a few snags with Hardy on one or two machines, but once a few weeks went by and the flurry of updates subsided, it proved to be one of the more solid versions I have used to date.

Unfortunately, the same cannot be said for Intrepid Ibex.  The upgrade went OK, but it introduced a lot of issues with usability such that I have decided to downgrade at least one of my machines.  The two main issues are:

  • GNOME 2.24 was (intentionally) released with completely broken session management.  Sessions are no longer saved.  This is extremely irritating for me on laptops and other machines that I don’t keep on 24/7.  You can sort-of work around it by manually adding apps to the session, but most of those apps will not be placed and sized how they were originally.  I’m sort of anal that way and have workspaces dedicated to certain tasks.  I like those workspaces to be restored the way I left them.  This is very basic functionality that I have been using on UNIX for the past 10 years until now.
  • Xorg 7.4 introduced a mysterious incompatibility with older X clients on Solaris hosts such that they immediately crash on any key press.  The result is that I can no longer use any tools on the servers at work via this machine.
  • Random slowdown and lockups of the machine for no apparent reason.  The CPU and hard disk are idle when this happens, but the mouse becomes sluggish and any back ground tasks (such as music playback) will get interrupted.  On one or two occasions, my machine has locked-up hard.  This is probably a kernel issue, but I have not looked too deeply into it yet.

The 2nd issue is preventing me from doing any useful amount of work at my job.  Thus, I have been forced to downgrade that machine.

Downgrading Debian or Ubuntu is not trivial, but not impossible either.  It does require a lot of attention, however. Here is approximately how I did it (it’s best to do all this from a text console and not the desktop via Ctrl+Alt+F1):

  1. Set your /etc/apt/sources.list to:
    deb http://archive.ubuntu.com/ubuntu hardy main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu intrepid main restricted universe multiverse
  2. Set your /etc/apt/preferences to (be careful about extra white space, as apt-get will quietly ignore these if there are any parsing issues):
    Package: *
    Pin: release a=hardy
    Pin-Priority: 1001
    Package: *
    Pin: release a=intrepid
    Pin-Priority: 60
  3. apt-get update
  4. apt-get upgrade

The upgrade will fail for various reasons.  Most of them can be resolved by:

  1. dpkg -i –force-overwrite /var/cache/apt/archives/problematic-package.deb
  2. apt-get -f install
  3. apt-get upgrade

Keep repeating the above sequence, replacing step 1 with whatever needs to be worked-around.  I ran into a problem with exim’s pre-install script and had to temporarily hack /etc/init.d/exim4 to succeed so that the package would install (don’t forget to unhack it once exim is installed).  I also had to manually remove “python-twisted-core” and “landscape-common” to avoid another conflict.

Eventually you will get to a point where some of hardy is installed, but much of intrepid remains.  You can illustrate this by trying “apt-get dist-upgrade”.  You will get a huge list of packages to remove, including some critical ones.  Don’t attempt to continue this way.  What causes this are packages installed by Intrepid that claim to “conflict” with some of Hardy’s packages.  APT needs some hand-holding to get through this.

  1. Remove Intrepid from /etc/apt/sources.list
  2. apt-get install libselinux1 sysvutils sysvconfig
  3. apt-get upgrade

Even now you will have seen a huge list of packages that will get removed.  There should only be one “critical” package getting removed.  Go ahead and proceed.  If you are currently logged-in via GNOME, applications will likely start crashing around you during the next phase.  Just let them and try to avoid doing anything else with the system.  It’s best to do all this from a text console, though (Ctrl+Alt+F1).  The procedure is the same as before:

  1. dpkg -i –force-overwrite /var/cache/apt/archives/problematic-package.deb
  2. apt-get -f install
  3. apt-get upgrade

Now you should be free of more of Intrepid, but you’ve also lost most of the desktop.  Restore it simply by:

  1. apt-get install ubuntu-desktop linux-image-generic

I tried various methods to get through that last half in one step without removing so much of the system, but APT was getting highly confused by various package conflicts as before.  I think much of the trouble stems from Xorg, Python, libc, and CUPS (the packages were renamed from cupsys), but it could also be that I have a lot of extra stuff installed beyond your basic Ubuntu desktop.  It may have helped to remove the pinning rules from /etc/apt/preferences earlier, but I think all that would do is allow more of Intrepid to stick around without APT trying to do anything about it.  Following the steps above allowed APT to tackle the job a chunk at a time so that in the end “ubuntu-desktop” installed cleanly as it should.  Then I forced libc, cups, the 2.6.24 kernel to downgrade and kept trying apt-get dist-upgrade.  Once the dist-upgrade looked sane (not trying to uninstall the world), I let it go and called it a day.

Once you get through all this, a few loose ends remain:

  1. Restore your original Hardy /etc/apt/sources.list from before you upgraded to Intrepid.  It should have been saved as /etc/apt/sources.list.distUpgrade.
  2. Remove the pinning rules in /etc/apt/preferences.
  3. apt-get update ; apt-get dist-upgrade
  4. Restore your Hardy /etc/X11/xorg if you can (should have been backed-up).
  5. Make SURE you have a kernel still installed.
  6. Reboot

Wish yourself luck!  After that it was a matter of reinstalling the nvidia drivers with module-assistant for my system.  YMMV.

Leave a Comment :, more...

Import Posts into WordPress with SimpleWXR

by on Nov.13, 2008, under Computing, Site

After some experimentation with the WordPress eXtended RSS (WXR) importer, I decided it was more trouble than it was worth.  The importer requires too many details to create usable posts out of the basic “log” entires on my old website.  Instead, I have taken the portion of Zack Preble’s “CSV” Importer that interfaces with WordPress, fixed the database query problems for categories, and adapted it to a simple XML parser.  Then it was a simple matter to write a Perl script that could parse the HTML and generate the XML files.

The XML tags are modeled after WXR and the following are supported:

<item>, <title>, <post_date>, <category>, <content>

Here is an example XML file.

Source

1 Comment :, more...

Keyspan USB to Serial Converter Driver

by on Oct.29, 2008, under Linux

Update 01/17/2012: Sorry for the broken links. I think I lost some .htaccess magic when moving around my site hosting. I’ve been using my Keyspan on my Debian box running the stock 2.6.32 kernel and have not had issues. That’s why this page is so stale…I forgot all about it.

This driver source code and firmware was taken directly from the kernel.org sources and packaged as a kernel module.  It supports several of the Keyspan “USA” Series USB to Serial converters.  This driver was removed from official Debian kernel sources due to its change in status as “non-free” per the Debian Free Software Guidelines (DFSG).  This was the result of some unclear language in the license found in the firmware header files.

I had invested in several of these dongles due to their quality, performance, and good Linux support.  Debian is the only distribution that is not happy with the licensing terms.  Even Ubuntu (a Debian-derived distribution) has added this driver back to its kernels.  I was a bit frustrated by this and have decided to package the driver for other Debian users.

Source Packages

The sources can currently be built for 2.6.18 and 2.6.26 kernels intended for Debian GNU/Linux 4.0 “etch” and Debian GNU/Linux 5.0 “lenny”, respectively.  Other kernels are likely supported as well, but will require Makefile and possibly source modifications due to internal API changes between kernel versions. You should be able to build the module by installing the keyspan-source package and then using module-assistant: “m-a prepare; m-a auto-install keyspan”.

Binary Packages

Debian GNU/Linux 4.0 “etch”:

Debian GNU/Linux 5.0 “lenny”:

Changes from Original Source

  • Created Makefile to build outside of kernel tree.
  • Initial release based on Linux Kernel 2.6.18.8 for Etch.
  • Added driver source and firmware from 2.6.26.6 for Lenny.
  • Modified Makefile to build for either kernel tree.
  • Added preinst script to divert existing keyspan module.
6 Comments :, more...

NEdit

by on May.22, 2008, under Linux

NEdit is a multi-purpose text editor for the X Window System, which combines a standard, easy to use, graphical user interface with the thorough functionality and stability required by users who edit text eight hours a day.  It provides intensive support for development in a wide variety of languages, text processors, and other tools, but at the same time can be used productively by just about anyone who needs to edit text.”  Features include:

  • Very complete functionality. NEdit is the primary editor for thousands of Unix and VMS programmers.
  • Thorough consistency with Motif, MS Windows, and Macintosh conventions.
  • Designed for intensive use: keystroke efficiency, fast response time, streamlined interaction.
  • Unlimited undo.
  • True multi-window, fully graphical design.
  • Mouse-based editing.
  • Secondary/quick action selections.
  • Fully integrated rectangular selection.
  • Interactive WYSIWYG dragable selections.
  • Maximum compatibility with X, Motif, and inter-client protocols, for interaction with the widest possible range of X programs and systems.
  • Easy to learn: just point and type.
  • Capabilities are clearly organized and presented in top-level menus.
  • Comprehensive on-line help.
  • No special knowledge of X Windows required, all important options are GUI-settable within the program.
  • State of the art syntax highlighting with built-in patterns for C, C++, Java, Ada, FORTRAN, Pascal, Yacc, Perl, Python, Tcl, Csh, Awk, HTML, LaTeX, VHDL, Verilog, and more.
  • Auto-indent, programmable language-sensitive smart-indent.
  • Block indentation adjustment.
  • Parenthesis flashing and matching.
  • Find lines directly from compiler error output.
  • Tab emulation.
  • Unix ctags support.
  • Client/Server mode for integration with software development tools.
  • Programmable: Learn / Replay.
  • Easy to use C-like macro language, safe and fully interruptable.
  • Includes a library of over 150 built-in editing functions.

See the online documentation and the Wiki for more information.

NEdit is the most powerful and induitive editor that I have found that is available for all of the different types of systems that I use (Linux, Solaris, Windows, etc).  The interface is somewhat dated due to its Motif-based GUI, but there are ways to improve its looks and customize the interface.

In Linux, NEdit can have difficulties when trying to make use of the resident Motif libraries.  In particular, the GNU lesstif implementation causes a number of problems that lead to frustration.  This version is linked against OpenMotif which tends to fair much better.  The current stable 5.5 version is quite old and running into problems the more recent XOrg servers, glibc locales, etc.  Many of these issues seem to be fixed in CVS, so I am offering a CVS snapshot of the upcoming 5.6 release here.

Packages

Here is the latest CVS snapshot:

If you are using Debian Etch, you will find that the OpenMotif libraries are missing from the release.  You will need to install these backports:

Changes in these packages from original Source

  • Added proper GNOME/KDE/OpenDesktop desktop and MIME integration.
  • Created wrapper scripts to launching NEdit safely and also to the background.
  • Added some shell prompt shortcuts.
Leave a Comment :, , more...

Misterhouse

by on Dec.18, 2007, under Linux

Misterhouse is an open source home automation program.  It’s fun, it’s free, and it’s entirely geeky.  Written in Perl, it fires events based on time, web, socket, voice, and serial data.  Perl subroutines and objects are used to give a powerful programming interface.  Features include:

  • Executes actions based on voice input, time of day, file data, serial port data, and socket data. Serial and speech data can also be read or written to proxies on remote boxes.
  • It has a web interface to allow control and feedback from any browser, either on a local intranet or on the internet. Check the Winter’s house at http://mh.misterhouse.net.
  • On Windows systems, it uses OLE calls to the free MS VR and TTS engines for voice recognition and text->speech. The high quality AT&T NaturalVoices TTS engine may also be used. If using IE, you can enable remote VR and TTS using an MS Agent.
  • On Unix systems, it uses the free Festival, flite, IBM ViaVoice and non-free AT&T NaturalVoices TTS speech engines for text->speech and on Linux IBM’s ViaVoice engine for voice recognition. These engines can also be called from Windows version of mh.
  • Reads/writes any data from any serial attached device.
  • Speaks the speed, course, and position of vehicles, by interfacing to a ham radio modem.
  • (TNC). Brian Klier wrote has a nice article about it. You can see our car position logs here.

  • Sends/receives X10 data from the X10 CM11 (ActiveHome) interface.
  • Sends wireless X10 data using the X10 CM17 (Firecracker) interface.
  • Send/receive data to the Ibutton family of devices, including the weather station.
  • Reads/writes data from the JDS interfaces (Stargate, Time Commandar, HomeBase) interface.
  • Reads/writes data from the HomeVision interfaces.
  • Reads/writes serial port data from the Weeder Technologies PIC kits that can process X10, digital, analog, callerID, and outgoing phone data.
  • Reads/writes to Applied Digital’s CPU-XA and Ocelot interfaces via the cpuxad socket deamon.
  • Reads data from IRman infrared receiver serial interface and writes to X10 IR Commander wireless interface.
  • Code has been written for DSC Alarm pannels, Stargate LCD displays, Slinke IR send/receive, Marrick X10, RCI X10 sprinklers, Xantech preamps, ISDN modems, voice modems, ComPool and Aqualink pool equipment.
  • Reads and writes from the lcdproc server which interfaces to inexpensive LCD modules and keypads.
  • Shares a modem for caller ID and paging.
  • Reads/writes internet mail, http, and ftp files unattended.
  • Sends/receive instant messages using AIM, MSN, or Jabber.
  • Reads MS Outlook, Unix ical, or the built in Organizer calendar for event reminders and VCR programing.
  • Uses free internet TV web pages to allow for VCR programing and show reminders.
  • Has an entertaining ‘chatbox’ web page that will listen to all your problems.
  • Can monitor NetGear RT311 / RT314 or LinkSys syslog router traffic, so you can track stuff like incoming web hits and online game time.
  • Uses Voice XML to interface to tellme.com. To try it, dial 1-800-555-Tell, then after you ear ‘tellme more’, enter 1-46630 (1-HOME0). With a XML browser (e.g. IE), you can see a test vxml menu here.
  • Use simple menu templates to generate menus for LCD, VXML, or WAP phones. If you have a WAP phone or WAP browser, you can see this test menu with this url: http://mh.misterhouse.net/sub?menu_wml. You can also walk the menus with an html browser with a frames version or a a simpler version . These menus can also be controled with a single switch (e.g. air sip switch for the disabled), using audible feedback to select items/states.
  • Logs weather data to the wunderground personal weather project. Here’s weather logs from my house
  • Here is a list of some users written code files along with standard code files that demonstrate some other MisterHouse features.
  • You can use RSS readers to track various data, like phone or speak logs.

See the online documentation for more information.

Packages

The latest release using debconf to configure basic fucntionality:

The last stable release that did not use debconf:

Changes from Original Source

  • Separate code/libraries/binaries to the appropriate places (see README.Debian).
  • Created wrapper scripts, init files, etc.
  • Created man pages.
  • Created a default configuration that is compatible with Debian/FHS.
  • Added debconf templates for common code activation and some basic functionality.
3 Comments :, , more...

Search

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact me.

Sites that interest me

A few highly recommended friends...

Meta