Julio Merino's corner on Julio Merino (jmmv.dev)
Julio Merino’s blog. A blog on operating systems, programming languages, testing, build systems, my own software projects and even personal productivity. Specifics include FreeBSD, Linux, Rust, Bazel and EndBASIC.
OS / kernelDev tools / editors / IDEsRustLinux / UnixTesting / QA
- Posts
- 950 from 22 Jun 2004 to 21 Oct 2026
- Posting
- monthly (12 in the last year)
- Kind
- personal blog
- Feed
- https://jmmv.dev/feed.xml
2026 9
- BazelCon 2026 recap
- An old-new take on argument parsing in Rust
- Autoconf’s revenge: ad-hoc shell templates
- Is anyone still using Emacs?
- A Markdown-based test suite
- What if there was no BASIC in EndBASIC?
- I think AI is pushing me toward the AGPL
- Reflections on vibecoding ticket.el
- Grumpy Julio plays with CLI coding agents
2025 17
- ssh-agent broken in tmux? I've got you!
- From Azure Functions to FreeBSD
- BazelCon 2025 recap
- You are holding BUILD files wrong
- Bazel and glibc versions
- Trusting builds with Bazel remote execution
- Understanding Bazel remote caching
- Bazel and action (non-) determinism
- Lessons along the EndBOX journey
- Whatever happened to sandboxfs?
- Beginning 3D printing
- The next generation of Bazel builds
- Bazel at Snowflake two years in
- Hardware discovery: ACPI & Device Tree
- ioctls from Rust
- Hands-on graphics without X11
- Self-documenting Makefiles
2024 19
- Revisiting the NetBSD build system
- Synology DS923+ vs. FreeBSD w/ZFS
- Demystifying secure NFS
- BazelCon 2024 recap
- The costs of the i386 to x86-64 upgrade
- Revisiting the DOS memory models
- Windows NT vs. Unix: A design comparison
- Picking glibc versions at runtime
- Kyua graduates
- Rust doesn't solve the CrowdStrike outage
- 20 years of blogging
- Porting the EndBASIC console to an LCD
- How "new type" helps avoid production outages
- Links: February 2024 edition
- To C or not to C
- Running GNU on DOS with DJGPP
- Beyond the 1 MB barrier in DOS
- Links: January 2024 edition
- From 0 to 1 MB in DOS
2023 34
- Links: December 2023 edition
- The IDEs we had 30 years ago... and we lost
- Bazel interview at Software Engineering Daily
- Hard disk LEDs and noisy machines
- A CLI text editor? In my Windows?
- Strings, encodings, NULs and Bazel
- Links: November 2023 edition
- Windows NT: Peeking into the cradle
- Code reviews: A success story
- SSH agent forwarding and tmux done right
- Why do I know shell, and how can you?
- End-to-end tool testing with Bazel and shtk
- Links: October 2023 edition
- BazelCon 2023 et al. trip report
- Hello, Blog System/5!
- Build farm visualizations
- Unit-testing shell scripts and tools with shtk
- Analyzing OOMs in IntelliJ with Bazel
- 5 ways to instantiate Rust structs in tests
- Good performance is not just big O
- Costs exposed: Frameworks
- Costs exposed: On-call ticket handling
- Costs exposed: Monorepo vs. multirepo
- Raspberry Pi 3, rfkill, and real root causing
- A failed experiment with Rust static dispatch
- Unit-testing a web service in Rust
- ldd(1) and untrusted binaries
- Fast machines, slow machines
- A persistent task queue in Rust
- MVC but for non-UI apps
- In-house email subscriptions
- Addressing Bazel OOMs
- Introducing III-IV
- BASIC parsing difficulties in EndBASIC
2022 32
- EndBASIC 0.10: Core language, evolved
- From AST to bytecode execution in EndBASIC
- Farewell, Microsoft; hello, Snowflake!
- Tips on formatting Markdown lists
- Speeding up autoconf with caching
- EndBASIC 0.9: Run shared demos easily
- Remembering Buildtool
- Rust is hard, yes, but does it matter?
- Do Rust devs hate Go devs?
- Rust traits and dependency injection
- QB64 Super Dark Blue color theme
- Introducing db_logger
- Abandoning GAFYD
- A year on Windows: Finale
- A year on Windows: Software installation
- A year on Windows: System debugging
- A year on Windows: Networked file systems
- A year on Windows: PowerShell
- A year on Windows: Development experience
- A year on Windows: Miscellaneous tools
- A year on Windows: PowerToys
- A year on Windows: Window switching
- A year on Windows: Look'n'feel
- A year on Windows: Input methods
- A year on Windows: Keyboard shortcuts
- A year on Windows: Introduction
- Windows 10 on a Mac Pro 2013
- Configuring SSH access into WSL 1 and WSL 2
- My story with Windows
- Comments are back and other news
- DIY web analytics
- Fair on-call scheduling
2021 22
- Constructors and evil initializers in C++
- EndBASIC 0.8: Now, with graphics!
- Useless use of GNU
- Should the browser use all available memory?
- Principal engineers should be on-call
- Definitions and initializations in C++
- macOS keyboard shortcuts for Windows
- EndBASIC 0.7: Hello, cloud!
- From FeedBurner to follow.it
- Running a healthy production service
- On software deadlines
- Always be quitting
- Defining build time SLIs and SLOs
- Tips on well-being while on-call
- How does Google keep build times low?
- EndBASIC 0.6 release announcement
- Seeding a file server quickly
- Embedding EndBASIC into a (Rust) program
- EndBASIC 0.5 release announcement
- Why am I wasting time on EndBASIC?
- Prevent accidental commits with DO NOT SUBMIT
- Enforcing code health via GitHub Actions
2020 38
- How does Google avoid clean builds?
- EndBASIC 0.4 release announcement
- Unit-testing a console app (a text editor)
- Using the builder pattern to define test scenarios
- EndBASIC 0.3 is here
- What makes an article succeed (or not)?
- Windows Subsystem for Linux: The lost potential
- Updating Google Domains from DD-WRT
- Argument processing in Unix and Windows
- Configuring Windows for key-based SSH access
- Flags parsing in PowerShell (vs. Unix)
- My interviews with Facebook, Twitter, and Microsoft
- Farewell, Google; hello, Microsoft!
- The final boss: Bazel's own JNI code
- Who should do cleanups?
- Bazel output streaming, Ctrl+C, and test flakiness
- Bazel UI locking and file downloads
- pkgdb belongs in libdata, not var
- rc.d belongs in libexec, not etc
- A tour of directories as system-wide databases
- Configuration files and .d directories
- Cutting down on interrupts with office hours
- Internships para estudiantes españoles
- Down the memory lane with OS/2
- My 18 steps to prepare a great presentation
- My 18 tips to deliver great presentations
- Shipping Bazel's new dynamic scheduler
- Black Lives Matter
- Bridging the web gap in EndBASIC
- Running codesign over SSH with a new key
- EndBASIC 0.2.0 is here
- What is Rust's Into<T> for?
- Hello, EndBASIC!
- test, [, and [[
- macOS terminal stalls running a binary
- FOSDEM navigation 101
- Ensuring system rewrites are truly necessary
- The OSXFUSE, hard links, and dladdr puzzle
2019 31
- Lifting the local lock for dynamic execution
- Tree artifacts and transient files
- Artifact downloads and dynamic execution
- Output conflicts and dynamic execution
- Bazel's dynamic strategy
- How does Bazel track local resource usage?
- Introduction to Bazel's dynamic execution
- What are Bazel's strategies?
- The /bin/bash baggage of macOS
- Waiting for process groups, macOS edition
- Waiting for process groups, Linux edition
- Waiting for process groups, introduction
- Bazel's process-wrapper helper tool
- A quick glance at macOS' sandbox-exec
- Resurrected ONLamp.com articles
- Sample REST interface in Rust and Go
- Safely restoring the previous working directory
- Optimizing tree deletions in Bazel
- Darwin's QoS service classes and performance
- Using setenv equals setting global variables
- Encode your assumptions
- Hello, sandboxfs 0.1.0
- Open files limit, macOS, and the JVM
- On smartphones and email procrastination
- The GOPATH problem
- My Git Workflow
- From Blogger to Jekyll: How to export a Blogger site
- Common Makefile pitfalls
- Bullet Journal review after two years
- Building a prototype
- 11 years of the Julipedia... and thanks for the ride
2018 25
- The fallacy of forbidding assertions
- Rust vs. Go
- Rust review: Closing thoughts
- Rust review: The ecosystem
- Rust review: The book
- Rust review: The match keyword
- Rust review: Expressions, expressions, expressions
- Rust review: Learning curve
- Rust review: Protect the data
- Rust review: The borrow checker
- Rust review: Immutable by default
- Rust review: Introduction
- A few extra system calls... and you lose 1% build time
- Preliminary sandboxfs support in Bazel
- Stick to your project's core language in your tests
- A case for writing Bazel's integration tests in Java, part 2
- A case for writing Bazel's integration tests in Java, part 1
- Shell readability: local
- Shell readability: strict mode
- Don't rollback rollbacks
- My self-powered commute
- Shell readability: function parameters
- Shell readability: main
- From Jekyll to Hugo
- Looking to replace Jekyll
2017 6
2016 11
- #! /usr/bin/env considered harmful
- Welcome to my homepage, version 3.0
- On the success of an OS
- On the success of an OS
- Visual Studio Code: A modern editor
- Understanding Git
- A look at Go from a newbie's perspective
- Those pesky Makefiles
- Analysis of SSHFS performance for large builds
- The Medium experiment wrap-up
- Joining the Blaze team
2015 17
- Introducing Nudgy Timer
- Introducing Markdown2Social
- Compilers in the (BSD) base system
- Welcome to my homepage, version 2.0!
- An open letter to online support staff
- "Your English is pretty good!", they said
- My coding workflow
- How to commit a code hack and not perish along the way
- Get a handle on email subscriptions
- Six years at Google
- Hello, Medium!
- Offloading maintenance tasks to Travis CI
- On Bazel and Open Source
- Nexus 9, focused writing, and more
- Kyua turns parallel
- Unused parameters in C and C++
- One month in with Android Wear
2014 17
- The NetBSD vs. the FreeBSD test suite
- Task tracking and the Bullet Journal
- shtk 1.6 is now available
- Redefining Kyua's mission
- Code review culture meets FreeBSD
- Refocusing Kyua maybe?
- BSDCan 2014 summary
- The beauty of computing
- What does it mean to test a OS?
- BSD vs. Linux
- GSoC 2014 idea: Port FreeBSD's old-style tests to ATF
- How to merge multiple Git repositories into one
- Moving projects to GitHub
- Killing the ATF deprecated tools code
- FreeBSD Test Suite tutorial at AsiaBSDCon 2014
- FreeBSD Test Suite goals and planning
- Header files: Series wrap-up
2013 63
- Introducing the FreeBSD Test Suite
- Header files: Poor compilation times in C++
- Header files: Qualify your identifiers
- Header files: Poor man's replacement for modules
- lutok-0.3, kyua-testers-0.2 and kyua-cli-0.8
- Header files: Avoid C++ 'using' directives
- Header files: C++ ipp files
- Three productive days on the Kyua front
- Header files: Self-containment
- Header files: Multiple-inclusion protection
- Header files: Series introduction
- Patch management with Quilt
- How to add the Mac OS X screensaver to the dock
- Joining the FreeBSD committer ranks
- Production software: Series wrap-up
- Production software: Identifying your builds
- Production software: Logging
- Production software: Hide new features behind flags
- Production software: Constants will bite you
- Production software: Be wary of assertions
- Production software: Series introduction
- EuroBSDCon 2013 takeaways
- Live from EuroBSDCon 2013, day 4
- Live from EuroBSDCon 2013, day 3
- Live from EuroBSDCon 2013, day 2
- Live from EuroBSDCon 2013, day 1
- Novel color scheme for xterm
- CLI design: Series wrap-up
- CLI design: Consider interactive prompts twice
- CLI design: Screen wrapping
- Rebranding
- CLI design: Handling output messages
- Adding The Julipedia to Technorati
- CLI design: Single-command interfaces
- CLI design: Subcommand-based interfaces
- CLI design: Do not reinvent option parsing
- CLI design: Putting flags to good use
- CLI design: Requesting and offering help
- CLI design: Error reporting
- CLI design: The CLI is the presentation layer
- CLI design: Series introduction
- Writing good release notes
- Top 5 tips to write great commit log messages
- Readability: Series wrap-up
- Readability: Narrow try/catch blocks
- 'Hello GitHub!' say shtk, sysbuild and sysupgrade
- Readability: Don't modify variables
- Readability: Conditionals as functions
- Readability: Explicitly state complementary conditions
- Putting a PowerMac G5 to good use
- Installing FreeBSD with a ZFS root on a PowerMac G5
- Readability: Do not abuse classes as global state
- Readability: Dictionaries are not data types
- Readability: Abuse assertions
- Readability: Avoid comments
- Readability: Document your types
- Self-interview after leaving the NetBSD board
- Readability: Mind your typos and grammar
- Lutok 0.3 released
- Readability: No abbreviations
- Readability: Blank lines matter
- Readability: Blocks and variable scoping
- Readability: Series introduction
2012 29
- Setting up my old Mac Mini G4 as a development machine
- I don't really like C++
- Testing NetBSD's share/mk
- Introducing shtk
- Introducing sysupgrade for NetBSD
- Introducing sysbuild for NetBSD
- Getting rid of @public.talk.google.com GTalk contacts
- Kyua gets its own blog
- Exposing a configuration tree through Lua
- Type-safe, dynamic tree data type
- Rethinking Kyua's configuration system
- Kyua's configuration system showing its age
- Kyua gets nicer console messages
- Kyua generates its first public HTML report
- Projects migrated to Git
- Converting a Subversion repository to Git
- Kyua 0.3 released!
- Encrypted disk images in NetBSD
- NetBSD 6.0 BETA tagged
- Kyua: Weekly status report
- Switching projects to Git
- A brief look into Fedora's packaging infrastructure
- Kyua: Weekly status report
- Kyua: Weekly status report
- Lutok 0.1 available
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
2011 60
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- VirtualBox and port forwarding (and Fusion)
- Kyua: Weekly status report (db designdoc edition!)
- Name your C++ auto-cleaners
- Introducing Lutok: A lightweight C++ API for Lua
- Kyua: Weekly status report
- Using va_copy to safely pass ap arguments around
- Diversions in Autoconf (actually, in M4sugar)
- Kyua: Weekly status report
- Introducing 'Dirt and the City'
- Splitting utils::lua from Kyua
- Kyua: Weekly status report
- Kyua 0.2 released
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua 0.1 released!
- Kyua: Weekly status report
- Validating format strings in custom C functions
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Joining the Board of Directors of The NetBSD Foundation
- Kyua: Weekly status report
- Kyua: Weekly status report, BSDCan 2011 edition
- Kyua: Weekly status report
- Kyua: Weekly status report
- Use explicit conditionals
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- Kyua: Weekly status report
- A teeny tiny review of Twitterville
- Injecting C++ functions into Lua
- Error handling in Lua: the Kyua approach
- C++ interface to Lua for Kyua
- Error handling in Lua
- Understanding setjmp/longjmp
- Happy new year!
2010 26
- Using RAII to clean up temporary values from a stack
- Dependency injection: simple class constructors
- Dependency injection and testing: an example
- Kyua: Design of the configuration system
- Sticky bit trivia
- Getting the hang of Twitter searches
- Introducing Kyua
- Creating atf-based tests for NetBSD src
- ATF 0.10 released
- Testing NetBSD: Easy Does It
- ATF 0.9 released (late announcement)
- Ads gone
- Trac installation for ATF
- ATF 0.8 imported into NetBSD
- Announcing etcutils 0.1
- Announcing ATF 0.8
- Forget about test(1)'s == operator
- Always define an else clause for portability #ifdefs
- Where does Gnome use file monitoring?
- File system monitoring, Gnome and NetBSD
- New gio-fam package
- NetBSD in Google Summer of Code 2010
- New version of the monotone-server package in pkgsrc
- Introducing the ATF nofork branch
- set -e and set -x
- Installing NetBSD/macppc on a Mac Mini G4
2009 31
- Processing Makefile.am with M4
- Extending sudo credentials
- Best config setting ever
- Books by Joel Spolsky
- 1000 revisions for ATF
- Rearchitecting ATF
- The mess of ATF's code
- Technicians and schedules
- Child-process management in C for ATF
- How to find an apartment in Dublin
- Trying AdSense
- Paella in NYC
- Mailing lists for commit notifications
- DEBUG.EXE dropped in Windows 7
- Using C++ templates to optimize code
- The NetBSD Blog
- Numeric limits in C++
- NetBSD-SoC needs your application!
- Returning to Google
- Comments for old posts now moderated
- What are unnamed namespaces for in C++?
- Making ATF 'compiler-aware'
- Debug messages without using the C++ preprocessor
- userconf support for the boot loader
- ATF 0.6 released
- pwd_mkdb and the new time_t
- Windows 3.1 startup speed
- Silencing the output of Python's subprocess.Popen
- Hardware (and other stuff) on sale
- Kernel modules in NetBSD/shark (or other ARMs)
- Happy new 2009!
2008 61
- Live@NYC: Not any more
- Vacations@SF: 3rd day
- Vacations@SF: 2nd day
- Vacations@SF: 1st day
- Live@NYC: Coming to an end
- SoC 2008 Mentor Summit
- Live@NYC: ... or not; now in MTV!
- C++ teaser on templates
- Boost.Process and SIGCHLD
- Live@NYC: Prospect Park
- Live@NYC: 2 months and a half
- Live@NYC: Almost 2 months
- Live@NYC: Month 1
- Live@NYC: Days 21, 22 and 23
- Live@NYC: Day 17, 18 and 19
- Live@NYC: Day 20
- Live@NYC: Day 16
- Live@NYC: Days 13, 14 and 15
- ATF talk at NYCBSDCon 2008
- Live@NYC: Day 12
- Live@NYC: Day 11
- Live@NYC: Photos
- Live@NYC: Day 10
- Live@NYC: Day 9
- Live@NYC: Day 8
- Live@NYC: Days 6 and 7
- Live@NYC: Day 5
- Live@NYC: Day 4
- Live@NYC: Day 3
- Live@NYC: Days 1 and 2
- Recent news
- Reinstalled Mac OS X in multiple partitions, again
- Blacklisting a device in HAL
- Desktop effects with an nVidia card and Fedora 9
- lib64 problems
- Twitter and other news
- Lost 4x05
- Back to Stone Age
- NetBSD talk at Isla Cristina
- New Apple keyboard
- Problems booting Debian on the PS3
- Google Summer of Code 2008 and NetBSD
- Software bloat, 2
- ATF's error handling in C
- Rewriting parts of ATF in C
- C++: Little teaser about std::set
- BenQ RMA adventures, part 2
- Home-made build farm
- ATF 0.4 released
- unlink(2) can actually remove directories
- Linux is just an implementation detail
- Interview on NetBSD 4
- BenQ RMA adventures, part 1
- A request to virtualization software developers
- Testing the process-tree killing algorithm
- How to kill a tree of processes
- Implementing timeouts for test cases
- Got a BenQ FP241W Z flat panel
- 24' widescreen comparison
- Interferences in CVS tagging
- Welcome, 2008
2007 86
- Choosing a 24' widescreen monitor
- Ministry of silly walks
- Past days' work
- Thanks, SystemTap!
- Dying MacBook Pro battery
- Hello world in Linux/ppc64
- Mad at the Cell SDK
- Fixing id's command line parsing
- ATF imported into NetBSD
- ATF 0.3 released
- Games: Resistance: Fall of Man
- Got it! (The PS3)
- Considering to buy a PS3
- ATF meets XML
- ATF 0.2 released
- Getting started with Cocoa
- TV series: Jericho
- Me @ deviantART
- Serial console cable for an old Mac
- New camera (and current desktop)
- Weird laptop keyboard
- Random MacBook Pro notes
- SoC: ATF 0.1 released
- SoC: Some statistics
- SoC: Second preview of NetBSD with ATF
- SoC: Status report
- SoC: First preview of NetBSD with ATF
- SoC: Status report
- Hibernating a Mac
- Processor speed and desktop usage
- Parallels Desktop and VMware Fusion
- Death star!
- SoC: ATF self-testing
- Daggy fixes (in Monotone)
- SoC: Web site for ATF
- Recovering two old Macs
- SoC: Converting NetBSD 'regress' tests
- Book: Producing Open Source Software
- SoC: Code is public now
- Degree completed
- SoC: Short-term planning
- New Processor preferences panel in Mac OS X
- SoC: The atf-run tool
- SoC: Prototypes for basename and dirname
- SoC: Start of the atf tools
- SoC: A quote
- SoC: Project name
- SoC: Getting started
- Ohloh, an open source directory
- tmpfs added to FreeBSD
- Six months with the MacBook Pro
- PFC report almost ready
- NetBSD's website redesign
- Compiler-level parallelization and languages
- Flattening an array of arrays
- Is assembly code faster than C?
- Mac tutorials at ScreenCasts Online
- Keeping pkgsrc packages up to date
- Piled Higher and Deeper
- Monotone's help rewrite merged
- Talk about Git
- pkgsrcCon 2007 report
- Monotone's help rewrite
- SoC: Selected again!
- Problems with locales?
- Mounting volumes on Mac OS X's startup
- How to disable journaling on a HFS+ volume
- Games: Doom 3: Resurrection of evil
- Fixing EXIF date information
- Cross-platform development with Parallels
- Cursa Bombers 2007
- Games: Doom 3
- NTFS read/write support for Mac OS X
- Building an updated kernel for the PS3
- X11 mode-line generator
- Building the libspe2 on the PS3
- NetBSD and SoC 2007
- Article on Multiboot and NetBSD
- Making NetBSD Multiboot-Compatible
- ICB support added to Colloquy
- PFC subject chosen
- Mac OS X aliases and symbolic links
- Hide a volume in Mac OS X
- Install Mac OS X over multiple volumes
- MacBook Pro review
- CVS and fragmentation
2006 103
- Doesn't 'ls f*' do what you expect?
- A subject for my undergraduate thesis
- Software bloat
- Hard disks and S.M.A.R.T.
- tmpfs marked non-experimental
- Making vnd(4) work with tmpfs
- A couple of Ext2/Ext3 project proposals
- Mac OS X vs. Ubuntu: Summary
- Improved Multiboot support in NetBSD/i386
- Mac OS X vs. Ubuntu: Development platform
- Mac OS X vs. Ubuntu: Commercial software
- Mac OS X vs. Ubuntu: Freedom
- Mac OS X vs. Ubuntu: Automatic updates
- Mac OS X vs. Ubuntu: Software installation
- Mac OS X vs. Ubuntu: The environment
- Mac OS X vs. Ubuntu: Hardware support
- Mac OS X vs. Ubuntu: Introduction
- A letter to NetBSD
- Trying out DD-WRT
- GNOME on NetBSD needs YOU!
- More on LOCAL_CREDS
- Recent GNOME fixes
- LOCAL_CREDS socket credentials
- A split function in Haskell
- What have I learned during SoC?
- Boost.Process 0.1 published
- Boost.Process tarballs posted
- SoC: Boost.Process published
- Blog migrated to new Blogger beta
- SoC: Status report 3
- IMAP gateway to GMail
- GNOME 2.14.3 hits pkgsrc
- X11 and the Win keys
- SoC: Playing with Doxygen
- SoC: Status report 2
- SoC: Status report
- Fixing suspension problems
- Disabling bitmapped fonts
- Windows: Remapping keyboard keys
- Windows: Where is deltree?
- Happy second birthday!
- Windows Vista Beta 2 review
- Setting up BoostBook under Windows
- Win32: Mappings for Unicode support
- Burning ISO images from Windows
- SoC: First commit
- Little application with Qt and OpenGL
- Become productive with Quicksilver
- Games: Half-Life 2: Episode One
- Functional programming and Haskell
- SoC: List of accepted projects
- SoC: Accepted, again!
- Analyzing security with Nessus
- Parallelizing command execution with vxargs
- What is keeping me busy
- Article: Smart Pointers in C++
- Smart Pointers in C++
- iBook and the clamshell mode
- iParty 8 slides available
- NetBSD's KNF: Prefixes for struct members
- NetBSD talk at iParty 8
- tmpfs on FreeBSD
- NetBSD/i386 development under OS X
- Apple's customer service
- Mac OS X: Boot Camp
- GNOME 2.14.0 hits pkgsrc
- Fixing GNOME's trash under NetBSD
- GNOME and the dbus daemon
- GNOME 2.14.0 released
- Bikeshed
- Linux problems: binary redistribution
- Fixing xv problems
- VigiPac: dead and reborn
- Managing passwords and keys
- C++ code in the kernel
- FAT versions
- Samba performance under Mac OS X
- Calling the BIOS from within the kernel
- Toying with KDE
- SoC: Introductory article to tmpfs
- The RAII model
- Rewriting from scratch
- Automatic mouse button repeating
- NetBSD is now Multiboot-compliant
- Got the trackball
- Multiboot support for review
- File systems documentation uploaded
- File systems documentation for review
- Buying a trackball: the odyssey
- Desktop screenshot
- NetBSD slides for PartyZIP@ 2005 available
- GNOME 2.12.2 in pkgsrc
- How not to close a bug
- GStreamer 0.10 in pkgsrc
- Some pictures of my rig
- Google Talk talks to other servers
- Routing protocols
- Taking backups of your data
- Apple unleashes Intel-based systems
- Applications vs. windows
- Updating the pkgsrc GNOME packages
- Got a BenQ FP202W flat panel
- File previews in Nautilus
2005 129
- The Multiboot specification and NetBSD
- Merry Christmas!
- NetBSD 3.0 released
- Monotone: Got T-Shirt
- SoC: Got T-Shirt
- Comments after a month with the iBook
- Vim: Macros
- Java: Visibility
- Case-sensitive vs. case-preserving
- RAID: Monograph
- Java: Dynamic class loading, part 2
- NetBSD: File system directories, part 2
- NetBSD: File system directories, part 1
- How to prolong lithium-based batteries
- Got new laptop: iBook 12'
- Java: The finalize method
- Delta modulation
- Java: Dynamic class loading
- USB mouse, pbbuttons and lack of udev
- GNU Zebra
- SoC: Map and results
- Remembering Freedows OS
- SoC: Payment received
- MINIX 3 published
- Sending mail from the command line with Mutt
- Suggestion box
- How to contact Julio M. Merino Vidal
- About The Julipedia
- Blog migrated to Blogger; welcome!
- GNOME 2.12.1 hits pkgsrc
- Blogger
- Articles: Lightweight web serving with thttpd
- Lightweight Web Serving With thttpd
- C++: Constructors and global data
- Monotone: Using mini-branches to apply patches
- Games: Half-Life 2
- C++: Inlined code and the ABI
- C++: Templates and the ABI
- New utility: verifypc
- Lose vs. loose
- Cleaning up a Debian box
- NFS exports lists rototill
- Quality of digital signals
- Linker's link sets
- Interface to change NFS exports
- NFS file handles
- tmpfs: Project merged into NetBSD
- FFS, LFS and MFS
- SoC: The end
- A prompt that does not get in the way
- SoC: Project announced
- Local sockets' permissions
- pkgsrc's strengths
- SoC: Status report 6
- Manual ChangeLogs; a thing of the past?
- Booting NetBSD with Yaboot
- SoC: Status report 5
- Raw disk devices vs. regular ones
- SoC: Status report 4
- Using 'goto's in C
- Dedicated machine for kernel testing
- Hollywood OS
- SoC: Status report 3
- SoC: Thoughts about tmpfs data representation
- SoC: Status report 2
- SoC: Status report 1
- Monotone's CVS gateway, part 2
- Going on vacation
- NetBSD conference at Partyzip@
- Monotone's CVS gateway
- SoC: Project page ready
- SoC: The NetBSD-SoC project
- SoC: Accepted!
- EasyTAG
- Msdnaa
- SoC: My project proposal
- MFC: Developing for Windows
- Fragmentation in Unix file systems
- pkgsrc: Documentation about pkginstall
- pkgsrc: mplayer switches to the options framework
- Unprivileged pkgsrc builds
- Distributed streaming
- Styles in word-processors
- Shutting up /etc/security
- pkg-config: Sanity-checking package dependencies
- Recent pkgsrc changes
- Articles: Making packager-friendly software (part 2)
- Making Packager-Friendly Software (part 2)
- Modifying the environment from scripts
- Increasing RAM to 1GB
- pkgsrc: Linux distributions
- Articles: Making packager-friendlier software (part 1)
- Making Packager-Friendly Software (part 1)
- pkgsrc: Package-related terminology
- The TERM variable
- pkg-config: Specifying dependencies
- Books: The Da Vinci Code
- XTerm: Anti-aliasing
- GNOME 2.10.0 hits pkgsrc
- XTerm: Setting up scrolling
- pkg-config: Mixed state in some libraries
- TV series: Dark Angel
- pkg-config: A quick introduction
- GNOME 2.10.0 released
- How to get the window size?
- pkgsrc: Yesterday's changes
- Tabulators vs. spaces
- Boost: Shared pointers
- Boost: First impressions
- Boost: To use or not to use it
- Passing information to configure scripts
- How to get the user's home directory
- C++: Verifying program sanity
- C++: Containers of pointers
- Guessing Tcl/Tk configuration
- C++: Exceptions and destroyers
- Alternatives added to pkgsrc
- GNOME Panel easter eggs
- vr(4) problems
- Alternatives become wrappers
- Qemu
- Alternatives system in pkgsrc
- Automatic verification of PLISTs
- Monotone dedicated server
- Kernel debugging tutorial
- NetBSD 2.0 beats FreeBSD 5.3 in server performance
- Tracking down a deadlock
- Epiphany's scrolling
- VigiPac is now public
2004 84
- Got a new DVD recorder
- Giving blood
- Setting up a bridge
- Windows and CHS
- OpenPAM hits NetBSD
- Latest releases and news
- Variable names in Makefiles
- Cederrón
- Buildtool status
- Impressions on Monotone
- QT Parted experiences
- Differences between a hub and a switch
- Linux's UFS support
- Dynamic open of libpthread considered harmful
- Good user interfaces
- Do you run?
- GNOME 2.8.1 released
- Portability: unsetenv('FOO') vs. putenv('FOO')
- The libexec and libdata directories
- Fixing Evolution Data Server crashes
- An example of kqueue
- FAM and kqueue
- Trying Bogofilter...
- Pipes over SSH
- New versioning scheme for NetBSD
- The AM_GCONF_SOURCE_2 macro
- NetBSD/mac68k soft-float support
- Why function names appear in column 1?
- Preformatted manual pages
- Bugs and questions
- VCS Made Easy: sources imported
- GNOME 2.8.0 hits pkgsrc
- Writing portable code
- GNOME 2.8 published
- VCS Made Easy - Project registered
- One time passwords
- The old new thing
- Why pkgsrc uses static file lists
- Added RSS feed
- autogen.sh scripts
- About the Finder...
- Migrating to new versions of the GNU Build System
- Strange USB mouse
- To rely or not to rely on the PATH
- Back at home
- The Windows UI
- Changing NetBSD's console colors
- Framebuffer on NetBSD
- Tips to create good patches
- The FluxBox window manager
- Creating patches using CVS
- GNOME 2.7.4 released
- Understanding patches
- Compiled vs. interpreted languages
- Scheduling timetables
- Teleworking considered bad
- Build your own PRAM battery
- Playing with NetBSD keymaps
- Deprexification
- Got the Mac's ethernet card working
- My solution for the 'shared directories' problem
- The 'shared directories' problem in pkgviews
- Why learning English is a good idea
- An introduction to pkgviews
- Need new music? Get Nightwish!
- The seahorse project
- Ease the way to plug your earphones
- Silencing the computer
- Test Driven Development
- The Kaffe packages in pkgsrc
- Buildtool 0.16 released
- Posting messages with Drivel
- Make your prompt more visible
- Got BSD Hacks
- Improving your coding skills
- Dealing with bug reports
- GNOME 2.6.2 released
- Watching remote system activity
- Making an Athlon system consume less power
- The art of bug reporting
- Connecting two networks
- Helping pkgsrc (through pkgsrc-wip)
- Getting involved in a free software project
- Welcome to my new journal!