<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title></title>
    <link>https://cmdln.org/</link>
    <description>Recent content on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sat, 26 Jul 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://cmdln.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Emacs Carnival 2025-07: Writing Experience</title>
      <link>https://cmdln.org/2025/07/26/emacs-carnival-2025-07-writing-experience/</link>
      <pubDate>Sat, 26 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2025/07/26/emacs-carnival-2025-07-writing-experience/</guid>
      <description>This is my contribution to the Emacs Carnival 2025-07: Writing Experience.&#xA;For me the experience of writing in Emacs is a frequent, ever evolving, largely in org-mode, magical experience that has become critical for the way I operate.&#xA;I am a vim convert, but I never had to give up the lovely editing experience and familiar key bindings thanks to Spacemacs and evil-mode. I have been trying to develop muscle memory for avy but I am not there yet.</description>
    </item>
    <item>
      <title>Bionic back and Spare parts 2</title>
      <link>https://cmdln.org/about/bionic-back-and-spare-parts-2/</link>
      <pubDate>Wed, 04 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/about/bionic-back-and-spare-parts-2/</guid>
      <description>This is a test.</description>
    </item>
    <item>
      <title>How I org in 2024</title>
      <link>https://cmdln.org/2024/01/05/how-i-org-in-2024/</link>
      <pubDate>Fri, 05 Jan 2024 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2024/01/05/how-i-org-in-2024/</guid>
      <description>Org-mode is my exocortex, second brain, second mind, mind palace, pensive, personal knowledge management system, and apocrypha. It&amp;rsquo;s very flexible and the features I use as well as how I organize my files continues to change so I collected things here to document how I do things in 2024, I did this in 2023 as well1.&#xA;No, my Emacs org-mode configuration is not published. However, if you have some question, just reach out.</description>
    </item>
    <item>
      <title>How I org in 2023</title>
      <link>https://cmdln.org/2023/03/25/how-i-org-in-2023/</link>
      <pubDate>Sat, 25 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2023/03/25/how-i-org-in-2023/</guid>
      <description>I&amp;rsquo;ve been pretty much living in org-mode for 6 or 7 years now1. It&amp;rsquo;s my exocortex, second brain, second mind, mind palace, pensive, and personal knowledge management system2. The features and tools I use as well as how I organize my files has changed quite a bit over this period of time and I thought it would be nice give myself (and anyone else who cares) a reference of what it was like in 2023 so here it is.</description>
    </item>
    <item>
      <title>Reflecting on my history with org-mode in 2023</title>
      <link>https://cmdln.org/2023/03/13/reflecting-on-my-history-with-org-mode-in-2023/</link>
      <pubDate>Mon, 13 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2023/03/13/reflecting-on-my-history-with-org-mode-in-2023/</guid>
      <description>I think I started getting interested in org-mode in 20071. I definitely was making serious attempts to integrate it into my workflow by 2010. By 2016 it became my primary tool. By primary tool, I mean that most of my daily work is either done from within or at least I&amp;rsquo;ve probably written down something about what I&amp;rsquo;ve done in org-mode.&#xA;Early on, maybe 2009 I found Bernt Hansens Organize you life in plain text!</description>
    </item>
    <item>
      <title>Reversing key values of a JSON dict in CFEngine with jq</title>
      <link>https://cmdln.org/2019/08/14/reversing-key-values-of-a-json-dict-in-cfengine-with-jq/</link>
      <pubDate>Wed, 14 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2019/08/14/reversing-key-values-of-a-json-dict-in-cfengine-with-jq/</guid>
      <description>Do you have any tips on reversing a json dictionary?&#xA;I have a map of IPv4 addresses to environments and I would like to have a map of environments to IPv4s.&#xA;1 2 3 4 5 6 7 { &amp;#34;192.0.2.131&amp;#34; : &amp;#34;TEST-NET-1&amp;#34;, &amp;#34;198.51.100.151&amp;#34; : &amp;#34;TEST-NET-2&amp;#34;, &amp;#34;198.51.100.146&amp;#34; : &amp;#34;TEST-NET-2&amp;#34;, &amp;#34;203.0.113.146&amp;#34; : &amp;#34;TEST-NET-3&amp;#34;, &amp;#34;203.0.113.21&amp;#34; : &amp;#34;TEST-NET-3&amp;#34; } Would become:&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 { &amp;#34;TEST-NET-1&amp;#34;: [ &amp;#34;192.</description>
    </item>
    <item>
      <title>How to use the not() function inside a classes type promise or</title>
      <link>https://cmdln.org/2019/08/13/how-to-use-the-not-function-inside-a-classes-type-promise-or/</link>
      <pubDate>Tue, 13 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2019/08/13/how-to-use-the-not-function-inside-a-classes-type-promise-or/</guid>
      <description>How can I use or with a classes type promise where an element is negated with not().&#xA;It&amp;#39;s not currently possible to use not() directly within an or classes promise since it returns a string and not boolean.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 bundle agent main { vars: &amp;#34;f&amp;#34; string =&amp;gt; &amp;#34;/tmp/missing&amp;#34;; classes: &amp;#34;missing&amp;#34; or =&amp;gt; { not( fileexists( $(f) ) ) }; &amp;#34;exists&amp;#34; or =&amp;gt; { fileexists( $(f) ) }; reports: missing:: &amp;#34;$(f) is missing&amp;#34;; exists:: &amp;#34;$(f) is present&amp;#34;; } Using not() inside a classes or results in syntax error Running the policy results in a syntax error</description>
    </item>
    <item>
      <title>Custom services in CFEngine 3</title>
      <link>https://cmdln.org/2019/05/31/custom-services-in-cfengine-3/</link>
      <pubDate>Fri, 31 May 2019 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2019/05/31/custom-services-in-cfengine-3/</guid>
      <description>CFEngine provides the services promise type to manage the state of a given service. By default, bundle agent standard_services is used for the service_method. The standard_services bundle uses the status command and interprets the return codes according to the Linux Standard Base init script actions. Unfortunately some init scripts do not follow the standards. On sysvinit (non-systemd) hosts, if the status command returns zero when a service is not running, cfengine will issue the commands necessary to stop the service every time the agent is run.</description>
    </item>
    <item>
      <title>How can I access the current KEY when iterating a dict in mustache from cfengine</title>
      <link>https://cmdln.org/2019/05/20/how-can-i-access-the-current-key-when-iterating-a-dict-in-mustache-from-cfengine/</link>
      <pubDate>Mon, 20 May 2019 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2019/05/20/how-can-i-access-the-current-key-when-iterating-a-dict-in-mustache-from-cfengine/</guid>
      <description>Can I access the current KEY when iterating in Mustache?&#xA;Yes, CFEngine&amp;#39;s implementation of mustache includes an extension to be able to access the current key when iterating. @ expands the current key being iterated.&#xA;This example defines d as a simple json data structure with index-1 and index-2 being top level keys. The mustache template iterates over the entirety of the structure leveraging -top- (another cfengine specific extension to mustache) and prints the key using @.</description>
    </item>
    <item>
      <title>Clearing POSIX ACLs from a file with CFEngine</title>
      <link>https://cmdln.org/2019/03/18/clearing-posix-acls-from-a-file-with-cfengine/</link>
      <pubDate>Mon, 18 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2019/03/18/clearing-posix-acls-from-a-file-with-cfengine/</guid>
      <description>From #cfengine on irc.freenode.net:&#xA;How can I clear the POSIX ACLs from a file?&#xA;To clear the POSIX ACLs from a file, you specify the ACL with no permissions.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 bundle agent main { vars: &amp;#34;file&amp;#34; string =&amp;gt; &amp;#34;/tmp/myFileWithAces&amp;#34;; files: &amp;#34;$(file)&amp;#34; create =&amp;gt; &amp;#34;true&amp;#34;; methods: &amp;#34;Set POSIX ACL and report&amp;#34; usebundle =&amp;gt; SetAndReport( $(file) ); &amp;#34;UnSet POSIX ACL and report&amp;#34; usebundle =&amp;gt; UnSetAndReport( $(file) ); } bundle agent SetAndReport( file ) { files: &amp;#34;$(file)&amp;#34; acl =&amp;gt; my_posix_aces; reports: &amp;#34;In $(this.</description>
    </item>
    <item>
      <title>Executing commands with substitution from CFEngine</title>
      <link>https://cmdln.org/2019/03/08/executing-commands-with-substitution-from-cfengine/</link>
      <pubDate>Fri, 08 Mar 2019 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2019/03/08/executing-commands-with-substitution-from-cfengine/</guid>
      <description>How can I execute a command that uses command substitution in CFEngine?&#xA;On the console I might execute something like this:&#xA;1 2 touch /tmp/file-$(date --iso-8601) ls /tmp/file-* /tmp/file-2019-03-08 Example command substitution I recommend not executing commands using substitution. Instead, prepare all that you need up front. Get the result of the data command and put it into a cfengine variable, then use the cfengine variable directly.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 bundle agent main { vars: &amp;#34;date&amp;#34; string =&amp;gt; execresult( &amp;#34;date --iso-8601=second&amp;#34;, useshell ); &amp;#34;command&amp;#34; string =&amp;gt; &amp;#34;/usr/bin/touch /tmp/file-$(date)&amp;#34;; &amp;#34;result&amp;#34; string =&amp;gt; execresult( $(command), useshell ); reports: &amp;#34;CFEngine $(sys.</description>
    </item>
    <item>
      <title>The -top- mustache extension in CFEngine 3</title>
      <link>https://cmdln.org/2018/11/16/the-top-mustache-extension-in-cfengine-3/</link>
      <pubDate>Fri, 16 Nov 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/11/16/the-top-mustache-extension-in-cfengine-3/</guid>
      <description>What is the -top- extension, and how do I use it in CFEngines Mustache templating method?&#xA;The -top- extension to the mustache template method, first introduced in CFEngine 3.9.0, is a special key representing the complete data given to the templating engine. This is useful for iterating over the top level of a container {{#-top-}} … {{/-top-}} and rendering json representation of data given with $ and %. Note, when iterating over -top- you can expand the current iterations key with @ and value with .</description>
    </item>
    <item>
      <title>Hacking custom variables for additional augments in CFEngine</title>
      <link>https://cmdln.org/2018/11/13/hacking-custom-variables-for-additional-augments-in-cfengine/</link>
      <pubDate>Tue, 13 Nov 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/11/13/hacking-custom-variables-for-additional-augments-in-cfengine/</guid>
      <description>CFEngine 3.12.0 introduced the augments key to the Augments file format. If you are not already familiar with Augments, check it out. It&amp;#39;s a very easy way to define classes and variables very early during agent execution, before policy.&#xA;The new augments key allows you to merge additional data in the augments format on top of the base augments. I However, there is, I think, still a simple way to accomplish this.</description>
    </item>
    <item>
      <title>Looking at three high level patterns in CFEngine 3</title>
      <link>https://cmdln.org/2018/11/10/looking-at-three-high-level-patterns-in-cfengine-3/</link>
      <pubDate>Sat, 10 Nov 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/11/10/looking-at-three-high-level-patterns-in-cfengine-3/</guid>
      <description>How do you deal with config files that need different settings based on various services that are running on a host and cooperate with other teams? It&amp;#39;s a common question, and it came up on in #cfengine on irc.freenode.net recently.&#xA;The issue is that team A might be working on package A, which requires some environment variables set. But team B might be working on a totally different thing – and want to achieve the same thing.</description>
    </item>
    <item>
      <title>Automatically define classes for every promise with CFEngine 3</title>
      <link>https://cmdln.org/2018/10/22/automatically-define-classes-for-every-promise-with-cfengine-3/</link>
      <pubDate>Mon, 22 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/10/22/automatically-define-classes-for-every-promise-with-cfengine-3/</guid>
      <description>In CFEngine classes are used for decision making. Classes can be defined as the result of a promise by attaching a classes body to the promise via the classes attribute.&#xA;For example, here we run the command echo Hello World and define bundle scoped classes using the results classes body prefixed with Hello_World.&#xA;1 2 3 4 5 6 7 8 9 10 bundle agent main { commands: &amp;#34;echo Hello World&amp;#34; contain =&amp;gt; in_shell, classes =&amp;gt; results( &amp;#34;bundle&amp;#34;, &amp;#34;Hello_World&amp;#34; ); reports: &amp;#34;Defined Classes: $(with)&amp;#34; with =&amp;gt; join( &amp;#34;, &amp;#34;, classesmatching( &amp;#34;Hello_.</description>
    </item>
    <item>
      <title>Using classes from datastate() with explicit template_data for rendering mustache in cfengine 3</title>
      <link>https://cmdln.org/2018/10/19/using-classes-from-datastate-with-explicit-template_data-for-rendering-mustache-in-cfengine-3/</link>
      <pubDate>Fri, 19 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/10/19/using-classes-from-datastate-with-explicit-template_data-for-rendering-mustache-in-cfengine-3/</guid>
      <description>This was asked on the CFEngine Help Mailing list on October 1st 2018.&#xA;How can I use classes in a mustache template while passing explicit data to template_data? When a mustache template is rendered without providing explicit data to the template_data attribute in a files promise datastate() is used. datastate() contains the JSON representation of the current cfengine state.&#xA;When providing explicit data the variables and classes from the current state are not included.</description>
    </item>
    <item>
      <title>Setting the timeout with url_get() in cfengine 3</title>
      <link>https://cmdln.org/2018/10/18/setting-the-timeout-with-url_get-in-cfengine-3/</link>
      <pubDate>Thu, 18 Oct 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/10/18/setting-the-timeout-with-url_get-in-cfengine-3/</guid>
      <description>How do I set the timeout with url_get()?&#xA;As shown in the documentation for url_get(), you set url.timeout in the data container passed for url_get() options.&#xA;This example policy shows how to configure the timeout and demonstrates it by making a request through www.delay.me.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 bundle agent main { vars: &amp;#34;options&amp;#34; data =&amp;gt; &amp;#39;{ &amp;#34;url.timeout&amp;#34;: &amp;#34;2&amp;#34;, &amp;#34;url.</description>
    </item>
    <item>
      <title>Disabling desktop search (trackerd) with cfengine 3</title>
      <link>https://cmdln.org/2018/08/08/disabling-desktop-search-trackerd-with-cfengine-3/</link>
      <pubDate>Wed, 08 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/08/08/disabling-desktop-search-trackerd-with-cfengine-3/</guid>
      <description>Recently I noticed that my CPU was pretty busy with the desktop search indexing, it brought me to the question:&#xA;How can I disable the desktop search service trackerd?&#xA;After a brief investigation I found some XDG desktop needed to be edited to include the key Hidden=true.&#xA;This policy disables known trackerd related XDG files when they are found.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 body file control { inputs =&amp;gt; { &amp;#34;$(sys.</description>
    </item>
    <item>
      <title>Augments driven access promises with cfengine 3</title>
      <link>https://cmdln.org/2018/07/19/augments-driven-access-promises-with-cfengine-3/</link>
      <pubDate>Thu, 19 Jul 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/07/19/augments-driven-access-promises-with-cfengine-3/</guid>
      <description>How can I define custom access promises for cf-serverd without modifying vendored policy?&#xA;Commonly, when custom access promises are introduced, they are introduced by editing bundle server access_rules in controls/cf_serverd.cf where the default access rules are promised. Modifying policy maintained upstream can complicate future framework upgrades because care must be taken to ensure that modifications are preserved. There is no need to edit the vendored policy file to define custom access promises.</description>
    </item>
    <item>
      <title>Automatically remediate corruption in lmdb with cfengine 3</title>
      <link>https://cmdln.org/2018/05/25/automatically-remediate-corruption-in-lmdb-with-cfengine-3/</link>
      <pubDate>Fri, 25 May 2018 10:14:30 -0600</pubDate>
      <guid>https://cmdln.org/2018/05/25/automatically-remediate-corruption-in-lmdb-with-cfengine-3/</guid>
      <description>&amp;gt; How can I automatically remediate the issue where corruption in LMDB causes the agent to crash?&#xA;In some cases lmdb corruption causes cf-agent to crash. The typical fix is to remove the corrupt lmdbs causing the problem. In some cases this can be remediated from policy. This policy (run early in the bundlesequence) uses lmdump to probe all lmdbs. If the probe fails the offending lmdb and it&amp;#39;s associated lock files are deleted.</description>
    </item>
    <item>
      <title>What is evaluated first in cfengine 3? vars or classes</title>
      <link>https://cmdln.org/2018/05/24/what-is-evaluated-first-in-cfengine-3-vars-or-classes/</link>
      <pubDate>Thu, 24 May 2018 10:14:30 -0600</pubDate>
      <guid>https://cmdln.org/2018/05/24/what-is-evaluated-first-in-cfengine-3-vars-or-classes/</guid>
      <description>&amp;gt; How do I know if vars or classes come first during cfengine evaluation?&#xA;Read the documentation on Normal Order There is a wealth of information on docs.cfengine.com. Find documentation about the order of agent promise evaluation (Normal Order) in the Language Concepts section of the Reference manual.&#xA;Run the agent with –verbose or -v and grep for pass 1. Write a test policy that has both vars and classes promises.</description>
    </item>
    <item>
      <title>How to enforce legalese on windows login with cfengine 3</title>
      <link>https://cmdln.org/2018/05/23/how-to-enforce-legalese-on-windows-login-with-cfengine-3/</link>
      <pubDate>Wed, 23 May 2018 10:15:30 -0600</pubDate>
      <guid>https://cmdln.org/2018/05/23/how-to-enforce-legalese-on-windows-login-with-cfengine-3/</guid>
      <description>&amp;gt; How can I ensure that a notice containing legal text is presented to windows users during login?&#xA;With the windows agent (Northern.tech builds Enterprise windows agents) you can accomplish this by managing the registry using the databases promise type.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 bundle agent registered_owner #@ brief Make the laywers happy by showing their notice to windows users on login { meta: windows:: &amp;#34;tags&amp;#34; slist =&amp;gt; { &amp;#34;autorun&amp;#34; }; &amp;#34;description&amp;#34; string =&amp;gt; &amp;#34;Ensure the proper leagal notice is displayed to users when they log on.</description>
    </item>
    <item>
      <title>Manage memory_limit in php.ini with CFEngine 3</title>
      <link>https://cmdln.org/2018/05/22/manage-memory_limit-in-php.ini-with-cfengine-3/</link>
      <pubDate>Tue, 22 May 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/05/22/manage-memory_limit-in-php.ini-with-cfengine-3/</guid>
      <description>This policy ensures that memory_limit in php.ini is configured properly but the pattern is generically useful for any INI style config.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 bundle agent php_customiztions { meta: (policy_server|am_policy_hub).enterprise_edition:: &amp;#34;tags&amp;#34; slist =&amp;gt; { &amp;#34;autorun&amp;#34; }; &amp;#34;description&amp;#34; string =&amp;gt; &amp;#34;Tune php fo 60k hosts in Mission Portal&amp;#34;; vars: &amp;#34;php_ini[PHP][memory_limit]&amp;#34; string =&amp;gt; &amp;#34;256M&amp;#34;; files: policy_server.</description>
    </item>
    <item>
      <title>Inventorying MAC by Interface</title>
      <link>https://cmdln.org/2018/05/21/inventorying-mac-by-interface/</link>
      <pubDate>Mon, 21 May 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/05/21/inventorying-mac-by-interface/</guid>
      <description>This tip comes from my good friend Aleksey Tsalolikin.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 bundle agent main { vars: # Creae a map of interface to MAC # Generate a classic array # Iterate over known interfaces, define interface as key and MAC as value &amp;#34;iface2mac[$(sys.interfaces)]&amp;#34; string =&amp;gt; &amp;#34;$(sys.hardware_mac[$(sys.interfaces)])&amp;#34;, meta =&amp;gt; { &amp;#34;inventory&amp;#34;, &amp;#34;attribute_name=$(sys.interfaces) MAC&amp;#34; }; reports: &amp;#34;$(sys.</description>
    </item>
    <item>
      <title>Why doesn&#39;t ifvarclass automatically canonify?</title>
      <link>https://cmdln.org/2018/05/20/why-doesnt-ifvarclass-automatically-canonify/</link>
      <pubDate>Sun, 20 May 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/05/20/why-doesnt-ifvarclass-automatically-canonify/</guid>
      <description>It looks like ifvarclass is one of few places in CFEngine that does not automatically canonify:&#xA;Is there a reason why ifvarclass – which takes a variable by design – does not automatically canonify that variable before checking if there’s a matching class?&#xA;Yes, it&amp;#39;s true that ifvarclass, and it&amp;#39;s aliases if and unless do not automatically canonify when checking a class.&#xA;Historically there was no automatic canonfication in cfengine.</description>
    </item>
    <item>
      <title>Purging packages with the cfengine 3 apt_get package module</title>
      <link>https://cmdln.org/2018/01/29/purging-packages-with-the-cfengine-3-apt_get-package-module/</link>
      <pubDate>Mon, 29 Jan 2018 17:25:25 -0600</pubDate>
      <guid>https://cmdln.org/2018/01/29/purging-packages-with-the-cfengine-3-apt_get-package-module/</guid>
      <description>How can I purge a package using the apt_get package_module? policy =&amp;gt; purge doesn&amp;#39;t work.&#xA;present and absent are the package states, purge is an option for package manager. You should be able to use the options attribute since the apt_get package module supports it.&#xA;1 2 3 4 5 6 7 8 9 10 bundle agent main { packages: # Purging a package using the --purge option &amp;#34;screen&amp;#34; policy =&amp;gt; &amp;#34;absent&amp;#34;, package_module =&amp;gt; apt_get, options =&amp;gt; { &amp;#34;--remove&amp;#34; }; } Note that you can use any Configuration Item as well:</description>
    </item>
    <item>
      <title>Timeboxing Policy in Cfengine3</title>
      <link>https://cmdln.org/2018/01/28/timeboxing-policy-in-cfengine3/</link>
      <pubDate>Sun, 28 Jan 2018 09:50:27 +0000</pubDate>
      <guid>https://cmdln.org/2018/01/28/timeboxing-policy-in-cfengine3/</guid>
      <description>How can I make cfengine do things during a specific time window?&#xA;You can find &amp;#34;time based classes&amp;#34; in the cf-promises --show-classes output, they are easily identified because they are tagged with time_based. For example:&#xA;1 cf-promises --show-classes | grep time | Day2 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Afternoon time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Day2 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Hr14 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Hr14_Q1 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Lcycle_1 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_March time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Min10 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Min10_15 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Q1 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Thursday time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | GMT_Yr2017 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Hr08 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Hr08_Q1 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Hr8 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Lcycle_1 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | March time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Min10 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Min10_15 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Morning time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Q1 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Thursday time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | | Yr2017 time_based | cfengine_internal_time_based_autoremove | source=agent | hardclass | You can guard your promise with a time based class expression so that it can only execute during the 7:00 hour.</description>
    </item>
    <item>
      <title>Formatting Time in CFEngine3</title>
      <link>https://cmdln.org/2018/01/27/formatting-time-in-cfengine3/</link>
      <pubDate>Sat, 27 Jan 2018 10:00:24 +0000</pubDate>
      <guid>https://cmdln.org/2018/01/27/formatting-time-in-cfengine3/</guid>
      <description>How do I format and convert time strings?&#xA;The strftime() function takes unix epoch format as input and can format the time using the standard strftime templates.&#xA;1 2 3 4 5 6 7 bundle agent main { reports: &amp;#34;$(with)&amp;#34; with =&amp;gt; strftime( localtime, &amp;#34;%FT%R:%S%Z&amp;#34;, now() ); } R: 2018-01-27T15:47:14CST Output current time in ISO 8601 format Unfortunately there is currently no native way to convert from other inputs formats.</description>
    </item>
    <item>
      <title>Setting permissions using uid, username, gid, or groupname with cfengine 3</title>
      <link>https://cmdln.org/2018/01/16/setting-permissions-using-uid-username-gid-or-groupname-with-cfengine-3/</link>
      <pubDate>Tue, 16 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/01/16/setting-permissions-using-uid-username-gid-or-groupname-with-cfengine-3/</guid>
      <description>&amp;gt; Can we use uid/gid to set permissions instead of username and groupname?&#xA;Yes, you sure can.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 bundle agent main { files: # Here we use username and groupname &amp;#34;/tmp/example&amp;#34; create =&amp;gt; &amp;#34;true&amp;#34;, perms =&amp;gt; mog( &amp;#34;600&amp;#34;, &amp;#34;root&amp;#34;, &amp;#34;root&amp;#34; ); # Here we use uid and gid &amp;#34;/tmp/example&amp;#34; perms =&amp;gt; mog( &amp;#34;600&amp;#34;, 1000, 136 ); } body perms mog(mode,user,group) # @brief Set the file&amp;#39;s mode, owner and group # @param mode The new mode # @param user The username of the new owner # @param group The group name { owners =&amp;gt; { &amp;#34;$(user)&amp;#34; }; groups =&amp;gt; { &amp;#34;$(group)&amp;#34; }; mode =&amp;gt; &amp;#34;$(mode)&amp;#34;; } Example (/tmp/perms-example.</description>
    </item>
    <item>
      <title>Standalone Mustache Policy</title>
      <link>https://cmdln.org/2018/01/15/standalone-mustache-policy/</link>
      <pubDate>Mon, 15 Jan 2018 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2018/01/15/standalone-mustache-policy/</guid>
      <description>&amp;gt; Does CFEngine provide tool to render a mustache template?&#xA;No, CFEngine doesn&amp;#39;t have a standalone tool to render mustache. This online demo is a good place to quickly prototype a simple template and data set.&#xA;Another option is to use a stand-alone policy file.&#xA;Name the file whatever you like. It looks for json in a file named the same suffixed with .json, it looks for a mustache template named the same suffixed with .</description>
    </item>
    <item>
      <title>No Klf 2018 :`(</title>
      <link>https://cmdln.org/2018/01/05/no-klf-2018/</link>
      <pubDate>Fri, 05 Jan 2018 13:35:04 -0600</pubDate>
      <guid>https://cmdln.org/2018/01/05/no-klf-2018/</guid>
      <description>Anyone interested in organizing Kansas Linux Fest in 2018?&#xA;In 2016 and 2017 KLF was hosted in Wichita KS at Wichita State University. The prior two years organizers are a bit burned out and are taking a break.&#xA;&amp;lt;ben_roose&amp;gt; Hi nickanderson, Sadly at the moment there is not a KLF 2018 planned. The few of us who created KLF 2017 are rather burned out and need a break this year :-( &amp;lt;ben_roose&amp;gt; However, if we can find some new people who are willing to take it on either in Wichita or somewhere else in Kansas, then we would be more than happy to assist in the infrastructure side and to consult as part of the conference …but as of now, we have not found any one new who wishes to take on this task for KLF 2018</description>
    </item>
    <item>
      <title>vars can&#39;t use ifelapsed</title>
      <link>https://cmdln.org/2017/12/26/vars-cant-use-ifelapsed/</link>
      <pubDate>Tue, 26 Dec 2017 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2017/12/26/vars-cant-use-ifelapsed/</guid>
      <description>Why doesn&amp;#39;t body action if_elapsed work with vars type promises?&#xA;Let&amp;#39;s start with the details of body action if_elapsed.&#xA;1 2 3 4 5 6 7 body action if_elapsed(x) # @brief Evaluate the promise every `x` minutes # @param x The time in minutes between promise evaluations { ifelapsed =&amp;gt; &amp;#34;$(x)&amp;#34;; expireafter =&amp;gt; &amp;#34;$(x)&amp;#34;; } body action if_elapsed from the standard library The ifelapsed action body attribute is the number of minutes before next allowed assessment of a promise.</description>
    </item>
    <item>
      <title>Check if a file contains a multi-line regex</title>
      <link>https://cmdln.org/2017/12/22/check-if-a-file-contains-a-multi-line-regex/</link>
      <pubDate>Fri, 22 Dec 2017 12:51:40 -0600</pubDate>
      <guid>https://cmdln.org/2017/12/22/check-if-a-file-contains-a-multi-line-regex/</guid>
      <description>Is there any way to do a multiline regex check for a file in CFEngine?&#xA;There is no function for searching a file for content. The grep() function operates on lists, not files. However using readfile() and regcmp() I was sill able to search for a multi-line string using only native functionaity&#xA;In the example below we first create a file with content that spans multiple lines. Then we read that file content into a variable and use a regular expression on the variable content.</description>
    </item>
    <item>
      <title>Cfengine Files Preserve With Explicit Perms</title>
      <link>https://cmdln.org/2017/12/21/cfengine-files-preserve-with-explicit-perms/</link>
      <pubDate>Thu, 21 Dec 2017 11:41:49 -0600</pubDate>
      <guid>https://cmdln.org/2017/12/21/cfengine-files-preserve-with-explicit-perms/</guid>
      <description>If I have a promise with a copy_from promise where the body specifies that permissions should be preserved and I also have a perms body on the same promise what is expected to happen?&#xA;The files type promises documentation describes the normal order of files promise attributes during promise actuation.&#xA;The documentation notes:&#xA;file presence ( create | copy | link ) permissions file content So the explicitly specified permissions should win in the end.</description>
    </item>
    <item>
      <title>Self organizing groups with select_class in cfengine 3</title>
      <link>https://cmdln.org/2017/12/04/self-organizing-groups-with-select_class-in-cfengine-3/</link>
      <pubDate>Mon, 04 Dec 2017 10:12:44 -0600</pubDate>
      <guid>https://cmdln.org/2017/12/04/self-organizing-groups-with-select_class-in-cfengine-3/</guid>
      <description>&amp;gt; How can my hosts self organize into different groups?&#xA;In cfengine 3 select_class can be used for partitioning hosts into separate groups without central coordination. Given the same list of options in the same order each host will always choose the same option.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 bundle agent demo_select_class { vars: &amp;#34;options&amp;#34; slist =&amp;gt; { &amp;#34;one&amp;#34;, &amp;#34;two&amp;#34; }, meta =&amp;gt; { &amp;#34;inventory&amp;#34;, &amp;#34;attribute_name=Select Class Options&amp;#34; }; # Prefix the options with &amp;#34;select_class_&amp;#34; as select_class will define # untagged classes that we will use to define a class tagged for # inventory.</description>
    </item>
    <item>
      <title>Keep Table of Contents Up to Date in Org Mode</title>
      <link>https://cmdln.org/2017/12/01/keep-table-of-contents-up-to-date-in-org-mode/</link>
      <pubDate>Fri, 01 Dec 2017 21:41:21 -0600</pubDate>
      <guid>https://cmdln.org/2017/12/01/keep-table-of-contents-up-to-date-in-org-mode/</guid>
      <description>It&amp;#39;s easy to export an org document to html and get a table of contents, but sometimes it&amp;#39;s nice to have a table of contents inside of an org-mode file. The [[https://github.com/snosov1/toc-org][toc-org]] package makes this automatic.&#xA;Simply tag a headline with :TOC: and the headline will auto fill an index with all following headlines.&#xA;&amp;lt;img src=&amp;#34;&amp;#34; alt=&amp;#34;&amp;#34; width=&amp;#34;100%&amp;#34;/&amp;gt;</description>
    </item>
    <item>
      <title>Easiest way to make standalone examples in CFEngine 3</title>
      <link>https://cmdln.org/2017/11/30/easiest-way-to-make-standalone-examples-in-cfengine-3/</link>
      <pubDate>Thu, 30 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2017/11/30/easiest-way-to-make-standalone-examples-in-cfengine-3/</guid>
      <description>What&amp;#39;s the simplest, easiest, no-fuss way to wrap up standalone example?&#xA;I use ob-cfengine3 with org-mode inside of spacemacs for most of my self contained examples and when I start prototyping new policy.&#xA;When I have a cfengine3 SRC block and I execute it body file control is magically inserted to load the stdlib.&#xA;1 2 3 4 5 6 7 bundle agent main { reports: &amp;#34;$(this.promise_filename):&amp;#34; printfile =&amp;gt; cat( $(this.</description>
    </item>
    <item>
      <title>Using set_line_based with extra spaces</title>
      <link>https://cmdln.org/2017/11/29/using-set_line_based-with-extra-spaces/</link>
      <pubDate>Wed, 29 Nov 2017 12:10:44 -0600</pubDate>
      <guid>https://cmdln.org/2017/11/29/using-set_line_based-with-extra-spaces/</guid>
      <description>How can I use set_line_based to manage a space separated file like /etc/services but include more than one space to make the config a bit easier to read.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 bundle agent main { vars: &amp;#34;map[hpss_d_mvr1]&amp;#34; string =&amp;gt; &amp;#34;65501/tcp&amp;#34;; # Include padding in the value itself &amp;#34;map[hpss_d_mvr2]&amp;#34; string =&amp;gt; &amp;#34; 65503/tcp&amp;#34;; files: &amp;#34;/tmp/services&amp;#34; create =&amp;gt; &amp;#34;true&amp;#34;; # Use more than one space in the second field for the minimum number of # spaces between columns &amp;#34;/tmp/services&amp;#34; edit_line =&amp;gt; set_line_based( &amp;#34;$(this.</description>
    </item>
    <item>
      <title>dot spacemacs</title>
      <link>https://cmdln.org/2017/11/25/dot-spacemacs/</link>
      <pubDate>Sat, 25 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2017/11/25/dot-spacemacs/</guid>
      <description>When I first tried using Emacs it was to play with Orgmode. I loved Orgmode but being a staunch vim user I really struggled with the key bindings. Ultimately my first attempt to use Orgmode fell by the wayside.&#xA;When I learned about evil mode I gave it another go. I stumbled my way through just enough to get evil-mode working and Orgmode became much more usable. I still primarily interacted with Orgmode via direct files.</description>
    </item>
    <item>
      <title>How to keep a package up to date in CFEngine 3</title>
      <link>https://cmdln.org/2017/11/24/how-to-keep-a-package-up-to-date-in-cfengine-3/</link>
      <pubDate>Fri, 24 Nov 2017 12:48:53 -0600</pubDate>
      <guid>https://cmdln.org/2017/11/24/how-to-keep-a-package-up-to-date-in-cfengine-3/</guid>
      <description>&amp;gt; How can I make sure a package is always up to date?&#xA;1 2 3 4 5 6 7 8 9 10 11 12 bundle agent main { vars: &amp;#34;latest_pkgs&amp;#34; slist =&amp;gt; { &amp;#34;singularity&amp;#34;, &amp;#34;singularity-devel&amp;#34; }; packages: &amp;#34;$(latest_pkgs)&amp;#34; policy =&amp;gt; &amp;#34;present&amp;#34;, comment =&amp;gt; &amp;#34;Important to automatically track the latest and greatest because ....&amp;#34;, version =&amp;gt; &amp;#34;latest&amp;#34;; } The packages promise implementation shown above has been available since 3.7.0.</description>
    </item>
    <item>
      <title>Why does my policy generate so many readjson() errors and how can I prevent them?</title>
      <link>https://cmdln.org/2017/11/23/why-does-my-policy-generate-so-many-readjson-errors-and-how-can-i-prevent-them/</link>
      <pubDate>Thu, 23 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2017/11/23/why-does-my-policy-generate-so-many-readjson-errors-and-how-can-i-prevent-them/</guid>
      <description>cf-agent -Kf ./example.cf error: readjson: data error parsing JSON file &amp;#39;/tmp/mydata.json&amp;#39;: No data error: readjson: data error parsing JSON file &amp;#39;/tmp/mydata.json&amp;#39;: No data error: readjson: data error parsing JSON file &amp;#39;/tmp/mydata.json&amp;#39;: No data error: readjson: data error parsing JSON file &amp;#39;/tmp/mydata.json&amp;#39;: No data error: readjson: data error parsing JSON file &amp;#39;/tmp/mydata.json&amp;#39;: No data error: readjson: data error parsing JSON file &amp;#39;/tmp/mydata.json&amp;#39;: No data error: readjson: data error parsing JSON file &amp;#39;/tmp/mydata.</description>
    </item>
    <item>
      <title>In CFEngine how do I enforce POSIX ACLs?</title>
      <link>https://cmdln.org/2017/11/22/in-cfengine-how-do-i-enforce-posix-acls/</link>
      <pubDate>Wed, 22 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2017/11/22/in-cfengine-how-do-i-enforce-posix-acls/</guid>
      <description>When using the acl_method overwrite you must supply user, group, all ( aka other ), and mask for a complete ACL specification.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 bundle agent main { vars: &amp;#34;acl&amp;#34; slist =&amp;gt; { &amp;#34;user:*:rwx&amp;#34;, # System owner should have read write and execute access &amp;#34;group:*:rw&amp;#34;, # System group should have read and write access but not execute &amp;#34;all:r&amp;#34;, # All other users should have read access &amp;#34;mask:rwx&amp;#34;, # The mask should be read write and execute &amp;#34;user:nickanderson:r&amp;#34;, # The user nickanderson should explicitly have read access &amp;#34;user:a10042:---&amp;#34;, # The user a10042 should explicitly have no access }; files: &amp;#34;/tmp/acl/dir&amp;#34; acl =&amp;gt; posix_acl_default_access( &amp;#34;overwrite&amp;#34;, @(acl) ); } body acl posix_acl_default_access( method, rules ) { acl_method =&amp;gt; &amp;#34;$(method)&amp;#34;; acl_type =&amp;gt; &amp;#34;posix&amp;#34;; acl_default =&amp;gt; &amp;#34;access&amp;#34;; aces =&amp;gt; { @(acl) }; } We can use getfacl to inspect the permissions are as desired.</description>
    </item>
    <item>
      <title>In CFEngine how does edit_backup in edit_defaults work?</title>
      <link>https://cmdln.org/2017/11/21/in-cfengine-how-does-edit_backup-in-edit_defaults-work/</link>
      <pubDate>Tue, 21 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2017/11/21/in-cfengine-how-does-edit_backup-in-edit_defaults-work/</guid>
      <description>This controls if and how files are backed up by cf-agent during file editing operations. If enabled previous versions of the file will be retained next to the file or in default_repository if it is defined in body agent control. Note as it relates to edited files it is only applicable when combined with edit_line. It has no effect when used with edit_template or copy_from.&#xA;A value of true (the default behavior) will result in the agent retaining the previous version of the file suffixed with .</description>
    </item>
    <item>
      <title>Are CFEgine classes automatically canonified?</title>
      <link>https://cmdln.org/2017/11/20/are-cfegine-classes-automatically-canonified/</link>
      <pubDate>Mon, 20 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2017/11/20/are-cfegine-classes-automatically-canonified/</guid>
      <description>Is there implicit &amp;#34;canonify&amp;#34;-cation happening in in &amp;#34;classes:&amp;#34; promise type?&#xA;Yes the agent will automatically canonify classes that you define for your convenience.&#xA;1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 bundle agent main # @brief show how classes are automatically canonified during definition { vars: &amp;#34;invalid_class_string&amp;#34; string =&amp;gt; &amp;#34;my-invalid-class&amp;#34;; classes: @if minimum_version(3.</description>
    </item>
    <item>
      <title>Long Time No Blog</title>
      <link>https://cmdln.org/2017/11/18/long-time-no-blog/</link>
      <pubDate>Sat, 18 Nov 2017 17:09:09 -0600</pubDate>
      <guid>https://cmdln.org/2017/11/18/long-time-no-blog/</guid>
      <description> 1 echo hello world 1 2 3 4 5 bundle agent main { reports: &amp;#34;Hello World&amp;#34;; } R: Hello World </description>
    </item>
    <item>
      <title>Northern Tech</title>
      <link>https://cmdln.org/2017/07/02/northern-tech/</link>
      <pubDate>Sun, 02 Jul 2017 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2017/07/02/northern-tech/</guid>
      <description>Well, I no longer work at CFEngine Inc. But only because we re-named the company to Northern Tech in order to unify our multiple products under a single company. Both CFEngine and Mender will continue to have their own unique product branding.</description>
    </item>
    <item>
      <title>Goodbye Wordpress, Go Hugo!</title>
      <link>https://cmdln.org/2017/03/01/goodbye-wordpress-go-hugo/</link>
      <pubDate>Wed, 01 Mar 2017 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2017/03/01/goodbye-wordpress-go-hugo/</guid>
      <description>Finally leaving behind the bloated wordpress in favor of hugo which can use org source files!</description>
    </item>
    <item>
      <title>How I org with spacemacs</title>
      <link>https://cmdln.org/2016/04/26/how-i-org-with-spacemacs/</link>
      <pubDate>Tue, 26 Apr 2016 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/2016/04/26/how-i-org-with-spacemacs/</guid>
      <description>This weekend Neil Watson asked if I could share how I use org-mode with Spacemacs.&#xA;@cmdln_ Care to share with an Emacs illiterate how you got Spacemacs and Org-mode to work together? – @neil_h_watson&#xA;First of all, I spend most of my time in a terminal, and vim is ingrained in my muscle memory any time I need to edit a file. While Vim is my goto editor I consider myself just a novice Vim user.</description>
    </item>
    <item>
      <title>CFEngine fixin my FreeNAS</title>
      <link>https://cmdln.org/2015/08/20/cfengine-fixin-my-freenas/</link>
      <pubDate>Fri, 21 Aug 2015 04:51:59 +0000</pubDate>
      <guid>https://cmdln.org/2015/08/20/cfengine-fixin-my-freenas/</guid>
      <description>I recently built a new file server and I based it on the well renowned FreeNAS by iXsystems. It’s been pretty solid over the past few weeks but today I ran into an issue. The web ui stopped responding. Actually it turned out that the django service had stopped. Well, that was the perfect opportunity to use CFEngine to make sure I never have the issue again.&#xA;I grabbed the cfengine community 3.</description>
    </item>
    <item>
      <title>Digging up bundles and bodies</title>
      <link>https://cmdln.org/2013/10/29/digging-up-bundles-and-bodies/</link>
      <pubDate>Tue, 29 Oct 2013 14:26:52 +0000</pubDate>
      <guid>https://cmdln.org/2013/10/29/digging-up-bundles-and-bodies/</guid>
      <description>You never know when the Zombie or Cloud Apocalypse is coming. It’s good to be able to locate those buried bodies quickly and easily. OK, enough bad jokes, but haven’t you ever looked at some CFEngine policy and wondered to yourself, exactly what does “delete =&amp;gt; tidy” or some other body or bundle do?&#xA;I have. I even wrote a crappy little perl script to locate the files that contained a specific body or bundle and then print out the single body or bundle.</description>
    </item>
    <item>
      <title>Thank you Thomas</title>
      <link>https://cmdln.org/2013/10/03/thank-you-thomas/</link>
      <pubDate>Thu, 03 Oct 2013 14:12:32 +0000</pubDate>
      <guid>https://cmdln.org/2013/10/03/thank-you-thomas/</guid>
      <description>I want to take a minute to thank Thomas Leyer for all of his hard work and dedicated service to the LOPSA Mentorship Program Team. Thomas has been a volunteer since the programs inception, and has chaired the program for the past three years! Thanks Thomas!&#xA;I think the mentorship program is one of the best things that LOPSA offers. You should consider participating. It’s a great experience whether you choose to participate in the core team, as a mentor or as a protégé, I guarantee you will learn something, and you will be affecting the future of the profession.</description>
    </item>
    <item>
      <title>I am so excited! And I just cant hide it!</title>
      <link>https://cmdln.org/2013/05/01/i-am-so-excited-and-i-just-cant-hide-it/</link>
      <pubDate>Wed, 01 May 2013 17:10:20 +0000</pubDate>
      <guid>https://cmdln.org/2013/05/01/i-am-so-excited-and-i-just-cant-hide-it/</guid>
      <description>Today I start a new journey with some of the smartest people on the planet. I have accepted a position with CFEngine. Primarily I will be assisting customers with the evaluation, design, implementation and policy writing. If you know me from the CFEngine community, don&amp;rsquo;t worry I only plan to increase my activity and continue to help in any way I can. Now one of my favourite hobbies is my job!</description>
    </item>
    <item>
      <title>Canonifying a list with CFEngine 3</title>
      <link>https://cmdln.org/2013/03/29/canonifying-a-list-with-cfengine-3/</link>
      <pubDate>Fri, 29 Mar 2013 14:12:14 +0000</pubDate>
      <guid>https://cmdln.org/2013/03/29/canonifying-a-list-with-cfengine-3/</guid>
      <description>John Sanders shared a pattern for canonifying lists in #CFEngine on irc.freenode.net yesterday. It’s a useful reference so I thought I would replicate it here.&#xA;1 2 3 4 5 6 &amp;lt;td class=&amp;quot;line-data&amp;quot;&amp;gt; &amp;lt;pre class=&amp;quot;line-pre&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;line&amp;quot; id=&amp;quot;file-output-LC1&amp;quot;&amp;gt; % cf-agent -KIf ./example_canonify_list.cf&#xA;R: canonified site: www_example_com R: canonified site: www_example2_com R: alternate canonified site: www_example_com R: alternate canonified site: www_example2_com !! Method invoked repairs &amp;lt;div class=&amp;quot;gist-meta&amp;quot;&amp;gt; &amp;lt;a href=&amp;quot;https://gist.github.com/nickanderson/5271023/raw/d57a43831308cf31f0a5fe237b3d3436ed3d3049/Output&amp;quot; style=&amp;quot;float:right&amp;quot;&amp;gt;view raw&amp;lt;/a&amp;gt; &amp;lt;a href=&amp;quot;https://gist.</description>
    </item>
    <item>
      <title>Working around getindices with dynamically generated arrays in CFEngine 3</title>
      <link>https://cmdln.org/2013/03/13/working-around-getindices-with-dynamically-generated-arrays-in-cfengine-3/</link>
      <pubDate>Wed, 13 Mar 2013 17:44:58 +0000</pubDate>
      <guid>https://cmdln.org/2013/03/13/working-around-getindices-with-dynamically-generated-arrays-in-cfengine-3/</guid>
      <description>There is a known bug where getindices is unable to get the index of a dynamically generated array until the next pass. This comes up from time to time so I thought I would post an example using a pattern shared on the CFEngine help mailing list. The policy below shows 3 working examples. They are mostly similar, example0 shows the simplest workaround, example1 and example2 in addition show ways to suppress the “Duplicate selection of value for variable” messages.</description>
    </item>
    <item>
      <title>Deep thoughts</title>
      <link>https://cmdln.org/2013/03/09/deep-thoughts/</link>
      <pubDate>Sat, 09 Mar 2013 19:23:10 +0000</pubDate>
      <guid>https://cmdln.org/2013/03/09/deep-thoughts/</guid>
      <description>bundle common knowledge(status)&#xD;{&#xD;vars:&#xD;&#34;software&#34; string =&amp;gt; &#34;$(status)&#34;, policy =&amp;gt; &#34;free&#34;;&#xD;!isUsable::&#xD;&#34;software&#34; string =&amp;gt; &#34;usable&#34;, policy =&amp;gt; &#34;free&#34;;&#xD;isUsable::&#xD;&#34;software&#34; string =&amp;gt; &#34;reusable&#34;, policy =&amp;gt; &#34;free&#34;;&#xD;classes:&#xD;&#34;isUsable&#34; expression =&amp;gt; regcmp(&#34;$(software)&#34;, &#34;usable&#34;);&#xD;&#34;reUsable&#34; expression =&amp;gt; regcmp(&#34;$(software)&#34;, &#34;resuable&#34;);&#xD;reports:&#xD;Morning|Afternoon|Evening|Night::&#xD;&#34;Before software can be reusable it first has to be useable.&#34;,&#xD;comment =&amp;gt; &#34;Ralph Johnson&#34;;&#xD;}</description>
    </item>
    <item>
      <title>CFEngine 3.4.2 Changelog for Breakfast</title>
      <link>https://cmdln.org/2013/01/11/cfengine-3-4-2-changelog-for-breakfast/</link>
      <pubDate>Fri, 11 Jan 2013 14:44:58 +0000</pubDate>
      <guid>https://cmdln.org/2013/01/11/cfengine-3-4-2-changelog-for-breakfast/</guid>
      <description>Changelogs are just as important as the most important meal of the day. OK so I don’t always eat breakfast, but I do make an effort to read changelogs. CFEngine 3.4.2 was released today.&#xA;What I found interesting was that the default masterfiles policy has been updated. body executor control now calls $(sys.workdir)/inputs/update.cf instead of failsafe.cf. And $(sys.workdir)/failsafe/failsafe.cf (which was new as of 3.4.0) is gone. I think its a good change.</description>
    </item>
    <item>
      <title>Quick Tip: Drilling into zenoss data with zendmd</title>
      <link>https://cmdln.org/2012/12/06/quick-tip-drilling-into-zenoss-data-with-zendmd/</link>
      <pubDate>Thu, 06 Dec 2012 15:01:13 +0000</pubDate>
      <guid>https://cmdln.org/2012/12/06/quick-tip-drilling-into-zenoss-data-with-zendmd/</guid>
      <description>Sometimes you want to know what value zenoss has for something. The numbers sent in alerts seem to be the value that zenoss has, but the graphs are usually formatted to make more sense. 1394606080 might come in an alert, but on the graph it would show as 1.3 or 1.4G. It can cause some slight confusion when other people expect 90% of 1.4G instead of 90% of 1394606080 to be an alert threshold.</description>
    </item>
    <item>
      <title>CFEngine 3 Policy Update or How cf_promises_validated Works</title>
      <link>https://cmdln.org/2012/10/24/cfengine-3-policy-update-or-how-cf_promises_validated-works/</link>
      <pubDate>Thu, 25 Oct 2012 02:07:09 +0000</pubDate>
      <guid>https://cmdln.org/2012/10/24/cfengine-3-policy-update-or-how-cf_promises_validated-works/</guid>
      <description>Over the past several months 2 years (since 3.1.2 release, wow time flys when your having fun. I checked and 3.1.2 was released on Dec 9th 2010.) I have seen a few questions regarding how the default CFEngine policy update works, and more specifically how cf_promises_validated plays into the update process. This is my stab at describing the history and behaviour. I welcome any corrections.&#xA;The default failsafe.cf update policy is simple in nature.</description>
    </item>
    <item>
      <title>CFEngine 3 Tip: Find out what classes are being defined</title>
      <link>https://cmdln.org/2012/10/18/cfengine-3-tip-find-out-what-classes-are-being-defined/</link>
      <pubDate>Thu, 18 Oct 2012 21:00:49 +0000</pubDate>
      <guid>https://cmdln.org/2012/10/18/cfengine-3-tip-find-out-what-classes-are-being-defined/</guid>
      <description>CFEngine defines a classes for decision making during runs. Many of these hard classes you can see by running cf-promises -v. That wont show you all the other classes that are raised during a policy run.&#xA;You could run something like this to see what classes are raised during execution.&#xA;cf-agent -KIv | grep &#34;cf3&amp;gt;\s*+&#34; | grep -v : But that isn’t really a clear picture under normal operation. You can use the allclassesreport in body agent control to write out a list of classes defined during execution in /var/cfengine/state/allclasses.</description>
    </item>
    <item>
      <title>Dynamic method calls in CFEngine</title>
      <link>https://cmdln.org/2012/10/16/dynamic-method-calls-in-cfengine/</link>
      <pubDate>Tue, 16 Oct 2012 20:07:21 +0000</pubDate>
      <guid>https://cmdln.org/2012/10/16/dynamic-method-calls-in-cfengine/</guid>
      <description>Methods type promises are powerful abstraction tools in CFEngine 3. Methods allow you to activate bundles (optionally parametrized) from other bundles. This allows encapsulation of knowledge and lends itself to re-usability.&#xA;I just want to share an example of calling bundles dynamically. It’s a contrived example, but I thought it was neat so here it is.&#xA;R: in bundle agent handler1: I got value1 R: in bundle agent handler1: I got value2 &amp;nbsp;!</description>
    </item>
    <item>
      <title>LinuxCon/CloudOpen 2012</title>
      <link>https://cmdln.org/2012/08/01/linuxconcloudopen-2012/</link>
      <pubDate>Wed, 01 Aug 2012 13:55:30 +0000</pubDate>
      <guid>https://cmdln.org/2012/08/01/linuxconcloudopen-2012/</guid>
      <description>Are you going to LinuxCon/CloudOpen 2012? I am, and I think I have settled on my picks (at least until I look at the schedule again, lots of great options).&#xA;Special thanks to CFEngine for sponsering me!&#xA;Here are my picks for the minute.&#xA;Building the Open Cloud – Mark Hinkle, Citrix{#9046eff8494ef50f48da95349905592e} The OpenNebula Cloud Platform for Data Center Virtualization – Carlos Martin, OpenNebula{#5561a1f9b3d063dcca4b7abdc5dbc44b} Cloning SysAdmins with the Cloud and Juju – Clint Byrum, Canonical{#82e5d5410f32e11be9bd9bddf2b81570} A Collaborative Approach to Managing Linux Configurations – Diego Zamboni, CFEngine{#da5dea5f6f017f925dac66eec964f13f} Building FOSS Clouds – Joe Brockmeier, Citrix{#c28982d2a4f52cbfbb4000ce030a1771} Automation and DevOps Best Practices – Rob Hirschfeld, Dell{#f0cd279b854c642d12e7d531c68c53f0} Scaling Configuration Management Across Data Center and Cloud – Mark Burgess, CFEngine{#e9936ee3a0369080a61b61f5eb9a88d4} Editing with vi: Advanced Topics, Part I – Aleksey Tsaloikhin, Vertical Sysadmin, Inc.</description>
    </item>
    <item>
      <title>Git pre-commit hook for checking CFEngine 3 syntax</title>
      <link>https://cmdln.org/2012/07/17/git-pre-commit-hook-for-checking-cfengine-3-syntax/</link>
      <pubDate>Tue, 17 Jul 2012 22:36:40 +0000</pubDate>
      <guid>https://cmdln.org/2012/07/17/git-pre-commit-hook-for-checking-cfengine-3-syntax/</guid>
      <description>I was inspired by William Orr’s svn commit hook and looked up the magic needed to flesh out the git pre-commit hook I submitted to the Design Center a while back.&#xA;Now the index is checked out to its own temporary directory and cf-promises validates promises.cf and failsafe.cf before allowing the commit to proceed. Now you won’t get syntax errors if you have forgotten to add a new policy file to the index but its already included in your body common control inputs list.</description>
    </item>
    <item>
      <title>CFEngine 3 by Example &amp;#8211; Vagrant Project</title>
      <link>https://cmdln.org/2012/07/14/cfengine-3-by-example-vagrant-project/</link>
      <pubDate>Sat, 14 Jul 2012 20:02:17 +0000</pubDate>
      <guid>https://cmdln.org/2012/07/14/cfengine-3-by-example-vagrant-project/</guid>
      <description>I updated the CFEngine 3 by example vagrant project so that /var/cfengine/masterfiles is a git clone (kept in sync with VCS::vcs_mirror) of the generated bare repository from the seed files. I found during a presentation that it would just be easier to have everyone start of with the typical workflow instead of going through the process of getting there. I hope it makes it easier for people to get a working test env up in a few minutes.</description>
    </item>
    <item>
      <title>Complex vs Complicated</title>
      <link>https://cmdln.org/2012/07/13/complex-vs-complicated/</link>
      <pubDate>Fri, 13 Jul 2012 20:15:50 +0000</pubDate>
      <guid>https://cmdln.org/2012/07/13/complex-vs-complicated/</guid>
      <description>I liked this, so I thought I would share. Found on the inter-webs.&#xA;Something that is complex can be broken down into simple parts, without being simple itself. This allows mostly smooth functioning with solvable problems.&#xA;Something that is complicated cannot be broken down into simple parts, for it is made of complicated parts. “Complicated” is indicative of something that is problematic, convoluted, difficult and inconsistent.&#xA;The difference can be made by imagining a piece of string tied to be a circle.</description>
    </item>
    <item>
      <title>CFEngine Design Center Launches</title>
      <link>https://cmdln.org/2012/06/04/cfengine-design-center-launches/</link>
      <pubDate>Mon, 04 Jun 2012 19:28:29 +0000</pubDate>
      <guid>https://cmdln.org/2012/06/04/cfengine-design-center-launches/</guid>
      <description>If you follow CFEngine you may have notices that the multiple pay versions have been condensed down to CFEngine Enterprise with the latest release. You may not have noticed that the CFEngine Design Center also launched.&#xA;Don’t get me wrong, I am excited about the new 25 free enterprise nodes and the new features in the Enterprise edition, but I see greater value in the Design Center. This is a great resource for new and old users.</description>
    </item>
    <item>
      <title>Review: Learning CFEngine 3</title>
      <link>https://cmdln.org/2012/03/29/review-learning-cfengine-3/</link>
      <pubDate>Thu, 29 Mar 2012 15:04:25 +0000</pubDate>
      <guid>https://cmdln.org/2012/03/29/review-learning-cfengine-3/</guid>
      <description>I just finished reading the final release of Diego Zambonis’ Learning CFEngine 3. I can’t recommend this book enough. If your just learning CFEngine 3, if you are versed but not an expert and you like CFEngine you will like this book. If you meet all those criteria and you don’t like the book, I’ll buy you a beer if we ever meet. It’s well worth the 20 dollars, or 14 if you want the ebook (DRM FREE!</description>
    </item>
    <item>
      <title>Bibble The Best Photo Editing Software For Linux Bought By Corel</title>
      <link>https://cmdln.org/2012/03/28/bibble-the-best-photo-editing-software-for-linux-bought-by-corel/</link>
      <pubDate>Thu, 29 Mar 2012 04:50:54 +0000</pubDate>
      <guid>https://cmdln.org/2012/03/28/bibble-the-best-photo-editing-software-for-linux-bought-by-corel/</guid>
      <description>I have been using bibble for about a year now. Its the best photo editing software that ran on linux that I could find. It probably isn’t as polished as Photoshop but it has its own great features like threading so it can use all of your cores for rendering.&#xA;Just over a week ago I noticed it had been bought by Corel and its been re-branded to AfterShotPro. I really hope they continue to develop it and provide Linux support.</description>
    </item>
    <item>
      <title>Setup encfs on dropbox for boxcryptor with CFEngine</title>
      <link>https://cmdln.org/2012/02/27/setup-encfs-on-dropbox-for-boxcryptor-with-cfengine/</link>
      <pubDate>Mon, 27 Feb 2012 20:19:39 +0000</pubDate>
      <guid>https://cmdln.org/2012/02/27/setup-encfs-on-dropbox-for-boxcryptor-with-cfengine/</guid>
      <description>Here is an easy way to configure encfs with dropbox that is compatible with boxcryptor. Boxcryptor makes Windows, Mac Android, and IOS applications to assist you in accessing data that you have stored in encfs. They do require that you create your encfs with some specific options: Cipher algorithm: AES, Plaintext or Stream encrypted filenames, No filename initialization vector chaining, No per-file initialization vectors, No external IV chaining, No block MAC headers, No per-block random bytes.</description>
    </item>
    <item>
      <title>New bundle to manage routes for RedHat/CentOS with CFEngine 3</title>
      <link>https://cmdln.org/2012/02/18/new-bundle-to-manage-routes-for-redhatcentos-with-cfengine-3/</link>
      <pubDate>Sun, 19 Feb 2012 04:55:27 +0000</pubDate>
      <guid>https://cmdln.org/2012/02/18/new-bundle-to-manage-routes-for-redhatcentos-with-cfengine-3/</guid>
      <description>I re-factored rh_add_interface_routes into a new bundle rh_update_routes, you can find them in my CFEngine library.&#xA;The biggest improvement is you no longer have to specify the interface you want the route on. Instead you specify a regular expression of the ip that would be on that interface and the specific interface is found.&#xA;Second major improvement is the direct use of ip route del/add to update currently running system instead of restarting all networking.</description>
    </item>
    <item>
      <title>pre-commit hook for git to check CFEngine syntax</title>
      <link>https://cmdln.org/2012/02/16/pre-commit-hook-for-git-to-check-cfengine-syntax/</link>
      <pubDate>Thu, 16 Feb 2012 17:01:38 +0000</pubDate>
      <guid>https://cmdln.org/2012/02/16/pre-commit-hook-for-git-to-check-cfengine-syntax/</guid>
      <description>Sometimes I am not so disciplined to run cf-promises on my policy before I commit it. I make a small change and I think I’m golden, but inevitably that breaks things. I wrote a simple commit hook to check policy syntax and stop you from shooting yourself in the foot. You can find the pre-commit{#a71b90d9d3bb7e4d1f4be225eb124c42527855a3} script over on my github account. I hope you find it useful.</description>
    </item>
    <item>
      <title>Bundles of Bundles with CFEngine 3</title>
      <link>https://cmdln.org/2012/02/16/bundles-of-bundles-with-cfengine-3/</link>
      <pubDate>Thu, 16 Feb 2012 07:05:53 +0000</pubDate>
      <guid>https://cmdln.org/2012/02/16/bundles-of-bundles-with-cfengine-3/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.cmdln.org/images/wp-content/uploads/2012/02/Extrusion-Bundles2.jpg&#34;&gt;&lt;img class=&#34;alignleft size-thumbnail wp-image-936&#34; title=&#34;Bundles of Bundles&#34; src=&#34;http://www.cmdln.org/images/wp-content/uploads/2012/02/Extrusion-Bundles2-150x150.jpg&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; /&gt;&lt;/a&gt;I’ve been working more and more with CFEngine lately and I have been slowly building a &lt;a href=&#34;http://www.laurand.net/images/Extrusion%20Bundles2.jpg&#34;&gt;tiny library&lt;/a&gt;. These are all pretty much redhat specific but I welcome patches and comments. Most of the bundles have comments that show usage, if there is interest I may post some example usage later.&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;</description>
    </item>
    <item>
      <title>The Great Internet Blackout of 2012</title>
      <link>https://cmdln.org/2012/01/18/the-great-internet-blackout-of-2012/</link>
      <pubDate>Wed, 18 Jan 2012 15:11:24 +0000</pubDate>
      <guid>https://cmdln.org/2012/01/18/the-great-internet-blackout-of-2012/</guid>
      <description>I am happy to see how many sites are participating in the SOPA/PIPA protest today. I am a bit disapointed that facebook did not join (at least yet), and google only doing a doodle seems a little bit on the weak side. Still its nice when so many people can show support for something so threatening. There is quite a list of sites that are blacked out in one way or another today.</description>
    </item>
    <item>
      <title>NetApp &amp;#8211; Customer Service WIN!</title>
      <link>https://cmdln.org/2011/12/15/netapp-customer-service-win/</link>
      <pubDate>Thu, 15 Dec 2011 17:02:25 +0000</pubDate>
      <guid>https://cmdln.org/2011/12/15/netapp-customer-service-win/</guid>
      <description>I just wanted to share my NetApp customer service experience since usually people only share negative experiences. I needed to download a mib for a NetApp today. I really don’t like that I have to register an account just to download a mib but whatever. I was really upset after registering the account and entering a system-id to find that I didn’t have access to download any mibs.&#xA;I saw that feedback button glaring at me so decided to give it a shot, left a “very dissatisfied” about download experience review.</description>
    </item>
    <item>
      <title>Remember to Register for Xen Day Boston 2011</title>
      <link>https://cmdln.org/2011/12/05/remember-to-register-for-xen-day-boston-2011/</link>
      <pubDate>Mon, 05 Dec 2011 15:36:02 +0000</pubDate>
      <guid>https://cmdln.org/2011/12/05/remember-to-register-for-xen-day-boston-2011/</guid>
      <description>Just a reminder that Xen Day Boston 2011 is coming up (December 9th).&#xA;There’s still room to register, but spots are going fast!&#xA;For more information see:&#xA;http://blog.xen.org/index.php/2011/12/02/xen-day-presenters/</description>
    </item>
    <item>
      <title>Xen Day @ LISA11</title>
      <link>https://cmdln.org/2011/11/18/xen-day-lisa11/</link>
      <pubDate>Fri, 18 Nov 2011 18:41:12 +0000</pubDate>
      <guid>https://cmdln.org/2011/11/18/xen-day-lisa11/</guid>
      <description>[&#xA;]1&#xA;If you’re going to LISA in Boston this year consider registering for Xen Day on Friday Dec, 9. Registration is free and the schedule looks great.</description>
    </item>
    <item>
      <title>I&amp;#8217;m Grumpy</title>
      <link>https://cmdln.org/2011/09/10/im-grumpy/</link>
      <pubDate>Sun, 11 Sep 2011 05:55:28 +0000</pubDate>
      <guid>https://cmdln.org/2011/09/10/im-grumpy/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.cmdln.org/images/wp-content/uploads/2011/09/grumpy1.jpg&#34;&gt;&lt;img class=&#34;alignleft size-medium wp-image-893&#34; title=&#34;grumpy&#34; src=&#34;http://www.cmdln.org/images/wp-content/uploads/2011/09/grumpy1-300x300.jpg&#34; alt=&#34;&#34; width=&#34;150&#34; height=&#34;150&#34; srcset=&#34;http://www.cmdln.org/images/wp-content/uploads/2011/09/grumpy1-300x300.jpg 300w, http://www.cmdln.org/images/wp-content/uploads/2011/09/grumpy1-150x150.jpg 150w, http://www.cmdln.org/images/wp-content/uploads/2011/09/grumpy1.jpg 400w&#34; sizes=&#34;(max-width: 150px) 100vw, 150px&#34; /&gt;&lt;/a&gt;“I’m Grumpy.”&lt;/p&gt;&#xA;&lt;p&gt;Beyond the piles of peanuts and change, dishes and glassware,&lt;/p&gt;&#xA;&lt;p&gt;beneath the splashed on Polo Crest, Sean Jean clothing, and Bill Blass underwear,&lt;/p&gt;&#xA;&lt;p&gt;He was quiet and mysterious, a man of few words that loved his work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Google Music Beta Invites</title>
      <link>https://cmdln.org/2011/08/11/google-music-beta-invites/</link>
      <pubDate>Thu, 11 Aug 2011 15:06:06 +0000</pubDate>
      <guid>https://cmdln.org/2011/08/11/google-music-beta-invites/</guid>
      <description>I have a few invitations, if you want one drop me a line.&#xA;For those of you that don’t know what google music beta is http://music.google.com</description>
    </item>
    <item>
      <title>Happy SysAdmin Day</title>
      <link>https://cmdln.org/2011/07/29/happy-sysadmin-day-2/</link>
      <pubDate>Fri, 29 Jul 2011 13:10:57 +0000</pubDate>
      <guid>https://cmdln.org/2011/07/29/happy-sysadmin-day-2/</guid>
      <description>In case you weren’t paying attention in the last few weeks, today is the 12th annual System Administrator Appreciation Day. It’s always the last Friday in July. A good reminder to not make changes on Fridays so you can stay out drinking with your colleagues.&#xA;There are several places having meet-ups, if your near one or are in a position to make a day trip to one I am sure any of them would love to have you.</description>
    </item>
    <item>
      <title>LOPSA Mentorship Program Cuts First Teeth</title>
      <link>https://cmdln.org/2011/07/27/lopsa-mentorship-program-cuts-first-teeth/</link>
      <pubDate>Thu, 28 Jul 2011 03:42:21 +0000</pubDate>
      <guid>https://cmdln.org/2011/07/27/lopsa-mentorship-program-cuts-first-teeth/</guid>
      <description>That’s right the Mentorship Program is turning 1. Like any youngster we’re still learning our place in the world. We have had growing pains but we still have a bright future. In the past year we have had three program chairs Jesse Trucks, Ian Parades, and Thomas Leyer (current chair). The core team consists of Lois Bennett, Thomas Leyer and me. I’d like to share some statistics with you.&#xA;Projects initiated: 15</description>
    </item>
    <item>
      <title>gnome-shell first impressions</title>
      <link>https://cmdln.org/2011/07/14/gnome-shell-first-impressions/</link>
      <pubDate>Thu, 14 Jul 2011 20:11:33 +0000</pubDate>
      <guid>https://cmdln.org/2011/07/14/gnome-shell-first-impressions/</guid>
      <description>Well I’ve been running gnome-shell for a couple days now. Overall I like it, the desktop environment stays out of my way which is a good thing. But it has been staying out of my way a little too much.&#xA;I have been missing a lot of instant messages since installing gnome-shell. The reason is because of the way the notifications work. If you actually sitting at your desk and you get a msg this tiny little bar pops up with the msg content, and its really nice you can just reply right there without ever having to open your chat client.</description>
    </item>
    <item>
      <title>Replace unity with gnome3 and gnome-shell in ubuntu 11.04</title>
      <link>https://cmdln.org/2011/07/08/replace-unity-with-gnome3-and-gnome-shell-in-ubuntu-11-04/</link>
      <pubDate>Fri, 08 Jul 2011 12:53:16 +0000</pubDate>
      <guid>https://cmdln.org/2011/07/08/replace-unity-with-gnome3-and-gnome-shell-in-ubuntu-11-04/</guid>
      <description>Well I gave unity the old college try in ubuntu 11.04. But last night I just couldn’t take it any more. There were some small rendering issues occasionally plus some tray programs like workrave had no place to go, at least that I could find anyway and I really need workrave to remind me to change from sitting to standing positions every so often.&#xA;At any rate I decided to try gnome3 and gnome-shell.</description>
    </item>
    <item>
      <title>SNMP v3 support added to check_snmp_extend.py</title>
      <link>https://cmdln.org/2011/07/04/snmp-v3-support-added-to-check_snmp_extend-py/</link>
      <pubDate>Tue, 05 Jul 2011 03:39:54 +0000</pubDate>
      <guid>https://cmdln.org/2011/07/04/snmp-v3-support-added-to-check_snmp_extend-py/</guid>
      <description>check_snmp_extend is a python script that I found orphaned on some Nagios forum. It facilitates using snmpd as an agent for executing Nagios plugin scripts. I adopted it made a few changes and tossed it on github a while back. I’m happy to merge initial snmp v3 support from Lee Whalen</description>
    </item>
    <item>
      <title>Google plus: first impressions from someone who doesnt have a facebook account and barely uses twitter</title>
      <link>https://cmdln.org/2011/06/30/google-plus-first-impressions-from-someone-who-doesnt-have-a-facebook-account-and-barely-uses-twitter/</link>
      <pubDate>Fri, 01 Jul 2011 04:03:34 +0000</pubDate>
      <guid>https://cmdln.org/2011/06/30/google-plus-first-impressions-from-someone-who-doesnt-have-a-facebook-account-and-barely-uses-twitter/</guid>
      <description>Today I spent some time checking out google plus. If you haven’t heard about it by now you probably live under a rock. Google plus is googles latest push into the social networking scene. I’ve never been real hip on the social networking scene.&#xA;I have a twitter account @cmdln_ but I rarely actually follow the people I am following. The signal to noise ratio is just so high. And beyond that its information overload and trying to catch up on someone elses conversation seems cumbersome and annoying.</description>
    </item>
    <item>
      <title>Centos 6 on the horizon</title>
      <link>https://cmdln.org/2011/06/24/centos-6-on-the-horizon/</link>
      <pubDate>Fri, 24 Jun 2011 17:41:30 +0000</pubDate>
      <guid>https://cmdln.org/2011/06/24/centos-6-on-the-horizon/</guid>
      <description>Just happened to notice that centos 6 looks like it will be dropping soon. In QA and syncing to internal servers today, sync to public mirrors on Monday.&#xA;http://qaweb.dev.centos.org/qa</description>
    </item>
    <item>
      <title>Extended monitoring via snmp</title>
      <link>https://cmdln.org/2011/04/28/extended-monitoring-via-snmp/</link>
      <pubDate>Fri, 29 Apr 2011 03:57:28 +0000</pubDate>
      <guid>https://cmdln.org/2011/04/28/extended-monitoring-via-snmp/</guid>
      <description>Monitoring systems utilize agents running on the monitored system in order to provide a consistent access mechanism to get at host and application data. Hypric has an agent, Zabbix has an agent, Nagios has NRPE as an agent option, collectd has an agent. Maybe its just my flawed perception but when I think of agent based monitoring SNMP isn’t one of the first things that comes to mind. Apparently I am not alone, in his blog on it.</description>
    </item>
    <item>
      <title>My April Fools</title>
      <link>https://cmdln.org/2011/04/05/myaprilfools/</link>
      <pubDate>Tue, 05 Apr 2011 18:17:28 +0000</pubDate>
      <guid>https://cmdln.org/2011/04/05/myaprilfools/</guid>
      <description>April 1st. I had a fairly eventful day, first I found that the phone system at $work has been mis-configured since it was installed. Second I got a call from someone I had worked with a few years back about a system that did not have backups that had a raid hiccup tanking the system a few days ago needing help with a restore.&#xA;The phone system Several months back a new phone system was installed at my office.</description>
    </item>
    <item>
      <title>Lisa &amp;#8217;11 Call for Participation</title>
      <link>https://cmdln.org/2011/03/15/lisa-11-call-for-participation/</link>
      <pubDate>Tue, 15 Mar 2011 13:50:47 +0000</pubDate>
      <guid>https://cmdln.org/2011/03/15/lisa-11-call-for-participation/</guid>
      <description>Yes folks, its that time of year to start thinking about the Large Installation System Administration Conference (LISA), this marks the 25th Large anniversary of the event. The Theme for LISA ’11 is “DevOps: New Challenges, Proven Values.”. I have seen many different definitions for DevOps [1], in general I am not a fan of the term but the core ideas I think are common sense for anyone who has been herding cats for very long.</description>
    </item>
    <item>
      <title>Out of IPv4 space its armageddon</title>
      <link>https://cmdln.org/2011/02/03/out-of-ipv4-space-its-armageddon/</link>
      <pubDate>Thu, 03 Feb 2011 16:09:57 +0000</pubDate>
      <guid>https://cmdln.org/2011/02/03/out-of-ipv4-space-its-armageddon/</guid>
      <description>http://news.morningstar.com/all/market-wire/11710743/free-pool-of-ipv4-address-space-depleted.aspx&#xA;Mostly I am looking forward to the sensational stories. A week or so ago I heard a guy on NPR claim that ISPs might try to make people “share” Ips and you might end up with a “party line” situation.</description>
    </item>
    <item>
      <title>Right Sizing RAID &amp;#8211; Linux Pro Magazine Feb 2011</title>
      <link>https://cmdln.org/2011/01/11/right-sizing-raid-linux-pro-magazine-feb-2011/</link>
      <pubDate>Tue, 11 Jan 2011 21:50:39 +0000</pubDate>
      <guid>https://cmdln.org/2011/01/11/right-sizing-raid-linux-pro-magazine-feb-2011/</guid>
      <description>Looks like my article on right sizing RAID subsystems made it into the Feb 2011 Sys Admin issue of Linux Pro Magazine. Go grab a copy and flame me ;).</description>
    </item>
    <item>
      <title>Quick Tip: Disable Help (F1) in gnome-terminal</title>
      <link>https://cmdln.org/2010/12/28/quick-tip-disable-help-f1-in-gnome-terminal/</link>
      <pubDate>Wed, 29 Dec 2010 01:36:17 +0000</pubDate>
      <guid>https://cmdln.org/2010/12/28/quick-tip-disable-help-f1-in-gnome-terminal/</guid>
      <description>I know I have been pretty silent for a while, what can I say it has been busy. I did want to drop this little tip though. I use vim and gnome-terminal a LOT, so I hit ESC quite frequently. Being so close to the F1 key can be hazardous as I tend to mash the ESC key several times. I have no idea where I picked up the habbit of hitting ESC multiple times but its something I have done for a long time and I don’t see me retraining myself any time soon.</description>
    </item>
    <item>
      <title>LISA 2010: Singing with the Starz</title>
      <link>https://cmdln.org/2010/11/09/lisa-2010-singing-with-the-starz/</link>
      <pubDate>Tue, 09 Nov 2010 15:42:43 +0000</pubDate>
      <guid>https://cmdln.org/2010/11/09/lisa-2010-singing-with-the-starz/</guid>
      <description>Singing with the stars is a reality show where the famous and not so famous SysAdmins strut their stuff and show off their skillz.&#xA;Guest appearances by: Brian Atkisson, Brandi-Jvonne Mortimer, Matt Simmons, Joseph Kern, Ian Paredes, and Nick Anderson&#xA;These are clips from the pilot show:&#xA;﻿</description>
    </item>
    <item>
      <title>Email, a top posting odyssey</title>
      <link>https://cmdln.org/2010/10/17/email-a-top-posting-odyssey/</link>
      <pubDate>Sun, 17 Oct 2010 15:40:27 +0000</pubDate>
      <guid>https://cmdln.org/2010/10/17/email-a-top-posting-odyssey/</guid>
      <description>﻿An odyssey of a typical email thread using the top posting style that most email clients default to these days.&#xA;Subject: Provide Satan VPN access&#xD;To: Frank, Jane, Bill, Zoe, John, Matt&#xD;I&#39;m not sure. Nick, do you have any ideas?&#xD;-Franky&#xD;On Fri, Oct 15, 2010 at 2:20 PM, Jane wrote:&#xD;&amp;gt;&#xD;&amp;gt; Great idea!.&#xD;&amp;gt;&#xD;&amp;gt; - Jane&#xD;&amp;gt; &#34;Jannies got a gun&#34;&#xD;&amp;gt;&#xD;&amp;gt; On Fri, Oct 15, 2010 at 2:15 PM, Frank wrote:&#xD;&amp;gt;&amp;gt;&#xD;&amp;gt;&amp;gt; Oh, I dont know.</description>
    </item>
    <item>
      <title>Migrating to Google Apps: changing mailto link</title>
      <link>https://cmdln.org/2010/09/23/migrating-to-google-apps-changing-mailto-link/</link>
      <pubDate>Fri, 24 Sep 2010 03:42:57 +0000</pubDate>
      <guid>https://cmdln.org/2010/09/23/migrating-to-google-apps-changing-mailto-link/</guid>
      <description>At $work we are in the process of migrating to Google Apps. Of course I am an early adopter to work out bugs and be a resource for others as they make the migration. One of the issues identified is mailto links pointing to google apps. Its not hard to make the change in firefox.&#xA;First you need to set ﻿﻿gecko.handlerService.allowRegisterFromDifferentHost to true in about:config (type about:config into your address bar).</description>
    </item>
    <item>
      <title>Are you lonley? Do you need advice? Checkout the LOPSA Mentorship Program!</title>
      <link>https://cmdln.org/2010/09/22/lopsa-mentorship/</link>
      <pubDate>Wed, 22 Sep 2010 15:43:05 +0000</pubDate>
      <guid>https://cmdln.org/2010/09/22/lopsa-mentorship/</guid>
      <description>When you get started as a SysAdmin you typically fall into one of 10 categories. You either had a mentor to show you the ropes, or you dredged through it on your on. It seems more and more the group that had or has a mentor is shrinking. I never had a mentor for the things I was most interested in, but my first boss did give good advice, and his words seem to ring in my head often.</description>
    </item>
    <item>
      <title>Bind Stats in Centos/RHEL5</title>
      <link>https://cmdln.org/2010/08/02/bind-stats-in-centosrhel5/</link>
      <pubDate>Mon, 02 Aug 2010 16:21:42 +0000</pubDate>
      <guid>https://cmdln.org/2010/08/02/bind-stats-in-centosrhel5/</guid>
      <description>Just a little tip, if your looking for bind stats and your chrooted&#xA;rndc stats will give you&#xA;rndc: &#39;stats&#39; failed: permission denied All you have to do is&#xA;touch /var/named/chroot/var/named/named.stats&#xD;chown named:named /var/named/chroot/var/named/named.stats Now after you run rndc stats your named.stats fill will be populated with information.</description>
    </item>
    <item>
      <title>Clear DNS Cache in Linux</title>
      <link>https://cmdln.org/2010/08/01/clear-dns-cache-in-linux/</link>
      <pubDate>Sun, 01 Aug 2010 18:42:29 +0000</pubDate>
      <guid>https://cmdln.org/2010/08/01/clear-dns-cache-in-linux/</guid>
      <description>Had a slightly vexing issue the other day. During a migration the destination host ended up caching some stale DNS entries. I tried a quick restart of nscd to no avail, rebooted the VM, again no joy. Even overriding the host in /etc/hosts wasn’t working. Took a few minutes of digging but what did work was&#xA;nscd -i hosts . Just something to remember if you ever seem to have a stubborn caching issue, rebooting/restarting wont always solve the issue.</description>
    </item>
    <item>
      <title>Growing a root file system</title>
      <link>https://cmdln.org/2010/07/13/growing-a-root-file-system/</link>
      <pubDate>Tue, 13 Jul 2010 14:45:21 +0000</pubDate>
      <guid>https://cmdln.org/2010/07/13/growing-a-root-file-system/</guid>
      <description>IMHO one of the great benefits of virtualization is the ability to properly size your guests. Many times 512M memory and an 8G / is plenty. Increasing memory for a virtual machine is typically pretty straight forward, but there are several options when adding disk space. Mounting the space in the file system and doing something with LVM are likely the most common paths.&#xA;Depending on the situation I typically lean toward keeping my small 8G root and mounting extra storage where needed in the file system.</description>
    </item>
    <item>
      <title>CheckDomain Zenpack</title>
      <link>https://cmdln.org/2010/07/12/checkdomain-zenpack/</link>
      <pubDate>Mon, 12 Jul 2010 15:52:44 +0000</pubDate>
      <guid>https://cmdln.org/2010/07/12/checkdomain-zenpack/</guid>
      <description>No one likes to forget to renew a domain. Its not wholly uncommon though. Microsoft forgot to renew passport.com in 1999, and hotmail.co.uk in 2003. Vivendi Universal forgot to renew its MP3.com in 2003, the Washington Post forgot to renew in 2004, and Foursquare forgot to renew their domain in 2010.&#xA;I stumbled on the check_domain nagios plugin this weekend so I figured I would make some quick modifications and roll it into a Zenpack.</description>
    </item>
    <item>
      <title>Nginx stub_status Zenpack</title>
      <link>https://cmdln.org/2010/07/09/nginx-stub_status-zenpack/</link>
      <pubDate>Fri, 09 Jul 2010 23:41:53 +0000</pubDate>
      <guid>https://cmdln.org/2010/07/09/nginx-stub_status-zenpack/</guid>
      <description>Nginx is a great little web server. I have posted previously about using it as a reverse proxy. Weather your using it as a reverse proxy or as a normal webserver you will probably eventually want to know what its doing over time so you can adjust resources as necessary.&#xA;The other day I threw together a Zenpack to make it easier to setup monitoring on new Zenoss instances. It contains a command data source “check_nginx_ng” which is a slightly modified version of Chris Kellys check_nginx_ng which in turn was based on check_nginx by Mike Adolphs.</description>
    </item>
    <item>
      <title>autofs: Error logging fail</title>
      <link>https://cmdln.org/2010/06/29/autofs-error-logging-fail/</link>
      <pubDate>Wed, 30 Jun 2010 02:53:29 +0000</pubDate>
      <guid>https://cmdln.org/2010/06/29/autofs-error-logging-fail/</guid>
      <description>Why do applications have such horrible error messages. Non-specific errors are really not any more helpful than not logging at all.&#xA;I was recently setting up autofs for mounting home directories from an nfs server. The little buggers refused to work right. All I was seeing in the logfile was a notice that an attempt was made, and failed.&#xA;attempting to mount entry /home/nanderso&#xD;failed to mount /home/nanderso&#xD;How helpful is that?</description>
    </item>
    <item>
      <title>Monitoring A/B PDU Load with Zenoss</title>
      <link>https://cmdln.org/2010/06/12/monitoring-ab-pdu-load-with-zenoss/</link>
      <pubDate>Sun, 13 Jun 2010 01:19:18 +0000</pubDate>
      <guid>https://cmdln.org/2010/06/12/monitoring-ab-pdu-load-with-zenoss/</guid>
      <description>Redundant power is a necessity for any highly available system. Most servers have redundant power supplies and the common design pattern is to have each power supply plugged into a power distribution units that are on separate circuits. One challenge with this type of dealing with this type of design is monitoring the power load.&#xA;Monitoring A/B power is not as easy as monitoring the individual PDUs. Some servers will draw power from both power supplies, other will draw from one or the other.</description>
    </item>
    <item>
      <title>Google hath raped me eyes</title>
      <link>https://cmdln.org/2010/06/10/google-hath-raped-me/</link>
      <pubDate>Thu, 10 Jun 2010 13:15:15 +0000</pubDate>
      <guid>https://cmdln.org/2010/06/10/google-hath-raped-me/</guid>
      <description>Today I woke up to another abrupt Google change, the background image. I know some people want so much candy they can’t see the cane. Some of these changes Google has been making lately makes me wonder if the next time I open up vanilla ice cream I will be looking at a tub of Rocky Road. Yes, the background is only there for a day as publicity for the new feature to make Google more bingesque but I would be pretty upset if my vanilla ice cream turned to Rocky Road as well, even if only for a day.</description>
    </item>
    <item>
      <title>Henry: a co-worker, networker, and friend. You will be missed</title>
      <link>https://cmdln.org/2010/05/28/henry-a-co-worker-networker-and-friend-you-will-be-missed/</link>
      <pubDate>Fri, 28 May 2010 16:36:23 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/28/henry-a-co-worker-networker-and-friend-you-will-be-missed/</guid>
      <description>I don’t have much to say about the loss. Henry Sieff was a brilliant network, security engineer and friend.</description>
    </item>
    <item>
      <title>Notes on Zenoss ZenPacks</title>
      <link>https://cmdln.org/2010/05/24/notes-on-zenoss-zenpacks/</link>
      <pubDate>Mon, 24 May 2010 20:00:20 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/24/notes-on-zenoss-zenpacks/</guid>
      <description>Recently I was building a ZenPack for Zenoss. The ZenPack included an Event Command which executed a custom script. I wanted to store the custom script in the ZenPack and I didn’t want to do anything other than have proper script dependencies in place for it to work.&#xA;${here/ZenPackManager/packs/ZenPacks.community.YOURZENPACK/path}/libexec/yourscript.sh ${dev/manageIp}&#xD;Custom scripts can be placed in $ZENHOME/ZenPacks/ZenPacks.CompanyName.Package/Zenpacks/CompanyName/Package/lib but if you want them to be executable place them in libexec.&#xA;Thanks to Matt Ray for telling me how to properly path the Event Command and the note about scripts in libexec getting the executable bit set, the docs I found only specified the lib directory.</description>
    </item>
    <item>
      <title>bash history-fu</title>
      <link>https://cmdln.org/2010/05/20/bash-historyfu/</link>
      <pubDate>Thu, 20 May 2010 15:14:41 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/20/bash-historyfu/</guid>
      <description>I came across a new blog (seems to have come on-line in March) http://www.epoxyjournal.com. One of the entries was about how to clear command history. Everyone has inadvertently pasted or typed something into the wrong shell. Sometimes its worthwhile to clean up after yourself and sometimes its not. I figured I would offer a suggestion for the times you want to avoid having your embarrassing moments in your ~/.bash_history.&#xA;Instead of blowing away your entire current buffer with history -c you can redirect it to another file, flush the buffer to the file, clean it up then append it to your ~/.</description>
    </item>
    <item>
      <title>Archive creation fail</title>
      <link>https://cmdln.org/2010/05/19/archive-creation-fail/</link>
      <pubDate>Wed, 19 May 2010 18:19:27 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/19/archive-creation-fail/</guid>
      <description>I just downloaded EMC Networker client for a 32bit linux box. The file I downloaded was nw74sp5_linux_x86.tar.gz. Of course when I go to extract it ….&#xA;# tar zxvf ../nw74sp5_linux_x86.tar.gz&#xD;gzip: stdin: not in gzip format&#xD;tar: Child returned status 1&#xD;tar: Error exit delayed from previous errors&#xD;Umm not in gzip format ….&#xA;# tar xvf ../nw74sp5_linux_x86.tar.gz&#xD;linux_x86/&#xD;linux_x86/lgtoclnt-7.4.5-1.i686.rpm&#xD;linux_x86/lgtolicm-7.4.5-1.i686.rpm&#xD;linux_x86/lgtoman-7.4.5-1.i686.rpm&#xD;... 🙂</description>
    </item>
    <item>
      <title>New Networking Podcast</title>
      <link>https://cmdln.org/2010/05/17/new-networking-podcast/</link>
      <pubDate>Mon, 17 May 2010 15:29:06 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/17/new-networking-podcast/</guid>
      <description>They are only on their 3rd episode, but its been good listening so far. If your into networking check it out. http://packetpushers.net/</description>
    </item>
    <item>
      <title>And we&amp;#8217;re back</title>
      <link>https://cmdln.org/2010/05/11/and-were-back/</link>
      <pubDate>Wed, 12 May 2010 01:31:54 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/11/and-were-back/</guid>
      <description>Gah, still recovering from a hardware issue that hit early Monday morning. Back to restoring data …</description>
    </item>
    <item>
      <title>Install git on CentOS cpanel server</title>
      <link>https://cmdln.org/2010/05/07/install-git-on-centos-cpanel-server/</link>
      <pubDate>Sat, 08 May 2010 03:05:12 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/07/install-git-on-centos-cpanel-server/</guid>
      <description>I have a love/hate relationship with cpanel. On one hand it makes low end hosting a breeze, on the other its a huge pita if you want to do anything “outside the box”. Perhaps it’s not such a pain if you work with cpanel frequently. But I find cpanel beneficial because it aids in tasks that I don’t do frequently, and can offload many of those tasks to less technical people.</description>
    </item>
    <item>
      <title>Remove Google Everything Sidebar &amp;#8212; Again</title>
      <link>https://cmdln.org/2010/05/06/remove-google-everything-sidebar-again/</link>
      <pubDate>Thu, 06 May 2010 13:41:36 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/06/remove-google-everything-sidebar-again/</guid>
      <description>Yesterday I had a tip on removing yourself from any testing for that google sidebar that your likely seeing in your search results now. I woke up to a nasty surprise. After removing the cookie yesterday, today I had the bar again. So I removed the cookie again, and it came right back. Thats when a friend pointed out that google was rolling it out to everyone. OH NO!&#xA;Well, luckily you can get a browser extension for Firefox or Chrome that makes it disappear from the guys over at seotools.</description>
    </item>
    <item>
      <title>Very funny, good troubleshooting</title>
      <link>https://cmdln.org/2010/05/05/very-funny-good-troubleshooting/</link>
      <pubDate>Thu, 06 May 2010 02:25:32 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/05/very-funny-good-troubleshooting/</guid>
      <description>This deserved a repost. Originally sourced from http://www.csua.berkeley.edu/~ranga/humor/500_mile_email.txt&#xA;To: 0xdeadbeef@petting-zoo.net&#xD;Subject: The case of the 500-mile email. Date: Tue, 26 Nov 2002 14:57:40 -0800&#xA;Here&amp;rsquo;s a problem that sounded impossible&amp;hellip; I almost regret posting the story to a wide audience, because it makes a great tale over drinks at a conference. :-) The story is slightly altered in order to protect the guilty, elide over irrelevant and boring details, and generally make the whole thing more entertaining.</description>
    </item>
    <item>
      <title>Remove Google Everything Sidebar</title>
      <link>https://cmdln.org/2010/05/05/remove-google-everything-sidebar/</link>
      <pubDate>Thu, 06 May 2010 00:00:23 +0000</pubDate>
      <guid>https://cmdln.org/2010/05/05/remove-google-everything-sidebar/</guid>
      <description>Google is constantly doing experiments to see what its users like best. Today I was slapped with one of their tests, the “Everything Sidebar”. It really screwed with me and was entirely distracting while I was searching. So naturally I looked for a way to reverse it. It’s easy enough, you just need to delete a cookie.&#xA;Here is a screen shot of the results page&#xA;At any rate, if you want it gone just delete the PREF cookie from google.</description>
    </item>
    <item>
      <title>Ubuntu Server &amp;#8211; Fit for Production or a Change in the SA Guard?</title>
      <link>https://cmdln.org/2010/04/29/ubuntu-server-fit-for-production-or-a-change-in-the-sa-guard/</link>
      <pubDate>Thu, 29 Apr 2010 14:03:23 +0000</pubDate>
      <guid>https://cmdln.org/2010/04/29/ubuntu-server-fit-for-production-or-a-change-in-the-sa-guard/</guid>
      <description>I’m curious what anyone who reads this blog thinks. My first reaction when someone mentions Ubuntu server is to grab the nearest trout and start slapping. Don’t get me wrong I like Ubuntu. It’s very nice on a workstation, and suitable for my wife, mother, aunt, etc …. But do you really think its good enough for prime time in the data center? According to a server-survey conducted by the Ubuntu marketing team almost 80% of users see Ubuntu as ready for mission critical use.</description>
    </item>
    <item>
      <title>Analyzing I/O performance in Linux</title>
      <link>https://cmdln.org/2010/04/22/analyzing-io-performance-in-linux/</link>
      <pubDate>Thu, 22 Apr 2010 16:26:16 +0000</pubDate>
      <guid>https://cmdln.org/2010/04/22/analyzing-io-performance-in-linux/</guid>
      <description>Monitoring and analyzing performance is an important task for any sysadmin. Disk I/O bottlenecks can bring applications to a crawl. What are IOPS? Should I use SATA, SAS, or FC? How many spindles do I need? What RAID level should I use? Is my system read or write heavy? These are common questions for anyone embarking on an disk I/O analysis quest. Obligatory disclaimer: I do not consider myself an expert in storage or anything for that mater.</description>
    </item>
    <item>
      <title>Software Review – Advanced Web Ranking and Advanced Link Manager</title>
      <link>https://cmdln.org/2010/04/16/software-review-%E2%80%93-advanced-web-ranking-and-advanced-link-manager/</link>
      <pubDate>Fri, 16 Apr 2010 19:13:35 +0000</pubDate>
      <guid>https://cmdln.org/2010/04/16/software-review-%E2%80%93-advanced-web-ranking-and-advanced-link-manager/</guid>
      <description>As anyone in the search industry can tell you, getting website traffic for your primary keywords and phrases in organic search can mean the difference between the success or failure of your website. If you are a site owner, website failure can have a detrimental impact on the profitability of your company. If instead you are an SEO or web consultant, this can make or break your reputation in the industry.</description>
    </item>
    <item>
      <title>Dell Acquiesces to Angry Mob Over Firmware Locked Raid Controllers</title>
      <link>https://cmdln.org/2010/04/15/dell-acquiesces-firmware-locked-controllers/</link>
      <pubDate>Thu, 15 Apr 2010 14:26:35 +0000</pubDate>
      <guid>https://cmdln.org/2010/04/15/dell-acquiesces-firmware-locked-controllers/</guid>
      <description>I don’t think I bothered to complain here but I sure sent my fair share of nasty grams. In fact Dell became one of my four letter words after I heard they were firmware locking Gen11 servers to only dell drives. Of course it was a mistake but I loved to unashamedly repeat the famous quote from Howard Shoobe.&#xA;“There are a number of benefits for using Dell qualified drives in particular ensuring a positive experience and protecting our data.</description>
    </item>
    <item>
      <title>Persistent ulimit settings in Centos/RH</title>
      <link>https://cmdln.org/2010/04/12/persistent-ulimit-settings-in-centosrh/</link>
      <pubDate>Mon, 12 Apr 2010 15:47:43 +0000</pubDate>
      <guid>https://cmdln.org/2010/04/12/persistent-ulimit-settings-in-centosrh/</guid>
      <description>Recently a developer came to me and said they are starting to see failed builds apparently due to open file handle limitations on the build server. In case your not aware, by default there are limitations on users to ensure they don’t hog the entire resources of a system. Sometimes these limitations need to be adjusted.&#xA;In my case the “bamboo” user needed more than 1024 open files on occasion. I determined my system had a maximum number of open files of 1572928.</description>
    </item>
    <item>
      <title>Mount Linux NFS exports in OSX</title>
      <link>https://cmdln.org/2010/04/08/mount-linux-nfs-exports-in-osx/</link>
      <pubDate>Thu, 08 Apr 2010 17:36:17 +0000</pubDate>
      <guid>https://cmdln.org/2010/04/08/mount-linux-nfs-exports-in-osx/</guid>
      <description>I’m not a fan of OSX and I try to avoid it with the same veracity that I avoid Windows. But I recently needed to have a Linux NFS export mounted on an OSX server. A simple mount server:/export /mymountpoint didn’t work and returned “Operation not permitted”. After a bit of digging I found the solution.&#xA;I needed to instruct the client to use a privledged port by adding the “-P” option.</description>
    </item>
    <item>
      <title>Keychain: a love once forgotten now found</title>
      <link>https://cmdln.org/2010/04/07/keychain-a-love-once-forgotten-now-found/</link>
      <pubDate>Wed, 07 Apr 2010 15:04:03 +0000</pubDate>
      <guid>https://cmdln.org/2010/04/07/keychain-a-love-once-forgotten-now-found/</guid>
      <description>I don’t know how many of you know that I am a recovering gentoo user. One of the staples of my desktop used to be keychain. Keychain is a simple wrapper for ssh-agent and gpg-agent. It eases the use of a single long running agent per system instead of per login session. For some reason this tool had fallen out of my basket when I switched to debian several years ago.</description>
    </item>
    <item>
      <title>How to get console on linux domU with XenServer (xm console equivlent)</title>
      <link>https://cmdln.org/2010/04/06/how-to-get-console-on-linux-domu-with-xenserver-xm-console-equivlent/</link>
      <pubDate>Tue, 06 Apr 2010 17:53:36 +0000</pubDate>
      <guid>https://cmdln.org/2010/04/06/how-to-get-console-on-linux-domu-with-xenserver-xm-console-equivlent/</guid>
      <description>Besides the gui/vnc consoles you can still use the equivlent of xm console in Citrix XenServer.&#xA;On the host console:&#xA;xe vm-list to get the list of domins running (just note the uuid of the domain you want). list_domains will list the domain name and the uuid of the domains. Match up your uuid so you get the proper dom_id xm console equivlent is /usr/lib/xen/bin/xenconsole dom_id Its not in the root users $PATH though I think it ought to be.</description>
    </item>
    <item>
      <title>Error Msg Fail: How to enable telnet on centos/rhel</title>
      <link>https://cmdln.org/2010/04/06/error-msg-fail-how-to-enable-telnet-on-centosrhel/</link>
      <pubDate>Tue, 06 Apr 2010 14:46:30 +0000</pubDate>
      <guid>https://cmdln.org/2010/04/06/error-msg-fail-how-to-enable-telnet-on-centosrhel/</guid>
      <description>Don’t even start with me about how telnet is horrid. Out side of my control but I recently had issues trying to enable telnet on a server. Typically its pretty straightforward.&#xA;yum install telnet-server chkconfig telnet on chkconfig xinetd on service xinetd start Unfortunately for me this was not working. Every time I tried to telnet to the host after enabling it I would get an error message.&#xA;telnet host&#xD;Trying 203.</description>
    </item>
    <item>
      <title>Automate Sun iLOM settings</title>
      <link>https://cmdln.org/2010/03/31/automate-sun-ilom-settings/</link>
      <pubDate>Wed, 31 Mar 2010 17:11:06 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/31/automate-sun-ilom-settings/</guid>
      <description>I recently had a need to push out a few settings to a group of iLOMs on new Sun servers. I really despise using a web interface for everything so I took the ssh route. The first thing I tried to do after determining the commands I needed was to shove the commands in with ssh directly. I quickly became apparent that route just wasn’t going to work.&#xA;When you log into the iLOM “daemons” need to initialize.</description>
    </item>
    <item>
      <title>Good Customer Service</title>
      <link>https://cmdln.org/2010/03/20/good-customer-service/</link>
      <pubDate>Sat, 20 Mar 2010 21:17:10 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/20/good-customer-service/</guid>
      <description>In the last week my wife and I have both experienced excellent customer service. All too often you only hear about a company when they do something bad (see all my fail posts). I just want to be sure to give kudos to both of these companies.&#xA;BornFree: My wife ordered some BornFree Spouts as we start transitioning our son to sippy cups. She said about 5 minutes after she hit the order button she realized she should have ordered more.</description>
    </item>
    <item>
      <title>XenServer Midnight Ride Beta</title>
      <link>https://cmdln.org/2010/03/16/xenserver-midnight-ride-beta/</link>
      <pubDate>Tue, 16 Mar 2010 15:55:53 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/16/xenserver-midnight-ride-beta/</guid>
      <description>Citrix has released the beta for the next version of XenServer code named “Midnight Ride”.&#xA;I’m looking forward to the enhanced snapshots (memory+disk), and memory over commit for lab environments.&#xA;Get access to the beta program here</description>
    </item>
    <item>
      <title>Sysstat Sar Performance Metrics Via Nagios Plugin</title>
      <link>https://cmdln.org/2010/03/09/sysstat-sar-performance-metrics-via-nagios-plugin/</link>
      <pubDate>Tue, 09 Mar 2010 15:42:06 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/09/sysstat-sar-performance-metrics-via-nagios-plugin/</guid>
      <description>I know I’ve mentioned how much I love the sysstat package before. I use sar regularly to help with performance diagnostics (Analyzing Linux System Performance And Finding Bottle Necks, CPU Performance Analysis In Linux, Baseline Analysis Is Important, CPU Performance Analysis In Linux Revisited). I wrote this little Nagios plugin to collect the performance metrics that sar collects.&#xA;I use this plugin with Zenoss and I set any performance thresholds there, more important to me was collecting the information for historical graphing.</description>
    </item>
    <item>
      <title>XenServer License Check &amp;#8211; Nagios NRPE Plugin</title>
      <link>https://cmdln.org/2010/03/08/xenserver-license-check-nagios-nrpe-plugin/</link>
      <pubDate>Mon, 08 Mar 2010 14:51:23 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/08/xenserver-license-check-nagios-nrpe-plugin/</guid>
      <description>If you hadn’t already guessed I am a big fan of the Xen hypervisor. Lately I have been using the Citrix XenServer release because it makes it quite palatable for my co-workers. One annoyance that I do have about XenServer is the requirement that you license it (with a free license) every year. If you fail to license it the GUI stops working. Now I hate relying on GUIs but the fact of the matter is others in my team expect to have a working GUI when they need to do something.</description>
    </item>
    <item>
      <title>Flashback: Remote kernel logging with netconsole for fun and profit</title>
      <link>https://cmdln.org/2010/03/05/flashback-remote-kernel-logging-with-netconsole-for-fun-and-profit/</link>
      <pubDate>Fri, 05 Mar 2010 15:17:23 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/05/flashback-remote-kernel-logging-with-netconsole-for-fun-and-profit/</guid>
      <description>Have you ever had a machine that was a bit flaky? You know those ones that occasionally crash and don’t write anything useful into the log file. Sometimes you can capture those messages with netconsole. Just revisiting a small walk-through I wrote a while back.&#xA;Remote kernel logging with netconsole for fun and profit</description>
    </item>
    <item>
      <title>Installing NRPE on XenServer</title>
      <link>https://cmdln.org/2010/03/04/installing-nrpe-on-xenserver/</link>
      <pubDate>Thu, 04 Mar 2010 18:05:58 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/04/installing-nrpe-on-xenserver/</guid>
      <description>I like to have as little run in dom0 as possible. However some things you really need checked from dom0, like the status of your raid perhaps. Just some quick instructions on getting Nagios NRPE running in XenServer.&#xA;Install EPEL repository and disable it by default (remember we don’t want to accidentally install unnecessary packages) wget http://download.fedora.redhat.com/pub/epel/5/$(uname -i)/epel-release-5-3.noarch.rpm rpm -hiv epel-release*.rpm sed -i &amp;rsquo;s/enabled=1/enabled=0/g&amp;rsquo; /etc/yum.repos.d/epel.repo Install nrpe and configure it to start on boot yum install &amp;ndash;enablerepo=epel nrpe chkconfig nrpe on Modify the firewall to allow NRPE connections.</description>
    </item>
    <item>
      <title>Flashback: Vim customization for python</title>
      <link>https://cmdln.org/2010/03/04/flashback-vim-customization-for-python/</link>
      <pubDate>Thu, 04 Mar 2010 15:05:10 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/04/flashback-vim-customization-for-python/</guid>
      <description>Python has become my language of choice for automation and general scripting. Its nice to have an editor that makes things easier when your doing things. Its also nice to use an editor that you can find just about anywhere. I have customized my vim to make doing things in python much quicker and this is an old post where I talk about some of the modifications.&#xA;Vim customization for python</description>
    </item>
    <item>
      <title>Flashback: Backdoor Corporate Sabotage With DNS</title>
      <link>https://cmdln.org/2010/03/03/flashback-backdoor-corporate-sabotage-with-dns/</link>
      <pubDate>Wed, 03 Mar 2010 14:31:37 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/03/flashback-backdoor-corporate-sabotage-with-dns/</guid>
      <description>This is just an old entry that I thought was interesting, and it appears its still relevant. Like a broken record, “economic times are rough”, what better way to boost your revenue than to exploit your customers. What better way to suppress a competitor than to increase a competitors infrastructure costs (with little visibility to boot). I did some repeated lookups this morning and got similar results.&#xA;Backdoor Corporate Sabotage With DNS</description>
    </item>
    <item>
      <title>Flashback: Automatic session logging and monitoring with GNU screen for the paranoid</title>
      <link>https://cmdln.org/2010/03/02/flashback-automatic-session-logging-and-monitoring-with-gnu-screen-for-the-paranoid/</link>
      <pubDate>Tue, 02 Mar 2010 14:31:02 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/02/flashback-automatic-session-logging-and-monitoring-with-gnu-screen-for-the-paranoid/</guid>
      <description>Another day, another flashback. I don’t know about you but at times I have had some very odd and uncomfortable requests from vendors. It’s not wholly uncommon for them to want to log into your system to diagnose an issue for themselves. Or perhaps for whatever reason your manager says hey give this random outside person access to some important box. As a SA you get used to extremely odd requests and figure out how to just solve the problem.</description>
    </item>
    <item>
      <title>Flashback: Trust not DNS or How to properly move a website</title>
      <link>https://cmdln.org/2010/03/01/flashback-trust-not-dns-or-how-to-properly-move-a-website/</link>
      <pubDate>Tue, 02 Mar 2010 05:01:58 +0000</pubDate>
      <guid>https://cmdln.org/2010/03/01/flashback-trust-not-dns-or-how-to-properly-move-a-website/</guid>
      <description>Matt Simmons is trying to dust off some old articles he think some people may have missed. So I figure why not. A while back I talked about how to move a website (read DNS sucks , you need a reverse proxy). In fact I have talked about reverse proxies a few times since I tend to find them so useful. At any rate, this article stemmed from the first hand experience that opened my eyes to how bad DNS infrastructure really was.</description>
    </item>
    <item>
      <title>Home Grown / Open Source vs Appliances</title>
      <link>https://cmdln.org/2010/01/29/home-grown-open-source-vs-appliances/</link>
      <pubDate>Fri, 29 Jan 2010 17:52:12 +0000</pubDate>
      <guid>https://cmdln.org/2010/01/29/home-grown-open-source-vs-appliances/</guid>
      <description>&lt;p&gt;The last few days I have been having a pretty good debate with a friend about the virtues of open source vs Appliances. At times its gotten pretty heated but its all in good fun. The current debate centers around email infrastructure. There are options on the table to use an appliance, or a 3rd party service to control the spam. Of course I was appalled that SpamAssassin and brethren were not on the table.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Microsoft Mediaroom Personal Server Odyssey</title>
      <link>https://cmdln.org/2010/01/27/microsoft-mediaroom-personal-server-odyssey/</link>
      <pubDate>Wed, 27 Jan 2010 15:09:15 +0000</pubDate>
      <guid>https://cmdln.org/2010/01/27/microsoft-mediaroom-personal-server-odyssey/</guid>
      <description>&lt;p&gt;Ewwww, scary isn’t it. No Its not Halloween, but you may have entered the twilight zone. Right, I never touch Microsoft products. Well in actuality sometimes I do (I just don’t brag about it). Some of the development at $work uses Microsofts Mediaroom, and I have a “Personal Server” (great name right?) that the developers use. I was trying to install the Mediaroom service pack yesterday and took some notes on the process. Some of my friends found it quite entertaining. I found it quite aggravating﻿ as you might imagine.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Now Mobile Ready</title>
      <link>https://cmdln.org/2010/01/27/now-mobile-ready/</link>
      <pubDate>Wed, 27 Jan 2010 14:46:29 +0000</pubDate>
      <guid>https://cmdln.org/2010/01/27/now-mobile-ready/</guid>
      <description>I’d like to thank ﻿﻿﻿Dale Mugford and Duane Storey from BraveNewCode for the nice WordPress plugin and bundled mobile theme. If you visit my site on your mobile device you should get a slimmed down page, let me know what ya think.</description>
    </item>
    <item>
      <title>Backing up Disney DVDs</title>
      <link>https://cmdln.org/2010/01/22/backing-up-disney-dvds/</link>
      <pubDate>Sat, 23 Jan 2010 02:32:58 +0000</pubDate>
      <guid>https://cmdln.org/2010/01/22/backing-up-disney-dvds/</guid>
      <description>Many of you know that I had a son about 6 months ago now. What you may not know is that my wife decided to quit her job and start a home daycare so she could be at home with our son. We all know how hard kids can be on DVDs and the like, so its important to be able to back them up. I am not a fan of the encryption or the new copy protections that have been put in place (ARccOS, RipGuard).</description>
    </item>
    <item>
      <title>Vimtip tolower a visual selection</title>
      <link>https://cmdln.org/2010/01/20/vimtip-tolower-a-visual-selection/</link>
      <pubDate>Wed, 20 Jan 2010 19:58:45 +0000</pubDate>
      <guid>https://cmdln.org/2010/01/20/vimtip-tolower-a-visual-selection/</guid>
      <description>&lt;p&gt;Gah so I was futzing with the acl map on our subversion server. Organizing things into groups. I wasn’t thinking and started uppercasing the users ids when moving them into groups (yes i hate uppercase but its easy to highlight paste them). This of course stopped authentication from working for people who have cached auths returning a 403 error. So how to quickly lowercase a huge swath of ids?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix XenCenter not displaying console or performance statistics</title>
      <link>https://cmdln.org/2010/01/19/fix-xencenter-not-displaying-console-or-performance-statistics/</link>
      <pubDate>Tue, 19 Jan 2010 18:07:28 +0000</pubDate>
      <guid>https://cmdln.org/2010/01/19/fix-xencenter-not-displaying-console-or-performance-statistics/</guid>
      <description>&lt;p&gt;I am sure you are aware of my affinity for the Xen hypervisor. In the last year I have switched over to Citrix Xenserver. With other people managing VMs as well having a nice GUI is helpful. One of my complaints is that the GUI (XenCenter) is a windows only app. C’mon, Citrix, please release a cross platform management console. I’ve got to run a windows VM just to use the GUI (granted I don’t have to use the gui, there is a nice API and console utilities). At any rate today I noticed that I could no longer pull up the console for a windows VM nor could I pull up the performance metrics available in XenCenter. A few searches turned up &lt;a href=&#34;http://kennethhunt.com&#34;&gt;Kenneth Hunts blog&lt;/a&gt; and a post that showed me where to fix it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HP Support Fail</title>
      <link>https://cmdln.org/2010/01/15/hp-support-fail/</link>
      <pubDate>Fri, 15 Jan 2010 20:12:55 +0000</pubDate>
      <guid>https://cmdln.org/2010/01/15/hp-support-fail/</guid>
      <description>&lt;p&gt;From time to time  I have not so pleasant support experiences. Today I had another.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Get a list of used addresses on your network</title>
      <link>https://cmdln.org/2010/01/08/get-a-list-of-used-addresses-on-your-network/</link>
      <pubDate>Fri, 08 Jan 2010 14:54:46 +0000</pubDate>
      <guid>https://cmdln.org/2010/01/08/get-a-list-of-used-addresses-on-your-network/</guid>
      <description>&lt;p&gt;This comes up from time to time for me. Either myself or someone else needs to see what address are either in use or not in use (at least as far as ping is concerned). So here are a few oneliners to hopefully make your day brighter.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Inspect what you Expect</title>
      <link>https://cmdln.org/2009/10/07/inspect-what-you-expect/</link>
      <pubDate>Wed, 07 Oct 2009 14:01:45 +0000</pubDate>
      <guid>https://cmdln.org/2009/10/07/inspect-what-you-expect/</guid>
      <description>This is one of my bosses favorite sayings. I must admit its pretty good and for sure its something you need to do. Its especially something you need to do if you when you walk into a new environment and the previous care taker is no longer available.&#xA;Check your backup policies, make sure that you aren’t backing up 15 rotating daily copies of a version controlled repository to tape every day (all 15).</description>
    </item>
    <item>
      <title>999999999 (9 nines)</title>
      <link>https://cmdln.org/2009/09/09/999999999-9-nines/</link>
      <pubDate>Thu, 10 Sep 2009 03:46:36 +0000</pubDate>
      <guid>https://cmdln.org/2009/09/09/999999999-9-nines/</guid>
      <description>Ha! I caught you. I bet you think this post is about HA or some way to keep your servers running.&#xA;Nope, just an observation.&#xA;1,2,3) Today is 9/9/9&#xA;4) there are 9 letters in September&#xA;5) there are 9 letters in Wednesday&#xA;6) it is the 252 day of the year, 2+5+2=9,&#xA;7) I was born 9/9/81, 8) 9×9=81, 9) 8+1=9.&#xA;Wow and to think it was such a problematic day at work!</description>
    </item>
    <item>
      <title>Service Providors and Big Brother Wag Each Others Tails Again</title>
      <link>https://cmdln.org/2009/09/07/service-providors-and-big-brother-wag-each-others-tails-again/</link>
      <pubDate>Tue, 08 Sep 2009 04:47:45 +0000</pubDate>
      <guid>https://cmdln.org/2009/09/07/service-providors-and-big-brother-wag-each-others-tails-again/</guid>
      <description>I love how there is all of this squabbling about what the definition of broadband is.&#xA;“The Commission should continue to look at maximum advertised speed rather than some measure of ‘actual’ speed,”&#xA;and&#xA;consumers have “access to broadband capability” whenever they have the opportunity to&#xA;purchase services and equipment that enable them to access the Internet at any time and use the&#xA;types of applications that are most commonly used today, such as e-mail and web browsing.</description>
    </item>
    <item>
      <title>Rsync for Windows clients</title>
      <link>https://cmdln.org/2009/08/28/rsync-for-windows-clients/</link>
      <pubDate>Fri, 28 Aug 2009 14:19:14 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/28/rsync-for-windows-clients/</guid>
      <description>It looks like I will need a windows backup solution for a small project soon. As you probably know I don’t typically do Windows so I am reaching out. I typically use rsync for most of my backup needs. To be more specific I like to use rsnapshot which is a wrapper around rsync. Have you ever wanted rsync on windows? What did you use.&#xA;I am aware of several options.</description>
    </item>
    <item>
      <title>NEC Aspire Default Passwords</title>
      <link>https://cmdln.org/2009/08/27/nec-aspire-default-passwords/</link>
      <pubDate>Thu, 27 Aug 2009 06:00:45 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/27/nec-aspire-default-passwords/</guid>
      <description>It took me a long time to hunt these down and I think default passwords should be freely available.&#xA;Aspire webpro (default ip is 172.16.0.10):&#xA;Administrator Username: ASPIRE Administrator Password: 12345678 Extension Username: extension number Extension Password: 1111 UltraMail (default ip is 192.168.1.250):&#xA;Service Number: 2000 System Password: CTL I also found a manual for UltraMail, and a UserPro manual for programming the handsets with the web interface. Hopefully none of you are stuck with one of these systems.</description>
    </item>
    <item>
      <title>Secure Hard Drive Wipe</title>
      <link>https://cmdln.org/2009/08/26/secure-hard-drive-wipe/</link>
      <pubDate>Wed, 26 Aug 2009 06:00:44 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/26/secure-hard-drive-wipe/</guid>
      <description>I’ve been wiping a lot of hard drives recently. I use shred to do the job.&#xA;shred -n6 -z -v /dev/sdx&#xD;What do you do to your drives before disposing of them?</description>
    </item>
    <item>
      <title>Just a little pickmeup</title>
      <link>https://cmdln.org/2009/08/25/just-a-little-pickmeup/</link>
      <pubDate>Tue, 25 Aug 2009 22:47:56 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/25/just-a-little-pickmeup/</guid>
      <description>Wow I can’t believe these never made the top 40!&#xA;IBM One Hundred Percent Club&#xA;IBM anthem&#xA;March On With IBM&#xA;IBM rally song&#xA;Inspired by Ben Rockwoods comment today about the IBM Songbook</description>
    </item>
    <item>
      <title>Support Fail</title>
      <link>https://cmdln.org/2009/08/24/support-fail/</link>
      <pubDate>Mon, 24 Aug 2009 19:12:51 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/24/support-fail/</guid>
      <description>I am a big fan of chat support. I don’t have to drain my battery waiting on hold until its my turn in the queue. Plus when dealing with error messages its infinitely more helpful to be able to copy/paste to the agent. Sadly finding competent help is still an issue. Here is an excerpt from a recent chat support experience.&#xA;(8:39:41 PM) Sheldon He: The SSL will need to be re-issued, since they are IP specific.</description>
    </item>
    <item>
      <title>One liners: a tip</title>
      <link>https://cmdln.org/2009/08/22/one-liners-a-tip/</link>
      <pubDate>Sat, 22 Aug 2009 19:07:46 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/22/one-liners-a-tip/</guid>
      <description>Have you ever started writing a one-liner and half way in realized it was a bit more complex than you first thought?&#xA;If your shell is bash, next time that happens try ctrl-x ctrl-e.&#xA;It will take your current line and stuff it into the your default editor (export EDITOR=vim).</description>
    </item>
    <item>
      <title>The great debate: breadth vs depth of knowledge</title>
      <link>https://cmdln.org/2009/08/20/the-great-debate-breadth-vs-depth-of-knowledge/</link>
      <pubDate>Thu, 20 Aug 2009 21:23:16 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/20/the-great-debate-breadth-vs-depth-of-knowledge/</guid>
      <description>Ryan Nedeff posted a comment over on Matt Simmons blog about the Future of System Administrators. Mainly he was responding to a comment by Michael Halligan on twitter stating “I feel that any sysadmin today who isn’t learning Ruby and either Chef or Puppet will be unemployed in 5 years”. Ryan brought up the debate of breadth of knowledge vs depth of knowledge. I think its a great discussion to have so lets have it.</description>
    </item>
    <item>
      <title>It&amp;#8217;s not &amp;#8220;the cloud&amp;#8221; it&amp;#8217;s &amp;#8220;the phog&amp;#8221;</title>
      <link>https://cmdln.org/2009/08/19/its-not-the-cloud-its-the-phog/</link>
      <pubDate>Thu, 20 Aug 2009 02:47:22 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/19/its-not-the-cloud-its-the-phog/</guid>
      <description>I am so very tired of hearing about “the cloud”. Over lunch the other day a co-worker decided we should just call it the phog instead since the phog does a better job of describing exactly what is meant by the cloud.&#xA;Why is phog a better description? The phog has no defined shape, you can’t see clearly in it, its different everywhere you go, and once your in the middle of it you can’t find your way out (due to marketing fluf).</description>
    </item>
    <item>
      <title>It&amp;#8217;s a boy</title>
      <link>https://cmdln.org/2009/08/05/its-a-boy/</link>
      <pubDate>Thu, 06 Aug 2009 05:16:30 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/05/its-a-boy/</guid>
      <description>Bryan William Anderson&#xA;8.2 lbs, 20.5 inches&#xA;1:25pm 8.5.209&#xA;Just a few hours old </description>
    </item>
    <item>
      <title>Debian adopting time based freeze</title>
      <link>https://cmdln.org/2009/08/01/debian-adopting-time-based-freeze/</link>
      <pubDate>Sat, 01 Aug 2009 18:50:59 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/01/debian-adopting-time-based-freeze/</guid>
      <description>Debian is departing (if ever so slightly) from the historical mantra “It ships when its ready”.&#xA;Looks as if Debian has decided time based freeze schedules will help them better manage time. Note they are not adopting time based releases, only the freeze is time based. I personally think this is a good thing. It will still ship when its ready but at least there will be some semblance of a time line for new releases.</description>
    </item>
    <item>
      <title>Centos not going anywhere stop spreading the FUD</title>
      <link>https://cmdln.org/2009/08/01/centos-not-going-anywhere-stop-spreading-the-fud/</link>
      <pubDate>Sat, 01 Aug 2009 09:43:01 +0000</pubDate>
      <guid>https://cmdln.org/2009/08/01/centos-not-going-anywhere-stop-spreading-the-fud/</guid>
      <description>I’m sure you have heard about the open letter from Centos regarding not having control of some key elements of the project and the AWOL admin. I purposely did not comment on this because I did not want to spread any FUD. Centos is a huge project, I had no doubt that things would get rectified in a timely manner.&#xA;Here is the latest&#xA;The CentOS Development team had a routine meeting today with Lance Davis in attendance.</description>
    </item>
    <item>
      <title>Happy SysAdmin Day!</title>
      <link>https://cmdln.org/2009/07/30/happy-sysadmin-day/</link>
      <pubDate>Fri, 31 Jul 2009 05:25:49 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/30/happy-sysadmin-day/</guid>
      <description>Congratulations to everyone in the club. You have successfully navigated another trip around the sun. Today is not the day to worry about your infrastructure falling apart today is a day for celebration. Ok maybe thats not exactly true, celebrate after you get your network and systems in check :).</description>
    </item>
    <item>
      <title>Puppet works hard to make sure nodes are in compliance</title>
      <link>https://cmdln.org/2009/07/29/puppet-works-hard-to-make-sure-nodes-are-in-compliance/</link>
      <pubDate>Thu, 30 Jul 2009 04:57:02 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/29/puppet-works-hard-to-make-sure-nodes-are-in-compliance/</guid>
      <description>I’ve been working with puppet a lot in the last few weeks. I really enjoy this style of administration compared to “ssh in a for loop”. Its great to script things and I still do it but for maintaining configuration I don’t know if it gets much better than puppet. That being said I ran into a few issues today that had me splitting my head open on my desk, keyboard, pop cans and just about everything else I could reach.</description>
    </item>
    <item>
      <title>Surviving Windows Toolbox</title>
      <link>https://cmdln.org/2009/07/21/surviving-windows-toolbox/</link>
      <pubDate>Tue, 21 Jul 2009 15:07:28 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/21/surviving-windows-toolbox/</guid>
      <description>I have to use windows for a few things at my new employeer. I’ve found a few programs that I just cant survive using windows without.&#xA;Launchy – Gnome-do like launcher Quotefix – Properly bottom post when replying to emails IsoRecorder – Right click iso and burn Cygwin – Linux-like environment for Windows I still spend very little time in windows so its not too bad but when I am there not having access to those tools drives me batty.</description>
    </item>
    <item>
      <title>Don&amp;#8217;t script it, just make it so</title>
      <link>https://cmdln.org/2009/07/18/dont-script-it-just-make-it-so/</link>
      <pubDate>Sat, 18 Jul 2009 06:00:21 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/18/dont-script-it-just-make-it-so/</guid>
      <description>Matt Simmons recently had another post that mentioned structured systems management. I find myself re-reading Ad-Hoc vs Structured Systems Management from time to time and I figure its time for me to chime in.&#xA;First off, Michael Jankes’ post is one of my favorite blog post reads. Few posts do I ever re-read unless its tutorialesque. For a quick sidetrack one of those posts that I do return to when I deal with developers is The Joel Test: 12 Steps to Better Code.</description>
    </item>
    <item>
      <title>twitter test</title>
      <link>https://cmdln.org/2009/07/12/twitter-test/</link>
      <pubDate>Mon, 13 Jul 2009 05:13:07 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/12/twitter-test/</guid>
      <description>Sorry for the spam just testing modifications to a plugin</description>
    </item>
    <item>
      <title>Transparent dynamic reverse proxy with nginx</title>
      <link>https://cmdln.org/2009/07/12/transparent_dynamic-reverse-proxy-with-nginx/</link>
      <pubDate>Sun, 12 Jul 2009 17:29:21 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/12/transparent_dynamic-reverse-proxy-with-nginx/</guid>
      <description>A while back I wrote about using Apache as a dynamic reverse proxy. Anyone who has done even minimal research into web servers knows that Apache is the swiss army knife. It trys to be everything for everyone, and like a swiss army knife may not be as good as a more refined too at least as far as efficiency is concerned.&#xA;Here is the situation. You have a single pinhole into your private network.</description>
    </item>
    <item>
      <title>Google sends sniper after Linus Torvalds, Linux Doomed due to Chrome OS announcement</title>
      <link>https://cmdln.org/2009/07/10/google-sends-sniper-after-linus-torvalds-linux-doomed-due-to-chrome-os-announcement/</link>
      <pubDate>Sat, 11 Jul 2009 00:35:38 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/10/google-sends-sniper-after-linus-torvalds-linux-doomed-due-to-chrome-os-announcement/</guid>
      <description>Ha! I have trapped you with my sensationalized headline. Or you didn’t read this just like I wouldn’t have :P.&#xA;I don’t know about anyone else but I had to turn off some of my feeds over the past several days. I was sick and tired of all the Chrome OS posts filtering about the net. It’s not that I don’t think having google behind another linux platform is a bad idea.</description>
    </item>
    <item>
      <title>Cacheing Issue</title>
      <link>https://cmdln.org/2009/07/07/cacheing-issue/</link>
      <pubDate>Tue, 07 Jul 2009 14:49:10 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/07/cacheing-issue/</guid>
      <description>Apparently I have had a caching issue on the blog for a while now. It should be fixed but if anyone notices that your feed is updating but the site is not feel free to drop me a line. Thanks to Warren Guy from planetsysadmin.com for letting me know.</description>
    </item>
    <item>
      <title>Redhats&amp;#8217; init is teh suck</title>
      <link>https://cmdln.org/2009/07/06/redhats-init-is-teh-suck/</link>
      <pubDate>Tue, 07 Jul 2009 00:56:27 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/06/redhats-init-is-teh-suck/</guid>
      <description>I recently had to write an init script for our continuous integration systems remote build agent. Of course this agent is a java jar and does not write its own pidfile. On debian or gentoo (yes I used to rice it) this would not have been an issue. Both have and use start-stop-daemon in their init scripts. start-stop-daemon actually understands that not every process you might want to daemonize writes its own pidfile and thus gives you the ability to daemonize a process, capture its pid, and write a pidfile.</description>
    </item>
    <item>
      <title>A tip for continuous integration shops</title>
      <link>https://cmdln.org/2009/07/04/a-tip-for-continuous-integration-shops/</link>
      <pubDate>Sat, 04 Jul 2009 23:28:42 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/04/a-tip-for-continuous-integration-shops/</guid>
      <description>Recently I have been working on cleaning up our continuous integration enviornment. Continuous integration is pretty cool but don’t shoot yourself in the foot by making bad build plans and not being very specific about your build requirements. If you have a package dependancy for a build make sure you put it in your requirements. If you need specific access to a database to do fixture tests SPECIFY it.&#xA;In the short term you can see the benefits of continuous integration without doing these things.</description>
    </item>
    <item>
      <title>Welcome back traffic</title>
      <link>https://cmdln.org/2009/07/03/welcome-back-traffic/</link>
      <pubDate>Fri, 03 Jul 2009 23:49:51 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/03/welcome-back-traffic/</guid>
      <description>I know I’ve been absent. I am not appologising I’ve been adjusting to the new job and its been keeping me busy. I did notice that my traffic tanked around the 20th of May and pretty much stayed that way until June 9th. I don’t know where everyone went but I’m glad to have you back.&#xA;I don’t really have any ideas for articles at the moment but I am working on some virtualization at work.</description>
    </item>
    <item>
      <title>Congrats to Matt Simmons and other news</title>
      <link>https://cmdln.org/2009/07/03/congrats-to-matt-simmons-and-other-news/</link>
      <pubDate>Fri, 03 Jul 2009 23:28:30 +0000</pubDate>
      <guid>https://cmdln.org/2009/07/03/congrats-to-matt-simmons-and-other-news/</guid>
      <description>If you haven’t noticed Matt Simmons moved off of blogspot today. If you have not yet go and check out his new home http://www.standalone-sysadmin.com.&#xA;In other news I’ve been slammed. Nothing exceptional to report really I’ve been spending most of my time doing machine inventory and weeding out unused servers. Yeah not glamorus but its fun in its own way. Ive pulled almost 30 machines from the server room that were unused.</description>
    </item>
    <item>
      <title>Mutt like evolution keybindings</title>
      <link>https://cmdln.org/2009/05/20/mutt-like-evolution-keybindings/</link>
      <pubDate>Thu, 21 May 2009 02:44:29 +0000</pubDate>
      <guid>https://cmdln.org/2009/05/20/mutt-like-evolution-keybindings/</guid>
      <description>&lt;p&gt;In preparation for connecting to (im guessing here) an Exchange server at my new job I am switching from my beloved Mutt to Evolution. The absolute first thing I noticed about Evolution that I disliked was the keybindings for things like deleting messages, replying to messages and creating a new message. After some digging in the UI I could not find any place to change them. Some more sleuthing turned up some XML files down in /usr/share/evolution/$VERSION/ui.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Three Letters</title>
      <link>https://cmdln.org/2009/05/19/three-letters/</link>
      <pubDate>Tue, 19 May 2009 13:03:53 +0000</pubDate>
      <guid>https://cmdln.org/2009/05/19/three-letters/</guid>
      <description>From time to time this is appropriate to repost. For me its that time again.&#xA;When I was hired to run the IT department of a major company my predecessor left three letters in the desk that was now mine. Each letter was clearly labeled; System Failure #1, System Failure #2, System Failure #3. A post-it note was attached to the bundle of letters.&#xA;In case of a substantial system failure open the letters in order, once per failure, and they will help you through the problem.</description>
    </item>
    <item>
      <title>Speed up your firefox (ever so slightly)</title>
      <link>https://cmdln.org/2009/04/29/speed-up-your-firefox-ever-so-slightly/</link>
      <pubDate>Wed, 29 Apr 2009 21:40:40 +0000</pubDate>
      <guid>https://cmdln.org/2009/04/29/speed-up-your-firefox-ever-so-slightly/</guid>
      <description>So I noticed my places.sqlite has grown to over 80M. Since Firefox 3 thats where things like bookmarks are stored. I guess favicons are stored in that same database. At any rate I am very tab happy. I have to control myself and about once every 2 weeks or so I have to sit down and close out a bunch of tabs. Its not uncommon for me to have 90ish tabs open.</description>
    </item>
    <item>
      <title>Nice console regex helper</title>
      <link>https://cmdln.org/2009/04/28/nice-console-regex-helper/</link>
      <pubDate>Tue, 28 Apr 2009 18:19:39 +0000</pubDate>
      <guid>https://cmdln.org/2009/04/28/nice-console-regex-helper/</guid>
      <description>Last week I stumbled on a nice console regex helper. It’s not that I’m bad at regex but switching between sed, vim, python, perl regex trips me up a bit sometimes.&#xA;Go ahead and check it out for yourself&#xA;sudo aptitude install txt2regex&#xD;&amp;lt;br /&amp;gt; [.]quit [0]reset [*]color [/]programs ^txt2regex$&#xA;!! not supported&#xA;RegEx perl :&#xA;RegEx php :&#xA;RegEx postgres:&#xA;RegEx python :&#xA;RegEx sed :&#xA;RegEx vim :</description>
    </item>
    <item>
      <title>Improving debians nginx init script</title>
      <link>https://cmdln.org/2009/04/27/improving-debians-nginx-init-script/</link>
      <pubDate>Mon, 27 Apr 2009 17:14:36 +0000</pubDate>
      <guid>https://cmdln.org/2009/04/27/improving-debians-nginx-init-script/</guid>
      <description>nginx is a high performance HTTP and mail proxy server written by Igor Sysoev.&#xA;I’m not sure what the init scripts do for other distros but it seems a bit of an oversight to leave out checking the config file when running the init script.&#xA;Add this line to your nginx init script right after the text -x $DAEMON line to make it check the config before proceeding to start stop or restart the service.</description>
    </item>
    <item>
      <title>Testing mail servers with swaks</title>
      <link>https://cmdln.org/2009/04/16/testing-mail-servers-with-swaks/</link>
      <pubDate>Thu, 16 Apr 2009 17:45:43 +0000</pubDate>
      <guid>https://cmdln.org/2009/04/16/testing-mail-servers-with-swaks/</guid>
      <description>I hadn’t seen this tool before so I figured I would share. Swaks is the swiss army knife SMTP according to the homepage.&#xA;I’ve covered testing email from the command line before but this tool sure makes it easier.&#xA;swaks --to nick@tld --from nick@tld&#xD;*** MX Routing not available: requires Net::DNS. Using localhost as mail server&#xD;=== Trying localhost:25...&#xD;=== Connected to localhost.&#xD;&amp;lt;- 220 cmdln-laptop ESMTP Exim 4.69 Thu, 16 Apr 2009 12:23:24 -0500&#xD;-&amp;gt; EHLO cmdln-laptop&#xD;&amp;lt;- 250-cmdln-laptop Hello localhost [127.</description>
    </item>
    <item>
      <title>Linux Commercials</title>
      <link>https://cmdln.org/2009/03/18/linux-commercials/</link>
      <pubDate>Thu, 19 Mar 2009 04:22:36 +0000</pubDate>
      <guid>https://cmdln.org/2009/03/18/linux-commercials/</guid>
      <description>&lt;p&gt;The linux foundation has begun the judging period of the “We’re Linux” commercial (answers the I’m a PC commercials).&lt;/p&gt;&#xA;&lt;p&gt;Some of my favorites …&lt;/p&gt;</description>
    </item>
    <item>
      <title>Easy to remember public DNS servers</title>
      <link>https://cmdln.org/2009/03/18/easy-to-remember-public-dns-servers/</link>
      <pubDate>Wed, 18 Mar 2009 18:22:38 +0000</pubDate>
      <guid>https://cmdln.org/2009/03/18/easy-to-remember-public-dns-servers/</guid>
      <description>Its handy to keep some remote dns servers in your head for troubleshooting. Here are some pretty fast and easy to remember NS ips for you (they are on level3 network).&#xA;4.2.2.1&#xA;4.2.2.2&#xA;4.2.2.3&#xA;4.2.2.4&#xA;4.2.2.5&#xA;4.2.2.6</description>
    </item>
    <item>
      <title>Convert maildir to mbox</title>
      <link>https://cmdln.org/2009/03/13/convert-maildir-to-mbox/</link>
      <pubDate>Fri, 13 Mar 2009 16:52:32 +0000</pubDate>
      <guid>https://cmdln.org/2009/03/13/convert-maildir-to-mbox/</guid>
      <description>&lt;p&gt;Note, there is a short story before the main course.&lt;/p&gt;&#xA;&lt;p&gt;I recently had a customer leave. It’s never good to lose a customer. They left not because of any service issues but because its hard for them to understand that I am not a web designer. I provided hosting service for them, and I tried to make it clear that they should find a web desinger and someone to maintain their site because that is not something I specialize in or have any interest in doing. At any rate this of course leads to them finding a designer who wants to move their site to some other host. I have no problems with that whatever makes the maintainer happy since he is the one&lt;/p&gt;</description>
    </item>
    <item>
      <title>Citrix makes Xen Enterprise Free</title>
      <link>https://cmdln.org/2009/02/23/citrix-makes-xen-enterprise-free/</link>
      <pubDate>Mon, 23 Feb 2009 20:54:52 +0000</pubDate>
      <guid>https://cmdln.org/2009/02/23/citrix-makes-xen-enterprise-free/</guid>
      <description>Today Citrix announced that it will distribute its enterprise packaging of Xen for free. This brings fancy gui management and features available in VMwares ESX server to everyone. (Actually I’m not clear if just the ability is there or if they actually are letting the gui go as well.)&#xA;This is not a scaled down, limited version of the hypervisor. From the end of March on, there will be only one edition of XenServer which and it will be free.</description>
    </item>
    <item>
      <title>Howto: Remove PDF passwords and encryption</title>
      <link>https://cmdln.org/2009/02/23/howto-remove-pdf-passwords-and-encryption/</link>
      <pubDate>Mon, 23 Feb 2009 14:45:04 +0000</pubDate>
      <guid>https://cmdln.org/2009/02/23/howto-remove-pdf-passwords-and-encryption/</guid>
      <description>Have you ever gotten a pdf with one of those annoying passwords? A while back I bought an e-book and it came with a password. Its really annoying especially if I want to read it on a mobile device. Anyway if you are annoyed as much as I am fear no more.&#xA;Install qpdf&#xA;aptitude install qpdf&#xD;Decrypt your pdf&#xA;qpdf --password=password --decrypt input.pdf output.pdf&#xD;</description>
    </item>
    <item>
      <title>Revision your home directory with git using gibak</title>
      <link>https://cmdln.org/2009/02/20/revision-home-directory-git-gibak/</link>
      <pubDate>Fri, 20 Feb 2009 14:56:53 +0000</pubDate>
      <guid>https://cmdln.org/2009/02/20/revision-home-directory-git-gibak/</guid>
      <description>&lt;p&gt;Over the last couple days I’ve briefly talked about &lt;a href=&#34;http://www.cmdln.org/2009/02/19/version-your-etc/&#34;&gt;revisioning configs&lt;/a&gt; and &lt;a href=&#34;http://www.cmdln.org/2009/02/18/movin-in-movin-out/&#34;&gt;making your home directory portable&lt;/a&gt;. It seems to have stirred up a bit of discussion over at &lt;a href=&#34;http://standalone-sysadmin.blogspot.com/2009/02/ideas-on-maintaining-customized-shelll.html&#34;&gt;Matt Simmons Standalone Sysadmin&lt;/a&gt;, and &lt;a href=&#34;http://saintaardvarkthecarpeted.com/blog/2009-02/mercurial_for_dotfiles.html&#34;&gt;Hugh Browns mentioned he uses mercurial&lt;/a&gt; for this task.. As I noted in the post about &lt;a href=&#34;http://www.cmdln.org/2009/02/19/version-your-etc/&#34;&gt;managing /etc with version control&lt;/a&gt; I do revision my home directory, or at least pieces of it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Version your /etc</title>
      <link>https://cmdln.org/2009/02/19/version-your-etc/</link>
      <pubDate>Thu, 19 Feb 2009 15:19:36 +0000</pubDate>
      <guid>https://cmdln.org/2009/02/19/version-your-etc/</guid>
      <description>Seems like we are on a bit of a roll with regard to the topic of versioning lately. Yesterday Legooolas commented about using version control for your home directory. I do and I’ll cover that in a different post but I use it for a different task. Now on to todays topic.&#xA;Do you keep track of configuration changes? You should. Maybe your using an advanced configuration management system like puppet.</description>
    </item>
    <item>
      <title>Movin in movin out</title>
      <link>https://cmdln.org/2009/02/18/movin-in-movin-out/</link>
      <pubDate>Wed, 18 Feb 2009 20:35:10 +0000</pubDate>
      <guid>https://cmdln.org/2009/02/18/movin-in-movin-out/</guid>
      <description>&lt;p&gt;Every time I have a new shell account I end up customizing it. Making alterations to my vimrc, screenrc or whatever. It can be a huge pain when you have lots of slightly varying configs on different machines. I wrote this little script to grab my files and create a self extracting shell script so I can easily setup my environment on multiple machines.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Another commandline junkie</title>
      <link>https://cmdln.org/2009/02/18/another-commandline-junkie/</link>
      <pubDate>Wed, 18 Feb 2009 16:08:58 +0000</pubDate>
      <guid>https://cmdln.org/2009/02/18/another-commandline-junkie/</guid>
      <description>Waddya know I’m not the only geek with an affinity for the console. This could be interesting. Repository of useful one liners.</description>
    </item>
    <item>
      <title>Baseline Analysis is Important, CPU Performance Analysis in Linux Revisited</title>
      <link>https://cmdln.org/2009/01/29/baseline-analysis-is-important-cpu-performance-analysis-in-linux-revisited/</link>
      <pubDate>Fri, 30 Jan 2009 03:34:39 +0000</pubDate>
      <guid>https://cmdln.org/2009/01/29/baseline-analysis-is-important-cpu-performance-analysis-in-linux-revisited/</guid>
      <description>&lt;p&gt;Yesterday I wrote about &lt;a href=http://www.cmdln.org/2009/01/28/cpu-performance-analysis-in-linux/&gt;CPU Performance Analysis in Linux&lt;/a&gt;. I explained how to tell if you are experiencing a CPU bottleneck. This is just a quick followup to show the effect of adding more cpu power.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CPU Performance Analysis in Linux</title>
      <link>https://cmdln.org/2009/01/28/cpu-performance-analysis-in-linux/</link>
      <pubDate>Wed, 28 Jan 2009 06:03:17 +0000</pubDate>
      <guid>https://cmdln.org/2009/01/28/cpu-performance-analysis-in-linux/</guid>
      <description>&lt;p&gt;A while back I wrote a post &lt;a href=http://www.cmdln.org/2008/04/13/analyzing-linux-system-performance-and-finding-bottle-necks/&gt;Analyzing Linux System Performance and Finding Bottlenecks&lt;/a&gt;. I did’t really give a good explanation of determining if you are CPU bound or not so I am writing this post to clear that up.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Remote kernel logging with netconsole for fun and profit</title>
      <link>https://cmdln.org/2009/01/21/remote-kernel-logging-with-netconsole-for-fun-and-profit/</link>
      <pubDate>Wed, 21 Jan 2009 16:36:19 +0000</pubDate>
      <guid>https://cmdln.org/2009/01/21/remote-kernel-logging-with-netconsole-for-fun-and-profit/</guid>
      <description>&lt;p&gt;Have you ever experienced hard lockups and seen no trace of the cause in your log files? Those situations can be even more of a pain if you do not have physical access to the machine since you will not be able to look for kernel oops on the console. You could buy a serial console or an ip kvm but if you don’t have the need for remote control, but would really like to be able to debug without being physically present you need to check out netconsole. Netconsole sends printk messages over UDP.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Howto reset root password on Debian</title>
      <link>https://cmdln.org/2009/01/18/howto-reset-root-password-on-debian/</link>
      <pubDate>Sun, 18 Jan 2009 21:16:05 +0000</pubDate>
      <guid>https://cmdln.org/2009/01/18/howto-reset-root-password-on-debian/</guid>
      <description>&lt;p&gt;Ever run into a situation where passing the option single to the kernel wasn’t enough to get your root password reset? This is not Debian specific but some distros (including Debian) require that you still enter the root password when booting to single user mode. This is just a quick run through of how to reset your root password without a live cd.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quick tip: Delete or rename files with leading dash (-)</title>
      <link>https://cmdln.org/2009/01/13/tip-delete-rename-files-with-leading-dash/</link>
      <pubDate>Wed, 14 Jan 2009 05:58:26 +0000</pubDate>
      <guid>https://cmdln.org/2009/01/13/tip-delete-rename-files-with-leading-dash/</guid>
      <description>I was restoring some files from backup today and ran into a few files that had leading slashes. Whenever I see those kind of things I rename the files since they are a pain to work with in the shell.&#xA;If you find yourself at a shell and need to work with files that have a leading dash just use the relative path and include the dashed filename in quotes.</description>
    </item>
    <item>
      <title>todo-cycle a simple todo manager based on &amp;#8220;The Cycle&amp;#8221;</title>
      <link>https://cmdln.org/2008/12/21/todo-cycle-a-simple-todo-manager/</link>
      <pubDate>Mon, 22 Dec 2008 04:30:09 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/21/todo-cycle-a-simple-todo-manager/</guid>
      <description>I posted about Tom Limoncelli and his Time Management for System Administrators. I have written a simple wrapper to do pre and post processing of a todo file as it is opened and closed to somewhat mirror “the cycle”. If your interested you can find a bit more information on todo-cycle here.</description>
    </item>
    <item>
      <title>Old new SA Pro podcast</title>
      <link>https://cmdln.org/2008/12/20/old-new-sa-pro-podcast/</link>
      <pubDate>Sat, 20 Dec 2008 17:01:22 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/20/old-new-sa-pro-podcast/</guid>
      <description>It’s not new news but I havent seen anyone else mention it. Ben Rockwood over at cuddletech had his second SA Pro podcast with Tom Limoncelli, it covers time management. It’s a good listen, I’m still waiting for him to setup a feed for the podcasts. Tom has some good advice, I have picked up a few things and read his Time Management for System Administrators since listening to the podcast.</description>
    </item>
    <item>
      <title>Simple network popup with python and libnotify</title>
      <link>https://cmdln.org/2008/12/18/simple-network-popup-with-python-and-libnotify/</link>
      <pubDate>Thu, 18 Dec 2008 15:13:55 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/18/simple-network-popup-with-python-and-libnotify/</guid>
      <description>&lt;p&gt;Im sure everyone is familiar with smb messages especially as everyone was assulted with them about 10 years ago (stupid soho routers and spammers unite!). Anyway, there are clients for linux like Linpopup. Well recently I didn’t want to use one of those to be able to send messages to my linux workstations so I cobbled together a simple network popup app with python.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ssh config wildcards</title>
      <link>https://cmdln.org/2008/12/17/ssh-config-wildcards/</link>
      <pubDate>Wed, 17 Dec 2008 17:07:58 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/17/ssh-config-wildcards/</guid>
      <description>I just wanted to make sure no one forgets that wildcards can be used in your .ssh/config. This can be extremely helpful. For example say you have 100 nodes that have a simple nameing scheme of nodexxxx. You can add the following into your ssh config and pre-poplulate settings.&#xA;Host node*&#xD;User staffuser&#xD;IdentityFile ~/.ssh/staff_key&#xD;That would cause any ssh connection matching node* to use the user staffuser and .ssh/staff_key as the ssh key.</description>
    </item>
    <item>
      <title>Maintenance mode with apache mod_rewrite</title>
      <link>https://cmdln.org/2008/12/12/maintenance-mode-with-apache-mod_rewrite/</link>
      <pubDate>Fri, 12 Dec 2008 19:41:00 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/12/maintenance-mode-with-apache-mod_rewrite/</guid>
      <description>&lt;p&gt;With small websites sometimes you need to put up a maintenance page while you are making some modifications. Typically you should have some staging enviornment but sometimes infrastructure does not allow for this. If you find your self in this situation you might like this tip.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vim Tip single command while in insert mode</title>
      <link>https://cmdln.org/2008/12/09/vim-tip-single-command-while-in-insert-mode/</link>
      <pubDate>Tue, 09 Dec 2008 21:37:55 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/09/vim-tip-single-command-while-in-insert-mode/</guid>
      <description>I use vim for the vast majority of my editing. It can be a bit cumbersom to hit esc each time you want to perform a command while in insert mode. Using ctrl o will put you in command mode for the next command. Give it a try sometime it may or may not make you more effective with vim.</description>
    </item>
    <item>
      <title>Simple worklog script</title>
      <link>https://cmdln.org/2008/12/08/simple-worklog-script/</link>
      <pubDate>Mon, 08 Dec 2008 18:20:09 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/08/simple-worklog-script/</guid>
      <description>&lt;p&gt;I have a pretty good memory when it comes to juggling multiple tasks but I am (and have been for some time) trying to break my self of using my brain to store everything. One area a worklog benefits is when you want to look back over time and see what your were working on several months ago (this can be helpful for reviews). At any rate there are many tools to do similar things. At any rate I wrote a simple tool to try and help with this. Feel free to take it modify it or comment on the horrible code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Notify someone with hook when you update a git working copy</title>
      <link>https://cmdln.org/2008/12/06/notify-someone-with-hook-when-you-update-a-git-working-copy/</link>
      <pubDate>Sun, 07 Dec 2008 05:19:26 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/06/notify-someone-with-hook-when-you-update-a-git-working-copy/</guid>
      <description>Some projects have production code that runs off of a git cloned repository. There may be a case in which you want to notify others when that clone pulls. It is a pretty easy feat with gits post-merge hook. The post-merge hook will run after a merge (think git pull). All you have to do it create a project/.git/hooks/post-merge shell script and chmod +x it. Next time you pull successfully that script will run.</description>
    </item>
    <item>
      <title>Top for MySQL with mytop</title>
      <link>https://cmdln.org/2008/12/06/top-for-mysql-with-mytop/</link>
      <pubDate>Sat, 06 Dec 2008 07:57:12 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/06/top-for-mysql-with-mytop/</guid>
      <description>I see Samuel Huckins just had a post about apachetop http://dancingpenguinsoflight.com/2008/12/top-for-apache-activity/ which I have been meaning to mention for a while, but being that there is a fresh post about it I will mention Mytop instead.&#xA;Mytop is top for mysql. It can be used for monitoring the threads and overall performance of a MySQL.&#xA;Its an easy install in debain with a quick aptitude install mytop.&#xA;Here is some example output (sorry my mysql server isnt very busy atm).</description>
    </item>
    <item>
      <title>Gnu Screen workflow management (change working directory)</title>
      <link>https://cmdln.org/2008/12/05/gnu-screen-workflow-management-change-working-directory/</link>
      <pubDate>Fri, 05 Dec 2008 18:01:20 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/05/gnu-screen-workflow-management-change-working-directory/</guid>
      <description>I was recently asked how to change screens working directory. It took me a few minutes to realize the benefit of this as I typically have different screen sessions for different purposes. But after thinking about it for a few minutes I have been in situations where what I was doing in a screen session morphed and it would have been nice for new windows to be opened to a different working directory than where I started my session.</description>
    </item>
    <item>
      <title>What webserver shell function</title>
      <link>https://cmdln.org/2008/12/05/what-webserver-shell-function/</link>
      <pubDate>Fri, 05 Dec 2008 17:34:01 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/05/what-webserver-shell-function/</guid>
      <description>This is lifted from http://bashcurescancer.com/shell-function-which-webserver-does-that-site-run.html.&#xA;Handy shell function you can put in your .bashrc. Quickly find out what server a host is running.&#xA;what-http-server() { curl -s -I $(for h in &#34;$@&#34;; do printf &#34;http://%s &#34; &#34;$h&#34;; done) | awk -F&#39;: &#39; &#39;/^Server:/ {print $2}&#39;; } Now try what-http-server kernel.org google.com hotmail.com.</description>
    </item>
    <item>
      <title>Google like unit conversion on the console</title>
      <link>https://cmdln.org/2008/12/04/google-like-unit-conversion-on-the-console/</link>
      <pubDate>Fri, 05 Dec 2008 05:14:20 +0000</pubDate>
      <guid>https://cmdln.org/2008/12/04/google-like-unit-conversion-on-the-console/</guid>
      <description>For those of you who are horrid at math like I am googles unit conversion is a great help. Want to know how many GB 1Mbps is in a month? Simple just ask google. Well I like to have the ability even when I am not online and I found units. Its in the debian repository and oh so easy to use.&#xA;units -t &#39;1Mbps&#39; &#39;GB/month&#39;&#xD;328.71798&#xD;units -t &#39;1hour&#39; &#39;seconds&#39;&#xD;3600&#xD;</description>
    </item>
    <item>
      <title>Debian /etc/cron.d/ gotcha</title>
      <link>https://cmdln.org/2008/11/19/debian-etccrond-gotcha/</link>
      <pubDate>Wed, 19 Nov 2008 14:57:53 +0000</pubDate>
      <guid>https://cmdln.org/2008/11/19/debian-etccrond-gotcha/</guid>
      <description>I typically use /etc/cron.d to store all of my system crontabs. I recently ran into an issue that I had either not run into before, or fixed and paid no attention to. Files stored in /etc/cron.d/ or any /etc/cron.* directory need to adhear to the run-parts Debian cron script namespace which consists is&#xA;(^[a-z0-9][a-z0-9-]*$)&#xD;for the regex impared this does not include the dot character. If you have a file in /etc/cron.</description>
    </item>
    <item>
      <title>How I tamed my mutt</title>
      <link>https://cmdln.org/2008/11/07/how-i-tamed-my-mutt/</link>
      <pubDate>Sat, 08 Nov 2008 04:09:19 +0000</pubDate>
      <guid>https://cmdln.org/2008/11/07/how-i-tamed-my-mutt/</guid>
      <description>&lt;p&gt;As you by now well know I try to mostly live at the console (well multiple x consoles). Mutt is my mail client of choice. I’ve tried Thunderbird, Kmail, Evolution, Sylpheed, and pine. For whatever reason I feel most comfortable with mutt. I also use IMAP for both my personal and work accounts. Mutt was originally designed to deal with local mail and while it does a very good job with IMAP I don’t like how it handles multiple accounts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Parable (a short allegorical story designed to illustrate or teach some truth, religious principle, or moral lesson)</title>
      <link>https://cmdln.org/2008/11/03/parable-a-short-allegorical-story-designed-to-illustrate-or-teach-some-truth-religious-principle-or-moral-lesson/</link>
      <pubDate>Mon, 03 Nov 2008 21:05:18 +0000</pubDate>
      <guid>https://cmdln.org/2008/11/03/parable-a-short-allegorical-story-designed-to-illustrate-or-teach-some-truth-religious-principle-or-moral-lesson/</guid>
      <description>&lt;p&gt;Rarely do I get emails that are worthy of even reading let alone sharing with others. This one however, is pretty funny, and seems to be fairly accurate.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Trust not DNS or How to properly move a website</title>
      <link>https://cmdln.org/2008/11/01/trust-not-dns-or-how-to-properly-move-a-website/</link>
      <pubDate>Sun, 02 Nov 2008 00:08:08 +0000</pubDate>
      <guid>https://cmdln.org/2008/11/01/trust-not-dns-or-how-to-properly-move-a-website/</guid>
      <description>&lt;p&gt;Recently I had to move a website that gets a fair amount of traffic. I prepared for this by lowering the TTL on the domains associated several weeks in advance to 600 seconds. Originally my plan was to toss up a maintenance page on the old server, change the DNS, and figured that within a few hours max the vast majority of DNS servers would have the update being that TTL had been set at 600 seconds for several weeks and prior to that it was set at 48 hours. This was all planned for the middle of the night on a weekend (very slow traffic time). I was in for a rude awakening the next morning.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why you should bottom post &#43; small rant</title>
      <link>https://cmdln.org/2008/10/30/why-you-should-bottom-post-small-rant/</link>
      <pubDate>Fri, 31 Oct 2008 05:28:48 +0000</pubDate>
      <guid>https://cmdln.org/2008/10/30/why-you-should-bottom-post-small-rant/</guid>
      <description>&lt;p&gt;Proper email form (specifically top vs bottom posting) is something that has been on my mind lately. I am trying to share the benefits of trimming and bottom posting with my co-workers. They don’t seem to be taking kindly to it.&lt;/p&gt;&#xA;&lt;p&gt;I would say my largest pet peeve when trying to teach good email habits is the “It takes to long” comment. In a business setting this sends shooting pains through my bones. Essentially you are saying the customer is not deserving or worth the time to take a few extra seconds when crafting a response.&lt;/p&gt;&#xA;&lt;p&gt;If your interested in what my thoughts on top vs bottom posting read on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why you should give your sysadmin a day off</title>
      <link>https://cmdln.org/2008/10/28/why-you-should-give-your-sysadmin-a-day-off/</link>
      <pubDate>Wed, 29 Oct 2008 03:43:49 +0000</pubDate>
      <guid>https://cmdln.org/2008/10/28/why-you-should-give-your-sysadmin-a-day-off/</guid>
      <description>We will eventually go crazy without some rest. Looks like solaris cluster may have saved the day. Us Linux admins unfortunately do not have ZFS.&#xA;Share and Enjoy: </description>
    </item>
    <item>
      <title>Vim &#43; wordpress == vimpress, happiness</title>
      <link>https://cmdln.org/2008/10/26/vim-wordpress-vimpress-happiness/</link>
      <pubDate>Sun, 26 Oct 2008 15:37:48 +0000</pubDate>
      <guid>https://cmdln.org/2008/10/26/vim-wordpress-vimpress-happiness/</guid>
      <description>&lt;p&gt;I recently found a vim plug-in for WordPress. &lt;a href=&#34;http://friggeri.net/blog/2007/07/13/vimpress&#34;&gt;Vimpress&lt;/a&gt; allows your to write and edit your blog posts directly from vim. Sure it has its limitations. There does not appear to be support for future data publishing or drafts. But overall its a much better experience to write in vim than the built in editor.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Secure git hosting with gitosis</title>
      <link>https://cmdln.org/2008/10/25/secure-git-hosting-with-gitosis/</link>
      <pubDate>Sun, 26 Oct 2008 05:50:59 +0000</pubDate>
      <guid>https://cmdln.org/2008/10/25/secure-git-hosting-with-gitosis/</guid>
      <description>I hope you are already using ssh keys, but just in case your not go ahead and generate one with ssh-keygen -t rsa (you should do this on your local box)&#xA;You may as well go ahead and copy your publick key to your git server now as well.&#xA;scp ~/.ssh/id_rsa.pub gitserver:/tmp/ Log into your gitosis server&#xA;ssh gitserver Make sure setuptools is installed sudo aptitude install python-setuptools&#xA;git clone git://eagain.</description>
    </item>
    <item>
      <title>vimpress test</title>
      <link>https://cmdln.org/2008/10/25/vimpress-test/</link>
      <pubDate>Sun, 26 Oct 2008 02:49:58 +0000</pubDate>
      <guid>https://cmdln.org/2008/10/25/vimpress-test/</guid>
      <description>This is just a test post from vimpress. Vimpress is a vim plugin to post to wordpress. Seems there is an issue with not supporting the more tag, but it is much easier to write a post in vim than it is to use the builtin editor.</description>
    </item>
    <item>
      <title>Tip: Vim point in time recovery</title>
      <link>https://cmdln.org/2008/10/20/tip-vim-point-in-time-recovery/</link>
      <pubDate>Mon, 20 Oct 2008 19:19:07 +0000</pubDate>
      <guid>https://cmdln.org/2008/10/20/tip-vim-point-in-time-recovery/</guid>
      <description>Hopefully you know how to undo and redo in vim using u and Ctrl-R. But with newer versions of vim you get point in time recovery. with :earlier. Give it a shot, make some changes to a script and then try :earlier 1m. Very cool and an easy way to undo a bunch of changes.</description>
    </item>
    <item>
      <title>Vim customization for python</title>
      <link>https://cmdln.org/2008/10/18/vim-customization-for-python/</link>
      <pubDate>Sat, 18 Oct 2008 19:19:06 +0000</pubDate>
      <guid>https://cmdln.org/2008/10/18/vim-customization-for-python/</guid>
      <description>&lt;p&gt;Python seems to keep growing on me. By no means am I a Python master, nor am I a vim guru but I do prefer to use vim over a gui editor. Sure there are some niceties with using a gui but getting comfortable using a tool that is almost always at your disposal has something to be said for it. Adding a few things to your vim environment will make writing python much more pleasurable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>10 Traits of a Successful SysAdmin</title>
      <link>https://cmdln.org/2008/08/29/10-traits-of-a-successful-sysadmin/</link>
      <pubDate>Fri, 29 Aug 2008 07:56:58 +0000</pubDate>
      <guid>https://cmdln.org/2008/08/29/10-traits-of-a-successful-sysadmin/</guid>
      <description>&lt;p&gt;I was recently asked how I became a Systems Administrator. I answered with the normal story of my life and moved on. However, it got me thinking about what has actually led me to where I am. A colleague of mine had recently mentioned how people love top x lists and best x lists so I sat down and came up with my list of top 10 traits of a Systems Administrator.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Console sharing without setuid gnu screen</title>
      <link>https://cmdln.org/2008/08/25/console-sharing-without-setuid-gnu-screen/</link>
      <pubDate>Mon, 25 Aug 2008 21:34:33 +0000</pubDate>
      <guid>https://cmdln.org/2008/08/25/console-sharing-without-setuid-gnu-screen/</guid>
      <description>&lt;p&gt;I mentioned in my last post &lt;a href=&#34;http://www.cmdln.org/2008/08/13/shared-console-sessions/&#34;&gt;Shared console sessions&lt;/a&gt; that I would have an update to get near same functionality without setuid of the screen binary. Well here it is. Hopefully you are aware of expect and how it can be used to automate interactive programs like telnet. Expect is has many more uses that people are exploiting. Enter kibitz.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Shared console sessions</title>
      <link>https://cmdln.org/2008/08/13/shared-console-sessions/</link>
      <pubDate>Thu, 14 Aug 2008 01:14:34 +0000</pubDate>
      <guid>https://cmdln.org/2008/08/13/shared-console-sessions/</guid>
      <description>&lt;p&gt;I have had several posts regarding screen. Hopefully you have already realized the greatness of screen. Screen has a great feature that allows screen sessions to be shared. To my knowledge there are two ways to use this feature. First you can connect to a screen multiple times as the same user. Second you can use the multiuser mode of screen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Backdoor corporate sabotage with DNS</title>
      <link>https://cmdln.org/2008/07/09/backdoor-corporate-sabotage-with-dns/</link>
      <pubDate>Thu, 10 Jul 2008 01:07:45 +0000</pubDate>
      <guid>https://cmdln.org/2008/07/09/backdoor-corporate-sabotage-with-dns/</guid>
      <description>&lt;p&gt;I’m not really certain how common corporate sabotage is. Sure there are DOS attacks daily on this or that network or this or that server but what percentage of those are script kiddies and what percentage are well thought out planned attacks designed to cripple a competitor even if only for a short time. Typically DOS attacks are dealt with by Server and Network Admins adding black holes to offending networks. Recently while doing some research I stumbled on what seems to be a neglected DNS attack. One that the target may not become aware of until the next billing cycle or if carried out methodically months.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Change KDE 4 panel clock to 12hr from 24hr military</title>
      <link>https://cmdln.org/2008/06/15/change-kde-4-panel-clock-to-12hr-from-24hr-military/</link>
      <pubDate>Mon, 16 Jun 2008 01:43:05 +0000</pubDate>
      <guid>https://cmdln.org/2008/06/15/change-kde-4-panel-clock-to-12hr-from-24hr-military/</guid>
      <description>&lt;p&gt;It’s not that I can not read 24 hour time, it’s just a pain to deal with on a daily basis. I was raised with 12 hr, and its just quicker for me to read. So if you are running KDE4 and you would prefer 12 hour format in your panel read on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dynamic Reverse Proxy with Apache, mod_rewrite, and mod_proxy</title>
      <link>https://cmdln.org/2008/06/10/dynamic-reverse-proxy-with-apache-mod_rewrite-and-mod_proxy/</link>
      <pubDate>Tue, 10 Jun 2008 13:50:27 +0000</pubDate>
      <guid>https://cmdln.org/2008/06/10/dynamic-reverse-proxy-with-apache-mod_rewrite-and-mod_proxy/</guid>
      <description>&lt;p&gt;Recently I found myself wanting to expose more and more internal web services to the outside. We have an internal mail caching server, ticket system, a handful of development sites, as well as several other internal web services that would be handy to access from remote locations. If you have internal dns, and your dns heirichy is sane you can probably use the same trick I did to allow any internal webservice that has a proper fqdn to work from outside your local LAN. I used Apache2, mod_proxy, and mod_rewrite. Only a few lines need to be altered in the default apache site install.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Slowdown VMware Bios Screen</title>
      <link>https://cmdln.org/2008/05/03/slowdown-vmware-bios-screen/</link>
      <pubDate>Sat, 03 May 2008 22:35:04 +0000</pubDate>
      <guid>https://cmdln.org/2008/05/03/slowdown-vmware-bios-screen/</guid>
      <description>&lt;p&gt;Working with virtual machines after having worked with physical machines can be a wonderful experience. Wonderful that is until the bios scree blows past you several times.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Cpanel WHM inside Centos 5.1 domU</title>
      <link>https://cmdln.org/2008/05/01/cpanel-whm-inside-centos-51-domu/</link>
      <pubDate>Fri, 02 May 2008 00:19:53 +0000</pubDate>
      <guid>https://cmdln.org/2008/05/01/cpanel-whm-inside-centos-51-domu/</guid>
      <description>&lt;p&gt;I needed to install cpanel inside of one of my Centos 5.1 domU. The centos install was bootstrapped by the default rinse configuration (see &lt;a href=&#34;http://www.xen-tools.org/software/xen-tools/&#34;&gt;xen-tools&lt;/a&gt; with my &lt;a href=&#34;http://www.cmdln.org/images/wp-content/uploads/2008/04/rinse-centos5.patch&#34;&gt;patch&lt;/a&gt; that you can see from a &lt;a href=&#34;http://www.cmdln.org/2008/04/25/xen-installing-centos-5-domu-inside-debian-etch-dom0-with-xen-tools-and-rinse-the-patch-to-fix-it/&#34;&gt;previous post&lt;/a&gt;). If you follow the &lt;a href=&#34;http://www.cpanel.net/docs/vps/&#34;&gt;install docs&lt;/a&gt; you will have tried to uninstall openldap etc ….&lt;/p&gt;</description>
    </item>
    <item>
      <title>Review: Running Xen a Hands-On guide to the Art of Virtualization</title>
      <link>https://cmdln.org/2008/04/28/review-running-xen-a-hands-on-guide-to-the-art-of-virtualization/</link>
      <pubDate>Mon, 28 Apr 2008 23:32:23 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/28/review-running-xen-a-hands-on-guide-to-the-art-of-virtualization/</guid>
      <description>&lt;p&gt;A few days ago I finally got my copy of Running Xen. I was anxious to see how the information would be presented. I can tell you I was not disappointed.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Benchmark hard drive performance in Linux</title>
      <link>https://cmdln.org/2008/04/26/benchmark-hard-drive-performance-in-linux/</link>
      <pubDate>Sat, 26 Apr 2008 19:41:21 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/26/benchmark-hard-drive-performance-in-linux/</guid>
      <description>&lt;p&gt;Bonnie is a great tool to use to benchmark your file system. Just a quick tip on using bonnie.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Xen installing Centos 5 domU inside debian etch dom0 with xen-tools and rinse: the patch to fix it</title>
      <link>https://cmdln.org/2008/04/25/xen-installing-centos-5-domu-inside-debian-etch-dom0-with-xen-tools-and-rinse-the-patch-to-fix-it/</link>
      <pubDate>Fri, 25 Apr 2008 18:12:51 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/25/xen-installing-centos-5-domu-inside-debian-etch-dom0-with-xen-tools-and-rinse-the-patch-to-fix-it/</guid>
      <description>&lt;p&gt;After more testing I have narrowed the issue that I left off with to a problem with the yum conf inside of the chroot.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Xen installing Centos 5 domU inside debian etch dom0 with xen-tools and rinse</title>
      <link>https://cmdln.org/2008/04/25/xen-installing-centos-5-domu-inside-debian-etch-dom0-with-xen-tools-and-rinse/</link>
      <pubDate>Fri, 25 Apr 2008 13:27:59 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/25/xen-installing-centos-5-domu-inside-debian-etch-dom0-with-xen-tools-and-rinse/</guid>
      <description>&lt;p&gt;At work I am just beginning the process of migrating from a hosted dedicated server to a Xen instance on a new server we have. Our dedicated server runs centos, and has WHM cpanel installed. So I figured it would be a good thing to have cpanel again as several people are familiar with it, and we do host a few random websites for people still. Cpanel does not support debian to my knowledge so Centos 5 sounds like the best way to go.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Purge previously uninstalled packages in debian</title>
      <link>https://cmdln.org/2008/04/18/purge-previously-uninstalled-packages-in-debian/</link>
      <pubDate>Sat, 19 Apr 2008 05:33:14 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/18/purge-previously-uninstalled-packages-in-debian/</guid>
      <description>&lt;p&gt;Recently I ordered a server with Debian etch. Unfortunately during testing I noticed that startx was on the system, along with a whole slew of other junk that I don’t generally want on a fresh server. I wanted to remove all of the cruft but I didn’t have the exact package list.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fix virtual email address maildir permissions in Cpanel</title>
      <link>https://cmdln.org/2008/04/17/fix-virtual-email-address-maildir-permissions-in-cpanel/</link>
      <pubDate>Thu, 17 Apr 2008 23:34:20 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/17/fix-virtual-email-address-maildir-permissions-in-cpanel/</guid>
      <description>&lt;p&gt;Im not a big fan of cpanel but I do manage a server that runs it. Recently some update was pushed down that caused about 50% of my users to not be able to access mail. It all boiled down to a permission issue that the cpanel scripts /scripts/mailperm did not take care of. Their scripts do not correct the permissions of the virtual user maildirs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pfsense outbound ftp with multiwan</title>
      <link>https://cmdln.org/2008/04/16/pfsense-outbound-ftp-with-multiwan/</link>
      <pubDate>Wed, 16 Apr 2008 23:19:00 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/16/pfsense-outbound-ftp-with-multiwan/</guid>
      <description>If you use multiwan with pfsense and like me you have issues making outbound ftp connections try disabling the userland FTP-Proxy application on the LAN interface. It may stop you from being able to do active ftp connections but at least you can use ftp. With it enabled I was unable to make any outbound ftp connections active or passive.</description>
    </item>
    <item>
      <title>Reset dell 1700 series photoconducter</title>
      <link>https://cmdln.org/2008/04/15/reset-dell-1700-series-photoconducter/</link>
      <pubDate>Wed, 16 Apr 2008 03:50:16 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/15/reset-dell-1700-series-photoconducter/</guid>
      <description>&lt;p&gt;Ok I hate printers. If anyone has an aged dell 1700 series printer that prints out pages that say to replace the imaging drum over and over (even after replacing it) then you will like this tip.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sphinx init script for RHEL3</title>
      <link>https://cmdln.org/2008/04/14/sphinx-init-script-for-rhel3/</link>
      <pubDate>Mon, 14 Apr 2008 23:36:07 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/14/sphinx-init-script-for-rhel3/</guid>
      <description>&lt;p&gt;Had some planned maintenance on one of our servers this weekend. After bringing the server back up I forgot to start searchd for sphinx. Don’t want that to happen again so I wrote a quick init script for searchd.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Analyzing linux system performance and finding bottle necks</title>
      <link>https://cmdln.org/2008/04/13/analyzing-linux-system-performance-and-finding-bottle-necks/</link>
      <pubDate>Mon, 14 Apr 2008 02:29:17 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/13/analyzing-linux-system-performance-and-finding-bottle-necks/</guid>
      <description>&lt;p&gt;System performance analytics seems to be a frequent question on forums and mailing lists. Finding out why something is slow is generally nontrivial as there are many factors to consider. I have found the sysstat package to be an invaluable tool when looking at system performance. Specifically the command sar gives a wealth of information.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Command Line Ticketing System</title>
      <link>https://cmdln.org/2008/04/11/command-line-ticketing-system/</link>
      <pubDate>Fri, 11 Apr 2008 18:53:16 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/11/command-line-ticketing-system/</guid>
      <description>&lt;p&gt;As I have said before life at the terminal is a joy. I constantly struggle with keeping myself organized. I actually work pretty well keeping most things in my head. But one of these days I’m going to fall down and hit my head and forget everything. So try and try again to keep myself organized and documented do I. I was recently pointed to &lt;a href=&#34;http://github.com/schacon/ticgit/tree/master&#34;&gt;TicGit&lt;/a&gt; its a ticketing system that is meant to integrate right into your repository. Well I’m not a developer but I can see the benefit for a terminal todo list and general ticketing for myself as well as my little script repository that is actually maintained in git. Well ok maybe maintained is a bit strong of a word. Anyway on to the good stuff.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Match string and print preceding line</title>
      <link>https://cmdln.org/2008/04/10/match-string-and-print-preceding-line/</link>
      <pubDate>Thu, 10 Apr 2008 19:59:52 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/10/match-string-and-print-preceding-line/</guid>
      <description>&lt;p&gt;Text processing is fun. Well, fun if you like to beat your head against a wall. Most of the time I just string a few things together to get whatever I am doing done. Its much better to find the shortest way to do something, it spawns less processes, is more efficient and generally a good idea. So if you have ever wanted to match a string from some given output and only print the preceding line here you go.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Patching vmware for 2.6.24</title>
      <link>https://cmdln.org/2008/04/09/patching-vmware-for-2624/</link>
      <pubDate>Wed, 09 Apr 2008 18:45:52 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/09/patching-vmware-for-2624/</guid>
      <description>&lt;p&gt;So as I previously said I have updated to Hardy Haron and along with it comes a new kernel that does not work out of the box with vmware. You need to patch your vmnet and vmmon sources to get it working again. So I went ahead and wrote a script to make the process a bit faster.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Find and delete old files in linux redux</title>
      <link>https://cmdln.org/2008/04/09/find-and-delete-old-files-in-linux-redux/</link>
      <pubDate>Wed, 09 Apr 2008 15:21:09 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/09/find-and-delete-old-files-in-linux-redux/</guid>
      <description>&lt;p&gt;After some lovely &lt;a href=&#34;http://www.cmdln.org/2008/04/08/find-and-delete-old-files-in-linux/#comment-360&#34;&gt;feedback&lt;/a&gt; from &lt;a href=&#34;http://stsimb.irc.gr/&#34;&gt;Sotiris Tsimbonis&lt;/a&gt; on my last post &lt;a href=&#34;http://www.cmdln.org/2008/04/08/find-and-delete-old-files-in-linux&#34;&gt;Find and delete old files in linux&lt;/a&gt; I have a better (faster) way to delete files.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Find and delete old files in linux</title>
      <link>https://cmdln.org/2008/04/08/find-and-delete-old-files-in-linux/</link>
      <pubDate>Tue, 08 Apr 2008 23:47:58 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/08/find-and-delete-old-files-in-linux/</guid>
      <description>&lt;p&gt;I have a few of those directories that files tend to pile up in. I don’t need the files but I also don’t take the time to delete them. Pruning these old files is a good thing to keep your used disk space under control as well as your sanity. Find is a great tool to do this, its extremely flexible I recommend you read the man page next time your bored.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ctime, atime, and mtime</title>
      <link>https://cmdln.org/2008/04/07/ctime-atime-and-mtime/</link>
      <pubDate>Mon, 07 Apr 2008 23:16:44 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/07/ctime-atime-and-mtime/</guid>
      <description>&lt;p&gt;It is important to distinguish between a file or directory’s change time (ctime), access time (atime), and modify time (mtime).&lt;/p&gt;</description>
    </item>
    <item>
      <title>SyntaxHighlighter Plus Patch</title>
      <link>https://cmdln.org/2008/04/07/syntaxhighlighter-plus-patch/</link>
      <pubDate>Mon, 07 Apr 2008 06:04:59 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/07/syntaxhighlighter-plus-patch/</guid>
      <description>&lt;p&gt;Disclaimer: I did not write the bash support for &lt;a href=&#34;http://code.google.com/p/syntaxhighlighter/&#34; title=&#34;syntaxhighlighter&#34;&gt;syntaxhighlighter&lt;/a&gt; bboy.mr.freeze did and it can also be found &lt;a href=&#34;http://bboy.mr.freeze.googlepages.com/shBrushBash.js&#34;&gt;here&lt;/a&gt; . All I did was take that, and modify &lt;a href=&#34;http://thislab.com/2007/12/16/release-wordpress-plugin-syntaxhighlighter-plus/&#34;&gt;SyntaxHighlighter Plus&lt;/a&gt; to take advantage of it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Testing Email Manually with Telnet (spoofing email)</title>
      <link>https://cmdln.org/2008/04/06/testing-email-manually-with-telnet-spoofing-email/</link>
      <pubDate>Sun, 06 Apr 2008 17:15:35 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/06/testing-email-manually-with-telnet-spoofing-email/</guid>
      <description>&lt;p&gt;Being able to send email manually seems to be a bit of a lost art. It is extremely handy to know how to use telnet to send email for testing procmail filters, and any other part of your mail system. It can also be fun to spoof email to a friend or co-worker. Read on for a quick run down.&lt;/p&gt;</description>
    </item>
    <item>
      <title>NetworkManager funkyness (knetworkmanager)</title>
      <link>https://cmdln.org/2008/04/05/networkmanager-funkyness-knetworkmanager/</link>
      <pubDate>Sun, 06 Apr 2008 04:38:29 +0000</pubDate>
      <guid>https://cmdln.org/2008/04/05/networkmanager-funkyness-knetworkmanager/</guid>
      <description>&lt;p&gt;Ok so this is the opposite of what I generally use but its been annoying me and I just figured out what was causing it so I figured I would share it. I am currently running Kubuntu Hardy Haron but this problem was present when I installed my first Ubuntu varient Gutsy Gibbon.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spice up your bash prompt redux | A nice .screenrc redux with screencast</title>
      <link>https://cmdln.org/2008/02/24/spice-up-your-bash-prompt-redux-a-nice-screenrc-redux-with-screencast/</link>
      <pubDate>Mon, 25 Feb 2008 05:16:50 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/24/spice-up-your-bash-prompt-redux-a-nice-screenrc-redux-with-screencast/</guid>
      <description>&lt;p&gt;This is more or less going to be an addendum to my last post as well as an update to my previous screenrc post. About 5 minutes after posting I realized that my additions to my prompt broke some new additions to new screenrc settings.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Spice up your bash prompt</title>
      <link>https://cmdln.org/2008/02/24/spice-up-your-bash-prompt/</link>
      <pubDate>Mon, 25 Feb 2008 03:59:17 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/24/spice-up-your-bash-prompt/</guid>
      <description>&lt;p&gt;I spend a lot of my time sitting in front of terminals if you have not yet guessed. When dealing with different user accounts across different systems and a plethora of terminals open its nice to have a bit of information about who you are, and where you are. I also like to be able to easily differentiate output from different commands. If your interested read on.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Get around that pesky firewall filtering with tsocks</title>
      <link>https://cmdln.org/2008/02/12/get-around-that-pesky-firewall-filtering-with-tsocks/</link>
      <pubDate>Tue, 12 Feb 2008 18:12:18 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/12/get-around-that-pesky-firewall-filtering-with-tsocks/</guid>
      <description>&lt;p&gt;I generally don’t have any issues knowing someone might be snooping on a bit of my traffic. However there are times you may want your traffic to be a bit more private. For example if your boss is a raging tyrant and your looking for a new job, and you know the sky would fall if he found out you emailed or happened to be on Career Builder or for that matter had even the slightest idea of abandoning him. Yes I am recounting something from my past, hey at least its distant past :). So if you find yourself in that situation read on for how to use tsocks and ssh as a simple proxy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Restricting SSH commands</title>
      <link>https://cmdln.org/2008/02/11/restricting-ssh-commands/</link>
      <pubDate>Mon, 11 Feb 2008 06:01:54 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/11/restricting-ssh-commands/</guid>
      <description>&lt;p&gt;SSH is a powerful tool. When combined with ssh keys, it becomes easy to automate remote procedures like backups. However leaving key access wide open can be a bad idea. It is possible to use restrict ssh keys to specific commands, even coming from specific hosts. There is this nice little perl script called &lt;a HREF=&#34;http://www.hackinglinuxexposed.com/tools/authprogs&#34;&gt;Authprogs&lt;/a&gt; that makes this somewhat easier. Ill show you how to use authprogs for an automated rsync over ssh.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Zabbix 1.4.4 from source on Debian Etch</title>
      <link>https://cmdln.org/2008/02/10/zabbix-144-from-source-on-debian-etch/</link>
      <pubDate>Mon, 11 Feb 2008 02:00:27 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/10/zabbix-144-from-source-on-debian-etch/</guid>
      <description>&lt;p&gt;This guide will walk you through installing Zabbix 1.4.4 from source on debian etch. 1.4.4 has many improvements over what is currently available in apt, and its not hard so you might as well do it this way. *Note: this walkthrough assumes that you will be running the zabbix database on the same machine as the frontend. You dont have to obviously, just do the mysql setup on whatever db server you are using and point the necessary things to it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reset mysql root password</title>
      <link>https://cmdln.org/2008/02/09/reset-mysql-root-password/</link>
      <pubDate>Sat, 09 Feb 2008 15:13:03 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/09/reset-mysql-root-password/</guid>
      <description>&lt;p&gt;Have you ever forgotten the root password on one of your MySQL servers? No? Well maybe I’m not as perfect as you. This is a quick h00tow (how to) reset your MySQL root password. It does require root access on your server. If you have forgotten that password wait for another article.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Infrastructure monitoring with Zabbix</title>
      <link>https://cmdln.org/2008/02/08/infrastructure-monitoring-with-zabbix/</link>
      <pubDate>Fri, 08 Feb 2008 23:01:17 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/08/infrastructure-monitoring-with-zabbix/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;www.zabbix.com&#34;&gt;Zabbix&lt;/a&gt; is an opensource network monitoring application somewhat akin to &lt;a href=&#34;http://www.nagios.org/&#34;&gt;Nagios&lt;/a&gt; and &lt;a href=&#34;http://www.cacti.net&#34;&gt;Cacti&lt;/a&gt;. I have been using Zabbix for about 8 months, and I am pleased with its results.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A nice .screenrc</title>
      <link>https://cmdln.org/2008/02/08/a-nice-screenrc/</link>
      <pubDate>Fri, 08 Feb 2008 14:04:26 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/08/a-nice-screenrc/</guid>
      <description>Hopefully you already know about screen, its one of the best command line utilites I use. Here is a purty screenrc for you.&#xA;.screenrc</description>
    </item>
    <item>
      <title>Who have you delivered mail to?</title>
      <link>https://cmdln.org/2008/02/07/who-have-you-delivered-mail-to/</link>
      <pubDate>Fri, 08 Feb 2008 03:26:56 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/07/who-have-you-delivered-mail-to/</guid>
      <description>&lt;p&gt;The company I work for (&lt;a href=&#34;http://www.absorbentprinting.com&#34; mce_href=&#34;http://www.absorbentprinting.com&#34;&gt;Absorbent Ink&lt;/a&gt;) that makes &lt;a href=&#34;http://www.absorbentprinting.com/corporate-gifts&#34; mce_href=&#34;http://www.absorbentprinting.com/corporate-gifts&#34;&gt;corporate gifts&lt;/a&gt; and other &amp;lt;a href=&amp;ldquo;&lt;a href=&#34;http://www.absorbentprinting.com/unique&#34;&gt;http://www.absorbentprinting.com/unique&lt;/a&gt;_products.php&amp;rdquo; mce_href=&amp;ldquo;&lt;a href=&#34;http://www.absorbentprinting.com/unique_products.php%22%3Epersonalized&#34;&gt;http://www.absorbentprinting.com/unique_products.php&amp;quot;&amp;gt;personalized&lt;/a&gt; products&lt;/a&gt;. has started sending out a &lt;a href=&#34;http://www.absorbentprinting.com/scoop.php&#34; mce_href=&#34;http://www.absorbentprinting.com/scoop.php&#34;&gt;newsletter&lt;/a&gt;. Part of this newsletter process for me has been tuning one of our &lt;a href=&#34;http://www.exim.org&#34; mce_href=&#34;http://www.exim.org&#34;&gt;exim&lt;/a&gt; based mail servers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Print to PDF with cups.</title>
      <link>https://cmdln.org/2008/02/07/print-to-pdf-with-cups/</link>
      <pubDate>Fri, 08 Feb 2008 03:25:06 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/07/print-to-pdf-with-cups/</guid>
      <description>&lt;p&gt;Printing is a pain. I hate printers, I hate paper, but I also hate a bagillion book marks to places and things that may change over time. Its handy to have PDFs around as they are easily searchable, they preserve original layout and they print correctly when you want to print something. So for most of my printing I am printing to PDF and if I need a paper copy later I can always print out that PDF. True many applications can print or export to pdf currently. However using cups-pdf allows you to print to pdf anywhere you can print. Its great when combined with RDP too. For example at one point a &lt;a href=&#34;http://jgarrett.org&#34; mce_href=&#34;http://jgarrett.org&#34;&gt;freind&lt;/a&gt; of mine had to use GreatPlains for parts and order accounting in a production enviornment. GreatPlains allows you to print to screen in only some windows. However with cups-pdf he could print any screen he wished to pdf and view it on his screen.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Vmware disk recovery in linux</title>
      <link>https://cmdln.org/2008/02/07/vmware-disk-recovery-in-linux/</link>
      <pubDate>Fri, 08 Feb 2008 03:23:26 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/07/vmware-disk-recovery-in-linux/</guid>
      <description>&lt;p&gt;If you have ever had an issue with vmware or if you have been afraid of using vmware for fear that if something goes horribly wrong you may not be able to extract the information from your vmware image then this information should help you.&lt;/p&gt;</description>
    </item>
    <item>
      <title>What to do when your exim queue starts getting unruly.</title>
      <link>https://cmdln.org/2008/02/07/what-to-do-when-your-exim-queue-starts-getting-unruly/</link>
      <pubDate>Fri, 08 Feb 2008 03:22:20 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/07/what-to-do-when-your-exim-queue-starts-getting-unruly/</guid>
      <description>&lt;p&gt;Our exim mail server has been getting a bit flakey in the past several weeks. As far as I could tell it was being caused by junk mail getting caught in the queue. After a bit of research I believe I have found a combination of solutions that seems to do the trick (at least for me)&lt;/p&gt;</description>
    </item>
    <item>
      <title>Use bc for command line math</title>
      <link>https://cmdln.org/2008/02/07/use-bc-for-command-line-math/</link>
      <pubDate>Fri, 08 Feb 2008 03:21:15 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/07/use-bc-for-command-line-math/</guid>
      <description>&lt;p&gt;BC is a great math library. Its extremely flexible and can be easily used in scripts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A note about content.</title>
      <link>https://cmdln.org/2008/02/07/a-note-about-content/</link>
      <pubDate>Fri, 08 Feb 2008 03:02:58 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/07/a-note-about-content/</guid>
      <description>I am pulling in a few articles from my other site which are better suited here.</description>
    </item>
    <item>
      <title>Launched!</title>
      <link>https://cmdln.org/2008/02/06/launched/</link>
      <pubDate>Thu, 07 Feb 2008 05:09:44 +0000</pubDate>
      <guid>https://cmdln.org/2008/02/06/launched/</guid>
      <description>Well, I have been planning to launch this site for a while now. A place to pay homage to the all mighty terminal in all of its glory. Actually I’m sure some non-terminal things will get in here but really thats fine. Ultimately I hope this will be a place for people to waste a few minutes and maybe pick up a new tip.</description>
    </item>
    <item>
      <title>Fix terminal scrolling when inside GNU Screen</title>
      <link>https://cmdln.org/2007/07/31/fix-terminal-scrolling-when-inside-gnu-screen/</link>
      <pubDate>Tue, 31 Jul 2007 17:52:56 +0000</pubDate>
      <guid>https://cmdln.org/2007/07/31/fix-terminal-scrolling-when-inside-gnu-screen/</guid>
      <description>&lt;p&gt;My post on &lt;a href=&#34;http://www.cmdln.org/2007/07/20/automatic-session-logging-and-monitoring-with-gnu-screen-for-the-paranoid/&#34; mce_href=&#34;http://www.cmdln.org/2007/07/20/automatic-session-logging-and-monitoring-with-gnu-screen-for-the-paranoid/&#34;&gt; Automatic session logging and monitoring with GNU screen&lt;/a&gt; seems to have been well received. I have had more hits by far on that post today than ever before. I noticed a nagging issue with screen and a friend of mine Travis Cline pointed me to the fix.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automatic session logging and monitoring with GNU screen for the paranoid.</title>
      <link>https://cmdln.org/2007/07/20/automatic-session-logging-and-monitoring-with-gnu-screen-for-the-paranoid/</link>
      <pubDate>Fri, 20 Jul 2007 14:07:53 +0000</pubDate>
      <guid>https://cmdln.org/2007/07/20/automatic-session-logging-and-monitoring-with-gnu-screen-for-the-paranoid/</guid>
      <description>&lt;p&gt;Yes its been a while since I have checked in. Sorry I’ve just been too busy. But I have a great tip this time. Recently I had the need to do automatic session logging. A 3rd party was going to be logging into one of my servers to check out some software glitches that were happening. I love using GNU Screen for many shell tasks so using it for monitoring was logical. Screen is great for several reasons. First you can detach from it so you can leave the office, go home and re-attach and not have lost your place. Second, you can share another screen. It can be shared input or you can just watch what someone else is doing. Finally screen can do native logging. I wanted to automattically launch a screen session when somone logged in so if I happened to be on the server I could monitor them in real time. I also wanted a log of the session in case I wanted to look over it later or if I was not able to monitor the session live.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Xen and Gentoo</title>
      <link>https://cmdln.org/2006/09/11/xen-and-gentoo/</link>
      <pubDate>Mon, 11 Sep 2006 14:12:41 +0000</pubDate>
      <guid>https://cmdln.org/2006/09/11/xen-and-gentoo/</guid>
      <description>I am in the process of setting up Xen on one of my new servers. Just sticking some notes here. Will clean them up later&#xA;`I am in the process of setting up Xen on one of my new servers. Just sticking some notes here. Will clean them up later&#xA;` No need for kernel level ip address in xen config file set ip =”off”;&#xA;DO NOT SET eth0 to start on boot!</description>
    </item>
    <item>
      <title>Gentoo on Software RAID1</title>
      <link>https://cmdln.org/2006/09/04/gentoo-on-software-raid1/</link>
      <pubDate>Mon, 04 Sep 2006 14:10:32 +0000</pubDate>
      <guid>https://cmdln.org/2006/09/04/gentoo-on-software-raid1/</guid>
      <description>I am in the process of setting up one of my new servers. Yes my old dual pIII machines are going to retire. They are going to live in a “retirement community” :P. Any way This time around I am going to use a mirror to protect my data. I never experienced a hardware failure before but I figure better safe than sorry right? So I am going to outline the steps needed to boot from a RAID0.</description>
    </item>
    <item>
      <title>Disk Performance</title>
      <link>https://cmdln.org/2006/09/02/disk-performance/</link>
      <pubDate>Sat, 02 Sep 2006 14:05:38 +0000</pubDate>
      <guid>https://cmdln.org/2006/09/02/disk-performance/</guid>
      <description>So what kind of performance should people expect from a disk or raid?&#xA;How long should it take to create 100G file?&#xA;time dd if=/dev/zero of=mako1 bs=65536 count=163840&#xA;A customer of ours is using this to create a 10G file and its taking about 20 minutes to create the file on a 12 drive raid 5 with 3ware. After setting ra again (in case the customer did not) and I got about 18 minutes on the same command.</description>
    </item>
    <item>
      <title>How I org</title>
      <link>https://cmdln.org/about/how-i-org/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://cmdln.org/about/how-i-org/</guid>
      <description>Org-mode is my exocortex, second brain, second mind, mind palace, pensive, personal knowledge management system, and apocrypha. It&amp;rsquo;s very flexible and the features I use as well as how I organize my files continues to change so I collected things here to document how I do things. I try to snapshot this periodically, so you might be interested in checking out one of those:&#xA;[How I org in 2023](https://cmdln.org/2023/03/25/how-i-org-in-2023/) [How I org in 2024](https://cmdln.</description>
    </item>
  </channel>
</rss>
