<?xml version="1.0"?><?xml-stylesheet type="text/css" href="rss.css"?><rss version="2.0"><!--    Hello!    This page is actually a special "feed" meant to be read by RSS reader programs.    These programs can help you "subscribe" to this blog.    They keep you informed whenever there is a new post for you to read.    Google: "RSS reader" to get started!-->    <channel>        <title>The Brown Dragon Blog</title>        <link>http://the-brown-dragon.com</link>        <description>            The Brown Dragon Blog!        </description>        <image>            <title>The Brown Dragon Blog</title>            <link>http://the-brown-dragon.com</link>            <url>http://the-brown-dragon.com/favicon.gif</url>        </image><item><title>Harry Potter and The Methods Of Rationality</title><link>http://the-brown-dragon.com/harrypotter.htm</link><description>I read a lot but I really think this is one of the most interesting things I've ever read. It's not for everyone but if you are the type of person who read [href http://en.wikipedia.org/wiki/Harry_Potter ^Harry^ ^Potter^] and thought:...</description><pubDate>Tue, 19 Oct 2010 00:00:00 GMT</pubDate><guid>harrypotter.htm</guid></item><item><title>Taking Backups from the Command Line</title><link>http://the-brown-dragon.com/backups.htm</link><description>__Some people aren't built for GUI's__...</description><pubDate>Mon, 11 Oct 2010 00:00:00 GMT</pubDate><guid>backups.htm</guid></item><item><title>Getting Things Done (Flowchart)</title><link>http://the-brown-dragon.com/gtd-session.htm</link><description>I conducted a session on &quot;[href http://www.davidco.com/ Getting things Done]&quot; today. I've been using this methodology for years now and I find it really useful....</description><pubDate>Wed, 21 Apr 2010 00:00:00 GMT</pubDate><guid>gtd-session.htm</guid></item><item><title>The Perils of BitFields</title><link>http://the-brown-dragon.com/perils-of-bitfields.htm</link><description>Yesterday, our team ran smack into the perils of using [href http://en.wikipedia.org/wiki/Bit_field bitfields] in C/C++....</description><pubDate>Tue, 9 Mar 2010 00:00:00 GMT</pubDate><guid>perils-of-bitfields.htm</guid></item><item><title>Pale Blue Dot</title><link>http://the-brown-dragon.com/pale-blue-dot.htm</link><description>|--center--&gt;...</description><pubDate>Tue, 9 Mar 2010 00:00:00 GMT</pubDate><guid>pale-blue-dot.htm</guid></item><item><title>Prometheus Rising</title><link>http://the-brown-dragon.com/prometheus-rising.htm</link><description>|--center--&gt;...</description><pubDate>Fri, 5 Mar 2010 00:00:00 GMT</pubDate><guid>prometheus-rising.htm</guid></item><item><title>First Rewrite!</title><link>http://the-brown-dragon.com/rewrite-1.htm</link><description>[image rewrite-1/rewrite-1.png Yay!] ^^^Yay!^^^ After a year of blogging I've finally upgraded my blogging engine to a new version!...</description><pubDate>Tue, 2 Mar 2010 00:00:00 GMT</pubDate><guid>rewrite-1.htm</guid></item><item><title>'Restrict' yourself in C</title><link>http://the-brown-dragon.com/restrict.htm</link><description>A new feature introduced in the [href http://en.wikipedia.org/wiki/C99 C99] standard is the %%%%restrict%%%% qualifier....</description><pubDate>Thu, 10 Dec 2009 00:00:00 GMT</pubDate><guid>restrict.htm</guid></item><item><title>Minimum in a Lazy Functional Language</title><link>http://the-brown-dragon.com/lazy-functional-min.htm</link><description>In a functional language [href http://en.wikipedia.org/wiki/Quicksort Quicksort] can be implemented in a wonderfully simple and elegant form:...</description><pubDate>Thu, 3 Dec 2009 00:00:00 GMT</pubDate><guid>lazy-functional-min.htm</guid></item><item><title>Run! EMACS Run!</title><link>http://the-brown-dragon.com/emacs-run.htm</link><description>Old [href http://c2.com/cgi/wiki?EmacsAsOperatingSystem jokes aside], I do use [href http://www.gnu.org/software/emacs/ Emacs] on WinXP as a near complete [href http://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html replacement for explorer] and as a very advanced replacement for the command line utilty [href http://www.bayden.com/Slickrun/ SlickRun]....</description><pubDate>Thu, 1 Oct 2009 00:00:00 GMT</pubDate><guid>emacs-run.htm</guid></item><item><title>C++ != ++C</title><link>http://the-brown-dragon.com/c++isnotc.htm</link><description>*C++* is NOT *C*....</description><pubDate>Tue, 22 Sep 2009 00:00:00 GMT</pubDate><guid>c++isnotc.htm</guid></item><item><title>clip.exe</title><link>http://the-brown-dragon.com/clip.htm</link><description>I've started using [href http://www.cygwin.com/ cygwin] heavily on Windows XP and it's mostly been great....</description><pubDate>Mon, 21 Sep 2009 00:00:00 GMT</pubDate><guid>clip.htm</guid></item><item><title>Downloading Dilbert</title><link>http://the-brown-dragon.com/downloading-dilbert.htm</link><description>[href http://dilbert.com/ Dilbert] is a great comic strip. I have a bunch of Dilbert comics at home and recently I found that all the strips had been re-colored and were availble for free on the net....</description><pubDate>Thu, 10 Sep 2009 00:00:00 GMT</pubDate><guid>downloading-dilbert.htm</guid></item><item><title>Pointers vs Arrays</title><link>http://the-brown-dragon.com/pva.htm</link><description>One small point that often gets overlooked in writing C/C++ programs is the difference between pointers and arrays....</description><pubDate>Sun, 30 Aug 2009 00:00:00 GMT</pubDate><guid>pva.htm</guid></item><item><title>mutt vs Outlook</title><link>http://the-brown-dragon.com/mutt-vs-outlook.htm</link><description>Having switched from [href http://www.microsoft.com/outlook/ Microsoft Outlook] to [href http://www.mutt.org/ Mutt], I've been pretty happy with the experience so far. The biggest pain points are __creating formatting mails__ and __forwarding formatted mails__ but that's manageable for me....</description><pubDate>Fri, 28 Aug 2009 00:00:00 GMT</pubDate><guid>mutt-vs-outlook.htm</guid></item><item><title>Recursive Processes vs Recursive Procedures (characterizing Tail Recursion)</title><link>http://the-brown-dragon.com/tail-recursion.htm</link><description>What is a recursive process?...</description><pubDate>Sat, 22 Aug 2009 00:00:00 GMT</pubDate><guid>tail-recursion.htm</guid></item><item><title>grepmail.sh</title><link>http://the-brown-dragon.com/grepmail.sh.htm</link><description>Having [href muttrc.htm moved to Mutt], I needed a good way to search my mails....</description><pubDate>Fri, 21 Aug 2009 00:00:00 GMT</pubDate><guid>grepmail.sh.htm</guid></item><item><title>Duff's Device</title><link>http://the-brown-dragon.com/duffs-device.htm</link><description>I find it sad that many programmers today, even those that use C/C++ extensively are unaware of gems like [href http://en.wikipedia.org/wiki/Duff's_device#cite_note-0 Duff's Device]. To correct this glaring deficiency (and for the fun of it), I'll give a brief explanation here....</description><pubDate>Fri, 21 Aug 2009 00:00:00 GMT</pubDate><guid>duffs-device.htm</guid></item><item><title>.muttrc</title><link>http://the-brown-dragon.com/muttrc.htm</link><description>[image http://wiki.mutt.org/mutt.gif Mutt]...</description><pubDate>Thu, 20 Aug 2009 00:00:00 GMT</pubDate><guid>muttrc.htm</guid></item><item><title>Converting Outlook PST to MBOX</title><link>http://the-brown-dragon.com/pst-2-mbox.htm</link><description>I've been using Microsoft Outlook to manage my email for a long time now. It works pretty well although the .PST format isn't very good the product is good enough to compensate....</description><pubDate>Tue, 18 Aug 2009 00:00:00 GMT</pubDate><guid>pst-2-mbox.htm</guid></item><item><title>Two Wolves</title><link>http://the-brown-dragon.com/two-wolves.htm</link><description>[image two-wolves.png Cherokee Legend of Two Wolves]...</description><pubDate>Wed, 12 Aug 2009 00:00:00 GMT</pubDate><guid>two-wolves.htm</guid></item><item><title>Prime (Ir)Regular Expressions</title><link>http://the-brown-dragon.com/prime-reexps.htm</link><description>Many of us use [href http://en.wikipedia.org/wiki/Regular_expression regular expressions] a lot for editing. Though limited in power they are immensely useful tools and can be very helpful....</description><pubDate>Wed, 12 Aug 2009 00:00:00 GMT</pubDate><guid>prime-reexps.htm</guid></item><item><title>Downloading Cygwin</title><link>http://the-brown-dragon.com/cygwin-full.htm</link><description>[href http://www.cygwin.com/ Cywin] (on WinXP) is wonderful - it allows access to a Unix-like environment within Windows. I use it a lot but one pain point I have is needing to connect to the net every time I need a new lib or utility installed. This is a pain because the corporate firewall at work cribs on some downloads(size limitations) which is a PITA....</description><pubDate>Wed, 12 Aug 2009 00:00:00 GMT</pubDate><guid>cygwin-full.htm</guid></item><item><title>ab (part deux): Catching up to Apache!</title><link>http://the-brown-dragon.com/ab2.htm</link><description>In [href ab.htm my last post] I discussed the Apache Benchmarking tool and how I used it to test my server against Apache....</description><pubDate>Tue, 30 Jun 2009 00:00:00 GMT</pubDate><guid>ab2.htm</guid></item><item><title>ab: Benchmarking HTTP Servers</title><link>http://the-brown-dragon.com/ab.htm</link><description>I was discussing an embedded HTTP server I've written with a friend of mine yesterday. I've written it simply to serve local pages for an application I'm working. One cool thing about it is that it is completely asynchronous - spawning no threads yet able to service multiple requests simultaneously....</description><pubDate>Tue, 30 Jun 2009 00:00:00 GMT</pubDate><guid>ab.htm</guid></item><item><title>Fwd: Fwd: Rhino Semen Collection</title><link>http://the-brown-dragon.com/rhino-semen-collection.htm</link><description>This is an email forward that I got today. I don't know the author so I can't attribute it but it's so funny I just had to post it!...</description><pubDate>Wed, 3 Jun 2009 00:00:00 GMT</pubDate><guid>rhino-semen-collection.htm</guid></item><item><title>Using rand ();</title><link>http://the-brown-dragon.com/rand.htm</link><description>The %%%%rand ()%%%% function generates a pseudo-random number in the range %%%%[0, RAND_MAX]%%%%. You can initialize it with %%%%srand (seed)%%%%. In most cases, however, we want random numbers in a much smaller range %%%%[0, M)%%%%. What's the best way to do this?...</description><pubDate>Wed, 13 May 2009 00:00:00 GMT</pubDate><guid>rand.htm</guid></item><item><title>A Brief, Incomplete, and Mostly Wrong History of Programming Languages</title><link>http://the-brown-dragon.com/bimwhpl.htm</link><description>This is mostly for the PLT fans out there - I found it absolutely hilarious!!...</description><pubDate>Fri, 8 May 2009 00:00:00 GMT</pubDate><guid>bimwhpl.htm</guid></item><item><title>Calling Conventions in Windows (x86)</title><link>http://the-brown-dragon.com/calling-conventions-x86.htm</link><description>When debugging with WinDbg you may notice that all functions are not called in the same way. The &quot;traditional&quot; way would be to push arguments on the stack, call the function and check the return value. However, in many places this may not happen. This is because the x86 architecture has several different calling conventions which I will describe below....</description><pubDate>Thu, 30 Apr 2009 00:00:00 GMT</pubDate><guid>calling-conventions-x86.htm</guid></item><item><title>Multithreading with ... Cats?!</title><link>http://the-brown-dragon.com/multithreaded-cats.htm</link><description>I found a fun introduction to multi-threading from __Orion Granatir__ of Intel:...</description><pubDate>Wed, 29 Apr 2009 00:00:00 GMT</pubDate><guid>multithreaded-cats.htm</guid></item><item><title>Editing Binary Files</title><link>http://the-brown-dragon.com/editing-binary.htm</link><description>Programmers love their editors. Considering we spend most of our work lives within an editor that is not surprising. Most of what we do is in plain text and our editors are geared to do very sophisticated things with text (%%%%:g/^/m0%%%% anyone?)...</description><pubDate>Wed, 29 Apr 2009 00:00:00 GMT</pubDate><guid>editing-binary.htm</guid></item><item><title>Disabling instructions while debugging using WinDbg</title><link>http://the-brown-dragon.com/dis-dur-deb.htm</link><description>A quick way of disabling instructions you don't want to execute during a WinDbg session is to %%%%nop%%%% (no-op) the code in memory. WinDbg takes care of changing the protection over the code segment pages and hopefully it also flushes the instruction cache. In any case, it seems to work fine. Let's look at an example....</description><pubDate>Wed, 29 Apr 2009 00:00:00 GMT</pubDate><guid>dis-dur-deb.htm</guid></item><item><title>There's nothing we can do about it...probably [LINK]</title><link>http://the-brown-dragon.com/minus.htm</link><description>Somehow this comic gets to me everytime:...</description><pubDate>Wed, 11 Feb 2009 00:00:00 GMT</pubDate><guid>minus.htm</guid></item><item><title>Fast Java Exceptions</title><link>http://the-brown-dragon.com/fast-java-exceptions.htm</link><description>Java Exceptions are notoriously slow. Heck - _everything_ in Java is slow, but exception handling is slow in most languages and doubly slow in Java....</description><pubDate>Tue, 27 Jan 2009 00:00:00 GMT</pubDate><guid>fast-java-exceptions.htm</guid></item><item><title>Even After All This Time...</title><link>http://the-brown-dragon.com/even-after-all-this-time.htm</link><description>I really like this verse....</description><pubDate>Tue, 27 Jan 2009 00:00:00 GMT</pubDate><guid>even-after-all-this-time.htm</guid></item><item><title>Freedom from free()!</title><link>http://the-brown-dragon.com/freedom-from-free.htm</link><description>One of the pain-points in C is manual memory management. Using C++ with RAAI gives you a better time but it's still a hassle to create the RAAI wrappers....</description><pubDate>Thu, 15 Jan 2009 00:00:00 GMT</pubDate><guid>freedom-from-free.htm</guid></item><item><title>RSS' got style!</title><link>http://the-brown-dragon.com/rss-got-style.htm</link><description>RSS and IE6. A match made in hell!...</description><pubDate>Tue, 13 Jan 2009 00:00:00 GMT</pubDate><guid>rss-got-style.htm</guid></item><item><title>Music to Program By</title><link>http://the-brown-dragon.com/music-to-program-by.htm</link><description>I listen to a lot of music while programming. I find it helps me block out distractions and program better....</description><pubDate>Tue, 13 Jan 2009 00:00:00 GMT</pubDate><guid>music-to-program-by.htm</guid></item><item><title>Practical Project Management</title><link>http://the-brown-dragon.com/practical-pm.htm</link><description>I'm currently managing nine projects at work and I needed a way to keep tabs on all of them without spending all my time on Microsoft Project. So I came up with this lightweight way to track projects which I think works very well....</description><pubDate>Thu, 8 Jan 2009 00:00:00 GMT</pubDate><guid>practical-pm.htm</guid></item><item><title>Pass Me The Array</title><link>http://the-brown-dragon.com/pass-me-that-array.htm</link><description>Have you ever wondered how to pass an array as a return value in C? It's not something commonly done, so I'll walk you through it....</description><pubDate>Tue, 6 Jan 2009 00:00:00 GMT</pubDate><guid>pass-me-that-array.htm</guid></item><item><title>Curl up with a good blog...</title><link>http://the-brown-dragon.com/curl.htm</link><description>I found this small but incredibly powerful tool when looking for a way to automate uploading my website. [href http://curl.haxx.se/ cURL] is like a swiss-army knife for transferring files. From the documentation on the site:...</description><pubDate>Sun, 4 Jan 2009 00:00:00 GMT</pubDate><guid>curl.htm</guid></item><item><title>Importing SVN to GIT</title><link>http://the-brown-dragon.com/svn2git.htm</link><description>I've been trying out [href http://git.or.cz/ Git] to see if I should move my SCM solution (currently in [href http://subversion.tigris.org/ SVN]) to it....</description><pubDate>Mon, 29 Dec 2008 00:00:00 GMT</pubDate><guid>svn2git.htm</guid></item><item><title>Boy or Girl?</title><link>http://the-brown-dragon.com/boy-or-girl.htm</link><description>This is a cute little problem - one that looks straightforward when it isn't!...</description><pubDate>Sun, 28 Dec 2008 00:00:00 GMT</pubDate><guid>boy-or-girl.htm</guid></item><item><title>Ripping a CD with Sed</title><link>http://the-brown-dragon.com/ripping-with-sed.htm</link><description>I just bought the [href http://www.amazon.com/Anthems-Various-Artists/dp/B000WTZ702/ Ministry Of Sound : Anthems (1991-2008)] and I wanted to rip it into my music collection (who sticks with CD's these days?)....</description><pubDate>Sat, 27 Dec 2008 00:00:00 GMT</pubDate><guid>ripping-with-sed.htm</guid></item><item><title>array[0] or array[1]? (The Definitive Answer at last!)</title><link>http://the-brown-dragon.com/EWD831-whynumberingshouldstartatzero.htm</link><description>Beginner programmers tend to get confused over the convention that __array indexes start with *0*__ in languages like C/C++/Lisp rather than the more natural *1* (in Pascal or Lua for example)....</description><pubDate>Fri, 26 Dec 2008 00:00:00 GMT</pubDate><guid>EWD831-whynumberingshouldstartatzero.htm</guid></item><item><title>Browsing .iso Files</title><link>http://the-brown-dragon.com/browsing-iso-files.htm</link><description>If you need to view an .ISO file in Windows XP, there is a small, free, UNSUPPORTED, utility from Microsoft that works beautifully....</description><pubDate>Thu, 25 Dec 2008 00:00:00 GMT</pubDate><guid>browsing-iso-files.htm</guid></item><item><title>Embedding files in C Libraries</title><link>http://the-brown-dragon.com/embedding-files-in-c.htm</link><description>Recently I needed to access a text file containing a database schema in my code. Now this schema is tied to my application and should ideally be bundled with the exe somehow....</description><pubDate>Wed, 24 Dec 2008 00:00:00 GMT</pubDate><guid>embedding-files-in-c.htm</guid></item><item><title>What Would Willie Do?</title><link>http://the-brown-dragon.com/what-would-willie-do.htm</link><description>I'm currently re-reading the Modesty Blaise books. Somehow I'm not a great fan of the comic strip but I absolutely love the novels!...</description><pubDate>Tue, 23 Dec 2008 00:00:00 GMT</pubDate><guid>what-would-willie-do.htm</guid></item><item><title>Yourself or Someone Like You</title><link>http://the-brown-dragon.com/yourself-or-someone.htm</link><description>Last Saturday BG Sir, the CEO of our company took a session on &quot;Programming Foundations&quot;....</description><pubDate>Mon, 22 Dec 2008 00:00:00 GMT</pubDate><guid>yourself-or-someone.htm</guid></item><item><title>An Elegant (and utterly amazing) solution to Einstein's Problem</title><link>http://the-brown-dragon.com/einstein-problem.htm</link><description>A colleague of mine sent me this puzzle to solve. It's apparently called [href http://en.wikipedia.org/wiki/Einstein%27s_Puzzle Einstein's problem] because popular myth is that he invented the problem (and said that 98% in the world wouldn't be able to solve it to boot! :-D )....</description><pubDate>Sun, 21 Dec 2008 00:00:00 GMT</pubDate><guid>einstein-problem.htm</guid></item><item><title>Converting Comment Styles with Sed</title><link>http://the-brown-dragon.com/c++2c-with-sed.htm</link><description>When I program in C, I like keeping my comment in the old C-style (%%%%/* */%%%%). Unfortunately, I'm so used to the C++ comment style (%%%%//%%%%), that my code invariably gets peppered with it....</description><pubDate>Sat, 20 Dec 2008 00:00:00 GMT</pubDate><guid>c++2c-with-sed.htm</guid></item><item><title>The Best Sed Cheatsheet in the World</title><link>http://the-brown-dragon.com/sed-cheatsheet.htm</link><description>Sed is an under appreciated tool of remarkable power. It can be hard to use but it has its rewards - using Sed is akin to solving simple puzzles....</description><pubDate>Fri, 19 Dec 2008 00:00:00 GMT</pubDate><guid>sed-cheatsheet.htm</guid></item><item><title>A Simple Parser</title><link>http://the-brown-dragon.com/parse-wud.htm</link><description>To get a nice, graphical display of some update logs for my SCM solution, I wrote the following quick and dirty parser....</description><pubDate>Thu, 18 Dec 2008 00:00:00 GMT</pubDate><guid>parse-wud.htm</guid></item><item><title>C! Oh C!</title><link>http://the-brown-dragon.com/oh-c.htm</link><description>When I joined this C/C++ shop after nearly six years of Java, I spent a bit of time brushing up on my then rusty C/C++ skills....</description><pubDate>Wed, 17 Dec 2008 00:00:00 GMT</pubDate><guid>oh-c.htm</guid></item><item><title>The Night Sky [LINK]</title><link>http://the-brown-dragon.com/nightsky.htm</link><description>This is a very neat introduction to star gazing...</description><pubDate>Tue, 16 Dec 2008 00:00:00 GMT</pubDate><guid>nightsky.htm</guid></item><item><title>WinXP Environment variables</title><link>http://the-brown-dragon.com/win-envvars.htm</link><description>The following is a list of environment variables that are available in Windows XP. It sometimes comes in useful....</description><pubDate>Mon, 15 Dec 2008 00:00:00 GMT</pubDate><guid>win-envvars.htm</guid></item><item><title>WinXP Command Line Commands</title><link>http://the-brown-dragon.com/win-cmds.htm</link><description>The following is a list of commands that can be used in Windows XP to bring up various administrative tools. It is sometimes helpful to do this without needing to click through the GUI....</description><pubDate>Mon, 15 Dec 2008 00:00:00 GMT</pubDate><guid>win-cmds.htm</guid></item><item><title>Useful Clearcase Commands</title><link>http://the-brown-dragon.com/cc-cmds.htm</link><description>Base clearcase has a large number of commands and each command has a large number of options. To help administrators I have listed some clearcase commands that I found useful....</description><pubDate>Sun, 14 Dec 2008 00:00:00 GMT</pubDate><guid>cc-cmds.htm</guid></item><item><title>Tricky Binary Search</title><link>http://the-brown-dragon.com/binary-search.htm</link><description>Ranga galloped out of the woods onto the clearing where Charlie and the brown dragon were arguing. His horse, a magnificent black Arabian, snorted in fear as it caught the acrid smell of dragon. Annoyed by its own instinctive terror, the proud stallion put on an extra burst of speed that delighted Ranga. He loved making a dramatic entrance....</description><pubDate>Sat, 13 Dec 2008 00:00:00 GMT</pubDate><guid>binary-search.htm</guid></item><item><title>I have begun!</title><link>http://the-brown-dragon.com/blogging.htm</link><description>HOORAY!!!!!!!...</description><pubDate>Fri, 12 Dec 2008 00:00:00 GMT</pubDate><guid>blogging.htm</guid></item>    </channel></rss>
