<!doctype html> <html lang=en prefix="og: http://ogp.me/ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/"> <head> <meta charset=utf-8> <meta http-equiv=X-UA-Compatible content="IE=edge"> <meta name=viewport content="width=device-width, initial-scale=1.0"> <title> Articles &ndash; Wossname Industries </title> <meta name=author content="Wossname Industries"> <meta name=description content="Wossname Industries is Graeme Mathieson&#39;s software consultancy. I build Ruby on Rails web apps, iOS apps, and the DevOps-ian infrastructure to manage it all."> <meta name=keywords content="Ruby, Rails, Ruby on Rails, iOS, iPhone, iPad, Swift, DevOps, Consulting"> <meta name=copyright content="Copyright &copy; 2015-2016 Wossname Industries. All rights reserved."> <link rel=canonical href="https://woss.name/articles/"> <link rel=publisher href="https://plus.google.com/103001545622534344345"> <link rel=me href="https://twitter.com/wossname"> <link rel=me href="https://www.facebook.com/wossname-industries"> <link rel=me href="https://plus.google.com/+WossnameIndustries"> <link rel=me href="https://www.linkedin.com/company/wossname-industries"> <link rel=me href="https://github.com/wossname"> <link rel=alternate type="application/rss+xml" href="/feed.xml" title="RSS feed for Wossname Industries articles"> <meta property="fb:app_id" content=619490114749622> <meta property="fb:pages" content=889230344473781> <meta property="og:type" content=article> <meta property="og:title" content=Articles> <meta property="og:description" content="Wossname Industries is Graeme Mathieson&#39;s software consultancy. I build Ruby on Rails web apps, iOS apps, and the DevOps-ian infrastructure to manage it all."> <meta property="og:updated_time" content="2016-07-13T08:34:27+00:00"> <meta property="og:url" content="https://woss.name/articles/"> <meta property="og:locale" content=en_GB> <meta property="og:site_name" content="Wossname Industries"> <meta property="og:image" content="https://woss.name/images/wossname-industries-40468076.png"> <meta property="og:image:type" content="image/png"> <meta property="og:image:width" content=1172> <meta property="og:image:height" content=950> <meta property="article:author" content="https://woss.name/"> <meta property="article:section" content="Software Development"> <meta property="article:published_time" content="2016-07-13T08:34:27+00:00"> <meta property="article:modified_time" content="2016-07-13T08:34:27+00:00"> <meta property="article:tag" content=Ruby> <meta property="article:tag" content=Rails> <meta property="article:tag" content="Ruby on Rails"> <meta property="article:tag" content=iOS> <meta property="article:tag" content=iPhone> <meta property="article:tag" content=iPad> <meta property="article:tag" content=Swift> <meta property="article:tag" content=DevOps> <meta property="article:tag" content=Consulting> <meta name="twitter:title" content=Articles> <meta name="twitter:description" content="Wossname Industries is Graeme Mathieson&#39;s software consultancy. I build Ruby on Rails web apps, iOS apps, and the DevOps-ian infrastructure to manage it all."> <meta name="twitter:card" content=summary_large_image> <meta name="twitter:site" content="@wossname"> <meta name="twitter:creator" content="@mathie"> <meta name="twitter:domain" content="woss.name"> <meta name="twitter:image" content="https://woss.name/images/wossname-industries-40468076.png"> <meta name="twitter:image:alt" content="Wossname Industries"> <script type="application/ld+json">
  {
    "@context": "http://schema.org",
    "@type": "Organization",
    "url": "https://woss.name/",
    "email": "hello@woss.name",
    "logo": "https://woss.name/images/wossname-industries-40468076.png",
    "contactPoint" : [
      {
        "@type" : "ContactPoint",
        "telephone" : "+44-7949-077744",
        "email": "hello@woss.name",
        "contactType" : "customer service"
      }

    ],
    "address": {
      "streetAddress": "11 Alexandra Terrace",
      "addressLocality": "Teignmouth",
      "addressRegion": "Devon",
      "postalCode": "TQ14 8HA",
      "addressCountry": "GB"
    },
    "sameAs" : [
      "https://twitter.com/wossname",
"https://www.facebook.com/wossname-industries",
"https://plus.google.com/+WossnameIndustries",
"https://www.linkedin.com/company/wossname-industries",
"https://github.com/wossname"
    ]
  }
</script> <script type="application/ld+json">
  {
    "@context": "http://schema.org",
    "@type": "WebSite",
    "name": "Wossname Industries",
    "url": "https://woss.name/",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "https://woss.name/search/?q=%7Bsearch_term_string%7D",
      "query-input": "required name=search_term_string"
    }
  }
</script> <link rel=icon href="/favicon.ico"> <link rel="shortcut icon" href="/favicon.ico"> <link rel=apple-touch-icon sizes=57x57 href="/images/apple-icon-57x57-ef2ff66d.png"> <link rel=apple-touch-icon sizes=60x60 href="/images/apple-icon-60x60-022e78bf.png"> <link rel=apple-touch-icon sizes=72x72 href="/images/apple-icon-72x72-2a4783dd.png"> <link rel=apple-touch-icon sizes=76x76 href="/images/apple-icon-76x76-754074d0.png"> <link rel=apple-touch-icon sizes=114x114 href="/images/apple-icon-114x114-e55db420.png"> <link rel=apple-touch-icon sizes=120x120 href="/images/apple-icon-120x120-e9607800.png"> <link rel=apple-touch-icon sizes=144x144 href="/images/apple-icon-144x144-fdccabd3.png"> <link rel=apple-touch-icon sizes=152x152 href="/images/apple-icon-152x152-0a02f168.png"> <link rel=apple-touch-icon sizes=180x180 href="/images/apple-icon-180x180-eab5678c.png"> <link rel=icon type="image/png" sizes=192x192 href="/images/android-icon-192x192-acb00ca8.png"> <link rel=icon type="image/png" sizes=32x32 href="/images/favicon-32x32-ae85eae7.png"> <link rel=icon type="image/png" sizes=96x96 href="/images/favicon-96x96-f39008d9.png"> <link rel=icon type="image/png" sizes=16x16 href="/images/favicon-16x16-ff7e9f55.png"> <link rel=manifest href="/manifest.json"> <meta name=msapplication-TileColor content="#ffffff"> <meta name=msapplication-TileImage content="/images/ms-icon-144x144-fdccabd3.png"> <meta name=theme-color content="#ffffff"> <link href="https://fonts.googleapis.com/css?family=Amatica+SC:700%7CJosefin+Slab%7CSpecial+Elite" rel=stylesheet /> <link href="/stylesheets/all-5602a66d.css" rel=stylesheet /> </head> <body class="articles index"> <noscript> <iframe src="//www.googletagmanager.com/ns.html?id=GTM-KLSLNV" height=0 width=0 style="display:none;visibility:hidden"> </iframe> </noscript> <script>
  (
    function(w,d,s,l,i) {
      w[l]=w[l]||[];
      w[l].push({
        'gtm.start': new Date().getTime(),
        event:'gtm.js'
      });

      var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),
        dl=l!='dataLayer'?'&l='+l:'';

        j.async=true;
        j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;

        f.parentNode.insertBefore(j,f);
    }
  )(window,document,'script','dataLayer','GTM-KLSLNV');
</script> <nav class="navbar navbar-default navbar-fixed-top"> <div class=container-fluid> <div class=navbar-header> <button type=button class="navbar-toggle collapsed" data-toggle=collapse data-target="#navbar-collapse-primary"> <span class=sr-only>Toggle navigation</span> <span class=icon-bar></span> <span class=icon-bar></span> <span class=icon-bar></span> </button> <a class=navbar-brand href="/"> <h1 id=wossname-industries-logo class="text-hide hidden-xs hidden-sm">Wossname Industries</h1> <h1 id=wossname-industries-logo-sm class="text-hide visible-xs visible-sm">Wossname Industries</h1> </a> </div> <div class="navbar-collapse collapse" id=navbar-collapse-primary> <form class="navbar-form navbar-right visible-lg" role=search action="/search/" method=get id=search-form> <div class="input-group input-group-sm"> <label class=sr-only for=search>Search Wossname Industries' Projects</label> <input type=search id=search name=q class=form-control placeholder="Search for&hellip;"> <span class=input-group-btn> <button type=submit class="btn btn-primary">Go!</button> </span> </div> </form> <ul class="nav nav-bordered navbar-nav navbar-right"> <li><a href="/">Home</a></li><li><a href="/services/">Services</a></li><li><a href="/projects/">Projects</a></li><li class=active><a href="/articles/">Articles</a></li><li><a href="/team/mathie/">About me</a></li><li><a href="/contact/">Get in touch</a></li> </ul> </div> </div> </nav> <main id=main> <div itemscope itemtype="http://schema.org/Blog"> <link itemprop=mainEntityOfPage href="/articles/"> <section id=introduction class=block> <div class=block-md-middle> <div class=container> <h1> Articles </h1> <div class=block-foreground> <p> I tend to write on a wide array of different subjects that happen to interest me at the time. Recently, I've taken to putting these articles up on different sites, so that there's a dedicated site for each topic I want to explore. But I will collect all the articles here, too, so that they're easy to find. </p> <p> I also cross-post articles to <a href="https://blog.woss.name" target=_blank>Wossname Industries on Medium</a> so if you're a fan of Medium, it's easy to follow along there. The advantage of Medium is that you can easily respond to articles, so we can get into a conversation about them. (I might put Disqus comments back on this site, but not for now.) </p> <p> If you're an Apple iOS user, then you can subscribe to the <a href="https://apple.news/T4MCnF6J3T2uzKvL_Hf-Rkw">Wossname Industries channel on Apple News</a>. You'll need to open that link on your iOS device, and it'll take you into Apple News, allowing you subscribe to the channel. Posting there is a (laborious) manual process right now, so it might be a day or two before articles appear. </p> <p class=text-center> <a href="#latest-articles" class="btn btn-lg btn-default"> <span class="icon icon-news"></span> Latest articles </a> </p> </div> </div> </div> </section> <section id=latest-articles itemscope itemtype="http://schema.org/Blog"> <link itemprop=mainEntityOfPage href="/articles/"> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/discovering-dmarc/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/discovering-dmarc/" itemprop=url>Discovering DMARC</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2016-05-31 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">May 31, 2016</time> <meta itemprop=copyrightYear content=2016> in <a href="/categories/the-internet/" rel="section category" class="label label-info" itemprop=articleSection>The Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/domains/" rel=tag class="label label-success">domains</a> <a href="/tags/email/" rel=tag class="label label-success">email</a> <a href="/tags/gmail/" rel=tag class="label label-success">gmail</a> <a href="/tags/internet/" rel=tag class="label label-success">internet</a> <a href="/tags/security/" rel=tag class="label label-success">security</a> </span> </p> </div> <div class=lead itemprop=description> <p>I only just discovered <a href="https://dmarc.org/">Domain-based Message Authentication, Reporting &amp; Conformance (DMARC)</a> today, as I was writing up some notes for an article on setting up email for a new domain. While I was writing the section on DKIM, I got to thinking, <q>That&#39;s all well and good, but how do I advertise the fact that all my email sources are DKIM-signing messages, and that anything which isn&#39;t signed is probably spam?</q> It turns out that DMARC is the answer to that question &mdash; and more &mdash; and it&#39;s widely deployed. In addition to allowing you to state that you sign everything, you can also opt in to getting reports from mail service providers with details on what email is getting dropped. <a href="/articles/discovering-dmarc/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/on-the-dangers-of-sarcasm/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/on-the-dangers-of-sarcasm/" itemprop=url>On the Dangers of Sarcasm</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2016-05-30 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">May 30, 2016</time> <meta itemprop=copyrightYear content=2016> in <a href="/categories/mental-health/" rel="section category" class="label label-info" itemprop=articleSection>Mental Health</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/depression/" rel=tag class="label label-success">depression</a> <a href="/tags/humour/" rel=tag class="label label-success">humour</a> <a href="/tags/mental-health/" rel=tag class="label label-success">mental health</a> <a href="/tags/suicide/" rel=tag class="label label-success">suicide</a> </span> </p> </div> <div class=lead itemprop=description> <p>My school teachers were fond of warning me that my tendency towards sarcasm would get me into trouble one day. But did I ever tell you how it nearly killed me? Well, let&#39;s just say it was one of the contributing factors. I&#39;d just moved down to Plymouth, ostensibly to recover properly after a stay in a mental health unit, as a result of my struggles with depression. My care was transferred to the local community mental health team (CMHT), for assessment and monitoring, while I was staying with my parents to recuperate. <a href="/articles/on-the-dangers-of-sarcasm/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/exporting-your-data-from-healthkit/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/exporting-your-data-from-healthkit/" itemprop=url>Exporting your data from HealthKit</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2016-04-29 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">April 29, 2016</time> <meta itemprop=copyrightYear content=2016> in <a href="/categories/quantified-self/" rel="section category" class="label label-info" itemprop=articleSection>Quantified Self</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/analytics/" rel=tag class="label label-success">analytics</a> <a href="/tags/apple-health/" rel=tag class="label label-success">apple health</a> <a href="/tags/export/" rel=tag class="label label-success">export</a> <a href="/tags/healthkit/" rel=tag class="label label-success">healthkit</a> <a href="/tags/ios/" rel=tag class="label label-success">ios</a> <a href="/tags/iphone/" rel=tag class="label label-success">iphone</a> <a href="/tags/quantified-self/" rel=tag class="label label-success">quantified self</a> </span> </p> </div> <div class="pull-left m-a-md" itemprop=image itemscope itemtype="http://schema.org/ImageObject"> <figure> <a href="/articles/exporting-your-data-from-healthkit/" title="Exporting your data from HealthKit"> <img src="/images/exporting-your-data-from-healthkit/thumbnail-1509e851.png" class="img-responsive img-rounded" alt="Exporting your data from HealthKit" itemprop="url thumbnailUrl contentUrl" width=400 height=400 /> </a> <figcaption class=sr-only itemprop=caption>Exporting your data from HealthKit</figcaption> </figure> <meta itemprop=width content=400> <meta itemprop=height content=400> </div> <div class=lead itemprop=description> <p>I made a discovery this morning: as a regular user, not a ninja iOS app developer, you can export all your data from HealthKit! I have to confess I hadn&#39;t specifically looked into it, but I had assumed that all my data was kinda locked up in my phone (and in encrypted backups on iTunes) and that the only way to get access to it was to give particular apps specific permissions to access the data. In short, I assumed I was going to have to fire up Xcode one day and write a wee app to trawl my data and extract it[^1]. <a href="/articles/exporting-your-data-from-healthkit/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/on-the-connectedness-of-apps-and-services/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/on-the-connectedness-of-apps-and-services/" itemprop=url>On the Connectedness of Apps and Services</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2016-04-29 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">April 29, 2016</time> <meta itemprop=copyrightYear content=2016> in <a href="/categories/quantified-self/" rel="section category" class="label label-info" itemprop=articleSection>Quantified Self</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/activity/" rel=tag class="label label-success">activity</a> <a href="/tags/home/" rel=tag class="label label-success">home</a> <a href="/tags/ios-apps/" rel=tag class="label label-success">ios apps</a> <a href="/tags/journalling/" rel=tag class="label label-success">journalling</a> <a href="/tags/music/" rel=tag class="label label-success">music</a> <a href="/tags/note-taking/" rel=tag class="label label-success">note taking</a> <a href="/tags/quantified-self/" rel=tag class="label label-success">quantified self</a> <a href="/tags/sleep/" rel=tag class="label label-success">sleep</a> <a href="/tags/social-media/" rel=tag class="label label-success">social media</a> <a href="/tags/web-apps/" rel=tag class="label label-success">web apps</a> </span> </p> </div> <div class="pull-left m-a-md" itemprop=image itemscope itemtype="http://schema.org/ImageObject"> <figure> <a href="/articles/on-the-connectedness-of-apps-and-services/" title="On the Connectedness of Apps and Services"> <img src="/images/on-the-connectedness-of-apps-and-services/thumbnail-8a1cf9fb.png" class="img-responsive img-rounded" alt="On the Connectedness of Apps and Services" itemprop="url thumbnailUrl contentUrl" width=391 height=292 /> </a> <figcaption class=sr-only itemprop=caption>On the Connectedness of Apps and Services</figcaption> </figure> <meta itemprop=width content=391> <meta itemprop=height content=292> </div> <div class=lead itemprop=description> <p>I use an awful lot of apps and services in my everyday life. More than most, I suspect, because I&#39;m really into tracking what I do, and leaving an electronic breadcrumb trail behind me as I go. I tend to try and externalise the contents of my brain &mdash; mostly because if I kept it all in there, I&#39;d explode! &mdash; which invariably winds up with lots of notes being written inside various apps. I&#39;ve also taken to digitising as much of my life as possible, too. Having spent the past couple of years without a place I could really call home (which I&#39;ve fixed now &mdash; yay!), it&#39;s been much easier to live life without having to cart around dead trees and bits of plastic. All my data is safely (well, relatively) contained in the aluminium shell of my laptop, and synchronised seamlessly into The Cloud. <a href="/articles/on-the-connectedness-of-apps-and-services/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/journalling-with-day-one-2-0/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/journalling-with-day-one-2-0/" itemprop=url>Journalling with Day One 2.0</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2016-02-04 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">February 4, 2016</time> <meta itemprop=copyrightYear content=2016> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/apple/" rel=tag class="label label-success">apple</a> <a href="/tags/day-one/" rel=tag class="label label-success">day one</a> <a href="/tags/ios/" rel=tag class="label label-success">ios</a> <a href="/tags/journalling/" rel=tag class="label label-success">journalling</a> <a href="/tags/macos/" rel=tag class="label label-success">macos</a> <a href="/tags/markdown/" rel=tag class="label label-success">markdown</a> <a href="/tags/productivity/" rel=tag class="label label-success">productivity</a> <a href="/tags/writing/" rel=tag class="label label-success">writing</a> </span> </p> </div> <div class="pull-left m-a-md" itemprop=image itemscope itemtype="http://schema.org/ImageObject"> <figure> <a href="/articles/journalling-with-day-one-2-0/" title="Journalling with Day One 2.0"> <img src="/images/journalling-with-day-one-2-0/thumbnail-995972f2.png" class="img-responsive img-rounded" alt="Journalling with Day One 2.0" itemprop="url thumbnailUrl contentUrl" width=400 height=400 /> </a> <figcaption class=sr-only itemprop=caption>Journalling with Day One 2.0</figcaption> </figure> <meta itemprop=width content=400> <meta itemprop=height content=400> </div> <div class=lead itemprop=description> <p>I&#39;ve been using Day One (<a href="https://geo.itunes.apple.com/gb/app/day-one/id1055511498?mt=12&amp;uo=4&amp;at=1010lbgm&amp;ct=website">Day One 2.0 for Mac</a> and <a href="https://geo.itunes.apple.com/gb/app/day-one-2-diary-+-journal/id1044867788?mt=8&amp;uo=4&amp;at=1010lbgm&amp;ct=website">Day One 2.0 for iOS</a>) for a few years now, I think. In fact, I&#39;ve just had a wee look, and the first entry that doesn&#39;t look like it was imported from elsewhere is just over four years old. In the time that I&#39;ve used it, I&#39;ve amassed 2,848 entries, though some of them have been imported from previous journalling experiments. I thought, since version 2.0 was released today, I&#39;d try writing my first entry in it by explaining how I use Day One, what other tools I&#39;ve tried in the past, and maybe even mention a couple of features I&#39;m hoping will come to it some day! <a href="/articles/journalling-with-day-one-2-0/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/homekitting-out-the-house/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/homekitting-out-the-house/" itemprop=url>HomeKit-ting out the House</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2016-02-01 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">February 1, 2016</time> <meta itemprop=copyrightYear content=2016> in <a href="/categories/home-automation/" rel="section category" class="label label-info" itemprop=articleSection>Home Automation</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/apple/" rel=tag class="label label-success">apple</a> <a href="/tags/homekit/" rel=tag class="label label-success">homekit</a> <a href="/tags/internet-of-things/" rel=tag class="label label-success">internet of things</a> <a href="/tags/ios/" rel=tag class="label label-success">ios</a> <a href="/tags/iphone/" rel=tag class="label label-success">iphone</a> </span> </p> </div> <div class="pull-left m-a-md" itemprop=image itemscope itemtype="http://schema.org/ImageObject"> <figure> <a href="/articles/homekitting-out-the-house/" title="HomeKit-ting out the House"> <img src="/images/homekitting-out-the-house/thumbnail-ab01c2ea.jpg" class="img-responsive img-rounded" alt="HomeKit-ting out the House" itemprop="url thumbnailUrl contentUrl" width=400 height=400 /> </a> <figcaption class=sr-only itemprop=caption>HomeKit-ting out the House</figcaption> </figure> <meta itemprop=width content=400> <meta itemprop=height content=400> </div> <div class=lead itemprop=description> <p>I&#39;ve always dreamed of having a &quot;smart&quot; house, where I can control the home environment through technology. I&#39;ve had this dream for longer than I&#39;ve owned a mobile phone, so it started out with wanting to control my bedroom lights from my PC. I dimly recall building a breakout box for the <a href="https://en.wikipedia.org/wiki/Parallel_port">parallel port</a>, wiring it up to some relays, and writing some x86 assembly to control them. For some reason, my parents weren&#39;t too keen on me switching mains electricity though, so the project never made it to completion. <a href="/articles/homekitting-out-the-house/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/the-happiness-manifesto/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/the-happiness-manifesto/" itemprop=url>The Happiness Manifesto</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2016-01-20 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 20, 2016</time> <meta itemprop=copyrightYear content=2016> in <a href="/categories/business/" rel="section category" class="label label-info" itemprop=articleSection>Business</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/business/" rel=tag class="label label-success">business</a> <a href="/tags/happiness/" rel=tag class="label label-success">happiness</a> <a href="/tags/manifesto/" rel=tag class="label label-success">manifesto</a> <a href="/tags/measurement/" rel=tag class="label label-success">measurement</a> <a href="/tags/mental-health/" rel=tag class="label label-success">mental health</a> <a href="/tags/startup/" rel=tag class="label label-success">startup</a> </span> </p> </div> <div class="pull-left m-a-md" itemprop=image itemscope itemtype="http://schema.org/ImageObject"> <figure> <a href="/articles/the-happiness-manifesto/" title="The Happiness Manifesto"> <img src="/images/the-happiness-manifesto/thumbnail-f82e196c.png" class="img-responsive img-rounded" alt="The Happiness Manifesto" itemprop="url thumbnailUrl contentUrl" width=400 height=400 /> </a> <figcaption class=sr-only itemprop=caption>The Happiness Manifesto</figcaption> </figure> <meta itemprop=width content=400> <meta itemprop=height content=400> </div> <div class=lead itemprop=description> <p>I&#39;m working my way through the <a href="http://www.thehappystartupschool.com/">Happy Startup School</a>&#39;s online course on building the sort of company that you wouldn&#39;t want to sell. Today&#39;s task is to figure out a manifesto for the business that defines the underlying principles through which it operates. I&#39;ve already written a little about the company&#39;s <a href="https://woss.name/articles/the-happiness-mission/">overall mission</a>: to measurably improve the long term happiness of both individuals and organisations. The intent here is to take the ideas from that mission and flesh out a little more detail. <a href="/articles/the-happiness-manifesto/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/the-happiness-mission/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/the-happiness-mission/" itemprop=url>The Happiness Mission</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2016-01-20 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 20, 2016</time> <meta itemprop=copyrightYear content=2016> in <a href="/categories/business/" rel="section category" class="label label-info" itemprop=articleSection>Business</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/building-a-business/" rel=tag class="label label-success">building a business</a> <a href="/tags/business/" rel=tag class="label label-success">business</a> <a href="/tags/happiness/" rel=tag class="label label-success">happiness</a> <a href="/tags/measuring-happiness/" rel=tag class="label label-success">measuring happiness</a> <a href="/tags/mission/" rel=tag class="label label-success">mission</a> <a href="/tags/startup/" rel=tag class="label label-success">startup</a> </span> </p> </div> <div class="pull-left m-a-md" itemprop=image itemscope itemtype="http://schema.org/ImageObject"> <figure> <a href="/articles/the-happiness-mission/" title="The Happiness Mission"> <img src="/images/the-happiness-mission/thumbnail-81fcceed.png" class="img-responsive img-rounded" alt="The Happiness Mission" itemprop="url thumbnailUrl contentUrl" width=400 height=400 /> </a> <figcaption class=sr-only itemprop=caption>The Happiness Mission</figcaption> </figure> <meta itemprop=width content=400> <meta itemprop=height content=400> </div> <div class=lead itemprop=description> <p>I&#39;m currently working my way through the <a href="http://www.thehappystartupschool.com/">Happy Startup School</a>&#39;s course on building the sort of company you wouldn&#39;t want to sell. I&#39;ve been toying with the idea for several months now that there&#39;s something interesting around the intersection of technology and mental health. I reckon that there are ways in which we can make a positive difference to many people&#39;s lives by exploring that intersection. I&#39;m also hoping that I can make a sustainable income out of it, too! <a href="/articles/the-happiness-mission/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/vim-iskeyword/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/vim-iskeyword/" itemprop=url>Convincing Vim to accept ? and ! as part of keyword</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2015-04-14 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">April 14, 2015</time> <meta itemprop=copyrightYear content=2015> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/vim/" rel=tag class="label label-success">vim</a> </span> </p> </div> <div class=lead itemprop=description> <p>Last night I learned how to convince vim that <code>!</code> and <code>?</code> are part of a keyword. This is awesome, because both those characters are valid characters for method names in Ruby. In particular, it now means that when I hit <code>ctrl-]</code> with my cursor in a method name containing a <code>!</code>, it will take me to the correct method definition. Let&#39;s see how. <a href="/articles/vim-iskeyword/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/there-and-back-again-a-packets-tale/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/there-and-back-again-a-packets-tale/" itemprop=url>There and back again: A packet's tale</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2015-02-26 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">February 26, 2015</time> <meta itemprop=copyrightYear content=2015> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ve got a new goal in life, and a new series of projects to achieve that goal. I&#39;m planning to focus my free time to produce articles, screen casts and, hopefully, eventually, a book. They&#39;re all around answering my favourite interview question: &quot;When I pull up my Internet Browser, type &#39;bbc.co.uk&#39; into the address bar, and press return, what happens?&quot;</p> <p>In this article, I explore why I like it as an interview question, and some of the topics I&#39;ll be talking about in the coming months. <a href="/articles/there-and-back-again-a-packets-tale/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/keybase/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/keybase/" itemprop=url>Keybase: A Web 2.0 of Trust</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-12-30 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 30, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/cryptography/" rel=tag class="label label-success">cryptography</a> <a href="/tags/gnupg/" rel=tag class="label label-success">gnupg</a> <a href="/tags/keybase/" rel=tag class="label label-success">keybase</a> <a href="/tags/keysigning/" rel=tag class="label label-success">keysigning</a> <a href="/tags/pgp/" rel=tag class="label label-success">pgp</a> <a href="/tags/security/" rel=tag class="label label-success">security</a> </span> </p> </div> <div class=lead itemprop=description> <p>A short introduction to public key cryptography, how the web of trust is formed, and what Keybase brings to the key signing party. <a href="/articles/keybase/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/starting-a-new-rails-project/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/starting-a-new-rails-project/" itemprop=url>Starting a new Rails project</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-12-27 itemprop="dateCreated datePublished" class=op-published>December 27, 2014</time> (updated <time datetime=2016-06-01 itemprop=dateModified class=op-modified>June 1, 2016</time>) <meta itemprop=copyrightYear content=2016> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/foreman/" rel=tag class="label label-success">foreman</a> <a href="/tags/guard/" rel=tag class="label label-success">guard</a> <a href="/tags/postgresql/" rel=tag class="label label-success">postgresql</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/rspec/" rel=tag class="label label-success">rspec</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/twitter-bootstrap/" rel=tag class="label label-success">twitter bootstrap</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;m dusting off an old post this evening, since I&#39;ve spent the entire day coding in Rails on a new side project. As it happens, I had the opportunity to test-drive this article to see if it still works, and it does! For bonus points, it nearly works with Rails 5-rc1, too, which is what I ended up playing with for most of the day. I&#39;ve run out of time now, but sometime in the next few days, I&#39;ll update this article for Rails 5, switching from unicorn to puma &mdash; since that&#39;s what <a href="https://heroku.com/">Heroku</a> now recommend &mdash; and trying out Bootstrap v4! But meanwhile, if you&#39;ve got the opportunity to bootstrap a new greenfield Rails project, give this a shot. <a href="/articles/starting-a-new-rails-project/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/retrospective-prime-directive/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/retrospective-prime-directive/" itemprop=url>The Retrospective Prime Directive</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-12-24 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 24, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/agile/" rel=tag class="label label-success">agile</a> <a href="/tags/blame/" rel=tag class="label label-success">blame</a> <a href="/tags/context/" rel=tag class="label label-success">context</a> <a href="/tags/environment/" rel=tag class="label label-success">environment</a> <a href="/tags/five-whys/" rel=tag class="label label-success">five whys</a> <a href="/tags/planning/" rel=tag class="label label-success">planning</a> <a href="/tags/post-mortem/" rel=tag class="label label-success">post-mortem</a> <a href="/tags/retrospective/" rel=tag class="label label-success">retrospective</a> <a href="/tags/review/" rel=tag class="label label-success">review</a> </span> </p> </div> <div class=lead itemprop=description> <p>The Retrospective Prime Directive states: &quot;Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.&quot; I muse a little on what this means. <a href="/articles/retrospective-prime-directive/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/scotland-is-depressed/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/scotland-is-depressed/" itemprop=url>Scotland's Depression</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-12-15 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 15, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories//index.html" rel="section category" class="label label-info" itemprop=articleSection></a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/change/" rel=tag class="label label-success">change</a> <a href="/tags/counselling/" rel=tag class="label label-success">counselling</a> <a href="/tags/depression/" rel=tag class="label label-success">depression</a> <a href="/tags/independence/" rel=tag class="label label-success">independence</a> <a href="/tags/scotland/" rel=tag class="label label-success">scotland</a> <a href="/tags/therapy/" rel=tag class="label label-success">therapy</a> </span> </p> </div> <div class=lead itemprop=description> <p>Everyone has their own take on Scottish independence. Most people I&#39;ve read, and understood, have had a very personal, often emotionally charged, perspective on independence, based on their own experiences. This is my attempt to relate the issues to my personal experiences of the past year. <a href="/articles/scotland-is-depressed/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/marking-up-an-article/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/marking-up-an-article/" itemprop=url>Marking up an Article</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-12-07 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 7, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/facebook/" rel=tag class="label label-success">facebook</a> <a href="/tags/google/" rel=tag class="label label-success">google</a> <a href="/tags/microdata/" rel=tag class="label label-success">microdata</a> <a href="/tags/opengraph/" rel=tag class="label label-success">opengraph</a> <a href="/tags/search/" rel=tag class="label label-success">search</a> <a href="/tags/seo/" rel=tag class="label label-success">seo</a> <a href="/tags/twitter/" rel=tag class="label label-success">twitter</a> </span> </p> </div> <div class=lead itemprop=description> <p>Let&#39;s have a bit of a dive into the metadata associated with blog posts, and figure out how to produce the right information that all our social media tools (Google, Facebook, Twitter, etc) can consume. <a href="/articles/marking-up-an-article/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/two-factor-authentication/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/two-factor-authentication/" itemprop=url>Two-Factor Authentication</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-12-07 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 7, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/authentication/" rel=tag class="label label-success">authentication</a> <a href="/tags/authorisation/" rel=tag class="label label-success">authorisation</a> <a href="/tags/authy/" rel=tag class="label label-success">authy</a> <a href="/tags/banking/" rel=tag class="label label-success">banking</a> <a href="/tags/chip-and-pin/" rel=tag class="label label-success">chip and pin</a> <a href="/tags/credit-cards/" rel=tag class="label label-success">credit cards</a> <a href="/tags/duo/" rel=tag class="label label-success">duo</a> <a href="/tags/google/" rel=tag class="label label-success">google</a> <a href="/tags/passwords/" rel=tag class="label label-success">passwords</a> <a href="/tags/rsa/" rel=tag class="label label-success">rsa</a> <a href="/tags/security/" rel=tag class="label label-success">security</a> <a href="/tags/two-factor/" rel=tag class="label label-success">two-factor</a> <a href="/tags/yubikey/" rel=tag class="label label-success">yubikey</a> </span> </p> </div> <div class=lead itemprop=description> <p>The Internet is full of Bad People Who Want To Steal Your Stuff. Well, no, not really. The Internet is full of good people (so long as you don’t read the comments), but it does give the bad people access to an unprecedented amount of computing power, and a large audience with which to play. When you’ve got enough computing power, and enough bandwidth, it’s no big deal to guess somebody’s password by just trying out every possible combination (called a &quot;brute force&quot; attack). <a href="/articles/two-factor-authentication/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/front-end-development-101-part-2/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/front-end-development-101-part-2/" itemprop=url>Front-end Development 101</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-12-06 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 6, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/bootstrap/" rel=tag class="label label-success">bootstrap</a> <a href="/tags/coffeescript/" rel=tag class="label label-success">coffeescript</a> <a href="/tags/css/" rel=tag class="label label-success">css</a> <a href="/tags/go/" rel=tag class="label label-success">go</a> <a href="/tags/grunt/" rel=tag class="label label-success">grunt</a> <a href="/tags/javascript/" rel=tag class="label label-success">javascript</a> <a href="/tags/less/" rel=tag class="label label-success">less</a> </span> </p> </div> <div class=lead itemprop=description> <p>In the second part of this series, I&#39;m taking a look at using Grunt to automate repetitive tasks and to automatically build artefacts when a source file changes. And we&#39;ll use Grunt to compile our stylesheets, from our own Less CSS source, and Twitter Bootstrap. <a href="/articles/front-end-development-101-part-2/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/personal-timeline/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/personal-timeline/" itemprop=url>A Personal Timeline</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-12-05 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 5, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/history/" rel=tag class="label label-success">history</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/timeline/" rel=tag class="label label-success">timeline</a> <a href="/tags/timelinejs/" rel=tag class="label label-success">timelinejs</a> </span> </p> </div> <div class=lead itemprop=description> <p>I built a simple web app to enter details of a personal historical timeline, and use <a href="http://timeline.knightlab.com/">TimelineJS</a> to display the resulting timeline. Mostly, I&#39;m sharing the code just in case it&#39;s of use to somebody else. <a href="/articles/personal-timeline/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/awesome/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/awesome/" itemprop=url>AWESOME!!!1!</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-12-04 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 4, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/awesome/" rel=tag class="label label-success">awesome</a> <a href="/tags/black-dog/" rel=tag class="label label-success">black dog</a> <a href="/tags/brilliant/" rel=tag class="label label-success">brilliant</a> <a href="/tags/depression/" rel=tag class="label label-success">depression</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ve been reading Roddy Doyle&#39;s <a href="http://www.amazon.co.uk/gp/product/B00IXLVUC0/ref=as_li_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B00IXLVUC0&amp;linkCode=as2&amp;tag=wossname-21">Brilliant</a> over the past couple of evenings, with a view to reading it to our kids, M and Em. We&#39;ve been looking for ways to explain the Black Dog of Depression to the kids, especially after the events of the past year. The book is as good as its title boldly states. It explains the effects of depression from the perspective of the kids whose parents, or family, are suffering from it. I won&#39;t lie: it made me cry, because it struck a real chord. <a href="/articles/awesome/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/hyperpower/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/hyperpower/" itemprop=url>HYPERPOWER!</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-28 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 28, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/alfred/" rel=tag class="label label-success">alfred</a> <a href="/tags/capslock/" rel=tag class="label label-success">capslock</a> <a href="/tags/hyper/" rel=tag class="label label-success">hyper</a> <a href="/tags/karabiner/" rel=tag class="label label-success">karabiner</a> <a href="/tags/seil/" rel=tag class="label label-success">seil</a> </span> </p> </div> <div class=lead itemprop=description> <p>Today, we&#39;ll figure out how to replace the caps lock key with the (far more useful) HYPER key on Mac OS X, and have a think about the different ways we can put it to use. <a href="/articles/hyperpower/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/transactional-analysis-for-geeks/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/transactional-analysis-for-geeks/" itemprop=url>Counselling for Geeks</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-27 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 27, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/counselling/" rel=tag class="label label-success">counselling</a> <a href="/tags/counselling-for-toads/" rel=tag class="label label-success">counselling for toads</a> <a href="/tags/ego/" rel=tag class="label label-success">ego</a> <a href="/tags/eric-berne/" rel=tag class="label label-success">eric berne</a> <a href="/tags/games/" rel=tag class="label label-success">games</a> <a href="/tags/psychology/" rel=tag class="label label-success">psychology</a> <a href="/tags/therapy/" rel=tag class="label label-success">therapy</a> <a href="/tags/transactional-analysis/" rel=tag class="label label-success">transactional analysis</a> <a href="/tags/transactions/" rel=tag class="label label-success">transactions</a> </span> </p> </div> <div class=lead itemprop=description> <p>I recently read [Counselling For Toads][], an introduction to [Transactional Analysis][] set in the world of [Wind in the Willows][]. Toad (of Toad Hall) is depressed, and his friends are worried about him. They encourage him to seek help in the form of some counselling, to better understand his feelings, and to learn to cope with them. The story is of Toad&#39;s adventures in counselling, learning about himself, and figuring out his relationships with his friends. <a href="/articles/transactional-analysis-for-geeks/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/dockerising-a-rails-app/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/dockerising-a-rails-app/" itemprop=url>Dockerising a Rails App</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-26 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 26, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/docker/" rel=tag class="label label-success">docker</a> <a href="/tags/nginx/" rel=tag class="label label-success">nginx</a> <a href="/tags/phusion/" rel=tag class="label label-success">phusion</a> <a href="/tags/postgresql/" rel=tag class="label label-success">postgresql</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/runit/" rel=tag class="label label-success">runit</a> </span> </p> </div> <div class=lead itemprop=description> <p>Today we&#39;re going to explore how to bundle up a sample Ruby on Rails application into Docker images, run containers locally in our development environment, and link the containers together so they can talk to each other. On the way, we&#39;ll automate the build with Rake, and discover a little more about how container linking actually works. <a href="/articles/dockerising-a-rails-app/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/vagrant-docker-and-vmware-fusion/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/vagrant-docker-and-vmware-fusion/" itemprop=url>Vagrant, Docker & VMWare Fusion: Oh my!</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-23 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 23, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/containers/" rel=tag class="label label-success">containers</a> <a href="/tags/docker/" rel=tag class="label label-success">docker</a> <a href="/tags/jekyll/" rel=tag class="label label-success">jekyll</a> <a href="/tags/nginx/" rel=tag class="label label-success">nginx</a> <a href="/tags/phusion/" rel=tag class="label label-success">phusion</a> <a href="/tags/puppet/" rel=tag class="label label-success">puppet</a> <a href="/tags/vagrant/" rel=tag class="label label-success">vagrant</a> <a href="/tags/vmware/" rel=tag class="label label-success">vmware</a> </span> </p> </div> <div class=lead itemprop=description> <p>Today we figure out how to run Docker containers on Mac OS X with a little help from VMWare Fusion, and Vagrant. <a href="/articles/vagrant-docker-and-vmware-fusion/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/going-deep-on-accounting/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/going-deep-on-accounting/" itemprop=url>Going Deep on Accounting</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-22 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 22, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/accounting/" rel=tag class="label label-success">accounting</a> <a href="/tags/cost-accounting/" rel=tag class="label label-success">cost accounting</a> <a href="/tags/erosion-resistance/" rel=tag class="label label-success">erosion-resistance</a> <a href="/tags/freeagent/" rel=tag class="label label-success">freeagent</a> <a href="/tags/invoicing/" rel=tag class="label label-success">invoicing</a> <a href="/tags/stock/" rel=tag class="label label-success">stock</a> <a href="/tags/t-tables/" rel=tag class="label label-success">t-tables</a> <a href="/tags/usp/" rel=tag class="label label-success">usp</a> </span> </p> </div> <div class=lead itemprop=description> <p>A bit of an archaeology dig in ancient home directories turned up a couple of Rails apps that I built while I was studying for a Diploma in Accounting. Let&#39;s see if we can dust them off a little and learn something from them. <a href="/articles/going-deep-on-accounting/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/representing-trees-in-postgresql/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/representing-trees-in-postgresql/" itemprop=url>Representing Trees in PostgreSQL</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-21 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 21, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/adjacencies/" rel=tag class="label label-success">adjacencies</a> <a href="/tags/hierarchies/" rel=tag class="label label-success">hierarchies</a> <a href="/tags/materialised-path/" rel=tag class="label label-success">materialised path</a> <a href="/tags/nested-sets/" rel=tag class="label label-success">nested sets</a> <a href="/tags/postgresql/" rel=tag class="label label-success">postgresql</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/trees/" rel=tag class="label label-success">trees</a> </span> </p> </div> <div class=lead itemprop=description> <p>Today we figure out a novel approach to the materialised path pattern for representing hierarchical data in SQL. It takes advantage of PostgreSQL&#39;s native support for array types. But it also poses a question: can we make use of ActiveRecord&#39;s preloading machinery for eager loading these trees? <a href="/articles/representing-trees-in-postgresql/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/specifying-rails-controllers-with-rspec-part-2/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/specifying-rails-controllers-with-rspec-part-2/" itemprop=url>Specifying Ruby on Rails Controllers with RSpec</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-20 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 20, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/behaviour-driven-development/" rel=tag class="label label-success">behaviour-driven development</a> <a href="/tags/capybara/" rel=tag class="label label-success">capybara</a> <a href="/tags/mocking/" rel=tag class="label label-success">mocking</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/rspec/" rel=tag class="label label-success">rspec</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/test-driven-development/" rel=tag class="label label-success">test-driven development</a> <a href="/tags/testing/" rel=tag class="label label-success">testing</a> </span> </p> </div> <div class=lead itemprop=description> <p>Back in <a href="/articles/specifying-rails-controllers-with-rspec/">part 1</a>, we had a look at some of the new features of RSpec, and we used those features to create a query-style controller action. In particular, it listed out all the widgets in our inventory management system. This time around, we&#39;re going to look at a command-style action: creating a new widget. <a href="/articles/specifying-rails-controllers-with-rspec-part-2/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/specifying-rails-controllers-with-rspec/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/specifying-rails-controllers-with-rspec/" itemprop=url>Specifying Ruby on Rails Controllers with RSpec</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-19 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 19, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/behaviour-driven-development/" rel=tag class="label label-success">behaviour-driven development</a> <a href="/tags/capybara/" rel=tag class="label label-success">capybara</a> <a href="/tags/cucumber/" rel=tag class="label label-success">cucumber</a> <a href="/tags/microtesting/" rel=tag class="label label-success">microtesting</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/rspec/" rel=tag class="label label-success">rspec</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/test-driven-development/" rel=tag class="label label-success">test-driven development</a> <a href="/tags/unit-testing/" rel=tag class="label label-success">unit testing</a> </span> </p> </div> <div class=lead itemprop=description> <p>RSpec has come a long way since I last used it in anger. Today, I&#39;m starting through a worked example on test-driving a Ruby on Rails controller with RSpec, Capybara feature specs, and plenty of mocking. Along the way, we&#39;ll see some neat new features of RSpec in action. <a href="/articles/specifying-rails-controllers-with-rspec/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/front-end-development-101-part-1/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/front-end-development-101-part-1/" itemprop=url>Front End Development 101</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-18 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 18, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/bootstrap/" rel=tag class="label label-success">bootstrap</a> <a href="/tags/bower/" rel=tag class="label label-success">bower</a> <a href="/tags/coffeescript/" rel=tag class="label label-success">coffeescript</a> <a href="/tags/css/" rel=tag class="label label-success">css</a> <a href="/tags/go/" rel=tag class="label label-success">go</a> <a href="/tags/javascript/" rel=tag class="label label-success">javascript</a> <a href="/tags/less/" rel=tag class="label label-success">less</a> <a href="/tags/node/" rel=tag class="label label-success">node</a> <a href="/tags/sass/" rel=tag class="label label-success">sass</a> </span> </p> </div> <div class=lead itemprop=description> <p>I could easily be labelled as a &quot;[Ruby on] Rails Developer&quot; and I&#39;m quite content with the asset pipeline for managing various front-end web development assets (Javascript, CSS, client side templates, images, fonts, etc). But since I&#39;m playing around with <a href="http://golang.org/">Go</a> for back end development on my current project, I thought I&#39;d investigate current practices for managing assets on the front end. This is a rambling log of what I learned while I was playing around. <a href="/articles/front-end-development-101-part-1/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/tmux-new-windows-in-current-directory/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/tmux-new-windows-in-current-directory/" itemprop=url>tmux: New Windows in the Current Working Directory</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-11-16 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 16, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/command-line/" rel=tag class="label label-success">command line</a> <a href="/tags/cwd/" rel=tag class="label label-success">cwd</a> <a href="/tags/path/" rel=tag class="label label-success">path</a> <a href="/tags/screen/" rel=tag class="label label-success">screen</a> <a href="/tags/shell/" rel=tag class="label label-success">shell</a> <a href="/tags/tmux/" rel=tag class="label label-success">tmux</a> <a href="/tags/working-directory/" rel=tag class="label label-success">working directory</a> </span> </p> </div> <div class=lead itemprop=description> <p>I could have sworn that tmux used to launch new shells in the current working directory of my active shell when it spawned new windows/panes. In this post, I discover that it wasn&#39;t my imagination, that it no longer happens by default, and how I can get the behaviour back again. <a href="/articles/tmux-new-windows-in-current-directory/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/markdown-cheat-sheet/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/markdown-cheat-sheet/" itemprop=url>Markdown Cheat Sheet</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-09-10 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">September 10, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/day-one/" rel=tag class="label label-success">day one</a> <a href="/tags/email/" rel=tag class="label label-success">email</a> <a href="/tags/github-flavoured-markdown/" rel=tag class="label label-success">github flavoured markdown</a> <a href="/tags/html/" rel=tag class="label label-success">html</a> <a href="/tags/kramdown/" rel=tag class="label label-success">kramdown</a> <a href="/tags/markdown/" rel=tag class="label label-success">markdown</a> </span> </p> </div> <div class=lead itemprop=description> <p>While I remember most of the Markdown syntax that&#39;s commonly available (after all, it&#39;s &quot;just&quot; like writing plain text email), there are some bits and pieces -- usually extensions to the language -- that I forget. This is my attempt to document them so I&#39;ll remember in future. <a href="/articles/markdown-cheat-sheet/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/personal-code-review/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/personal-code-review/" itemprop=url>Personal Code Review</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2014-09-08 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">September 8, 2014</time> <meta itemprop=copyrightYear content=2014> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/branching/" rel=tag class="label label-success">branching</a> <a href="/tags/git/" rel=tag class="label label-success">git</a> <a href="/tags/merging/" rel=tag class="label label-success">merging</a> <a href="/tags/stories/" rel=tag class="label label-success">stories</a> <a href="/tags/workflow/" rel=tag class="label label-success">workflow</a> </span> </p> </div> <div class=lead itemprop=description> <p>I have a micro work flow I use when I working with git, usually -- but not always -- while I&#39;m developing software. Most git work flows talk about a larger scale, so I thought I&#39;d share my own, personal, micro work flow. <a href="/articles/personal-code-review/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/nanowrimo/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/nanowrimo/" itemprop=url>National Novel Writing Month</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2013-12-06 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 6, 2013</time> <meta itemprop=copyrightYear content=2013> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/imposter-syndrome/" rel=tag class="label label-success">imposter syndrome</a> <a href="/tags/nanowrimo/" rel=tag class="label label-success">nanowrimo</a> <a href="/tags/o-reilly/" rel=tag class="label label-success">o'reilly</a> <a href="/tags/pragmatic-programmers/" rel=tag class="label label-success">pragmatic programmers</a> </span> </p> </div> <div class=lead itemprop=description> <p>I did it! I successfully validated 50,340 written words for NaNoWriMo by the end of the month. I am inordinately pleased about that, even if it pushed me off my regular blog/morning pages schedule a little. This is a little retrospective on the month. <a href="/articles/nanowrimo/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/the-demise-of-the-gruffalo/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/the-demise-of-the-gruffalo/" itemprop=url>Death of a Gruffalo</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2013-11-23 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 23, 2013</time> <meta itemprop=copyrightYear content=2013> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/fiction/" rel=tag class="label label-success">fiction</a> <a href="/tags/gruffalo/" rel=tag class="label label-success">gruffalo</a> </span> </p> </div> <div class=lead itemprop=description> <p>It all began with a mouse strolling through the deep, dark, wood. How could the Gruffalo live with the shame? <a href="/articles/the-demise-of-the-gruffalo/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/walking/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/walking/" itemprop=url>Walking</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2013-11-13 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 13, 2013</time> <meta itemprop=copyrightYear content=2013> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/fitness/" rel=tag class="label label-success">fitness</a> <a href="/tags/fresh-air/" rel=tag class="label label-success">fresh air</a> <a href="/tags/health/" rel=tag class="label label-success">health</a> <a href="/tags/mental-health/" rel=tag class="label label-success">mental health</a> <a href="/tags/mindfulness/" rel=tag class="label label-success">mindfulness</a> <a href="/tags/vitamin-d/" rel=tag class="label label-success">vitamin d</a> <a href="/tags/walking/" rel=tag class="label label-success">walking</a> </span> </p> </div> <div class=lead itemprop=description> <p>I love walking. The world is full of beauty, and the best way to find it is to wander through it. It&#39;s good for your physical health, and it&#39;s good for your mental health. It can be an opportunity to relax, to learn, or to socialise. Really, you shouldn&#39;t read this; you should go for a walk instead! <a href="/articles/walking/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/the-inner-game-of-pool/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/the-inner-game-of-pool/" itemprop=url>The inner game of pool</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2013-11-07 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 7, 2013</time> <meta itemprop=copyrightYear content=2013> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/inner-game/" rel=tag class="label label-success">inner game</a> <a href="/tags/learning/" rel=tag class="label label-success">learning</a> <a href="/tags/nanowrimo/" rel=tag class="label label-success">nanowrimo</a> <a href="/tags/outer-game/" rel=tag class="label label-success">outer game</a> <a href="/tags/pool/" rel=tag class="label label-success">pool</a> <a href="/tags/teaching/" rel=tag class="label label-success">teaching</a> <a href="/tags/tennis/" rel=tag class="label label-success">tennis</a> </span> </p> </div> <div class=lead itemprop=description> <p>It&#39;s a funny old game, pool. But how do you learn to play it? Malcolm and I experiment a little with it, and have some insight on how to learn/teach along the way. <a href="/articles/the-inner-game-of-pool/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/planning/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/planning/" itemprop=url>Planning</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2013-10-31 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">October 31, 2013</time> <meta itemprop=copyrightYear content=2013> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/dns/" rel=tag class="label label-success">dns</a> <a href="/tags/email/" rel=tag class="label label-success">email</a> <a href="/tags/ethernet/" rel=tag class="label label-success">ethernet</a> <a href="/tags/gremlins/" rel=tag class="label label-success">gremlins</a> <a href="/tags/nanowrimo/" rel=tag class="label label-success">nanowrimo</a> <a href="/tags/tcp-ip/" rel=tag class="label label-success">tcp/ip</a> <a href="/tags/writing/" rel=tag class="label label-success">writing</a> </span> </p> </div> <div class=lead itemprop=description> <p>How did I ever talk myself into getting involved in NanoWriMo? Well, I&#39;d been thinking about it for a while, to be honest. I&#39;ve really been enjoying writing lately. It&#39;s been theraputic. But then a conversation happened on Twitter, and a handful of friends all said they were going to give it a shot and, well, in some fit of craziness, I said &quot;yeah, count me in!&quot;. <a href="/articles/planning/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/a-new-hope/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/a-new-hope/" itemprop=url>A new hope</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2013-10-29 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">October 29, 2013</time> <meta itemprop=copyrightYear content=2013> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/blogging/" rel=tag class="label label-success">blogging</a> <a href="/tags/gremlins/" rel=tag class="label label-success">gremlins</a> <a href="/tags/morning-pages/" rel=tag class="label label-success">morning pages</a> <a href="/tags/writing/" rel=tag class="label label-success">writing</a> </span> </p> </div> <div class=lead itemprop=description> <p>I get back on the horse - start blogging again - by talking about some of the ways in which I&#39;ve encouraged myself to write again, and some of the Gremlins that have been stopping me from doing so in the first place. <a href="/articles/a-new-hope/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/mysql-and-time-zones/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/mysql-and-time-zones/" itemprop=url>MySQL and time zones</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2013-01-23 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 23, 2013</time> <meta itemprop=copyrightYear content=2013> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/activerecord/" rel=tag class="label label-success">activerecord</a> <a href="/tags/conversion/" rel=tag class="label label-success">conversion</a> <a href="/tags/datetime/" rel=tag class="label label-success">datetime</a> <a href="/tags/mysql/" rel=tag class="label label-success">mysql</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/timestamp/" rel=tag class="label label-success">timestamp</a> <a href="/tags/timezones/" rel=tag class="label label-success">timezones</a> <a href="/tags/utc/" rel=tag class="label label-success">utc</a> </span> </p> </div> <div class=lead itemprop=description> <p>It turns out that MySQL has support for time zones, but doesn&#39;t have the necessary information to support named time zones out of the box. Once we have that sorted, there are some new and exciting ways we can query local times while storing them as UTC in MySQL. <a href="/articles/mysql-and-time-zones/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/pulling-an-espresso/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/pulling-an-espresso/" itemprop=url>Pulling an Espresso</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2013-01-19 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 19, 2013</time> <meta itemprop=copyrightYear content=2013> in <a href="/categories/kitchen/" rel="section category" class="label label-info" itemprop=articleSection>Kitchen</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/coffee/" rel=tag class="label label-success">coffee</a> <a href="/tags/coffee-beans/" rel=tag class="label label-success">coffee beans</a> <a href="/tags/espresso/" rel=tag class="label label-success">espresso</a> <a href="/tags/rancilio-rocky/" rel=tag class="label label-success">rancilio rocky</a> <a href="/tags/rancilio-silvia/" rel=tag class="label label-success">rancilio silvia</a> </span> </p> </div> <div class=lead itemprop=description> <p>Has Bean, my goto place for beans and guides to brewing coffee, doesn&#39;t have a guide for pulling espresso (which is fair enough, I suppose, seeing as they&#39;re <em>brew</em> guides!). So here&#39;s what I do. I wrote this note in EverNote a few weeks back, and was showing it to Annabel this morning (in the hopes of getting a coffee in bed!). She suggested I publish it here. <a href="/articles/pulling-an-espresso/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/all-late-projects-are-the-same/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/all-late-projects-are-the-same/" itemprop=url>All late projects are the same</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2013-01-03 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 3, 2013</time> <meta itemprop=copyrightYear content=2013> in <a href="/categories/writing/" rel="section category" class="label label-info" itemprop=articleSection>Writing</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/estimation/" rel=tag class="label label-success">estimation</a> <a href="/tags/lateness/" rel=tag class="label label-success">lateness</a> <a href="/tags/project-management/" rel=tag class="label label-success">project management</a> <a href="/tags/value/" rel=tag class="label label-success">value</a> </span> </p> </div> <div class=lead itemprop=description> <p>This is the first in a series of posts where I actually digest and write about articles I&#39;ve read elsewhere. What better way to understand something you&#39;ve read than try to write about it? Of course, with this blog&#39;s track record, it may well be a series of one. :) <a href="/articles/all-late-projects-are-the-same/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/shower-power/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/shower-power/" itemprop=url>Shower Power</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2012-04-30 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">April 30, 2012</time> <meta itemprop=copyrightYear content=2012> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/abstraction/" rel=tag class="label label-success">abstraction</a> <a href="/tags/immediacy/" rel=tag class="label label-success">immediacy</a> <a href="/tags/javascript/" rel=tag class="label label-success">javascript</a> <a href="/tags/modelling/" rel=tag class="label label-success">modelling</a> <a href="/tags/principles/" rel=tag class="label label-success">principles</a> <a href="/tags/telling-stories/" rel=tag class="label label-success">telling stories</a> </span> </p> </div> <div class=lead itemprop=description> <p>A few weeks ago, I watched a talk from CUSEC 2012 by <a href="http://worrydream.com/">Bret Victor</a> called <a href="http://www.youtube.com/watch?v=PUv66718DII">Inventing on Principle</a> where he described the principle by which he lives his life. You should go watch the talk now, it&#39;s awesome. I&#39;ll wait. <a href="/articles/shower-power/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/retrieving-bigdecimals-from-a-database-with-anorm-scala/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/retrieving-bigdecimals-from-a-database-with-anorm-scala/" itemprop=url>Retrieving BigDecimals from a database with Anorm & Scala</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2012-04-02 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">April 2, 2012</time> <meta itemprop=copyrightYear content=2012> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/anorm/" rel=tag class="label label-success">anorm</a> <a href="/tags/bigdecimal/" rel=tag class="label label-success">bigdecimal</a> <a href="/tags/postgresql/" rel=tag class="label label-success">postgresql</a> <a href="/tags/scala/" rel=tag class="label label-success">scala</a> </span> </p> </div> <div class=lead itemprop=description> <p>In which I take a long, long time just to retrieve a couple of numbers from a DB and display them on a web page. Ah, the joys of learning a new programming language, framework and ecosystem, all at once! <a href="/articles/retrieving-bigdecimals-from-a-database-with-anorm-scala/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/today-i-learned-vim-command-line-fu/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/today-i-learned-vim-command-line-fu/" itemprop=url>Today I Learned: Vim command line fu</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2012-02-13 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">February 13, 2012</time> <meta itemprop=copyrightYear content=2012> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/command-line/" rel=tag class="label label-success">command line</a> <a href="/tags/editors/" rel=tag class="label label-success">editors</a> <a href="/tags/fugitive/" rel=tag class="label label-success">fugitive</a> <a href="/tags/git/" rel=tag class="label label-success">git</a> <a href="/tags/vim/" rel=tag class="label label-success">vim</a> </span> </p> </div> <div class=lead itemprop=description> <p>In which I learn some useful shortcuts to make life faster with the Vim command line. <a href="/articles/today-i-learned-vim-command-line-fu/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/symlink-corruption-on-mac-os-x/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/symlink-corruption-on-mac-os-x/" itemprop=url>Symlink corruption on Mac OS X</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2012-01-29 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 29, 2012</time> <meta itemprop=copyrightYear content=2012> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/corruption/" rel=tag class="label label-success">corruption</a> <a href="/tags/genius-bar/" rel=tag class="label label-success">genius bar</a> <a href="/tags/imac/" rel=tag class="label label-success">imac</a> <a href="/tags/lion/" rel=tag class="label label-success">lion</a> <a href="/tags/mac-os-x/" rel=tag class="label label-success">mac os x</a> <a href="/tags/promise/" rel=tag class="label label-success">promise</a> <a href="/tags/symlinks/" rel=tag class="label label-success">symlinks</a> <a href="/tags/thunderbolt/" rel=tag class="label label-success">thunderbolt</a> </span> </p> </div> <div class=lead itemprop=description> <p>Mac OS X on my desktop computer (a newish 27&quot; iMac, using a Promise Thunderbolt disk array for the root filesystem) seems to be having filesystem troubles. I notice it through symlinks going awry, though I&#39;m sure they&#39;re not the only victim. I tidied all the errant symlinks up two weeks ago, hoping it was a temporary glitch, but they&#39;re back again today. Here&#39;s an example: <a href="/articles/symlink-corruption-on-mac-os-x/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/how-to-install-a-working-set-of-compilers-on-mac-os-x-10-7-lion/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/how-to-install-a-working-set-of-compilers-on-mac-os-x-10-7-lion/" itemprop=url>How to install a working set of compilers on Mac OS X 10.7 (Lion)</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2012-01-24 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 24, 2012</time> <meta itemprop=copyrightYear content=2012> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/clang/" rel=tag class="label label-success">clang</a> <a href="/tags/compilers/" rel=tag class="label label-success">compilers</a> <a href="/tags/gcc/" rel=tag class="label label-success">gcc</a> <a href="/tags/lion/" rel=tag class="label label-success">lion</a> <a href="/tags/llvm/" rel=tag class="label label-success">llvm</a> <a href="/tags/mac-os-x/" rel=tag class="label label-success">mac os x</a> <a href="/tags/xcode/" rel=tag class="label label-success">xcode</a> </span> </p> </div> <div class=lead itemprop=description> <p>Xcode 4.2 removed GCC, which seems to be causing a bit of confusion. Here&#39;s a bit of background and a workaround &#39;til the dust settles. <a href="/articles/how-to-install-a-working-set-of-compilers-on-mac-os-x-10-7-lion/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/running-tmux-in-mac-os-x-terminal/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/running-tmux-in-mac-os-x-terminal/" itemprop=url>Running tmux in Mac OS X Terminal</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2012-01-04 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 4, 2012</time> <meta itemprop=copyrightYear content=2012> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/launchd/" rel=tag class="label label-success">launchd</a> <a href="/tags/mac-os-x/" rel=tag class="label label-success">mac os x</a> <a href="/tags/screen/" rel=tag class="label label-success">screen</a> <a href="/tags/shell/" rel=tag class="label label-success">shell</a> <a href="/tags/terminal/" rel=tag class="label label-success">terminal</a> <a href="/tags/tmux/" rel=tag class="label label-success">tmux</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ve been a fan of <a href="http://www.gnu.org/software/screen/">screen</a> for ... a while now. But since I like being one of the cool kids, I&#39;ve been using <a href="http://tmux.sourceforge.net/">tmux</a> for the past year or so. Last week, I noticed that every time I launch a new terminal, I wind up typing <code>tmux attach-session</code>. Let&#39;s streamline, a little bit. <a href="/articles/running-tmux-in-mac-os-x-terminal/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/give-me-back-my-hash-key/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/give-me-back-my-hash-key/" itemprop=url>Give me back my # key!</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-12-30 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">December 30, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/bash/" rel=tag class="label label-success">bash</a> <a href="/tags/hash-key/" rel=tag class="label label-success">hash key</a> <a href="/tags/inputrc/" rel=tag class="label label-success">inputrc</a> <a href="/tags/meta/" rel=tag class="label label-success">meta</a> <a href="/tags/pound-sign/" rel=tag class="label label-success">pound sign</a> <a href="/tags/readline/" rel=tag class="label label-success">readline</a> <a href="/tags/terminal/" rel=tag class="label label-success">terminal</a> </span> </p> </div> <div class=lead itemprop=description> <p>Since I switched on &quot;Use option as meta&quot; in my Terminal app, I&#39;ve lost my hash key. Can I have it back, please? Plus a bonus tip for quickly commenting out commands at the command line. <a href="/articles/give-me-back-my-hash-key/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/understanding-the-rails-logger/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/understanding-the-rails-logger/" itemprop=url>Understanding the Rails Logger</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-10-12 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">October 12, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/activesupport/" rel=tag class="label label-success">activesupport</a> <a href="/tags/atomicity/" rel=tag class="label label-success">atomicity</a> <a href="/tags/buffering/" rel=tag class="label label-success">buffering</a> <a href="/tags/delayed-job/" rel=tag class="label label-success">delayed job</a> <a href="/tags/flushing/" rel=tag class="label label-success">flushing</a> <a href="/tags/logging/" rel=tag class="label label-success">logging</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> </span> </p> </div> <div class=lead itemprop=description> <p>I’ve lost track of why now, but I’ve spent a bit of time this afternoon trying to understand how the Rails logger works in production. For years we’ve been using a <a href="http://nubyonrails.com/articles/a-hodel-3000-compliant-logger-for-the-rest-of-us">Hodel 3000 Compliant Logger</a>, which is dead straightforward. Recently, though, we switched back to using the built in logger with Rails, which is a little more subtle. <a href="/articles/understanding-the-rails-logger/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/ruby-timeout-woes-part-1/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/ruby-timeout-woes-part-1/" itemprop=url>Ruby Timeout Woes, Part 1</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-08-30 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">August 30, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/exceptions/" rel=tag class="label label-success">exceptions</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/timeout/" rel=tag class="label label-success">timeout</a> </span> </p> </div> <div class=lead itemprop=description> <p>in which I discover that the behaviour of Ruby&#39;s built in timeout mechanism has changed slightly between Ruby 1.8.x and Ruby 1.9. <a href="/articles/ruby-timeout-woes-part-1/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/ruby-timeout-woes-part-2/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/ruby-timeout-woes-part-2/" itemprop=url>Ruby Timeout Woes, Part 2</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-08-30 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">August 30, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/bugs/" rel=tag class="label label-success">bugs</a> <a href="/tags/delayed-job/" rel=tag class="label label-success">delayed job</a> <a href="/tags/exceptions/" rel=tag class="label label-success">exceptions</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/threads/" rel=tag class="label label-success">threads</a> <a href="/tags/timeout/" rel=tag class="label label-success">timeout</a> </span> </p> </div> <div class=lead itemprop=description> <p>in which I discover how Ruby&#39;s Timeout implementation actually works, and discover why some of our code inside a timeout block never really times out. <a href="/articles/ruby-timeout-woes-part-2/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/pimpin-textmate-aka-top-5-textmate-plugins-2011-edition/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/pimpin-textmate-aka-top-5-textmate-plugins-2011-edition/" itemprop=url>Pimpin' TextMate (aka Top 5 TextMate Plugins, 2011 Edition)</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-08-28 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">August 28, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/ack/" rel=tag class="label label-success">ack</a> <a href="/tags/ctags/" rel=tag class="label label-success">ctags</a> <a href="/tags/lion/" rel=tag class="label label-success">lion</a> <a href="/tags/mac-os-x/" rel=tag class="label label-success">mac os x</a> <a href="/tags/peepopen/" rel=tag class="label label-success">peepopen</a> <a href="/tags/textmate/" rel=tag class="label label-success">textmate</a> <a href="/tags/vim/" rel=tag class="label label-success">vim</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ve put together a list of the indispensable TextMate plugins that take a great editor and make it awesome, including enhanced file finding, project search and Lion full screen support. <a href="/articles/pimpin-textmate-aka-top-5-textmate-plugins-2011-edition/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/using-tcpflow/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/using-tcpflow/" itemprop=url>Using tcpflow</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-03-06 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">March 6, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/apis/" rel=tag class="label label-success">apis</a> <a href="/tags/em-http-request/" rel=tag class="label label-success">em-http-request</a> <a href="/tags/eventmachine/" rel=tag class="label label-success">eventmachine</a> <a href="/tags/libpcap/" rel=tag class="label label-success">libpcap</a> <a href="/tags/networking/" rel=tag class="label label-success">networking</a> <a href="/tags/protocols/" rel=tag class="label label-success">protocols</a> <a href="/tags/reactor/" rel=tag class="label label-success">reactor</a> <a href="/tags/tcpdump/" rel=tag class="label label-success">tcpdump</a> <a href="/tags/tcpflow/" rel=tag class="label label-success">tcpflow</a> <a href="/tags/tcpip/" rel=tag class="label label-success">tcpip</a> <a href="/tags/twisted/" rel=tag class="label label-success">twisted</a> </span> </p> </div> <div class=lead itemprop=description> <p>Sometimes, when you&#39;re writing applications that use a library to talk over the wire to a remote service, it&#39;s difficult to see how the high level API the library exposes translates into the on-the-wire protocol. Funnily enough, I was having that very problem yesterday, so I dug <code>tcpflow</code> out my toolbox to better understand what was happening. <a href="/articles/using-tcpflow/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/installing-on-my-mac-at-home/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/installing-on-my-mac-at-home/" itemprop=url>Installing on my Mac at home</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-02-04 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">February 4, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/dns/" rel=tag class="label label-success">dns</a> <a href="/tags/installation/" rel=tag class="label label-success">installation</a> <a href="/tags/mac-os-x/" rel=tag class="label label-success">mac os x</a> <a href="/tags/mdns/" rel=tag class="label label-success">mdns</a> <a href="/tags/mobileme/" rel=tag class="label label-success">mobileme</a> <a href="/tags/ssh/" rel=tag class="label label-success">ssh</a> <a href="/tags/vagrant/" rel=tag class="label label-success">vagrant</a> <a href="/tags/virtualbox/" rel=tag class="label label-success">virtualbox</a> </span> </p> </div> <div class=lead itemprop=description> <p>This is a short tutorial on connecting back to your home Mac via SSH, through the magic of MobileMe, then downloading some software, mounting the disk image and installing it, all without the need of the Mac OS X GUI. I use VirtualBox as an example, but it should work for any standard Mac OS X installer. <a href="/articles/installing-on-my-mac-at-home/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/using-sagepay-in-your-ruby-projects/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/using-sagepay-in-your-ruby-projects/" itemprop=url>Using SagePay in your Ruby Projects</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-01-27 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 27, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/active-merchant/" rel=tag class="label label-success">active_merchant</a> <a href="/tags/gem/" rel=tag class="label label-success">gem</a> <a href="/tags/payment/" rel=tag class="label label-success">payment</a> <a href="/tags/protx/" rel=tag class="label label-success">protx</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/sagepay/" rel=tag class="label label-success">sagepay</a> </span> </p> </div> <div class=lead itemprop=description> <p>Once upon a time, in a galaxy far, far away ... Ok, I&#39;ll stop now. A few years back, I was working on a client project and they needed to integrate with a billing platform. They&#39;d already picked Protx (now <a href="http://www.sagepay.com/">SagePay</a>) as their platform of choice, and in particular, the Server variant. Wait, I&#39;ll backtrack. SagePay has three variants: <a href="/articles/using-sagepay-in-your-ruby-projects/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/converging-your-home-directory-with-chef/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/converging-your-home-directory-with-chef/" itemprop=url>Converging your Home Directory with Chef</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-01-23 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 23, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/chef/" rel=tag class="label label-success">chef</a> <a href="/tags/development/" rel=tag class="label label-success">development</a> <a href="/tags/devops/" rel=tag class="label label-success">devops</a> <a href="/tags/homebrew/" rel=tag class="label label-success">homebrew</a> <a href="/tags/mac-os-x/" rel=tag class="label label-success">mac os x</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/rvm/" rel=tag class="label label-success">rvm</a> <a href="/tags/tmux/" rel=tag class="label label-success">tmux</a> </span> </p> </div> <div class=lead itemprop=description> <p>In this tutorial, I&#39;ll take you through using Chef and Homebrew to manage your home directory in Mac OS X. I&#39;ve also included a neat cookbook which will allow you to use Homebrew as your native packaging system in Chef. <a href="/articles/converging-your-home-directory-with-chef/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/equality-comparison-and-ordering-in-ruby/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/equality-comparison-and-ordering-in-ruby/" itemprop=url>Equality, Comparison and Uniqueness in Ruby</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2011-01-20 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 20, 2011</time> <meta itemprop=copyrightYear content=2011> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/comparable/" rel=tag class="label label-success">comparable</a> <a href="/tags/comparison/" rel=tag class="label label-success">comparison</a> <a href="/tags/equality/" rel=tag class="label label-success">equality</a> <a href="/tags/hashes/" rel=tag class="label label-success">hashes</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/sorting/" rel=tag class="label label-success">sorting</a> <a href="/tags/spaceship/" rel=tag class="label label-success">spaceship</a> <a href="/tags/uniqueness/" rel=tag class="label label-success">uniqueness</a> </span> </p> </div> <div class=lead itemprop=description> <p>Ruby has the <code>Comparable</code> module, which, if you implement the spaceship operator <code>&lt;=&gt;</code> (winner of &quot;Best Named Operator&quot; 10 years running!) then it will give you a bunch of comparator operators for free (<code>&lt;</code>, <code>&lt;=</code>, <code>==</code>, <code>&gt;=</code> and <code>&gt;</code>). Win. Enumerable&#39;s <code>#sort</code> method uses the spaceship operator to do sorting too, so implementing the spaceship gives you a whole bunch of interesting behaviour pretty much for free. <a href="/articles/equality-comparison-and-ordering-in-ruby/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/updating-the-path-everywhere-on-ubuntu-09-10/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/updating-the-path-everywhere-on-ubuntu-09-10/" itemprop=url>Updating the path everywhere on Ubuntu 09.10</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2010-03-15 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">March 15, 2010</time> <meta itemprop=copyrightYear content=2010> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/bash/" rel=tag class="label label-success">bash</a> <a href="/tags/cron/" rel=tag class="label label-success">cron</a> <a href="/tags/debian/" rel=tag class="label label-success">debian</a> <a href="/tags/linux/" rel=tag class="label label-success">linux</a> <a href="/tags/passenger/" rel=tag class="label label-success">passenger</a> <a href="/tags/path/" rel=tag class="label label-success">path</a> <a href="/tags/phusion/" rel=tag class="label label-success">phusion</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/sudo/" rel=tag class="label label-success">sudo</a> <a href="/tags/ubuntu/" rel=tag class="label label-success">ubuntu</a> </span> </p> </div> <div class=lead itemprop=description> <p><a href="http://www.ubuntu.com/">Ubuntu</a> is my Linux of choice. It has been for a long time. I&#39;ve been a huge fan of <a href="http://www.debian.org/">Debian</a> since the late &#39;90s -- I was a Debian Developer stuck in the NM queue for a few years -- but the release cycle was <em>way</em> too long for my tastes (which invariably meant I kept most of my systems running testing or unstable). So I switched to Ubuntu pretty early on. <a href="/articles/updating-the-path-everywhere-on-ubuntu-09-10/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/why-ruby-and-rails-is-awesome/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/why-ruby-and-rails-is-awesome/" itemprop=url>Why Ruby (and Rails) is Awesome</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2009-01-16 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">January 16, 2009</time> <meta itemprop=copyrightYear content=2009> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/deployment/" rel=tag class="label label-success">deployment</a> <a href="/tags/edinburgh/" rel=tag class="label label-success">edinburgh</a> <a href="/tags/migrations/" rel=tag class="label label-success">migrations</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/scotland-on-rails/" rel=tag class="label label-success">scotland on rails</a> <a href="/tags/slides/" rel=tag class="label label-success">slides</a> <a href="/tags/talk/" rel=tag class="label label-success">talk</a> <a href="/tags/velocity/" rel=tag class="label label-success">velocity</a> </span> </p> </div> <div class=lead itemprop=description> <p>I was invited to give a short introduction to Ruby on Rails at <a href="http://www.techmeetup.co.uk/">Tech Meetup</a> in Edinburgh a couple of days ago. I&#39;d been racking my brain for days on what to talk about -- 15 minutes is too short for me to give a meaningful introduction to Rails -- and eventually settled on telling a few stories. <a href="/articles/why-ruby-and-rails-is-awesome/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/using-git-submodules-to-track-vendorrails-2/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/using-git-submodules-to-track-vendorrails-2/" itemprop=url>Using git submodules to track vendor/rails</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2008-04-11 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">April 11, 2008</time> <meta itemprop=copyrightYear content=2008> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/edge/" rel=tag class="label label-success">edge</a> <a href="/tags/git/" rel=tag class="label label-success">git</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/stable/" rel=tag class="label label-success">stable</a> <a href="/tags/submodules/" rel=tag class="label label-success">submodules</a> <a href="/tags/vendor/" rel=tag class="label label-success">vendor</a> </span> </p> </div> <div class=lead itemprop=description> <p>In a previous post, <a href="/articles/using-git-submodules-to-track-vendorrails/">Using git submodules to track plugins</a> I introduced the idea of using git submodules as part of your workflow in developing Rails applications. At the time, Rails itself wasn&#39;t using git, but that has finally happened. You can find the official Ruby on Rails source code repository at <a href="http://github.com/rails/rails">http://github.com/rails/rails</a>. So, how to we track Rails with git submodules? <a href="/articles/using-git-submodules-to-track-vendorrails-2/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/read-only-clones-and-commiting-changes-to-submodules/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/read-only-clones-and-commiting-changes-to-submodules/" itemprop=url>Read-only clones and committing changes to submodules</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2008-04-10 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">April 10, 2008</time> <meta itemprop=copyrightYear content=2008> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/git/" rel=tag class="label label-success">git</a> <a href="/tags/plugins/" rel=tag class="label label-success">plugins</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/submodules/" rel=tag class="label label-success">submodules</a> </span> </p> </div> <div class=lead itemprop=description> <p>Hopefully this will be a shorter article, but I thought I&#39;d get the tip into Google before I forget it and have to Google for the answer. :-) <a href="/articles/read-only-clones-and-commiting-changes-to-submodules/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/using-git-submodules-to-track-plugins/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/using-git-submodules-to-track-plugins/" itemprop=url>Using git submodules to track plugins</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2008-04-09 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">April 9, 2008</time> <meta itemprop=copyrightYear content=2008> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/git/" rel=tag class="label label-success">git</a> <a href="/tags/piston/" rel=tag class="label label-success">piston</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/submodules/" rel=tag class="label label-success">submodules</a> <a href="/tags/vendor/" rel=tag class="label label-success">vendor</a> </span> </p> </div> <div class=lead itemprop=description> <p>Since the core Ruby on Rails team is finally actually moving to git, and a whole slew of other projects are following in their wake, now seems like a good time to write up my experiences with using git sub-modules to track external dependencies. Back in the world of Subversion, I had been using <a href="http://piston.rubyforge.org/">Piston</a> to track external dependencies. This allowed me to import third party dependencies from their subversion repository into my own application&#39;s repository, keep track of specific versions and even make my own local changes. <a href="/articles/using-git-submodules-to-track-plugins/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/convention-for-restful-search-in-rails/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/convention-for-restful-search-in-rails/" itemprop=url>Convention for RESTful search in Rails?</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2007-07-22 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">July 22, 2007</time> <meta itemprop=copyrightYear content=2007> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/code/" rel=tag class="label label-success">code</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/railsconf/" rel=tag class="label label-success">railsconf</a> <a href="/tags/rest/" rel=tag class="label label-success">rest</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/search/" rel=tag class="label label-success">search</a> </span> </p> </div> <div class=lead itemprop=description> <p>I wonder aloud about a convention for search in Rails RESTful controllers. <a href="/articles/convention-for-restful-search-in-rails/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/capistrano-2-rocks-my-world/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/capistrano-2-rocks-my-world/" itemprop=url>Capistrano 2 Rocks My World</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2007-07-20 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">July 20, 2007</time> <meta itemprop=copyrightYear content=2007> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/capistrano/" rel=tag class="label label-success">capistrano</a> <a href="/tags/edinburgh/" rel=tag class="label label-success">edinburgh</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/slides/" rel=tag class="label label-success">slides</a> <a href="/tags/talk/" rel=tag class="label label-success">talk</a> </span> </p> </div> <div class=lead itemprop=description> <p>Last night I gave a wee presentation to the Scottish Ruby User Group about Capistrano 2, and some of the ways I&#39;ve been working with it over the last couple of weeks, since for some reason I seem to have been immersed in it for a couple of different projects. It&#39;s nothing particularly groundbreaking, but I figured it was useful to demonstrate some of the things it&#39;s capable of, and how much easier it makes my life on a daily basis. You can find a copy of the slides here, complete with my speaker notes: <a href="/articles/capistrano-2-rocks-my-world/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/integrating-capistrano-with-smf/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/integrating-capistrano-with-smf/" itemprop=url>Integrating capistrano with SMF</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2007-06-24 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">June 24, 2007</time> <meta itemprop=copyrightYear content=2007> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/capistrano/" rel=tag class="label label-success">capistrano</a> <a href="/tags/mongrel/" rel=tag class="label label-success">mongrel</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/rbac/" rel=tag class="label label-success">rbac</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/smf/" rel=tag class="label label-success">smf</a> <a href="/tags/solaris/" rel=tag class="label label-success">solaris</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ve got a new application I&#39;m in the process of deploying in order to demo for a client (no, it&#39;s not ready for everybody else to have a nosy at just yet!) and figured I&#39;d take the opportunity to learn two things: <a href="/articles/integrating-capistrano-with-smf/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/best-practice-with-sudo/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/best-practice-with-sudo/" itemprop=url>Best Practice with sudo</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2007-06-12 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">June 12, 2007</time> <meta itemprop=copyrightYear content=2007> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/authorisation/" rel=tag class="label label-success">authorisation</a> <a href="/tags/logging/" rel=tag class="label label-success">logging</a> <a href="/tags/rbac/" rel=tag class="label label-success">rbac</a> <a href="/tags/sudo/" rel=tag class="label label-success">sudo</a> <a href="/tags/tracking/" rel=tag class="label label-success">tracking</a> </span> </p> </div> <div class=lead itemprop=description> <p>I just found this lecture in some documentation I&#39;d been writing for a client. Clearly I was running through an install, documenting it as I go along, and was filling in time while something happened. Anyway, I thought I&#39;d share it here: <a href="/articles/best-practice-with-sudo/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/solaris-bonding-network-interfaces/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/solaris-bonding-network-interfaces/" itemprop=url>Solaris: Bonding network interfaces</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2007-06-09 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">June 9, 2007</time> <meta itemprop=copyrightYear content=2007> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/aggregation/" rel=tag class="label label-success">aggregation</a> <a href="/tags/dladm/" rel=tag class="label label-success">dladm</a> <a href="/tags/networking/" rel=tag class="label label-success">networking</a> <a href="/tags/solaris/" rel=tag class="label label-success">solaris</a> <a href="/tags/thumper/" rel=tag class="label label-success">thumper</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ve managed to find a new home for the Thumper. The noise it&#39;s making is driving me absolutely batty, and I have to switch it off at night. I&#39;m also worried about it overheating as the weather starts to improve. So I&#39;ve managed to secure a deal with <a href="http://belowzero.biz/">Below Zero</a>, an ISP based in Edinburgh with an amazing world-class network. We&#39;re going to shift it into the new place tomorrow, so I&#39;m preparing by changing IP addresses before it moves. <a href="/articles/solaris-bonding-network-interfaces/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/thumper-debugging-and-not-jumping-to-conclusions/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/thumper-debugging-and-not-jumping-to-conclusions/" itemprop=url>Thumper: Debugging and not jumping to conclusions</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2007-05-26 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">May 26, 2007</time> <meta itemprop=copyrightYear content=2007> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/blastwave/" rel=tag class="label label-success">blastwave</a> <a href="/tags/solaris/" rel=tag class="label label-success">solaris</a> <a href="/tags/thumper/" rel=tag class="label label-success">thumper</a> <a href="/tags/x4500/" rel=tag class="label label-success">x4500</a> <a href="/tags/zfs/" rel=tag class="label label-success">zfs</a> </span> </p> </div> <div class=lead itemprop=description> <p>In a previous post, <a href="/articles/thumper-putting-blastwave-on-zfs/">Thumper: Putting Blastwave on ZFS</a>, I quickly saw some information and jumped to completely the wrong conclusion. In the comments, Boyd kindly pointed out that I should probably investigate it a little more thoroughly. So I have. Just to recap, effectively I am trying to install software, with <code>pkgadd</code> onto a ZFS filesystem. The full filesystem is 17 terabytes, and still has 17TB available. The steps I followed were: <a href="/articles/thumper-debugging-and-not-jumping-to-conclusions/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/thumper-putting-blastwave-on-zfs/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/thumper-putting-blastwave-on-zfs/" itemprop=url>Thumper: Putting Blastwave on ZFS</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2007-05-25 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">May 25, 2007</time> <meta itemprop=copyrightYear content=2007> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/blastware/" rel=tag class="label label-success">blastware</a> <a href="/tags/rbac/" rel=tag class="label label-success">rbac</a> <a href="/tags/solaris/" rel=tag class="label label-success">solaris</a> <a href="/tags/thumper/" rel=tag class="label label-success">thumper</a> <a href="/tags/x4500/" rel=tag class="label label-success">x4500</a> <a href="/tags/zfs/" rel=tag class="label label-success">zfs</a> </span> </p> </div> <div class=lead itemprop=description> <p>Since the root file system is a meagre 11GB, I figured I&#39;d try and use my ZFS pool for installing <a href="http://www.blastwave.org/">Blastwave</a> which is a system built on top of Solaris&#39; own packaging mechanism with access to lots of extra software that I can&#39;t live without. Like <code>sudo</code> for example, at least until I figure out how the Solaris native RBAC mechanism works! So, I did something along the lines of: <a href="/articles/thumper-putting-blastwave-on-zfs/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/howto-using-mailapp-to-archive-your-gmail-email/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/howto-using-mailapp-to-archive-your-gmail-email/" itemprop=url>Howto: Using Mail.app to archive your GMail email</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2006-11-20 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 20, 2006</time> <meta itemprop=copyrightYear content=2006> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/dreamhost/" rel=tag class="label label-success">dreamhost</a> <a href="/tags/gmail/" rel=tag class="label label-success">gmail</a> <a href="/tags/google-apps/" rel=tag class="label label-success">google apps</a> <a href="/tags/imap/" rel=tag class="label label-success">imap</a> <a href="/tags/mac-os-x/" rel=tag class="label label-success">mac os x</a> <a href="/tags/mail/" rel=tag class="label label-success">mail</a> <a href="/tags/pop/" rel=tag class="label label-success">pop</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ll write this while I have the chance, since my mail inbox will be <a href="/articles/omg-extreme-critical-emergency-everythings-broken-people-are-dying/">strangely quiet</a> for the next few hours... <a href="/articles/howto-using-mailapp-to-archive-your-gmail-email/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/omg-extreme-critical-emergency-everythings-broken-people-are-dying/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/omg-extreme-critical-emergency-everythings-broken-people-are-dying/" itemprop=url>OMG! EXTREME CRITICAL EMERGENCY!! EVERYTHING'S BROKEN! People are DYING!</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2006-11-20 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 20, 2006</time> <meta itemprop=copyrightYear content=2006> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/dns/" rel=tag class="label label-success">dns</a> <a href="/tags/dreamhost/" rel=tag class="label label-success">dreamhost</a> <a href="/tags/email/" rel=tag class="label label-success">email</a> <a href="/tags/gmail/" rel=tag class="label label-success">gmail</a> </span> </p> </div> <div class=lead itemprop=description> <p>So my email isn&#39;t working this morning. Somehow the MX record for <code>woss.name</code> has, well, disappeared. Maybe <a href="http://www.dreamhost.com/">DreamHost</a> got offended that I switched to <a href="http://mail.google.com/">GMail</a> and decided to get their revenge. Maybe I buggered something up (I was doing stuff in the DH control panel yesterday afternoon, but I don&#39;t <em>think</em> I touched <code>woss.name</code>). Or maybe the gremlins got to it. <a href="/articles/omg-extreme-critical-emergency-everythings-broken-people-are-dying/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/setting-up-local-name-server-on-mac-os-x/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/setting-up-local-name-server-on-mac-os-x/" itemprop=url>Setting up a local name server on Mac OS X</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2006-11-13 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 13, 2006</time> <meta itemprop=copyrightYear content=2006> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/bind/" rel=tag class="label label-success">bind</a> <a href="/tags/bonjour/" rel=tag class="label label-success">bonjour</a> <a href="/tags/dns/" rel=tag class="label label-success">dns</a> <a href="/tags/mac-os-x/" rel=tag class="label label-success">mac os x</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/subdomains/" rel=tag class="label label-success">subdomains</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ve been using <a href="http://dev.rubyonrails.org/svn/rails/plugins/account_location/"><code>account_location</code></a> for a couple of applications recently. It&#39;s a really nice way to give individual &#39;clients&#39; of an application their own domain and when we come to scaling up, it&#39;s a really easy way of splitting customers across several hosts. So, yeah, very nice. And it&#39;s dead easy to deploy in the first instance -- a couple of DNS records along the lines of: <a href="/articles/setting-up-local-name-server-on-mac-os-x/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/migrating-your-rails-application-to-unicode/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/migrating-your-rails-application-to-unicode/" itemprop=url>Migrating your Rails application to Unicode</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2006-10-25 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">October 25, 2006</time> <meta itemprop=copyrightYear content=2006> in <a href="/categories/software-development/" rel="section category" class="label label-info" itemprop=articleSection>Software development</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/mysql/" rel=tag class="label label-success">mysql</a> <a href="/tags/rails/" rel=tag class="label label-success">rails</a> <a href="/tags/ruby/" rel=tag class="label label-success">ruby</a> <a href="/tags/unicode/" rel=tag class="label label-success">unicode</a> <a href="/tags/utf8/" rel=tag class="label label-success">utf8</a> </span> </p> </div> <div class=lead itemprop=description> <p><strong>Update</strong> Make sure you read the comments on this post before considering it. In particular, <a href="/articles/migrating-your-rails-application-to-unicode/#comment-13156">Pete</a> brings up some concerns about applications having data which is already UTF-8, but marked as Latin1 in the database, may cause problems. <a href="/articles/migrating-your-rails-application-to-unicode/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/switching-to-gmail-from-dreamhost/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/switching-to-gmail-from-dreamhost/" itemprop=url>Switching to Gmail from DreamHost</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2006-10-19 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">October 19, 2006</time> <meta itemprop=copyrightYear content=2006> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/dns/" rel=tag class="label label-success">dns</a> <a href="/tags/dreamhost/" rel=tag class="label label-success">dreamhost</a> <a href="/tags/email/" rel=tag class="label label-success">email</a> <a href="/tags/gmail/" rel=tag class="label label-success">gmail</a> <a href="/tags/google-apps/" rel=tag class="label label-success">google apps</a> <a href="/tags/imap/" rel=tag class="label label-success">imap</a> <a href="/tags/smtp/" rel=tag class="label label-success">smtp</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ve been using DreamHost for a number of things over the past couple of years -- web sites (including this one), email, subversion hosting, that kind of thing. But really, things have been going wrong too often, particularly with email: <a href="/articles/switching-to-gmail-from-dreamhost/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/getting-started-with-a-sun-t2000/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/getting-started-with-a-sun-t2000/" itemprop=url>Getting Started with a Sun T2000</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2006-04-21 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">April 21, 2006</time> <meta itemprop=copyrightYear content=2006> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/alom/" rel=tag class="label label-success">alom</a> <a href="/tags/coolthreads/" rel=tag class="label label-success">coolthreads</a> <a href="/tags/hardware/" rel=tag class="label label-success">hardware</a> <a href="/tags/solaris/" rel=tag class="label label-success">solaris</a> <a href="/tags/sparcstation/" rel=tag class="label label-success">sparcstation</a> <a href="/tags/t2000/" rel=tag class="label label-success">t2000</a> </span> </p> </div> <div class=lead itemprop=description> <p>This is the first part in hopefully what will become a series on the trials and tribulations I have with a <a href="http://www.sun.com/servers/coolthreads/t2000/test/overview_a.jsp?name=A">Sun Fire T2000</a> over the coming weeks while I have it on trial. This is going to be an interesting experience; I have used Sun kit extensively in the past -- I was one of the sysadmins for the <a href="http://www.tardis.ed.ac.uk/">Tardis</a> project while at University, and since then I&#39;ve run a variety of Internet services on Sun hardware, ranging from a SparcStation 5 (<code>homer.mathie.cx</code>, who used to be in the Usenet top 1000 peers, something I consider impressive for that calibre machine sitting behind a 512kb/s leased line) to a Sparc Ultra 30 (initially my desktop machine, eventually <code>drusilla.wossname.org.uk</code>, a replacement for <code>homer</code>). So I&#39;m reasonably familiar, if a little rusty, with Sun hardware and Solaris. OK, OK, <code>homer</code> ran Linux, but at least all the Tardis kit was a mixture of Solaris 7 &amp; 8 (with one machine, <code>brigadier</code> still running SunOS 4.1.4!). <a href="/articles/getting-started-with-a-sun-t2000/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/using-launchd-on-mac-os-x/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/using-launchd-on-mac-os-x/" itemprop=url>Using launchd on Mac OS X</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2005-11-22 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">November 22, 2005</time> <meta itemprop=copyrightYear content=2005> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/cron/" rel=tag class="label label-success">cron</a> <a href="/tags/init/" rel=tag class="label label-success">init</a> <a href="/tags/launchd/" rel=tag class="label label-success">launchd</a> <a href="/tags/mysql/" rel=tag class="label label-success">mysql</a> <a href="/tags/postgresql/" rel=tag class="label label-success">postgresql</a> </span> </p> </div> <div class=lead itemprop=description> <p><code>launchd</code> is Mac OS X 10.4&#39;s replacement for <code>init</code>, <code>cron</code>, (<code>x</code>)<code>inetd</code> and all the various startup bits like <code>/etc/init.d</code> or <code>/Library/StartupItems</code> (as was the preferred way in Mac OS X up to 10.3.x). It&#39;s all replaced with one supervisor daemon which controls the startup (and restart upon failure) of daemons, schedules regular running of tasks and other hoopy things. I&#39;ve been reading a little about it at <a href="http://www.macdevcenter.com/lpt/a/6332">Introduction to Tiger Terminal part 5</a> and <a href="http://developer.apple.com/macosx/launchd.html">Getting started with <code>launchd</code></a> trying to figure out how to make it work for me. And I came up with settings, that will launch the <a href="http://www.darwinports.com/">Darwin Ports</a> copies of both MySQL and PostgreSQL on demand, which you can download here: <a href="/dist/mysql4.plist">mysql4.plist</a> and <a href="/dist/postgresql.plist">postgresql.plist</a>. Place those files in <code>/Library/LaunchDaemons</code> and, to get <code>launchd</code> to notice them, run the following: <a href="/articles/using-launchd-on-mac-os-x/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/ejecting-cds/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/ejecting-cds/" itemprop=url>Ejecting CDs</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2005-10-05 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">October 5, 2005</time> <meta itemprop=copyrightYear content=2005> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/cd/" rel=tag class="label label-success">cd</a> <a href="/tags/dvd/" rel=tag class="label label-success">dvd</a> <a href="/tags/mac-os-x/" rel=tag class="label label-success">mac os x</a> <a href="/tags/powerbook/" rel=tag class="label label-success">powerbook</a> </span> </p> </div> <div class=lead itemprop=description> <p>It would appear that, somehow, I am the killer of Apple Powerbook G4 CD/DVD drives. It&#39;s not that they stop working, it&#39;s just that they refuse to relinquish their media. I had always thought it was a problem peculiar to my previous Powerbook, a 12&quot; G4. It would often take days of attempt to get it to cough up the CD I&#39;d inserted. So that I basically stopped using the drive wherever possible, particularly since having a CD inserted -- even unused -- whilst on batteries does unnecessarily drain power. <a href="/articles/ejecting-cds/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/subversion-and-nfs-file-locking/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/subversion-and-nfs-file-locking/" itemprop=url>Subversion and NFS file locking</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2005-08-25 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">August 25, 2005</time> <meta itemprop=copyrightYear content=2005> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/berkeley-db/" rel=tag class="label label-success">berkeley-db</a> <a href="/tags/c/" rel=tag class="label label-success">c</a> <a href="/tags/locking/" rel=tag class="label label-success">locking</a> <a href="/tags/nfs/" rel=tag class="label label-success">nfs</a> <a href="/tags/subversion/" rel=tag class="label label-success">subversion</a> </span> </p> </div> <div class=lead itemprop=description> <p>I should prefix this with a warning: I know <em>next to nothing</em> about file locking and the implications of what I&#39;ve just done. However, it now appears to work, and I&#39;m not <em>too</em> worried about simultaneous access to my subversion repository since I&#39;m the only one that uses it. (Even the <a href="/svn/">web interface</a> is currently running from a read-only mirror of the repository.) <a href="/articles/subversion-and-nfs-file-locking/">Read more&hellip;</a></p> </div> </div> </div> </article> <article itemprop=blogPost itemscope itemtype="http://schema.org/BlogPosting" class="summary block-bordered"> <link itemprop=mainEntityOfPage href="/articles/using-ssh-agent-and-screen-together/"> <div class=container> <div class=block-foreground> <h2 itemprop="name headline"> <a href="/articles/using-ssh-agent-and-screen-together/" itemprop=url>Using ssh-agent and screen together</a> </h2> <div class=byline> <address> Written by <span itemprop="author creator editor accountablePerson" itemscope itemtype="http://schema.org/Person"> <a href="https://woss.name/team/mathie/" itemprop=url> <span itemprop=name> <span itemprop=givenName> Graeme </span> <span itemprop=familyName> Mathieson </span> </span> </a></span> @ <span itemprop="copyrightHolder publisher provider sourceOrganization" itemscope itemtype="http://schema.org/Organization"> <span class=hidden itemprop=logo itemscope itemtype="http://schema.org/ImageObject"> <img itemprop="contentUrl url" src="https://woss.name/images/wossname-industries-40468076.png" alt="Wossname Industries logo"> </span> <a href="https://woss.name/" itemprop=url property="cc:attributionName" rel="cc:attributionURL"> <span itemprop=name> Wossname Industries </span> </a></span> . </address> <p> Published <time datetime=2005-08-17 itemprop="dateCreated datePublished dateModified" class="op-published op-modified">August 17, 2005</time> <meta itemprop=copyrightYear content=2005> in <a href="/categories/internet/" rel="section category" class="label label-info" itemprop=articleSection>Internet</a> .<br> Tagged with: <span itemprop=keywords> <a href="/tags/environment/" rel=tag class="label label-success">environment</a> <a href="/tags/screen/" rel=tag class="label label-success">screen</a> <a href="/tags/ssh/" rel=tag class="label label-success">ssh</a> <a href="/tags/ssh-agent/" rel=tag class="label label-success">ssh-agent</a> <a href="/tags/tmux/" rel=tag class="label label-success">tmux</a> </span> </p> </div> <div class=lead itemprop=description> <p>I&#39;ve been meaning to &#39;fix&#39; this for ages. I use public-key authentication for my <a href="http://www.openssh.com/">ssh</a> connections wherever possible. I also use <a href="http://www.gnu.org/software/screen/">screen</a> all the time. (If you use ssh regularly and haven&#39;t discovered it already, go look now! There&#39;s a bit of a learning curve, but it&#39;s well worth it!) But the <code>SSH<em>AUTH</em>SOCK</code> isn&#39;t always set correctly inside a screen session, so you can&#39;t then use the ssh key on the client computer to authenticate against other hosts. (Oh, I also have a reasonably strict policy of only ever create SSH keys for hosts that I am actually, physically, at the console of, not for hosts I merely ssh into now and then. There are, of course, exceptions to this rule!) <a href="/articles/using-ssh-agent-and-screen-together/">Read more&hellip;</a></p> </div> </div> </div> </article> </section> </div> </main> <footer class="navbar navbar-inverse navbar-fixed-bottom hidden-xs hidden-sm"> <div class=navbar-header> <div class=navbar-text> Copyright &copy; 2015&ndash;2016 <a href="/">Wossname Industries</a>. </div> </div> <div class=navbar-text> <div class=g-plusone></div> </div> <div class="navbar-text m-t-0"> <div class=fb-like data-width=200 data-layout=button_count data-action=like data-show-faces=false data-share=true></div> </div> <ul class="nav navbar-nav navbar-right m-r-lg"> <li><a href="/privacy-policy/">Privacy Policy</a></li> <li><a href="/terms-of-service/">Terms of Service</a></li> </ul> </footer> <script src="/javascripts/all-55e6a332.js"></script> </body> </html>