Generating CI Configurations at Scale

Intro You often hear about scale issues when discussing capacity, traffic, users and other resource related topics and issues. However, scale is often in the details, the processes and how things run at specific companies. At Globality, we have ~80 microservices running in production. We have FE, BE and Gateway applications. JS, Python and third party apps. Most applications also require internal libraries to run. All of this needs to be built, tested and deployed.

Insert a Line for Every File in a Directory

I recently imported this entire blog from Wordpress to Hugo. The move itself was smooth and there are a million blog posts out there explaining exactly how to do it. However, I wanted to do something different, I wanted to add a “warning” for every imported post saying that it might be broken and that you should be aware of that. I wanted to add imported: true to every file parameters.

Creating self starting worker machines for fun and profit – Avi Tzurel

I wrote a blog post in my other personal blog about how to create a machine that will manage it’s own lifecycle. I work a lot with background workers, and I constantly need a better way to manage my Resque worker machines, so I wrote a post about how I did it. I booted up over 50 servers with about 600 Resque workers using this method, and all with a click of a button in the UI.

Lessons Learned: The First Six Months of Running a Software Consultancy

If you are running a consultancy business, or even thinking about it, this post is a must read for you. The comments are sometimes even more interesting then the post itself, some very interesting discussions were ignited by this post. Lessons Learned: The First Six Months of Running a Software Consultancy.

RSpec speed-up (24.6%) by tweaking ruby garbage collection – Ariejan.net

We have been tweaking the GC for the Gogobot website, the affects it has are simply mind blowing. Since I am clearly not happy with the test suite time that we currently have, This seems like a nice solution and I am definitely gonna try it. RSpec speed-up (24.6%) by tweaking ruby garbage collection – Ariejan.net.

Where are my engines?

Right now, I am working on an engine for the Gogobot application. As part of my work on the engine, I am working with the Mongoid gem and the Fabrication gem, both great gems b.t.w. The problem with Fabrication is that it wasn’t really adapted to working with Engines and it was relying a lot on Rails.root for where to locate the fabricator files. Since in an engine, the application is located in spec/dummy I needed a better way locate the fabricators.

perform_later 1.3 has been released

Earlier today, I release version 1.3 of perform_later. The release includes: Support for a custom finder class from the args_to_resque method (more details in the README Bug fixes for the args that are being passed around As always, issues and pull requests are welcome. Enjoy!

Working with Resque? perform_later is at 1.0, you should use it

Last night, I released the 1.0 version of perform_later.Now or later? The gem is being used in production for over 6 months now, in a big-scale website (Gogobot), so I thought it’s time to put in some extra needed work, some major refactoring and to release 1.0. What’s new? 1.0 is basically the same in the core functionality, I refactored big bits of the codebase, it’s much cleaner and more readable then before (still need to work quite a bit on code documentation) Added the later method support for ActiveRecord models.

Front loaded estimation is selling your stakeholder a lie – The Hashrocket Blog

I am singing this song for something like 3 years now. Estimations, fixed price projects and estimation ahead are all a scam. You lose, the client loses, not a good situation. A nice writeup on the Hashrocket blog. Front loaded estimation is selling your stakeholder a lie – The Hashrocket Blog.

Corey Haines – Fast Rails Tests

This is a must watch if you are doing Rails and doing TDD, it’s an eye opener on how you should really approach testing Rails apps the “Right” way.