Improving Ubuntu 18.04 guest performance in Virtualbox

Recently upgraded a 16.04 Ubuntu guest (Windows 10 host) to to 18.04 and saw a massive drop in performance. The lag in the desktop environment was unbearable. This was even with the guest additions properly installed. These settings finally fixed it: SystemMotherboardChipset: ICH9Extended Features: Enable I/O APIC, Hardware Clock in UTC Time.ProcessorExtended Features: Enable PAE/NXAccelerationParavirtualization […]

Break features for fun and profit

There is reassuringly steady progress in software development productivity. In only a few short years the pace of what is considered acceptable output in terms of development has changed pretty dramatically. The usual culprits are: faster hardware and networks, which lead to better programming languages, tools, and platforms, which produce better frameworks, libraries, services, and […]

Bringing hobby applications to production

Hang out around techie circles enough and you’ll eventually hear a variation of the astonished “X has how many engineers?”, where X is every notable startup and technology company ever created. For example, here are some undated (but relatively recent) ballpark numbers for product and engineering staff divisions of randomly selected companies: Instagram: 1,800 engineers […]

Changes to constant unloading in Ruby 2.4

We noticed some interesting behavior recently while upgrading to Rails 5.0.1 and Ruby 2.4. Between MRI 2.3x branch and 2.4.0, constant unloading no longer affects variable references to the unloaded class constant: ref = Object.const_set(“ASD”, Class.new) => ASD 2.4.0 :014 > Object.send(:remove_const, “ASD”) => ASD 2.4.0 :015 > ref.name => “ASD” In previous versions of […]