<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Blogs on Tim Boring</title>
    <link>https://timboring.com/blog/</link>
    <description>Recent content in Blogs on Tim Boring</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <copyright>Copyright ©2020 Tim Boring. All rights reserved.</copyright>
    <lastBuildDate>Wed, 03 Feb 2021 18:11:54 -0500</lastBuildDate><atom:link href="https://timboring.com/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Writing a Book</title>
      <link>https://timboring.com/blog/writing-a-book/</link>
      <pubDate>Wed, 03 Feb 2021 18:11:54 -0500</pubDate>
      
      <guid>https://timboring.com/blog/writing-a-book/</guid>
      <description>A couple of weeks ago I signed a contract to write a book for Manning Publications. I&amp;rsquo;m excited and anxious, to say the least.
The book is about orchestration systems, like Google&amp;rsquo;s Borg or Kubernetes or Nomad. Except, instead of a dry book about the theory of orchestration and scheduling and how such things are implemented in existing orchestrators, it&amp;rsquo;s a practical book that walks the reader through the implementation of an orchestrator, from scratch.</description>
    </item>
    
    <item>
      <title>Homecoming</title>
      <link>https://timboring.com/blog/homecoming/</link>
      <pubDate>Sat, 05 Dec 2020 15:09:06 -0500</pubDate>
      
      <guid>https://timboring.com/blog/homecoming/</guid>
      <description>I was a Vim user for 15 years until the shine of newer editors caught my eye. Since 2016, I&amp;rsquo;ve been exploring the wilderness: Sublime, Atom, Spacemacs, PyCharm, VSCode, and Spacevim.
In 2016, I started experimenting in response to my new co-workers. I spent the previous nine years working in an environment where many engineers used either Emacs or Vim. Upon leaving that environment, I found myself in a strange new world.</description>
    </item>
    
    <item>
      <title>Review: Concurrency in Go: Part2</title>
      <link>https://timboring.com/blog/review-concurrency-in-go-part2/</link>
      <pubDate>Mon, 16 Nov 2020 20:27:50 -0400</pubDate>
      
      <guid>https://timboring.com/blog/review-concurrency-in-go-part2/</guid>
      <description>This post is the follow up to Review: Concurrency in Go: Chapters 1-3.
Chapter 4 This chapter is the meat of the book. Cox-Buday devotes sixty pages to covering concurrency patterns&amp;ndash;almost a third of the book&amp;rsquo;s total pages.
The chapter starts with a discussion of confinement: &amp;ldquo;the simple yet powerful idea of ensuring information is only ever available from one concurrent process.&amp;rdquo; She identifies two types of confinement: lexical and ad-hoc.</description>
    </item>
    
    <item>
      <title>Pointers in Go</title>
      <link>https://timboring.com/blog/pointers-in-go/</link>
      <pubDate>Sun, 08 Nov 2020 20:37:46 -0500</pubDate>
      
      <guid>https://timboring.com/blog/pointers-in-go/</guid>
      <description>This post is mostly targeting an audience of one: myself. It&amp;rsquo;s an attempt to write down what I&amp;rsquo;ve learned about pointers in Go since diving back into the language three months ago.
I wrote a little bit of C and C++ way back in the early 2000s. So, I have been exposed to pointers before&amp;ndash;pretty sure I used them in a CS 101 class to try to impress my professor. That said, I&amp;rsquo;m willing to bet a paycheck my past self was using them without understanding much about them.</description>
    </item>
    
    <item>
      <title>Testing as Confidence Booster</title>
      <link>https://timboring.com/blog/testing-as-confidence-booster/</link>
      <pubDate>Sun, 18 Oct 2020 21:53:59 -0400</pubDate>
      
      <guid>https://timboring.com/blog/testing-as-confidence-booster/</guid>
      <description>&amp;ldquo;We&amp;rsquo;ll get the interns to write our tests later.&amp;rdquo; That quote was from a manager explaining his team&amp;rsquo;s testing strategy during a product udpate. No one else in the room or on the call blinked.
I was shocked. I had a feeling that my company wasn&amp;rsquo;t great at testing. It was obvious from the number of outages across our products at any given time that testing wasn&amp;rsquo;t a priority. To hear a manager, however, publicly say that the team&amp;rsquo;s current engineers, the ones who were writing code that was being deployed into production, would not be the ones writing tests&amp;ndash;I mean, major WTF?</description>
    </item>
    
    <item>
      <title>Review: Concurrency in Go: Chapters 1-3</title>
      <link>https://timboring.com/blog/review-concurrency-in-go/</link>
      <pubDate>Sun, 18 Oct 2020 14:11:35 -0400</pubDate>
      
      <guid>https://timboring.com/blog/review-concurrency-in-go/</guid>
      <description>I&amp;rsquo;ve recently started writing more Go code, and naturally one of the first things I encountered were goroutines and channels. The official tutorial introduces the concepts, but in many ways isn&amp;rsquo;t much more than a range of &amp;ldquo;Hello World&amp;rdquo; examples. Searching Amazon for &amp;ldquo;golang concurrency&amp;rdquo;, I came acrosss Katherine Cox-Buday&amp;rsquo;s Concurrency in Go: Tools and Techniques for Developers.
It&amp;rsquo;s a slim volume, weighing in at 223 pages, and contains six chapters:</description>
    </item>
    
    <item>
      <title>What is a Scheduler?</title>
      <link>https://timboring.com/blog/what-is-a-scheduler/</link>
      <pubDate>Sun, 27 Sep 2020 16:39:25 -0400</pubDate>
      
      <guid>https://timboring.com/blog/what-is-a-scheduler/</guid>
      <description>Do a search for &amp;ldquo;kubernetes&amp;rdquo; on Google and you get back 31 million results. Do a search for &amp;ldquo;nomad scheduler&amp;rdquo; and you get back 200,000 results. Despite all the hype around Kubernetes, I often wonder if folks stop and think about what Kubernetes is at heart? And same goes for HashiCorp&amp;rsquo;s Nomad.
If you peel away all the layers and the hype, the core problem that Kubernetes and Nomad solve is this: automatically scheduling jobs onto a pool of machines.</description>
    </item>
    
    <item>
      <title>Tests as Documentation</title>
      <link>https://timboring.com/blog/uses-of-testing/</link>
      <pubDate>Fri, 11 Sep 2020 16:02:04 -0400</pubDate>
      
      <guid>https://timboring.com/blog/uses-of-testing/</guid>
      <description>I&amp;rsquo;ve been (re)learning Go recently. It has been more than six years since I did anything close to professional coding using Go. Things have changed a bit in the interim.
During this process, I&amp;rsquo;ve noticed an interesting behavior. While I am reading docs, I&amp;rsquo;m just as frequently reading source code&amp;ndash;and mostly test code.
For the last 10+ years, I&amp;rsquo;ve worked primarily in Python. During that time, I relied heavily on the Requests library for making HTTP requests and doing &amp;ldquo;stuff&amp;rdquo; with the responses.</description>
    </item>
    
  </channel>
</rss>
