software

Fiddling with GPS data

Last year, I collected some data from my car-mounted GPS, in order to update openstreetmap.org with a side-road into the lake at my cottage. As my GPS is only accurate to about 3 metres, and (on the drive along this side-road) often less accurate than that, I collected trackpoints from several drives up and down the side-road. This permitted me to refine the openstreetmap roadway path with a bit of accuracy, and add that side-road to the public map. This year, I hope to make many more trips to the cottage than I did last year.

System Management: 

A quick and dirty graphics converter for DigisparkOLED

A few months ago, I dragged my Linux laptop, some Digispark ATTiny85s, and some other hardware along to while away the time on an out-of-town visit. My objective was to, in my spare time, learn how to use some of the libraries available to the ATTiny85/Arduino environment, and to play a bit with the hardware.

A Slice of Pi

So, I'm reading a Usenet newsgroup and see this post talking about how to view the Raspberry Pi desktop on another machine. The post recommended downloading and installing yet another application to the Pi, and to the system that would view the Pi desktop. I guess that's the answer for some, but it's not the answer for me.

Into the Wild

Recently, I participated in a discussion about using Asterisk on the Raspberry Pi, to provide a call filtering facility for a home installation. My correspondant had tried to set up a Raspberry Pi and VoIP handset to handle phone calls such that incoming calls would pass through a whitelist/blacklist, promoting good callers and damning bad callers, while directing outgoing calls to their intended destinations.

System Management: 

VoiceOver

VoiceOver stems from my increasing use of CMU Flite (http://www.festvox.org/flite/) as a system and application tool. As I incorporated flite into various utilities, I found no easy way to ensure that the generated speech from one tool would not "speak over" the speech from another tool. Additionally, when I wanted more than one tool to speak with the same voice parameters, I would have to manually duplicate those parameters into the code or configuration files.

System Management: 
Articles: 

Pet Peeves: run-parts(8), asynchronous execution, and logging


I run Slackware on two of my systems. I have always admired Slackware's simplicity and honesty. Some people accuse it of being overly complex, but I've found that what others see as complexity, I see as the ability to control and fine-tune. Other distributions may be great for those who are looking for a Unix system with a Microsoft feel, but I prefer my OS to not hide it's controls, to not tell me that, for my own good, it won't do what I want it to do.

Slackware's run-parts(8) is one of those simple tools that works well. Built from a simple /bin/sh script, and using basic Linux tools, Slackware's run-parts does the basic work of "batch" processing for cron. But, this simplicity has it's price; target scripts are run synchronously, one after the other. If one get's stuck, the remainder can't run. And, there's no easy way to determine if a script has got "stuck"; there's no conveniently accessable logging of the start or termination of each script, nor is there any consistent way to gather messages from the scripts into one place.

And, so, my pet peeve: run-parts(8) doesn't do everything that I need in a batch processor. So, I went and built my own add-on solution.

System Management: 
About: 
Subscribe to RSS - software