ruby
-
Open Source Security Is Everyone’s Problem Now
Two weeks ago, a North Korean state actor compromised the lead maintainer of Axios and published malicious versions to npm. The library has roughly 100 million weekly downloads. The poisoned packages were…
-
An Honest Take on Deploying Rails with Kamal: What Works and What Doesn’t
Kamal has been positioned as the answer to a question Rails developers have asked for years: how do you deploy to your own servers without the overhead of Kubernetes or the cost…
-
Why Ruby Might Be the Most AI-Friendly Language Nobody’s Talking About
A few weeks ago, Martin Alderson published something that caught my attention: a systematic comparison of how token-efficient different programming languages are when fed to large language models. The findings were fascinating.…
-
Ruby’s Building Blocks: When to Use What (And Why)
Ruby gives us an abundance of organizational tools. Struct, Data, classes, modules as namespaces, modules as mixins, service objects, and the include/extend/module_function trinity. Each is well-documented individually, but there’s a gap: when…
-
Ruby 5.0: What If Ruby Had First-Class Types?
The article envisions a reimagined Ruby with optional, inline type annotations called TypedRuby, addressing limitations of current solutions like Sorbet and RBS. It proposes a syntax that integrates seamlessly with Ruby’s philosophy,…
-
Working OAuth2 with Foursquare on Sinatra
require ‘rubygems’ require ‘sinatra’ require ‘oauth2’ require ‘json’ require ‘net/https’ require ‘foursquare2’ set :port, 80 CLIENT_ID = ‘****************************************************’ CLIENT_SECRET = ‘****************************************************’ CALLBACK_PATH = ‘/callbacks/foursquare’ def client OAuth2::Client.new(CLIENT_ID, CLIENT_SECRET, {:site => ‘https://foursquare.com/’, :token_url…