Mike Schilli's Friendly Neighborhood Perl Shop

CPAN Modules
Articles in English
Articles in German
Mike's Script Archive
English-Japanese Translation Trainer
Adventures with O'Reilly's Safari
10 Easy Steps to Become a California Driver
Unofficial perlmonks.com IRC Channel
My Collection of Outage Pages
Prisma (Computer Club Deutschland)
Mike's Monologues

Articles in English

Here's a list of articles I wrote for Linux Magazine, which is availabe in Europe, the US (check Fry's, Barnes & Noble), Canada, and many other places.

Articles appear online around the same time as the print issue.

  • "Driving Data", Collect and process driving data with the OBDII adapter by Automatic, Linux Magazine 09/2017
  • "Tower of Babylon", Fetching Webpages in Python, Ruby, Go, NodeJS, and Perl, Linux Magazine 08/2017
  • "The Bouncer", A Python script warns of failed login attempts via smartphone push notification, Linux Magazine 07/2017
  • "More Than a Word", Teaching Amazon Echo and Alexa new skills, Linux Magazine 06/2017
  • "Thriving without Power", An emergency power supply and a script on the SmartThings platform can prevent a total outage and inform the user, Linux Magazine 05/2017
  • "Home Run into the Cloud", Bring your own libraries to a Lambda container on Amazon Web Services (AWS), Linux Magazine 04/2017
  • "New Home", Set up a Lambda Function on Amazon Web Services (AWS), Linux Magazine 03/2017
  • "City View", AI Methods to Detect Motion in Surveillance Videos, Linux Magazine 02/2017
  • "House Radio", Z-Wave Home Automation Basics, Linux Magazine 01/2017
  • "Climate Study", Profanity Analysis on the Linux Kernel Mailing List, Linux Magazine 11/2016
  • "Undercover Information", Programming Tips and Tricks, Linux Magazine 11/2016
  • "Double Down", Perl6 Superpositions in a game of Blackjack, Linux Magazine 10/2016
  • "Enough is Enough", Solving the secretary hiring problem with statistical analysis, Linux Magazine 09/2016
  • "Click Clack", Driving the Belkin WeMo Switch from Perl and ifttt.com, Linux Magazine 08/2016
  • "Watchful Seller", Ebay Account Data via Screen Scraping and the Official Ebay API, Linux Magazine 07/2016
  • "Print as Print Can", Automatically test the print function on an updated Linux distro, Linux Magazine 06/2016
  • "Private Reception", Push notifications to your mobile phone when someone logs on to your Wifi at home, Linux Magazine 05/2016
  • "Climbing Aid", Read Garmin 62s track data and graph it with the Google API, Linux Magazine 04/2016
  • "Turn On", Switch appliances on and off with a Z-Wave controller, Linux Magazine 03/2016
  • "Label Maker", Using a Dymo LabelWriter Turbo to print text stickers and QR codes on Linux, Linux Magazine 02/2016
  • "More, Please", Using Elasticsearch's 'more like this' function to find similar documents, Linux Magazine 01/2016
  • "Science, Not Fiction", Ansible restores desktops at home and sets up testing environments, Linux Magazine 12/2015
  • "Baby Shark", Top-like network sniffer implemented with AnyEvent, Curses, and Wireshark's tshark, Linux Magazine 11/2015
  • "Group Dynamic", Mathematical puzzles with Latin Squares and Galois Fields, Linux Magazine 10/2015
  • "Guess Again", Statistical computations with the p-value, Linux Magazine 09/2015
  • "Cross-Examination", The nitty gritty of Unix rights management, Linux Magazine 08/2015
  • "Secret Agent", Unveal the doings of the Zeitgeist daemon on the Ubuntu desktop, Linux Magazine 07/2015
  • "Under the Hood", Retrieve Github metadata and programmatically submit commits, Linux Magazine 05/2015
  • "Taking Shortcuts", Triggering actions on the Linux desktop with the Autokey utility and text shortcuts or hotkey combinations, Linux Magazine 04/2015
  • "Rain Check", Retrieve the hourly weather forecast at dawn to see if it's raining during the commute windows, Linux Magazine 03/2015
  • "Chart Stormers", Detecting Youtube viral videos with linear regression, Linux Magazine 02/2015
  • "Pyramid of Doom", Asynchronous flow with AnyEvent, pubSub, and promises, Linux Magazine 01/2015
  • "The Watcher", Use Nmap and a Perl daemon to see network devices join and leave, Linux Magazine 12/2014
  • "Automatic Testing", Set up Jenkins jobs on the command line without a browser, Linux Magazine 11/2014
  • "Music Non-Stop", Save Spotify playlists via their OAuth API, Linux Magazine 10/2014
  • "Feel the Width", Responsive Web design for mobile devices, Linux Magazine 09/2014
  • "Think Again", Calculating probabilities with Bayes' formula and discrete distributions, Linux Magazine 08/2014
  • "A Relationship Thing", The Neo4j graph database maps network relationships, Linux Magazine 07/2014
  • "A Lifting Experience at the Dock", Docker: Container technology for testing Perl modules, Linux Magazine 06/2014
  • "Elastic Hits", ElasticSearch: Find expressions in huge text collections, Linux Magazine 05/2014
  • "Veggie Option", Cucumber: Defining tests in natural language, Linux Magazine 04/2014
  • "Healthy in Old Age", New and interesting CPAN modules, Linux Magazine 03/2014
  • "Like Magic", Arduino firmware and a Perl script switch a relay, Linux Magazine 02/2014
  • "Room with a View", Post surveillance camera snapshots to Tumblr via Perl API, Linux Magazine 01/2014
  • "The Cat's Meow", Making Image Macros (Internet Memes) with Perl, Linux Magazine 12/2013
  • "Moving Circle", Reading and graphing the Jawbone Up Band data, Linux Magazine 11/2013
  • "Needle in a Haystack", Log analysis with Splunk and using its API from Perl, Linux Magazine 10/2013
  • "It All Started with a Test", Test-driven Development in Perl, Linux Magazine 09/2013
  • "Training Support", Reading and graphing data from the Garmin 10 GPS unit, Linux Magazine 08/2013
  • "Magical Window", Configuring the Tmux terminal multiplexer, Linux Magazine 07/2013
  • "Virtual Vagabond", Managing virtual machines with Vagrant and Puppet, Linux Magazine 06/2013
  • "USB Fiddle Stickery", Distribute backups on multiple USB sticks, Linux Magazine 05/2013
  • "Analysis Machine", Scrape Linux repositories of multiple distros, Linux Magazine 04/2013
  • "Online Library", Storing Google Drive metadata on Evernote, Linux Magazine 03/2013
  • "Alternative Use", Using Github as a content management system, Linux Magazine 02/2013
  • "Off with its head!", Scanning paper books and uploading them to Google Drive with Perl, Linux Magazine 01/2013
  • "Clever fellow", Calculating clusters with AI methods, Linux Magazine 12/2012
  • "Adventure Format", Parsing microformats for national parks with Perl, Linux Magazine 11/2012
  • "Simply Take Off!", Pushing Perl web apps with Heroku, Linux Magazine 10/2012
  • "DIY E-Books", Create .mobi ebooks from POD documents, Linux Magazine 09/2012
  • "Custom Backup", Using Clonezilla with a self-made backup CD, Linux Magazine 08/2012
  • "Good build, good karma", Continuous integration with travis-ci.org and Github, Linux Magazine 07/2012
  • "Highlight Siphon", Extract Amazon Kindle highlights with Perl, Linux Magazine 06/2012
  • "Unforgettable" (available online soon) Getting things done with a Tickler file in Evernote, Linux Magazine 05/2012
  • "Grab and Go" (available online soon) Cut-and-paste with Perl on the Linux Desktop, Linux Magazine 04/2012
  • "Pulling the rug" (available online soon) Using proxy servers and VPNs for man-in-the-middle actions, Linux Magazine 03/2012
  • "Remember this" (available online soon) Using the Evernote API with Thrift and Perl, Linux Magazine 02/2012
  • "Parking Aid" (available online soon) Using Openstreetview data to find residential parking zones, Linux Magazine 01/2012
  • "Every little bit" (available online soon) Screen scraping of Javascript-enabled pages, Linux Magazine 12/2011
  • "Freshen up" (available online soon) Controlling virtual machines with Perl and VirtualBox, Linux Magazine 11/2011
  • "Tricks and Treats" (available online soon) Command line utilities with Perl, local CPAN installs, Linux Magazine 10/2011
  • "Socket to me" (available online soon) Practical uses of Web Sockets with Perl, Linux Magazine 09/2011
  • "Box it!", Using the Dropbox API with Perl to trigger remote access, Linux Magazine 08/2011 (cached PDF),
  • "Hot Beats" (available online soon) Song backup and calculating beats per minute with Banshee meta data, Linux Magazine 07/2011
  • "Independent label", Use Perl and OpenOffice to print self-adhesive labels, Linux Magazine 06/2011 (cached PDF),
  • "Get on D-Bus" (available online soon) Start automatic backups after a USB Stick gets inserted, Linux Magazine 05/2011
  • "At the Press of a Button" (available online soon) A Perl script creates PDFs from magazine articles by automating a process triggered by the simple press of a button, Linux Magazine 04/2011
  • "Hindsight" (available online soon) Analyze historical data with Perl and R, Linux Magazine 03/2011
  • "Whispers from Beyond" (available online soon) A listening bot on an IRC channel wakes up when it hears certain keywords and notifies a defined user via instant messaging, Linux Magazine 02/2011
  • "Meeting Time" (available online soon) A Perl daemon reads iCalendar files with meeting dates and alerts the user before the meeting is due to start., Linux Magazine 01/2011
  • "Quick Approval" (available online soon) Hurdle Wifi splash pages, Linux Magazine 12/2010
  • "Within Bounds" (available online soon) Monitor a temperature sensor and find outliers with rrdtool, Linux Magazine 11/2010
  • "Bulls And Bears" (available online soon) Pidgin Plugin for stock market alerts, Linux Magazine 10/2010
  • "Projects Everywhere", Replicate your Git repositories with a meta repo, Linux Magazine 09/2010 (cached PDF),
  • "Tunnel Vision" (available online soon) A daemon to manage dynamic mail tunnels, Linux Magazine 08/2010
  • "Type Less" (available online soon) Add an easy history function to scripts, Linux Magazine 07/2010
  • "Serial Player" (available online soon) Manage video files like a Tivo, Linux Magazine 06/2010
  • "A More Complete Completer" (available online soon) Write your own bash completion functions, Linux Magazine 05/2010
  • "Topsy Turvy" (available online soon) Run microphone recordings backwards, Linux Magazine 04/2010
  • "Listen to the Signals" (available online soon) Configure Pidgin to Play Personal Sounds, Linux Magazine 03/2010
  • "Opening Credits" (available online soon) Prepending Video Files with Static Title Images, Linux Magazine 02/2010
  • "Bowling for Perl" (available online soon) A Popular Interview Puzzle solved with Perl, Linux Magazine 01/2010
  • "Minutes Taker", Record IRC sessions with a Perl Bot, Linux Magazine 12/2009
  • "Twittering for Geeks", Perl Script Sends Log Messages to Twitter, Linux Magazine 11/2009
  • "Image Sharpener", Sharpen Images with Perl and Gimp, Linux Magazine 10/2009
  • "Back to the Heartland", OSCON 2009, Linux Magazine 10/2009 (cached PDF),
  • "Removal Helpers", Migrating Open Source Repositories from CVS to Github, Linux Magazine 09/2009
  • "Painting by Data", Have Google draw diagrams, Linux Magazine 08/2009
  • "Watching the Delivery Man", Keep track of online orders with git and Perl, Linux Magazine 07/2009
  • "Replacing Tin Soldiers", Controlling the RocketBaby USB launcher from user space with Perl, Linux Magazine 06/2009 (cached PDF),
  • "Pixel Patina", Program the Gimp in Perl to produce sepia-toned photos, Linux Magazine 05/2009 (cached PDF),
  • "Games for Speculators", Extending PerlPanel, a window-manager-independent launchbar, with Perl applets, Linux Magazine 04/2009 (cached PDF),
  • "Sniffing out Spammers", Locating spammers on a world map with Google Charts, Linux Magazine 03/2009 (cached PDF),
  • "Run-Time Speedo", Perl Performance Analysis with the NYTProfiler, Linux Magazine 02/2009 (cached PDF),
  • "Catchy Logs", Monitor logfiles with a POE-based sound server, Linux Magazine 01/2009 (cached PDF),
  • "Checkout", Digitize your library with a barcode scanner and a database, Linux Magazine 12/2008 (cached PDF),
  • "Quiz Master", A web application written with Catalyst, Linux Magazine 11/2008 (cached PDF),
  • "Card Trick", Correct color casts on digital images with reference cards, Linux Magazine 10/2008 (cached PDF),
  • "Color Play", Digital image corrections with Perl and Gimp, Linux Magazine 09/2008 (cached PDF),
  • "Quick Starter", Spotlight-like desktop launch utility with Perl/Tk, Linux Magazine 08/2008 (cached PDF),
  • "Bargain Hunter", Get Amazon Price alerts with Perl, Linux Magazine 07/2008 (cached PDF),
  • "Process Spy", Use Ptrace within Perl to watch syscalls in a Process, Linux Magazine 06/2008 (cached PDF),
  • "Scetching Curves", Display components of a stock portfolio graphically over time, Linux Magazine 05/2008 (cached PDF),
  • "Network View", Create a top-like application to monitor the Network with Perl, Linux Magazine 04/2008 (cached PDF),
  • "Lifeline", Reconfigure a home-grown highly-available network with Perl, Linux Magazine 03/2008 (cached PDF),
  • "Mind Games", Determine the weekday of any given date in your head, Linux Magazine 02/2008 (cached PDF),
  • "Test Questions", Simple Perl vim plugins, Linux Magazine 01/2008 (cached PDF),
  • "I think in Perl", The private life of Mike Schilli, Linux Magazine 12/2007 (cached PDF),
  • "Free Fall", Skydiving Simulation Game with Perl, Linux Magazine 12/2007 (cached PDF),
  • "Appetizers", Send out one Tip a Day by Email, Linux Magazine 11/2007 (cached PDF),
  • "Electrickery", Reading voltage and current from a Multimeter, Linux Magazine 10/2007 (cached PDF),
  • "Chat Collector", Collect your Gaim logs and store them on an IMAP server, Linux Magazine 09/2007 (cached PDF),
  • "Alphabet Soup", Dealing with character encodings in Perl, Linux Magazine 08/2007 (cached PDF),
  • "Prolonged Life", Nagios plugin for an uninterruptible power supply, Linux Magazine 07/2007 (cached PDF),
  • "One in A Million", Do-it-yourself OCR to monitor a SecurID, Linux Magazine 06/2007 (cached PDF),
  • "Home Switcher", Remotely reset your Router with YUI, Linux Magazine 05/2007 (cached PDF),
  • "Don't Blame the Gardner!", Perl-controlled irrigation system, Linux Magazine 04/2007 (cached PDF),
  • "Light into the darkness", Monitorin LAN devices with Perl, Linux Magazine 03/2007 (cached PDF),
  • "Digging Down into Perl", Debugging a crashing Perl Interpreter with gdb, Linux Magazine 02/2007 (cached PDF),
  • "The Listener", Alternative Call Waiting Service with Perl, Linux Magazine 01/2007 (cached PDF),
  • "Perl Rescue", Protecting data with a Perl-based Rescue CD, Linux Magazine 12/2006 (cached PDF),
  • "Remotely Controlled Browser", Test complex web apps the easy way with Perl and Selenium, Linux Magazine 11/2006 (cached PDF),
  • "Spam Stopper", Protects forums from spam postings, Linux Magazine 10/2006 (cached PDF),
  • "Video Organizer", List, watch, and expire downloaded videos, Linux Magazine 09/2006 (cached PDF),
  • "Hike Pilot", Putting GPS Data on Yahoo Maps, Linux Magazine 08/2006 (cached PDF),
  • "Fishing for Images", Grabbing frames from a Video camera using Video::Capture::V4l and the Imager module, Linux Magazine 07/2006 (cached PDF),
  • "The Watcher", Building your own Nagios Plugins, Linux Magazine 06/2006 (cached PDF),
  • "Compilation Artist", Programming Lexers und Parsers with Parse::Lex and Parse::Yapp, Linux Magazine 05/2006 (cached PDF),
  • "How Cool is Perl?", Reading Temperature Sensors on a One-Wire Bus, Linux Magazine 04/2006 (cached PDF),
  • "Counting Out Time", Extreme Date Calculations with DateTime, Linux Magazine 03/2006 (cached PDF),
  • "File Rescue", Detecting file system changes with Dnotify and Perl, Linux Magazine 02/2006 (cached PDF),
  • "Ajax Power", More dynamic websites thanks to AJAX and Perl, Linux Magazine 01/2006 (cached PDF),
  • "Testing Tools", A Perl toolbox for regression tests, Linux Magazine 12/2005 (cached PDF),
  • "Seeking Wisdom", Get the news from perlmonks.com with a Gaim plug-in, Linux Magazine 11/2005 (cached PDF),
  • "Go Get It!", Destop Search in Perl, Linux Magazine 10/2005 (cached PDF),
  • "Spoiled for Choice", Comparing Perl XML parsers, Linux Magazine 09/2005 (cached PDF),
  • "Lazy Typing", Using the Vim editor for programming with Perl, Linux Magazine 08/2005 (cached PDF),
  • "Tapping in", Using the Yahoo! Search API with Perl, Linux Magazine 07/2005 (cached PDF),
  • "Librarian", Scanning magazines and archiving them as PDFs, Linux Magazine 06/2005 (cached PDF),
  • "Bug Doctor", Working with the Perl Debugger, Linux Magazine 05/2005 (cached PDF),
  • "The Bottom Line", Tracking your investments with Module::Pluggable, Linux Magazine 04/2005 (cached PDF),
  • "Perl Shell Scripts", Run Bash commands in Perl with Sysadm::Install, Linux Magazine 03/2005 (cached PDF),
  • "Spot Reporter", Perl: Creating RSS feeds of Websites that don't have one, Linux Magazine 02/2005 (cached PDF),
  • "Inside", Sending x10 commands via instant messages, using a Perl Jabber bot, Linux Magazine 01/2005 (cached PDF),
  • "Traffic Control", Build a Network Sniffer with GUI using Glade, Linux Magazine 12/2004 (cached PDF),
  • "Mail It!", Create OpenOffice Documents with Perl, Linux Magazine 11/2004 (cached PDF),
  • "Pack your Bags,", Creating portable installation archives and self-contained scripts with PAR, Linux Magazine 10/2004 (cached PDF),
  • "Easy Algebra,", Solving and plotting formulas with Perl), Linux Magazine 09/2004 (cached PDF),
  • "DJ Training", A Gtk based GUI controls an MP3 player and a preference database, Linux Magazine 08/2004 (cached PDF),
  • "Limiting Data", Storing data in a round-robin database with RRDTool and Perl, Linux Magazine 07/2004 (cached PDF),
  • "Global Memory", Manage globally accessible Web browser bookmarks, Linux Magazine 06/2004 (cached PDF),
  • "Winning Team Player", Multitasking Gtk-GUI with POE fetching Yahoo stock quotes, Linux Magazine 05/2004 (cached PDF),
  • "Simple Screen Scraper", Web site scaping with WWW::Mechanize, Linux Magazine 04/2004 (cached PDF),
  • "Compressed Links", Serving compressed URLs from a CGI script, backed by a Cache::FileCache, Linux Magazine 03/2004 (cached PDF),
  • "E-Baywatcher", Monitoring Ebay auctions with a Perl agent and Jabber, Linux Magazine 02/2004 (cached PDF),
  • "Quantum Casino", Using Quantum::Superpositions for implementing states in a game of Blackjack), Linux Magazine 01/2004 (cached PDF),
  • "Post Letter Perfect", Print mail envelopes from CSV address data as PostScript documents with Perl, Linux Magazine 12/2003 (cached PDF),
  • "Perl Diving", Making Perl documentation searchable with swish-e, Linux Magazine 11/2003 (cached PDF),
  • "Music on the Move", Categorizing MP3s and setting up a Web-Jukebox with Apache::MP3, Linux Magazine 10/2003 (cached PDF),
  • "Retire your debugger, log smartly with Log::Log4perl!", Log::Log4perl Tutorial, perl.com 09/2002
  • "Thanks for all the fish!", Translating with WWW::Babelfish, Linux Magazine 04/2001 (cached PDF),

Latest update: 14-Aug-2017