Linux flock does not provide fair locking
The problem I’m trying to solve: 1 machine with X amount of ram. I have to run N tasks on it, each of which take more than X/N memory. So, they can’t run at the same time. Luckily, the time they run is not particularlyimportant, as long as they run regularly.
Via a suggestion from the whenever gem for ruby, I discovered linux lock. . . .
How to enable Command-E in VS Code on Mac
Setting google chrome / chromedriver options correctly in version 75+ with selenium and capybara
Problem
Here's one that took me a surprising amount of digging to find an answer deep in a lone comment in a thread.
You're running your chrome/chromedriver-driven test suite and start getting mysterious errors, which might be related to problems that were previously solved by setting particular options. After some . . .
How to get github pull request commits to be in the correct order
Problem
Sometimes after rebasing and force pushing, github will show commits in a different order from what you expect.
Solution
git rebase -i master --exec 'git commit --amend --date="$(date -R)"'
git push --force origin my-branch
If I remember correctly, some solutions to this problem . . .
These are a few of my favorite software engineering books and blogs
Books
- Confident Ruby https://shiprise.dpdcart.com/
- Objects on Rails https://shiprise.dpdcart.com/
- Working With UNIX Processes https://www.jstorimer.com/pages/books
- Working With Ruby Threads https://www.jstorimer.com/pages/books
- https://computationbook.com
- Don’t Make Me Think http://sensible.com/dmmt.html . . .
How to clone a git repo from one remote to another
git clone --mirror old-remote-url
cd repo.git
git push --mirror new-remote-url
Measuring Sidekiq with Librato
Here's what I recently put together so I could measure some Sidekiq behavior with Librato. This code makes use of the librato-metrics gem.
Measure the time taken to perform each type of job
I put this in my lib directory:
class SidekiqMetrics
def call(worker, msg, queue)
librato_queue = Librato::Metrics:: . . .