Hard Reset of Career and Life

§ May 26, 2010 00:01 by beefarino |

The best way to predict your future is to create it. -Peter Drucker.

So I've been MIA for a while.  At least here.  I thought it would be best to jot down the happenings of the last 5 months, as things have changed dramatically for me in that time.

In March of 2010, I made the decision to become self-employed.  Well, technically speaking I work for the company I own.  I had lots of reasons for doing this, but it basically boiled down to making a living vs. living my life.  The facts: I was not satisfied with my full-time employment situation and wanted a change; I found myself in a very rare and positive position, with enough freelance work to sustain me and my family for a year; I have some personal projects I want to get up and running that require significant personal investment.  This is something I've wanted to attempt for some time, and I simply could not imagine a better opportunity to do so.  My new venture is Code Owls LLC, website forthcoming.  That's my logo there, thanks to 48hourslogo.com.  And I'm happy to report that after only two months I'm already having to turn away work.

Last Thursday (May 20, 2010) I presented an hour session to the Charlotte ALT.NET group titled "Distributed Version Control using Mercurial".  Reception was good, despite a botched example and the seemingly endless command-line pounding.  I plan to post a summary of the talk as a blog post soon.

I'm also excited about the upcoming CodeStock community event.  There are so many awesome sessions and panels to attend, choosing a schedule will be very difficult.  I'm also presenting two sessions, one on PowerShell as a tools platform, and another on getting started on the Arduino platform.  A big Thank You to everyone who offered their votes to my sessions - I apparantly earned an "Elder Award" by getting both sessions voted into the top 20!

I've also jumped in to a new local community in here in Charlotte, NC: the Charlotte Arduinophiles.  This is a group of local evil and benevolent masterminds that love to hack using the Arduino hardware platform.  Special thanks to Brady on getting this rolling; we are presently getting organized, and at the moment most of our activity is focused at Charduino.org, where we share our hacks and projects and look for feedback.  Rumblings from the current participants seem to point to organized hack sessions and contests; e.g., maze-solving bot design evenings.  If you are interested in joining us, regardless of your experience, drop me a note.

So there you have it.  Big changes but a much happier me.


Log4Net Tutorials and Resources

§ June 7, 2009 03:57 by beefarino |

I've been meaning to create a landing page for all the log4net traffic on my blog.  A friend of mine recently told me how difficult it is to drill through all the tutorials, so I decided to organize access to all the log4net stuff in one place.  I'll keep this page updated as the blog grows. 

If there are any log4net resources you think I should add to this list or blog about, please add them in the comments or send them to me via the contact link.

Log4Net Tutorials

If you've never used log4net before, you should begin with the getting started and configuration topics.  You'll want to review the appender, layout, and patterns tutorials next, and use the others as you see fit.

  • Getting Started with Log4Net - never used log4net before, but need to get running quickly?
  • Basic XML Configuration - describes how to isolate log4net configuration to an XML file for easier modification.
  • Appenders - a discussion of the catalog of appenders available in the log4net distribution. Need to figure out how to log to the console? Or a text file? Or a database? This tutorial is for you.
  • Layouts and Patterns - want more control over the way your log looks?
  • Using Logger Objects - learn to use logger objects to organize your logging code into independently configurable parts.
  • Log Event Context - need some extra data in that log message? Maybe a call stack label, user identifier, or session moniker?
  • Filters - learn how to tame that log output and filter out the stuff you don't want or need.
  • Lossy Logging - learn about an advanced technique of optimizing your logging activity. Lossy logging gives you the benefit of a verbose log with the performance of a minimal logging scenario.

Recomended Practices

  • Your Code - learn what you should do in your code to make the most of logging.
  • Isolating Bugs - see how logging can be used to isolate production bugs.

Death by Logging Mantras

These mantras discuss specific scenarios where logging can cripple your application or its performance.  These are in-process and links will become available as I write the posts.


PowerShell Brush for Syntax Highlighter

§ February 10, 2009 08:51 by beefarino |

While updating this blog to use dp.SyntaxHighlighter, I realized I needed a brush for my powershell examples.  Using some of the other brush scripts as examples, I came up with the script attached to this post.

I used the one-liner posted on Oisin Grehan's blog to slurp out all of the keywords recognized by powershell.  I also added a list of available cmdlets and aliases available as of CTP3 using get-command and get-alias.

The brush is triggered by any of the following marker "aliases" on a code block:

  • ps
  • ps1
  • powershell
  • msh


shBrushPosh.zip (2.63 kb)