<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: arm93</title><link>https://news.ycombinator.com/user?id=arm93</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 08 Jun 2026 15:53:23 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=arm93" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[When did we decide lines of code was a measure of productivity?]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/@mooseyanon/when-did-we-decide-lines-of-code-was-a-measure-of-productivity-e146568c71d2">https://medium.com/@mooseyanon/when-did-we-decide-lines-of-code-was-a-measure-of-productivity-e146568c71d2</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48444059">https://news.ycombinator.com/item?id=48444059</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 08 Jun 2026 11:37:38 +0000</pubDate><link>https://medium.com/@mooseyanon/when-did-we-decide-lines-of-code-was-a-measure-of-productivity-e146568c71d2</link><dc:creator>arm93</dc:creator><comments>https://news.ycombinator.com/item?id=48444059</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48444059</guid></item><item><title><![CDATA[Developers Should Learn Design]]></title><description><![CDATA[
<p>Article URL: <a href="https://mooseyanon.medium.com/developers-should-learn-design-318b4aeadc4f">https://mooseyanon.medium.com/developers-should-learn-design-318b4aeadc4f</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42924912">https://news.ycombinator.com/item?id=42924912</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 03 Feb 2025 23:32:03 +0000</pubDate><link>https://mooseyanon.medium.com/developers-should-learn-design-318b4aeadc4f</link><dc:creator>arm93</dc:creator><comments>https://news.ycombinator.com/item?id=42924912</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42924912</guid></item><item><title><![CDATA[Show HN: cfnlite - a simple and sensible CloudFormation generator]]></title><description><![CDATA[
<p>TL;DR cfnlite is yet another YAML based config file format, but its the last one, I promise. <insert-relevant-xkcd>
I wanted to create a CloudFormation generator with a simple interface and better devUX.<p>Longer version:
So I've recently found myself in a somewhat low code team which is pretty adamant on using CloudFormation for all IaC (we're all in on AWS). My background is mostly in building on-prem data centres and realtime video, so I'd never worked on "the cloud" before now. So, I spent the first two weeks speed running AWS basics and then another two weeks looking into IaC, mostly writing CFN.<p>Very quickly I realised that working with raw CloudFormation is an PITA. I tried everything to create sensible, reusable, modularised templates - you know the kind of ideals most of our other code is built on - but it just become a pile of parameterised garbage.<p>Anyways, I then discovered all the options for imperative IaC (CDK, troposphere etc), and had a mess about with those. Heres a hot take: I actually think YAML is better than most of the imperative stuff for at-a-glance debugging/understanding. Regardless, I knew for sure the team was never going to agree with using any of that (they said so lol).<p>So I decided to build a little library for myself so that I could at least generate CFN for my own work. One thing lead to the other and I decided I could make some kind of CLI tool that takes a small config file and generates the CFN. That way, I wouldn't even need to write custom CDK code for each new CFN template I wanted to make.<p>And thus the beginnings of cfnlite was born. It kind of started with a series of "What if..." type questions:
- What if I could generate CFN from a small config, what would that config look like?
- What if I didn't have to actually remember what CFN calls each type of resource?
- What if it gave me all the required fields with some defaults?
- What if I could validate types without needing to run the template?
- what if the library could resolve dependecies and do all the !Ref/DependsOn stuff?
- What if it had loops and simple ternary conditions? (haven't answered this one yet)<p>After a while I realised I could create something in a language agnostic interface, an interface that the team already knew but would also hugely simplify mine - and hopefully my teams lives. I'm also a compiler nerd so I was never going to let the chance to write a code generator pass-up.<p>I recognise to most I've just recreated a shoddy terraform (although this tool is heavily inspired by Ansible, my fav YAML based IaC) that nobody else will probably ever use but within my constraints, it solved a real problem and more importantly, has been super fun to work on.<p>How it works<p>Its basically a wrapper around troposphere:
- yaml config comes in, it gets parsed
- cfnlite builds a dependancy tree based on ref's and DependsOn
- maps user input to troposphere objects for each resource (most of the logic is here)
- spits out the template to stdout or a file</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42889266">https://news.ycombinator.com/item?id=42889266</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 31 Jan 2025 16:50:01 +0000</pubDate><link>https://github.com/a777m/cfnlite/blob/main/examples.md</link><dc:creator>arm93</dc:creator><comments>https://news.ycombinator.com/item?id=42889266</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42889266</guid></item><item><title><![CDATA[Reflections on quitting my job]]></title><description><![CDATA[
<p>Article URL: <a href="https://mooseyanon.medium.com/reflections-on-quitting-my-job-fe7410e15a6a">https://mooseyanon.medium.com/reflections-on-quitting-my-job-fe7410e15a6a</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=38093669">https://news.ycombinator.com/item?id=38093669</a></p>
<p>Points: 134</p>
<p># Comments: 151</p>
]]></description><pubDate>Wed, 01 Nov 2023 01:43:37 +0000</pubDate><link>https://mooseyanon.medium.com/reflections-on-quitting-my-job-fe7410e15a6a</link><dc:creator>arm93</dc:creator><comments>https://news.ycombinator.com/item?id=38093669</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38093669</guid></item><item><title><![CDATA[Anti-Intellectualism in the Restaurant Industry]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.jennydorsey.co/single-post/anti-intellectualism-in-the-restaurant-industry">https://www.jennydorsey.co/single-post/anti-intellectualism-in-the-restaurant-industry</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36584513">https://news.ycombinator.com/item?id=36584513</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 04 Jul 2023 10:02:36 +0000</pubDate><link>https://www.jennydorsey.co/single-post/anti-intellectualism-in-the-restaurant-industry</link><dc:creator>arm93</dc:creator><comments>https://news.ycombinator.com/item?id=36584513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36584513</guid></item></channel></rss>