I recently had the privilege to drive a 2024 MX-5 RF (“ND3”) for a week, thanks to Mazda Canada and my local Miata group: Miataphiles of London. It was an interesting opportunity to compare with my (slightly modified) 2016 MX-5 (“ND1”).| chrisirwin.ca
In addition to moving this blog to cloudflare, I decided to take advantage of enabling Cloudflare’s proxy at the DNS level for my other (non-blog) services. Basically, this makes Cloudflare act as a reverse proxy.| chrisirwin.ca
I’ve been struggling with Home Assistant notifications. From some searching, it seems other people are also struggling.| chrisirwin.ca
This is the first post after migrating this blog to cloudflare-pages hosted (pushed from gitlab.com). Why?| chrisirwin.ca
A better, more complete (with dashboard + mobile automation sync) is available in a new article: Home Assistant Notifications (with Sync in Dashboard and Mobile)| chrisirwin.ca
I’ve recently been porting things from Samsung Smartthings to Home Assistant. Smartthings has a significantly lower learning curve, but suffered from a reliance on the cloud. While you have a local hub, any “custom” device handlers actually ran on the cloud on Samsung servers somewhere. Which means advanced functionality was often very, very slow.| chrisirwin.ca
A coworker graciously gave me an IBM RT3200! It’s a tenkeyless IBM keyboard with integrated trackpoint. However, I did have some issues getting scrolling working properly with a modern USB-based system running Wayland.| chrisirwin.ca
Like a large number of people around the world right now, my place of work has closed the doors for safety concerns. I’m fortunate enough to be in a position to work from home via VPN, but I did want to keep some separation between my work and non-work environments.| chrisirwin.ca
During my most recent server-build, I had to tackle exposing host-managed files to VMs.| chrisirwin.ca
Fedora’s installer will happily set up an encrypted install with root-on-lvm-on-luks (/boot is still unencrypted. Secure Boot might be handy here still). This is supported and works out of the box.| chrisirwin.ca
I recently decided to migrate this blog from IkiWiki to Hugo. I was expecting an ardous ordeal, but the entire task turned out to be fairly short painless.| Chris Irwin's Blog
Getting updated Windows media is certainly easier than it used to be. Back in the day, you’d have to slipstream updates into your installation media. It was a pain, and prone to cause problems (mainly because you could slipstream other things in there, too). Microsoft has seen the light and provides ISO downloads of the current version of Windows (Note: This is not a “free” Windows license – you still need to pay for that, or install on a machine which has been previously licensed).| Chris Irwin's Blog
I’ve spent the better part of one and a half years with the DDPai M6 Plus. I bought it based on the positive Techmoan review. tl;dr: I’m somewhat disappointed in the device. Something simpler like an A119S is a much better buy. Some background on me and dashcams I had a Mini 0805 in my last car, and have two Mini 0805’s (front+rear) in my second car (I just had the two cameras, and moved the front one into whichever vehicle I was driving).| Chris Irwin's Blog
If you’re considering trying out autocross, I say go for it. I’m very new, and have found people at the two events I’ve attended (WOSCA #1, and PITL #3) to be friendly and extremely helpful. Additionally, you can do it with your own car. You don’t need some sort of special race-spec track beast. Both events have also had loaner helmets available (although I spent $200 and bought my own helmet meeting the appropriate standards).| Chris Irwin's Blog
Goal I want to combine a few clips together, with a 5-seconds of intro text on each one. Create overlay text in GIMP I created some overlay text in gimp, then exported to png files. An example (Note the transparancy, and drop shadow): Trim clips to length Using the methods I’ve described in previous ffmpeg posts, I trimmed the clips, ensuring that there is at least five seconds of lead-in on each clip for the text.| Chris Irwin's Blog
While driving through New York on my way to the Watkins Glen 2017 opening weekend, I encountered a nut in a Volvo zig-zagging through highway traffic. I decided use ffmpeg yet again (I’m starting to wonder if OpenShot would actually bring anything to the table at this point, besides crashing) Plan I want a video with the rear camera until the Volvo passes, then the front camera after. I want to use the front audio for the whole video.| Chris Irwin's Blog
Just like the first two times, I’m assembling my Watkins Glen 2017 track footage with ffmpeg. However, I encountered a small issue I didn’t last year, plus I decided to change things up a bit with codecs, and audio selection. ffmpeg requires protocol whitelist now I’m using pretty much the same concatenation command as last year (filenames are a bit different): $ for f in Front-*MOV; do echo file "$f"; done | ffmpeg -f concat -i - -c copy Front.| Chris Irwin's Blog
My Devices I decided to update the 3/4 of my Palm WebOS devices. The Pre (not pictured) and Pre2 (middle) were my primary, daily-driver phones for over two years, from September 2009 through to spring 2012, when I acquired a Galaxy Nexus and made the jump to Android. The Pre3 (right) I also picked up on eBay. It came in box, with all accessories, and a spare battery. The Pixi (left) I picked up cheap on eBay.| Chris Irwin's Blog
Note: Yes, WebOS Technically still exists. However, this article isn’t talking about the TV OS version made by LG. While this article was actually written to discuss getting Palm devices usable, I felt some preamble was necessary. My Palm History I’ve got a soft spot for Palm. My first PDA was the Palm Vx, possibly the greatest PDA ever made. Easily get days of battery from a device that can store all your calendar and contacts information, synchronizing periodically with your master copy...| Chris Irwin's Blog
Snapper is an excellent utility that provides hourly snapshots of btrfs subvolumes. Fedora ships with selinux enabled by default. This is excellent, and shouldn’t be disabled. To allow this, most software in Fedora has appropriate rules defined, including snapper. However, snappers rules only allow it to work on / and /home. If you wish to use it to snapshot /mnt/data, or /srv, or any other particular path, you’re going to have a very bad time.| Chris Irwin's Blog
I just attended the Watkins Glen opening day for the second year. It was, again, a blast. I made some slight adjustments to my ffmpeg assembly procedure from last year. Dashcam saves video in 5-minute chunks Instead of creating .list files, I simply used a pipe as input: for fo in AMBA091*; do echo file "$fo"; done \ | ffmpeg -f concat -i - -c copy Front-Track1.mov Front and Rear videos need to be combined Much like last year, I made short samples to confirm if any offsets needed to be done.| Chris Irwin's Blog
I was attempting to run my laptop at a lower resolution than the laptop panel. However, by default the video is scaled to fill the panel. This causes the image to be distorted (fonts look bad, etc). On Linux (with Xorg, anyway), this behaviour can be tweaked with xrandr: $ xrandr --output LVDS1 --set "scaling mode" "Center" This is not a persistent setting, which is fine for my purposes.| Chris Irwin's Blog
In an ongoing quest to attempt to lessen my Google dependancy, I decided to self-host my Calendar and Contacts using Baïkal. Installing and configuring Baïkal is sufficiently documented elsewhere. This post is a 9somewhat short) account of why I’m giving up on self-hosted contacts and calendars. Google The problems can be summed up into these bullet points: It is assumed (and practically required) to use Google Play Store Google Play Store requires a Google Account Google Account means yo...| Chris Irwin's Blog
I decided I wanted some stats. There are a few options: Use a service (Google Analytics, etc) or parse your logs. Both have pros and cons. This article isn’t supposed to help you decide. I just wanted simple stats based on logs: It’s non-intrusive to visitors, doesn’t send their browsing habits to third parties (other than what they send themselves), and uses the apache log data I’ve already got for the entire year.| Chris Irwin's Blog
Update - March 09 2020| chrisirwin.ca
Gnome 3 introduced a very handy feature, grouping multiple application windows (whether they be separate instances or not) into a single desktop icon. This means when <alt+Tab>ing through your windows, you can skip over the dozen firefox windows, then dive into just your terminal windows. Generally, this works great, and I think most users don’t have any issues. However, some people (myself included) use a lot of terminals. Some are temporary short-lived generic terminals.| Chris Irwin's Blog
I recently took my car to a racetrack, covered with cameras. I wanted to post these on youtube, but encountered a few issues: Dashcam saves video in 5-minute chunks Front and Rear videos need to be combined I don’t know anything about video editing I didn’t have a working video editor Fedora doesn’t seem to ship ffmpeg, and rpmfusion doesn’t support Fedora 22 yet| Chris Irwin's Blog
This is the contents of a presentation I gave to KWLug in April 2015, roughly converted to blog format. The slides are available. I’ll update this post with a link to the kwlug.org podcast when it goes online. Audio and Video available via kwlug.org. I didn’t get through all of the points, I barely touched on snapshots (and didn’t cover any utilities). I’ll post a follow-up with my filesystem corruption demonstration instructions.| Chris Irwin's Blog
I recently restarted all my VMs at once and found that several managed to start services before they finished mounting their NFS shares. These shares back apache virtualhosts, mysql databases, and ultimately left several services in non-functional states. Systemd has the ability to depend on services (Requires=, and others) as well as filesystems (RequiresMountsFor=). However, I don’t want to modify or replace the .service files installed from the package. I’d have to manually reconcile c...| Chris Irwin's Blog
So you might find yourself saying this one day: HELP! I just deleted a file on my btrfs! It wasn’t old enough to be in a backup, snapshot, or git It was old enough that I don’t want to retype it. How do I get it back? Also, my btrfs is on an SSD, and it might kick off a garbage collection routine at any time! Well, as luck would have it, I just did that to a blog post I’ve spent all evening writing.| Chris Irwin's Blog
Linode offers pre-assembled Fedora VMs, but their environment doesn’t support SELINUX. You also don’t get any notification on when you should reboot for new kernels, etc. I decided to attempt to adapt Fedora’s stock cloud image on Linode. It was not without it’s own effort, but ultimately I think it’s a better solution than attempting to retro-fit the linode image for booting. Also, I’m using the fedora cloud image on all my other VMs, so I’m familiar with how it’s set up (and...| Chris Irwin's Blog
I’ve just built a new web server vm, basically identical to my mariadb one, and the fedora cloud image. This is documentation on how I configured it, as well as the ttrss update daemon. To get nfs to work, install nfs-utils. I need some packages also for ttrss. $ yum install nfs-utils httpd php php-mysql php-mbstring php-xml I’m putting the web root on an nfs mount from my nas. I have multiple virtualhosts.| Chris Irwin's Blog
I’ve just built a new mysql server vm, using the instructions I posted previously. This is documentation on how I configured it. To get nfs to work, install nfs-utils. $ yum install nfs-utils httpd mariadb mariadb-server I’m putting the database on an nfs mount from my nas. Socket files can’t exist on nfs. It’s easier to move the data than the socket file (I think I hit an selinux issue with socket access).| Chris Irwin's Blog
I’ve come across a post by Marek Goldmann detailing the basics of running Fedora cloud images on kvm. I found it was a massive help, but only got me part-way toward what I wanted. The documentation for cloud-init is sub-par from what I can find, so I thought I’d post this with my own modifications. My requirements were: Easy scriptable deployment (Marek’s script got me 100% of this goal) Static (sequential) IP assignments instead of DHCP hostname !| Chris Irwin's Blog
or “That’s why you read changelogs” I was having some significant difficulties with offlineimap after upgrading to 6.5.4 (I’m using Ubuntu currently, so I upgraded straight from 6.3.4). The original issue was a FolderValidity error, which is covered by the offlineimap FAQ. This affected my “All Mail” folder (It also affected my “Sent Mail”, but it got lost in the noise of the 67964 messages in All Mail). The recovery process is simply to remove that folder (and it’s sync his...| Chris Irwin's Blog
I recently got a new machine for work, with lots of fancy memory and everything. First thing to do was install a friendly operating system with gnome-shell, and set up a VM for my windows/office requirements at work. Normally I would favour Virt-Manager+kvm, but since we’re now using vmware-server (and soon vsphere hypervisor) I thought it would be better to keep compatible. Luckilly, vmware has a free player that works pretty well for my basic needs.| Chris Irwin's Blog
Follow-up to my post about using Maildirs with Ubuntu’s messaging menu. Brad, the original author, has indicated that he considered his code to be essentially WTFPL. I feel the same about my bits, and have added a COPYING file specifically indicating this license instead of the previous GPL3 license. I have made some other changes since that last version: The configuration values (frequency, directories) are now loaded from separate files.| Chris Irwin's Blog
I’ve created a Firefox addon collection. This is mostly for my own use (Since firefox can’t sync addons, a single list of addons I use helps bring up machines), but I thought I’d throw it out there if anybody else was curious. [Chris’ Addons](https://addons.mozilla.org/en-US/firefox/collections/chrisirwin/chris-a/ Chris’ Addons collection at addons.mozilla.org)| Chris Irwin's Blog
I was pretty sure I wasn’t the only mutt user who missed having mail notifications in the indicator area. From a quick google search, it turns out I was in good company. Even better, a fellow by the name of Brad Mont actually wrote a basic python script to create an appindicator that would monitor a maildir. It was about 90% of what I was looking for. Unfortunately, I didn’t want another icon crowding the panel, so I adapted his script to use the messaging menu, so it shows up with chat (...| Chris Irwin's Blog
Assuming you’re doing a Google Image Search for a specific unicomp keyboard. ZOMG!| Chris Irwin's Blog
As well as my previously mentioned Unicomp keyboard, I also decided to purchase a Logitech Trackman Wheel Optical. It’s basically a thumb-oriented trackball that resembles a standard mouse (with regards to clicking, scrolling, etc). Adjusting to using the trackball was extremely easy. I have one at work and one at home. I haven’t been able to use it for games yet, so I’ve still got a second mouse around for that (more on that in a bit…)| Chris Irwin's Blog
I’ve recently purchased a Unicomp Customizer 104. It is essentially a modern version of the old IBM Model M mechanical keyboards. I do a fair amount of typing, so I thought it would be worthwhile to invest in a better keyboard. I’ve decided not to post photos since there seems to be no shortage of those on teh interwebs already. The feel is very nice. It reminds me of the Model M I used to have, but unfortunately, that model is long gone and I can’t do a direct comparison.| Chris Irwin's Blog
I’ve tried (and failed) to use many different pieces of software designed to manage todo lists. The main reasons I’ve failed is because the software either has a high learning curve, bad documentation, or it is cumbersome to use. I’ve finally struck gold with devtodo. Out of the box, it is almost perfect, but there are a few little issues: It expects .todo in the current directory It has no ability to track what you are working on.| Chris Irwin's Blog
I recently had need to do a reverse find, and couldn’t discover any programs that offer this functionality. I decided to work around the issue using a bash function, loops, and find. This function can be stuffed into your ~/.bash_profile, and referenced wherever you need it. rfind() { rfind_path="${PWD}" while [[ "${rfind_path}" != "/" ]]; do rfind_search_paths="${rfind_search_paths} ${rfind_path}" rfind_path=$(dirname "${rfind_path}") done ...| Chris Irwin's Blog
Okay, so the ipad is just a big ipod touch, and filling the “device too large to always have on you but too limited to do lots with” between a handy with-you smartphone and a real computer. If it was an accessory to a computer, THEN it would be interesting. Put it on the dock and it acts like a second screen. If you’re reading a PDF or web page, you can send it to the ipad for display, grab the ipad and continue having your reference material up.| Chris Irwin's Blog
I’ve linked my blog to [Twitter](http://twitter.com Twitter), [Identi.ca](http://identi.ca identi.ca), and [Facebook](http://facebook.com Facebook) via [ping.fm](http://ping.fm ping dot fm) via [CR Post2Pingfm](http://wordpress.org/extend/plugins/cr-post2pingfm/ CR Post to Ping fm) [Twitterfeed](http://twitterfeed.com/ Twitter Feed dot com). Whew. Hopefully this means that I will update my blog more often as there is a slight, remote chance that somebody might actually see it. I’ve got tw...| Chris Irwin's Blog
I’ve created a new project called imagecompare. The purpose is to detect and merge duplicate images, particularly where EXIF information may differ. There is more information on the project page| Chris Irwin's Blog
I’ve recently switched over to using git for revision control for my personal projects. This has made doing packaging and development substantially easier. I also decided to use git for my resume. I’ve redone my resume in LyX (a LaTeX front end)| Chris Irwin's Blog
I have a [PPA on Launchpad.net](https://edge.launchpad.net/~chrisirwin/+archive/ppa Chris Irwin’s PPA) now. I’ve found it substantially easier than managing my own repository. Apparently some other folks use it, so I will be posting here when I do notable updates and additions. Here is a breakdown of what is on there now: cwi-meta and the cwi-* packages it builds. These are packages that provide PPA repository information and package dependencies for me setting up new (virtual) machines.| Chris Irwin's Blog
I have imported content from my previous Wordpress blog (It was MIA for a bit). Pretty much everything older than this post is obsolete.| Chris Irwin's Blog
Here are some interesting links to keep handy. I do not think these are easy enough to come across, so I’m linking to them from here. How to get windows to use a hardware clock set to GMT. You know, like the rest of the world. How to grab the i-sight firmware for use with Linux. Note that the kernel in Ubuntu Feisty already has the driver part.| Chris Irwin's Blog
I have various pieces of computer equipment that I am looking to get rid of. I would much prefer to give them to somebody who can put them to a useful purpose rather than throw them out. Please contact me if you are interested. I’m listing all components separately. While several are currently attached (motherboards + cpus) I am willing to divide up this stuff however necessary. Free Stuff Motherboards + CPUs 2 - 1.| Chris Irwin's Blog
I was just building some statistics of users, and apparently there are 82 unique IPs that access my package repository. This excludes my workstations. I had no idea anybody else was even using them, so “Rock On” as it were. I’ll be creating an RSS feed soon to keep users appraised of future changes to the repository. Also, I apologize for the reorganization that happened a few weeks ago, as it probably had caused some headaches.| Chris Irwin's Blog
There is a rather interesting documentary about Hugo Chavez of Venezuala. The Revolution will not be Televised.| Chris Irwin's Blog
[ zaphod ] ~ $ ping -c 1 yahoo.com PING yahoo.com (66.94.234.13) 56(84) bytes of data. 64 bytes from **fifaworldcup**.yahoo.net (66.94.234.13): icmp_seq=1 ttl=52 time=83.8 ms --- yahoo.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 83.859/83.859/83.859/0.000 ms| Chris Irwin's Blog
So I sent my MacBook in for repairs. The fn key seems to have come right off, which is unfortunately not only a useful key, but perhaps the most heavily-trafficked key on the entire board (being a pre-requisite of such auspicious keys such as Page-Up, and Home). Luckily, the guy at the store thinks it may be ready tomorrow – assuming they can diagnose the missing key and quickly order a replacement keyboard.| Chris Irwin's Blog
My old Phone sucked. It was a small Kyocera slider that had consistently horrible reception and call quality. I was able to opt for a hardware update today, and decided to jump for it. I got a Motorola e815. It seems to have excellent call quality and reception, though I’ve only had it a few hours, so this may be rather subjective. The website linked above seems to indicate the phone does not have Java, but mine apparently does.| Chris Irwin's Blog
I’ve spent the time since my last post playing with encfs and libpam-encfs. It is actually rather easy to have working, and I haven’t noticed much of a slow-down for regular system use yet.| Chris Irwin's Blog
Playing around with PAM modules lately, I have discovered libpam-ssh and pam-keyring. Both require some mucking about in /etc/pam.d/, but provide some worthwhile benefits. libpam-ssh provides automatic spawning of ssh-agent, and populating ssh keys as required. This is handier than the keychain package as you do not have to enter passwords for each key, or even at all other than the initial login. The downside, of course, is that your ssh key passphrases must be the same as your system password.| Chris Irwin's Blog
I have changed packages.cidesign.ca again. It is now i386 only, as I do not really use ppc since I got the macbook, and I can not maintain it. I have added updated packages for dosbox 0.65, as well as scummvm 0.9.0. I have modified scummvm to install the modern theme, and to search a system-wide path for themes (/usr/share/scummvm/themes). It seems to work alright, and looks a whole lot nicer.| Chris Irwin's Blog
So I purchased a Macbook. I waited until I had it for a bit before posting about it. I’ve only had it for two days, but am really enjoying it thus far. I will post photos later. This is not a review. There are enough of those already. The screen is excellent, the keyboard only takes a few minutes to get used to, the touch-pad is very natural, and the heat issues are… intermittent, and very dependent on ambient-temperature.| Chris Irwin's Blog
So as part of this little repository I made for myself, I’ve built a script to regenerate the the required apt files. But here is the issue: I’ve got a symlink called “6.06” pointing to the “dapper” directory. I don’t wish to regenerate both, as they are identical contents, and ls -d */ returns the symlink as a directory. I’ve resorted to using some command-line kung-fu to get around this, but if anybody happens to know of a better way, please let me know:| Chris Irwin's Blog
I’ve been reading up on debian packages since I’m now an Ubuntu user (Ubuntu being derived from Debian). I was previously building packages, copying them around, and manually installing and pinning versions. Today, I decided to simplify this process by creating my own package repository. Behold, [http://packages.cidesign.ca/](http://packages.cidesign.ca/ packages.cidesign.ca). The following lines in /etc/apt/sources.list will add this repository: ## cidesign packages deb http://packages.c...| Chris Irwin's Blog
I’ve replaced the slow Hitachi 4200rpm 2MB cache hard disk in my iBook. Unfortunately the new Samsung 40GB 5400rpm 8MB cache drive seems to have horrible power management features, and gets quite hot. Though it is a very noticable upgrade, system performance is much better now. I’ve taken this opportunity to perform a fresh install of both OSX and Ubuntu Dapper (using Beta 2 media). I’m creating a how-to page detailing special steps needed during or after install.| Chris Irwin's Blog
I’m pretty bad for doing updates. I just turned 23 on Tuesday to much fanfare and celebrations (I had dinner at Spageddy Eddy’s with Alexis ;) Me and Chris K are having a joint birthday celebration at the Elephant & Castle, located on King and Wellington, just inside Galleria Mall. Saturday May 06 2006, about 10:00PM (I’ll be there a bit earlier to eat though). Feel free to show up, and bring whomever you would like.| Chris Irwin's Blog
“Are you crazy? You’re running an in-development, unstable operating system on your server?” This is really two questions, but I will answer them anyway. First of all, Yes, but I fail to see how this is related to the topic at hand. Secondly, I’m not overly concerned with stability on my home server. As long as email works, I’m okay.| chrisirwin.ca
While checking out some logs and google search analytics, I found that my post about Discard (TRIM) with KVM Virtual Machines has been referenced far more than I expected it to be. I decided to take this opportitnity to fact-check and correct that article.| chrisirwin.ca