Fork this blog on GitHub Fork this blog on GitHub

Archives 2012


“As I stand here I ponder greater things”
~ Candlebox

I am compelled to write about the value of change in our lives. Everyone has a different level of comfort when it comes to change, but it is rewarding to periodically step out of our comfort zones and embrace change. Change helps us to grow emotionally, spiritually and gain wisdom. New circumstances, people and events challenge us to intentionally live in the moment and pursue our dreams.

Responsibilities in our lives can sometimes make us feel like our freedom is being restricted, but everyone has the capability to identify potential beneficial ...

Continue reading

Brute Forcing One Time Pads - Defcon Mystery Challenge Cryptanalysis Preparation

Brute Forcing One Time Pads - Defcon Mystery Challenge Cryptanalysis Preparation

In preparation for the mystery challenge at Defcon 20 this year, I put together some simple python tools.  I find it quite enjoyable making anti-1057 cryptanalysis tools, so I may be adding more.  This is what I have so far.

Update: This is now on Github

Generate Lookups

Each of these lookups is a dictionary.  The key:value pairs in each dictionary can easily be extended and fed into the crypto functions.

lookup1a = {i : chr(64+i) for i in range(1,27)} #1:A, 2:B, etc
lookupa1 = {chr(64+i):i for i in range(1,27)} #A ...

Continue reading

Customizing Vim to Easily Add Python Breakpoints

I added a few lines to my .vimrc today in my ongoing effort to be more productive and type fewer key strokes.

First I changed the <leader> variable from a backslash to a comma which is easier to type.  The leader variable is useful for creating custom commands.

"Easier mapleader than the default "\"
let mapleader = ","

Instead of manually typing "import ipdb; ipdb.set_trace()", the following vim configuration will insert a python breakpoint in the next line by typing ,p in normal mode.  As the comment explains, ctrl v and then escape must be typed in order to create the characters ...

Continue reading

Python Argparse - Parsing Command Line Scipt Arguments

The python argparse module is quite nifty.  In the past I have used code like this to parse arguments to command line scripts:

import sys

prog_name        = sys.argv[0]

def printUsage():
  print 'Usage: ' + prog_name + ' USEFUL_ARGUMENT'
  print 'This script does something useful with an argument.\n'
  print 'Examples:'
  print '  '+ prog_name + ' USEFUL_ARGUMENT\n'

if '-h' in sys.argv or '--help' in sys.argv or len(sys.argv) != 1:

useful_arg = sys.argv[0]

The argparse module helps to eliminate boilerplate code, provides nice formatting for free, and provides useful features. Here is the same code using the ...

Continue reading

The Importance of Healthcare IT Security

The Importance of Healthcare IT Security

Importance of Healthcare IT Security PDF Version

I wrote this document in September 2010 for a college course. I am publishing it here because I believe the subject matter is important and I would like to reach other professionals in the healthcare industry.  As always, feedback is greatly appreciated! A PDF version is available too.


Implementing technology in a secure manner is an important issue in the health care industry.  To remain effective and efficient, businesses require electronic solutions to be put into operation.  Furthermore, the United States Government currently offers incentives to early adopters of certified technology programs and will penalize health care providers who ...

Continue reading

Preparing for Defcon by Voiding a Warranty (or how to replace an Asus B121 hard drive)

Preparing for Defcon by Voiding a Warranty (or how to replace an Asus B121 hard drive)

So I thought to myself... Self?  How about we replace the hard drive in this handy tablet, install linux, and bring it to Defcon?  I typically prepare for a security conference by wiping a hard drive before and after so I can experiment and enjoy the con.  Instead of wiping and reinstalling, I have always just popped drives in and out.  I love this device because it weighs 2.5 pounds and has a large 12" x 8" screen which makes a perfect travel companion.

How to open the Asus B121

Tools required:  Something thin like a credit card or ...

Continue reading

Splunk – Customize the “Results per page” Dropdown

Splunk – Customize the “Results per page” Dropdown

Do you want to customize Splunk by:

  • Extending the default choices of 10, 20 and 50 results per page?
  • Changing the default number of search results?

This quick how to describes how to implement both of these changes.

Start by making a custom local copy of configuration file that we are about to change:

cp –p $SPLUNK_HOME/etc/apps/$APPNAME/default/data/ui/views/flashtimeline.xml \ 

$APPNAME is your app or search for the default search app

Extend the XML Count options with some extra XML like so:

<module name ...

Continue reading

Aerohive How To: Create a Firewalled and NATed Separate Network

Suppose you want to create a separate wireless network for guests or so that employees may access the Internet with their personal devices. Devices on this separate network should only be able to access the Internet and not be able to access any internal resources. I have not seen this documented anywhere, so I am going to share. There are several steps, but the process is relatively painless.

Start by creating a New VLAN under Configuration > Advanced > Network Objects > VLANs. Choose a VLAN numeral that is not being used. I chose 42.

Now let’s create a New DHCP server ...

Continue reading

Aerohive Networks Wireless Review

Aerohive Networks Wireless Review

Writing just a bit of potentially valuable content is better than not writing at all, right? I would like to spend tons of time writing a comprehensive review about Aerohive because… well... they rock! Unfortunately (fortunately?), I am strapped for time so this will be short and sweet.

I ran into the Aerohive booth at HIMMS 2011 and I was immediately impressed with their products. Not only do the wireless access points look cool, but their approach to wireless networking is unique and effective. Aerohive uses a controller-less architecture which helps to reduce the costs and complexities of large enterprise ...

Continue reading

Write, Write, Write!

Wow, has it already been two months since I launched this site and wrote the first (and only) blog article? I ended up starting a college course several days after I wrote the previous article and it has been taking up most of my extra time. Since grad school assignments are mostly writing, I have not wanted to do a lot of extracurricular writing. I am excited that I only have one more course plus a thesis and then I will have my master’s degree.

I am not going to sweat about creating perfectly written articles or long articles ...

Continue reading

Introductions Are in Order

Hello, I am Charles O'Brien. I am excited to be writing my first blog post EVER. I wonder how long it will be before I become comfortable with this whole blog writing process. While I am excited to write, I am also excited to keep working on the code for this site which is open source. Not only is this my first blog post ever, but this is also my first open source project where I am a contributor. It's about time!!

What's next?

I have been collecting ideas for posts, so now I just need to ...

Continue reading

Monthly archives