I'm writing this more to clear my head than anything else. If it helps someone, great. We have measured significant 'release impact' when deploying one of our core applications. The main problem is initialization/warmup of the appPool. We've tried the built-in methods, but for whatever reason we are always stuck with ~25s of dead time while the first request warms things up (we assume it's warming things up, not really sure what is happening). After that 25s wait things are very snappy and fast, so how do we prevent all of our web servers from going into 25s of dead time with production traffic inbound? Starting point - why do this? We care about our customers, and we want to help drive our business forward with as much quality/safety/speed as possible. Because we want to drive our business forward, we are pushing to do more and more deploys ( currently we do a daily deploy, but want to see 5x that ) ( if you have to ask why we want 5x, read this ).
tl;dr Built a custom keyboard cuz I have weirdo nerve pain issues. Learned a lot cuz I failed a lot. Maybe 'do it right the first time' is a bad frame of mind. The keyboard ended up being kinda nifty. It has lights, and a trackball, and QMK, and it helps my issues. \o/ ( tl;dr is internet lingo that means, too long; didn't read ) Pain as a key ingredient An old proverb says, 'necessity is the mother of invention', and that is how this story begins. Over the last few years, age or stress or something has caught up with me and I developed the need to change my human-to-computer interface. Mousing changed to trackballing. The traditional keyboard was swapped out for an ergonomic, and then split keyboard. Complicated multi-finger-and-hand key combinations were replaced by single keypress macros. And yet more was still needed. It's often said that change only happens with pain - indeed, the organizations many of us work in seem to apply this as law - an
The journey continues ( see previous post for more info... )... This post is really just for a few folks who had asked for updates. I have learned a few more lessons: Expect it to take 3-4 months ( 100-200 hours ) per full board build - a long feedback loop is just the nature of the game, especially with my availability Expect to get some crucial feature wrong - design for design failure Expect to break parts or have bad solder joints - design for repair Expect to be tempted to rush things If you want to follow along or look for more detail or laughs or horror, I keep a build log in a google doc here: It's super long, but often updated daily What follows is a brief summary of the keyboard development work between July 2022 and April 2023. I'll leave out the business analogies ( continuous improvement aside ). For the curious, the 'mk13' ( mark = old British engineering thing, I think? ) indicates the thirteenth time I started from scratch - and the maths-inclined am