Software

Controlling Elgato Key Light under Ubuntu with Ruby

Recently I’ve acquired Elgato Key Light. It is a WiFi controllable LED lighting panel. The panel uses 160 LEDs to provide up to 2800 lumens of brightness and a color range of 2900-7000K. While you can control it from a mobile device, doing it directly from the shell makes the whole experience way more convenient. …

Controlling Elgato Key Light under Ubuntu with Ruby Read More »

Reading the uncompressed GZIP file size in Ruby without decompression

There are cases where you have a compressed GZIP file for which you want to determine the uncompressed data size without having to extract it. For example, if you work with large text-based documents, you can either display their content directly in the browser or share it as a file upon request depending on the …

Reading the uncompressed GZIP file size in Ruby without decompression Read More »

RubyGems dependency confusion attack side of things

Note: This article is not to deprecate any of the findings and achievements of Alex Birsan. He did great work exploiting specific vulnerabilities and patterns. It is to present the RubyGems side of the story and to reassure you. We actively work to provide a healthy and safe ecosystem for our users. After reading the …

RubyGems dependency confusion attack side of things Read More »

How requiring a gem can mess up your already running application

Introduction Ruby’s dynamic nature is both its advantage and disadvantage. Being able to reopen system classes during runtime, while useful, can also lead to unexpected behaviors. This article presents one such case: how just requiring a gem can mess things up in a completely different area of the application. The bizzare error Recently, after connecting …

How requiring a gem can mess up your already running application Read More »

The hidden cost of a Ruby threads leakage

Bug hunting Recently I’ve been working with one small application that would gradually become slower and slower. While there were many reasons for it to happen, I found one of them interesting. To give you a bit of context: the application was a simple single topic legacy Kafka consumer. I rewrote it to Karafka, and …

The hidden cost of a Ruby threads leakage Read More »

Diffend – OSS supply chain security and management platform for Ruby

I’m incredibly excited to announce a security platform for managing Ruby gems dependencies: diffend.io. This platform is a result of my involvement in Ruby security matters for years. It all started in early 2018 with a tool to review gems versions diffs. While working on it, I’ve noticed that there’s much more that needs to …

Diffend – OSS supply chain security and management platform for Ruby Read More »

Building a Ractor based logger that will work with non-Ractor compatible code

Recently Mike Perham shared a tweet with this comment and a code sample on the Ruby 3.0 Ractors. If this code doesn’t work, how could Rails ever work? Ractor seems fundamentally incompatible with many heavily-used Rails APIs. require ‘logger’ class Rails def self.logger @logger ||= Logger.new(STDOUT) end end Ractor.new do Rails.logger.info “Hello” end.take During the …

Building a Ractor based logger that will work with non-Ractor compatible code Read More »

How to install QGIS 3 on Ubuntu

The last days I was asked a lot, how and where to install the new QGIS 3. Until now there are no Windows binaries available (as far as I know…). But you can install and run QGIS 3.0 on Linux. If you are running Ubuntu 17.10 (artful) or even 18.04 (bionic) (beware, it’s still alpha […]

The post How to install QGIS 3 on Ubuntu first appeared on GIS-Blog.com.

How to install ESA SNAP on Ubuntu Linux

Today, someone who wants to switch from Windows to Linux asked me if I could help him run ESA SNAP on Ubuntu. I thought it would be interesting for the blog, too. For those who don’t know: ESA SNAP (Sentinel Application Platform) is the common architecture for all Sentinel Toolboxes. There is no SNAP package […]

The post How to install ESA SNAP on Ubuntu Linux first appeared on GIS-Blog.com.

OSGeo-Live: the best open source GIS ready to use package

GIS open-source? We often talk about QGis, GRASS, gvSIG and sometimes about GPSprune to edit GPX paths or JOSM to manage data from OpenStreetMap. But the software available under this type of license (open source & free software) is much wider. The live project OSGeo, is an operating system that collects most of this software and […]

The post OSGeo-Live: the best open source GIS ready to use package first appeared on GIS-Blog.com.