Sean

Weekly Brain Dump #19

- 350 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.


Comments