2013-02-27

Getting Down With Markdown

This is the slide deck from my presentation of "Getting Down With Markdown" [aka "Upgrading Markdown"] given to the Grand Rapids Python Users Group on  2013-02-18.  I can't decide which name is more punny, so I kept both.
This presentation covers basic use of the markdown module in Python and how to perform a couple different types of extensions.  I used the markdown module to add a simple wiki protocol bundle to OpenGroupware Coils; using the extensions demonstated in the presentation the wiki can render some dynamic and security-model-aware content - making the wiki an easy productivity tool.

2013-02-26

Looking Under The Hood

This is the slide deck from my presentation of "Looking Under The Hood" given to the Grand Rapids Web Developers Group on 2013-02-25.
This presentation shares a lot of content with my previous "D is for Debugging" presentation, so if you enjoy this kind of thing you should check out that slide deck as well.  This deck was tweaked to try to focus on hunting down performance, princpally latency related,issues that are commonly encountered with very network-centric applications such as web servers, proxy servers, database servers, etc...
Learning tools like netstat, ss, lsof, and fuser is worth the time; these tools let you know what is going on.

2013-02-11

explorer.exe /separate

The runas tool in Microsoft Windows serves the same purpose as the sudo tool on Open [or at least "open"] platforms.  With runas you can execute commands in alternative security contexts.  Only some tools in Microsoft Windows aren't normal; that is if you attempt to run them via runas.... often times nothing at all happens.  One very significant example of this behavior is the Control Panel (control.exe).  Try to run the control panel via runas - for example to change a setting requiring Administrative rights without logging off the current user - and you get buptkis.  A work around to this aggrevating behavior is to simply run an instance of "explorer.exe" in the alternative context.  From explorer you can navigate to whatever tool or utility you need to run an launch it that way... which works (for some reason I have no desire to understand).  The secret sauce for running an independent instance of explorer.exe is the "/separate" parameter.  Without "/separate" every time you try to run explorer.exe it will see the existing instance (the user's shell) and again you will get buptkis.   So, in short, to get a copy of explorer.exe as the local administrator simply run:
runas.exe /u:administrator “explorer.exe /separate”
There you go.