Why Latin? How I got into Latin What’s fun about speaking Latin? Finding words for modern concepts Small talk, elevated Old books as conversation partners How can you learn Latin? Normally this is a programming blog, but here’s something different. My justification is April Cools’ Club , which henceforth will allow me once a year to write about something completely random (something I’ve done…
How to start a habit with Hacktoberfest Becoming a Bridgetown Core Team member Conclusion: open source vs. other forms of practice Poop on my new shirt: or, how do I have time for all this anyway? Until last month, I was a Hacktoberfest skeptic. Then, I did Hacktoberfest for the first time. In past years, I stayed away from it because I didn’t see value (either for me or for maintainers) in…
Some types of coding challenges Algorithms / interview prep Holiday competitions Miscellaneous challenges outside the holiday season Learning-oriented Language-specific practice Engineering-oriented challenges “Build your own X” Competitive programming Code golf Kata Programming games Other activities that are not exactly coding challenges Are coding challenges worthwhile? If not coding…
In the beginning, there was Goodreads And then I went off the deep end That was a lot of work. Was it worth it? OK, but what are the downsides? Have you ever wanted to track your reading in an excruciatingly-detailed plain text file that is programmatically parsed, queried, and visualized in charts? I did, and you can see the result on my site’s Reading and Reading Stats pages. This isn’t a new…
A break from building stuff SQL and databases About the Web What next? tl;dr I’ve been spending time on foundational skills , like practicing SQL and building an HTTP server from scratch, and next I’ll go back to learning computer science . A break from building stuff “Just build stuff.” That’s what I’ve done over the past two or three years. I spent most of my outside-of-work-programming time…
Simple alternatives But what if I want to actually re-implement polymorphic associations in the database? Referential integrity Avoiding orphaned records Further work Credits Polymorphic associations are one of those Rails features that can compress a lot of complexity into just a few lines of code. But as is often the case with Rails, the convenience comes at a cost. Don’t get me wrong, I’m not…
Building on an existing gem Technical challenges Reconnecting with my inner Ruby learner I’ve been working on Advent of Ruby , a CLI tool for doing Advent of Code in Ruby. Besides the usual features of such tools, it can also show other people’s solutions . I heard about Advent of Code years ago, but I never had the guts to try it out because I knew I’d give up in the first week. December is…
Prelude: peripherals Mouse customization Keyboard shortcuts Shell Window switcher Clipboard manager Text expander Code and text editor Notes Web browser Password manager Screen capture Mobile apps Cross-platform iOS Android Over the past few years I’ve hopped across several devices and operating systems. Along the way, I’ve collected a list of my favorite apps and extensions for each OS. This post…
First, the context Why not Turbo? Why not web components? Stimulus is incomplete on its own Alpine.js Alpine is like Stimulus! Alpine is NOT like Stimulus! Examples Example 1: toggle menu Example 2: filterable list But what if I need Turbo? Conclusion Bonus: Alpine plugins Recently I discovered Alpine.js as an alternative to Stimulus for conveniently sprinkling JavaScript into server-rendered…
Why did I want to learn functional programming, anyway? Y U NO HASKELL!? I discovered Roc … wait, but then why is that list archived? A sneak peek of what’s to come I’m giving up on Haskell, and I’m 0% sad about it (OK, maybe 5% sad because of wounded pride) because I’ve found something a lot more to my liking: Roc . … but don’t worry, you won’t be seeing a “Learning Roc” series anytime soon on…