<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Vertical Sysadmin, Inc.</title><link>https://verticalsysadmin.com/</link><description>Recent content on Vertical Sysadmin, Inc.</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 15 Sep 2017 00:00:00 +0000</lastBuildDate><atom:link href="https://verticalsysadmin.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Setting up CI/CD Pipelines course</title><link>https://verticalsysadmin.com/2017/09/15/setting-up-ci/cd-pipelines-course/</link><pubDate>Fri, 15 Sep 2017 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2017/09/15/setting-up-ci/cd-pipelines-course/</guid><description>&lt;p&gt;I&amp;rsquo;ll be teaching &amp;ldquo;Setting up CI/CD Pipelines&amp;rdquo; at &lt;a href="https://ohiolinux.org/olfi/"&gt;Ohio LinuxFest&lt;/a&gt; in Columbus on Sep 29th, and at &lt;a href="https://www.usenix.org/conference/lisa17/training-program/session/setting-cicd-pipelines"&gt;USENIX LISA&lt;/a&gt; in San Francisco on Oct 31st.&lt;/p&gt;
&lt;p&gt;My colleague Mike Weilgart will be teaching &lt;a href="https://www.usenix.org/conference/lisa17/training-program/session/git-foundations-unlocking-mysteries"&gt;Git Foundations: Unlocking the Mysteries&lt;/a&gt; at both conferences.&lt;/p&gt;
&lt;p&gt;We are available for training and consulting engagements.&lt;/p&gt;</description></item><item><title>Sysadmin war story: "The network ate my font!"</title><link>https://verticalsysadmin.com/2017/09/13/sysadmin-war-story-the-network-ate-my-font/</link><pubDate>Wed, 13 Sep 2017 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2017/09/13/sysadmin-war-story-the-network-ate-my-font/</guid><description>&lt;p&gt;About 15 years ago, I was the only UNIX sys admin in a factory, and I was asked to help with a &amp;ldquo;network issue&amp;rdquo; which hit the Help Desk.&lt;/p&gt;
&lt;p&gt;The problem, it was explained to me, was that the network was eating the &lt;a href="https://en.wikipedia.org/wiki/Magnetic_ink_character_recognition"&gt;MICR&lt;/a&gt; font (Magnetic Ink Character Recognition &amp;ndash; machine-readable font) on the checks.&lt;/p&gt;
&lt;p&gt;Look at the last line on the below check image for an example of MICR font.&lt;/p&gt;</description></item><item><title>What I learned at LISA 2016 conference</title><link>https://verticalsysadmin.com/2016/12/18/what-i-learned-at-lisa-2016-conference/</link><pubDate>Sun, 18 Dec 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/12/18/what-i-learned-at-lisa-2016-conference/</guid><description>&lt;p&gt;USENIX Annual Technical Conference and LISA are the first professional conferences I went to as a fledgeling sysadmin. USENIX will always hold a special place in my heart. I attribute my professional success to regular training at USENIX conferences.&lt;/p&gt;
&lt;p&gt;I really enjoyed LISA &amp;lsquo;16 in Boston.&lt;/p&gt;
&lt;p&gt;This year I exhibited, promoting our &lt;a href="http://www.verticalsysadmin.com/"&gt;training services&lt;/a&gt;. I learned that people are looking for training on Machine Learning (Big Data) and on Go; and I got to show Tom Limoncelli a success story from my &lt;a href="http://www.verticalsysadmin.com/tm4sa.htm"&gt;&amp;ldquo;Time Management for System Administrators&amp;rdquo;&lt;/a&gt; training at &lt;a href="https://ohiolinux.org/"&gt;Ohio Linux Fest&lt;/a&gt; that I had received just that morning.&lt;/p&gt;</description></item><item><title>Setting up a Postgres Sandbox</title><link>https://verticalsysadmin.com/2016/11/13/setting-up-a-postgres-sandbox/</link><pubDate>Sun, 13 Nov 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/11/13/setting-up-a-postgres-sandbox/</guid><description>&lt;p&gt;I&amp;rsquo;m a fan of disposable sandboxes using Vagrant and VirtualBox.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been using &lt;a href="https://en.wikipedia.org/wiki/PostgreSQL"&gt;Postgres&lt;/a&gt; on the job for nearly a year, and a while back I decided it was time to have a dedicated Postgres instance on my personal computer, on a virtual machine, just to play around with.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m using a Mac, but the steps below should work without change for Windows or Linux. Let me know in the comments if you run into any problems following these steps!&lt;/p&gt;</description></item><item><title>Bootstrapping CFEngine agent to a regional (AWS) hub</title><link>https://verticalsysadmin.com/2016/10/26/bootstrapping-cfengine-agent-to-a-regional-aws-hub/</link><pubDate>Wed, 26 Oct 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/10/26/bootstrapping-cfengine-agent-to-a-regional-aws-hub/</guid><description>&lt;p&gt;Hat tip to my DevOps buddy Joaquin Menchaca for this one-liner to find out what AWS region your VM is in:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;AWS_REGION=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone | sed -e 's/[a-z]$//')&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I am going to use it to bootstrap my Kubernetes VMs to the right CFEngine hub for their AWS region (i.e., to the local hub).&lt;/p&gt;</description></item><item><title>Looking up Postgres table name by id</title><link>https://verticalsysadmin.com/2016/10/24/looking-up-postgres-table-name-by-id/</link><pubDate>Mon, 24 Oct 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/10/24/looking-up-postgres-table-name-by-id/</guid><description>&lt;p&gt;When working with [TOAST][1] tables, I had the relid (relation or table id) of the parent table, and needed to get its name.&lt;/p&gt;
&lt;p&gt;Here is how to perform the lookup. For example, if the relid is 19665:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;SELECT relid, relname FROM pg_catalog.pg_statio_user_tables WHERE relid = '19665';&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Safely updating /etc/sudoers non-interactively</title><link>https://verticalsysadmin.com/2016/10/19/safely-updating-/etc/sudoers-non-interactively/</link><pubDate>Wed, 19 Oct 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/10/19/safely-updating-/etc/sudoers-non-interactively/</guid><description>&lt;p&gt;I recently added my account to /etc/sudoers on N servers using Ansible in raw mode (running a shell oneliner). We use visudo to edit /etc/sudoers when we are logged into a server, but since I was doing this in &amp;ldquo;batch&amp;rdquo; mode I wanted to do it non-interactively but still have the benefit of the file-locking and syntax checking and rollback that visudo provides. So I set visudo&amp;rsquo;s VISUAL environment variable to my external command:&lt;/p&gt;</description></item><item><title>Introducing Infrastructure Inventory with CFEngine Enterprise</title><link>https://verticalsysadmin.com/2016/10/05/introducing-infrastructure-inventory-with-cfengine-enterprise/</link><pubDate>Wed, 05 Oct 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/10/05/introducing-infrastructure-inventory-with-cfengine-enterprise/</guid><description>&lt;p&gt;CFEngine Enterprise makes it absurdly easy to track deployed servers. All you have to do is &lt;a href="https://cfengine.com/learn/installing-cfengine-enterprise-25-free-policyserver/"&gt;spin up a hub&lt;/a&gt;, &lt;a href="https://cfengine.com/learn/installing-cfengine-enterprise-25-free-hosts-clients/"&gt;install the lightweight agent&lt;/a&gt; on each host, and run &lt;code&gt;cf-agent --bootstrap &amp;lt;hub&amp;gt;&lt;/code&gt; to setup a trust relationship between hub and hosts. (If you need any help setting this up, let me know.)&lt;/p&gt;
&lt;p&gt;The agent will discover information about each host (hostname, address, OS version, disk utilization, packages installed, etc.) and the hub will collect and aggregate this data, so you can see at a glance things like, my OS inventory is 5% RHEL 4, 10% RHEL 5, 84% RHEL 6, and 1% RHEL 7.&lt;/p&gt;</description></item><item><title>CFEngine Inventory of Windows Server 2012</title><link>https://verticalsysadmin.com/2016/10/03/cfengine-inventory-of-windows-server-2012/</link><pubDate>Mon, 03 Oct 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/10/03/cfengine-inventory-of-windows-server-2012/</guid><description>&lt;p&gt;I am working on setting up a &amp;ldquo;reporting portal&amp;rdquo; CFEngine Enterprise hub to aggregate inventory from several hubs in different parts of a company (managed by different organizations). This one &amp;ldquo;superhub&amp;rdquo; would allows executives instant insight into infrastructure integrity.&lt;/p&gt;
&lt;p&gt;While demonstrating my prototype, an executive liked the idea of having data at her fingertips so much, she asked, can we put our Windows servers into CFEngine?&lt;/p&gt;
&lt;p&gt;I said sure, but CFEngine inventory on Windows is not as detailed as it is for UNIX and Linux. The next question naturally then is how detailed is it?&lt;/p&gt;</description></item><item><title>You think our training is expensive?</title><link>https://verticalsysadmin.com/2016/09/08/you-think-our-training-is-expensive/</link><pubDate>Thu, 08 Sep 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/09/08/you-think-our-training-is-expensive/</guid><description>&lt;p&gt;I charge US $3,000 per training day, plus a US $2,000 admin fee, to come on-site and train up to 12 staff using a training methodology that ensure that deep learning occurs. Some people have pushed back on the price as too expensive.&lt;/p&gt;
&lt;p&gt;As Red Adair, the firefighter specializing in putting out oil well fires, once said:&lt;/p&gt;
&lt;p&gt;“If you think it’s expensive to hire a professional to do the job, wait until you hire an amateur.”&lt;/p&gt;</description></item><item><title>Graphing within psql</title><link>https://verticalsysadmin.com/2016/08/14/graphing-within-psql/</link><pubDate>Sun, 14 Aug 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/08/14/graphing-within-psql/</guid><description>&lt;p&gt;I mentioned this &lt;a href="https://news.ycombinator.com/item?id=5215040"&gt;on HN&lt;/a&gt; years ago but it&amp;rsquo;s nifty so add it here.&lt;/p&gt;
&lt;p&gt;You can graph SQL output with &lt;a href="http://www.gnuplot.info/"&gt;gnuplot&lt;/a&gt; without leaving the &lt;a href="http://postgresguide.com/utilities/psql.html"&gt;psql&lt;/a&gt; (Postgres client) command-line.&lt;/p&gt;
&lt;p&gt;Because @fusiongyro commented &amp;ldquo;This is incredible! I only wish it were a little easier to do on the fly,&amp;rdquo; I inquired on the amazingly helpful &lt;a href="https://www.postgresql.org/list/pgsql-general/"&gt;pgsql-general&lt;/a&gt; list.&lt;/p&gt;
&lt;p&gt;There are two approaches: client-side and server-side.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Ian Barwick &lt;a href="https://www.postgresql.org/message-id/CAB8KJ=j5J8w22=SY1FgRWgkREizYEjAOsK5j+K20iS49+gS5_Q@mail.gmail.com"&gt;explained&lt;/a&gt; how to put all the prep stuff into a psql script, define your query and invoke the script.&lt;/p&gt;</description></item><item><title>Binding an SSH launcher to a GNU Screen hotkey</title><link>https://verticalsysadmin.com/2016/08/13/binding-an-ssh-launcher-to-a-gnu-screen-hotkey/</link><pubDate>Sat, 13 Aug 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/08/13/binding-an-ssh-launcher-to-a-gnu-screen-hotkey/</guid><description>&lt;p&gt;I have a confession to make. I use SSH to access servers.&lt;/p&gt;
&lt;p&gt;I tell the sysadmins I teach to make changes to their servers using &lt;a href="http://www.cfengine.com/"&gt;configuration management&lt;/a&gt;, but:&lt;/p&gt;
&lt;p&gt;(a) most clients I work with are just starting to use configuration management so we use SSH to access the systems that aren&amp;rsquo;t under in configuration management yet, and&lt;/p&gt;
&lt;p&gt;(b) I enjoy troubleshooting issues rather than just shooting my IT infrastructure in the head and instantiating a new one that might have the same issue. But this post isn&amp;rsquo;t about immutable infrastructures. It&amp;rsquo;s about SSHing to servers.&lt;/p&gt;</description></item><item><title>Time Management and Git training at Ohio Linux Fest</title><link>https://verticalsysadmin.com/2016/07/29/time-management-and-git-training-at-ohio-linux-fest/</link><pubDate>Fri, 29 Jul 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/07/29/time-management-and-git-training-at-ohio-linux-fest/</guid><description>&lt;p&gt;I am pleased to announce that Mike Weilgart and I will be delivering professional training for &lt;a href="https://ohiolinux.org/olfi/"&gt;Ohio Linux Fest Institute&lt;/a&gt; in October.&lt;/p&gt;
&lt;p&gt;I will teach &amp;ldquo;Time Management for System Administrators&amp;rdquo; and Mike will teach &amp;ldquo;Git Foundations: Unlocking the Mysteries&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;You can now &lt;a href="https://ohiolinux.org/registration/"&gt;register&lt;/a&gt; for Ohio Linux Fest.&lt;/p&gt;
&lt;p&gt;On a personal note, I enjoy walking about Columbus, lots of history there, and I love walking into &lt;a href="https://germanvillage.com/what-to-expect/"&gt;German Village&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Using Ansible to change sshd configuration</title><link>https://verticalsysadmin.com/2016/07/28/using-ansible-to-change-sshd-configuration/</link><pubDate>Thu, 28 Jul 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/07/28/using-ansible-to-change-sshd-configuration/</guid><description>&lt;p&gt;One of my clients is at the ssh &amp;ldquo;for&amp;rdquo; loop stage of automation maturity, so I installed Ansible. Because of selinux and Python version issues, I&amp;rsquo;m using the &amp;ldquo;raw&amp;rdquo; mode (which doesn&amp;rsquo;t require Python on the hosts, it just runs raw shell commands).&lt;/p&gt;
&lt;p&gt;What follows is an example of using Ansible raw mode to make changes at scale.&lt;/p&gt;
&lt;h2 id="problem"&gt;Problem&lt;/h2&gt;
&lt;p&gt;A developer requested:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Please, activate these option on XYZ servers in the /etc/ssh/sshd_config so I can stay connected while debugging:&lt;/p&gt;</description></item><item><title>Infrastructure Management at Scale</title><link>https://verticalsysadmin.com/2016/07/26/infrastructure-management-at-scale/</link><pubDate>Tue, 26 Jul 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/07/26/infrastructure-management-at-scale/</guid><description>&lt;p&gt;I recently spoke at &lt;a href="http://ict-dm.net/faculty-pd/dmec"&gt;Digital Media Educators Conference&lt;/a&gt; (DMEC) on Infrastructure Management at Scale and the skills educators need to impart to up and coming system administrators.&lt;/p&gt;
&lt;p&gt;This conference serves the California community college system, which is dear to my heart. My mother worked at &lt;a href="http://www.wlac.edu/"&gt;West Los Angeles College&lt;/a&gt; library her entire professional life in America, since we arrived in 1988. I used to volunteer and help her out with shelving in the summer. I was a very poor helper since I kept getting distracted by all the delicous books and did more reading than shelving.&lt;/p&gt;</description></item><item><title>CFEngine Enterprise tip: showing hosts that have a broken RPM database</title><link>https://verticalsysadmin.com/2016/07/16/cfengine-enterprise-tip-showing-hosts-that-have-a-broken-rpm-database/</link><pubDate>Sat, 16 Jul 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/07/16/cfengine-enterprise-tip-showing-hosts-that-have-a-broken-rpm-database/</guid><description>&lt;p&gt;RPM database corruption is a common problem on Red Hat Linux systems at scale.&lt;/p&gt;
&lt;p&gt;When it happens, you have to rebuild the RPM database: - &lt;a href="https://access.redhat.com/solutions/6903"&gt;https://access.redhat.com/solutions/6903&lt;/a&gt; - &lt;a href="http://www.cyberciti.biz/tips/rebuilding-corrupted-rpm-database.html"&gt;http://www.cyberciti.biz/tips/rebuilding-corrupted-rpm-database.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I am working on automating this repair with CFEngine. In the meantime, here is a Custom Report to identify these systems:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;-- Aleksey Tsalolikhin, 12 July 2016
-- Show hosts that have broken RPM databases
select hosts.hostname,changetimestamp
from promiseexecutions
inner join hosts on promiseexecutions.hostkey = hosts.hostkey
where logmessages::text ilike &amp;#39;%rpm%db3%&amp;#39;
and changetimestamp &amp;gt; current_timestamp - &amp;#39;24 hours&amp;#39;::interval
order by changetimestamp;
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Why I credit my career success to USENIX LISA training</title><link>https://verticalsysadmin.com/2016/07/16/why-i-credit-my-career-success-to-usenix-lisa-training/</link><pubDate>Sat, 16 Jul 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/07/16/why-i-credit-my-career-success-to-usenix-lisa-training/</guid><description>&lt;p&gt;I encourage *nix sysadmins to go to the annual &lt;a href="https://www.usenix.org/conference/lisa16"&gt;USENIX LISA conference&lt;/a&gt; and avail themselves of the training there.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.usenix.org/about"&gt;USENIX&lt;/a&gt; is &lt;strong&gt;the&lt;/strong&gt; UNIX Users Group. Around since the seventies, it is now a global professional society spanning industry and academia.&lt;/p&gt;
&lt;p&gt;The LISA (Large Installation System Administration) conference offers a mix of talks, presentations, expo hall, social activities and formal tutorials (e.g., &lt;a href="https://www.usenix.org/conference/lisa15/training-program/full-training-program"&gt;last year&amp;rsquo;s program&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;I attribute my professional success to being connected with USENIX, to attending every LISA conference I can, getting as much training as I can and to the amazing people I&amp;rsquo;ve met at LISA, many of whom are now dear friends.&lt;/p&gt;</description></item><item><title>Dumping RPM metadata</title><link>https://verticalsysadmin.com/2016/07/11/dumping-rpm-metadata/</link><pubDate>Mon, 11 Jul 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/07/11/dumping-rpm-metadata/</guid><description>&lt;p&gt;The other day, I wanted to find out which RPM metadata field was used to store the &amp;ldquo;el6&amp;rdquo; value in the &amp;ldquo;rpm -q&amp;rdquo; output for a package, e.g:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;[root@as-ws-pr-la-01 Desktop]# rpm -q kernel-2.6.32-504.el6.x86_64
kernel-2.6.32-504.el6.x86_64
[root@as-ws-pr-la-01 Desktop]#
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This came up because this output looks identical for CFEngine&amp;rsquo;s RHEL 4, 5 and 6 packages, even though there are two different packages involved.&lt;/p&gt;
&lt;p&gt;So I used this one-liner to dump all RPM metadata which should be that RELEASE was most likely the proper field to update:&lt;/p&gt;</description></item><item><title>Feedback from "Taming the Git Filesystem" talk on June 2nd, 2016</title><link>https://verticalsysadmin.com/2016/06/10/feedback-from-taming-the-git-filesystem-talk-on-june-2nd-2016/</link><pubDate>Fri, 10 Jun 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/06/10/feedback-from-taming-the-git-filesystem-talk-on-june-2nd-2016/</guid><description>&lt;p&gt;Mike Weilgart is going to &lt;a href="http://www.meetup.com/lopsala/events/231717204/"&gt;repeat&lt;/a&gt; his &amp;ldquo;Taming the Git Filesystem&amp;rdquo; talk on June 23rd in Burbank. In the meantime, here is what attendees said about the debut of this talk June 2nd at UUASC-LA/LOPSA-LA meetup:&lt;/p&gt;
&lt;p&gt;&amp;ldquo;You definitely filled out some conceptual holes.&amp;rdquo; Stephen Franklin Systems Engineer&lt;/p&gt;
&lt;p&gt;&amp;ldquo;I liked that it was approachable and assumed no prior knowledge.&amp;rdquo; Eric White Senior System Engineer&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Good foundational talk, Michael! Just as the description says, I&amp;rsquo;ve just learned enough about git to get my development work done. I occasionally find my ignorance of git&amp;rsquo;s foundation comes back to bite me in the rear. With this talk I can hope that happens less often.&amp;rdquo; George Wu Vice President of Engineering&lt;/p&gt;</description></item><item><title>Identifying critical unpatched vulnerabilities on a Red Hat system</title><link>https://verticalsysadmin.com/2016/05/31/identifying-critical-unpatched-vulnerabilities-on-a-red-hat-system/</link><pubDate>Tue, 31 May 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/05/31/identifying-critical-unpatched-vulnerabilities-on-a-red-hat-system/</guid><description>&lt;p&gt;These are some working notes for identifying critical unpatched vulnerabilities on a Red Hat Enterprise Linux system (version 6).&lt;/p&gt;
&lt;p&gt;If you install yum-security plugin, you can list security updates available and which CVEs they relate to, as well as their severity according to &lt;a href="https://access.redhat.com/security/updates/classification"&gt;Red Hat ratings system&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;yum update-info list cves available&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Identifying which unpatched CVEs (as returned by the yum-security plugin) are Critical according to &lt;a href="https://www.first.org/cvss"&gt;CVSS (Common Vulnerability Scoring System)&lt;/a&gt;, with score &amp;gt; 7:&lt;/p&gt;</description></item><item><title>Mario Obejas on "a replacement for bash?" and on writing production-grade code in any language.</title><link>https://verticalsysadmin.com/2016/05/29/mario-obejas-on-a-replacement-for-bash-and-on-writing-production-grade-code-in-any-language./</link><pubDate>Sun, 29 May 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/05/29/mario-obejas-on-a-replacement-for-bash-and-on-writing-production-grade-code-in-any-language./</guid><description>&lt;p&gt;Recently Yves Dorfsman asked on the &lt;a href="https://lists.lopsa.org/pipermail/tech/2016-May/017624.html"&gt;lopsa-tech&lt;/a&gt; mailing list:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;A lot of people love to hate bash, and there are good reasons for it, but it seems that there isn&amp;rsquo;t an obvious replacement for it. [&amp;hellip;] What do &lt;strong&gt;you&lt;/strong&gt; use? Do you see any clear winner to replace it on the horizon?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Mario Obejas, a popular occasional Instructor for Vertical Sysadmin, and living proof that there is &lt;a href="https://www.linkedin.com/in/mario-obejas-77b78a5"&gt;life after system administration&lt;/a&gt;, answered with this gem. This is the voice of 34 years of Software Development, Infrastructure, and Information Security experience, folks. (Thanks for allowing us to re-post it here, Mario!)&lt;/p&gt;</description></item><item><title>Ansible now available as an RPM</title><link>https://verticalsysadmin.com/2016/05/26/ansible-now-available-as-an-rpm/</link><pubDate>Thu, 26 May 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/05/26/ansible-now-available-as-an-rpm/</guid><description>&lt;p&gt;Ansible is now available as an RPM from the EPEL repo. It pulls in all the dependencies needed by Ansible (Python libraries, libyaml and sshpass). The RPM provides Ansible version 2.0.2.0 which includes a number of bug fixes including a security one (CVE-2016-3096). This is a lot easier to handle than fiddling with Python&amp;rsquo;s package manager of the day.&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;$ sudo yum install ansible
...
=============================================================================================================
Package Arch Version Repository Size
=============================================================================================================
Installing:
ansible noarch 2.0.2.0-1.el6 epel 2.9 M
Installing for dependencies:
PyYAML x86_64 3.10-3.1.el6 base 157 k
libyaml x86_64 0.1.3-4.el6_6 base 52 k
python-babel noarch 0.9.4-5.1.el6 base 1.4 M
python-crypto x86_64 2.0.1-22.el6 base 159 k
python-crypto2.6 x86_64 2.6.1-2.el6 epel 513 k
python-httplib2 noarch 0.7.7-1.el6 epel 70 k
python-jinja2-26 noarch 2.6-3.el6 epel 527 k
python-keyczar noarch 0.71c-1.el6 epel 219 k
python-paramiko noarch 1.7.5-2.1.el6 base 728 k
python-pyasn1 noarch 0.0.12a-1.el6 base 70 k
python-simplejson x86_64 2.0.9-3.1.el6 base 126 k
python-six noarch 1.9.0-2.el6 base 28 k
sshpass x86_64 1.05-1.el6 epel 19 k
Transaction Summary
=============================================================================================================
Install 14 Package(s)
Total download size: 6.9 M
Installed size: 33 M
Is this ok [y/N]:
&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>Key references for various tools</title><link>https://verticalsysadmin.com/2016/05/12/key-references-for-various-tools/</link><pubDate>Thu, 12 May 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/05/12/key-references-for-various-tools/</guid><description>&lt;p&gt;The following post was contributed by Mike Weilgart who has recently joined the ranks of Linux system administrators.&lt;/p&gt;
&lt;h2 id="for-bash-and-posix-shell-scripting"&gt;For &lt;code&gt;bash&lt;/code&gt; and POSIX shell scripting:&lt;/h2&gt;
&lt;h3 id="variable-quoting"&gt;Variable quoting&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://unix.stackexchange.com/q/171346/135943"&gt;Security implications of forgetting to quote a variable in bash/POSIX shells&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://unix.stackexchange.com/q/131766/135943"&gt;Why does my shell script choke on whitespace or other special characters?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Explanation of &lt;a href="http://stackoverflow.com/a/13819996/5419599"&gt;How quotes relate to argument lists&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="miscellaneous"&gt;Miscellaneous&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://unix.stackexchange.com/a/11465/135943"&gt;What is a shell and what is a shell builtin?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://unix.stackexchange.com/q/65803/135943"&gt;Why is printf better than echo?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://unix.stackexchange.com/q/169716/135943"&gt;Why is using a shell loop to process text considered bad practice?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="for-vi-and-vim"&gt;For &lt;code&gt;vi&lt;/code&gt; and Vim:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The article &lt;a href="http://www.viemu.com/a-why-vi-vim.html"&gt;&amp;ldquo;Why, oh WHY, do those #?@! nutheads use vi?&amp;rdquo;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Stack Overflow answer encapsulating &lt;a href="http://stackoverflow.com/a/1220118/5419599"&gt;basics of &lt;code&gt;vi&lt;/code&gt; command language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Stack Overflow answer encapsulating &lt;a href="http://stackoverflow.com/a/26710166/5419599"&gt;buffers vs. windows vs. tabs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Quick tips for &lt;a href="http://stackoverflow.com/a/21338192/5419599"&gt;using buffers effectively&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="for-git"&gt;For git:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/25068543/5419599"&gt;What exactly do we mean by &amp;ldquo;branch&amp;rdquo;?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The &lt;a href="http://think-like-a-git.net/"&gt;Think Like a Git&lt;/a&gt; website, including all of the links on the &amp;ldquo;Resources&amp;rdquo; page.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="cgroups"&gt;&lt;code&gt;cgroups&lt;/code&gt;:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Stack Exchange answer serving as an &lt;a href="http://unix.stackexchange.com/a/252825/135943"&gt;Introduction to cgroups&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Training program to make a Novice System Administrator</title><link>https://verticalsysadmin.com/2016/05/05/training-program-to-make-a-novice-system-administrator/</link><pubDate>Thu, 05 May 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/05/05/training-program-to-make-a-novice-system-administrator/</guid><description>&lt;p&gt;I&amp;rsquo;ve put together a program to make entry-level Linux &lt;a href="https://en.wikipedia.org/wiki/System_administrator"&gt;system administrators&lt;/a&gt; because we need more to maintain the IT fabric of modern civilization.&lt;/p&gt;
&lt;p&gt;The program is self-paced, using online resources.  This is not training I deliver personally, rather I will guide you to quality training resources, in the correct sequence, and work with you to debug any stops. There is no fee to me for this program. The training takes 2-3 months full-time and costs about USD 1,000 for the online training courses and books. You&amp;rsquo;ll need a practice computer you can install Linux on.&lt;/p&gt;</description></item><item><title>CFEngine Enterprise: Enabling Postgres Query Logging</title><link>https://verticalsysadmin.com/2016/04/29/cfengine-enterprise-enabling-postgres-query-logging/</link><pubDate>Fri, 29 Apr 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/04/29/cfengine-enterprise-enabling-postgres-query-logging/</guid><description>&lt;p&gt;Since the CFEngine Postgres database internals aren&amp;rsquo;t widely documented, you can learn more about them by observing what queries the Mission Portal sends to the DB (e.g., to do things like get the count of hosts with health issues which powers the health indicator you see in the Mission Portal status bar).&lt;/p&gt;
&lt;p&gt;Postgres has a configuration parameter &lt;code&gt;log_statement&lt;/code&gt; which you can change from &lt;code&gt;none&lt;/code&gt; to &lt;code&gt;all&lt;/code&gt; to enable query logging (i.e., all queries will get logged to &lt;code&gt;/var/log/postgresql.log&lt;/code&gt;) to learn what queries the Mission Portal sends to the database.&lt;/p&gt;</description></item><item><title>CFEngine and Ansible are complementary</title><link>https://verticalsysadmin.com/2016/02/18/cfengine-and-ansible-are-complementary/</link><pubDate>Thu, 18 Feb 2016 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2016/02/18/cfengine-and-ansible-are-complementary/</guid><description>&lt;p&gt;CFEngine is designed for ongoing maintenance and verification of desired state; whereas Ansible is designed as a simple tool for making changes quickly.&lt;/p&gt;
&lt;p&gt;CFEngine and Ansible complement each other. For example, I have a CFEngine promise to inventory &lt;a href="http://www.cliqr.com"&gt;CliQr&lt;/a&gt; version by reading in /usr/local/osmosix/MANIFEST.MF. By pulling up a CFEngine Enterprise report, I can tell in 3 seconds how many of my thousands of hosts are on which version of CliQr. To run this report with Ansible would take minutes (the more hosts, the longer it would take).&lt;/p&gt;</description></item><item><title>LOPSA Mentorship Program protege Ionut Cadariu earns RHCE</title><link>https://verticalsysadmin.com/2015/10/17/lopsa-mentorship-program-protege-ionut-cadariu-earns-rhce/</link><pubDate>Sat, 17 Oct 2015 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2015/10/17/lopsa-mentorship-program-protege-ionut-cadariu-earns-rhce/</guid><description>&lt;p&gt;I got a touching letter yesterday from a computer system administrator I&amp;rsquo;ve been mentoring over the years through the &lt;a href="http://www.lopsa.org/mentor"&gt;LOPSA Mentorship Program&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;On Fri, Oct 16, 2015, Ionut Cadariu wrote: Hello Aleksey,&lt;/p&gt;
&lt;p&gt;I finally achieved my long term objective -&amp;gt; to be Red Hat Certified Engineer&amp;hellip;it was a long journey and I wanted to thank you for all the hard work you did with me in order to achieve this.&lt;/p&gt;
&lt;p&gt;A big part of my career is because of you and I can&amp;rsquo;t thank you enough!&lt;/p&gt;</description></item><item><title>Senior Sysadmin becomes Director of Operations: Retrospective on Seven Years in Digital Cinema</title><link>https://verticalsysadmin.com/2015/08/16/senior-sysadmin-becomes-director-of-operations-retrospective-on-seven-years-in-digital-cinema/</link><pubDate>Sun, 16 Aug 2015 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2015/08/16/senior-sysadmin-becomes-director-of-operations-retrospective-on-seven-years-in-digital-cinema/</guid><description>&lt;p&gt;In my position as Director of Production Systems at Deluxe Digital Cinema in Burbank (June 2013 - September 2014), I was responsible for Operation and Quality of Alchemy, Deluxe’s theatrical booking and delivery management system. This system would book which movies are going to play in which cinemas when, so Deluxe Digital Cinema could deliver the movie to each theatre and then deliver the decryption key so the cinema could play it.&lt;/p&gt;</description></item><item><title>CFEngine Bootstrapping Primer</title><link>https://verticalsysadmin.com/2015/07/09/cfengine-bootstrapping-primer/</link><pubDate>Thu, 09 Jul 2015 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2015/07/09/cfengine-bootstrapping-primer/</guid><description>&lt;h2 id="definitions"&gt;Definitions&lt;/h2&gt;
&lt;p&gt;&lt;em&gt;Managed server&lt;/em&gt; A server managed by CFEngine. Presumably one of many.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Policy server&lt;/em&gt; A file-sharing service used to distribute policy from some centralized point to a fleet of servers.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Hub&lt;/em&gt; A commercial add-on to CFEngine that collects reports from managed servers. These reports are available through the Web UI (another commercial add-on) and give you instant insight into the state of your infrastructure.&lt;/p&gt;
&lt;p&gt;The policy server, the hub and the Web UI usually run on the same server called &amp;ldquo;hub&amp;rdquo; for short.&lt;/p&gt;</description></item><item><title>Can CFEngine compare server configurations?</title><link>https://verticalsysadmin.com/2015/05/28/can-cfengine-compare-server-configurations/</link><pubDate>Thu, 28 May 2015 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2015/05/28/can-cfengine-compare-server-configurations/</guid><description>&lt;p&gt;One question I often hear sysadmins ask who are just getting into configuration management is, can CFEngine can report on configuration drift between servers? As in, take a server &amp;ldquo;A&amp;rdquo; and baseline it, and compare it to server &amp;ldquo;B&amp;rdquo;, and make a report telling where things are different.&lt;/p&gt;
&lt;p&gt;Comparing existing servers is the hard way to go about getting consistency.&lt;/p&gt;
&lt;p&gt;I have a story about how I got into configuration management.&lt;/p&gt;</description></item><item><title>LOPSA-LA/CFEngine-LA help Thomas Shin get a job at Amazon</title><link>https://verticalsysadmin.com/2015/04/24/lopsa-la/cfengine-la-help-thomas-shin-get-a-job-at-amazon/</link><pubDate>Fri, 24 Apr 2015 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2015/04/24/lopsa-la/cfengine-la-help-thomas-shin-get-a-job-at-amazon/</guid><description>&lt;p&gt;&lt;a href="http://twitter.com/arlieth" title="@arlieth"&gt;@arlieth&lt;/a&gt;, who got his shiny job at Amazon a year and a half ago through a joint &lt;a href="http://www.meetup.com/lopsala/" title="LOPSA-LA"&gt;LOPSA-LA&lt;/a&gt;/&lt;a href="http://www.meetup.com/cfengine-la/" title="CFEngine-LA"&gt;CFEngine-LA&lt;/a&gt; meetup at Amazon Irvine, is doing very well:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;I&amp;rsquo;m in the process of performing a transition to Systems Engineer I. I can honestly say without a doubt that you&amp;rsquo;ve helped me make the biggest leap in my career. Thanks for everything, I really mean it.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You are welcome! Very well done, Thomas and continue!&lt;/p&gt;</description></item><item><title>CFEngine is awesome</title><link>https://verticalsysadmin.com/2015/04/04/cfengine-is-awesome/</link><pubDate>Sat, 04 Apr 2015 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2015/04/04/cfengine-is-awesome/</guid><description>&lt;p&gt;In &lt;a href="https://enigmabox.net/en/blog/2014/03/migrating-from-puppet-to-cfengine/"&gt;March 2014 post&lt;/a&gt;, agent42 at Enigmabox discovers CFEngine is 10 times faster, uses less memory and has simpler policy for JSON-driven configuration than other software; and is delighted by awesome support.&lt;/p&gt;
&lt;p&gt;agent42&amp;rsquo;s post reminded me what sealed the deal for me when I was evaluating which configuration management tool to use.&lt;/p&gt;
&lt;p&gt;I started by surveying the configuration management field. I picked CFEngine to examine closer because:&lt;/p&gt;
&lt;p&gt;a) CFEngine had been around the longest, since 1993, so I expected it would be mature, and&lt;/p&gt;</description></item><item><title>Should people who are already using CFEngine 3 attend professional CFEngine training?</title><link>https://verticalsysadmin.com/2015/04/01/should-people-who-are-already-using-cfengine-3-attend-professional-cfengine-training/</link><pubDate>Wed, 01 Apr 2015 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2015/04/01/should-people-who-are-already-using-cfengine-3-attend-professional-cfengine-training/</guid><description>&lt;p&gt;Over the years, I&amp;rsquo;ve had more than one student come up to me on break or after course to tell me they wish they came earlier as it would have saved them time and trouble.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d like to share with you some real-life student comments (emphasis mine):&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Last week I attended VSA&amp;rsquo;s CFEngine Policy Writing Workshop taught by Brian Bennett.&lt;/p&gt;
&lt;p&gt;I wanted to take a quick second to thank Aleksey for putting this on and Brian for teaching. It was very helpful. &lt;strong&gt;I only wish I had taken it when I first started working with CFEngine.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Advice to a junior sysadmin on acquiring certainty in Linux Sys Admin Basics</title><link>https://verticalsysadmin.com/2013/10/02/advice-to-a-junior-sysadmin-on-acquiring-certainty-in-linux-sys-admin-basics/</link><pubDate>Wed, 02 Oct 2013 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2013/10/02/advice-to-a-junior-sysadmin-on-acquiring-certainty-in-linux-sys-admin-basics/</guid><description>&lt;p&gt;A sysadmin I&amp;rsquo;m mentoring through the LOPSA Mentorship program has learned a lot on the job but is not sure what he is missing. He asked for help identifying what he knows, and where he should learn more.&lt;/p&gt;
&lt;p&gt;I suggested he &lt;a href="http://www.lpi.org/linux-certifications/programs/lpic-1/exam-101" title="LPIC-1 exam"&gt;look at LPI&amp;rsquo;s page outlining what the LPIC-1 certification covers&lt;/a&gt; and follow this program:&lt;/p&gt;
&lt;p&gt;1. Print the page&lt;/p&gt;
&lt;p&gt;2. Check off the items that you are certain you know how to do / how to use&lt;/p&gt;</description></item><item><title>Configuration Management tools need to be robust. Here is how NASA builds robust software.</title><link>https://verticalsysadmin.com/2013/06/08/configuration-management-tools-need-to-be-robust.-here-is-how-nasa-builds-robust-software./</link><pubDate>Sat, 08 Jun 2013 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2013/06/08/configuration-management-tools-need-to-be-robust.-here-is-how-nasa-builds-robust-software./</guid><description>&lt;p&gt;Configuration Management tools have become a critical part of our infrastructure. We expect and depend on these tools being robust.&lt;/p&gt;
&lt;p&gt;For the tool makers I offer &lt;a href="http://www.verticalsysadmin.com/making_robust_software/" title="notes"&gt;my notes on Dr. Holzmann&amp;rsquo;s talk on how NASA/JPL builds robust software&lt;/a&gt;. The first part introduces and describes the challenge, the second part contains the solutions.&lt;/p&gt;</description></item><item><title>Highlights from LOPSA East 2013 Configuration Management Workflows panel</title><link>https://verticalsysadmin.com/2013/05/13/highlights-from-lopsa-east-2013-configuration-management-workflows-panel/</link><pubDate>Mon, 13 May 2013 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2013/05/13/highlights-from-lopsa-east-2013-configuration-management-workflows-panel/</guid><description>&lt;h1 id="use-syntax-highlighters"&gt;Use Syntax Highlighters&lt;/h1&gt;
&lt;p&gt;Highlighting syntax is a big time server. Color highlighting lets you save time and trouble by catching errors early in the development process.&lt;/p&gt;
&lt;p&gt;Use a syntax plug-in for your editor!&lt;/p&gt;
&lt;h1 id="revision-control-system-hooks-code-review"&gt;Revision control system hooks.  Code review.&lt;/h1&gt;
&lt;p&gt;You can set up a precommit hook to validate syntax before accepting code into your VCS repository; or you can use Jenkins to syntax-check new commits and move them to another branch if they validate.&lt;/p&gt;</description></item><item><title>CFEngine claims to be comprehensive. There are 478 unique promise attributes in CFEngine 3.4.0.</title><link>https://verticalsysadmin.com/2012/12/02/cfengine-claims-to-be-comprehensive.-there-are-478-unique-promise-attributes-in-cfengine-3.4.0./</link><pubDate>Sun, 02 Dec 2012 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2012/12/02/cfengine-claims-to-be-comprehensive.-there-are-478-unique-promise-attributes-in-cfengine-3.4.0./</guid><description>&lt;p&gt;CFEngine is designed to be comprehensive and to let you model nearly any aspect of the system’s configuration. There are 478 unique promise attributes in CFEngine 3.4.0 to enable you to do so.&lt;/p&gt;
&lt;p&gt;Here is a &lt;a href="http://www.verticalsysadmin.com/cfengine/attributes.html"&gt;detailed listing&lt;/a&gt; of all the promise attributes available in CFEngine 3.4.0, and the synopsis for each. For more detail, please consult the &lt;a href="http://cfengine.com/syntax"&gt;syntax guide&lt;/a&gt; or the &lt;a href="https://cfengine.com/manuals/cf3-reference/"&gt;reference manual&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Fortunately CFEngine is also designed to address challenges of Knowledge Management and allows you to summarize and abstract the underlying low-level detail.&lt;/p&gt;</description></item><item><title>Idempotence vs Convergence in Configuration Management</title><link>https://verticalsysadmin.com/2012/11/08/idempotence-vs-convergence-in-configuration-management/</link><pubDate>Thu, 08 Nov 2012 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2012/11/08/idempotence-vs-convergence-in-configuration-management/</guid><description>&lt;p&gt;Diego Zamboni, author of &amp;ldquo;Learning CFEngine 3&amp;rdquo;, &lt;a href="http://chester.ozblogistan.com.au/2012/06/27/a-not-sobrief-aside-on-reigning-in-chaos#comment-1371"&gt;commented&lt;/a&gt; on &lt;a href="http://chester.id.au/2012/06/27/a-not-sobrief-aside-on-reigning-in-chaos/"&gt;A not-so-brief aside on reigning in chaos&lt;/a&gt;. His comment includes the clearest explanation of idempotence vs convergence I&amp;rsquo;ve ever seen:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;About idempotence vs convergence: as you rightly point out, they are not the same, and there are very important differences. Idempotence is an operation that leaves the system unmodified if it&amp;rsquo;s already in the desired state, whereas convergence is the property of a system of not making unnecessary changes (nor operations). The end result may be the same, but CFEngine emphasizes convergence over idempotence, and has A LOT of built-in logic to automatically avoid performing unnecessary operations.&lt;/p&gt;</description></item><item><title>Making Conference Posters</title><link>https://verticalsysadmin.com/2012/08/14/making-conference-posters/</link><pubDate>Tue, 14 Aug 2012 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2012/08/14/making-conference-posters/</guid><description>&lt;p&gt;At a certain point in your career, you may start sharing your work with others in your profession. You may be asked to present a poster at a conference summarizing your work.&lt;/p&gt;
&lt;p&gt;There is a wonderful write-up by Colin Purrington, graphic designer, on &lt;a href="http://colinpurrington.com/tips/academic/posterdesign"&gt;creating academic posters&lt;/a&gt; - it is full of useful tips and is funny and passionate.&lt;/p&gt;</description></item><item><title>Guide to CFEngine 3 Body of Knowledge</title><link>https://verticalsysadmin.com/2011/09/22/guide-to-cfengine-3-body-of-knowledge/</link><pubDate>Thu, 22 Sep 2011 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2011/09/22/guide-to-cfengine-3-body-of-knowledge/</guid><description>&lt;p&gt;Purpose: There is a lot to know about CFEngine, which can make it hard for people new to the subject.  The purpose of this guide is to lay out the resources available to CFEngine students and to orient them to this body of knowledge to speed their journey into practical system automation with CFEngine 3.&lt;/p&gt;
&lt;p&gt;The guide is based largely on the materials of cfengine.com with full gratitude to Mark Burgess for continuously raising the bar in the field of system administration.&lt;/p&gt;</description></item><item><title>Which open source configuration management tool should I use?</title><link>https://verticalsysadmin.com/2011/09/15/which-open-source-configuration-management-tool-should-i-use/</link><pubDate>Thu, 15 Sep 2011 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2011/09/15/which-open-source-configuration-management-tool-should-i-use/</guid><description>&lt;h3 id="resources-for-choosing-a-configuration-management-tool"&gt;Resources for choosing a configuration management tool:&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.usenix.org/publications/login/2011-04/openpdfs/Lueninghoener.pdf"&gt;&amp;ldquo;Getting Started with Configuration Management&amp;rdquo;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Cory Lueninghoener. ;login:, Apr 2011.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Configuration management tools take time to set up and maintain, but using one is well worth the effort. In this article I will present technical and social problems, solutions and advice related to getting started with a configuration management tool.&amp;rdquo; C.L.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="http://www.usenix.org/publications/login/2010-10/openpdfs/ConfigMgt10reports.pdf"&gt;&amp;ldquo;Configuration Management Summit&amp;rdquo;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Aleksey Tsalolikhin. ;login:, Oct 2010.&lt;/p&gt;
&lt;p&gt;Conference report summary from the First Configuration Management Summit, with a concise overview of Bcfg2, CFEngine, Chef and Puppet, as well as the relative strengths and weaknesses of each.&lt;/p&gt;</description></item><item><title>Give Your Sysadmin Career a Boost with the LOPSA Mentorship Program</title><link>https://verticalsysadmin.com/2010/09/22/give-your-sysadmin-career-a-boost-with-the-lopsa-mentorship-program/</link><pubDate>Wed, 22 Sep 2010 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2010/09/22/give-your-sysadmin-career-a-boost-with-the-lopsa-mentorship-program/</guid><description>&lt;p&gt;Mount Laurel, NJ, 22 September 2010 -&lt;/p&gt;
&lt;p&gt;LOPSA, the League of Professional System Administrators, a professional sys admin organization, unveils a mentorship program. In fulfillment of LOPSA&amp;rsquo;s mission to support the practice of system administration, LOPSA&amp;rsquo;s sys admin members volunteer as mentors and as program coordinators. Anyone can join the program as a protege; membership in LOPSA in not required. This is truly a community service.&lt;/p&gt;
&lt;p&gt;How does the LOPSA Mentor Program work?&lt;/p&gt;</description></item><item><title>Aleksey's Articles and Presentations on Open-Source Configuration Management</title><link>https://verticalsysadmin.com/2010/09/15/alekseys-articles-and-presentations-on-open-source-configuration-management/</link><pubDate>Wed, 15 Sep 2010 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2010/09/15/alekseys-articles-and-presentations-on-open-source-configuration-management/</guid><description>&lt;p&gt;&lt;a href="http://www.verticalsysadmin.com/config2010/"&gt;A Report from Configuration Management Summit 2010&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Introduction to Automating System Administration with Cfengine 3&amp;rdquo; &lt;a href="http://www.linux-mag.com/cache/7802/1.html"&gt;(Brief version)&lt;/a&gt; &lt;a href="http://sysadvent.blogspot.com/2009/12/day-24-config-management-with-cfengine.html"&gt;(Longer version)&lt;/a&gt; &lt;a href="http://www.verticalsysadmin.com/cfengine3/"&gt;(Full version)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UUASC-LA panel on Cfengine, Chef and Puppet on 1 Oct 2009 &lt;a href="http://www.verticalsysadmin.com/cfengine/cfengine-presentation-to-uuasc-la-on-1-oct-2009/"&gt;CFengine 2 presentation book.&lt;/a&gt; Video: &lt;a href="http://www.verticalsysadmin.com/tech/uuasc-la-config-mgmt-1-Oct-2009-part-1.avi"&gt;part 1&lt;/a&gt; &lt;a href="http://www.verticalsysadmin.com/tech/uuasc-la-config-mgmt-1-Oct-2009-part-2.avi"&gt;part 2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;UUASC-LA presentation on Cfengine 3 on 2 Sep 2010 Video: &lt;a href="http://www.verticalsysadmin.com/videos/cfengine3_uuasc-la_September-2010/2010_09_02_06H57M_PM.avi"&gt;part 1&lt;/a&gt; &lt;a href="http://www.verticalsysadmin.com/videos/cfengine3_uuasc-la_September-2010/2010_09_02_07H51M_PM.avi"&gt;part 2&lt;/a&gt; &lt;a href="http://www.verticalsysadmin.com/videos/cfengine3_uuasc-la_September-2010/2010_09_02_08H46M_PM.avi"&gt;part 3&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Comments welcome - please email me.</title><link>https://verticalsysadmin.com/2010/09/15/comments-welcome-please-email-me./</link><pubDate>Wed, 15 Sep 2010 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2010/09/15/comments-welcome-please-email-me./</guid><description>&lt;p&gt;Comments are welcome - please email me: &lt;a href="mailto:aleksey@verticalsysadmin.com"&gt;aleksey@verticalsysadmin.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Getting started with Infrastructure As Code</title><link>https://verticalsysadmin.com/2010/09/15/getting-started-with-infrastructure-as-code/</link><pubDate>Wed, 15 Sep 2010 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2010/09/15/getting-started-with-infrastructure-as-code/</guid><description>&lt;p&gt;After talking with John Willis of &lt;a href="http://www.opscode.com"&gt;Chef/OpsCode&lt;/a&gt; at Ohio Linux Fest (I taught an intro class on Cfengine 3), I finally started to get Infrastructure As code.&lt;/p&gt;
&lt;p&gt;Am immensely excited to try it out. My first project is to ephemerize the Web/App server tier in a staging environment - instead of rolling out a new version of the application, I will roll out a new VM, completely configured by Cfengine, and the new application, also installed by Cfengine.&lt;/p&gt;</description></item><item><title>Misc. Sys Admin Resources</title><link>https://verticalsysadmin.com/2010/09/15/misc.-sys-admin-resources/</link><pubDate>Wed, 15 Sep 2010 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2010/09/15/misc.-sys-admin-resources/</guid><description>&lt;p&gt;&lt;a href="http://www.verticalsysadmin.com/tech/pci.html"&gt;Nutshell Comparison of PCI, PCI-X and PCI Express&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.verticalsysadmin.com/tech/ufr.html"&gt;Unix Flight Recorder&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Recommended Reading</title><link>https://verticalsysadmin.com/2010/09/15/recommended-reading/</link><pubDate>Wed, 15 Sep 2010 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2010/09/15/recommended-reading/</guid><description>&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;a href="http://www.amazon.com/gp/product/0321492668?ie=UTF8&amp;amp;tag=alexsbook-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321492668"&gt;&lt;img alt="Buy this great book, The Practice of System and Network Administration" loading="lazy" src="https://verticalsysadmin.com/images/tpsna.jpg"&gt;&lt;/a&gt;&lt;/th&gt;
&lt;th&gt;&lt;a href="http://www.amazon.com/gp/product/0321492668?ie=UTF8&amp;amp;tag=alexsbook-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=0321492668"&gt;The Practice of System and Network Administration&lt;/a&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>Relative Origin of Cfengine, Puppet and Chef</title><link>https://verticalsysadmin.com/2010/09/15/relative-origin-of-cfengine-puppet-and-chef/</link><pubDate>Wed, 15 Sep 2010 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/2010/09/15/relative-origin-of-cfengine-puppet-and-chef/</guid><description>&lt;p&gt;&lt;img alt="Relative Origin of Cfengine, Chef and Puppet" loading="lazy" src="http://verticalsysadmin.com/images/relative_origin_of_cfengine_chef_and_puppet.png"&gt;&lt;/p&gt;
&lt;p&gt;In Cfengine, creator Mark Burgess pioneered the idea of using a configuration description language to describe desired state on heterogeneous Unix and Unix-like systems. This language included &amp;ldquo;classes&amp;rdquo; or built-in if/then tests to control when and where the configuration should apply.&lt;/p&gt;
&lt;p&gt;In Cfengine 2, Mark introduced ideas of convergence to a desired state and self-healing (computer immunology).&lt;/p&gt;
&lt;p&gt;Puppet was created by a power Cfengine 2 user Luke Kanies out of his dissatisfaction with Cfengine 2 and Mark&amp;rsquo;s management of the project. Next generation tool after Cfengine 2, Puppet is graph-based and model-driven and has a very simple DSL language (designed to be simple, safe and human readable) and now a Ruby DSL (for additional power and flexibility). Puppet has a large and active community.&lt;/p&gt;</description></item><item><title>About Aleksey Tsalolikhin</title><link>https://verticalsysadmin.com/about/aleksey/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/about/aleksey/</guid><description>Aleksey Tsalolikhin, CEO and Principal Architect of Vertical Sysadmin, Inc.</description></item><item><title>AWS</title><link>https://verticalsysadmin.com/training/aws/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/aws/</guid><description>AWS training from Vertical Sysadmin, Inc.</description></item><item><title>CFEngine Professional Services</title><link>https://verticalsysadmin.com/training/cfengine-professional-services/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/cfengine-professional-services/</guid><description>CFEngine professional services from Vertical Sysadmin, Inc.</description></item><item><title>CFEngine Training</title><link>https://verticalsysadmin.com/training/cfengine/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/cfengine/</guid><description>A comprehensive 5-day CFEngine 3 training course for system administrators.</description></item><item><title>Chef</title><link>https://verticalsysadmin.com/training/chef/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/chef/</guid><description>Chef training from Vertical Sysadmin, Inc.</description></item><item><title>Communication Skills</title><link>https://verticalsysadmin.com/training/communication-skills/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/communication-skills/</guid><description>Communication skills training from Vertical Sysadmin, Inc.</description></item><item><title>Development Fundamentals</title><link>https://verticalsysadmin.com/training/development-fundamentals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/development-fundamentals/</guid><description>Development fundamentals training from Vertical Sysadmin, Inc.</description></item><item><title>DevOps Fundamentals</title><link>https://verticalsysadmin.com/training/devops-fundamentals/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/devops-fundamentals/</guid><description>DevOps fundamentals training from Vertical Sysadmin, Inc.</description></item><item><title>Docker</title><link>https://verticalsysadmin.com/training/docker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/docker/</guid><description>Docker training from Vertical Sysadmin, Inc.</description></item><item><title>Git Foundations – From Novice to Guru</title><link>https://verticalsysadmin.com/training/git-foundations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/git-foundations/</guid><description>A comprehensive 5-day Git training course covering fundamentals through advanced usage.</description></item><item><title>GitLab CI/CD</title><link>https://verticalsysadmin.com/training/gitlab-ci/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/gitlab-ci/</guid><description>Learn to implement GitLab-driven CI/CD pipelines in this 1-day course.</description></item><item><title>GitLab Training &amp; Reseller</title><link>https://verticalsysadmin.com/training/gitlab/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/gitlab/</guid><description>Vertical Sysadmin is an authorized GitLab reseller and training partner.</description></item><item><title>Kubernetes</title><link>https://verticalsysadmin.com/training/kubernetes/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/kubernetes/</guid><description>Kubernetes training from Vertical Sysadmin, Inc.</description></item><item><title>Linux System Administration</title><link>https://verticalsysadmin.com/training/linux-system-administration/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/linux-system-administration/</guid><description>Linux system administration training from Vertical Sysadmin, Inc.</description></item><item><title>Our Team</title><link>https://verticalsysadmin.com/about/team/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/about/team/</guid><description>Meet the Vertical Sysadmin team.</description></item><item><title>Secure C/C++ Programming</title><link>https://verticalsysadmin.com/training/secure-c-programming/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/secure-c-programming/</guid><description>Secure C/C++ programming training from Vertical Sysadmin, Inc.</description></item><item><title>Shell Basics: Under the Hood</title><link>https://verticalsysadmin.com/training/shell-basics/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://verticalsysadmin.com/training/shell-basics/</guid><description>A 1-day course demystifying shell fundamentals for all experience levels.</description></item></channel></rss>