Hello. My name is PerlStalker and I’m an emacs user. I love emacs and use it for nearly everything but there are a few things it’s not good at. (“Like editing,” I hear all you warped vi users cry.) Among them, and most important to me, are window management and terminals. Let’s start with terminals. I use eshell from time to time to do quick and dirty things on the command line but I always run into weird things that don’t work like I expect.
So, here’s the situation. I have a stack of VM servers running KVM and libvirt. The hosts need to connect to a SAN for ISO storage and, potentially, VM disks. The problem is that the VM running DNS may not be up yet when the host starts. That’s a problem since I’m referencing the san by it’s host name rather than the IP address. Yes, I could change all of my configs to use the IP instead but host names are a lot easier to deal with, most of the time.
We started our deployment of System Center Configuration Manager 2012 last week and I ran into an interesting problem. One of the first apps I rolled out to test with was Strawberry Perl. I grabbed the 64-bit MSI and ran through the Create Application wizard and added the MSI to the deployment types. One quick deployment later and ConfigMgr was happily installing perl on my servers. … Most of my servers.
I use gPodder to pull podcasts for all my listening pleasure at work. I had been using gnome-mplayer to listen to them but after a recent re-install, gnome-mplayer started to hanging every when I pause the playback. Gmplayer works fine so I know that mplayer, by itself, is not the problem but that doesn’t have a systray icon to make it easy to click and pause playback. Since I’m so frequently using emacs, I thought to myself “I wonder if I can do this in emacs?
I love emacs. I practically live in emacs at work. One of my favorite features is org-mode. At its simplest, org-mode is simply a markup language similar to wiki-text or markdown. When you get into it more, the real power of scheduling and task management comes out. In my case, it’s the only system that’s I’ve been able to use to stay organized. I’ve been so happy with org-mode that I start to looking into using for this blog.
I’ve been a busy PerlStalker this week. As you may have noticed, this site has changed somewhat. I’ve recently decided to drop Drupal and switch to IkiWiki. Drupal has been good to me but it’s really too heavy for my little blog. I have no use for most of the features that Drupal provides and it’s not worth it to me to keep it up-to-date. IkiWiki has a couple of really nice things going for it.
I use XFCE4 on my box at work because it’s lightweight and still provides the features I want. I wanted to change the default font so that emacs used the font I wanted without having to change my .emacs file. Unfortunately, XFCE4 only lets you set system default but not the monospace font. Fortunately, XFCE4 uses fontconfig. All you need to do is edit $HOME/.fonts.conf and add this little XML snippet.
I use emacs for a lot of things at work. One of the more useful is org-mode for to do lists, scheduling and meeting notes. Org-mode can sync to mobile devices running the app MobileOrg. Unfortunately, that sync is a manual process. The good news, emacs is scriptable and can be run in batch mode to automate things. Here are a couple of things I use. Note: Emacs batch mode spews a huge amount of crap to stderr.
Following up on a previous post discussing finding old user accounts in Active Directory, here’s how you find old computer accounts. This works on basically the same premise as the user script. In short, we’re going to check the last time the computer logged into Active Directory. That happens on every reboot and from time to time while the machine is up. The same warning applies to computers as it does for user accounts.
Have you ever had the situation where you had a parent class but you find out later in the code that you really want a subclass? With perl Moose, it’s really easy to do. Consider the classic point example described in Moose::Cookbook::Basics::Recipe1. Suppose I start with a Point but I decide later that I need that point to shift into 3D. I don’t want to change the values for x and y, I just want to add the new z point.