Archives
- 15 Jan Tips on Using Mastodon
- 04 Jan How to Vim: Navigating Prose in Style
- 04 Jan How to Vim: Alternative Approach to Find and Replace
- 04 Jan How to Vim: Insert Thing at Point in Command Mode
- 03 Jan How to Vim: Using Effectively the Command History
- 29 Dec How to Vim: Joining Lines
- 16 Nov Burst-driven Development: My Approach to OSS Projects Maintenance
- 16 Nov Rust: Embrace Captured Identifier in Format Strings
- 12 Nov Configure Quick Terminal Size in Ghostty
- 12 Sep Why I Chose Ruby over Python
- 04 Sep Wayward Predicates in Ruby
- 27 Aug How to Vim: Fixing Typos
- 27 Aug How to Vim: Take Control of Split Positioning
- 19 Jul Learning OCaml: Having Fun with the Fun Module
- 19 Jul Learning OCaml: Numerical Type Conversions
- 12 Jun zoxide: tips and tricks
- 09 Jun How to Fish: Moving Between Recent Directories
- 03 Jun How to Vim: Proper Ways to Escape
- 02 Jun How to Vim: Reloading File Buffers
- 31 May How to Vim: Jump Around
- 25 May How to Vim: Toggle Comments
- 23 May How to Vim: Format Lines & Paragraphs
- 22 May The origin of the pipeline operator (`|>`)
- 22 May Remove Stale Labels Instantly with GitHub Actions
- 20 May Rediscovering Vim
- 20 May Switching from Zsh to Fish
- 17 Apr Using use-package the right way
- 17 Apr My favorite tilde keybindings
- 07 Apr Emacs Startup Time Doesn't Matter
- 06 Apr Learning OCaml: Module Aliases
- 06 Apr Learning OCaml: Parsing Data with Scanf
- 04 Apr Learning OCaml: Regular Expressions
- 30 Mar Why F#?
- 14 Mar Updating my toolbox: Ghostty and Fish
- 14 Mar OCaml's Standard Library (`Stdlib`)
- 14 Mar neocaml: a new Emacs package for OCaml programming
- 02 Mar Learning OCaml: Functions without Parameters
- 01 Mar Back to the Basics: Zsh without Oh My Zsh
- 27 Feb Automate the Creation of GitHub Releases
- 27 Feb Learning OCaml: Matching Anything or the Lack of Anything
- 23 Feb Simple Ways to Run OCaml Code
- 21 Feb A Basic Helix Setup for JavaScript
- 19 Feb Replace Text in Multiple Files
- 12 Jan Running Jekyll on Ruby 3.4
- 12 Jan macOS No Longer Ships with Emacs
- 31 Oct How to Fix X11 Forwarding on WSL
- 31 Oct 40
- 21 Mar Daniel Craig is my James Bond
- 21 Mar The Story of a Nickname
- 27 Feb M-x Reloaded: The Second Golden Age of Emacs
- 26 Feb Emacs: Dead and Loving It
- 23 Feb OCaml Adds `List.take` and `List.drop`
- 22 Feb AsciiDoc Language Specification
- 16 Feb Revisiting Mastodon
- 12 Feb Bluesky
- 12 Feb Curbing My Email Mania
- 16 Jan Learning OCaml: Verifying tail-recursion with @tailcall
- 16 Jan 2023: The Year in Review
- 23 Dec A Bad Year for Blogging
- 22 Dec Fastmail: Year Two
- 20 Apr Learning OCaml: Quoted String Literals
- 09 Apr Updating the Bundler Version Specified in Gemfile.lock
- 09 Apr Blog Comments are Back
- 20 Mar How are OCaml Programmers Called?
- 08 Jan 2022: The Year in Review
- 20 Dec Bozhidar is on Mastodon
- 15 Dec Topic-specific RSS Feeds
- 15 Dec Back to Android: My Take on the Pixel 6A
- 11 Dec Git Tip: Find the Top Contributors
- 08 Dec What's the Term for a Filename Without Its Extension?
- 27 Nov Reading Files in OCaml
- 01 Nov An Unexpected Blogging Record
- 31 Oct OCaml Tips: Implementing a range Function
- 30 Oct Why Bother with a Custom Desktop PC in 2022?
- 30 Oct Lessons Learned from a Hardware Upgrade Gone Wrong
- 24 Oct OCaml Tips: Converting a String to a List of Characters
- 20 Sep Resetting CircleCI Checkout SSH Keys
- 16 Sep Oh My Zsh: Fun with Take
- 15 Sep Reload Zsh Configuration
- 03 Sep Zipping Collections in OCaml
- 29 Aug OCaml at First Glance
- 28 Aug OCaml Tips: Multiple Let Bindings
- 23 Aug Setting up Emacs for OCaml Development
- 19 Aug Learning OCaml
- 01 Aug Clojure Tricks: Number to Digits
- 31 Jul Clojure Tricks: Zipping Things Together
- 31 Jul Clojure Tricks: Replace in String
- 25 Jul A Note About "Guest" Posts
- 21 Jul Dealing with Unwanted Email
- 20 Jul Fastmail: Year One
- 10 Jun Zed Editor
- 09 Jun Modern Emacs: Redux
- 06 Jun Back in Action
- 02 Jun Commercial Emacs
- 01 Jun Who Needs Modern Emacs?
- 30 May Having Fun with Custom Domains for Email
- 27 May Email Mania
- 26 May Thinking & Writing
- 11 Mar The War in Ukraine
- 30 Jan The Case Against Crypto
- 29 Jan Titanium Edition
- 24 Jan Reader's Block
- 22 Jan How to Find Which Package a File Belongs to in Debian/Ubuntu
- 22 Jan Cheating at Wordle Like a Hacker
- 21 Jan Farewell, G Suite legacy free edition
- 20 Jan Bad Ruby: Hash Value Omission
- 20 Jan Unix Sockets are Now Supported on Windows
- 03 Jan My Writing Process
- 31 Dec 2021: The Year in Review
- 24 Dec Interactive Programming in a Nutshell
- 23 Dec New Laptop: Lenovo Yoga Slim 7
- 19 Dec Perl Turns 34
- 19 Dec Changes to GitHub Pages
- 19 Dec Building Emacs from Source with pgtk
- 12 Dec Magit for VS Code
- 10 Dec Working with Multiple Versions of Java on Ubuntu
- 09 Dec Experimenting with Link Posts
- 06 Dec Emacs is not a Proper GTK Application
- 06 Dec No Hello
- 02 Dec Advent of Code 2021
- 28 Nov Firefox is the Only Alternative
- 27 Nov A Decade with Jekyll
- 24 Nov Emacs is a Lifestyle
- 23 Nov Small Improvements to the Blog
- 16 Nov Why Emacs: Redux
- 15 Nov .net Forever
- 14 Nov Your Name is Your Brand
- 14 Nov Display Git Configuration
- 13 Nov Atom Feeds in Jekyll: Redux
- 03 Nov A Note About Recruiters
- 02 Nov Blog Comments are Dead
- 02 Nov The MacBook: Redux
- 01 Nov Switching to Minimal Mistakes
- 06 Aug Getting in Touch
- 16 Dec Inspecting the Contents of a Ruby Gem
- 08 Dec Farewell Disqus
- 22 Nov Basic Git Setup
- 21 Nov Rename Multiple Files in Linux
- 19 Oct HEY
- 15 Sep Ubuntu Tip: Removing All Packages Installed from a PPA
- 14 Jul Meta Redux
- 17 Nov Going Rogue
- 06 Nov If I Could Turn Back (Git) Time
- 05 Nov Migrating from Octopress to Jekyll
- 05 Nov Back in Black
- 16 Jun CIDER 0.9
- 29 Mar Projectile 0.12 released
- 15 Feb Octopress 3.0
- 04 Dec Introducing inf-clojure - a Better Basic Clojure REPL for Emacs
- 15 Nov A CIDER Unsession at Clojure/conj
- 10 Nov The Road to CIDER 0.8
- 05 Sep clojure-mode 3.0
- 05 Sep RuboCop Logo
- 29 Aug SICP Distilled
- 13 Aug The Elements of Style in Ruby #14: Variable Interpolation
- 12 Aug The State of Some Emacs Packages for Clojure Development
- 05 Aug CIDER 0.7
- 25 Jul Permalinks in the Clojure style guide
- 25 Jul Permalinks in the Ruby and Rails style guides
- 30 May Find out where a rake task is defined
- 17 Feb The Elements of Style in Ruby #13: length vs size vs count
- 05 Feb A list of deprecated stuff in Ruby
- 04 Feb The Elements of Style in Ruby #12: proc vs Proc.new
- 01 Jan Looking Back on 2013
- 09 Dec Projectile 0.10 is out!
- 04 Dec Using Ruby's each_with_object
- 04 Dec Regexp anchors in Ruby
- 07 Oct RuboCop 0.14: Beyond the Ruby Style Guide
- 03 Oct Using Ruby's gsub with a hash
- 26 Sep The Elements of Style in Ruby #11: Invoking Lambdas/Procs
- 24 Sep Lambdas/Procs in Case Expressions
- 05 Sep The Elements of Style in Ruby #10: In cryptic Perlisms we do not trust
- 03 Sep A couple of useful extensions to Ruby's Enumerable module
- 30 Aug Using Ruby's gsub with a block
- 21 Aug The Elements of Style in Ruby #9: Hash#has_key? and Hash#has_value? are deprecated
- 21 Aug Announcing the Powerpack library
- 14 Aug The Elements of Style in Ruby #8: Know Thy Predicates
- 14 Aug Android vs iOS: No Clear Winner
- 10 Jul The Elements of Style in Ruby #7: The case against ===
- 04 Jul The Elements of Style in Ruby #6: Attributes Redux
- 02 Jul The Elements of Style in Ruby #5: Readability of long numeric literals
- 01 Jul RuboCop 0.9 is now patrolling the streets!
- 01 Jul The Elements of Style in Ruby #4: Array#join vs Array#*
- 28 Jun The Elements of Style in Ruby #3: Make sure something is an array
- 27 Jun The Elements of Style in Ruby #2: Favor sprintf(format) over String#%
- 26 Jun The Elements of Style in Ruby #1: Maximum line length
- 26 Jun The Elements of Style in Ruby: An Essay in N parts
- 28 May RuboCop 0.8.0 is out, support for JRuby and Rubinius is in!
- 24 Apr WikEmacs lives on under new stewardship
- 23 Apr RuboCop 0.6.0 released
- 15 Apr RuboCop
- 15 Apr Emacs Redux
- 27 Jan The WikEmacs Experiment is Over!
- 20 Jan Just juxt it!
- 20 Jan drop-nth in Clojure
- 16 Dec Emacs Tip #8: Manipulating Word Case
- 16 Dec Deleting Remote Git Branches
- 09 Dec From Linux to OS X: Meet Your New Apps
- 06 Dec Dealing with SSL certificate validation errors in Rails
- 06 Dec Emacs Tip #7: Remap Return to Control in OS X
- 20 Oct Emacs Tip #6: Remove variable & function definitions
- 14 Oct Emacs on OS X
- 14 Oct Rails Tip #1: Use Pry Instead of irb for the Rails Console
- 14 Oct Ruby Tip #3: Matching on an Object's Class in a Case Expression
- 12 Sep Setting up fallback locale(s) in Rails 3
- 09 Sep From Linux to OS X: 1 Year Later
- 09 Sep guru-mode
- 09 Sep Emacs Support for the Slim Template Language
- 09 Sep Long Time, No See
- 28 May A True Emacs Knight
- 06 Apr MELPA - homebrew (Emacs Edition)
- 26 Mar WikEmacs: The Other Emacs Wiki
- 21 Mar All Hands on Deck! (or the Action Plan for a new Emacs community wiki)
- 20 Mar Die EmacsWiki, Die!
- 08 Mar Emacs Tip #5: Save Buffers Automatically on Buffer or Window Switch
- 08 Mar Ruby Tip #2: Get a List of All Rake Tasks
- 08 Mar Emacs Tip #4: Repeat Last Command
- 19 Feb Package Management in Emacs: The Good, the Bad and the Ugly
- 19 Feb Color Theming in Emacs: Reloaded
- 03 Dec Solarized for Emacs
- 30 Nov The Ultimate Collection of Emacs Resources
- 28 Nov Ruby Tip #1: Demystifying the Difference Between == and eql?
- 25 Nov Emacs Tip #3: Whitespace Cleanup
- 20 Nov Admin Interfaces for Rails Apps: RailsAdmin vs ActiveAdmin
- 19 Nov Why Emacs?
- 12 Nov Emacs Tip #2: Open File in External Program
- 11 Nov Blogging Like a Hacker: Evolution
- 30 Oct Deploying Rails 3.1 applications on Heroku's Celadon Cedar stack
- 09 Oct Getting started with Emacs 24
- 19 Aug A peek at Emacs 24
- 04 Jul Debian post installation setup & tips
- 19 Jun Django 1.3 vs Rails 3: A not so final showdown
- 14 Jun The Linux desktop experience is killing Linux on the desktop, Part II
- 11 Jun The Linux desktop experience is killing Linux on the desktop
- 05 Jun Emacs Tip #1: Set the default font in Emacs 23
- 04 Jun Running Xerox Phaser 3117 under Fedora 15
- 31 May Fedora 15 post installation setup & tips
- 18 May Java.next() - JRuby: The Rubyists Strike Back
- 17 May Recommended Ruby books
- 12 May Java.next() - Clojure: The Return of the Lispers
- 11 May A new Zenburn theme for Emacs
- 08 May Java.next() - Scala: The Revenge of the Static Typing
- 06 May Java.next() - The Groovy Programming Language
- 03 May Ruby or Python?
- 30 Apr Parsing numbers from string in Common Lisp
- 29 Apr Should I stay or should I go?
- 29 Apr One shell to rule them all...
- 27 Apr Programming languages worth learning
- 26 Apr Thoughts on the Amazon Kindle
- 26 Apr Incremental development with Scala and JRebel
- 24 Apr Emacs Dev Kit
- 24 Apr Add an Atom feed to a Jekyll blog
- 23 Apr Moving from WordPress to Jekyll
- 07 Sep My professional CV in LaTeX
- 26 May Enabling 3D support for Nouveau in Fedora 13
- 19 Apr Changing the look & feel in NetBeans 6.8
- 26 Feb How to enable font anti-aliasing in a Java Swing app
- 18 Dec How to center a JDialog over a JFrame in Swing
- 05 Dec Accessing the menu bar in Emacs
- 05 Dec Automatically execute programs after zsh login
- 25 Sep Using Xerox Phaser 3117 on Fedora
- 03 Sep Mofidy JVM parameters for JBoss AS
- 19 Jul Emacs Configuration On GitHub
- 14 Jul Find out quickly which package provides a certain library with YUM
- 13 Jul Java type indicators in Eclipse
- 19 May Emulate the behaviour of Return+Shift(insert new line) from popular IDEs(IDEA, Eclipse) in Emacs
- 04 May A switch on String idiom for Java