<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Draconian Overlord - Latest Comments</title><link>http://draconianoverlord.disqus.com/</link><description></description><atom:link href="https://draconianoverlord.disqus.com/comments.rss" rel="self"></atom:link><language>en</language><lastBuildDate>Tue, 04 Jul 2023 14:26:58 -0000</lastBuildDate><item><title>Re: 

Avoid Using External Files in Tests

</title><link>https://www.draconianoverlord.com/2018/07/08/avoid-using-external-files-in-tests.html/#comment-6223491590</link><description>&lt;p&gt;Hi Jay; I only just now noticed your comment, sorry about that! Not sure if I'm getting notifications for these comments or not... :-/ But thanks for the note, I just fixed the link.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">shaberman</dc:creator><pubDate>Tue, 04 Jul 2023 14:26:58 -0000</pubDate></item><item><title>Re: 

Avoid Using External Files in Tests

</title><link>https://www.draconianoverlord.com/2018/07/08/avoid-using-external-files-in-tests.html/#comment-5943490755</link><description>&lt;p&gt;Broken link on:&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;And, granted, &lt;a href="https://www.draconianoverlord.com/2017/08/23/futility-of-cross-system-integration-testing.html" rel="nofollow noopener" target="_blank" title="https://www.draconianoverlord.com/2017/08/23/futility-of-cross-system-integration-testing.html"&gt;cross-system integration testing&lt;/a&gt; sucks&lt;br&gt;&lt;/blockquote&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jay</dc:creator><pubDate>Wed, 10 Aug 2022 12:46:36 -0000</pubDate></item><item><title>Re: First Principles</title><link>http://www.draconianoverlord.com/2016/12/16/first-principles.html#comment-5690171768</link><description>&lt;p&gt;Did you remove the first principles page? I had it bookmarked and just noticed it now returns a 404.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jesse</dc:creator><pubDate>Thu, 13 Jan 2022 18:58:57 -0000</pubDate></item><item><title>Re: If you cherry pick, your branch model is wrong</title><link>http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html#comment-5185418786</link><description>&lt;p&gt;Where is the rebase before the merge? The picture looks simple for just the 1 commit, but if there are several hotfixes, the picture can be murky.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ZillaYT .</dc:creator><pubDate>Fri, 11 Dec 2020 12:44:28 -0000</pubDate></item><item><title>Re: First Principles</title><link>http://www.draconianoverlord.com/pages/first-principles.html#comment-5051784353</link><description>&lt;p&gt;"Where it feels right." :-)&lt;/p&gt;&lt;p&gt;Less tongue-in-cheek, I think the 80/20 principle is probably good, i.e. shoot for ~80% "perfect SOLID" and you'll get the most benefit, without being overly pedantic about the last 20% that returns less marginal utility.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">shaberman</dc:creator><pubDate>Sun, 30 Aug 2020 19:09:32 -0000</pubDate></item><item><title>Re: Why I’m a Static Typing Bigot</title><link>http://www.draconianoverlord.com/2010/11/24/why-im-a-static-typing-bigot.html#comment-5051259353</link><description>&lt;p&gt;Another really good post from years ago. I mostly write ruby at the moment and I have very mixed feelings. I'm pretty certain you're right that for larger projects static typing is increasingly valuable. In terms of "most users of dynamic languages would, without realizing it, prefer a static language" I think that could be the case for overall experience at work. I don't have enough static experience to know for certain but when writing Go I enjoy so many of the benefits you mention and perhaps using a language with generics I'd even say I like it better at work than ruby overall.&lt;/p&gt;&lt;p&gt;There is a big stumbling block though: Joy. The greatest times spent programming, the ones spent hacking out an idea in a state of flow work well with having the minimum possible ceremony. Once I would begin a tricky task by writing out in english what the steps need to be, then it would turn to pseudocode, then I realise it's easier for me to just write ruby. When I alter my ideas of what needs passing where the changes are quicker to make. Bang, POC done in an hour. This shouldn't be pushed directly to production but honestly a little polish and some tests and often it's great. This isn't the how the majority of time at work is spent and I also get a kick out of careful code design plan coming together but those times are very sweet, they are the times when it most feels like a company is paying me to play.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam</dc:creator><pubDate>Sun, 30 Aug 2020 11:04:28 -0000</pubDate></item><item><title>Re: First Principles</title><link>http://www.draconianoverlord.com/pages/first-principles.html#comment-5051173478</link><description>&lt;p&gt;This is a really damn good list. Out of interest, on a scale from the whole program is in one massive function through to 100% exam grade SOLID, where do you like to draw the line for abstraction?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Adam</dc:creator><pubDate>Sun, 30 Aug 2020 09:35:20 -0000</pubDate></item><item><title>Re: Always Separate User Intent</title><link>http://www.draconianoverlord.com/2020/03/28/always-separate-user-intent.html#comment-4853399038</link><description>&lt;p&gt;Nice insight! &lt;a href="https://media0.giphy.com/media/obWh8XqeiaT8A/giphy.gif" rel="nofollow noopener" target="_blank" title="https://media0.giphy.com/media/obWh8XqeiaT8A/giphy.gif"&gt;https://media0.giphy.com/me...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joan Gamell</dc:creator><pubDate>Mon, 30 Mar 2020 01:54:04 -0000</pubDate></item><item><title>Re: GraphQL Typed Root Pattern</title><link>http://www.draconianoverlord.com/2019/08/25/graphql-typed-root-pattern.html#comment-4755123863</link><description>&lt;p&gt;&lt;a href="https://github.com/MichalLytek/type-graphql" rel="nofollow noopener" target="_blank" title="https://github.com/MichalLytek/type-graphql"&gt;https://github.com/MichalLy...&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">lookfirst</dc:creator><pubDate>Mon, 13 Jan 2020 00:05:55 -0000</pubDate></item><item><title>Re: Toyota Katas Notes</title><link>http://www.draconianoverlord.com/2019/07/25/toyota-katas.html#comment-4564662867</link><description>&lt;p&gt;Yep, agreed. Two thoughts:&lt;/p&gt;&lt;p&gt;1) I'm also rereading Flow (The Principles of Product Development Flow), which is not really "port TPS to software" but "here is why [with lots of ~somewhat dry theroetical reasoning] TPS doesn't apply to software and what to do instead". I'll do a similar notes blog post if anything for my own synthesis and memory. But, yep, you've already hit on several of the key aspects (get rid of queues, short/fast iteration, less design-in-progress, etc.)&lt;/p&gt;&lt;p&gt;2) I'm also wondering about just removing queues all together (if/when possible). Like within engineering, we often have "the mobile engineer queue", "the frontend engineer queue", "the backend engineer queue", etc, each of which take turns being bottlenecks depending on the project/task/etc.&lt;/p&gt;&lt;p&gt;At my current gig, I'm on a "TypeScript everywhere!" kick (although I can't win the React Native battle yet :-)) primarily b/c I think having a common language enables breaking down some of these artificially-introduced queues and letting generalist engineers more freely flow to where the current work needs to be done (albeit probably still facilitated by platform specialists/owners who know the nitty-gritty details of each platform, like maybe an 80/20 ratio of generalists/fullstack to specialists).&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">shaberman</dc:creator><pubDate>Sat, 03 Aug 2019 16:18:13 -0000</pubDate></item><item><title>Re: Toyota Katas Notes</title><link>http://www.draconianoverlord.com/2019/07/25/toyota-katas.html#comment-4563210746</link><description>&lt;blockquote&gt;The same part, on the same machine, multiple times per minute, for days and weeks. It’s just nothing like software development.&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;I think the "applicability" of these techniques to Software Development lays one layer above the actual writing of the code in the Software Development Life Cycle, i.e. in how all the actors and processes interact during the weeks-long or months-long building of a feature.&lt;/p&gt;&lt;p&gt;Thinking specifically of shortening the feedback loops between QA / Product / Engineering and short iterations (no inventory) , small deployments to production to de-risk, fixing-forward or fast-rollbacks, pushing the responsibility closer to whoever has the best knowledge (anyone can pull the red cord), etc. Those are mostly Continuous Development/Deployment practices which I think can be traced back to the Toyota&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joan Gamell</dc:creator><pubDate>Fri, 02 Aug 2019 10:50:29 -0000</pubDate></item><item><title>Re: What’s Wrong with a Schema?</title><link>http://www.draconianoverlord.com/2012/05/08/whats-wrong-with-a-schema.html#comment-4511596771</link><description>&lt;p&gt;There is no natural system that enforces a schema, universe would be chaos then, so why make an artificial one. Been running for more than 5 years in production with billions of records across multiple documents without schemas and never had 1 day of issues or downtime with it. Sorry but schemas are just here so that the structural minded old school paradigms don't get too lost in a dynamic world&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Johann Eloff</dc:creator><pubDate>Fri, 21 Jun 2019 23:52:43 -0000</pubDate></item><item><title>Re: If you cherry pick, your branch model is wrong</title><link>http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html#comment-4433954647</link><description>&lt;p&gt;you're supposed to rebase *before* pushing to a public repo&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">moomistercowman</dc:creator><pubDate>Mon, 22 Apr 2019 17:47:11 -0000</pubDate></item><item><title>Re: If you cherry pick, your branch model is wrong</title><link>http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html#comment-4423468964</link><description>&lt;p&gt;Rebasing public branches make me squirm. Wont the other devs now have to force pull because the dev branch history has diverged?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Optimistic Owl</dc:creator><pubDate>Mon, 15 Apr 2019 05:43:37 -0000</pubDate></item><item><title>Re: If you cherry pick, your branch model is wrong</title><link>http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html#comment-4378271591</link><description>&lt;p&gt;The point of cherry-pick is when you want a commit without _earlier_ commits from the develop branch.  For the case you are describing you can rebase.  it's not the case the article is talking about though&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">adam.conway</dc:creator><pubDate>Thu, 14 Mar 2019 12:36:50 -0000</pubDate></item><item><title>Re: Gmail Filter Tips</title><link>http://www.draconianoverlord.com/2017/02/04/gmail-filter-tips.html#comment-4291401698</link><description>&lt;p&gt;it appears editing filters no longer changes the order, at least on my gsuite account&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">thehesiod</dc:creator><pubDate>Thu, 17 Jan 2019 20:28:47 -0000</pubDate></item><item><title>Re: The One True Way Of Indentation</title><link>http://www.draconianoverlord.com/2016/09/16/one-true-way-of-indenting.html#comment-4268741277</link><description>&lt;p&gt;fabriciocucci already read&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">martinerburu</dc:creator><pubDate>Thu, 03 Jan 2019 23:49:04 -0000</pubDate></item><item><title>Re: Why No One Uses Scala's Structural Typing</title><link>http://www.draconianoverlord.com/2011/10/04/why-no-one-uses-scala-structural-typing.html#comment-4250777070</link><description>&lt;p&gt;not necessarily, could be done at compile time, dunno&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alex Mills</dc:creator><pubDate>Fri, 21 Dec 2018 00:21:00 -0000</pubDate></item><item><title>Re: The One True Way Of Indentation</title><link>http://www.draconianoverlord.com/2016/09/16/one-true-way-of-indenting.html#comment-4234126007</link><description>&lt;p&gt;While I certainly think wrap-all is a good idea, I disagree quite strongly with your reasoning for always-indent-by-one.  Here's why:&lt;/p&gt;&lt;p&gt;If "wasted" whitespace were really a significant downside, you wouldn't be advocating wrap-all without making any mention of it there.  It's an irrelevance: if you're short enough on horizontal space that single arguments are crossing your line-length limit, which is the only time it should matter, then you're either nesting too deeply or using names that are too long, and a refactor is needed.&lt;/p&gt;&lt;p&gt;If you're changing your function or method names on a frequent enough basis for that to matter, you're probably doing something wrong - and if your tools don't "know" how to ignore whitespace changes in a diff, you need better tools, not to break useful semantic formatting so that you don't have to deal with them.&lt;/p&gt;&lt;p&gt;Your final "advantage" for indent-by-one is, frankly, nonsense.  If you align arguments with their caller ("indent-on-column", as you call it), you always have to move your eye directly down from the method name, which you have to read *anyway* to know what the call *iss*.  If, on the other hand, you indent by one (or two) then you have to scan *back* by an arbitrary amount, varying depending on the name of the method and, as in your second example, potentially an object with which it's associated.&lt;/p&gt;&lt;p&gt;Meanwhile, "indent-on-column" usefully aligns arguments and data with their associated structures, in a way that's immediately and obviously distinct from an extra indent-level as used for *code*.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">D Draco</dc:creator><pubDate>Mon, 10 Dec 2018 14:34:01 -0000</pubDate></item><item><title>Re: If you cherry pick, your branch model is wrong</title><link>http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html#comment-4155916214</link><description>&lt;p&gt;I agree with the premise of this article and looking forward to the next installment: "If you are manually copying edits from one branch to another in your text editor your branch model is wrong".  This is the first I've heard of anybody using cherry-pick for anything other than selectively merging commits from another branch now and then, and it's absolutely invaluable for that.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Rick O'Shea</dc:creator><pubDate>Sun, 21 Oct 2018 14:53:48 -0000</pubDate></item><item><title>Re: Why I’m a Static Typing Bigot</title><link>http://www.draconianoverlord.com/2010/11/24/why-im-a-static-typing-bigot.html#comment-4117703809</link><description>&lt;p&gt;LA LA LA LA. :-)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">shaberman</dc:creator><pubDate>Thu, 27 Sep 2018 16:06:13 -0000</pubDate></item><item><title>Re: Why I’m a Static Typing Bigot</title><link>http://www.draconianoverlord.com/2010/11/24/why-im-a-static-typing-bigot.html#comment-4111737871</link><description>&lt;p&gt;You should ask Ian about the results of his thesis on static vs dynamic types.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Chad Crowe</dc:creator><pubDate>Mon, 24 Sep 2018 12:06:36 -0000</pubDate></item><item><title>Re: If you cherry pick, your branch model is wrong</title><link>http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html#comment-4104063699</link><description>&lt;p&gt;There is another solution to this:&lt;/p&gt;&lt;p&gt;&amp;gt;So you now have two physically distinct commits in your repository for the same logical change. And no metadata tying them together.&lt;/p&gt;&lt;p&gt;Take a look into the -x option when cherry-picking. It's not the most beautiful solution, but it adds the SHA-1 of the original commit to your new commit's message. [  (cherry picked from commit 1234abcd...)  ]&lt;/p&gt;&lt;p&gt;If you want to locate the branch you could always just $ git branch --contains &amp;lt;sha-1&amp;gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Benjamin Vinicky</dc:creator><pubDate>Wed, 19 Sep 2018 14:53:00 -0000</pubDate></item><item><title>Re: If you cherry pick, your branch model is wrong</title><link>http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html#comment-4104053006</link><description>&lt;p&gt;Thank you for this reply. This method really is the way to go when you have to use a cherry-pick!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Benjamin Vinicky</dc:creator><pubDate>Wed, 19 Sep 2018 14:47:17 -0000</pubDate></item><item><title>Re: If you cherry pick, your branch model is wrong</title><link>http://www.draconianoverlord.com/2013/09/07/no-cherry-picking.html#comment-4104031781</link><description>&lt;p&gt;Common misconception... Git rebase does not break chronology. Each commit contains the author and commit date. You just have to look a little harder. If you don't feel like viewing the commit date for a commit, you could always --ignore-date, though you will lose the original author date.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Benjamin Vinicky</dc:creator><pubDate>Wed, 19 Sep 2018 14:35:31 -0000</pubDate></item></channel></rss>