The Media Monitoring Capability of the The Department of Homeland Security’s National Operations Center is tasked with keeping existing situation summaries for both domestic and international events up to date with open source media information. Their second mission is “to constantly monitor all available open source information with the goal of expeditiously alerting the NOC Watch Team and other key Department personnel of emergent situations”. This means monitoring both various online news sites as well as social networking.
Through a Freedom of Information Act request their Analyst’s Desktop Binder (4.4 MB PDF) was made publicly available. This is essentially the employee manual for MMC analysts, describing how to preform their job. There are quite a few very interesting tid bits in it such as the list of keywords and search terms used when searching social media sites.
I recently replaced the thermostat in our new house with a Filtrete 3M-50. This thermostat has a wifi module and is available at your local Home Depot for $99. I’d been aware of it for a while but had planned on purchasing the $250 nest. The turning point for me came one even as I was going to bed. I was hot, the heat was running and I chose to turn the fan on instead of going downstairs and adjusting the thermostat. In my defense, I knew the thermostat would switch to night mode in another 45 minutes and reduce the set point but I was still wasting energy.
Comparing the Filtrete to the nest the main features you are missing out on are:
I’ve migrated from Wordpress to Octopress and used the Jekyll wordpress migrator to move my posts over. Unfortunately, this doesn’t preserve post tags. The output looks like this:
---layout:posttitle:Devops w/ Perl @ Linode PPW Talk Slideswordpress_id:330wordpress_url:http://michael.thegrebs.com/?p=330date:2011-10-27 14:46:31 -04:00---Earlier this month I gave a talk about...
Having the wordpress post id means extracting the post tags from the db should be quite easy. First we define our desired output:
---layout:posttitle:Devops w/ Perl @ Linode PPW Talk Slideswordpress_id:330wordpress_url:http://michael.thegrebs.com/?p=330date:2011-10-27 14:46:31 -04:00tags:geek perl slides---Earlier this month I gave a talk about ...
The tags field really can appear anywhere in this YAML fragment but I chose to throw it at the end. With 103 posts to loop over, run a query and insert a new line a short script makes sense. The real win for our script though is using the Tie::File module which presents each file as an array with an element for each line.
Earlier this month I gave a talk about Linode’s use of Perl for devopsy things at the Pittsburgh Perl Workshop. Finally getting around to posting the slides online. I wanted to add some details so more of the slides made since on their own but haven’t gotten around to it yet.
Skip to the next section if you just care about the end result. In the past, I’ve had my remote Irssi client send UDP Growl packets to my static home IP that were then forwarded to the broadcast address on the local network. This worked great and allowed me to get Growl notifications on which ever computer I happened to be sitting at. These days, I’m always on my laptop, even when sitting at another computer (Teleport for the mega win).
I wanted a solution that would allow me to receive Growl notifications without having to forward any ports and no matter what the public IP for my laptop may be. I use App::PersistentSSH to maintain a persistent SSH control master connection to my Linode so the ideal solution uses a reverse tunnel over this connection to get the notifications too my laptop.
My Current Solution
Added --ssh_opts -R 127.0.0.1:22992:127.0.0.1:22 to my App::PersistentSSH command line. This connects localhost:22992 on my Linode to port 22 on my laptop.
local-growl.pl – an Irssi script that uses growlnotify to send growl notifications
growlnotify.pl – an ssh proxy for growlnotify, passes it’s arguments to growlnotify on a remote system via ssh
Simple push growl notifications from my Linode –> my MacBook Air whenever it is online. The scripts and an irssi.png to use in the notifications are available on GitHub.
Configuration for local-growl.pl is via Irssi’s in built settings, type /set growl to see a list of possibilites:
growl_enabled = ON
growl_growlnotifypath = /home/michael/bin/growlnotify
growl_image_path = /Users/mgreb/Documents/irssi.png
growl_show_hilights = ON
growl_show_private_messages = ON
growl_sticky = OFF
Configuration for growlnotify.pl is via a set of config variables near the top:
I placed an order for a TED 5000 on February
10th. The TED 5000 is a whole house energy monitor — a kill-a-watt for the whole house. I’ve spent a lot
of time reading about the products available in this space. I’ve looked at about 10 products for whole house
energy monitoring and three jump to the top. The wattvision, PowerHouse Dynamics’s eMonitor, and the TED 5000.
This is how I manage my tasks with Hiveminder on a weekly basis and the Perl script that helps me do it. I don’t really expect the Perl script to be useful to anyone as-is but portions of it may be useful to others, as well as the general work flow, so I’ve decided to share them.
At Linode we have a wiki page where we list 5 or more tasks we wish to accomplish during the week. There is a heading for each employee and below the heading we place our tasks. Throughout the week we can add additional tasks or mark existing ones as done.
I’ve used Hiveminder for some time. When we started the weekly task lists at Linode I found that taking a few minutes to figure out which tasks I wish to complete in the coming week works quite well for me. I started marking these tasks with the ‘week’ tag in Hiveminder. I quickly ended up writing a perl script, week.pl, to help me manage hem.