RSSAmplifier

Blog

Chris Sinjakli

blog.sinjakli.co.ukRSS feed ↗10 posts

Latest posts

The Computer Wants to Lose Your Data: Bonus Bits

Back in October, I gave a talk at SREcon EMEA called ‘The Computer Wants to Lose Your Data’ on the challenges of building crash-safe databases. It ended up being the most research-intensive one I’ve ever written 1 – something I should have anticipated when writing the proposal, but didn’t fully realise until I was a solid week into writing the talk. More so than most talks I’ve given, I ended up…

Ruby 3.4 highlights

Alright, you know the drill. The Ruby team do the hard work of putting together a new version packed with features and I pick my favourites and write about them. If you’d like to read the full set of changes, they’re over on the Ruby project website . There’s plenty more good stuff in there—these were just the changes that stood out to me. Default block parameter name In many situations where we…

Ruby 3.3 highlights

It’s that time of the year again! Or at least it was a month ago. This Christmas I found myself spending more time out hiking and watching TV shows that had been on my list 1 for far too long. Before I knew it, I was at the end of the holidays and this post would have to sit half-written in my drafts while I got on with January. I’m happy to report that January is done and we can all start…

Ruby 3.2 highlights

As tradition dictates, we got our annual release of Ruby on Christmas Day. While I may have been a little ambitious 1 about adding support for it to the Prometheus Ruby client on the day of release, it’s got some features I’m excited about, and I thought I’d use the Christmas downtime to write a short round-up. Production-ready YJIT In the circles I run in, this is by far the feature that’s…

Waiting for apt locks without the hacky bash scripts

Tl;dr: If you’re running apt-get in a script and need to wait for other apt-get process to finish (i.e. you’re running into DPkg lock errors), set the DPkg::Lock::Timeout option (e.g. apt-get -o DPkg::Lock::Timeout=3 dist-upgrade ). If you want to know more about locking in apt and how I got to the solution, then carry on! A flaky user-data script This all started when I was looking into why…

ForwardSlash: taking back the RESTful operator

The Ruby ecosystem has seen its fair share of HTTP clients. From the built-in Net::HTTP, to the various libcurl bindings, to Faraday, which lets applications switch between backends as they please. All of them have one thing in common though: you have to write code to use them. # Ugh, all this code Net :: HTTP . get_response ( URI ( "http://ifconfig.me/ip" )) When you think about it, HTTP is all…

Using strace to solve a problem which didn't exist

For the next few minutes, I’d like you to forget that web servers can rewrite URLs. It’s the only way any of this is going to make sense. I’d decided it was time to switch from WordPress to a statically generated site. So, about five years after everyone else, I jumped on the Jekyll bandwagon. At this point it’s easy. There’s tools to import your content from a bunch of different blogging…

Eclipse Run Helper – Better Run/Debug support from the keyboard

Eclipse Run Helper is an Eclipse plug-in which adds keyboard-driven support for your Run/Debug history. Following a discussion with a friend over keyboard support in Eclipse’s Run/Debug UI, I decided to put my recently acquired Eclipse plug-in development skills to use. His gripe was the lack of keyboard-driven access to the history of things you’d run (especially as the drop-down buttons on the…

Email address validation: an addendum

When I was writing my last article , I wasn’t expecting too much of a response. Perhaps a comment or two from the 30-50 visits I get for most of my posts would be nice. The post actually circulated a bit more than usual , and I got quite a bit of interesting feedback. Hopefully these afterthoughts will get to at least some of those who read the original article (whether it’s the usual 50, or the…

Email address validation: please stop

It’s something that’s been bugging me for a long time. All around the web, people are making flawed attempts at validating email addresses, causing a headache for their users, and probably for themselves. I really started to notice this when I began to use the disposable addresses system that Gmail provides. Any mail sent to <youraddress>+<some_other_string>@gmail.com arrives in the Gmail inbox…