Source Diving

Developer blog from the folks at Cookpad. @cookpad_dev on twitter

Editors
Liam Nichols

iOS Engineer @ Cookpad International

Latest Posts

Debugging Lock Wait Timeouts (in Ruby on Rails)

Lock Wait Timeouts mean frustration for users. If a request ends with a Lock Wait Timeout error, that means a) we failed to fulfil a user’s…

Learning to Boost — Query-time relevance signal boosting @ Cookpad

The job of a search relevance engineer frequently involves (as you probably already know if you’re reading this!) tuning different…

Understanding n+1 query problems in Ruby on Rails

n+1 queries are a common problem in web application development. This common pattern (or antipattern) can degrade application performance…

This Rails cache is not your friend!

I recently learned that some of the assumptions I had made about one of Rails’ features were completely wrong, and this would sometimes…

How we improved our Rails app’s performance with Conditional Get Requests

HTTP provides a method of client-side caching known as Conditional Get Requests. This style of caching allows a client to cache the content…

Debugging Deadlocks (in Ruby on Rails)

Until recently, I hadn’t dug into the causes and implications of database deadlocks. Then one day, an endpoint I’d been working on suffered…

Making a Single Page Search with Turbo

Turbo (part of Hotwire) is a supercharged version of Turbolinks. If you’re used to immediately turning off Turbolinks in any new project…

Solving Mysterious Logout Issues on iOS 15

Learn how we discovered, debugged and fixed a mysterious bug introduced in iOS 15 that caused our users to be logged out mistakenly

Manage your Gradle dependencies with Version Catalog (not only) in Android

If you ever built a single module Android app, you probably managed your dependencies manually. We all started there. Then as you move to a…

Reviews

No reviews, submit yours below.
Add review

Login to submit your review.