Feed Icon RSS 1.0 XML Feed available

Not actually *hostile* (just a bit irate.)

An occasionally-updated collection of articles and notes. Mostly about software development. Popular topics are C++ and the Rebol and Red languages, along with general programming philosophy and puzzle-solving. For project summaries, demos, and overview videos please see the portal at http://hostilefork.com.
Articles on blog.hostilefork.com originated from a scrape and rewrite of content that was previously on the main page. All entries were transformed from WordPress to a REN ("REadable Notation") format, and run through a custom experimental static site builder called Draem. This means the "source code" for entries are available on GitHub--feel free to send pull requests for any edits or corrections:
The produced HTML is deliberately simple, with the links here enough for search engines (and me) to find the pages. If you'd like, you can browse the site by tag. It should also support navigating the entries with the left and right arrow keys to make reading easier.
2 Space Indent, 4 Space Indent, or Both? : 11-Nov-2018
Making the Case for Caselessness : 18-Oct-2018
Proposing DID as the Programmer's Antonym of NOT : 24-Jan-2018
Rebol vs. Lisp Macros : 19-Apr-2016
Kinda Smart Pointers in "C/C++" : 10-Feb-2016
Line Feeds, No Tabs, and UTF-8 : 8-Oct-2015
Poisoning Memory with (or without) Address Sanitizer : 7-Aug-2015
Casts for the Masses (in C) : 9-Jul-2015
Rebol State of the Union (June 2015) : 25-Jun-2015
Handcuffs vs. Run-On Sentences: Draem and Lest : 21-Jun-2015
Notes on Valgrind, Address Sanitizer, and Compiler Warnings : 30-May-2015
Low-Commitment Doxygen Markup for C++ : 20-Mar-2015
Code Trolling, Deletionism, and String Splitting : 1-Mar-2015
The RTBkit Real-Time-Bidding Toolkit Examined : 27-Feb-2015
Path Debate for Rebol and Red (plus "New Path!") : 30-Nov-2014
Template Specialize std::optional/boost::optional or Not? : 20-Nov-2014
Open Source Music and Devastatin' Dave : 18-Aug-2014
A Dichotomy Puzzle for Rebol and Red : 12-Aug-2014
Maps in Rebol and a sketch of "Reblis" : 4-Aug-2014
The 'Rethinking the Progress Bar' Study : 29-Jul-2014
Building MOBI, PDF, EPUB with Softcover on Ubuntu : 25-Jul-2014
Handling Internal Errors (and Bad Requests) in Node : 21-Jul-2014
Overview Notes on Node, Express, and Swig : 21-Jul-2014
Implementing Custom Tags in Swig for Node.JS : 20-Jul-2014
Why use Underscore.js in Node or jQuery Projects? : 18-Jul-2014
Comments vs. Links on the Collaborative Web : 16-Jul-2014
JavaScript and Node.JS Formatting Conventions : 16-Jul-2014
Comments Should Say WHY and not WHAT : 15-Jul-2014
Locality, Locality, Locality : 8-Jul-2014
Boilerplate for Using Greasemonkey with Jquery : 8-Jul-2014
Genesis of the Benzene Application Framework : 3-Jul-2014
PixelCAD Icon Editor from 2002 : 20-Jun-2014
Scott Meyer's "A Brief Tour of Graphd" : 8-Jun-2014
QtCreator 3.1 and Qt5: The GDB Process Terminated : 29-May-2014
The Evolution and Acceptance of the World Wide Web : 18-May-2014
Machine Language for the Commodore 64 and 128 : 16-May-2014
Coding on the Osborne One with BASIC FUN : 15-May-2014
COMBINE: an alternative to REJOIN for Rebol/Red : 13-May-2014
Setting up an Ubuntu Cloud Server : 26-Apr-2014
A Rebol vs. Python Performance Test : 1-Apr-2014
The Central Newbie Question about Rebol/Red : 20-Mar-2014
Thoughts on Sharing Client and Server code with Node.JS : 16-Mar-2014
Importing Comments With the Disqus API : 20-Jan-2014
Charles Babbage as Grumpy Old Man : 12-Dec-2013
Funny Maze Solver From Age 13 : 11-Dec-2013
Load Balancing on Massively Parallel Networks : 10-Dec-2013
Notes on How to Film Technical Talks : 9-Dec-2013
Why Rebol, Red, and the Parse dialect are Cool : 5-Dec-2013
QtCreator 2.8.1 Not Debugging Locals in Ubuntu 13.10 : 20-Oct-2013
"Psychic" Sorting Algorithms : 28-Sep-2013
Inquiry /E and /G - More Teenage Turbo C Coding : 27-Sep-2013
"Autoplagiarism": An Intellectual Property Dialogue : 18-Sep-2013
MANYKEYS: My Open Source Roots : 16-Sep-2013
A Fond Farewell to Organizing the Austin C/C++ Group : 19-Jun-2013
Another Bad Apple: Replacing an iMac Hard Drive : 12-Jun-2013
Nenad Rakocevic for O'Reilly 2013 Open Source Awards : 16-May-2013
Sharing a Host's Directory Into Virtualbox Using NFS : 14-Apr-2013
Iostreams Re-Examined : 7-Apr-2013
Why is PHP Mind Poison? : 23-Feb-2013
Logo Design for the Open Source Rebol Project : 11-Jan-2013
Initial Build of Rebol for the Haiku Operating System : 28-Dec-2012
Software Engineering Quotes : 1-Dec-2012
The Essential Noisy Debug Hook for Qt : 2-Oct-2012
Bjarne Stroustrup on the Uniqueness of unique_ptr : 30-Sep-2012
Failures of Sprint Hotspot As Home Internet: Stay Away : 17-Sep-2012
Workaround for Broken Keys In TeamViewer with VirtualBox : 26-Jun-2012
Stallman Was Right, Volume CCCIV: OS/X Lion : 7-Jun-2012
A Word on Programming Education and SpaceChem : 6-Mar-2012
StackOverflow Summaries and Opinions 2011 : 18-Jan-2012
A Great Customer Service Experience with Amazon.Com : 11-Aug-2011
Virtual Machines and the *Very* Genuine Windows Dis- Advantage : 17-Jun-2011
South By Southwest and Austin Migration : 11-Mar-2011
UI Should Be More Than The Data Structure : 10-Jan-2011
Archived Rebol Logo Design Wiki on "DocBase" : 12-Dec-2010
Stopping Exploitation from Being Profitable : 20-Oct-2010
Imagination Squared (Plus OpenZoom) : 12-Sep-2010
Clocks that Run Backwards (and other innovations) : 18-Jul-2010
When should one use const_cast, anyway? : 12-Jun-2010
Where the printf() Rubber Meets the Road : 14-Mar-2010
BIL 2010 PARTICIPANTS - WELCOME : 13-Feb-2010
A Modest Proposal for a Rebol Code Golf Dialect : 8-Jan-2010
Proving There are Only Six Dudeney Numbers : 24-Dec-2009
.Trashes, .fseventsd, and .Spotlight-V100 : 2-Dec-2009
Permanently Changing GRUB Menu In Ubuntu : 22-Nov-2009
Ideas on Meaningful Prefixes in C++ Code : 14-Nov-2009
Treating Non-Boolean Types as Logic Values : 26-Oct-2009
Tweaking Analog Literals (C++ humor) : 29-Aug-2009
Qt Can't Have Model and View on different Threads? : 7-Aug-2009
Smart Pointer Casting Study : 10-Jul-2009
8-Year-Olds Should *Read* My Code : 16-Jun-2009
Takeaways from the Extjs Licensing Fiasco : 15-Jun-2009
An Enumerated Type For Rebol2 : 13-Jun-2009
Boost.Graph: Not as Crazy as you Think : 1-May-2009
Modern C++... or Modern Art? : 31-Mar-2009
Thoughts on Joel Spolsky's "User Interface Design for Programmers" : 9-Feb-2009
Can You Crack "Arecibo ASCII"? : 20-Oct-2008
Major Quirks of the Rebol Language : 10-Sep-2008
Is Rebol Actually a Revolution? : 8-Sep-2008
The Flexible Series as a Core Concept of Rebol : 5-Sep-2008
Computer Languages as Artistic Medium : 23-Apr-2008
Finding the Three Fastest Laptops : 16-Apr-2008
When Sockets Attack: DNS & DHCP : 20-Feb-2008
One User Event, One (or Zero) Error Messages : 30-Dec-2007
Programmers Shouldn't Write Invalidation : 25-Dec-2007
HOWTO: a "Perfect Reconstruction" Graphic Equalizer : 16-Dec-2007
Bribing the Jing Project to Be Open Source : 2-Dec-2007
Mouse Placeholders for when Programs Lose Focus : 25-Nov-2007
Tying Undo/Redo Actions to a Single User Event : 25-Nov-2007
Wordpress Kubrick Customizations from 2007 : 7-Nov-2007
Workaround for Firefox 2 Scroll Bar Bug on Mac : 6-Nov-2007
Virtualization and the Integrated Circuit: Looking ahead : 3-Nov-2007
Day One of Mixing the "Ext-js" and "Yui" frameworks : 30-Oct-2007
Web > 3.0 and The Future of Software : 20-Oct-2007
Bribing developers to make their work free : 20-Oct-2007
A database of "A is better than B" relationships : 22-Feb-2006
In Defense of Hungarian Notation (with caveats) : 24-Sep-2005
Cleaner API Design Using Ignorable "Hints" : 12-Aug-2005
"Freedom To" and "Freedom From" in Software Architecture : 4-Jul-2005
Alan Turing's Computability Thesis, in his own words : 20-Jun-2005
Assertions Parameterized by Location : 1-May-2005
Object Lifetime as Protocol in OOP : 21-Apr-2005
Pseudo-functional programming tricks in C++ : 15-Mar-2005
The transitive power of C++'s const keyword : 10-Feb-2005
Some C++ Code Formatting Thoughts : 1-Jan-2005
Sums of numbers that add to X : 10-Oct-2004
Invention as a Social Process : 21-Apr-1995
The Rationalization of Technology : 4-Mar-1995
Middle Ages vs the Industrial Revolution essay : 20-Oct-1994
Business Card from SXSW
Copyright (c) 2007-2020 hostilefork.com

Project names and graphic designs are All Rights Reserved, unless otherwise noted. Software codebases are governed by licenses included in their distributions. Posts on blog.hostilefork.com are licensed under the Creative Commons BY-NC-SA 4.0 license, and may be excerpted or adapted under the terms of that license for noncommercial purposes.