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 modern software engineering. Main topics are C++11 and the Rebol and Red languages, along with general programming philosophy and puzzle-solving. Now and again, I throw a fit after dealing with some call-center or Internet fraud...and that seems to get the most hits. (We've all been there!)
My claims-to-fame can probably be counted on one or two hands (depending on how many fingers you have), but I designed the logos for both Rebol and Red (and the typography for Red). Please read up and learn about these unusual philosophy-driven languages:
[Rebol and Red] chat room

Site Reorganization in Progress

As of mid-2014, blog.hostilefork.com is a scrape and rewrite of content that was previously on the main page of hostilefork.com. The new main page is starting the path toward being a more formal list of projects (as opposed to blogs/articles/rants). All old links should be forwarding correctly—so please let me know if you find one that isn't.
In the transition from an ancient WordPress installation, I did something interesting. After scraping the content, I encoded it into a REN ("REadable Notation") format. Then I made my own static site builder to generate the pages, called Draem, which has some very surprising properties...so you might check that out! The "source code" for this blog is available on GitHub as well:
I'll come up with a fancier index page than this. But for now, the links here are enough for search engines (and me) to find the pages. If you'd like, you can also browse the site by tag. There is some preliminary support for navigating the entries with the left and right arrow keys.
I appreciate your feedback or suggestions, so feel free to get in touch by comment or mail! Contact information is available on the Hire the Fork page.

Master List of Entries

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
Overview Notes on Node, Express, and Swig : 21-Jul-2014
Handling Internal Errors (and Bad Requests) in Node : 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
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
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
Currently I am experimenting with using Disqus for comments, however it is configured that you don't have to log in or tie it to an account. Simply check the "I'd rather post as a guest" button that appears after you begin typing in a name.
comments powered by Disqus
Copyright (c) 2007-2014 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.