SD Code Bootcamp partnership with The Bakery!

The Bakery

We are excited to announce that ALL Code Bootcamp students will receive a 6-month membership to the Bakery as part of their Code Bootcamp tuition! This creates an amazing networking opportunity for all of our students, if you are not familiar with the Bakery, let me give you a quick run down.

The Bakery all started with a crazy little idea to create an environment to unite the thinkers, doers, and creators of our community. An environment to foster relationships between those who have skills to teach and those who want to learn. An 8250 square foot building where people can come together to learn, support, and inspire one another.

The Bakery exists to challenge the status quo and inspire action. It’s a home for thinkers, doers, and creators. It’s more than a co-working space. The Bakery is a dynamic community fostering creativity, collaboration and connection. The kind of connection that grows your network and increases your bottom line.

You can read all about the Bakery on their website, we will be setting up tours for students during the first week of class.

We’re excited about this opportunity and what it brings for our students.  If you haven’t signed up for SD Code Bootcamp it’s not too late –!


Code Bootcamp has found a home!


Code Bootcamp has signed a lease for our new training center and office – The Rock Island building!

SD Code Bootcamp‘s new training center and office space is located at 300 N Phillips Avenue, in the heart of downtown Sioux Falls.  This means we’ll be in the same building with Click Rain, Better Business Bureau, Verizon and Co-Op Architecture.  We’re hard at work preparing the space for our first bootcamp, which starts May 26th.  We’ll be hosting an open house soon so stay tuned on Twitter, Facebook or sign up for our newsletter at  If you’re interested in discussing Code Bootcamp, seeing the space or just grabbing a coffee let me know, I’d love to chat – contact me using whatever is convenient!

Continue reading

Damn Vulnerable Web Application (DVWA) Installation script for Kali Linux


I recently needed to setup a series of labs for an introduction to security course.  I decided to use Kali Linux as the primary VM for all of the students and then install Damn Vulnerable Web Application (DVWA) to explore basic web security concepts.  Since this is an introductory course, I didn’t want anyone to get too hung-up on the installation of DVWA so I went looking for a scalable way to help automate (I still wanted the installation to be hands-on after all).  I found a script to install DVWA on BackTrack 5 posted by Travis Phillips on The Unl33t Blog, it didn’t quite work but was a great foundation for me to create an updated version.  The primary items that needed to be updated where the location to download DVWA, any file-handling commands based off of the download and then a few tweaks to creating and updating the database.  Create a script and copy/paste the contents below into the file.  Make sure to give the file execute permissions: Continue reading

Website Security from a Business Perspective

Website security from the business perspective
Website Security

I was recently asked to comment on the compromise, or hack – although I don’t like to use that term in the context of criminal behavior, of a very popular regional website (see my comments here).  The site’s homepage was replaced with an image of the Malaysian Coat of Arms and information about who was responsible for the attack.  While not a desirable event to endure for any organization, the attack could have been much worse.  How? In this case, the site was used for notoriety of the group responsible and not to attack the users of the site (read, the organizations customers and/or it’s data).  The down time of the site was minimal, the real site was back online within minutes of the first reports of the defacement.  So how does an organization handle such an event?  This brings us into the often times confusing world of security.  For anyone well-versed in security, and website security in particular, you probably already have several ideas as to what happened.  For those not in security you probably have no idea where to begin.  Instead of making this another article on the technical measures that can be put into place, I’m going to look at it from the business’s perspective.  And in particular, a business that either doesn’t have the security professionals on staff or has hired out their technology services and therefore rely exclusively on a third-party. Continue reading

Advanced WordPress Workshop


In case you haven’t heard, I’ll be running an advanced WordPress workshop next week, March 26th, at the Design Center in downtown Sioux Falls.  This session will focus on expanding the functionality and user experience of your site.   Some of the topics that we’ll cover include:

»     Search engine optimization techniques to help people find your site
»    Extending the functionality of your WordPress site through plugins
»    Working with embedded technology such as video, audio, web forms and more
»    Expanding social media capabilities of your site
»    and much more!

Register Now!

WordPress not for you? Don’t worry, many of the topics we discuss will have broad applicability over a variety of websites. Bring your laptop as this will be an interactive session. Participants will be able to utilize free or trial based services to create their own site.  Bring your questions and laptop and be ready for a great learning experience!

Continue reading

Introducing OpenIDEA – Validate Your Ideas!

OpenIDEA | Validate your ideas

I’ve worked in the technology space for well over a decade now and one of the things that continues to keep me passionate in this field are ideas.  From ideas that create new markets to ones that disrupt – our imaginations really are the limit.  Being someone that gravitates toward entrepreneurial individuals, I’ve found through countless conversations that many have an almost endless supply of ideas.  I include myself in this group.  When I first started out in pursuing entrepreneurial endeavors I used to keep my ideas to myself, as if I were sitting on the next Facebook or Twitter. I was afraid that if anyone heard my idea they’d create a team, rush it to market and steal all of my millions.  Of course, the harsh reality is that it’s very unlikely that that idea is in my head.  But how do I know that?  A close friend and I used to discuss our ideas openly because we shared a special trust.  It didn’t take us long to find an idea we both liked and started working on it.  Being this was our first idea, and we were both programmers, we cranked out an MVP before we even talked to anyone about the idea – that is, defined a target audience and performed even the most basic of market research.  It wasn’t until months of custom development that we took our MVP public and started showing people.  Our product met with mixed results – some liked it, some didn’t, most didn’t understand it.  It was at this point that it finally clicked that we went about it completely backwards.  Of course there was some basic entrepreneurial skills that I was lacking, but I also started to see how much effort goes into taking an idea from something that you discuss with a friend to an actual product.  As great of a learning opportunity as it was, it wasn’t an experience I wanted to repeat Continue reading

Sovereign Keys – An EFF Proposal

Sovereign Keys Introduction

Secure communication over the internet depends almost exclusively on Secure Sockets Layer (SSL) and/or Transport Layer Security (TLS).  In order to understand the Electronic Frontier Foundation’s (EFF) Sovereign Keys proposal, we need to take a closer look at how public key cryptography works as well as the public key infrastructure (PKI) that is in place to manage the public/private keys that are relied on for TLS.  After discussing public key cryptography and PKI, we will discuss current implementations of SSL/TLS and the numerous components therein: Domain Name System (DNS), Certificate Authorities (CA) and client/server implementation.  Finally, we will discuss the primary weaknesses in the current implementation, the Sovereign Keys proposal and how it aims to remedy those weaknesses.

To begin, we need to understand public key cryptography, which is also known as asymmetric cryptography.  In asymmetric cryptography there must exist two keys in which to provide for the desired cryptographic functions – namely the encryption/decryption of plaintext/ciphertext or the generation/validation of a digital signature.  This differs from symmetric cryptography, which only utilizes a single key for desired cryptographic functions.  The two keys utilized in asymmetric cryptography are commonly referred to as the public and private key.  As the name implies, the public key is ultimately made public and utilized in encrypting plaintext and verifying digital signatures.  Public keys are therefore made available to be public and not protected as a private key is.  Private keys, on the other hand, are utilized to decrypt ciphertext (ciphertext is the result of running an encryption algorithm on plaintext) and to generate a digital signature. (“Introduction to Public-Key”, 2014)(“Public-key Cryptography”, 2014)

Continue reading

Big Data: Issues and Challenges


Big Data | M9 Development
To begin a discussion on the issue of Big Data, it is worthwhile to first define the term “Big Data”.  According to [1], Big Data is defined as “technologies and initiatives that involve data that is too diverse, fast-changing or massive for conventional technologies, skills and infrastructure to address efficiently”.  This serves as a good definition as it enumerates the key issues in dealing with Big Data, namely, data that exhibits the following characteristics: it is fast-changing and/or massive, it does not fit into conventional data storage systems (i.e. relational database system) and is generated and captured rapidly [1].  While I believe this definition to be an accurate perception of Big Data in the scientific and business communities, it is worth noting that Big Data as a discipline is still in it’s infancy and thus open to different interpretations.  A quick study on the etymology of the word Big Data provides great insight into this (see [2]).  To further our understanding of Big Data, we will take a look at each of the main characteristics of Big Data as previously defined and discuss some of the primary issues that they introduce. Continue reading

Shellshock Bash Bug

Shellshock Bash Bug

Everyone’s probably heard of the Shellshock Bash bug by now, which was announced with CVE-2014-6271 on September 24, 2014.  According to the announcement:

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which allows remote attackers to execute arbitrary code via a crafted environment, as demonstrated by vectors involving the ForceCommand feature in OpenSSH sshd, the mod_cgi and mod_cgid modules in the Apache HTTP Server, scripts executed by unspecified DHCP clients, and other situations in which setting the environment occurs across a privilege boundary from Bash execution, aka “ShellShock.”

Continue reading

Introduction to Bitmap Indexes

Introduction to Bitmap Indexes

To alleviate confusion, I will refer to bit-indexing and bit mapped indexing as a bitmap index.  Through my research I have seen these terms used interchangeably to define the same concept – bitmap indexes.

What is a bitmap index and how do they work?

Bitmap indexes are a mechanism, largely employed by Oracle databases, to increase search performance on large data sets.  Bitmap indexes are most effective when applied to columns that exhibit low cardinality.  In this case, cardinality represents the amount of unique values that a column may contain.  For example, a column called “Active” on a user account table would likely only contain two values: true or false (or active and disabled).  Regardless of the total number of tuples,  the values contained in this column is only two possible values.  This column exhibits low cardinality.  A column that exhibits high cardinality benefit less from creating an index on them and become candidates for a primary key – that is if each tuple contains a unique value. Continue reading