Linux flock does not provide fair locking

John Bachir's Code Blog
February 01, 2020

The problem I’m trying to solve: 1 machine with X amount of ram. I have to 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. At . . .

Read More

How to enable Command-E in VS Code on Mac

John Bachir's Code Blog
January 27, 2020

On Mac, Command-E often means "Use Selection for Find", and also puts the selection into the "Global Find Clipboard".

In VS Code, this the feature was implemented in 2017 here, but is off by default (whyyy).

To enable it:

  1. Go to Code preferences (Command-,)
  2. Type "Global Find . . .

Read More

Setting google chrome / chromedriver options correctly in version 75+ with selenium and capybara

John Bachir's Code Blog
November 28, 2019

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

Read More

How to get github pull request commits to be in the correct order

John Bachir's Code Blog
November 28, 2019

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

Read More

These are a few of my favorite software engineering books and blogs

John Bachir's Code Blog
March 25, 2019

Books

Read More

How to clone a git repo from one remote to another

John Bachir's Code Blog
January 24, 2019
git clone --mirror old-remote-url
cd repo.git
git push --mirror new-remote-url

Read More

Measuring Sidekiq with Librato

John Bachir's Code Blog
July 03, 2015

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

Read More

Archive
   Subscribe by email and never miss a post.