<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts on </title>
    <link>https://d.enis.no/posts/</link>
    <description>Recent content in Posts on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Thu, 08 Dec 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://d.enis.no/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>The case for Infra as Code</title>
      <link>https://d.enis.no/2022/12/the-case-for-iac/</link>
      <pubDate>Thu, 08 Dec 2022 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2022/12/the-case-for-iac/</guid>
      <description>Infra as Code in the Enterprise As someone who has done infrastructure provisioning and automation for better parts of my career, I am constantly surprised at how ill informed a lot of people working in traditional enterprise IT is on the topic.
When an organisation moves workloads to one of the major clouds, too frequently people fall into the trap of thinking that the console is there as the primary means of setting up resources.</description>
      <content>&lt;h1 id=&#34;infra-as-code-in-the-enterprise&#34;&gt;Infra as Code in the Enterprise&lt;/h1&gt;
&lt;p&gt;As someone who has done infrastructure provisioning and automation for better parts of my career, I am constantly surprised at how ill informed a lot of people working in traditional enterprise IT is on the topic.&lt;/p&gt;
&lt;p&gt;When an organisation moves workloads to one of the major clouds, too frequently people fall into the trap of thinking that the console is there as the primary means of setting up resources. Unfortunately the cloud providers in many cases build up under this assumption, as there is a distinct advantage in showing how &amp;ldquo;easy&amp;rdquo; it is to use the UI, over complicating efforts by introducing Infrastructure as Code (IaC).&lt;/p&gt;
&lt;p&gt;However while the barrier to entry might seem low for the first couple of simple VMs you set up, what inevitably happens is that organic growth of the ClickOps (resources created by clicking in the UI) system will very soon create a lot of issues.&lt;/p&gt;
&lt;h2 id=&#34;reproducibility&#34;&gt;Reproducibility&lt;/h2&gt;
&lt;p&gt;I have heard a number of horror stories about critical ClickOps infrastructure that was inadvertently deleted or destructively altered, causing real production incidents. The perceived ease of use of the UI is often an illusion, where the UI tries to hide away important complexity.&lt;/p&gt;
&lt;p&gt;When a team instead of using ClickOps writes a Terraform/Pulumi/Cloudformation config and deploys it, most such changes will both be preventible (see CICD below) and also, the resource in question can also be reproduced from the code.&lt;/p&gt;
&lt;h2 id=&#34;cicd-process-for-iac&#34;&gt;CI/CD process for IaC&lt;/h2&gt;
&lt;p&gt;Most modern IaC pipelines have introduced a set of quality and security checks that will prevent most common mistakes, ensure policies are not broken and that consistent configuration is kept.
Without defining the infra as code, the options for setting up these quality gates will be severely limited, and much more intrusive policy management will be required (automated checks of running resources etc.)&lt;/p&gt;
&lt;h2 id=&#34;change-history&#34;&gt;Change history&lt;/h2&gt;
&lt;p&gt;Using IaC with a sensible version control system enables the best kind of change history, again this is hard or impossible to replicate in a ClickOps environment.&lt;/p&gt;
&lt;h2 id=&#34;iac-as-documentation&#34;&gt;IaC as documentation&lt;/h2&gt;
&lt;p&gt;When a cloud environment is defined sensibly via Infra as Code, that doubles as documentation for the setup. Without this, any resource created needs to be manually documented, a process which is prone to both (human) error and gaps in what is documented.&lt;/p&gt;
&lt;h1 id=&#34;what-now&#34;&gt;What now?&lt;/h1&gt;
&lt;p&gt;I hope more traditional enterprise IT engineers will see the IaC light, as more and more enterprises lift workloads from old outdated on-premise systems to cloud environments.
However the general immaturity around the topic makes me worry..&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Migration complete</title>
      <link>https://d.enis.no/2020/06/thenewstack/</link>
      <pubDate>Sun, 21 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2020/06/thenewstack/</guid>
      <description>As 2020 seems like a good year to get stuff done that has otherwise been neglected, I finally migrated my setup off a very old DigitalOcean droplet. It had been a steady host for years, but my initial plans to migrate from Ubuntu to CentOS7 a while back were never really completed. Centos8 is the new goodness, and I must say it was mostly a real pleasure to set up via DigitalOcean.</description>
      <content>&lt;p&gt;As 2020 seems like a good year to get stuff done that has otherwise been neglected, I finally migrated my setup off a very old DigitalOcean droplet.
It had been a steady host for years, but my initial plans to migrate from Ubuntu to CentOS7 a while back were never really completed.
Centos8 is the new goodness, and I must say it was mostly a real pleasure to set up via DigitalOcean.&lt;/p&gt;
&lt;p&gt;In my work at Varnish Software I liked to &amp;ldquo;dogfood&amp;rdquo; our products and technology, to learn and constantly flex some configuration muscles. So the old stack on &lt;a href=&#34;https://denis.no&#34;&gt;denis.no&lt;/a&gt; was influenced by this and consisted of:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;      ---------
      | Hitch |     (TLS termination)
      ---------
          |
     -----------
     | Varnish |    (Caching and routing)
     -----------
          |
      ---------
      | Nginx |     (File serving)
      ---------
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;In addition to Nginx, I had a bunch of smaller daemons that were directly fronted by Varnish, including &lt;a href=&#34;https://gitea.io/&#34;&gt;Gitea&lt;/a&gt;, &lt;a href=&#34;https://github.com/espebra/filebin&#34;&gt;Filebin&lt;/a&gt; and other misc services.&lt;/p&gt;
&lt;p&gt;As the need for dogfooding isn&amp;rsquo;t there anymore, and convenience outweighs most other factors these days, I&amp;rsquo;ve now reduced that stack to:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;     ----------
     | Caddy2 |    (TLS termination, file serving and routing)
     ----------
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;I still have a couple of smaller services left which are set up with &lt;code&gt;reverse_proxy&lt;/code&gt; in Caddy.
Installing Caddy2 was almost too easy, and it involved ditching hundreds of lines of configuration for a very neat and consise &lt;code&gt;Caddyfile&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The documentation for Caddy2 was pretty good, and made the process of migrating relatively quick and painless. I always wanted the super-neat LetsEncrypt cert integration, and that worked out just as well as I expected.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Rebooting the blog</title>
      <link>https://d.enis.no/2020/06/rebooting-the-blog/</link>
      <pubDate>Sun, 21 Jun 2020 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2020/06/rebooting-the-blog/</guid>
      <description>The major content platforms of 2020 are all pretty horrible, so it seems like a good time as any to reboot personal web publishing, as a micro contribution to taking back the web. Thanks to Marcus for inspiring this, and for having good ideas about making publishing small posts easy on the go.
I exported the handful of Wordpress posts and have now gotten Hugo to work pretty well. Let&amp;rsquo;s see how many posts I manage to do this time ;)</description>
      <content>&lt;p&gt;The major content platforms of 2020 are all pretty horrible, so it seems like a good time as any to reboot personal web publishing, as a micro contribution to &lt;a href=&#34;https://indieweb.org/&#34;&gt;taking back the web&lt;/a&gt;.
Thanks to &lt;a href=&#34;https://marcus.nordaaker.com/post/2020-06-06-blog-reboot/&#34;&gt;Marcus&lt;/a&gt; for inspiring this, and for having good ideas about making publishing small posts easy on the go.&lt;/p&gt;
&lt;p&gt;I exported the handful of Wordpress posts and have now gotten Hugo to work pretty well. Let&amp;rsquo;s see how many posts I manage to do this time ;)&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Munin 2.0 on CentOS7 with Nginx and FastCGI</title>
      <link>https://d.enis.no/2016/07/munin-2-0-on-centos7-with-nginx-and-fastcgi/</link>
      <pubDate>Wed, 13 Jul 2016 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2016/07/munin-2-0-on-centos7-with-nginx-and-fastcgi/</guid>
      <description>As the various bits of official Munin documentation seems to be in a limbo state where the current stable version (2.0.x) isn’t very well handled between the old and the new site, finding a good howto on setting up Munin with FastCGI and Nginx wasn’t as easy as it should have been.
There are articles (notably https://www.webfoobar.com/node/48 ) that are a bit on the overly complicated side, as it turns out, there exists a package called munin-nginx which simplifies things a lot.</description>
      <content>&lt;p&gt;As the &lt;a href=&#34;http://munin-monitoring.org/wiki/Documentation&#34;&gt;various&lt;/a&gt; &lt;a href=&#34;https://munin.readthedocs.io/en/latest/&#34;&gt;bits&lt;/a&gt; of official Munin documentation seems to be in a limbo state where the current stable version (2.0.x) isn’t very well handled between the old and the new site, finding a good howto on setting up Munin with FastCGI and Nginx wasn’t as easy as it should have been.&lt;/p&gt;
&lt;p&gt;There are articles (notably &lt;a href=&#34;https://www.webfoobar.com/node/48&#34;&gt;https://www.webfoobar.com/node/48&lt;/a&gt; ) that are a bit on the overly complicated side, as it turns out, there exists a package called &lt;strong&gt;munin-nginx&lt;/strong&gt; which simplifies things a lot.&lt;/p&gt;
&lt;p&gt;So, assuming you are going to run munin without a URL prefix (&lt;a href=&#34;https://munin.yoursite.com/&#34;&gt;https://munin.yoursite.com/&lt;/a&gt;) setting up Munin to use CGI for graphs and HTML turns out to be quite easy. The below steps were successfully performed using &lt;strong&gt;CentOS Linux release 7.2.1511&lt;/strong&gt;, with &lt;strong&gt;munin-2.0.25-11&lt;/strong&gt; and &lt;strong&gt;munin-nginx-2.0.25-11&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo yum -y install munin munin-nginx nginx 
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo sed -i &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;s/\(.*\)_strategy.*/\1_strategy cgi/;s/#cgiurl_graph/cgiurl_graph/&amp;#39;&lt;/span&gt; /etc/munin/munin.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; svc in munin-fcgi-graph munin-fcgi-html ; &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt; sudo service $svc stop ; sudo chkconfig $svc on ; sudo service $svc start
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;htpasswd -c /etc/nginx/.htpasswd-munin-users munin&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The Nginx config you need is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;&amp;lt;pre&amp;gt;server {&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;listen 80; # IPv4&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;listen [::]:80 ipv6only&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;on; # IPv6
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  server_name munin.yoursite.com;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  ## Logs
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  log_not_found off;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  error_log /var/log/nginx/munin.yoursite.com_error_log error;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;  access_log off;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;location / {&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_split_path_info ^(/)(.*);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_param PATH_INFO $fastcgi_path_info;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_param SCRIPT_FILENAME /var/www/cgi-bin/munin-cgi-html;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;include fastcgi_params;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_pass unix:/var/run/munin/fcgi-munin-html.sock;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;auth_basic &amp;#34;Restricted&amp;#34;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;auth_basic_user_file /etc/nginx/.htpasswd-munin-users;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Serve static files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;location /static/ {&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;alias /etc/munin/static/;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;expires 30d;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;# Munin CGI graph&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;location ^~ /munin-cgi/munin-cgi-graph/ {&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;access_log off;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_split_path_info ^(/munin-cgi/munin-cgi-graph)(.*);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_param PATH_INFO $fastcgi_path_info;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_param SCRIPT_FILENAME /var/www/cgi-bin/munin-cgi-graph;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;include fastcgi_params;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_pass unix:/var/run/munin/fcgi-munin-graph.sock;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# Bypass cache.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_cache_bypass 0;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;fastcgi_no_cache 0;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#a6e22e&#34;&gt;expires epoch;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Then restart nginx, and you should be able to use munin with cgi-generated graphs and html pages:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo service nginx restart&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
</content>
    </item>
    
    <item>
      <title>iTerm2 productivity</title>
      <link>https://d.enis.no/2015/05/iterm2-productivity/</link>
      <pubDate>Thu, 07 May 2015 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2015/05/iterm2-productivity/</guid>
      <description>If you’re like me, you spend most of your time in the terminal. On OSX that means iTerm2 for me. I won’t go into details on how many orders of magnitude better iTerm2 is than the default Terminal app, because most likely you’re already familiar with it.
Update 2018, the following is not longer true, and personally I’ve switched back to stable releases of iTerm2. What you might not know is that what is considered the stable version of iTerm, is a bit like the stable version of Debian.</description>
      <content>&lt;p&gt;If you’re like me, you spend most of your time in the terminal. On OSX that means &lt;a href=&#34;http://iterm2.com&#34;&gt;iTerm2&lt;/a&gt; for me. I won’t go into details on how many orders of magnitude better iTerm2 is than the default Terminal app, because most likely you’re already familiar with it.&lt;/p&gt;
&lt;p&gt;Update 2018, the following is not longer true, and personally I’ve switched back to stable releases of iTerm2. &lt;!-- raw HTML omitted --&gt;What you might not know is that what is considered the &lt;!-- raw HTML omitted --&gt;stable&lt;!-- raw HTML omitted --&gt; version of iTerm, is a bit like the stable version of Debian. It’s very conservatively updated, and most features take quite a bit of time to trickle down into a major release. So after I discovered that the Nightly builds are relatively stable I switched, and have not looked back.&lt;!-- raw HTML omitted --&gt;&lt;br&gt;
&lt;!-- raw HTML omitted --&gt;Yes granted the updates keep rolling in, but as I’ll get to, using tmux for window arrangement means this doesn’t really bother me. So go get the &lt;!-- raw HTML omitted --&gt;nightly build&lt;!-- raw HTML omitted --&gt; now!&lt;!-- raw HTML omitted --&gt;&lt;/p&gt;
&lt;p&gt;One of the best features of iTerm2 is the tmux integration. What it enables is a way for iTerm2 to communicate with tmux via tmux’ “Control Mode”. Basically you start an iTerm window and enter :&lt;br&gt;
&lt;code&gt;tmux -CC&lt;/code&gt;&lt;br&gt;
which will open a new iTerm window linked with tmux. So any iTerm session operations (opening a new tab, a new window or a split) will be handed off to tmux. If you then were to quit iTerm, or close the window, you could easily get your complete window arrangement back by doing &lt;code&gt;tmux -CC attach&lt;/code&gt;. This is indeed very handy.&lt;/p&gt;
&lt;p&gt;So now we have pretty persistent window arrangements, which will give you the opportunity to over-indulge on tabs/splits/windows etc. Now we apply some order to the mess we inevitably will create.&lt;br&gt;
iTerm has two cool features that will enable quick navigation of your sessions. The first one is &lt;a href=&#34;http://iterm2.com/badges.html#/section/home&#34;&gt;badges&lt;/a&gt;. I’ve found that I like to set custom badges instead of relying on automatically set badges. So, first I set the badge options&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;printf &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\e]1337;SetBadgeFormat=%s\a&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;echo -n &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\(user.myBadge)&amp;#34;&lt;/span&gt; | base64&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;and then define a bash function:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;setbadge&lt;span style=&#34;color:#f92672&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt; printf &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;\e]1337;SetUserVar=myBadge=%s\a&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;echo $1 | base64&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;; &lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now we can easily set badges in tabs, by typing: &lt;code&gt;setbadge BadgeName&lt;/code&gt;&lt;br&gt;
&lt;img src=&#34;https://d.enis.no/iterm2_screenshot.png&#34; alt=&#34;iTerm2 Screenshot with badge&#34; title=&#34;iTerm2 with badge&#34;&gt;
The second feature that ties nicely into this is Session Search. Open with &lt;strong&gt;Cmd+Shift+O&lt;/strong&gt; and you can quickly search and switch to the tab/window you like. There is also Tab Exposé &lt;strong&gt;Cmd+Alt+E&lt;/strong&gt; but it’s slower.&lt;/p&gt;
&lt;p&gt;There are tons of other ways iTerm2 can improve your everyday terminal life, I just found this to be a very handy addition to my toolbox.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Provisioning Vagrant with Salt</title>
      <link>https://d.enis.no/2014/05/provisioning-vagrant-with-salt/</link>
      <pubDate>Mon, 05 May 2014 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2014/05/provisioning-vagrant-with-salt/</guid>
      <description>Vagrant sports out of the box integration with Saltstack, which works very well with minimum effort. However under the hood the default way this integration works is via a 4000-line bash script that bootstraps Saltstack on the VM. This would all be well and good, however, even if you were to pre-install the salt-call and salt-minion binaries onto your Vagrantbox, the salt-integration uses the same bash-script to install the configuration provided in the Vagrantfile.</description>
      <content>&lt;p&gt;Vagrant sports out of the box integration with Saltstack, which works very well with minimum effort. However under the hood the default way this integration works is via a &lt;a href=&#34;https://raw.githubusercontent.com/saltstack/salt-bootstrap/stable/bootstrap-salt.sh&#34;&gt;4000-line bash script&lt;/a&gt; that bootstraps Saltstack on the VM. This would all be well and good, however, even if you were to pre-install the salt-call and salt-minion binaries onto your Vagrantbox, the salt-integration uses the same bash-script to install the configuration provided in the Vagrantfile.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://xkcd.com/1022/&#34;&gt;So it has come to this.. &lt;/a&gt;   I don’t really want this in my workflow. And I suspect any heavy Saltstack users might want to skip this aswell.&lt;/p&gt;
&lt;p&gt;I found a way, that was not completely obvious, to make the Salt-integration work as quick and painless as I wanted in the Masterless mode:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create a vagrantbox (in my case I use Packer with a &lt;a href=&#34;https://github.com/denisbr/vagrant-boxes/&#34;&gt;set of templates&lt;/a&gt;), with the salt-binaries pre-installed.&lt;/li&gt;
&lt;li&gt;Make sure the salt-minion daemon is disabled.&lt;/li&gt;
&lt;li&gt;Overwrite the default minion config with the contents  “file_client: local” (and of course any other configuration you require)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This way you do not have to use the “&lt;code&gt;minion_config&lt;/code&gt;” setting in your Vagrantfile, and the salt provisioner plugin will happily skip the bootstrapping script.&lt;/p&gt;
&lt;p&gt;You could always check the &lt;a href=&#34;https://github.com/denisbr/vagrant-boxes/blob/master/packer/debian-7.5.0-amd64-saltonly/scripts/salt.sh&#34;&gt;Saltstack installation-script&lt;/a&gt; for the Packer-template for reference.&lt;/p&gt;
&lt;p&gt;You can now use the following setup in your Vagrantfile:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;config.vm.synced_folder &amp;#34;salt/roots/&amp;#34;, &amp;#34;/srv/salt/&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;config.vm.provision :salt do |salt|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;salt.run_highstate&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;In &lt;code&gt;salt/roots/&lt;/code&gt; place your top.sls which could look something like this:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;pre&amp;gt;base&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#f92672&#34;&gt;&amp;#39;*&amp;#39;&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    - &lt;span style=&#34;color:#ae81ff&#34;&gt;default&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;&amp;lt;/pre&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Which would then execute the &lt;code&gt;salt/roots/default/init.sls&lt;/code&gt; state.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Media services</title>
      <link>https://d.enis.no/2013/08/media-services/</link>
      <pubDate>Thu, 08 Aug 2013 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2013/08/media-services/</guid>
      <description>I thought I’d write a little summary on current media services I use, and why. I have mostly stopped buying music pressed on plastic discs, and the amount of movies I buy on-disc has also gone down. However that does not mean I don’t pay for my entertainment. Well on to the services.
Music Spotify I used to use Spotify actively, mainly due to their very good selection of EDM (Electronic Dance Music) and iOS-app, which has enabled me to completely stop syncing music from my computer.</description>
      <content>&lt;p&gt;I thought I’d write a little summary on current media services I use, and why. I have mostly stopped buying music pressed on plastic discs, and the amount of movies I buy on-disc has also gone down. However that does not mean I don’t pay for my entertainment. Well on to the services.&lt;/p&gt;
&lt;h1 id=&#34;music&#34;&gt;Music&lt;/h1&gt;
&lt;p&gt;&lt;a href=&#34;http://denis.no/wp-content/uploads/2013/08/spotify-logo.png&#34;&gt;&lt;!-- raw HTML omitted --&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;spotify&#34;&gt;&lt;strong&gt;Spotify&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;I used to use Spotify actively, mainly due to their very good selection of EDM (Electronic Dance Music) and iOS-app, which has enabled me to completely stop syncing music from my computer. I was a premium subscriber for over a year, and the service (which cost around the price of 1 CD per month) was awesome. I used Spotify apps everywhere; iPhone, iPad, Mac, Linux (still a shamefully shoddy version though), and on Squeezebox. In addition to EDM, Spotify also features a more than good enough selection of “kid friendly” Norwegian music. When I checked out Rdio though I moved on..&lt;/p&gt;
&lt;h3 id=&#34;img-classaligncenter-size-medium-wp-image-99-altrdio_logo-srchttpdenisnowp-contentuploads201308rdio_logo-300x146png-width300-height146-srcsethttpsdenisnowp-contentuploads201308rdio_logo-300x146png-300w-httpsdenisnowp-contentuploads201308rdio_logo-624x304png-624w-httpsdenisnowp-contentuploads201308rdio_logopng-1024w-sizesmax-width-300px-85vw-300px-2&#34;&gt;&lt;a href=&#34;http://denis.no/wp-content/uploads/2013/08/rdio_logo.png&#34;&gt;&lt;!-- raw HTML omitted --&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt; &lt;/p&gt;
&lt;h3 id=&#34;rdio&#34;&gt;Rdio&lt;/h3&gt;
&lt;p&gt;A few annoyances with the Spotify iOS app, and a constantly hopeless experience on Linux made me very ripe for a migration when I was introduced to Rdio. Rdio is a very similar service to Spotify, it generally has a comparable selection of music to stream, has about the same quality and cost the same for a mobile-enabled subscription.&lt;/p&gt;
&lt;p&gt;Where Rdio differs is firstly in the quality of its apps. If you are on desktop, you can just use a normal web-browser to stream, or download a prepared Site-Specifc-Browser “app” that will give you a similar experience to the Spotify app. It does not have indexing of local media as an option though, so if you use that you’re out of luck. On iOS the app is a lot more snazzy design-wise, also it correctly purges content you no longer want synced offline (you can select what content to mobile sync from the app/web too).&lt;/p&gt;
&lt;p&gt;Secondly, Rdio lets me build a “collection” of albums and artists. By doing so I get notifications of new music from these artists, and I can easily browse my subset of all available music. This mode of browsing is highly preferable to the search focused Spotify experience to me.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://denis.no/wp-content/uploads/2013/08/soundcloud-logo-orange-II.png&#34;&gt;&lt;!-- raw HTML omitted --&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;soundcloud&#34;&gt;&lt;strong&gt;Soundcloud&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Soundcloud has mostly taken over the role Myspace had as a channel for artists to share their tunes, demos, live-recordings, DJ-mixes etc. I know there are some issues concerning takedowns of more mainstream DJ-mixes, and that everything is not perfect in the Soundcloud, but for me it works very well as a nice way to keep in touch with my favourite artists and their work. I pay for a premium service here too, but would probably not if it wasn’t for wanting to share my own DJ-sets. As a consumer the service works very well without a subscription. Their iOS-apps are workable, but not nearly as polished as Rdio, and have no way to utilize downloads/off-line storage as far as I know.&lt;/p&gt;
&lt;h3 id=&#34;lastfm&#34;&gt;&lt;strong&gt;Last.fm&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;This used to be a lot higher on my list of services I used actively. But due to their very limited streaming capabilites and somewhat lackluster selection of hosted music I quit being a paying subscriber of Last.fm, and instead use it solely as a place to aggregate my listening statistics, and keep up with what others are listening to. The Facebook/Spotify-connected service has filled some of this need lately, but my Last.fm connections are still a source of interesting finds every now and then.&lt;/p&gt;
&lt;h3 id=&#34;img-classaligncenter-size-medium-wp-image-102-altbandcamp_logo-srchttpdenisnowp-contentuploads201308bandcamp_logo-300x46png-width300-height46-srcsethttpsdenisnowp-contentuploads201308bandcamp_logo-300x46png-300w-httpsdenisnowp-contentuploads201308bandcamp_logo-624x96png-624w-httpsdenisnowp-contentuploads201308bandcamp_logopng-967w-sizesmax-width-300px-85vw-300px-4&#34;&gt;&lt;a href=&#34;http://denis.no/wp-content/uploads/2013/08/bandcamp_logo.png&#34;&gt;&lt;!-- raw HTML omitted --&gt;&lt;/a&gt;&lt;/h3&gt;
&lt;h3 id=&#34;bandcamp&#34;&gt;Bandcamp&lt;/h3&gt;
&lt;p&gt;There are several issues with Bandcamp. One being that it has a very limited function for gifting music, or sharing CC-marked material, which is a shame really, as that would probably have made the service more interesting for both artists and fans. As it is Bandcamp provides a smooth way for me to pay the artists directly for FLAC downloads, and I highly prefer this model to Beatport (see below). Recently Bandcamp improved their music discovery options by introducing “My Bandcamp”. This allows me to track other peoples buying etc. and is better than not having any such features at all. It’s still no “Amazon for Music”, but getting better.&lt;/p&gt;
&lt;h3 id=&#34;beatport&#34;&gt;&lt;strong&gt;Beatport&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Despite exorbitant prices, there is still no way to get around Beatport. The wide amount of EDM available through Beatport is mostly unmatched, even if one can often find tracks elsewhere. For the widest array of artists and tracks in lossless quality, it’s hard to beat Beatport though.. The website is almost workable too, but there are so many problems with the often half-assed approach to meta-data, and classification that it’s hard not to get a bit frustrated. I mean, when I pay more for a digital download than for a CD-copy (incl. shipping) I think I deserve proper metadata and the feeling that someone at Beatport cares enough to ensure classification remains somewhat appropriate?&lt;/p&gt;
&lt;h3 id=&#34;ektoplazm&#34;&gt;&lt;strong&gt;Ektoplazm&lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;While Beatport pushes material from any established artist, for the fresh stuff in my niche genre(s) I rely on Ektoplazm. An awesome source of free music, often free as in CC-licensed (type of CC license varies) too. And, just because it’s free doesn’t mean it features music that is worthless. Far from it, Ektoplazm often delivers music that is way more interesting than the commercial releases. I am sure there are other sites like Ektoplazm in other genres, or at least I hope so, as everyone deserves a service like this.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Gnome 3 adjustments and addons for a Gnome 2 user</title>
      <link>https://d.enis.no/2012/04/adjusting-gnome-3/</link>
      <pubDate>Mon, 16 Apr 2012 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2012/04/adjusting-gnome-3/</guid>
      <description>As a long time professional Linux desktop user (since 2000 or so) I have used numerous desktop environments over the years. Initially Gnome1, then KDE2, then Gnome2 for a long time.
With the advent of Unity and Gnome 3.x, the distro vendors primary focus has understandably switched to supporting the future instead of maintaining the past. I will not go into the discussion whether this has happened too fast, or just fast enough.</description>
      <content>&lt;p&gt;As a long time professional Linux desktop user (since 2000 or so) I have used numerous desktop environments over the years. Initially Gnome1, then KDE2, then Gnome2 for a long time.&lt;/p&gt;
&lt;p&gt;With the advent of Unity and Gnome 3.x, the distro vendors primary focus has understandably switched to supporting the future instead of maintaining the past. I will not go into the discussion whether this has happened too fast, or just fast enough.&lt;/p&gt;
&lt;p&gt;Upgrading from the last Ubuntu that supported Gnome 2, I chose to try Unity, found out that it wasn’t for me (dual 1600×1200 monitor setup, multi workspace setup), then tried my luck with KDE (which I parted with around KDE3), and ended up with “Gnome Classic”. Now, after several issues in the process towards Precise Pangolin, I finally jumped ship to Fedora 16, and in that process tried to make the modern Gnome 3 work for me.&lt;/p&gt;
&lt;p&gt;I will update this post as I make additional modifications, keeping it as a reference for my own use. Let me know in the comments if you have tips or suggestions.&lt;/p&gt;
&lt;p&gt;Here are the adjustments and addons I have found, that improve the out-of-the-box Gnome 3 experience:&lt;/p&gt;
&lt;h3 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h3&gt;
&lt;p&gt;In Fedora, ensure you have the following packages :&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;gnome-shell-extension-places-menu gnome-shell-extension-auto-move-windows gnome-shell-extension-alternative-status-menu gnome-shell-extension-pidgin gnome-shell-extension-remove-bluetooth-icon gnome-shell-extension-systemMonitor gnome-shell-extension-user-theme gnome-shell-extension-workspace-indicator gnome-shell-extension-remove-accessibility-icon gnome-shell-extension-apps-menu gnome-shell-theme-atolm gnome-tweak-tool&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The very nice System Monitor shell extension is not packaged, but is easily installed from git:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet/tree/gnome-3.2&#34;&gt;https://github.com/paradoxxxzero/gnome-shell-system-monitor-applet/tree/gnome-3.2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I had little luck installing it into &lt;em&gt;~/.local/share/gnome-shell/extensions&lt;/em&gt;, but installing it globally under_ /usr/local/share/gnome-shell/extensions/_ worked fine.&lt;/p&gt;
&lt;p&gt;Most of the settings and extensions mentioned below are enabled through gnome-tweak-tool (listed as “Advanced Settings in the Gnome launcher).&lt;/p&gt;
&lt;h3 id=&#34;shell-extensions&#34;&gt;Shell extensions&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Workspace Indicator (re-enables a workspace indicator in the “tasktray”)&lt;/li&gt;
&lt;li&gt;Pidgin IM Integration (improves the usability of Pidgin under Gnome 3, not as good as it used to be in Gnome 2 but still ..)&lt;/li&gt;
&lt;li&gt;Remove Accessibility Icon (with the agressive removal of &lt;!-- raw HTML omitted --&gt;useful&lt;!-- raw HTML omitted --&gt; indicators in G3 it surprises me how much unnecessary stuff is default enabled)&lt;/li&gt;
&lt;li&gt;Applications Menu (mostly improves the “familiar feeling”, I don’t really use this much)&lt;/li&gt;
&lt;li&gt;System Monitor (visual, ever present system monitor, even looks pretty good)&lt;/li&gt;
&lt;li&gt;Remove Bluetooth Icon (I don’t use BT on my desktop, so this is totally redundant)&lt;/li&gt;
&lt;li&gt;Places Status Indicator (re-enables quick access to folders in the file browser)&lt;/li&gt;
&lt;li&gt;User Themes (let’s the user configure Gnome Theme settings)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;theme&#34;&gt;Theme&lt;/h3&gt;
&lt;p&gt;I kept most of the defaults, but found that using the “Atolm” Shell Theme made me feel more at home (it makes Gnome 3 look a lot more like Gnome 2 in earlier Ubuntu’s..). I also enabled “Menus Have Icons” and “Buttons Have Icons”. Cursor, Icon, GTK+ and Window themes were kept to their default settings.&lt;/p&gt;
&lt;h3 id=&#34;tweaks&#34;&gt;Tweaks&lt;/h3&gt;
&lt;p&gt;In gconf-editor (aka “Configuration Editor” in the launcher) I modified these keys :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;/desktop/gnome/shell/windows/workspaces_only_on_primary – False  (This makes my dual monitor setup work as I want it and disables the second screen from being a “sticky” workspace)&lt;/li&gt;
&lt;li&gt;/desktop/gnome/shell/windows/button_layout – close,minimize,maximize:menu (My other OS of choice is OSX, and this makes the transition between them smoother)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;update-for-gnome-shell-34&#34;&gt;Update for Gnome Shell 3.4&lt;/h3&gt;
&lt;p&gt;Settings that were previously in gconf are now migrated to dconf:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;org.gnome.shell.overrides : workspaces-only-on-primary – False&lt;/li&gt;
&lt;li&gt;org.gnome.shell.overrides : button-layout – close,minimize,maximize:menu&lt;/li&gt;
&lt;li&gt;org.gnome.shell.overrides : attach-modal-dialogs – False (this detaches popupdialogs from their parent window)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Site moved</title>
      <link>https://d.enis.no/2011/02/site-moved/</link>
      <pubDate>Sat, 05 Feb 2011 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2011/02/site-moved/</guid>
      <description>Moved to our new VPS running Ubuntu LTS, and in the process I migrated my blog from Drupal to WordPress. Drupal 7 seems great, but when it comes to simple blogging WordPress has the edge in simplicity, admin UI and maintainability. Maybe this means I’ll manage to blog a little more often, or maybe not, time will tell.</description>
      <content>&lt;p&gt;Moved to our new VPS running Ubuntu LTS, and in the process I migrated my blog from Drupal to WordPress. &lt;a href=&#34;http://drupal.org/&#34;&gt;Drupal&lt;/a&gt; 7 seems great, but when it comes to simple blogging &lt;a href=&#34;http://wordpress.org/&#34;&gt;WordPress&lt;/a&gt; has the edge in simplicity, admin UI and maintainability. Maybe this means I’ll manage to blog a little more often, or maybe not, time will tell.&lt;/p&gt;
</content>
    </item>
    
    <item>
      <title>Why I almost didn’t get an iPhone</title>
      <link>https://d.enis.no/2009/07/why-i-almost-didnt-get-an-iphone/</link>
      <pubDate>Mon, 13 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/07/why-i-almost-didnt-get-an-iphone/</guid>
      <description>&amp;lt;p&amp;gt; AppStore is cool, but Apples rules and rights of refusal are not. There are many stories of weird rejections and strict rules against improving on the experience with apps that cover basic functionality Apple itself already have developed solutions for. This means that nobody can create a better music player (with better codec support, integrated Last.fm scrobbling or other nice features), a better video player (again maybe including support for commonly used &amp;amp;#8220;internet-codecs&amp;amp;#8221;) or release a better browser or calendar.</description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    AppStore is cool, but Apples rules and rights of refusal are not. There are many stories of weird rejections and strict rules against improving on the experience with apps that cover basic functionality Apple itself already have developed solutions for. This means that nobody can create a better music player (with better codec support, integrated Last.fm scrobbling or other nice features), a better video player (again maybe including support for commonly used &amp;amp;#8220;internet-codecs&amp;amp;#8221;) or release a better browser or calendar..
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    It also means Apple, or rather Apples app-judges, can refuse to distribute an app even without giving a reason why. I know this is &amp;amp;#8220;the Apple way&amp;amp;#8221; but it&#39;s stupid and frustrating. Even Microsoft would know better 😛
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    I already mentioned it, but it&#39;s a major annoyance for me; the lack of codecs the i*-experience can handle (iTunes, iPhone, iPod). If you are like me and have a lot of FLACs lying around, you&#39;re pretty much left to your own devices. There are various solutions to this, &amp;lt;a href=&amp;quot;http://elektronisk.net/node/12&amp;quot;&amp;gt;mp3fs&amp;lt;/a&amp;gt; being one, but nothing would be better than if iTunes could just get it right and convert my FLACs directly for me when sending to the portable gadget.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    The connector required for charging is also a minus, not the biggest one, and one that will probably &amp;lt;a href=&amp;quot;http://www.macrumors.com/2009/06/29/apple-to-adopt-micro-usb-connectors-for-iphone-charging-in-europe/&amp;quot;&amp;gt;resolve itself&amp;lt;/a&amp;gt; anyway, but it&#39;s still less than optimal.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    I don&#39;t think Apple will ever fix the two biggest, most important issues I have with the platform. And if you are now laughing and saying that this is to be expected when you sell out to a vendor of proprietary software and platforms, you&#39;re of course right 😉 But there are simply &amp;lt;a href=&amp;quot;http://elektronisk.net/node/13/&amp;quot;&amp;gt;too many things&amp;lt;/a&amp;gt; going for the iPhone right now, and the Android needs to grow up before it can be a viable alternative. (It probably will in time.)
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>Why I will get an iPhone</title>
      <link>https://d.enis.no/2009/07/why-i-will-get-an-iphone/</link>
      <pubDate>Mon, 13 Jul 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/07/why-i-will-get-an-iphone/</guid>
      <description>&amp;lt;p&amp;gt; I&#39;ve been weighing it back and forth for a while. Which smartphone will be my first, after the Nokia N93 fiasco some years ago? (Symbian S60 seemed so cool back then.) Well, I think I&#39;ve come to the conclusion that it&#39;ll be an iPhone 3GS. Here is why. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; I like Android as a mobile OS, probably more than iPhone OSX. But, and this is an important objection, there is no comparably cool hardware devices out yet to run Android.</description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    I&#39;ve been weighing it back and forth for a while. Which smartphone will be my first, after the Nokia N93 fiasco some years ago? (Symbian S60 seemed so cool back then.) Well, I think I&#39;ve come to the conclusion that it&#39;ll be an iPhone 3GS. Here is why.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    I like Android as a mobile OS, probably more than iPhone OSX. But, and this is an important objection, there is no comparably cool hardware devices out yet to run Android. The iPhone 3GS hardware is &amp;lt;a href=&amp;quot;http://www.anandtech.com/gadgets/showdoc.aspx?i=3579&amp;amp;p=1&amp;quot;&amp;gt;awesome&amp;lt;/a&amp;gt;, has a fast GL capable 3D chip and a speedy ARM CPU. A colleague, who recently got himself an HTC Magic, said that after getting accustomed to the graphics/3D capabilities of the iPod Touch (1st gen) he wasn&#39;t exactly bowled over by the Magic.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Then there is the camera features, or lack of, on the Android devices so far. Neither the HTC Magic nor the HTC Hero have very sophisticated camera features. They&#39;re decent enough for sure, but one thing the N93 actually did pretty well was to eliminate the need for bringing a pocket digicam. I still have a decent amount of &amp;amp;#8220;in the moment&amp;amp;#8221; snaps and vids, shot with the phonecam. This includes the need for a proper flash/camera led. Are you listening HTC? The Samsung 7500 something rather will feature a 5 megapixel camera, but megapixels aren&#39;t everything, it could be good though.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Another factor is the amount of available addons, cases, cables, gadgets, stuff and weirdness for the iPhone family. This is of course not something one can blame Google or HTC for, it&#39;s just a matter of Apple selling so many devices that the 3rd party manufacturers are sprouting around the platform.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    The AppStore and the amount of awesome apps and games is another strong reason to get the iPhone. Multitouch and the aforementioned 3D chip launched the iPhone/iPod Touch as a gaming platform in its own right. Sony is forced on the defence and just launched the &amp;amp;#8220;PSP Go&amp;amp;#8221; as a countermeasure (I don&#39;t think it&#39;s a good counter though, more on that later). The AppStore is mostly a win for everyone, it&#39;s an effective content distribution platform with a massive potential customer base.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Summing it up, when I want the iPhone it&#39;s not simply as an advanced smartphone. The iPhone will enable me to bring one gadget that does a lot of things well enough that it eliminates the need for other gadgets in my pockets. No longer will I need a separate mp3-player, I can shoot photos and short videos, I can surf the web efficiently with a browser that works (the Android also covers this bit well), I have a mobile gaming device with a good selection of cheap and cool games on the go. Throw in a GPS and I&#39;m pretty content. This is also why the PSP Go will not succeed. It might be a decent gaming platform (but less so than the Nintendo DS), but it still lacks the other features of the iPhone.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    With the iPhone platform, Apple has done a lot of things right, it mixes an attractive OS, good application support, a decent mix of features with a properly sized hardware platform (Nokia has failed on the latter point so many times). At the moment I cannot see any real competition for my kroner. Now I just need to choose a provider. Any thoughts why choose one over the other?
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    There are sore spots with the iPhone / Apple experience. These will be the focus of my next post..
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>mp3fs for Linux</title>
      <link>https://d.enis.no/2009/05/mp3fs-for-linux/</link>
      <pubDate>Thu, 28 May 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/05/mp3fs-for-linux/</guid>
      <description> &amp;lt;p&amp;gt; 1. sudo aptitude install libfuse-dev libflac-dev libmp3lame-dev libid3tag0-dev&amp;lt;br /&amp;gt; 2. wget mp3fs-0.13.tar.gz (&amp;lt;a href=&amp;quot;http://sourceforge.net/project/showfiles.php?group_id=174365&amp;quot;&amp;gt;http://sourceforge.net/project/showfiles.php?group_id=174365&amp;lt;/a&amp;gt;)&amp;lt;br /&amp;gt; 3. tar xfz mp3fs-0.13.tar.gz&amp;lt;br /&amp;gt; 4. cd mp3fs-0.13&amp;lt;br /&amp;gt; 5. ./configure&amp;lt;br /&amp;gt; 6. make &amp;amp;&amp;amp; sudo make install&amp;lt;br /&amp;gt; 7. sudo mkdir /srv/mp3fs&amp;lt;br /&amp;gt; 8. sudo mp3fs /FLAC/,256 /srv/mp3fs/ -o allow_other,ro &amp;lt;/p&amp;gt; &amp;lt;/div&amp;gt; </description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    1. sudo aptitude install libfuse-dev libflac-dev libmp3lame-dev libid3tag0-dev&amp;lt;br /&amp;gt; 2. wget mp3fs-0.13.tar.gz (&amp;lt;a href=&amp;quot;http://sourceforge.net/project/showfiles.php?group_id=174365&amp;quot;&amp;gt;http://sourceforge.net/project/showfiles.php?group_id=174365&amp;lt;/a&amp;gt;)&amp;lt;br /&amp;gt; 3. tar xfz mp3fs-0.13.tar.gz&amp;lt;br /&amp;gt; 4. cd mp3fs-0.13&amp;lt;br /&amp;gt; 5. ./configure&amp;lt;br /&amp;gt; 6. make &amp;amp;&amp;amp; sudo make install&amp;lt;br /&amp;gt; 7. sudo mkdir /srv/mp3fs&amp;lt;br /&amp;gt; 8. sudo mp3fs /FLAC/,256 /srv/mp3fs/ -o allow_other,ro
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>mp3fs in OSX</title>
      <link>https://d.enis.no/2009/05/mp3fs-in-osx/</link>
      <pubDate>Thu, 28 May 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/05/mp3fs-in-osx/</guid>
      <description>&amp;lt;p&amp;gt; mp3fs is a very nice idea and a smooth way to use a vast library of lossless archived CDs in the awesome &amp;lt;a href=&amp;quot;http://flac.sourceforge.net/&amp;quot;&amp;gt;FLAC&amp;lt;/a&amp;gt; with &amp;lt;a href=&amp;quot;http://www.apple.com/no/ipod/whichipod/&amp;quot;&amp;gt;silly mp3players&amp;lt;/a&amp;gt; without native support. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; The concept of mp3fs is a FUSE filesystem which converts FLACs to mp3s on the fly (CBR only as of now) via lame. Thus you can have the original FLACs stored, and expose a folder structure of converted mp3s to whatever you want.</description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    mp3fs is a very nice idea and a smooth way to use a vast library of lossless archived CDs in the awesome &amp;lt;a href=&amp;quot;http://flac.sourceforge.net/&amp;quot;&amp;gt;FLAC&amp;lt;/a&amp;gt; with &amp;lt;a href=&amp;quot;http://www.apple.com/no/ipod/whichipod/&amp;quot;&amp;gt;silly mp3players&amp;lt;/a&amp;gt; without native support.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    The concept of mp3fs is a FUSE filesystem which converts FLACs to mp3s on the fly (CBR only as of now) via lame. Thus you can have the original FLACs stored, and expose a folder structure of converted mp3s to whatever you want. In my case iTunes.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    This is all pretty easy under Linux, but in OSX there are a few hurdles along the way. First one is that the current OSX &amp;lt;a href=&amp;quot;http://www.uwe-arzt.de/node/32&amp;quot;&amp;gt;patch&amp;lt;/a&amp;gt; for mp3fs is only compatible with the Macports version of MacFUSE (currently 1.7_1). So any currently installed MacFUSE package (via DMG or otherwise) has to be removed.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Once this is done installing mp3fs and MacFUSE is as easy as installing the mp3fs port. Here is a step-by-step working guide (tested with OSX Leopard 10.5.7).
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    1. Install Macports (&amp;lt;a href=&amp;quot;http://www.macports.org/install.php&amp;quot;&amp;gt;http://www.macports.org/install.php&amp;lt;/a&amp;gt;).&amp;lt;br /&amp;gt; 2. Open your favourite terminal.&amp;lt;br /&amp;gt; 3. &amp;amp;#8220;sudo port install mp3fs&amp;amp;#8221;&amp;lt;br /&amp;gt; 4. Make yourself a nice cup of your favourite hot beverage.&amp;lt;br /&amp;gt; 5. Create a mountpoint : &amp;amp;#8220;mkdir mp3fs&amp;amp;#8221;&amp;lt;br /&amp;gt; 6. Mount the mp3fs : &amp;amp;#8220;sudo mp3fs /Path/To/Your/FLAC/Dir,BITRATE /Path/To/Your/Mountpoint -o allow_other,ro&amp;amp;#8221;&amp;lt;br /&amp;gt; Example : &amp;amp;#8220;sudo mp3fs /Users/denis/Music/CDRips,256 /mnt/mp3fs -o allow_other,ro&amp;amp;#8221;&amp;lt;br /&amp;gt; 7. You now have an mp3fs filesystem at /mnt/mp3fs 🙂
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Running &amp;amp;#8220;mp3fs&amp;amp;#8221; with no options will show usage (no manpage yet), and running &amp;amp;#8220;mp3fs /Dir1,256 /Mountpoint -h&amp;amp;#8221; will show you FUSE mountoptions, one of these is -d for debug which could come in handy.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Thanks to the coders of this nifty little FUSE fs, and to the guys patching it for OSX. Any chance we could have a cleaner patch that would also work with newer MacFUSE versions?
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>How to read Mac .dmg images in Linux</title>
      <link>https://d.enis.no/2009/05/montering-av-mac-dmg-i-jaunty/</link>
      <pubDate>Fri, 08 May 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/05/montering-av-mac-dmg-i-jaunty/</guid>
      <description>&amp;lt;p&amp;gt; Quick Guide that was tested on Ubuntu Linux Jaunty Jackalope. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; 1. Download and compile DMG2IMG &amp;lt;a href=&amp;quot;http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz&amp;quot;&amp;gt;http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;quot;http://vu1tur.eu.org/tools/&amp;quot;&amp;gt;http://vu1tur.eu.org/tools/&amp;lt;/a&amp;gt;) : &amp;lt;/p&amp;gt; &amp;lt;blockquote&amp;gt; &amp;lt;p&amp;gt; wget -O dmg2img.tar.gz &amp;lt;a href=&amp;quot;http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz&amp;quot;&amp;gt;http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt; tar xfz dmg2img.tar.gz&amp;lt;br /&amp;gt; cd dmg2img&amp;lt;br /&amp;gt; make &amp;lt;/p&amp;gt; &amp;lt;/blockquote&amp;gt; &amp;lt;p&amp;gt; 2. Convert the DMG to IMG with dmg2img : &amp;lt;/p&amp;gt; &amp;lt;blockquote&amp;gt; &amp;lt;p&amp;gt; ./dmg2img file.dmg &amp;lt;/p&amp;gt; &amp;lt;/blockquote&amp;gt; &amp;lt;p&amp;gt; 3. Install hfsplus : &amp;lt;/p&amp;gt; &amp;lt;blockquote&amp;gt; &amp;lt;p&amp;gt; sudo apt-get install hfsplus &amp;lt;/p&amp;gt; &amp;lt;/blockquote&amp;gt; &amp;lt;p&amp;gt; 4.</description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    Quick Guide that was tested on Ubuntu Linux Jaunty Jackalope.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    1. Download and compile DMG2IMG &amp;lt;a href=&amp;quot;http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz&amp;quot;&amp;gt;http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz&amp;lt;/a&amp;gt; (&amp;lt;a href=&amp;quot;http://vu1tur.eu.org/tools/&amp;quot;&amp;gt;http://vu1tur.eu.org/tools/&amp;lt;/a&amp;gt;) :
  &amp;lt;/p&amp;gt;
  
  &amp;lt;blockquote&amp;gt;
    &amp;lt;p&amp;gt;
      wget -O dmg2img.tar.gz &amp;lt;a href=&amp;quot;http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz&amp;quot;&amp;gt;http://vu1tur.eu.org/tools/download.pl?dmg2img.tar.gz&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt; tar xfz dmg2img.tar.gz&amp;lt;br /&amp;gt; cd dmg2img&amp;lt;br /&amp;gt; make
    &amp;lt;/p&amp;gt;
  &amp;lt;/blockquote&amp;gt;
  
  &amp;lt;p&amp;gt;
    2. Convert the DMG to IMG with dmg2img :
  &amp;lt;/p&amp;gt;
  
  &amp;lt;blockquote&amp;gt;
    &amp;lt;p&amp;gt;
      ./dmg2img file.dmg
    &amp;lt;/p&amp;gt;
  &amp;lt;/blockquote&amp;gt;
  
  &amp;lt;p&amp;gt;
    3. Install hfsplus :
  &amp;lt;/p&amp;gt;
  
  &amp;lt;blockquote&amp;gt;
    &amp;lt;p&amp;gt;
      sudo apt-get install hfsplus
    &amp;lt;/p&amp;gt;
  &amp;lt;/blockquote&amp;gt;
  
  &amp;lt;p&amp;gt;
    4. Mount the image as a loopback device :
  &amp;lt;/p&amp;gt;
  
  &amp;lt;blockquote&amp;gt;
    &amp;lt;p&amp;gt;
      sudo mkdir /mnt/macimage&amp;lt;br /&amp;gt; sudo mount -t hfsplus -o loop file.img /mnt/macimage
    &amp;lt;/p&amp;gt;
  &amp;lt;/blockquote&amp;gt;
  
  &amp;lt;p&amp;gt;
    Voila.
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>Norwegian holidays in Zimbra</title>
      <link>https://d.enis.no/2009/03/norske-helligdager-i-zimbra-alternativ-metode/</link>
      <pubDate>Mon, 23 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/03/norske-helligdager-i-zimbra-alternativ-metode/</guid>
      <description>&amp;lt;p&amp;gt; 1. Switch to the Calendar view in the Zimbra webui.&amp;lt;br /&amp;gt; 2. Click &amp;amp;#8220;New Calendar&amp;amp;#8221; (or &amp;amp;#8220;Ny kalender&amp;amp;#8221; in Norwegian).&amp;lt;br /&amp;gt; 3. Name it something nice like &amp;amp;#8220;Norwegian public holidays&amp;amp;#8221;.&amp;lt;br /&amp;gt; 4. Check the box &amp;amp;#8220;Synchronize events from remote calendar&amp;amp;#8221; (&amp;amp;#8220;Synkroniser avtaler mot ekstern kalender&amp;amp;#8221; in Norwegian).&amp;lt;br /&amp;gt; 5. Paste &amp;lt;a href=&amp;quot;http://ical.mac.com/bjorkheim/Norske%20helligdager.ics&amp;quot;&amp;gt;http://ical.mac.com/bjorkheim/Norske%20helligdager.ics&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt; 6. Click Ok. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; As long as the calendar maintainer bothers to update, Zimbra wil automatically receive updates.</description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    1. Switch to the Calendar view in the Zimbra webui.&amp;lt;br /&amp;gt; 2. Click &amp;amp;#8220;New Calendar&amp;amp;#8221; (or &amp;amp;#8220;Ny kalender&amp;amp;#8221; in Norwegian).&amp;lt;br /&amp;gt; 3. Name it something nice like &amp;amp;#8220;Norwegian public holidays&amp;amp;#8221;.&amp;lt;br /&amp;gt; 4. Check the box &amp;amp;#8220;Synchronize events from remote calendar&amp;amp;#8221; (&amp;amp;#8220;Synkroniser avtaler mot ekstern kalender&amp;amp;#8221; in Norwegian).&amp;lt;br /&amp;gt; 5. Paste &amp;lt;a href=&amp;quot;http://ical.mac.com/bjorkheim/Norske%20helligdager.ics&amp;quot;&amp;gt;http://ical.mac.com/bjorkheim/Norske%20helligdager.ics&amp;lt;/a&amp;gt;&amp;lt;br /&amp;gt; 6. Click Ok.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    As long as the calendar maintainer bothers to update, Zimbra wil automatically receive updates. If you have another remote .ICS calendar you&amp;amp;#8217;d like to subscribe to, just add that one instead..
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>Sqlite VACUUM for fun and profit</title>
      <link>https://d.enis.no/2009/03/sqlite-vacuum-for-fun-and-profit/</link>
      <pubDate>Wed, 18 Mar 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/03/sqlite-vacuum-for-fun-and-profit/</guid>
      <description>&amp;lt;p&amp;gt; Sigurds triks gjengitt for allmennheten : &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; Avslutt firefox. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; $ cd ~/.mozilla/firefox/&amp;lt;br /&amp;gt; $ cd PROFILFOLDER (byttes med din profilfolder)&amp;lt;br /&amp;gt; $ mkdir sqlite.back&amp;lt;br /&amp;gt; $ for file in *.sqlite ; do ls -lh $file ; cp $file sqlite.back ; echo &amp;amp;#8220;VACUUM;&amp;amp;#8221;|sqlite3 $file; ls -lh $file; done &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; Start firefox. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; I mitt tilfelle fikk jeg krympet den største filen fra 51 til 17MB.</description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    Sigurds triks gjengitt for allmennheten :
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Avslutt firefox.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    $ cd ~/.mozilla/firefox/&amp;lt;br /&amp;gt; $ cd PROFILFOLDER (byttes med din profilfolder)&amp;lt;br /&amp;gt; $ mkdir sqlite.back&amp;lt;br /&amp;gt; $ for file in *.sqlite ; do ls -lh $file ; cp $file sqlite.back ; echo &amp;amp;#8220;VACUUM;&amp;amp;#8221;|sqlite3 $file; ls -lh $file; done
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Start firefox.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    I mitt tilfelle fikk jeg krympet den største filen fra 51 til 17MB.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    At VACUUM av sqlite filer er mulig var jeg rett og slett ikke klar over, kjekt å vite ettersom mye rart bruker slike embedded-databaser for tiden.
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>Store Norske lansert</title>
      <link>https://d.enis.no/2009/02/store-norske-lansert/</link>
      <pubDate>Wed, 25 Feb 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/02/store-norske-lansert/</guid>
      <description>&amp;lt;p&amp;gt; Flere utviklere i Redpill Linpro (min arbeidsgiver) har bidratt i utviklingen av et på mange måter spennende produkt. Det er uansett hvordan man vurderer det bra med flere kilder til faktaopplysninger på nett, og en god kilde med norsk språk er jo flott. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; Det tok meg ikke mange klikk og søk rundt i de &amp;amp;#8220;kvalitetssikrede&amp;amp;#8221; artiklene før jeg snublet over innhold jeg stusset over. &amp;lt;a href=&amp;quot;http://www.snl.no/Linux/IT&amp;quot;&amp;gt;Linux&amp;lt;/a&amp;gt; artikkelen på SNL sier nemlig i skrivende stund at Minix er &amp;amp;#8220;opphavet&amp;amp;#8221; til Linux og at Linus Torvalds videreutviklet Minix.</description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    Flere utviklere i Redpill Linpro (min arbeidsgiver) har bidratt i utviklingen av et på mange måter spennende produkt. Det er uansett hvordan man vurderer det bra med flere kilder til faktaopplysninger på nett, og en god kilde med norsk språk er jo flott.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Det tok meg ikke mange klikk og søk rundt i de &amp;amp;#8220;kvalitetssikrede&amp;amp;#8221; artiklene før jeg snublet over innhold jeg stusset over. &amp;lt;a href=&amp;quot;http://www.snl.no/Linux/IT&amp;quot;&amp;gt;Linux&amp;lt;/a&amp;gt; artikkelen på SNL sier nemlig i skrivende stund at Minix er &amp;amp;#8220;opphavet&amp;amp;#8221; til Linux og at Linus Torvalds videreutviklet Minix. Her er det potensielt en misforståelse. Torvalds benyttet Minix på universitetet og var som artikkelen hevder intressert i mer funksjonalitet enn Minix kunne tilby, men Torvalds begynte fra bunnen av på Linuxkjernen. Han videreutviklet ikke Minix.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Registreringsprosessen på SNL var relativt enkel, og trass litt fikling med klipp-og-lim funksjonaliteten var redigering relativt lett. Vi får nå se hvor fort SNL plukker opp endringen.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    &amp;lt;strong&amp;gt;Oppdatering (2011-02-10): &amp;lt;/strong&amp;gt;I ettertiden viste det seg at Store Norske fikk problemer med økonomien, men i skrivende stund er &amp;lt;a href=&amp;quot;http://www.snl.no/Norsk_nettleksikon/Store_norske_leksikon_overdratt_til_nye_eiere&amp;quot;&amp;gt;eierskapet på vei til nye hender&amp;lt;/a&amp;gt;.
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>Lightweight Web servers</title>
      <link>https://d.enis.no/2009/01/lightweight-web-servers/</link>
      <pubDate>Fri, 23 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/01/lightweight-web-servers/</guid>
      <description> &amp;lt;p&amp;gt; En artig oppsummering av et bredt spekter servere. Hvorvidt mange av disse er mer enn akademisk intressante er et annet spørsmål.. &amp;lt;/p&amp;gt; &amp;lt;/div&amp;gt; </description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    En artig oppsummering av et bredt spekter servere. Hvorvidt mange av disse er mer enn akademisk intressante er et annet spørsmål..
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>Red Hat Enterprise Linux 5.3</title>
      <link>https://d.enis.no/2009/01/red-hat-enterprise-linux-5-3/</link>
      <pubDate>Wed, 21 Jan 2009 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2009/01/red-hat-enterprise-linux-5-3/</guid>
      <description>&amp;lt;p&amp;gt; mod_perl-2.0.2-6.3.el5 -&amp;gt; mod_perl-2.0.4-6.el5&amp;lt;br /&amp;gt; openssl-perl-0.9.8b-10.el5_2.1 -&amp;gt; openssl-perl-0.9.8e-7.el5&amp;lt;br /&amp;gt; perl-5.8.8-15.el5_2.1 -&amp;gt; perl-5.8.8-18.el5&amp;lt;br /&amp;gt; perl-DBD-MySQL-3.0007-1.fc6 -&amp;gt; perl-DBD-MySQL-3.0007-2.el5&amp;lt;br /&amp;gt; perl-DBI-1.52-1.fc6 -&amp;gt; perl-DBI-1.52-2.el5&amp;lt;br /&amp;gt; openldap-2.3.27-8.el5_2.4 -&amp;gt; openldap-2.3.43-3.el5&amp;lt;br /&amp;gt; yum-3.2.8-9.el5_2.1 -&amp;gt; yum-3.2.19-18.el5 &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; Ellers diverse større eller mindre bumps av andre pakker.&amp;lt;br /&amp;gt; Full diffliste fra en utvalgt server etter skillet. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; NetworkManager-0.6.4-8.el5 -&amp;gt; NetworkManager-0.7.0-3.el5&amp;lt;br /&amp;gt; ORBit2-2.14.3-4.el5 -&amp;gt; ORBit2-2.14.3-5.el5&amp;lt;br /&amp;gt; OpenIPMI-2.0.6-6.el5_2.2 -&amp;gt; OpenIPMI-2.0.6-11.el5&amp;lt;br /&amp;gt; OpenIPMI-libs-2.0.6-6.el5_2.2 -&amp;gt; OpenIPMI-libs-2.0.6-11.el5&amp;lt;br /&amp;gt; OpenIPMI-tools-2.0.6-6.el5_2.2 -&amp;gt; OpenIPMI-tools-2.0.6-11.el5&amp;lt;br /&amp;gt; SysVinit-2.</description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    mod_perl-2.0.2-6.3.el5 -&amp;gt; mod_perl-2.0.4-6.el5&amp;lt;br /&amp;gt; openssl-perl-0.9.8b-10.el5_2.1 -&amp;gt; openssl-perl-0.9.8e-7.el5&amp;lt;br /&amp;gt; perl-5.8.8-15.el5_2.1 -&amp;gt; perl-5.8.8-18.el5&amp;lt;br /&amp;gt; perl-DBD-MySQL-3.0007-1.fc6 -&amp;gt; perl-DBD-MySQL-3.0007-2.el5&amp;lt;br /&amp;gt; perl-DBI-1.52-1.fc6 -&amp;gt; perl-DBI-1.52-2.el5&amp;lt;br /&amp;gt; openldap-2.3.27-8.el5_2.4 -&amp;gt; openldap-2.3.43-3.el5&amp;lt;br /&amp;gt; yum-3.2.8-9.el5_2.1 -&amp;gt; yum-3.2.19-18.el5
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Ellers diverse større eller mindre bumps av andre pakker.&amp;lt;br /&amp;gt; Full diffliste fra en utvalgt server etter skillet.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    NetworkManager-0.6.4-8.el5 -&amp;gt; NetworkManager-0.7.0-3.el5&amp;lt;br /&amp;gt; ORBit2-2.14.3-4.el5 -&amp;gt; ORBit2-2.14.3-5.el5&amp;lt;br /&amp;gt; OpenIPMI-2.0.6-6.el5_2.2 -&amp;gt; OpenIPMI-2.0.6-11.el5&amp;lt;br /&amp;gt; OpenIPMI-libs-2.0.6-6.el5_2.2 -&amp;gt; OpenIPMI-libs-2.0.6-11.el5&amp;lt;br /&amp;gt; OpenIPMI-tools-2.0.6-6.el5_2.2 -&amp;gt; OpenIPMI-tools-2.0.6-11.el5&amp;lt;br /&amp;gt; SysVinit-2.86-14 -&amp;gt; SysVinit-2.86-15.el5&amp;lt;br /&amp;gt; acpid-1.0.4-5 -&amp;gt; acpid-1.0.4-7.el5&amp;lt;br /&amp;gt; alsa-lib-1.0.14-1.rc4.el5 -&amp;gt; alsa-lib-1.0.17-1.el5&amp;lt;br /&amp;gt; alsa-lib-1.0.14-1.rc4.el5 -&amp;gt; alsa-lib-1.0.17-1.el5&amp;lt;br /&amp;gt; audit-1.6.5-9.el5 -&amp;gt; audit-1.7.7-6.el5&amp;lt;br /&amp;gt; audit-libs-1.6.5-9.el5 -&amp;gt; audit-libs-1.7.7-6.el5&amp;lt;br /&amp;gt; audit-libs-1.6.5-9.el5 -&amp;gt; audit-libs-1.7.7-6.el5&amp;lt;br /&amp;gt; audit-libs-python-1.6.5-9.el5 -&amp;gt; audit-libs-python-1.7.7-6.el5&amp;lt;br /&amp;gt; authconfig-5.3.21-3.el5 -&amp;gt; authconfig-5.3.21-5.el5&amp;lt;br /&amp;gt; autofs-5.0.1-0.rc2.88.el5_2.1 -&amp;gt; autofs-5.0.1-0.rc2.102&amp;lt;br /&amp;gt; bash-3.2-21.el5 -&amp;gt; bash-3.2-24.el5&amp;lt;br /&amp;gt; bind-libs-9.3.4-6.0.3.P1.el5_2 -&amp;gt; bind-libs-9.3.4-10.P1.el5&amp;lt;br /&amp;gt; bind-utils-9.3.4-6.0.3.P1.el5_2 -&amp;gt; bind-utils-9.3.4-10.P1.el5&amp;lt;br /&amp;gt; binutils-2.17.50.0.6-6.el5 -&amp;gt; binutils-2.17.50.0.6-9.el5&amp;lt;br /&amp;gt; ccid-1.0.1-6.el5 -&amp;gt; ccid-1.3.8-1.el5&amp;lt;br /&amp;gt; coreutils-5.97-14.el5 -&amp;gt; coreutils-5.97-19.el5&amp;lt;br /&amp;gt; cpuspeed-1.2.1-3.el5 -&amp;gt; cpuspeed-1.2.1-5.el5&amp;lt;br /&amp;gt; crash-4.0-5.0.3 -&amp;gt; crash-4.0-7.2.3.el5&amp;lt;br /&amp;gt; cryptsetup-luks-1.0.3-2.2.el5 -&amp;gt; cryptsetup-luks-1.0.3-4.el5&amp;lt;br /&amp;gt; cryptsetup-luks-1.0.3-2.2.el5 -&amp;gt; cryptsetup-luks-1.0.3-4.el5&amp;lt;br /&amp;gt; cups-1.2.4-11.18.el5_2.3 -&amp;gt; cups-1.3.7-8.el5&amp;lt;br /&amp;gt; cups-libs-1.2.4-11.18.el5_2.3 -&amp;gt; cups-libs-1.3.7-8.el5&amp;lt;br /&amp;gt; cups-libs-1.2.4-11.18.el5_2.3 -&amp;gt; cups-libs-1.3.7-8.el5&amp;lt;br /&amp;gt; dbus-1.0.0-7.el5_2.1 -&amp;gt; dbus-1.1.2-12.el5&amp;lt;br /&amp;gt; dbus-glib-0.70-5 -&amp;gt; dbus-glib-0.73-8.el5&amp;lt;br /&amp;gt; device-mapper-1.02.24-1.el5 -&amp;gt; device-mapper-1.02.28-2.el5&amp;lt;br /&amp;gt; device-mapper-1.02.24-1.el5 -&amp;gt; device-mapper-1.02.28-2.el5&amp;lt;br /&amp;gt; device-mapper-event-1.02.24-1.el5 -&amp;gt; device-mapper-event-1.02.28-2.el5&amp;lt;br /&amp;gt; device-mapper-multipath-0.4.7-17.el5 -&amp;gt; device-mapper-multipath-0.4.7-23.el5&amp;lt;br /&amp;gt; dhcdbd-2.2-1.el5 -&amp;gt; dhcdbd-2.2-2.el5&amp;lt;br /&amp;gt; dhclient-3.0.5-13.el5 -&amp;gt; dhclient-3.0.5-18.el5&amp;lt;br /&amp;gt; dmraid-1.0.0.rc13-15.el5_2.1 -&amp;gt; dmraid-1.0.0.rc13-33.el5&amp;lt;br /&amp;gt; dosfstools-2.11-6.2.el5 -&amp;gt; dosfstools-2.11-7.el5&amp;lt;br /&amp;gt; e2fsprogs-1.39-15.el5 -&amp;gt; e2fsprogs-1.39-20.el5&amp;lt;br /&amp;gt; e2fsprogs-libs-1.39-15.el5 -&amp;gt; e2fsprogs-libs-1.39-20.el5&amp;lt;br /&amp;gt; e2fsprogs-libs-1.39-15.el5 -&amp;gt; e2fsprogs-libs-1.39-20.el5&amp;lt;br /&amp;gt; elfutils-libelf-0.125-3.el5 -&amp;gt; elfutils-libelf-0.137-3.el5&amp;lt;br /&amp;gt; ethtool-5-1.el5 -&amp;gt; ethtool-6-2.el5&amp;lt;br /&amp;gt; file-4.17-13 -&amp;gt; file-4.17-15&amp;lt;br /&amp;gt; filesystem-2.4.0-1 -&amp;gt; filesystem-2.4.0-2&amp;lt;br /&amp;gt; findutils-4.2.27-4.1 -&amp;gt; findutils-4.2.27-5.el5&amp;lt;br /&amp;gt; firstboot-tui-1.4.27.3-1.el5 -&amp;gt; firstboot-tui-1.4.27.7-1.el5&amp;lt;br /&amp;gt; ftp-0.17-33.fc6 -&amp;gt; ftp-0.17-35.el5&amp;lt;br /&amp;gt; ghostscript-8.15.2-9.1.el5_1.1 -&amp;gt; ghostscript-8.15.2-9.4.el5&amp;lt;br /&amp;gt; glibc-2.5-24.el5_2.2 -&amp;gt; glibc-2.5-34&amp;lt;br /&amp;gt; glibc-2.5-24.el5_2.2 -&amp;gt; glibc.2.5-34&amp;lt;br /&amp;gt; glibc-common-2.5-24.el5_2.2 -&amp;gt; glibc-common-2.5-34&amp;lt;br /&amp;gt; gnupg-1.4.5-13 -&amp;gt; gnupg-1.4.5-14&amp;lt;br /&amp;gt; hal-0.5.8.1-35.el5 -&amp;gt; hal-0.5.8.1-38.el5&amp;lt;br /&amp;gt; httpd-2.2.3-11.el5_2.4 -&amp;gt; httpd-2.2.3-22.el5&amp;lt;br /&amp;gt; hwdata-0.213.6-1.el5 -&amp;gt; hwdata-0.213.11-1.el5&amp;lt;br /&amp;gt; initscripts-8.45.19.1.EL-1 -&amp;gt; initscripts-8.45.25-1.el5&amp;lt;br /&amp;gt; iproute-2.6.18-7.el5 -&amp;gt; iproute-2.6.18-9.el5&amp;lt;br /&amp;gt; iputils-20020927-43.el5 -&amp;gt; iputils-20020927-45.el5&amp;lt;br /&amp;gt; kbd-1.12-20.el5 -&amp;gt; kbd-1.12-21.el5&amp;lt;br /&amp;gt; kpartx-0.4.7-17.el5 -&amp;gt; kpartx-0.4.7-23.el5&amp;lt;br /&amp;gt; krb5-libs-1.6.1-25.el5_2.2 -&amp;gt; krb5-libs-1.6.1-31.el5&amp;lt;br /&amp;gt; krb5-libs-1.6.1-25.el5_2.2 -&amp;gt; krb5-libs-1.6.1-31.el5&amp;lt;br /&amp;gt; krb5-workstation-1.6.1-25.el5_2.2 -&amp;gt; krb5-workstation-1.6.1-31.el5&amp;lt;br /&amp;gt; ksh-20060214-1.7 -&amp;gt; ksh-20080202-2.el5&amp;lt;br /&amp;gt; kudzu-1.2.57.1.17-1 -&amp;gt; kudzu-1.2.57.1.21-1&amp;lt;br /&amp;gt; libgcc-4.1.2-42.el5 -&amp;gt; libgcc-4.1.2-44.el5&amp;lt;br /&amp;gt; libgcc-4.1.2-42.el5 -&amp;gt; libgcc-4.1.2-44.el5&amp;lt;br /&amp;gt; libgcj-4.1.2-42.el5 -&amp;gt; libgcj-4.1.2-44.el5&amp;lt;br /&amp;gt; libgcj-4.1.2-42.el5 -&amp;gt; libgcj-4.1.2-44.el5&amp;lt;br /&amp;gt; libgcrypt-1.2.3-1 -&amp;gt; libgcrypt-1.2.4-1.el5&amp;lt;br /&amp;gt; libgcrypt-1.2.3-1 -&amp;gt; libgcrypt-1.2.4-1.el5&amp;lt;br /&amp;gt; libhugetlbfs-1.2-5.el5 -&amp;gt; libhugetlbfs-1.3-3.el5&amp;lt;br /&amp;gt; libhugetlbfs-1.2-5.el5 -&amp;gt; libhugetlbfs-1.3-3.el5&amp;lt;br /&amp;gt; libpcap-0.9.4-12.el5 -&amp;gt; libpcap-0.9.4-14.el5&amp;lt;br /&amp;gt; libselinux-1.33.4-5.el5 -&amp;gt; libselinux-1.33.4-5.1.el5&amp;lt;br /&amp;gt; libselinux-1.33.4-5.el5 -&amp;gt; libselinux-1.33.4-5.1.el5&amp;lt;br /&amp;gt; libselinux-python-1.33.4-5.el5 -&amp;gt; libselinux-python-1.33.4-5.1.el5&amp;lt;br /&amp;gt; libstdc++-4.1.2-42.el5 -&amp;gt; libstdc++-4.1.2-44.el5&amp;lt;br /&amp;gt; libstdc++-4.1.2-42.el5 -&amp;gt; libstdc++-4.1.2-44.el5&amp;lt;br /&amp;gt; libutempter-1.1.4-3.fc6 -&amp;gt; libutempter-1.1.4-4.el5&amp;lt;br /&amp;gt; libutempter-1.1.4-3.fc6 -&amp;gt; libutempter-1.1.4-4.el5&amp;lt;br /&amp;gt; libvolume_id-095-14.16.el5 -&amp;gt; libvolume_id-095-14.19.el5&amp;lt;br /&amp;gt; logrotate-3.7.4-8 -&amp;gt; logrotate-3.7.4-9&amp;lt;br /&amp;gt; lvm2-2.02.32-4.el5_2.1 -&amp;gt; lvm2-2.02.40-6.el5&amp;lt;br /&amp;gt; m2crypto-0.16-6.el5.2 -&amp;gt; m2crypto-0.16-6.el5&amp;lt;br /&amp;gt; man-pages-2.39-10.el5 -&amp;gt; man-pages-2.39-12.el5&amp;lt;br /&amp;gt; mcstrans-0.2.7-1.el5 -&amp;gt; mcstrans-0.2.11-3.el5&amp;lt;br /&amp;gt; mesa-libGL-6.5.1-7.5.el5 -&amp;gt; mesa-libGL-6.5.1-7.7.el5&amp;lt;br /&amp;gt; mesa-libGL-6.5.1-7.5.el5 -&amp;gt; mesa-libGL-6.5.1-7.7.el5&amp;lt;br /&amp;gt; mkinitrd-5.1.19.6-28 -&amp;gt; mkinitrd-5.1.19.6-44&amp;lt;br /&amp;gt; mkinitrd-5.1.19.6-28 -&amp;gt; mkinitrd-5.1.19.6-44&amp;lt;br /&amp;gt; mod_perl-2.0.2-6.3.el5 -&amp;gt; mod_perl-2.0.4-6.el5&amp;lt;br /&amp;gt; module-init-tools-3.3-0.pre3.1.37.el5 -&amp;gt; module-init-tools-3.3-0.pre3.1.42.el5&amp;lt;br /&amp;gt; nash-5.1.19.6-28 -&amp;gt; nash-5.1.19.6-44&amp;lt;br /&amp;gt; neon-0.25.5-5.1 -&amp;gt; neon-0.25.5-10.el5&amp;lt;br /&amp;gt; neon-0.25.5-5.1 -&amp;gt; neon-0.25.5-10.el5&amp;lt;br /&amp;gt; net-snmp-libs-5.3.1-24.el5_2.2 -&amp;gt; net-snmp-libs-5.3.2.2-5.el5&amp;lt;br /&amp;gt; newt-0.52.2-10.el5 -&amp;gt; newt-0.52.2-12.el5&amp;lt;br /&amp;gt; nfs-utils-1.0.9-35z.el5_2 -&amp;gt; nfs-utils-1.0.9-40.el5&amp;lt;br /&amp;gt; nscd-2.5-24.el5_2.2 -&amp;gt; nscd-2.5-34&amp;lt;br /&amp;gt; nss_ldap-253-13.el5_2.1 -&amp;gt; nss_ldap-253-17.el5&amp;lt;br /&amp;gt; nss_ldap-253-13.el5_2.1 -&amp;gt; nss_ldap-253-17.el5&amp;lt;br /&amp;gt; ntp-4.2.2p1-8.el5 -&amp;gt; ntp-4.2.2p1-9.el5&amp;lt;br /&amp;gt; numactl-0.9.8-2.el5 -&amp;gt; numactl-0.9.8-7.el5&amp;lt;br /&amp;gt; numactl-0.9.8-2.el5 -&amp;gt; numactl-0.9.8-7.el5&amp;lt;br /&amp;gt; openldap-2.3.27-8.el5_2.4 -&amp;gt; openldap-2.3.43-3.el5&amp;lt;br /&amp;gt; openldap-2.3.27-8.el5_2.4 -&amp;gt; openldap-2.3.43-3.el5&amp;lt;br /&amp;gt; openssh-4.3p2-26.el5_2.1 -&amp;gt; openssh-4.3p2-29.el5&amp;lt;br /&amp;gt; openssh-clients-4.3p2-26.el5_2.1 -&amp;gt; openssh-clients-4.3p2-29.el5&amp;lt;br /&amp;gt; openssh-server-4.3p2-26.el5_2.1 -&amp;gt; openssh-server-4.3p2-29.el5&amp;lt;br /&amp;gt; openssl-0.9.8b-10.el5_2.1 -&amp;gt; openssl-0.9.8e-7.el5&amp;lt;br /&amp;gt; openssl-0.9.8b-10.el5_2.1 -&amp;gt; openssl-0.9.8e-7.el5&amp;lt;br /&amp;gt; openssl-perl-0.9.8b-10.el5_2.1 -&amp;gt; openssl-perl-0.9.8e-7.el5&amp;lt;br /&amp;gt; pam-0.99.6.2-3.27.el5 -&amp;gt; pam-0.99.6.2-4.el5&amp;lt;br /&amp;gt; pam-0.99.6.2-3.27.el5 -&amp;gt; pam-0.99.6.2-4.el5&amp;lt;br /&amp;gt; pam_krb5-2.2.14-1.el5_2.1 -&amp;gt; pam_krb5-2.2.14-10&amp;lt;br /&amp;gt; pam_krb5-2.2.14-1.el5_2.1 -&amp;gt; pam_krb5-2.2.14-10&amp;lt;br /&amp;gt; paps-0.6.6-17.el5 -&amp;gt; paps-0.6.6-18.el5&amp;lt;br /&amp;gt; parted-1.8.1-17.el5 -&amp;gt; parted-1.8.1-23.el5&amp;lt;br /&amp;gt; parted-1.8.1-17.el5 -&amp;gt; parted-1.8.1-23.el5&amp;lt;br /&amp;gt; patch-2.5.4-29.2.2 -&amp;gt; patch-2.5.4-29.2.3.el5&amp;lt;br /&amp;gt; perl-5.8.8-15.el5_2.1 -&amp;gt; perl-5.8.8-18.el5&amp;lt;br /&amp;gt; perl-DBD-MySQL-3.0007-1.fc6 -&amp;gt; perl-DBD-MySQL-3.0007-2.el5&amp;lt;br /&amp;gt; perl-DBI-1.52-1.fc6 -&amp;gt; perl-DBI-1.52-2.el5&amp;lt;br /&amp;gt; pkinit-nss-0.7.3-1.el5 -&amp;gt; pkinit-nss-0.7.6-1.el5&amp;lt;br /&amp;gt; pm-utils-0.99.3-6.el5.19 -&amp;gt; pm-utils-0.99.3-10.el5&amp;lt;br /&amp;gt; policycoreutils-1.33.12-14.el5 -&amp;gt; policycoreutils-1.33.12-14.2.el5&amp;lt;br /&amp;gt; popt-1.10.2-48.el5 -&amp;gt; popt-1.10.2.3-9.el5&amp;lt;br /&amp;gt; ppp-2.4.4-1.el5 -&amp;gt; ppp-2.4.4-2.el5&amp;lt;br /&amp;gt; prelink-0.3.9-2.1 -&amp;gt; prelink-0.4.0-2.el5&amp;lt;br /&amp;gt; procps-3.2.7-9.el5 -&amp;gt; procps-3.2.7-11.1.el5&amp;lt;br /&amp;gt; psacct-6.3.2-41.1 -&amp;gt; psacct-6.3.2-44.el5&amp;lt;br /&amp;gt; python-2.4.3-21.el5 -&amp;gt; python-2.4.3-24.el5&amp;lt;br /&amp;gt; python-urlgrabber-3.1.0-2 -&amp;gt; python-urlgrabber-3.1.0-5.el5&amp;lt;br /&amp;gt; quota-3.13-1.2.3.2.el5 -&amp;gt; quota-3.13-1.2.5.el5&amp;lt;br /&amp;gt; rdate-1.4-6 -&amp;gt; rdate-1.4-8.el5&amp;lt;br /&amp;gt; redhat-menus-6.7.8-2.el5 -&amp;gt; redhat-menus-6.7.8-3.el5&amp;lt;br /&amp;gt; redhat-release-5Server-5.2.0.4 -&amp;gt; redhat-release-5Server-5.3.0.3&amp;lt;br /&amp;gt; redhat-release-notes-5Server-15 -&amp;gt; redhat-release-notes-5Server-25&amp;lt;br /&amp;gt; rhel-instnum-1.0.8-1.el5 -&amp;gt; rhel-instnum-1.0.9-1.el5&amp;lt;br /&amp;gt; rhn-check-0.4.17-8.el5 -&amp;gt; rhn-check-0.4.19-17.el5&amp;lt;br /&amp;gt; rhn-client-tools-0.4.17-8.el5 -&amp;gt; rhn-client-tools-0.4.19-17.el5&amp;lt;br /&amp;gt; rhn-setup-0.4.17-8.el5 -&amp;gt; rhn-setup-0.4.19-17.el5&amp;lt;br /&amp;gt; rhnlib-2.2.5-1.el5 -&amp;gt; rhnlib-2.2.6-2.el5&amp;lt;br /&amp;gt; rpm-4.4.2-48.el5 -&amp;gt; rpm-4.4.2.3-9.el5&amp;lt;br /&amp;gt; rpm-libs-4.4.2-48.el5 -&amp;gt; rpm-libs-4.4.2.3-9.el5&amp;lt;br /&amp;gt; rpm-python-4.4.2-48.el5 -&amp;gt; rpm-python-4.4.2.3-9.el5&amp;lt;br /&amp;gt; selinux-policy-2.4.6-137.1.el5_2 -&amp;gt; selinux-policy-2.4.6-203.el5&amp;lt;br /&amp;gt; selinux-policy-targeted-2.4.6-137.1.el5_2 -&amp;gt; selinux-policy-targeted-2.4.6-203.el5&amp;lt;br /&amp;gt; setup-2.5.58-1.el5 -&amp;gt; setup-2.5.58-4.el5&amp;lt;br /&amp;gt; shadow-utils-4.0.17-13.el5 -&amp;gt; shadow-utils-4.0.17-14.el5&amp;lt;br /&amp;gt; smartmontools-5.36-4.el5 -&amp;gt; smartmontools-5.38-2.el5&amp;lt;br /&amp;gt; sos-1.7-9.2.el5_2.2 -&amp;gt; sos-1.7-9.16.el5&amp;lt;br /&amp;gt; stunnel-4.15-2 -&amp;gt; stunnel-4.15-2.el5&amp;lt;br /&amp;gt; subversion-1.4.2-2.el5 -&amp;gt; subversion-1.4.2-4.el5&amp;lt;br /&amp;gt; subversion-1.4.2-2.el5 -&amp;gt; subversion-1.4.2-4.el5&amp;lt;br /&amp;gt; sudo-1.6.8p12-12.el5 -&amp;gt; sudo-1.6.9p17-3.el5&amp;lt;br /&amp;gt; sysstat-7.0.2-1.el5 -&amp;gt; sysstat-7.0.2-3.el5&amp;lt;br /&amp;gt; system-config-network-tui-1.3.99.10-2.el5 -&amp;gt; system-config-network-tui-1.3.99.12-1.el5&amp;lt;br /&amp;gt; tcp_wrappers-7.6-40.4.el5 -&amp;gt; tcp_wrappers-7.6-40.6.el5&amp;lt;br /&amp;gt; tcp_wrappers-7.6-40.4.el5 -&amp;gt; tcp_wrappers-7.6-40.6.el5&amp;lt;br /&amp;gt; tcpdump-3.9.4-12.el5 -&amp;gt; tcpdump-3.9.4-14.el5&amp;lt;br /&amp;gt; tcsh-6.14-12.el5 -&amp;gt; tcsh-6.14-14.el5&amp;lt;br /&amp;gt; tmpwatch-2.9.7-1.1.el5.1 -&amp;gt; tmpwatch-2.9.7-1.1.el5&amp;lt;br /&amp;gt; traceroute-2.0.1-3.el5 -&amp;gt; traceroute-2.0.1-5.el5&amp;lt;br /&amp;gt; udev-095-14.16.el5 -&amp;gt; udev-095-14.19.el5&amp;lt;br /&amp;gt; unzip-5.52-2.2.1 -&amp;gt; unzip-5.52-3.el5&amp;lt;br /&amp;gt; usermode-1.88-3.el5.1 -&amp;gt; usermode-1.88-3.el5&amp;lt;br /&amp;gt; util-linux-2.13-0.47.el5 -&amp;gt; util-linux-2.13-0.50.el5&amp;lt;br /&amp;gt; vixie-cron-4.1-72.el5 -&amp;gt; vixie-cron-4.1-76.el5&amp;lt;br /&amp;gt; words-3.0-9 -&amp;gt; words-3.0-9.1&amp;lt;br /&amp;gt; wpa_supplicant-0.4.8-10.2.el5 -&amp;gt; wpa_supplicant-0.5.10-8.el5&amp;lt;br /&amp;gt; ypbind-1.19-8.el5 -&amp;gt; ypbind-1.19-11.el5&amp;lt;br /&amp;gt; yum-3.2.8-9.el5_2.1 -&amp;gt; yum-3.2.19-18.el5&amp;lt;br /&amp;gt; yum-rhn-plugin-0.5.3-12.el5_2.9 -&amp;gt; yum-rhn-plugin-0.5.3-30.el5&amp;lt;br /&amp;gt; yum-security-1.1.10-9.el5 -&amp;gt; yum-security-1.1.16-13.el5&amp;lt;br /&amp;gt; zip-2.31-1.2.2 -&amp;gt; zip-2.31-2.el5
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>Støtt Wikipedia</title>
      <link>https://d.enis.no/2008/12/st%c3%b8tt-wikipedia/</link>
      <pubDate>Tue, 23 Dec 2008 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2008/12/st%c3%b8tt-wikipedia/</guid>
      <description> &amp;lt;p&amp;gt; Jeg vet ikke om noen informasjonstjeneste (søkemotorer ekskludert) på nett jeg bruker så ofte som Wikipedia. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; &amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Donate/en&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; alt=&amp;quot;Wikipedia Affiliate Button&amp;quot; src=&amp;quot;http://upload.wikimedia.org/wikipedia/foundation/1/1a/2008_fundraiser_banner_button-en.png&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt; &amp;lt;/p&amp;gt; &amp;lt;/div&amp;gt; </description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    Jeg vet ikke om noen informasjonstjeneste (søkemotorer ekskludert) på nett jeg bruker så ofte som Wikipedia.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    &amp;lt;a href=&amp;quot;http://wikimediafoundation.org/wiki/Donate/en&amp;quot;&amp;gt;&amp;lt;img border=&amp;quot;0&amp;quot; alt=&amp;quot;Wikipedia Affiliate Button&amp;quot; src=&amp;quot;http://upload.wikimedia.org/wikipedia/foundation/1/1a/2008_fundraiser_banner_button-en.png&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>HOTEL PRO FORMA | Tomorrow, in a year</title>
      <link>https://d.enis.no/2008/11/hotel-pro-forma-tomorrow-in-a-year/</link>
      <pubDate>Fri, 28 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2008/11/hotel-pro-forma-tomorrow-in-a-year/</guid>
      <description> </description>
      <content>&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>Blogging?</title>
      <link>https://d.enis.no/2008/11/blogging/</link>
      <pubDate>Thu, 27 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2008/11/blogging/</guid>
      <description> &amp;lt;p&amp;gt; Hvem vet, kanskje overlever bloggen min litt lenger enn to måneder denne gangen? Det er vel første gang jeg velger å skrive norsk, kan jo hende det faller mer naturlig da. Vi får se. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; Valgte selvfølgelig Drupal siden jeg er en skikkelig fanboy, og jeg må si at ut-av-boksen opplevelsen med Drupal6 var utrolig bra! &amp;lt;/p&amp;gt; &amp;lt;/div&amp;gt; </description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    Hvem vet, kanskje overlever bloggen min litt lenger enn to måneder denne gangen? Det er vel første gang jeg velger å skrive norsk, kan jo hende det faller mer naturlig da. Vi får se.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Valgte selvfølgelig Drupal siden jeg er en skikkelig fanboy, og jeg må si at ut-av-boksen opplevelsen med Drupal6 var utrolig bra!
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
    <item>
      <title>Drupal i vinden?</title>
      <link>https://d.enis.no/2008/11/drupal-i-vinden/</link>
      <pubDate>Thu, 27 Nov 2008 00:00:00 +0000</pubDate>
      
      <guid>https://d.enis.no/2008/11/drupal-i-vinden/</guid>
      <description>&amp;lt;p&amp;gt; Drupal er ikke et perfekt publiseringssystem, som alle andre løsninger har Drupal feil, mangler og svakheter. Men Drupal er utrolig fleksibelt, har en yrende brukermasse, er GPLv2 lisensiert (fri programvare), og har ikke minst en haug funksjonalitet tilgjengelig som moduler som kan settes sammen mer eller mindre slik man ønsker. &amp;lt;/p&amp;gt; &amp;lt;p&amp;gt; Når ABC Startsiden skulle velge publiseringssystem vurderte vi proprietære løsninger, bygg alt selv fra bunnen prosjekt, og en rekke fri programvareløsninger.</description>
      <content>&lt;!-- raw HTML omitted --&gt;
&lt;pre&gt;&lt;code&gt;  &amp;lt;p&amp;gt;
    Drupal er ikke et perfekt publiseringssystem, som alle andre løsninger har Drupal feil, mangler og svakheter. Men Drupal er utrolig fleksibelt, har en yrende brukermasse, er GPLv2 lisensiert (fri programvare), og har ikke minst en haug funksjonalitet tilgjengelig som moduler som kan settes sammen mer eller mindre slik man ønsker.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Når ABC Startsiden skulle velge publiseringssystem vurderte vi proprietære løsninger, bygg alt selv fra bunnen prosjekt, og en rekke fri programvareløsninger. Nå hadde sikkert &amp;lt;a href=&amp;quot;http://www.abcnyheter.no&amp;quot;&amp;gt;ABC Nyheter&amp;lt;/a&amp;gt; blitt et glimrende produkt også med en proprietær løsning. Bak avgjørelsen lå uansett ønsket om friheten til å styre utviklingen akkurat dit vi ville. Vi ville ikke betale en enorm sum penger til en leverandør som så selv skulle avgjøre hvilken retning produktet utviklet seg.
  &amp;lt;/p&amp;gt;
  
  &amp;lt;p&amp;gt;
    Av erfaring er nemlig publiseringsløsninger produkter som nesten aldri passer ut av boksen. Med mindre du har svært standardiserte behov (eksempelvis en normal blogg) kreves det alltid en viss mengde skreddersøm for å bygge det produktet redaksjonen og øvrige intressenter ser for seg. Med det spesielle fokuset ABC Nyheter hadde på involvering av brukere var det rimelig å anta at å bruke pengene på egenstyrt utvikling ville gi best avkastning på investerte penger..
  &amp;lt;/p&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;!-- raw HTML omitted --&gt;
</content>
    </item>
    
  </channel>
</rss>
