Sean

Weekly Brain Dump #19

- 370 words

At a Glance

Neospec

I finally had a need for neospec in one of my Ruby projects. That’s when I realised all the improvements I’ve made haven’t been pushed to ruby gems. I also realised that the build was half migrated to LocalCI so I fixed that up and did a release.

Poros

I had speed issues with my budgeting application I’ve built and finally decided to figure out why. It turned out to be a simple n+1 query. I was tempted to add some sort of preloading functionality but realised that actually wouldn’t help with the problem I was having. Instead I added a simple query caching system to Poros so repeat queries are significantly faster. This dropped my page load speed down from 12~ seconds to 1~ second.

The reason I did two releases was because I didn’t think to just use gem "poros", path: "../poros" after adding the logging and instead did a release. I guess I was thinking that the problem wouldn’t be in Poros? Either way, I ended up doing the query caching and releasing that in v0.7.0.

I do just want to say, this was built as an experiment to learn how ORMs works but I do find it really useful. It’s great when you don’t want to go through the hassle of even setting up SQLite.

Crystal 1.20.0 is released!: A new Crystal release, a fantastic language I really need to go back and check out again.

Why Crystal, 10 Years Later: Performance and Joy: This post has been a big driver behind my desire to go deep on Crystal again.

Optimizing Ruby Path Methods: A great deep dive on how Ruby path methods work and how they've been sped up. This is also an amazing blog and you should follow it.

Archive of interesting links


Comments