<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Posts on about:rileycsillag fka drewcsillag</title>
		<link>https://riley.thecsillags.com/posts/</link>
		<description>Recent content in Posts on about:rileycsillag fka drewcsillag</description>
		<generator>Hugo</generator>
		<language>en-us</language>
		
		
		
		
			<lastBuildDate>Fri, 27 Feb 2026 18:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://riley.thecsillags.com/posts/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>Further Narrowing the Cone of Error</title>
				<link>https://riley.thecsillags.com/posts/2026-02-27-further-narrowing/</link>
				<pubDate>Fri, 27 Feb 2026 18:00:00 +0000</pubDate>
				<guid>https://riley.thecsillags.com/posts/2026-02-27-further-narrowing/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://riley.thecsillags.com/posts/further-narrowing-cone.png&#34; alt=&#34;further narrowing the cone&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;At the end of this most recent January, I wrote &lt;a href=&#34;https://www.linkedin.com/pulse/narrowing-cone-error-origin-story-high-output-ai-coding-drew-csillag-cg2je/&#34;&gt;Narrowing the Cone of Error, The Origin Story of a High Output AI Coding Workflow, &lt;/a&gt;a story about how I had built my AI development workflow. Things have evolved in the last month since I wrote that.&lt;/p&gt;&#xA;&lt;h2 id=&#34;adrs-architectural-decision-records&#34;&gt;&lt;strong&gt;ADRs (Architectural Decision Records)&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;p&gt;At the time when I wrote the article, I had seen previously seen people who had used ADRs in the course of building with AI to help it direct its action as it built to maintain design integrity. I knew NoteCove had a few places where Claude had been getting things wrong from time to time in the sync architecture that I&amp;rsquo;d have to fix. Given the information about ADRs I&amp;rsquo;d seen, it occurred to me that an ADR (or a set of ADRs) might be something to try as I had some upcoming work on NoteCove that would be adding things that needed sync support.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Well Working AI Workflow</title>
				<link>https://riley.thecsillags.com/posts/2026-01-29-feature-command/</link>
				<pubDate>Thu, 29 Jan 2026 16:00:00 +0100</pubDate>
				<guid>https://riley.thecsillags.com/posts/2026-01-29-feature-command/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://riley.thecsillags.com/posts/narrowing-cone.png&#34; alt=&#34;narrowing the cone&#34;&gt;&lt;/p&gt;&#xA;&lt;h1 id=&#34;the-origin-story-of-feature&#34;&gt;The Origin Story of /feature&lt;/h1&gt;&#xA;&lt;p&gt;I’ve been interested in personal organization tools for a long time, and never really been happy with them. I’ve worked on dead-tree paper a lot, and have used some online tools that I’ve liked, but never had the mix of “this actually solves everything”. I used to work at Dropbox on Dropbox Paper, and I miss it every day. But while it was good, is was only a point solution in what I really need.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Presentation: Non-technical Guide To Technical Leadership</title>
				<link>https://riley.thecsillags.com/posts/2025-03-15-non-technical-guide-to-techic/</link>
				<pubDate>Sat, 29 Mar 2025 12:00:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2025-03-15-non-technical-guide-to-techic/</guid>
				<description>&lt;p&gt;This is a presentation I&amp;rsquo;ve done now about six times, starting back about 6 years ago. It stemmed from seeing people new to being a tech-lead on a team (either as manager or not) and what were the common pitfalls they fell into. So without further ado, the talk.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;Hi and welcome to the non-technical guide to technical leadership!&lt;/p&gt;&#xA;&lt;p&gt;One preface here before we start, I refer to the role of tech lead (or TL) often in this talk, but to be clear, the tech lead is a role, not a title. You may be an engineer, or a manager. Basically, any project which you are responsible for driving technical decisions on, you are the TL.&lt;/p&gt;</description>
			</item>
			<item>
				<title>My Contract To My Team</title>
				<link>https://riley.thecsillags.com/posts/2025-02-27-contract-to-the-team/</link>
				<pubDate>Thu, 27 Feb 2025 12:00:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2025-02-27-contract-to-the-team/</guid>
				<description>&lt;p&gt;When I switched to management last year on April 5, one of the things I wanted to start with was&#xA;to make sure that my teams understood what they could expect from me and hold me to. I had been at the company for&#xA;over three years and interacted with many of them before, so I wasn&amp;rsquo;t a stranger, but one thing I&amp;rsquo;ve learned is that&#xA;clarity rarely hurts in situations like these. And so I wrote up a &amp;ldquo;contract&amp;rdquo; of what they could expect from me. I later&#xA;updated it to be what they could expect from the managers that report up to me as well, including things like PTO, sick time,&#xA;not micromanaging, and so on.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Threading Four Shaft Drafts on a Rigid Heddle Loom</title>
				<link>https://riley.thecsillags.com/posts/2024-02-19-theading-more-complex-pattern/</link>
				<pubDate>Mon, 19 Feb 2024 12:00:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2024-02-19-theading-more-complex-pattern/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve only been weaving for about four months now, but have had a lot of fun doing four&#xA;shaft patterns on my rigid heddle loom (a 16&amp;quot; Kromski Harp Forte). My current project&#xA;is pretty complicated. So I&amp;rsquo;ve picked up a few techniques that I think have been useful.&lt;/p&gt;&#xA;&lt;p&gt;Weaving has been around long enough, so I don&amp;rsquo;t assume this is a novel invention, but&#xA;so far it has worked well in allowing me to be much more confident that I&amp;rsquo;ve got the threading&#xA;right before plowing ahead.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Self Retros</title>
				<link>https://riley.thecsillags.com/posts/2024-02-11-self-retro/</link>
				<pubDate>Sun, 11 Feb 2024 13:30:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2024-02-11-self-retro/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve done various forms of retros over the years, &lt;a href=&#34;https://riley.thecsillags.com/posts/2021-11-07-managing-information/&#34;&gt;one of which&lt;/a&gt; I blogged about too. Following &lt;a href=&#34;https://emauton.org/about/&#34;&gt;Cian Synnot&amp;rsquo;s&lt;/a&gt;&#xA;example, I had done &lt;a href=&#34;https://www.teamretro.com/retrospectives/4ls-retrospective&#34;&gt;Four L&amp;rsquo;s&lt;/a&gt;. I also had done a quarterly &amp;ldquo;plate spinning&amp;rdquo; check to make sure I&amp;rsquo;m not spreading myself&#xA;too thin, and also had a quarterly calendar audit (I&amp;rsquo;m in a lot of meetings) to make sure&#xA;I was spending time in the right places.&#xA;But as much as I had done, I realized that I wanted for something more regular (monthly,&#xA;rather than quarterly or yearly) and more concrete, as for me, a retro like Four L&amp;rsquo;s is too nonspecific.&lt;/p&gt;</description>
			</item>
			<item>
				<title>I Got Blogged About</title>
				<link>https://riley.thecsillags.com/posts/2023-10-14-i-got-blogged/</link>
				<pubDate>Sat, 14 Oct 2023 16:21:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2023-10-14-i-got-blogged/</guid>
				<description>&lt;p&gt;I did a talk for my org, Developer Experience (formerly part of EEE), based on my &lt;a href=&#34;https://riley.thecsillags.com/posts/2021-03-21-influence-without-authority/&#34;&gt;Influence Without Authority&lt;/a&gt; post I did back in 2021. It circulated a bit inside, and the &lt;a href=&#34;https://www.datadoghq.com/blog/pup-culture/&#34;&gt;Pup Culture&#xA;Blog&lt;/a&gt; at Datadog decided to write a &lt;a href=&#34;https://www.datadoghq.com/blog/pup-culture/datadog-culture-influence-without-authority/&#34;&gt;blog post&lt;/a&gt; about me based on it!&lt;/p&gt;</description>
			</item>
			<item>
				<title>Scaling Configuration: Object Building Languages</title>
				<link>https://riley.thecsillags.com/posts/2023-01-16-object-building-languages/</link>
				<pubDate>Mon, 16 Jan 2023 15:53:40 +0000</pubDate>
				<guid>https://riley.thecsillags.com/posts/2023-01-16-object-building-languages/</guid>
				<description>&lt;p&gt;YAML, go templated YAML, HOCON, HCL(2), GCL, JSON. Just some of the common languages used for configuring&#xA;the world we live in, because they need to be human readable, not just machine readable. At first, it&amp;rsquo;s all&#xA;fine, but then to ensure consistency and reuse, they add templating features, and the templating languages&#xA;become more complex to handle the emerging needs as projects require more.&lt;/p&gt;&#xA;&lt;p&gt;Some evolve to be Turing complete,&#xA;some specifically eschew Turing completeness, as they need to ensure that at runtime, nothing bad happens. As&#xA;the templating advances, things get harder to understand and debug as the configuration language rarely provides&#xA;sufficient tooling. It can be hard to understand what the result of all the templating actually is. Eventually the templates, and sometimes their consumers, become impenetrable. That&amp;rsquo;s before you get to some of the odd&#xA;quirks of some of them, to ensure you get the quoting or indentation correct as you&amp;rsquo;re templating. Either&#xA;way, as things scale up, configuration gets messy.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Choosing All Possibilities</title>
				<link>https://riley.thecsillags.com/posts/2022-12-27-choosing-everything/</link>
				<pubDate>Tue, 27 Dec 2022 15:42:19 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2022-12-27-choosing-everything/</guid>
				<description>&lt;p&gt;There&amp;rsquo;s a chunk of code I&amp;rsquo;ve been playing with the last two and a&#xA;half-ish years (judging by its git history) that for me is just really&#xA;cool. It&amp;rsquo;s something I&amp;rsquo;ve been aware of since reading&#xA;&lt;a href=&#34;https://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871/ref=sr_1_1&#34;&gt;SICP&lt;/a&gt;,&#xA;and I wrote a version of it probably a decade ago, but it was in a&#xA;very specific application, rather than the more simplified and&#xA;generalized form I have it in here. I had been reading about Prolog&#xA;when I was reminded of it, and that solving things in a normal&#xA;programming language rather than Prolog would be simpler, if only&#xA;there was something that dealt with it. After thinking about it more,&#xA;it could be used to do formal verification, since what TLA+ does is&#xA;search the state space of the system specified in TLA+ or PlusCal&#xA;(because raw TLA+ is pretty terrible, though PlusCal isn&amp;rsquo;t great&#xA;either). While I&amp;rsquo;ve not actually done formal verification with it yet,&#xA;I do have code that uses it to solve mazes, sudoku and KenKen puzzles,&#xA;figure out valid magic squares, generating power sets, counting in&#xA;binary.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Organization System Essentials</title>
				<link>https://riley.thecsillags.com/posts/2022-01-22-org-systems/</link>
				<pubDate>Sat, 22 Jan 2022 13:20:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2022-01-22-org-systems/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve been working with people and talking about their organization systems to help their systems&#xA;help them. There are a few different systems that people use, and I wanted to figure out this&#xA;question: what really are the essentials to have something that works?&lt;/p&gt;&#xA;&lt;!-- more--&gt;&#xA;&lt;p&gt;If your system isn&amp;rsquo;t quite working, it&amp;rsquo;s easy to feel overloaded. There&amp;rsquo;s too much to do, it&amp;rsquo;s&#xA;hard to prioritize, it feels really hard to get a handle on what you should be doing. First,&#xA;if you haven&amp;rsquo;t read&#xA;&lt;a href=&#34;https://www.amazon.com/Getting-Things-Done-Workbook-Productivity/dp/0143133438&#34;&gt;Getting Things Done&lt;/a&gt;, start there. But the goal is to gain some sense that&#xA;you have things under control; that you are confident you are working on&#xA;the right things, and aware of what things need to be done, and have a good&#xA;feel for the order they should be done in, at least given current conditions.&#xA;If you take nothing else away from the book, it&amp;rsquo;s that you need to capture everything&#xA;and put it into a system you can trust.&lt;/p&gt;</description>
			</item>
			<item>
				<title>On Blockchain, Crypto, stablecoins, NFTs, etc.</title>
				<link>https://riley.thecsillags.com/posts/2022-01-21-on-crypto/</link>
				<pubDate>Fri, 21 Jan 2022 21:42:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2022-01-21-on-crypto/</guid>
				<description>&lt;p&gt;I get asked about blockchain, crypto, NFTs, and such every once in a while, and&#xA;rather than counting on my memory to remember the whole thing, I decided&#xA;to just do a quick write up.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;My general thesis is this: the only things that really work for decentralization&#xA;AND blockchain are things that themselves emanate from that blockchain. For example,&#xA;bitcoins emanating from the bitcoin blockchain. Anything&#xA;that the blockchain manages that doesn&amp;rsquo;t itself emanate from the blockchain&#xA;requires some form of trust, auditing, and/or lawyers and strong contract&#xA;law, otherwise it&amp;rsquo;s just garbage in/garbage out. If you need trust, auditing,&#xA;lawyers, etc. there are simpler and cheaper ways than blockchain to manage the data.&lt;/p&gt;</description>
			</item>
			<item>
				<title>I Was on a Podcast</title>
				<link>https://riley.thecsillags.com/posts/2022-01-15-i-was-on-a-podcast/</link>
				<pubDate>Sat, 15 Jan 2022 09:46:35 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2022-01-15-i-was-on-a-podcast/</guid>
				<description>&lt;p&gt;I had spoken to a recruiter, Harrison Edney, at some point a while ago, and we had a really great conversation.&#xA;He mentioned he wanted to start a podcast, and wanted me to be the first guest. I was like: &amp;ldquo;Sure, why not?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;So we did, and the result is &lt;a href=&#34;https://anchor.fm/harrison-edney/episodes/IaC-E1S1---Drew-Csillag---Staff-Engineer-DataDog-e184789&#34;&gt;here&lt;/a&gt; which I don&amp;rsquo;t remember when we had the actual conversation, but it was posted on September 30, 2021.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Yes, Programming is Hard</title>
				<link>https://riley.thecsillags.com/posts/2021-11-14-yes-porgramming-is-hard/</link>
				<pubDate>Sun, 14 Nov 2021 10:34:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2021-11-14-yes-porgramming-is-hard/</guid>
				<description>&lt;p&gt;I saw the article in &lt;a href=&#34;https://cacm.acm.org/magazines/2021/8/254304-what-does-saying-that-programming-is-hard-really-say-and-about-whom/fulltext&#34;&gt;Communications of the ACM&lt;/a&gt; &amp;ldquo;What Does Saying That &amp;lsquo;Programming Is Hard&amp;rsquo; Really Say, and About Whom?&amp;rdquo; and as a twenty-six year veteran of the profession, I thought &amp;ldquo;of course programming is hard! Duh!&amp;rdquo; I then spoke with a friend where after a bit said &amp;ldquo;Do they mean like writing? Writing isn&amp;rsquo;t hard, but writing a book is&amp;rdquo;.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;So in a sense, no programming isn&amp;rsquo;t intrinsically hard I guess, but in practice it is. In practice the problem is ill defined and incomplete, the constraints will not be fully understood, tooling may not exist, or at least be unknown to you, systems will be buggy.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Managing Information as a Superpower</title>
				<link>https://riley.thecsillags.com/posts/2021-11-07-managing-information/</link>
				<pubDate>Sun, 07 Nov 2021 15:46:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2021-11-07-managing-information/</guid>
				<description>&lt;p&gt;Many common archetypes of staff engineer involve a moderate to large scope of influence. One of the things&#xA;I&amp;rsquo;ve come to realize, is in order to keep on top of things, and be even more effective is better management&#xA;of information that comes to you. For me, the way I manage information has become a superpower.&lt;/p&gt;&#xA;&lt;!-- more--&gt;&#xA;&lt;p&gt;The scope of my last three positions has involved large scopes &amp;ndash; up to about sixty people. My current&#xA;position had started in the low forties, and in a mere ten months has ballooned to sixty or so. I also manage a&#xA;team of three. My scope will&#xA;probably grow to around eighty by end of next year &amp;ndash; though we have hired another staff engineer who hopefully&#xA;will be able to take a chunk of this. The&#xA;question becomes: how can you even begin to keep track of everything going on in an org of ten-plus teams&#xA;working on who knows how many projects?&lt;/p&gt;</description>
			</item>
			<item>
				<title>Finally, Somebody Makes This</title>
				<link>https://riley.thecsillags.com/posts/2021-08-15-finally-someone-makes-it/</link>
				<pubDate>Sun, 15 Aug 2021 15:46:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2021-08-15-finally-someone-makes-it/</guid>
				<description>&lt;p&gt;For at least as long since I came up with &lt;a href=&#34;https://riley.thecsillags.com/posts/2014-03-26-the-agile-organizer/&#34;&gt;The Agile Organizer&lt;/a&gt;&#xA;I&amp;rsquo;ve been using disc binding systems like the Arc-M from Staples. While the Arc-M&#xA;system works, it was never quite what I wanted. Recently, I finally discovered&#xA;a product that&amp;rsquo;s what I&amp;rsquo;ve actually wanted.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Fun With Combinations</title>
				<link>https://riley.thecsillags.com/posts/2021-08-02-fun-with-combinations/</link>
				<pubDate>Mon, 02 Aug 2021 07:58:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2021-08-02-fun-with-combinations/</guid>
				<description>&lt;p&gt;A co-worker recently gave a talk on &lt;a href=&#34;https://aws.amazon.com/blogs/architecture/shuffle-sharding-massive-and-magical-fault-isolation/&#34;&gt;shuffle sharding&lt;/a&gt; and the thought came to me: we know that that for&#xA;&lt;code&gt;n&lt;/code&gt; things taken &lt;code&gt;k&lt;/code&gt; at a time you have &lt;sub&gt;n&lt;/sub&gt;C&lt;sub&gt;k&lt;/sub&gt;, and what that evaluates to; given &lt;code&gt;n&lt;/code&gt; and &lt;code&gt;k&lt;/code&gt;.&#xA;How do we map a number between 1 and &lt;sub&gt;n&lt;/sub&gt;C&lt;sub&gt;k&lt;/sub&gt; to a unique set of selections, and vice versa,&#xA;given the set of selections, can you get back to the original number?&lt;/p&gt;</description>
			</item>
			<item>
				<title>Influence Without Authority</title>
				<link>https://riley.thecsillags.com/posts/2021-03-21-influence-without-authority/</link>
				<pubDate>Sun, 21 Mar 2021 15:30:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2021-03-21-influence-without-authority/</guid>
				<description>&lt;p&gt;As you get more experience in being a software engineer, the trajectory that companies I have worked for look for you to be able to expand your scope. Something they will call out as a way to accomplish this is the term &amp;ldquo;influence without authority&amp;rdquo;, which is just a really fancy set of words that mean &amp;ldquo;persuasive&amp;rdquo;.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve had good soft skills for a while, but if you asked me what exactly it was I was doing, I&amp;rsquo;d have had a hard time explaining what it was. Some time ago, I started thinking about what exactly it was I was doing, and have been digging into them ever since, and hope to write more frequently about how they apply in a business context. When I started thinking about influence without authority, and made the link to persuasion, my first thought was: how is persuasion distinct from manipulation - one is considered good; the other, bad. The best way I can think of to distinguish them is simply this: would the other person be pissed off at you for doing what you did? &lt;/p&gt;</description>
			</item>
			<item>
				<title>Log Analysis Using SQLite</title>
				<link>https://riley.thecsillags.com/posts/2021-02-28-log-analysis-using-sqlite/</link>
				<pubDate>Sun, 28 Feb 2021 21:12:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2021-02-28-log-analysis-using-sqlite/</guid>
				<description>&lt;p&gt;It all started because I suck at the log searching tool I’ll call &amp;lt;LST&amp;gt;¹. Mostly because I used it a little, but not enough to warrant me really digging in and learning it for real and internalizing its search syntax.&lt;/p&gt;&#xA;&lt;p&gt;Between me struggling with the tool, and that it would be multiple seconds between query and seeing results, I was getting really frustrated trying to diagnose issues with the services I was working on. Somewhere, I had seen a post about using SQLite for log analysis and I thought that seemed like an unusual but interesting idea, so I decided to give it a spin to see if it worked.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Lies You Find In Code</title>
				<link>https://riley.thecsillags.com/posts/2021-02-20-lies-in-code/</link>
				<pubDate>Sat, 20 Feb 2021 18:46:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2021-02-20-lies-in-code/</guid>
				<description>&lt;p&gt;When working in a code base that&amp;rsquo;s been around for a while, you will find lies in the code. These lies are usually not put there by nefarious actors, so there&amp;rsquo;s no conspiracy, or secret cabal. But either by engineers who don&amp;rsquo;t realize what they&amp;rsquo;ve done, or more commonly by code evolution, these things happen. &lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;These lies are the unaccounted time sucks when working in a code base, as people working on it have to dig deeper, search for things that don&amp;rsquo;t exist, maintain code that doesn&amp;rsquo;t need to exist, or worse make incorrect assumptions about the state of the world as they work through and around them. So it&amp;rsquo;s good to be aware of them and fix them when you see them.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Crackpot Post: Breaking Bell&#39;s Inequality?</title>
				<link>https://riley.thecsillags.com/posts/2020-06-14-breaking-bells/</link>
				<pubDate>Sun, 14 Jun 2020 12:27:39 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2020-06-14-breaking-bells/</guid>
				<description>&lt;p&gt;This is very much a crackpot post. I&amp;rsquo;m not an SME in the area&#xA;which I&amp;rsquo;m writing, so I&amp;rsquo;m totally unqualified to write on the subject&#xA;and certainly wrong. But as I was digging&#xA;into quantum stuff, I had thoughts. I did math. I even plotted a few&#xA;things.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;Sometimes something seems all mysterious and astounding. Then you&#xA;learn how it works, and it&amp;rsquo;s really disappointing.&#xA;For me, magic tricks often have been that way.  Well, this past&#xA;year I learned how machine learning works, and that&#xA;was interesting, but somewhat unsatisfying, but fine. Quantum&#xA;mechanics had been on my list for years, and I decided to&#xA;learn more about it, now I wonder why people describe it in&#xA;such odd ways when it needn&amp;rsquo;t be, such that I can&amp;rsquo;t think of a&#xA;time where learning about science has made me angry.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Making Coding Easier</title>
				<link>https://riley.thecsillags.com/posts/2019-08-25-reading-code/</link>
				<pubDate>Sun, 25 Aug 2019 12:27:39 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2019-08-25-reading-code/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve spent a lot of time over the course of my career in other&#xA;people&amp;rsquo;s code, and as a result, I&amp;rsquo;ve learned a lot about what kinds of&#xA;things make code easy to navigate, and which things made reading and&#xA;debugging code more difficult. The way I promote coding styles are&#xA;reflections of those things which&#xA;made things easier, and avoiding those things that make it harder.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;When I get into a code base, I want to be able to easily:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Defunctionalizing Quicksort</title>
				<link>https://riley.thecsillags.com/posts/2019-08-19-defunctionalizing_quicksort/</link>
				<pubDate>Mon, 19 Aug 2019 21:55:48 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2019-08-19-defunctionalizing_quicksort/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve know for a long time that you could convert any iterative function to be&#xA;recursive and vice versa, but up until recently, I only knew how to go from&#xA;iterative to recursive in a mostly formulaic way.&lt;/p&gt;&#xA;&lt;p&gt;I recently saw a cool &lt;a href=&#34;http://www.pathsensitive.com/2019/07/the-best-refactoring-youve-never-heard.html&#34;&gt;presentation&lt;/a&gt;&#xA;where he shows a refactoring to deterministically (at least AFAICT) go from a&#xA;recursive function to an iterative one. It took me a bit of rewatching and&#xA;fiddling as to how to apply it, but now having done a few exercises, I have a&#xA;good feel for it, and I thought perhaps using a slightly more involved example&#xA;might help explain it to others.&lt;/p&gt;</description>
			</item>
			<item>
				<title>I’ve Moved From Paper To…. Paper</title>
				<link>https://riley.thecsillags.com/posts/2019-08-17-i-have-moved-from-paper/</link>
				<pubDate>Sat, 17 Aug 2019 14:00:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2019-08-17-i-have-moved-from-paper/</guid>
				<description>&lt;p&gt;(see &lt;a href=&#34;https://riley.thecsillags.com/categories/agile-organizer/&#34;&gt;here&lt;/a&gt; for the full Agile Organizer series)&lt;/p&gt;&#xA;&lt;p&gt;I’ve been using the agile organizer for better than four years and it’s worked swimmingly. But I started working at Dropbox last year on a product called &lt;a href=&#34;https://paper.dropbox.com&#34;&gt;Paper&lt;/a&gt;. I figured I’d give Dropbox Paper a go to see how well it might fit in with the Agile Organizer, either for collection or whatever. Well, after 16 months, I’m still using Dropbox Paper to do AO.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Even More Uses For A Diver&#39;s Bezel</title>
				<link>https://riley.thecsillags.com/posts/2018-04-23-even-more-divers-bezel/</link>
				<pubDate>Mon, 23 Apr 2018 11:30:08 -0500</pubDate>
				<guid>https://riley.thecsillags.com/posts/2018-04-23-even-more-divers-bezel/</guid>
				<description>&lt;p&gt;(see &lt;a href=&#34;https://riley.thecsillags.com/categories/divers-bezel/&#34;&gt;here&lt;/a&gt; for all the posts about using a diver&amp;rsquo;s bezel)&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve written a few posts about things you can do with a diver&amp;rsquo;s bezel, and today, I&amp;rsquo;m adding a few more.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;h1 id=&#34;what-day-of-the-week-is-it&#34;&gt;What Day Of The Week Is It?&lt;/h1&gt;&#xA;&lt;p&gt;My current daily-wearer watch doesn&amp;rsquo;t have a day of the week&#xA;complication on it, and mostly, this isn&amp;rsquo;t a practical problem I&#xA;have. However, when I&amp;rsquo;m off for a few days, I often don&amp;rsquo;t know what&#xA;day it is &amp;ndash; first world problem, I know. Fortunately, a diver&amp;rsquo;s bezel&#xA;can be used to deal with this.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How I Wound Up Using Blackwing 602s</title>
				<link>https://riley.thecsillags.com/posts/2018-02-20-writing-utensils/</link>
				<pubDate>Tue, 20 Feb 2018 09:41:15 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2018-02-20-writing-utensils/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://riley.thecsillags.com/images/penspencils.jpg&#34; alt=&#34;Pens and Pencils&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;While I&amp;rsquo;ve had my organizer figured out for over four years (see&#xA;&lt;a href=&#34;https://riley.thecsillags.com/categories/agile-organizer/&#34;&gt;here&lt;/a&gt; for the full series), I had&#xA;struggled with the choice of writing utensil.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;I realize this is more of a connoisseur kind of thing, as strictly&#xA;speaking, my choices are wide, so if you&amp;rsquo;re not into stationery, you&#xA;can basically ignore the rest of this post.&lt;/p&gt;&#xA;&lt;p&gt;I started with the classic Bic Stick pen.  While it has the advantage&#xA;of being cheap and pretty bulletproof (at least for me), it&amp;rsquo;s not that&#xA;smooth of a writer.  I tried a fountain pen for a while, a Lamy&#xA;Safari, which it&amp;rsquo;s a smooth writer, it suffers in that it doesn&amp;rsquo;t&#xA;write well on the small sticky notes I use, and it hardly works at all&#xA;on my Rite in the Rain pocket journals I use. The paper dust,&#xA;which I presume is from the sticky notes, clogs the tip pretty&#xA;quickly. I tried various roller ball pens (including the G2), but they&#xA;smear easily, blot, and skip (probably because of the paper dust), and&#xA;while they write better than the fountain pen in the RitR journals,&#xA;that&amp;rsquo;s not saying a ton.  The best was probably the Uniball Jetstream&amp;hellip;&#xA;until it would start skipping.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Accounting For Software Engineers</title>
				<link>https://riley.thecsillags.com/posts/2017-12-06-accounting-for-software-engineers/</link>
				<pubDate>Wed, 06 Dec 2017 09:41:15 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2017-12-06-accounting-for-software-engineers/</guid>
				<description>&lt;p&gt;For my current job, I&amp;rsquo;ve had to learn how accounting works.  In order&#xA;to learn that, I did the kinds of things you&amp;rsquo;d expect I might.  But&#xA;one thing I kept finding was that some fairly simple concept seemed to&#xA;be explained in a way over-complicated way, after I eventually was&#xA;able to figure it out.  I eventually figured out why, and with that, I&#xA;think that if you&amp;rsquo;re new to accounting, and a software engineer, I&#xA;think I can help you out.&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Couple Of Good Reads For Programmers</title>
				<link>https://riley.thecsillags.com/posts/2017-08-12-good-reads/</link>
				<pubDate>Sat, 12 Aug 2017 07:57:15 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2017-08-12-good-reads/</guid>
				<description>&lt;p&gt;A couple of good reads I&amp;rsquo;ve encountered in the last month or so that cover things I&amp;rsquo;ve thought myself, but are written much better than I would have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://denninginstitute.com/pjd/PUBS/CACMcols/cacmJul17.pdf&#34;&gt;The Beginner&amp;rsquo;s Creed&lt;/a&gt; - something I&amp;rsquo;ll probably keep in my notebook in perpetuity.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://medium.com/@cindysridharan/small-functions-considered-harmful-91035d316c29&#34;&gt;Small Functions Considered Harmful&lt;/a&gt; - related to my &lt;a href=&#34;https://riley.thecsillags.com/posts/2014-11-05-dry-isnt-free/&#34;&gt;DRY Isn&amp;rsquo;t Free&lt;/a&gt; post.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.raywenderlich.com/165042/rwdevcon-2017-inspiration-talk-im-idiot-richard-turton&#34;&gt;I&amp;rsquo;m an Idiot&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.sandimetz.com/blog/2016/1/20/the-wrong-abstraction&#34;&gt;The Wrong Abstraction&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you&amp;rsquo;re a programmer/software engineer/whatever, read them, they&amp;rsquo;re&#xA;well worth your time.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Staples Arc Paper - $100 vs. $20</title>
				<link>https://riley.thecsillags.com/posts/2017-07-15-notebook-paper/</link>
				<pubDate>Sat, 15 Jul 2017 11:29:26 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2017-07-15-notebook-paper/</guid>
				<description>&lt;p&gt;(see &lt;a href=&#34;https://riley.thecsillags.com/categories/agile-organizer/&#34;&gt;here&lt;/a&gt; for the full Agile Organizer series)&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve now been using my agile organizer system for now going on three&#xA;years, with a few adjustments, but the main principles firmly in&#xA;place.  I did however switch form factor from letter sized to junior&#xA;sized paper (5.5&amp;quot; x 8.5&amp;quot;, or the half-letter-sized) and 2x2 sized&#xA;stickies rather than the standard 3x3.  As not everything winds up on&#xA;stickies, as I keep a running log of what I&amp;rsquo;m doing, notes, etc. as&#xA;written on the regular pages, I did eventually need to get refill paper.&lt;/p&gt;</description>
			</item>
			<item>
				<title>More Advanced Diver&#39;s Bezel Use</title>
				<link>https://riley.thecsillags.com/posts/2017-06-30-more-divers-bezel/</link>
				<pubDate>Fri, 30 Jun 2017 08:16:08 -0500</pubDate>
				<guid>https://riley.thecsillags.com/posts/2017-06-30-more-divers-bezel/</guid>
				<description>&lt;p&gt;(see &lt;a href=&#34;https://riley.thecsillags.com/categories/divers-bezel/&#34;&gt;here&lt;/a&gt; for all the posts about using a diver&amp;rsquo;s bezel)&lt;/p&gt;&#xA;&lt;p&gt;I &lt;a href=&#34;https://riley.thecsillags.com/Surprising-Utility-Divers-Bezel/&#34;&gt;previously wrote&lt;/a&gt; about&#xA;things that you can do with a divers watch bezel.  Since then I&amp;rsquo;ve figured&#xA;out a few things.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;It occurred to me that most of the techniques I spoke about in the&#xA;previous post work best when you have a fully transferred minutes bezel&#xA;(i.e. a marker on the bezel at every minute), like you find on just&#xA;about all Seiko Divers, the Rolex DeepSea, newer Omega Planet Oceans,&#xA;Omega Semaster 300Ms, Fortis divers, as well as many others.  If you&#xA;only have markers every five minutes after the first fifteen or&#xA;twenty, you can still use those techniques, it&amp;rsquo;s just harder as you&#xA;have to mentally interpolate to find the precise elapsed time, or to&#xA;set the countdown start time.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How to Use a Diver&#39;s Bezel</title>
				<link>https://riley.thecsillags.com/posts/2017-04-23-surprising-utility-divers-bezel/</link>
				<pubDate>Sun, 23 Apr 2017 16:35:25 -0500</pubDate>
				<guid>https://riley.thecsillags.com/posts/2017-04-23-surprising-utility-divers-bezel/</guid>
				<description>&lt;h1 id=&#34;aka-the-suprising-utility-of-a-divers-bezel&#34;&gt;a.k.a. The Suprising Utility of a Diver&amp;rsquo;s Bezel&lt;/h1&gt;&#xA;&lt;p&gt;(see &lt;a href=&#34;https://riley.thecsillags.com/categories/divers-bezel/&#34;&gt;here&lt;/a&gt; for all the posts about using a diver&amp;rsquo;s bezel)&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve worn a diver&amp;rsquo;s watch for years, and initially, I got one because&#xA;I wanted a durable watch that I didn&amp;rsquo;t have to think too much about.&#xA;The bezel on the watch was more of a decorative curiosity than&#xA;something I planned much to use.  Then I learned a few things.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;Having had a moderately inexpensive diver&amp;rsquo;s watch for years, I was&#xA;looking for an upgrade, and was considering a chronograph, and&#xA;realized that I hadn&amp;rsquo;t really wanted for one in a situation where I&amp;rsquo;d&#xA;wear my diver&amp;rsquo;s watch.  For me anyway, because of the things I&amp;rsquo;ve&#xA;discovered I can do with a plain diver&amp;rsquo;s watch, the only time I found&#xA;I actually wanted for a chronograph was when I&amp;rsquo;d go for a run.  In&#xA;that case, I really wanted my Ironman watch which has things like&#xA;splits and lap times, etc.  Not to mention the relative weight of the&#xA;diver&amp;rsquo;s watch versus the Ironman.&lt;/p&gt;</description>
			</item>
			<item>
				<title>17 Frets - Chords, a Guitar Chord Dictionary</title>
				<link>https://riley.thecsillags.com/posts/2016-12-27-17frets-chords/</link>
				<pubDate>Tue, 27 Dec 2016 09:50:47 -0500</pubDate>
				<guid>https://riley.thecsillags.com/posts/2016-12-27-17frets-chords/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve been using this now for a bit, and now that I&amp;rsquo;ve not made any&#xA;changes to it in a few months, and after a failed pitch at selling it&#xA;to a publisher, I&amp;rsquo;ve decided to release this into the wild. I figure&#xA;it&amp;rsquo;s useful to me and at least one other person, it may be useful to&#xA;others.&lt;/p&gt;&#xA;&lt;p&gt;The essence of it is that instead of the usual tome of a chord&#xA;dictionary that most are, this one plots the chord tones across 17&#xA;frets of a guitar neck, using note numbers instead of names. This&#xA;way, you don&amp;rsquo;t have 12 versions of a minor 9th chord, but only one.&#xA;Amongst other things, this and the included index can help you find&#xA;voicings, or good substutions for chords. In any case, printed double&#xA;sided, the thing runs about eighteen pages, slim enough to keep in a&#xA;music binder or folder you might use during practices or performances.&lt;/p&gt;</description>
			</item>
			<item>
				<title>17 Frets - Scales, A Guitar Scale Encyclopedia</title>
				<link>https://riley.thecsillags.com/posts/2017-03-18-17frets-scales/</link>
				<pubDate>Tue, 27 Dec 2016 09:50:47 -0500</pubDate>
				<guid>https://riley.thecsillags.com/posts/2017-03-18-17frets-scales/</guid>
				<description>&lt;p&gt;Back at the end of December, I posted 17 Frets Chords, a concise&#xA;chord dictionary. I had been working on a scale encyclopedia too,&#xA;but hadn&amp;rsquo;t put the finishing touches on it.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s mostly where I want it, but there are some places where it&amp;rsquo;s&#xA;not as good as I want, but I figure, might as well release it now.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;17 Frets Scales shows the major scale families and their modes, in&#xA;addition to including available chords for most scales. Like 17 Frets&#xA;Chords, it&amp;rsquo;s also indexed by intervals, notes, chord names, scale/mode&#xA;names and their aliases, which should help you identify the scale&#xA;you&amp;rsquo;re looking for.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Jan20 - A Java Succession Library</title>
				<link>https://riley.thecsillags.com/posts/2016-12-08-jan-20-succession/</link>
				<pubDate>Thu, 08 Dec 2016 15:53:40 +0000</pubDate>
				<guid>https://riley.thecsillags.com/posts/2016-12-08-jan-20-succession/</guid>
				<description>&lt;p&gt;Since it&amp;rsquo;s related to my day job, it&amp;rsquo;s over on&#xA;&lt;a href=&#34;https://medium.com/@drewcsillag/a-succession-library-for-java-3beeab7acf9c#.se2f0no07&#34;&gt;Medium&lt;/a&gt;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Regulating My Mechanical Watch</title>
				<link>https://riley.thecsillags.com/posts/2016-09-08-regulating-a-watch/</link>
				<pubDate>Thu, 08 Sep 2016 17:04:50 +0000</pubDate>
				<guid>https://riley.thecsillags.com/posts/2016-09-08-regulating-a-watch/</guid>
				<description>&lt;p&gt;For Christmas last year, my wife bought me a Seiko SKX-009 which I&#xA;absolutely love.  Even though I love it, I looked at a bunch of higher&#xA;end Swiss watches but found that even though many of them look really&#xA;great (I came pretty close to buying an Omega Seamaster Planet Ocean&#xA;Chrono), but realized that when it came to the features I use on the&#xA;SKX, the number of Swiss watches that actually fulfil them is very&#xA;few.  Like the Fortis Marine Master and Cosmonaut were the only two I&#xA;could find - but while they fit what I want, I don&amp;rsquo;t care so much for&#xA;the styling.  But the accuracy of a Swiss watch was appealing as the&#xA;SKX had settled to losing 15 seconds a day, which isn&amp;rsquo;t wonderful.&#xA;But at least it was a very consistent 15 s/d.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Marvels Of A Mechanical Watch</title>
				<link>https://riley.thecsillags.com/posts/2015-10-03-marvels-of-mechanical-watch/</link>
				<pubDate>Sat, 03 Oct 2015 12:39:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-10-03-marvels-of-mechanical-watch/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;https://riley.thecsillags.com/images/seiko_skx009.jpg&#34; alt=&#34;Seiko SKX009&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been interested in timekeeping devices for many years, and have&#xA;generally been facinated with watches, and in the last year or so,&#xA;I&amp;rsquo;ve become I big fan of mechanical ones.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been particularly interested in the Seiko automatics.  I&amp;rsquo;ve not&#xA;seen a better quality automatic watch anywhere in the price range,&#xA;both in terms of the movement, and the case.  The Seiko movements have&#xA;proven, for the two of them that I&amp;rsquo;ve owned, to be very reliable and&#xA;satisfyingly accurate.&lt;/p&gt;</description>
			</item>
			<item>
				<title>How I Stopped Worrying And Learned To Love `git rebase`</title>
				<link>https://riley.thecsillags.com/posts/2015-10-01-stopped-worrying-and-love-git-rebase/</link>
				<pubDate>Thu, 01 Oct 2015 12:00:00 +0000</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-10-01-stopped-worrying-and-love-git-rebase/</guid>
				<description>&lt;p&gt;N.B. Some of this revolves around puppet, but if you know nothing&#xA;about puppet, you won&amp;rsquo;t miss anything.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been doing a bunch of stuff in puppet lately. Since my actual&#xA;puppet runs are inside VMs which I nuke fairly frequently, doing the&#xA;actual bits of development in the VM is impractical (and somewhat&#xA;dangerous even).&lt;/p&gt;&#xA;&lt;p&gt;I use git to do my normal version control anyway, so that&amp;rsquo;s nothing&#xA;earth shattering, but I also use git to update &lt;code&gt;/etc/puppet&lt;/code&gt; in&#xA;the VM from what&amp;rsquo;s on my laptop because it works really well.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Single Return Considered Harmful</title>
				<link>https://riley.thecsillags.com/posts/2015-09-29-single-return-considered-harmful/</link>
				<pubDate>Tue, 29 Sep 2015 12:00:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-09-29-single-return-considered-harmful/</guid>
				<description>&lt;p&gt;It&amp;rsquo;s funny sometimes how when you&amp;rsquo;ve done something in a particular&#xA;way for long enough, it&amp;rsquo;s easy to forget why you do it the way you do.&#xA;I&amp;rsquo;ve been a big fan of early return for a long time and was recently&#xA;challenged on my view. The argument I had received in favor of single&#xA;return was dubious to me, but it&amp;rsquo;s always good to recheck why you do&#xA;something when you&amp;rsquo;ve forgotten.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Gregg Shorthand Update</title>
				<link>https://riley.thecsillags.com/posts/2015-06-15-gregg-shorthand-update/</link>
				<pubDate>Mon, 15 Jun 2015 12:00:00 +0000</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-06-15-gregg-shorthand-update/</guid>
				<description>&lt;p&gt;It&amp;rsquo;s been close to a year since I started my shorthand quest in&#xA;earnest.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;I did wind up changing systems from Gregg Anniversary Edition to&#xA;&lt;a href=&#34;http://smile.amazon.com/GREGG-Shorthand-Manual-Simplified/dp/0070245487/ref=sr_1_2&#34;&gt;Gregg Shorthand Simplified&lt;/a&gt;&#xA;as I found it better for those, like me, who don&amp;rsquo;t have an in person teacher.&#xA;Speed-wise, last I checked I was at something better than 70wpm. I&amp;rsquo;m&#xA;probably a bit faster since then which is over six months ago, but&#xA;either way I&amp;rsquo;m sufficiently fast for my needs &amp;ndash; well above the&#xA;30-35wpm longhand I could ever manage. I do at least weekly practice&#xA;by taking notes during church and I can still read them long after the&#xA;sermon. While I did switch away from Anniversary Gregg, the&#xA;Anniversary edition dictionary is still quite useful to have as the&#xA;forms haven&amp;rsquo;t changed &lt;em&gt;that&lt;/em&gt; much for the rare time I do need to look&#xA;things up.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Storage System Design Considerations</title>
				<link>https://riley.thecsillags.com/posts/2015-05-25-storage-system-design-part-1/</link>
				<pubDate>Mon, 25 May 2015 12:00:00 +0000</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-05-25-storage-system-design-part-1/</guid>
				<description>&lt;p&gt;When designing storage systems for applications, not building&#xA;something like a SQL/NoSQL database, I&amp;rsquo;m talking the layer/logic that&#xA;goes on top, you have to consider a whole bunch of things if you want&#xA;to build the &amp;ldquo;right thing(TM)&amp;rdquo; for your application.&lt;/p&gt;&#xA;&lt;p&gt;In part one, we&amp;rsquo;ll be considering the simple cases (spoiler: most&#xA;cases are simple) and SQL databases, in part 2 we&amp;rsquo;ll be&#xA;considering NoSQL databases.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;Even with various considerations to think about, hard and fast rules&#xA;about datastores tend to get very difficult, as the various&#xA;considerations can push things around quite a bit as to how to best&#xA;implement them for today while taking tomorrow into account.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Useful Software</title>
				<link>https://riley.thecsillags.com/posts/2015-05-17-useful-software/</link>
				<pubDate>Sun, 17 May 2015 12:00:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-05-17-useful-software/</guid>
				<description>&lt;p&gt;Somewhat written to &lt;a href=&#34;https://riley.thecsillags.com/categories/future-me/&#34;&gt;future-me&lt;/a&gt;, but also&#xA;to others who may be looking in the direction of these things.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;h2 id=&#34;general-software&#34;&gt;General Software&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://directory.apache.org/studio/&#34;&gt;ApacheDirectoryStudio / apacheDS&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If I ever need to deal with LDAP in any way, this tool will make me&#xA;have a happy.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://keystore-explorer.sourceforge.net/&#34;&gt;Keystore Explorer&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;For dealing with Java Keystores. The commandline tool supplied with&#xA;Java kinda sucks, this makes it easier, especially for things like&#xA;x509v3 extensions which you need to twiddle if you ever do CA work.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Java Server Best Practices</title>
				<link>https://riley.thecsillags.com/posts/2015-04-25-java-server-best-practices/</link>
				<pubDate>Sat, 25 Apr 2015 11:18:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-04-25-java-server-best-practices/</guid>
				<description>&lt;p&gt;When writing Java servers (or servlets that run in a container), I&amp;rsquo;ve&#xA;learned a few things that have saved me a bunch of trouble during&#xA;development, as well as later on.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;h2 id=&#34;dependency-injection&#34;&gt;Dependency Injection&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Injection: if something is singleton (request, global or any other&#xA;scope), the only things injected to it should also be singleton &amp;ndash;&#xA;otherwise you get implicit singletons of things the singleton holds,&#xA;and may not be what you want &amp;ndash; and generally harder to reason&#xA;about.  Better to have the singleton instances be leaves in the tree&#xA;of injected things.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Dependency Injection Without A Framework</title>
				<link>https://riley.thecsillags.com/posts/2015-02-19-dependency-injection/</link>
				<pubDate>Thu, 19 Feb 2015 11:18:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-02-19-dependency-injection/</guid>
				<description>&lt;p&gt;I think that most people would agree these days that dependency&#xA;injection is a good thing for many reasons.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It allows you to decouple concrete classes from each other&lt;/li&gt;&#xA;&lt;li&gt;It makes for a uniform method of object construction&lt;/li&gt;&#xA;&lt;li&gt;It simplifies plumbing&lt;/li&gt;&#xA;&lt;li&gt;Makes it easier to make testable classes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The problem that I have with it is that, at least in Java, the main&#xA;frameworks for doing it, being Guice and Spring, can sometimes be as&#xA;bad as the problem DI tries to solve.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Removing Magic</title>
				<link>https://riley.thecsillags.com/posts/2015-02-14-removing-magic/</link>
				<pubDate>Sat, 14 Feb 2015 11:18:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-02-14-removing-magic/</guid>
				<description>&lt;p&gt;When starting as a software developer, everything seems like magic,&#xA;compilers, IDEs, networking, kernels, etc.  While we can ignore how&#xA;these things work, to really grow as a developer, the magic must be&#xA;removed.  At the end of the day, our job is to produce something that&#xA;works, having a well-rounded knowledge of how the full stack works can&#xA;help you to understand when weird stuff happens, and come up with&#xA;useful theories as to what is going on.  Much as when I was a kid, I&#xA;tended to take things apart to see how they work, and most times was&#xA;able to get it back together; apologies to my Dad for the&#xA;barometer/thermometer pieces he found one day.  Here are a few things&#xA;you might consider doing to &amp;ldquo;take things apart&amp;rdquo; and remove the magic.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Why Java?</title>
				<link>https://riley.thecsillags.com/posts/2015-01-24-why-java/</link>
				<pubDate>Sat, 24 Jan 2015 11:18:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-01-24-why-java/</guid>
				<description>&lt;h1 id=&#34;background&#34;&gt;Background&lt;/h1&gt;&#xA;&lt;p&gt;I started my professional career with a Pascal program (I know that&#xA;dates me a bit) and then continued with C and C++ and discovered&#xA;Python around version 1.4 and used it heavily for over ten years, and&#xA;&lt;strong&gt;really&lt;/strong&gt; didn&amp;rsquo;t like Java when I first met it (version 1.3-1.4 time&#xA;frame).&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve also used a ton of other languages for real deployed projects,&#xA;like Python, Ruby, C, C++, Common Lisp (which I &lt;strong&gt;&amp;lt;3 love&lt;/strong&gt;), C#,&#xA;Clojure, Visual Basic, and Go, so I&amp;rsquo;m a not the average &amp;ldquo;blub&amp;rdquo;&#xA;programmer saying this.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Python Fun - onliners</title>
				<link>https://riley.thecsillags.com/posts/2015-01-23-python-one-liners/</link>
				<pubDate>Fri, 23 Jan 2015 16:24:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2015-01-23-python-one-liners/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve not done a ton of programming in Python for a while, but I still&#xA;do like the language.  I also like trying to do things in one line&#xA;(ok, one statement), just because it&amp;rsquo;s a bit more difficult :).  These&#xA;are pretty old, but I used to keep these in my email signature line&amp;hellip;&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;Mandlebrot set&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#586e75&#34;&gt;#this one really only works if your terminal window is 80 wide&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#719e07&#34;&gt;import&lt;/span&gt; os;&lt;span style=&#34;color:#b58900&#34;&gt;map&lt;/span&gt;(&lt;span style=&#34;color:#719e07&#34;&gt;lambda&lt;/span&gt; i:os&lt;span style=&#34;color:#719e07&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#2aa198&#34;&gt;1&lt;/span&gt;,&lt;span style=&#34;color:#b58900&#34;&gt;chr&lt;/span&gt;(reduce(&lt;span style=&#34;color:#719e07&#34;&gt;lambda&lt;/span&gt;(z,t),o:&lt;span style=&#34;color:#b58900&#34;&gt;abs&lt;/span&gt;(z&lt;span style=&#34;color:#719e07&#34;&gt;*&lt;/span&gt;z)&lt;span style=&#34;color:#719e07&#34;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;4&lt;/span&gt;&lt;span style=&#34;color:#719e07&#34;&gt;and&lt;/span&gt;(&lt;span style=&#34;color:#2aa198&#34;&gt;6&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;t)&lt;span style=&#34;color:#719e07&#34;&gt;or&lt;/span&gt;(z&lt;span style=&#34;color:#719e07&#34;&gt;*&lt;/span&gt;z&lt;span style=&#34;color:#719e07&#34;&gt;+&lt;/span&gt;o[&lt;span style=&#34;color:#2aa198&#34;&gt;0&lt;/span&gt;],t&lt;span style=&#34;color:#719e07&#34;&gt;+&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;1&lt;/span&gt;),[(i&lt;span style=&#34;color:#719e07&#34;&gt;%&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;80&lt;/span&gt;&lt;span style=&#34;color:#719e07&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;.04875&lt;/span&gt;&lt;span style=&#34;color:#719e07&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;2.6&lt;/span&gt;&lt;span style=&#34;color:#719e07&#34;&gt;+&lt;/span&gt;i&lt;span style=&#34;color:#719e07&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;80&lt;/span&gt;&lt;span style=&#34;color:#719e07&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;2.8&lt;/span&gt;j&lt;span style=&#34;color:#719e07&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;26&lt;/span&gt;&lt;span style=&#34;color:#719e07&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;1.4&lt;/span&gt;j,&lt;span style=&#34;color:#2aa198&#34;&gt;65&lt;/span&gt;)]&lt;span style=&#34;color:#719e07&#34;&gt;*&lt;/span&gt;&lt;span style=&#34;color:#2aa198&#34;&gt;31&lt;/span&gt;)[&lt;span style=&#34;color:#2aa198&#34;&gt;1&lt;/span&gt;])),&lt;span style=&#34;color:#b58900&#34;&gt;range&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;(&lt;span style=&#34;color:#2aa198&#34;&gt;2080&lt;/span&gt;))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The screen of e&lt;/p&gt;</description>
			</item>
			<item>
				<title>Programming Done Right Follows The Scientific Method</title>
				<link>https://riley.thecsillags.com/posts/2014-12-23-programming-is-science/</link>
				<pubDate>Tue, 23 Dec 2014 12:04:31 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-12-23-programming-is-science/</guid>
				<description>&lt;h3 id=&#34;aka-good-programmers-are-doing-real-science&#34;&gt;AKA Good Programmers Are Doing Real Science&lt;/h3&gt;&#xA;&lt;p&gt;There are a bunch of long-ish winded definitions of the scientific method, but&#xA;I think a reasonable pithy description would be:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Come up with a theory to explain an existing phenomena.&lt;/li&gt;&#xA;&lt;li&gt;Use that theory to come up with a falsifiable prediction.&lt;/li&gt;&#xA;&lt;li&gt;Conduct experiments to prove or disprove the truth of the prediction.&lt;/li&gt;&#xA;&lt;li&gt;Independent parties repeat #3 and reproduce the results.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;Now if the experiments at step three or four disprove the truth of the&#xA;prediction, one of a few things can happen:&lt;/p&gt;</description>
			</item>
			<item>
				<title>Refactoring Serial Calls To Leaf Calls</title>
				<link>https://riley.thecsillags.com/posts/2014-12-22-serial-to-leaf-refactoring/</link>
				<pubDate>Mon, 22 Dec 2014 12:04:31 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-12-22-serial-to-leaf-refactoring/</guid>
				<description>&lt;p&gt;When dealing with the problem of a&#xA;&lt;a href=&#34;http://en.wikipedia.org/wiki/Code_smell&#34;&gt;long method&lt;/a&gt;, the simplest thing&#xA;you can usually do is to break it into it&amp;rsquo;s conceptual pieces and have a&#xA;series of tail called functions that call the next chunk of the computation.&lt;/p&gt;&#xA;&lt;p&gt;So given this:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-java&#34; data-lang=&#34;java&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#268bd2&#34;&gt;private&lt;/span&gt; Thing &lt;span style=&#34;color:#268bd2&#34;&gt;methodThatIsTooLong&lt;/span&gt;(TypeThing arg1, OtherType arg2) {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#586e75&#34;&gt;// chunk1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#586e75&#34;&gt;// chunk2&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#586e75&#34;&gt;// ....&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &lt;span style=&#34;color:#586e75&#34;&gt;// chunkN&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You get:&lt;/p&gt;</description>
			</item>
			<item>
				<title>A Source Of Over-Abstraction - Or DRY Isn&#39;t Free</title>
				<link>https://riley.thecsillags.com/posts/2014-11-05-dry-isnt-free/</link>
				<pubDate>Wed, 05 Nov 2014 16:23:52 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-11-05-dry-isnt-free/</guid>
				<description>&lt;p&gt;In &lt;a href=&#34;https://riley.thecsillags.com/cult-of-abstraction/&#34;&gt;The Cult Of Abstraction&lt;/a&gt; I railed against the&#xA;over-use of abstraction.  Here, I want to talk about a particular source cause&#xA;of over-abstraction I have seen (and been guilty of).&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;Recently, while working with another team here at Spotify, I was&#xA;working through some of their test code using the &lt;a href=&#34;https://github.com/spotify/helios/blob/master/docs/testing_framework.md&#34;&gt;Helios Testing Framework&lt;/a&gt;,&#xA;and the harness used a surprisingly complicated tree of classes to set&#xA;up the various containers it used.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Doing Agile Wrong</title>
				<link>https://riley.thecsillags.com/posts/2014-09-26-doing-agile-wrong/</link>
				<pubDate>Fri, 26 Sep 2014 12:39:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-09-26-doing-agile-wrong/</guid>
				<description>&lt;p&gt;While I&amp;rsquo;m often at odds with software frameworks (libraries are to be&#xA;preferred over frameworks, generally), I&amp;rsquo;ve found that process&#xA;frameworks can be very good indeed, when done right.  Implementors of&#xA;agile methodologies ironically can fall into the trap of doing it&#xA;wrong.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;Why ironic?  Well let&amp;rsquo;s look at the agile manifesto from the&#xA;&lt;a href=&#34;http://www.agilemanifesto.org/&#34;&gt;agile manifesto website&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Individuals and interactions over processes and tools&lt;/li&gt;&#xA;&lt;li&gt;Working software over comprehensive documentation&lt;/li&gt;&#xA;&lt;li&gt;Customer collaboration over contract negotiation&lt;/li&gt;&#xA;&lt;li&gt;Responding to change over following a plan&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;What I&amp;rsquo;ve heard is that in many companies they prescribe: &amp;ldquo;We do agile&#xA;&lt;em&gt;this&lt;/em&gt; way&amp;rdquo;, &lt;em&gt;which breaks the first statement of agile&lt;/em&gt;.  On the&#xA;other hand, when agile is done right, if you have many teams, you&#xA;should have many variants of agile processes.  If you are going to&#xA;prescribe something, it&amp;rsquo;s best to prescribe the framework, i.e. the&#xA;manifesto, rather than it&amp;rsquo;s particular implementation.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Gregg Shorthand Resources</title>
				<link>https://riley.thecsillags.com/posts/2014-08-02-gregg-shorthand/</link>
				<pubDate>Sat, 02 Aug 2014 12:39:00 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-08-02-gregg-shorthand/</guid>
				<description>&lt;p&gt;I&amp;rsquo;ve known handywrite shorthand for a number of years, and finally&#xA;decided that I should learn shorthand proper, ideally with the best&#xA;bang/buck ratio, as well as minimal amount of initial learning, with&#xA;being able to ramp up the amount I learn later, as time permits.  I&#xA;settled on Gregg shorthand, Anniversary Edition.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;In hunting the net in the hopes of learning Gregg, I&amp;rsquo;ve found a bunch&#xA;of PDFs that I&amp;rsquo;ve found helpful.  As far as I&amp;rsquo;ve been able to tell,&#xA;all of them are out of copyright and/or directly linked.  If anyone&#xA;finds different, &lt;em&gt;please&lt;/em&gt; let me know.  The ones I was able to figure&#xA;out where I got them are linked, with local copies (when I believe&#xA;permitted) in the event that the target site goes away.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Agile Organizer, Part 3 - Retrospectives</title>
				<link>https://riley.thecsillags.com/posts/2014-07-24-agile-organizer-part-3/</link>
				<pubDate>Thu, 24 Jul 2014 09:52:26 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-07-24-agile-organizer-part-3/</guid>
				<description>&lt;p&gt;(see &lt;a href=&#34;https://riley.thecsillags.com/categories/agile-organizer/&#34;&gt;here&lt;/a&gt; for the full Agile Organizer series)&lt;/p&gt;&#xA;&lt;h2 id=&#34;retrospectives&#34;&gt;Retrospectives&lt;/h2&gt;&#xA;&lt;p&gt;If you do Agile, it&amp;rsquo;s probable that you do something called a&#xA;retrospective.  At least in the ones I&amp;rsquo;ve been involved with, there&amp;rsquo;s&#xA;usually a part where we go over what&amp;rsquo;s going well, and what could be&#xA;changed.  With the agile organizer, I&amp;rsquo;ve found that periodically doing&#xA;retrospectives about the way I am using it is useful and worthwhile.  If&#xA;you use it, I hope you would too.&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Agile Organizer, Part 2</title>
				<link>https://riley.thecsillags.com/posts/2014-05-31-agile-organizer-part-2/</link>
				<pubDate>Sat, 31 May 2014 09:52:26 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-05-31-agile-organizer-part-2/</guid>
				<description>&lt;p&gt;(see &lt;a href=&#34;https://riley.thecsillags.com/categories/agile-organizer/&#34;&gt;here&lt;/a&gt; for the full Agile Organizer series)&lt;/p&gt;&#xA;&lt;p&gt;In &lt;a href=&#34;https://riley.thecsillags.com/the-agile-organizer/&#34;&gt;The Agile Organizer&lt;/a&gt;, I described the&#xA;basics my organization system.  In this second part, I go into some&#xA;ways that I use it that weren&amp;rsquo;t covered in the first post.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;h2 id=&#34;the-dumping-ground&#34;&gt;The Dumping Ground&lt;/h2&gt;&#xA;&lt;p&gt;Sometimes, when I&amp;rsquo;m working on an idea, I just want to get the bits&#xA;down, but don&amp;rsquo;t want to think, necessarily, about how they fit just&#xA;yet.  In such a case, I&amp;rsquo;ll have a page where I just stick the stickies&#xA;to a page wherever they&amp;rsquo;ll fit, with the idea that I&amp;rsquo;ll come back to&#xA;it later to sort it all out.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Quicksort And Java 8</title>
				<link>https://riley.thecsillags.com/posts/2014-05-26-quicksort-and-java-8/</link>
				<pubDate>Mon, 26 May 2014 09:23:52 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-05-26-quicksort-and-java-8/</guid>
				<description>&lt;p&gt;In looking at functional languages, I&amp;rsquo;ve often been impressed with the clarity of implementations of Quicksort.  Now that Java 8 includes lambdas, we can now do one that, while not as nice as an implementation in, say Haskell, is still quite nice.&lt;/p&gt;&#xA;&lt;p&gt;While I wouldn&amp;rsquo;t use the below code in production, as it&amp;rsquo;s choice of pivot point is naive and would go kaboom on a large sorted list from stack exhaustion, it is a nice illustration of the utility and clarity that Java 8&amp;rsquo;s lambdas when mixed with Guava functional stuff give.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Fun With Lisp Macros</title>
				<link>https://riley.thecsillags.com/posts/2014-04-26-fun-with-lisp-macros/</link>
				<pubDate>Sat, 26 Apr 2014 12:04:31 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-04-26-fun-with-lisp-macros/</guid>
				<description>&lt;p&gt;As far as programming languages go, my truly favorite language is a&#xA;Lisp.  Scheme or Common Lisp are fine.  I have a few hesitations about&#xA;&lt;a href=&#34;http://clojure.org&#34;&gt;Clojure&lt;/a&gt; (the way it does recursion is offputting&#xA;to me, but perhaps a few macros might clean it up), but for what I&amp;rsquo;ve&#xA;done with it when working with &lt;a href=&#34;http://riemann.io&#34;&gt;Riemann&lt;/a&gt;, it&amp;rsquo;s been&#xA;a pleasure, even if it&amp;rsquo;s slow going because I don&amp;rsquo;t do it frequently&#xA;enough to have the needed bits already in my head.&lt;/p&gt;&#xA;&lt;p&gt;In one of my &lt;a href=&#34;https://riley.thecsillags.com/gracebiblenyorg-history.html&#34;&gt;previous posts&lt;/a&gt;, I wrote&#xA;about how I&amp;rsquo;d written the website software for a website I maintain in&#xA;Common Lisp.  There were a few macros I wrote while building it that I&#xA;thought were potentially useful and illustrative of the kinds of&#xA;things you can do with macros that make Lisps cool.&lt;/p&gt;&#xA;&lt;p&gt;In this post (there may be others later), I&amp;rsquo;ll be talking about a&#xA;macro I wrote to deal with database queries.  When dealing with&#xA;database queries, making sure that you write/generate the queries&#xA;properly with respect to escaping and bind variables, and connection&#xA;caching, etc. can be a real pain, and I&amp;rsquo;m not a big fan of ORMs as&#xA;they never really do what I want.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Refactoring Flow Control And Conditionals</title>
				<link>https://riley.thecsillags.com/posts/2014-04-14-refactoring-flow-control-and-conditionals/</link>
				<pubDate>Mon, 14 Apr 2014 16:28:14 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-04-14-refactoring-flow-control-and-conditionals/</guid>
				<description>&lt;p&gt;In the course of reading various design patterns and refactoring books&#xA;(like&#xA;&lt;a href=&#34;http://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672/ref=sr_1_1?ie=UTF8&amp;amp;qid=1397507462&amp;amp;sr=8-1&amp;amp;keywords=refactoring&#34;&gt;Refactoring&lt;/a&gt;),&#xA;I noticed while flow control is sorta mentioned here and there, it&amp;rsquo;s&#xA;not addressed especially well.  It mostly encourages things like&#xA;&lt;a href=&#34;http://refactoring.com/catalog/replaceConditionalWithPolymorphism.html&#34;&gt;replacing conditional with polymorphism&lt;/a&gt;&#xA;and &lt;a href=&#34;http://refactoring.com/catalog/replaceNestedConditionalWithGuardClauses.html&#34;&gt;replace nested conditional with guard clauses&lt;/a&gt;&#xA;and the like, rather than finding ways to straighten out and clarify&#xA;code that contains flow control and conditionals.&lt;/p&gt;&#xA;&lt;!-- more --&gt;&#xA;&lt;p&gt;One of my thoughts on flow control and conditionals follows one of the rules of the &lt;a href=&#34;http://legacy.python.org/dev/peps/pep-0020/&#34;&gt;Zen of Python&lt;/a&gt;:&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Cult Of Abstraction</title>
				<link>https://riley.thecsillags.com/posts/2014-04-10-cult-of-abstraction/</link>
				<pubDate>Thu, 10 Apr 2014 15:43:55 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-04-10-cult-of-abstraction/</guid>
				<description>&lt;p&gt;Given that people can get really touchy on the subject, let me state&#xA;this up front: &lt;strong&gt;I&amp;rsquo;m not saying we should tolerate lousy code&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Over the course of my career, I&amp;rsquo;ve seen something that I will call&#xA;&amp;ldquo;the cult of abstraction.&amp;rdquo;  On the surface, this sounds like a good&#xA;thing, until you need to debug their code.  While on the surface, it&amp;rsquo;s&#xA;all nice and pretty, and uses classic design patterns, when you&#xA;actually want to find out what it does, you discover that:&lt;/p&gt;</description>
			</item>
			<item>
				<title>The Agile Organizer</title>
				<link>https://riley.thecsillags.com/posts/2014-03-26-the-agile-organizer/</link>
				<pubDate>Wed, 26 Mar 2014 14:05:14 -0400</pubDate>
				<guid>https://riley.thecsillags.com/posts/2014-03-26-the-agile-organizer/</guid>
				<description>&lt;p&gt;(see &lt;a href=&#34;https://riley.thecsillags.com/categories/agile-organizer/&#34;&gt;here&lt;/a&gt; for the full Agile Organizer series)&lt;/p&gt;&#xA;&lt;p&gt;For a long time, I&amp;rsquo;ve tried a multitude of personal organization&#xA;systems, from the normal calendars, to online calendars, to Evernote,&#xA;org-mode, and so on and nothing has ever truly worked for me.  The&#xA;main reason is that I&amp;rsquo;ve got a few main needs:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Capture - if it never makes it in, it&amp;rsquo;s gone&lt;/li&gt;&#xA;&lt;li&gt;Ideation - have to be able to brainstorm with it&lt;/li&gt;&#xA;&lt;li&gt;Reference - for things I need frequently enough, but not so much that I keep it in my head&lt;/li&gt;&#xA;&lt;li&gt;Planning - what am I doing?&lt;/li&gt;&#xA;&lt;li&gt;Historical record - what did I do?&lt;/li&gt;&#xA;&lt;li&gt;Visibility - easier to use if I can see it all the time&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;There&amp;rsquo;s also a simplicity hurdle involved.  If it&amp;rsquo;s too much of a&#xA;pain to use, it won&amp;rsquo;t get used, so it &lt;em&gt;has&lt;/em&gt; to be convenient and easy.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
