<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

<channel>
  <title>Wumpus Cave Blog</title>
  <link>https://www.wumpus-cave.net</link>
  <description>Delving the depths of computing, hoping not to get eaten by a wumpus</description>
  <image>
    <url>https://www.wumpus-cave.net/wumpus-cave_white_transparent.png</url>
    <title>Wumpus Cave</title>
    <link>https://www.wumpus-cave.net</link>
  </image>
  <copyright>2025 Timm Murray. CC BY-NC</copyright>
  <language>en-us</language>
  <category>Programming/Electric Vehicles/Walkable Cities</category>
  <lastBuildDate>2025-12-14</lastBuildDate>
  <pubDate>2024-10-01</pubDate>
  <managingEditor>tmurray@wumpus-cave.net (Timm Murray)</managingEditor>
  <webMaster>tmurray@wumpus-cave.net (Timm Murray)</webMaster>
  <atom:link href="https://www.wumpus-cave.net/rss.xml" rel="self" type="application/rss+xml" />



  <item>
    <title>Cobol Has Been &quot;Dead&quot; For So Long, My Grandpa Wrote About It</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2024&#x2F;10&#x2F;2024-10-01-death-of-cobol&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2024-10-01</pubDate>
    <description>In June of 1992, my grandfather had an article published in Technical Support
magazine proclaiming the death of Cobol. It naturally contains some of the
buzzwords of the time, such as fourth-generation programming language (4GL). If
you&#39;re not familiar with that term, suffice it to say that the Wikipedia
page
lists several examples, and Cobol has outlasted most of them.</description>
  </item>
  <item>
    <title>A Solarpunk Internet: How Much Bandwidth?</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2024&#x2F;05&#x2F;2024-05-12-solarpunk-internet-principles&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2024-05-12</pubDate>
    <description>If we were to build a Solarpunk Internet, what would that look like? What kind of bandwidth can we expect, and what can we do with that? If we need to degrowth the Internet in order to build it back better, what kind of bandwidth do we need?</description>
  </item>
  <item>
    <title>Five minute EV charging is silly, and we don&#39;t need it</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2024&#x2F;03&#x2F;2024-03-30-ten-minute-ev-charging-wont-happen&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2024-03-30</pubDate>
    <description>Big new battery breakthroughs often come with headlines proclaiming ten or
even five minute charging times for EVs that can go 600 miles on a full
charge. Batteries are not the full story. These charge times would require a
whole new plug design, and likely entirely new transformers to power the charge
banks. There are bottlenecks besides batteries.</description>
  </item>
  <item>
    <title>Moore&#39;s Law is dead, but not for the reasons everyone says</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2024&#x2F;03&#x2F;2024-03-20-moores-law-is-dead&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2024-03-20</pubDate>
    <description>Here&#39;s some strawman reasons that Moore&#39;s Law is dead:</description>
  </item>
  <item>
    <title>New static blog</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2024&#x2F;03&#x2F;2024-03-19-new-static-blog&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2024-03-19</pubDate>
    <description>After dabbling with Gemini, I don&#39;t think I&#39;ll bother anymore. You can
ultimately accomplish its goals with plain HTTP if you avoid cookies or pixel
trackers or JavaScript. Which this blog now does.</description>
  </item>
  <item>
    <title>How to write regexes that are almost readable</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2022&#x2F;06&#x2F;2022-06-06-how-to-write-regexes-that-are-almost-readable&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2022-06-06</pubDate>
    <description>Let&#39;s start with a moderately simple regex:</description>
  </item>
  <item>
    <title>Converted Blog To Gemini</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2022&#x2F;05&#x2F;2022-05-05-converted-blog-to-gemini&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2022-05-05</pubDate>
    <description>I haven&#39;t updated the blog in a while, and I&#39;m also rethinking the use of WordPress. So I decided to dump the old posts, and convert it to gemtext, the Gemini version of markdown.</description>
  </item>
  <item>
    <title>Running Remote X11 Applications on a Raspberry Pi (or: Bad Minecraft) [Five Minute Building Blocks]</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2021&#x2F;02&#x2F;2021-02-08-running-remote-x11-applications-on-a-raspberry-pi-or-bad-minecraft-five-minute-building-blocks&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2021-02-08</pubDate>
    <description>https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v&#x3D;DcEMNovvb1s</description>
  </item>
  <item>
    <title>Are A2 (or A1) Application Class SD cards marketing BS?</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2021&#x2F;01&#x2F;2021-01-01-are-a2-or-a1-application-class-sd-cards-marketing-bs&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2021-01-01</pubDate>
    <description>People often misunderstand the speed ratings of SD cards. They are built cheaply, and historically have primarily targeted digital cameras. That meant they emphasized sequential IO performance, because that&#39;s how pictures and video are handled. When we plug an SD card into a Raspberry Pi, however, most of our applications will use random reads and writes, which is often abysmal on these cards.</description>
  </item>
  <item>
    <title>Looking for a new maintainer on GStreamer1</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2020&#x2F;10&#x2F;2020-10-28-looking-for-a-new-maintainer-on-gstreamer1&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2020-10-28</pubDate>
    <description>I slapped GStreamer1 together some years ago using the introspection bindings in Glib. Basically, you point Glib to the right file for the bindings, and it does most of the linking to the C library for you. They worked well enough for my project, so I put them up on CPAN. They cover gstreamer 1.0, as opposed to the GStreamer module, which covers 0.10 (which is a deprecated version).</description>
  </item>
  <item>
    <title>The Seeed XIAO</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2020&#x2F;09&#x2F;2020-09-07-the-seeed-xiao&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2020-09-07</pubDate>
    <description>Seeed has been picking up in the maker community as a source of low cost alternatives to popular development boards. The Rock Pi S is an excellent competitor to the Raspberry Pi Zero, providing the quad core processor that the Pi Zero lacks. They have also released the Seeed XIAO, a small ARM-based microcontroller competing with Arduino or Teensy boards, and sent me units for this review.</description>
  </item>
  <item>
    <title>Castellated: An Adaptable, Robust Password Storage System for Node.js</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2020&#x2F;05&#x2F;2020-05-11-castellated-an-adaptable-robust-password-storage-system-for-node-js&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2020-05-11</pubDate>
    <description>If you ask for advice on how to store passwords, you&#39;ll get some responses that are sensible enough. Don&#39;t roll your own crypto. Salted hashes aren&#39;t good enough against GPU attacks. Use a function with a configurable parameter that causes exponential growth in computation, like bcrypt. If the posters are real go-getters that day, they might even bring up timing attacks.</description>
  </item>
  <item>
    <title>Doorbot.ts - Let me in the building, with Typescript</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2020&#x2F;02&#x2F;2020-02-13-doorbot-ts-let-me-in-the-building-with-typescript&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2020-02-13</pubDate>
    <description>A common issue with makerspaces is letting people in the door. Members sign up and should have access immediately. Members leave and should have their access dropped just as fast. Given the popularity of the Raspberry Pi among makers, it makes sense to start there, but how do you handle the software end?</description>
  </item>
  <item>
    <title>The Wisdom of TAP Numbering in a JavaScript World</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2019&#x2F;08&#x2F;2019-08-26-the-wisdom-of-tap-numbering-in-a-javascript-world&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2019-08-26</pubDate>
    <description>TAP started as a simple way to test the Perl interpreter. It worked by outputting a test count on the first line, followed by a series of &quot;ok&quot; and &quot;not ok&quot; strings on subsequent lines. The hash character could be used for comments.</description>
  </item>
  <item>
    <title>Setting up a Reverse Proxy with the Raspberry Pi</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2019&#x2F;01&#x2F;2019-01-15-setting-up-a-reverse-proxy-with-the-raspberry-pi&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2019-01-15</pubDate>
    <description>https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v&#x3D;EtxFP93h6ss</description>
  </item>
  <item>
    <title>Lasercut Mineral Oil Case for the Raspberry Pi</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;11&#x2F;2018-11-26-lasercut-mineral-oil-case-for-the-raspberry-pi&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-11-26</pubDate>
    <description>https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v&#x3D;qdT9e5eCBYY</description>
  </item>
  <item>
    <title>Game::Collisions v0.1 - Fast 2D collision detection</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;10&#x2F;2018-10-28-gamecollisions-v0-1-fast-3d-collision-detection&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-10-28</pubDate>
    <description>Some years ago, I wrote a little top-down shooter in Perl. It was not a good game, and was never released, but I learned a lot making it. One problem I encountered was collision detection. Checking every object for collisions against every other object is not feasible past a small size. Especially in pure Perl, since this is a straight numeric problem, but it&#39;s still a struggle for C to do it.</description>
  </item>
  <item>
    <title>&quot;Programming the Raspberry Pi with Perl&quot; is now released</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;09&#x2F;2018-09-26-programming-the-raspberry-pi-with-perl-is-now-released&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-09-26</pubDate>
    <description>The eBook was released on Monday, and coupon codes to backers were sent out on Tuesday. After a glitch with the first batch of coupons, the second batch was sent out and seems to be all good.</description>
  </item>
  <item>
    <title>Sous Vide and Thermocouples</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;09&#x2F;2018-09-04-sous-vide-and-thermocouples&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-09-04</pubDate>
    <description>A while back, I built a DIY sous vide cooker. It&#39;s gone through a major revision since the original. My current one uses power outlets to connect the teacup heaters, rather than hard wiring them in. I&#39;m in the midst of making another big change to it, which is to use an ESP8266 with custom programming, rather than an off the shelf PID controller, and also to use a different temperature probe.</description>
  </item>
  <item>
    <title>Device::WebIO::RaspberryPi 0.900, now with AnyEvent and RPi::WiringPi backend</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;04&#x2F;2018-04-07-devicewebioraspberrypi-0-900-now-with-anyevent-and-rpiwiringpi-backend&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-04-07</pubDate>
    <description>Device::WebIO::RaspberryPi 0.900 has been released. The big changes are to change the backend from HiPi to RPi::WiringPi, as well as put in a new input event system based on AnyEvent. There&#39;s also some slight updates to interrupt handling in Device::WebIO in version 0.022 to support this.</description>
  </item>
  <item>
    <title>Perl Raspberry Pi ebook sample chapter 1</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;03&#x2F;2018-03-28-perl-raspberry-pi-ebook-sample-chapter-1&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-03-28</pubDate>
    <description>The Perl Raspberry Pi ebook campaign is going great so far. As promised, here&#39;s another sample chapter, where we cover the lineup of Raspberry Pi models, as well as some tools you&#39;ll want&#x2F;need.</description>
  </item>
  <item>
    <title>New Perl Raspberry Pi ebook campaign!</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;03&#x2F;2018-03-27-new-perl-raspberry-pi-ebook-campaign&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-03-27</pubDate>
    <description>The Perl Raspberry Pi ebook campaign is now live! Steve Bertrand, the author of the excellent RPi::WiringPi module (among other RPi modules), has agreed to help.</description>
  </item>
  <item>
    <title>Perl Raspberry Pi ebook sample chapter: intro</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;03&#x2F;2018-03-27-perl-raspberry-pi-ebook-sample-chapter-intro&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-03-27</pubDate>
    <description>With the campaign for the Perl Raspberry Pi ebook underway, we&#39;re releasing a few sample chapters. First one for today is a short intro chapter. Tomorrow, we&#39;ll be releasing one with more meat, covering the basics of the Raspberry Pi range and some other tools you might need to get started. For now, here&#39;s the intro:</description>
  </item>
  <item>
    <title>New Device::WebIO release</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;03&#x2F;2018-03-27-new-devicewebio-release&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-03-27</pubDate>
    <description>Device::WebIO was originally based on a Python project, WebIOPi. It duplicated the REST API (with some slight corrections), which means it was built around the pull-style system of HTTP.</description>
  </item>
  <item>
    <title>What would you like to see from an ebook on programming the Raspberry Pi in Perl?</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;03&#x2F;2018-03-05-what-would-you-like-to-see-from-an-ebook-on-programming-the-raspberry-pi-in-perl&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-03-05</pubDate>
    <description>I guess the title says it all.</description>
  </item>
  <item>
    <title>Nginx direct cachefile hosting, or I found a hammer, get me a nail</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2018&#x2F;02&#x2F;2018-02-01-nginx-direct-cachefile-hosting-or-i-found-a-hammer-get-me-a-nail&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2018-02-01</pubDate>
    <description>Let&#39;s say you had an API that served JSON. Some of the responses don&#39;t change very often. Perhaps something like user data:</description>
  </item>
  <item>
    <title>Slicing 3D Objects for a Laser Cutter with OpenSCAD</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2017&#x2F;09&#x2F;2017-09-29-slicing-3d-objects-for-a-laser-cutter-with-openscad&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2017-09-29</pubDate>
    <description>Recently, my makerspace got a new laser cutter that can fit 4x2 foot plywood sheets. This means I can redo our arcade&#39;s control panel with a design in OpenSCAD. Here&#39;s the mockup:</description>
  </item>
  <item>
    <title>Games::Chipmunk now at v0.5, can do useful things</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2017&#x2F;05&#x2F;2017-05-02-gameschipmunk-now-at-0-5-can-do-useful-things&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2017-05-02</pubDate>
    <description>Games::Chipmunk, the Perl bindings for the Chipmunk 2D graphics library, are now at version 0.5.</description>
  </item>
  <item>
    <title>SQL::Functional Cookbook--Updates</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2017&#x2F;04&#x2F;2017-04-04-sqlfunctional-cookbook-updates&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2017-04-04</pubDate>
    <description>Updates are easy, too.</description>
  </item>
  <item>
    <title>SQL::Functional Cookbook: Inserts</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2017&#x2F;04&#x2F;2017-04-01-sqlfunctional-cookbook-inserts&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2017-04-01</pubDate>
    <description>We can build an insert statement easily, too.</description>
  </item>
  <item>
    <title>SQL::Functional Cookbook: ANDs and ORs</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2017&#x2F;03&#x2F;2017-03-27-sqlfunctional-cookbook-ands-and-ors&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2017-03-27</pubDate>
    <description>It seems like it should be easy, but I was always disappointed with how other solutions handle arbitrarily nested ANDs and ORs. Most SQL creation libraries seem to start by adding support for a list of AND statements. At some point, the authors realize they need ORs, so they slap that in. Much later, they realize they need to mix ANDs and ORs, and then all sorts of convolutions get written.</description>
  </item>
  <item>
    <title>SQL::Functional Cookbook: Simple Select</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2017&#x2F;03&#x2F;2017-03-24-sqlfunctional-cookbook-simple-select&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2017-03-24</pubDate>
    <description>SQL::Functional now has reasonably complete converge of common SQL statements. There&#39;s always going to be something else to add, but the main thing it needs now is a cookbook of standard cases. Along those lines, I thought I&#39;d start up a series of blog posts that can be compiled into a complete cookbook.</description>
  </item>
  <item>
    <title>Callback Functions Between C and Perl</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2017&#x2F;02&#x2F;2017-02-21-callback-functions-between-c-and-perl&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2017-02-21</pubDate>
    <description>Everything you ever want to do with xs is documented somewhere in perlxs, perlguts, perlapi, perlxstypemap, and perlcall. Figuring out where it&#39;s documented, and how it relates to everything else, is the hard part.</description>
  </item>
  <item>
    <title>Adventures in Code Generation -- Graphics::GVG</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2016&#x2F;11&#x2F;2016-11-29-adventures-in-code-generation-graphicsgvg&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2016-11-29</pubDate>
    <description>Vector graphic games, like Battlezone or Asteroids, are old favorites of mine, and I&#39;ve been wanting to make a game with that same style. Partially, that&#39;s because I&#39;m not that artistic, and it&#39;s easy to make the style look cool. Just make everything come together at hard angles and let it go.</description>
  </item>
  <item>
    <title>New module: SQL::Functional</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2016&#x2F;08&#x2F;2016-08-01-new-module-sqlfunctional&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2016-08-01</pubDate>
    <description>If you have an application with simple database needs, writing the SQL strings directly in the program works fine. If it&#39;s bigger, an Object-Relational Mapper like DBIx::Class starts to make sense. I find the additional boilerplate of an ORM isn&#39;t worth the effort for simple needs, but it doesn&#39;t take much more for the overhead to be worthwhile.</description>
  </item>
  <item>
    <title>New Module: Linux::IRPulses</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2016&#x2F;03&#x2F;2016-03-03-new-module-linuxirpulses&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2016-03-03</pubDate>
    <description>I&#39;ve been playing around with Infrared Remote data lately. I wanted to use LIRC to parse the data, but the problem was that I was working with a lot of custom IR protocols, and I didn&#39;t want to use the usual LIRC data flow of mapping codes to buttons to executable programs. If you want the usual way, try Lirc::Client.</description>
  </item>
  <item>
    <title>Programming Quadcopters, Part I</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2016&#x2F;02&#x2F;2016-02-12-programming-quadcopters-part-i&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2016-02-12</pubDate>
    <description>Video of my presentation for the Madison Perl Mongers about programming quadcopters. Part II will be given for the Millwaukee Perl Mongers on March 16th.</description>
  </item>
  <item>
    <title>Low Latency FPV Streaming with the Raspberry Pi</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;11&#x2F;2015-11-07-low-latency-fpv-streaming-with-the-raspberry-pi&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-11-07</pubDate>
    <description>One of the biggest challenges in running my local quadcopter racing group has been overlapping video channels. The manual for the transmitters list a few dozen channels, but in practice, only four or five can be used at the same time without interference.</description>
  </item>
  <item>
    <title>Will the US drone hobby be destroyed by paperwork?</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;10&#x2F;2015-10-19-will-the-us-drone-hobby-be-destroyed-by-paperwork&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-10-19</pubDate>
    <description>No.</description>
  </item>
  <item>
    <title>New Module: Device::Spektrum -- Control Common RC Quadcopter Flight Controllers</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;10&#x2F;2015-10-17-new-module-devicespektrum-control-common-rc-quadcopter-flight-controllers&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-10-17</pubDate>
    <description>I&#39;ve been wanting to put a Raspberry Pi on a quadcopter ever since I realized that the AR.Drone was too limited and poorly implemented.</description>
  </item>
  <item>
    <title>20th Century Podcasting</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;10&#x2F;2015-10-13-20th-century-podcasting&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-10-13</pubDate>
    <description>I got to be on Madison&#39;s WORT Access Hour last night for the Bodgery. We talked about what the space is about, how we got started, some of the projects we&#39;ve been working on, and finished off with potential Halloween projects.</description>
  </item>
  <item>
    <title>Quoting in Documentation</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;08&#x2F;2015-08-28-quoting-in-documentation&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-08-28</pubDate>
    <description>I just ran across a small niggle in the DateTime::Format::Strptime docs:</description>
  </item>
  <item>
    <title>Don&#39;t use is() in Test::More</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;06&#x2F;2015-06-19-dont-use-is-in-testmore&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-06-19</pubDate>
    <description>This results in:</description>
  </item>
  <item>
    <title>Musings on Big-Oh and the Schwartzian Transform</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;06&#x2F;2015-06-10-musings-on-big-oh-and-the-schwartzian-transform&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-06-10</pubDate>
    <description>Not a new topic, but one I&#39;ve been mulling over recently.</description>
  </item>
  <item>
    <title>Device::GPS v0.714874475569562</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;05&#x2F;2015-05-23-devicegps-v0-714874475569562&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-05-23</pubDate>
    <description>Device::GPS v0.714874475569562 is released. I started writing this after looking at the problems with Perl&#39;s GPS support. Using a callback interface eliminates the delay in GPS::NMEA, where it polls the serial connection until it gets the NMEA sentence it&#39;s looking for.</description>
  </item>
  <item>
    <title>Welcome, EEWeb.com Readers</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;05&#x2F;2015-05-18-welcome-eeweb-com-readers&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-05-18</pubDate>
    <description>The Wumpus Cave is EEWeb.com&#39;s site of the day! Here&#39;s a few links to old entries that y&#39;all might be interested in:</description>
  </item>
  <item>
    <title>Improving Perl&#39;s GPS Support</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;05&#x2F;2015-05-17-improving-perls-gps-support&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-05-17</pubDate>
    <description>A little while ago, I wrote an article for PerlTricks on GPS and Perl, primarily using the GPS::NMEA module. Accessing GPS data was one part of a larger project I&#39;m working on (recording telemetry data for car racing). Unfortunately, I also discovered some limitations in the GPS::NMEA module.</description>
  </item>
  <item>
    <title>Really, really small computers from UMN</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;04&#x2F;2015-04-16-really-really-small-computers-from-umn&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-04-16</pubDate>
    <description>https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v&#x3D;xYct31tFHnc</description>
  </item>
  <item>
    <title>Top Gear is dead . . .</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;03&#x2F;2015-03-25-top-gear-is-dead&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-03-25</pubDate>
    <description>. . . and I&#39;m OK with that. I was rewatching shows from series 7 and 8, and those were the types of shows I wanted to watch. At some point, it became less about cars and more about cocking about in vaguely car-related ways. It was still fun, and I still watched it, but I felt like it was missing something.</description>
  </item>
  <item>
    <title>How did Linux become a second-class citizen on Arduino?</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;03&#x2F;2015-03-20-how-did-become-linux-a-second-class-citizen-on-arduino&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-03-20</pubDate>
    <description>Using Linux with Arduino reminds me a lot of using Oracle with Perl; it works, but there’s a lot of things that aren’t up to the same level as other combinations. For Oracle and Perl, it&#39;s somewhat understandable, as Perl comes from a FOSS background and Oracle, well...doesn’t.</description>
  </item>
  <item>
    <title>Got stuff that needs to be attached to other stuff? Use Attach::Stuff</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;03&#x2F;2015-03-06-got-stuff-that-needs-to-be-attached-to-other-stuff-use-attachstuff&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-03-06</pubDate>
    <description>I&#39;m in the middle of a project that&#39;s going to be continaing a Raspberry Pi, the Rpi camera module, a GPS breakout board, an accelerometer breakout board, and a microphone breakout board. All that needs to be screwed into a lasercut case.</description>
  </item>
  <item>
    <title>TIL you can parse HTML with regexes, if you&#39;re named Tom Christiansen</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;01&#x2F;2015-01-29-til-you-can-parse-html-with-regexes-if-youre-named-tom-christiansen&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-01-29</pubDate>
    <description>http:&#x2F;&#x2F;stackoverflow.com&#x2F;a&#x2F;4234491&#x2F;830741</description>
  </item>
  <item>
    <title>We do unwise things at the Bodgery sometimes</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;01&#x2F;2015-01-17-we-do-unwise-things-at-the-bodgery-sometimes&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-01-17</pubDate>
    <description></description>
  </item>
  <item>
    <title>Perl Advocacy Fail</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2015&#x2F;01&#x2F;2015-01-16-perl-advocacy-fail&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2015-01-16</pubDate>
    <description>Guy comes by Perlmonks wondering why his Perl program is so slow to start on a Raspberry Pi. Muses that Perl may be inappropriate for small platforms like this, and that perhaps the program should be rewritten in C. Monks get salty at the thought.</description>
  </item>
  <item>
    <title>Newwwwwww QuadCopter!</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;12&#x2F;2014-12-25-newwwwwww-quadcopter&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-12-25</pubDate>
    <description>My AeroQuad kit came yesterday. It&#39;s a Cyclone frame with an AeroQuad32 control board. Spent most of the day at The Bodgery building it, and got most of the way through the frame build:</description>
  </item>
  <item>
    <title>Building OpenTX on Gentoo</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;12&#x2F;2014-12-17-building-opentx-on-gentoo&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-12-17</pubDate>
    <description>I just got a Turnigy 9XR radio for a new quadcopter. I had been thinking about the Parrot Beebop, but I decided that I wanted a grown-up quad, so I got the AeroQuad Cyclone kit instead.</description>
  </item>
  <item>
    <title>A Hackspace Webcam</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;12&#x2F;2014-12-16-a-hackspace-webcam&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-12-16</pubDate>
    <description>Article I wrote for PerlTricks.com:</description>
  </item>
  <item>
    <title>Coding for 80 characters per line -- it&#39;s not just for old farts anymore</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;12&#x2F;2014-12-01-coding-for-80-characters-per-line-its-not-just-for-old-farts-anymore&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-12-01</pubDate>
    <description>In a discussion on &#x2F;r&#x2F;coding, people once again debated the merits of the old 80 character per line rule. My usual argument is that we want to put several code windows next to each other, so yes, we do want to limit things to 80 characters. The author of the linked piece mentions this, but I don&#39;t think he makes a persuasive counterargument.</description>
  </item>
  <item>
    <title>GStreamer1 and Device::WebIO::RaspberryPi</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;11&#x2F;2014-11-22-gstreamer1-and-devicewebioraspberrypi&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-11-22</pubDate>
    <description>Previous versions of Device::WebIO::RaspberryPi grabbed still images from the camera by calling out to raspistill. Given the limitations of the Rpi, this meant it had to load a program off the SD card into main memory and execute.</description>
  </item>
  <item>
    <title>Keep WiFi Alive on Raspberry Pi</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;11&#x2F;2014-11-16-keep-wifi-alive-on-raspberry-pi&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-11-16</pubDate>
    <description>So solving my connection problems to a Pi by turning off power savings didn&#39;t work. I&#39;m now using a crude but effective method where the Pi pings the gateway every 2 minutes.</description>
  </item>
  <item>
    <title>Fix for Unresponsive Raspberry Pi?</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;11&#x2F;2014-11-14-fix-for-unresponsive-raspberry-pi&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-11-14</pubDate>
    <description>After letting a Raspberry Pi server sit for a while, I would often try to login over ssh and get a &quot;Read from socket failed: Connection reset by peer&quot; message. Pinging it would also fail, until about 20 seconds later. Then everything was fine.</description>
  </item>
  <item>
    <title>Running Apache files on a Raspberry Pi ramdisk with mod_perl</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;11&#x2F;2014-11-06-running-apache-files-on-a-raspberry-pi-ramdisk-with-mod_perl&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-11-06</pubDate>
    <description>When used as a web app server, the Raspberry Pi often hosts a small number of static files that rarely change. Although the Raspberry Pi Model B(+) only has 512 MB of RAM, using 10MB for a ramdisk is usually more than enough.</description>
  </item>
  <item>
    <title>&quot;use strict&quot; makes us forget that Perl used to be worse</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;11&#x2F;2014-11-04-use-strict-makes-us-forget-that-perl-used-to-be-worse&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-11-04</pubDate>
    <description>What does &quot;int a, b, c&quot; do in Perl? Lots of people want to say that this won&#39;t even compile. There&#39;s even a comment on the StackOverflow post accusing OP of posting uncompilable code.</description>
  </item>
  <item>
    <title>Considering the Security of SSL Client Certs Versus HTTP Basic Auth</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;10&#x2F;2014-10-10-considering-the-security-of-ssl-client-certs-versus-http-basic-auth&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-10-10</pubDate>
    <description>People often overlook this option, but SSL allows clients to have their own certificates for authentication. It&#39;s similar to SSH key authentication, except because it&#39;s SSL, it&#39;s mind-numbingly complicated to setup. For optimal results, you&#39;ll want to have one client cert for each desktop, laptop, tablet, etc. that you want to connect to the site.</description>
  </item>
  <item>
    <title>Device::WebIO Family Version 0.002</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;09&#x2F;2014-09-20-devicewebio-family-version-0-002&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-09-20</pubDate>
    <description>A little while ago, I made a tentative release of Device::WebIO. That was a basic version so I didn&#39;t talk much about it. I&#39;ve now finished up what I wanted for v0.002, which gets things to where I want.</description>
  </item>
  <item>
    <title>Device::PCDuino -- Perl Module for Accessing I&#x2F;O on the pcDuino</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;07&#x2F;2014-07-21-devicepcduino-perl-module-for-accessing-io-on-the-pcduino&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-07-21</pubDate>
    <description>The Bodgery (my makerspace) was donated a few pcDuinos. These are great little devices, more powerful than the Raspberry Pi, and with a built-in WiFi adapter and Arduino-like pin headers.</description>
  </item>
  <item>
    <title>MongoDB -- Madmongers 2014&#x2F;07&#x2F;08</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;07&#x2F;2014-07-09-mongodb-madmongers-20140708&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-07-09</pubDate>
    <description>https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v&#x3D;Iy9u8CSbqlc</description>
  </item>
  <item>
    <title>YAPC::NA 2014</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;06&#x2F;2014-06-26-yapcna-2014&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-06-26</pubDate>
    <description>The UAV::Pilot talk went well. It&#39;s all up on YouTube already.</description>
  </item>
  <item>
    <title>Hooking into @INC</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;06&#x2F;2014-06-05-hooking-into-inc&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-06-05</pubDate>
    <description>In UAV::Pilot, there&#39;s a shell called uav that&#39;s meant to be an easy way to mess around. It takes arbitrary Perl commands and runs them through eval(). By loading up libraries into its context namespace, we can provide commands for all your basic UAV needs.</description>
  </item>
  <item>
    <title>Jenkins: Video Presentation for Madison Perl Mongers, 2014&#x2F;05&#x2F;13</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;05&#x2F;2014-05-14-jenkins-video-presentation-for-madison-perl-mongers-20140513&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-05-14</pubDate>
    <description>https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v&#x3D;iN3SJN6kTYU</description>
  </item>
  <item>
    <title>DIY Arduino-based Quadcopter: Noted</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;05&#x2F;2014-05-13-diy-arduino-based-quadcopter-noted&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-05-13</pubDate>
    <description>http:&#x2F;&#x2F;hackaday.com&#x2F;2014&#x2F;05&#x2F;12&#x2F;a-quadcopter-from-scratch&#x2F;</description>
  </item>
  <item>
    <title>Proposed YAPC::NA UAV Hackathon</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;05&#x2F;2014-05-06-proposed-yapcna-uav-hackathon&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-05-06</pubDate>
    <description>http:&#x2F;&#x2F;www.yapcna.org&#x2F;yn2014&#x2F;wiki?node&#x3D;Hackathons</description>
  </item>
  <item>
    <title>The Important Part</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;05&#x2F;2014-05-05-the-galaxy-s5-is-the-first-phone-ive-owned-that-gets-good-reception-in-my-basement&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-05-05</pubDate>
    <description>The Galaxy S5 is the first phone I&#39;ve owned that gets good reception in my basement. Don&#39;t know what else you want.</description>
  </item>
  <item>
    <title>Bunch of UAV::Pilot Updates on CPAN</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;04&#x2F;2014-04-27-bunch-of-uavpilot-updates-on-cpan&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-04-27</pubDate>
    <description>UAV::Pilot::Video::Ffmpeg v0.2, UAV::Pilot, UAV::Pilot::WumpusRover v0.2, and UAV::Pilot::WumpusRover::Server v0.2</description>
  </item>
  <item>
    <title>Well, I Feel Stupid</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;04&#x2F;2014-04-26-well-i-feel-stupid&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-04-26</pubDate>
    <description>Given that the AR.Drone&#39;s control system sends roll&#x2F;pitch&#x2F;yaw parameters as floats between 1.0 and -1.0, I thought the navdata sent back things the same way. I was never getting the output I expected in the SDL nav window, though.</description>
  </item>
  <item>
    <title>Underappreciated Perl: Passing File Descriptors</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;04&#x2F;2014-04-22-underappreciated-perl-passing-file-descriptors&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-04-22</pubDate>
    <description>Despite my previous benchmarks, copying the video data from the AR.Drone to another process via a pipe caused a small but perceptible delay in the output. Then I remembered an old Unix trick that we can use in Perl: passing file descriptors around as integers.</description>
  </item>
  <item>
    <title>The Performance of Seperating Control and Video Display Processes in UAV::Pilot</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;04&#x2F;2014-04-16-the-performance-of-seperating-control-and-video-display-processes-in-uavpilot&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-04-16</pubDate>
    <description>I&#39;ve been running some crude benchmarks of the UAV::Pilot video timing. As I went over in my last post, I&#39;m planning on having the video be read from the network in one process, and have it piped out to another process for decoding and display.</description>
  </item>
  <item>
    <title>Thinking out Loud: Managing Video and Nav Display Together in UAV::Pilot</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;04&#x2F;2014-04-11-thinking-out-loud-managing-video-and-nav-display-together-in-uavpilot&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-04-11</pubDate>
    <description>I&#39;ve been going back into the various UAV::Pilot distros and trying to figure out how to best approach putting video and nav data together. Ideally, navigation would overlay information directly, with a standalone nav display perhaps being an option.</description>
  </item>
  <item>
    <title>No, Heartbleed isn&#39;t likely to have been purposely introduced by the NSA&#x2F;FBI&#x2F;Mossad&#x2F;Moon Nazis</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;04&#x2F;2014-04-10-no-heartbleed-isnt-likely-to-have-been-purposely-introduced-by-the-nsafbimossadmoon-nazis&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-04-10</pubDate>
    <description>As a rule, stupidity is more likely than malice. The simple proof of this is that it&#39;s easier to be incompetent than it is to be some grand chessmaster who sees all the pieces and manipulates them at a high level. So it is with Heartbleed.</description>
  </item>
  <item>
    <title>Abandon Ship! It&#39;s Time to Ditch OpenSSL</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;04&#x2F;2014-04-09-abandon-ship-its-time-to-ditch-openssl&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-04-09</pubDate>
    <description>Theo de Raadt is known for general assholery, but when he says &quot;OpenSSL is not developed by a responsible team&quot;, there are very good reasons for him to say that. The project has been a mess for a long time, and this Heartbleed situation has brought it all to the forefront.</description>
  </item>
  <item>
    <title>Perl Encryption Primer: Video Presentation for Madison Perl Mongers, 2014&#x2F;04&#x2F;08</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;04&#x2F;2014-04-09-perl-encryption-primer-video-presentation-for-madison-perl-mongers-20140408&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-04-09</pubDate>
    <description>Video of my presentation, Perl Encryption Primer, which is a summary of the series of blog posts I&#39;ve been doing here.</description>
  </item>
  <item>
    <title>Perl Encryption Primer: Passwords</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;04&#x2F;2014-04-01-perl-encryption-primer-passwords&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-04-01</pubDate>
    <description>We&#39;ve covered most of the major building blocks of encryption and how you can use them in Perl. With those building blocks in mind, we can cover one of the most common uses of encryption that a programmer will encounter, which is how to handle passwords.</description>
  </item>
  <item>
    <title>Perl Encryption Primer: Hashes</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;03&#x2F;2014-03-27-perl-encryption-primer-hashes&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-03-27</pubDate>
    <description>Hashes come in many different classes for different purposes, not all of them for encryption. What we refer to as hash datatypes in Perl uses a hash algorithm internally to map a lookup string to a memory location. This algorithm is faster and shorter than the ones we use for encryption. Other hashes protect data from accidental changes, such as CRC or Adler. These are often used in networking protocols or inside file formats to check that the data has remained intact. They rarely go over 32-bits in length, and won&#39;t withstand an attacker deliberately trying to change the data.</description>
  </item>
  <item>
    <title>Perl Encryption Primer: Public Key Encryption</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;03&#x2F;2014-03-26-perl-encryption-primer-public-key-encryption&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-03-26</pubDate>
    <description>Using encryption to hide secret messages may be as old as written language. For nearly all of that time, these schemes had a fundamental flaw: how do you tell the right people how to decrypt without letting the wrong people know as well?</description>
  </item>
  <item>
    <title>Perl Encryption Primer: Block Ciphers</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;03&#x2F;2014-03-21-perl-encryption-primer-block-ciphers&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-03-21</pubDate>
    <description>In 1973, the National Bureau of Standards (NBS) put out a call for a standardized encryption algorithm. The result was DES, a 56-bit block cipher that became the gold standard for decades to come. For all the time it&#39;s been out, there haven&#39;t been many attacks to DES that could improve significantly on brute force.</description>
  </item>
  <item>
    <title>Perl Encryption Primer: One Time Pads Are Too Awesome To Use</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;03&#x2F;2014-03-19-perl-encryption-primer-one-time-pads-are-too-awesome-to-use&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-03-19</pubDate>
    <description>Part of my reason for writing this series is not just to provide a solid foundation in cryptography, but also to point out common bad advice. I ran into one such example on &#x2F;r&#x2F;bestof some months ago, and it&#39;s stuck in my mind since then.</description>
  </item>
  <item>
    <title>Perl Encryption Primer: The Importance of Randomness</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;03&#x2F;2014-03-12-perl-encryption-primer-the-importance-of-randomness&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-03-12</pubDate>
    <description>I&#39;ll be doing a presentation for MadMongers in April on encryption in Perl, and I&#39;m going to try something a little different. This series of blog entries will lay out a written primer on encryption in Perl, which will then form a condensed outline for the presentation. I feel the final presentation should have high-quality information, so hopefully anything I get wrong can be pointed out and corrected before then.</description>
  </item>
  <item>
    <title>MadMonger 2014&#x2F;03&#x2F;11: Convert a PHP Library to a Perl Library</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;03&#x2F;2014-03-12-madmongers-20140311-convert-a-php-library-to-a-perl-library&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-03-12</pubDate>
    <description>http:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v&#x3D;hPiAAv8C1FY</description>
  </item>
  <item>
    <title>Fixing Sturgeon&#39;s Law with Tiny Barriers</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;03&#x2F;2014-03-07-fixing-sturgeons-law-with-tiny-barriers&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-03-07</pubDate>
    <description>Sturgeon&#39;s Law: 90% percent of everything is crap</description>
  </item>
  <item>
    <title>YAPC::NA 2014 Talk -- Make Flying Robots Do Your Bidding With UAV::Pilot</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;03&#x2F;2014-03-06-yapcna-2014-talk-make-flying-robots-do-your-bidding-with-uavpilot&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-03-06</pubDate>
    <description>My talk for YAPC::NA 2014 got accepted, which will be my first time speaking at YAPC besides a lightning talk. It&#39;ll probably be a more in-depth coverage of the code compared to my MadMongers presentation.</description>
  </item>
  <item>
    <title>Language Community Litmus Test: Database Placeholders</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;03&#x2F;2014-03-04-language-community-litmus-test-database-placeholders&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-03-04</pubDate>
    <description>Search for &quot;[language] database tutorial&quot;. Out of the top 5 results, how many of them show how to use safe practices (preferably placeholders, but safe quoting functions are OK, too) at the earliest available opportunity?</description>
  </item>
  <item>
    <title>The Horror. The Pure, Unbridled Horror.</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;02&#x2F;2014-02-26-the-horror-the-pure-unbridled-horror&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-02-26</pubDate>
    <description>welcome to my websight Please sign my guestbook if you click the image below, it takes you to a java applet i wrote that sets bill clinton on fire</description>
  </item>
  <item>
    <title>For Mustache Templates in Perl, use Text::Caml</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;02&#x2F;2014-02-21-for-mustache-templates-in-perl-use-textcaml-noted&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-02-21</pubDate>
    <description>I like Mustache templates. Unfortunately, the obvious Mustache parser in Perl (Template::Mustache) is under-documented, over-documented, and not worth documenting. It has little example code and doesn&#39;t make it at all clear that you basically have to subclass it for any real use.</description>
  </item>
  <item>
    <title>Review: Perl One-Liners</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;02&#x2F;2014-02-19-review-perl-one-liners&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-02-19</pubDate>
    <description>Full Disclosure: I received a free review copy of this book</description>
  </item>
  <item>
    <title>Announcing: The Great UAV::Pilot Split</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;02&#x2F;2014-02-18-announcing-the-great-uavpilot-split&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-02-18</pubDate>
    <description>The main UAV::Pilot distro was getting too big. The WumpusRover server had already been spun off into its own distribution, and now the same is happening for many other portions of the system.</description>
  </item>
  <item>
    <title>Aren&#39;t we supposed to be better than this?</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;01&#x2F;2014-01-22-arent-we-supposed-to-be-better-than-this&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-01-22</pubDate>
    <description>From the recent blogs.perl.org hacking:</description>
  </item>
  <item>
    <title>Parallel Perl with MCE</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;01&#x2F;2014-01-21-parallel-perl-with-mce&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-01-21</pubDate>
    <description>Noted: http:&#x2F;&#x2F;perltricks.com&#x2F;article&#x2F;61&#x2F;2014&#x2F;1&#x2F;21&#x2F;Make-your-code-run-faster-with-Perl-s-secret-turbo-module</description>
  </item>
  <item>
    <title>Announcing UAV::Pilot::WumpusRover::Server v0.1</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2014&#x2F;01&#x2F;2014-01-13-announcing-uavpilotwumpusroverserver-v0-1&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2014-01-13</pubDate>
    <description>The original server code for the WumpusRover was bundled up with UAV::Pilot in version 0.8. That meant that the HiPi modules were recommended for UAV::Pilot, even though that doesn&#39;t make sense if you were installing outside of the Raspberry Pi.</description>
  </item>
  <item>
    <title>UAV::Pilot v0.8 Released -- Now Supports WumpusRover</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;12&#x2F;2013-12-28-uavpilot-v0-8-released-now-supports-wumpusrover&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-12-28</pubDate>
    <description>At long last, UAV::Pilot v0.8 has been released. This is a big update with lots of API improvements. Most of those improvements were decoupling the code to support my own WumpusRover in addition to the Parrot AR.Drone. That means a big goal has been reached, where UAV::Pilot can support multiple types of automated vehicles. It also means UAV::Pilot is a major component of the code running on board a UAV, in addition to running the client side.</description>
  </item>
  <item>
    <title>Why I Don&#39;t Like Perl State Variables</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;12&#x2F;2013-12-16-why-i-dont-like-perl-state-variables&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-12-16</pubDate>
    <description>State variables work something like C static vars. It&#39;s a forgivable feature in C, because C doesn&#39;t have lexical scoping.</description>
  </item>
  <item>
    <title>Booting to the CD on a Locked-Down UEFI</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;11&#x2F;2013-11-21-installing-linux-on-a-locked-down-uefi&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-11-21</pubDate>
    <description>So I got a new laptop (Asus K55N) with one of these newfangled UEFI BIOS-replacement thingys. Took me a few hours to figure out how to boot of the CD. When it&#39;s all locked-down, you can&#39;t hit &#39;Del&#39; or &#39;F2&#39; or anything to get into the BIOS config like the old days. Instead, with Windows 8:</description>
  </item>
  <item>
    <title>Cheap Quadcopter Hacking: Noted</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;11&#x2F;2013-11-19-cheap-quadcopter-hacking-noted&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-11-19</pubDate>
    <description>Via Hacker News, I found about a reverse engineer of the protocol for a cheap HobbyKing quadcopter. This would be a great thing to have in UAV::Pilot. I&#39;m still trying to finish a rover, but this might be my next project after that. Giving people a $35 option rather than a $300 option lowers the barriers to entry quite a bit.</description>
  </item>
  <item>
    <title>Don&#39;t Get Bent Out of Shape About Being Cross Platform</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;11&#x2F;2013-11-16-dont-get-bent-out-of-shape-about-being-cross-platform&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-11-16</pubDate>
    <description>We had an interesting exercise at the recent Madison Perl Mongers meeting, where we took an ugly Windows shell script and turned it into a Perl script. The resulting Perl was noticeably longer than the original script, but also had functionality broken up between subroutines, and was far easier to understand.</description>
  </item>
  <item>
    <title>Running VLC Automatically on a Headless Raspberry Pi</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;11&#x2F;2013-11-07-running-vlc-automatically-on-a-headless-raspberry-pi&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-11-07</pubDate>
    <description>I&#39;ve been setting up a living room stereo with playback with Raspberry Pi. The server runs headless and uses the HTTP interface. Here&#39;s what I did:</description>
  </item>
  <item>
    <title>Why Gopher is Awful</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-27-why-gopher-is-awful&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-27</pubDate>
    <description>With Overbite recently making the rounds on Reddit &#x2F;r&#x2F;programming and Hacker News, I thought it was time to chime in with some thoughts on Gopher, and why it lost to HTTP for good reason. Despite claims to the contrary, the only reason it&#39;s being floated in some circles really is nostalgia.</description>
  </item>
  <item>
    <title>Space Engineers -- Minecraft Innnnnnn Sppppaaaaacccceeee</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-26-space-engineers-minecraft-innnnnnn-sppppaaaaacccceeee&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-26</pubDate>
    <description>Downloaded Space Engineers off Steam yesterday for their early access alpha. This game has some real potential to be the Minecraft in Space that 0x10c was supposed to be.</description>
  </item>
  <item>
    <title>UAV::Pilot v0.7 Released, Now Many Times Less Bad</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-24-uavpilot-v0-7-released-now-many-times-less-bad&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-24</pubDate>
    <description>Release 0.6 was terrible and sloppy, with a missing String::CRC32 dependency, and a bunch of tests that only passed if you had a previous version installed (due to the API change).</description>
  </item>
  <item>
    <title>Arduino&#x2F;RaspberryPi--UART (Serial) Communication</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-17-arduinoraspberrypi-uart-serial-communication&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-17</pubDate>
    <description>NOTE: This post was moved over from WumpusUAV.com. The Indiegogo campaign was not successful, so I&#39;m copying some key posts from there to over here and shutting the site down.</description>
  </item>
  <item>
    <title>UAV::Pilot v0.6 Released</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-16-uavpilot-v0-6-released&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-16</pubDate>
    <description>UAV::Pilot version 0.6 is now on CPAN. Lots of little changes this time. The big thing is an API change, where Control::ARDrone and Driver::ARDrone were instead named ARDrone::Control and ARDrone::Driver, respectively. This keeps everything related to a single type of UAV under one namespace directory, which I think will be nicer going forward as I implement other UAV systems.</description>
  </item>
  <item>
    <title>Arduino Standalone</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-16-arduino-standalone&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-16</pubDate>
    <description>NOTE: This post was moved over from WumpusUAV.com. The Indiegogo campaign was not successful, so I&#39;m copying some key posts from there to over here and shutting the site down.</description>
  </item>
  <item>
    <title>Arduino -- Brushless Motor Control</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-15-arduino-brushless-motor-control&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-15</pubDate>
    <description>NOTE: This post was moved over from WumpusUAV.com. The Indiegogo campaign was not successful, so I&#39;m copying some key posts from there to over here and shutting the site down.</description>
  </item>
  <item>
    <title>Arduino&#x2F;Raspberry Pi -- TWI</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-14-arduinoraspberry-pi-twi&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-14</pubDate>
    <description>NOTE: This post was moved over from WumpusUAV.com. The Indiegogo campaign was not successful, so I&#39;m copying some key posts from there to over here and shutting the site down.</description>
  </item>
  <item>
    <title>Underappreciated Perl Code: TAP&#39;s YAMLish Syntax</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-07-underappreciated-perl-code-taps-yamlish-syntax&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-07</pubDate>
    <description>If you write tests using Test::More, you may have seen the cmp_ok() sub output something like:</description>
  </item>
  <item>
    <title>My Application to Star Fleet Corp of Engineers</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;10&#x2F;2013-10-06-my-application-to-star-fleet-corp-of-engineers&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-10-06</pubDate>
    <description>Today, I fixed something by reversing its polarity.</description>
  </item>
  <item>
    <title>Killing Procrastination</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-30-killing-procrastination&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-30</pubDate>
    <description>Interesting blog post about how to kill procrastination. tl;dr: Instead of &quot;buckets&quot; (like TODO lists) that you just throw things into, have something that lights a fire, such as a regular prompt to keep you moving.</description>
  </item>
  <item>
    <title>How UAV::Pilot got Real Time Video, or: So, Would You Like to Write a Perl Media Player?</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-26-how-uavpilot-got-real-time-video-or-so-would-you-like-to-write-a-perl-media-player&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-26</pubDate>
    <description>Real-time graphics isn&#39;t something people normally do in Perl, and certainly not video decoding. Video decoding is too computation-intensive to be done in pure Perl, but that doesn&#39;t stop us from interfacing to existing libraries, like ffmpeg.</description>
  </item>
  <item>
    <title>What if Perl OO was a Core Feature?</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-20-what-if-perl-oo-was-a-core-feature&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-20</pubDate>
    <description>Over on Reddit &#x2F;r&#x2F;perl, there&#39;s a rather blatant troll complaining about the lack of OO as a core feature in Perl. The tone there is clearly not constructive and not worth responding further, but I feel compelled to answer a question: what would be improved if OO was a core feature, rather than built out of existing components of the language?</description>
  </item>
  <item>
    <title>Perl SDL GUI Layout Engine</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-19-perl-sdl-gui-layout-engine&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-19</pubDate>
    <description>As it turns out, SDLx::App only supports having one window at a time. It&#39;s effectively a singleton. This was a problem for UAV::Pilot, because I wanted to draw the navigation output and video in seperate windows.</description>
  </item>
  <item>
    <title>Underappreciated Perl Code -- Test::More::subtest()</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-16-underappreciated-perl-code-testmoresubtest&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-16</pubDate>
    <description>Consider a long test that you can break into logical subsections. You could make a flat output with the standard series of TAP ok messages, but Test::More gives a more sophisticated alternative:</description>
  </item>
  <item>
    <title>UAV::Pilot Presentation</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-11-uavpilot-presentation&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-11</pubDate>
    <description>Last night, I gave a presentation for the Madison Perl Mongers group on UAV::Pilot. The video is now up:</description>
  </item>
  <item>
    <title>In Which I Rant About Monopoly</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-10-in-which-i-rant-about-monopoly&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-10</pubDate>
    <description>It happens to all of us. We&#39;re sitting around the house with friends, when suddenly, one of the dimmer house guests says &quot;Let&#39;s play Monopoly!&quot;</description>
  </item>
  <item>
    <title>UAV&#x2F;FOSS -- ArduPilot</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-10-uavfoss-ardupilot&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-10</pubDate>
    <description>ArduPilot is a FOSS autopilot based around Arduino. It has different firmware builds to support helicopters, multicopters, planes, cars, and boats.</description>
  </item>
  <item>
    <title>Underappreciated Perl Modules--Tree::Trie</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-09-underappreciated-perl-modules-treetrie&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-09</pubDate>
    <description>Before the Perl community settled on the term &quot;hashes&quot;, many called them &quot;associative arrays&quot;. This was a common term for an array that looked up elements by a string among dynamic languages in the old days, such as Tcl.</description>
  </item>
  <item>
    <title>Perl Modules: AnyEvent::ReadLine::Gnu</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-06-perl-modules-anyeventreadlinegnu&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-06</pubDate>
    <description>REPLs (Read-Eval–Print Loop) can be handy little things. In UAV::Pilot, the uav shell takes arbitrary Perl expressions and eval()&#39;s them.</description>
  </item>
  <item>
    <title>UAV Basics -- Legality</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-05-uav-basics-legality&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-05</pubDate>
    <description>IANAL. I don&#39;t even play one on TV. None of this is legal advice, and it only covers US regulations.</description>
  </item>
  <item>
    <title>UAVs and FOSS -- AR.Drone</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-04-uavs-and-foss-ar-drone&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-04</pubDate>
    <description>This is the first in a series of articles about the state of FOSS software in terms of UAVs. We start with the place where I have the most experience, the Parrot AR.Drone.</description>
  </item>
  <item>
    <title>Underappreciated Perl Modules: File::HomeDir</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-03-underappreciated-perl-modules-filehomedir&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-03</pubDate>
    <description>Problem: your module needs to save a config file. Where should it go?</description>
  </item>
  <item>
    <title>UAV Basics -- Types of UAVs</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;09&#x2F;2013-09-02-uav-basics-types-of-uavs&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-09-02</pubDate>
    <description>This will be the first of a series of articles about the basics of UAVs. Today we start with the different types out there.</description>
  </item>
  <item>
    <title>Dynamic Perl Code Loading</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;08&#x2F;2013-08-30-dynamic-perl-code-loading&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-08-30</pubDate>
    <description>There&#39;s a trick done by mod_perl for running old-style CGI scripts. These have to be loaded on-demand, but how do we load code into the parser at runtime?</description>
  </item>
  <item>
    <title>Underappreciated Perl Modules: File::ShareDir</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;08&#x2F;2013-08-29-underappreciated-perl-modules-filesharedir&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-08-29</pubDate>
    <description>Problem: you have some kind of data that needs to be distributed with your Perl module. Where do you put it in a cross-platform way?</description>
  </item>
  <item>
    <title>Musings on Hackable UAVs</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;08&#x2F;2013-08-04-musings-on-hackable-uavs&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-08-04</pubDate>
    <description>Programming the AR.Drone has been a mostly fun challenge, and occasionally a frustrating challenge. The nav data is particularly under-documented, and UAV::Pilot still suffers from a few video parsing issues, probably because the documentation doesn&#39;t fully explain the PaVE headers. But I pushed through them, figured it all out, and now there&#39;s a release that I would consider close to feature-complete.</description>
  </item>
  <item>
    <title>UAV::Pilot v0.5 Released, Now Supports Real Time Video</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;07&#x2F;2013-07-31-uavpilot-v0-5-released-now-supports-real-time-video&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-07-31</pubDate>
    <description>UAV::Pilot, a Perl library for controlling the Parrot AR.Drone, has released version 0.5.</description>
  </item>
  <item>
    <title>UAV::Pilot v0.4 Released, Now Supports Video</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;07&#x2F;2013-07-04-uavpilot-v0-4-released-now-supports-video&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-07-04</pubDate>
    <description>UAV::Pilot, a Perl library for controlling the Parrot AR.Drone, has released version 0.4.</description>
  </item>
  <item>
    <title>UAV::Pilot v0.3 Released</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;06&#x2F;2013-06-17-uavpilot-v0-3-released&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-06-17</pubDate>
    <description>Version 0.3 of UAV::Pilot has been released on CPAN. The major change in this version is an improved event loop based on AnyEvent.</description>
  </item>
  <item>
    <title>Announcing: UAV::Pilot v0.2</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;06&#x2F;2013-06-02-announcing-uavpilot-v0-2&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-06-02</pubDate>
    <description>UAV::Pilot version 0.2 is now up on CPAN. The big change in this one is initilizing the navigation stream and parsing the data. I also whipped up this retro-videogame looking graphical output:</description>
  </item>
  <item>
    <title>Blackhawk Farms HSAX, 2013&#x2F;05&#x2F;27</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;05&#x2F;2013-05-28-blackhawk-farms-hsax-20130527&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-05-28</pubDate>
    <description>Videos are up</description>
  </item>
  <item>
    <title>The Black Hole of Awkward Timing Known as High Performance Tires</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;05&#x2F;2013-05-13-the-black-hole-of-awkward-timing-known-as-high-performance-tires&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-05-13</pubDate>
    <description>My 370z needs new tires. The tread depth is technically legal, but driving in the rain is scary, and they don&#39;t grip very well under hard launches. They&#39;re also 19-inch wheels, which apparently nobody is selling in the best, most grippy street tires right now.</description>
  </item>
  <item>
    <title>That&#39;s Better</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;05&#x2F;2013-05-12-thats-better&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-05-12</pubDate>
    <description>Playing around with WordPress themes.  I wanted something akin to my old custom-built blog, with the retro-greenscale console screen look. The Mantra theme looked close to what I wanted, and then I messed around with the CSS a bit. Looks to be good enough for now.</description>
  </item>
  <item>
    <title>AR.Drone Nav Data</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;05&#x2F;2013-05-12-ar-drone-nav-data&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-05-12</pubDate>
    <description>There are parts of the Parrot AR.Drone that are rather underdocumented, and one of those is getting the navigation data.  Once you activate the nav data, it doesn&#39;t send the data directly to you. Instead, it sends it to the 224.1.1.1 muticast address.</description>
  </item>
  <item>
    <title>Announcing: UAV::Pilot v0.1</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;05&#x2F;2013-05-09-announcing-uavpilot-v0-1&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-05-09</pubDate>
    <description>UAV::Pilot is a Perl library for controlling UAVs.  It currently works with the Parrot AR.Drone, with plans to expand to others in the future.</description>
  </item>
  <item>
    <title>Autocross, Columbus 151 Speedway</title>
    <link>https://www.wumpus-cave.net&#x2F;post&#x2F;2013&#x2F;05&#x2F;2013-05-04-autocross-columbus-151-speedway&#x2F;index.html</link>
    <author>tmurray@wumpus-cave.net (Timm Murray)</author>
    <pubDate>2013-05-04</pubDate>
    <description>Took my 370Z autocrossing at the Columbus 151 Speedway on 4&#x2F;28.  YouTube vids available.</description>
  </item>

</channel>

</rss>
