Author Archives: rolo928


I had the honor of volunteering Georgia Tech’s HackGT5 on October 19 – 21. All I can say is Wow! This event has grown and grown throughout the years. I am always astonished as to all the different participants who are eager to participate in the event.

Buses were sent out throughout the southeast to different colleges, where anyone who is willing to code for 36 hours is welcome to board. Students came bringing their favorite blankeys and pillows ready to forge through the night.

The most impressive part of the hack-a-thon is the vast resources provided by HackGT. They built a RFID system to keep track of candidates visiting sponsor tables in order to provide quantitative data to those sponsors. They had a hardware lending table to lend out hardware such as VR-goggles and Alienware desktops. HackGT partnered with MLH, Major League Hacking, to provide even more hardware. Different web apps where available for participants to get the information they may need. Additionally there was a Slack channel for the event.

The event was divided into 4 major subjects Web Development, App Development, Artificial Intelligence, and Cybersecurity. There where GaTech mentors present and available to throw ideas around finding problems to solve and how to solve those problems. The sponsors got into it as well by holding brainstorming hours at their kiosks.

All hacking stopped at 9 am on Sunday OCT 21 and the winners where promptly announced. This left the afternoon for breakdown and some satisfaction dinners all around.

HackGT conduct several events throughout the year. To become a volunteer or a sponsor go to


What programming language should you learn first?

Javascript! Javacript! Javascript! You can really choose anything but if you are on the fence then let me just choose for you. I fought the choice for a long time and the lingering decision held back my learning. Instead of just jumping in and learning something. I will detail why this is a great language to start with.

  1. Simplicity. This programming language can be as easy as you’d like or as complex as you need it to be. It all depends on your use and depth. Keep it easy and make simple one page dashboards or get in there and use it to manipulate the DOM.
  2. It’s everywhere. Javascript can now be found throughout the entire stack. It is becoming a more prevalent choice for all kinds of projects. Most frameworks end up using Javascript for a lot of their front-end components like Rails, Django, or Laravel.
  3. Flexibility. Javascript has a lot of support from its community. There are packages for many uses like graphs, encryption, and Typescript.
  4. Why Not. Yes, why not. It is the base for Chrome, the most popular browser for some time now

Stop trying to decide and just code already.

What are the capabilities of MDM?

Which MDM strategy is best and why? Just like anything in life there is no black and white answer. It all depends on what best fits you at the time and what you are willing to put up with. Let’s get started.

Apple iOS. For a young and hip startup iOS seems like the obvious choice. Apple is always successful in making a very streamlined process in order to get business done. Apple’s process is streamlined because they limit the control of their devices from system administrators. Many system administrators will take an issue with this but when you implement Apple’s DEP and VPP a big load is taken off the system administrators. The process becomes almost seamless in most situations. More on DEP and VPP below.

Android. For a system administrator this seems like the obvious choice. Android is all about choice and customization and a system admin is going to want the choice to limit as many features as possible in a secure environment. Android is open about their services including allowing a third party to use their own cloud messaging service.

DEP, KNOX, AFW. When an organization provides mobile devices to their workforce it is common to use an enterprise solution on the devices. Apple has the Device Enrollment Program aka DEP, this allows a company to register the devices directly with Apple as they buy them from their provider. When the devices gets to the user, it is already enrolled into MDM. KNOX is an Samsung’s enterprise solution. It provides system administrators with their own console on Samsungs website to manage devices, however it limits some of the capabilities from your own MDM provider you may already paying for. Android for Work or AFW is Google’s solution for enterprise management. It is probably the easiest one to implement. It only requires a company Gmail account to be registered on the AFW website and then entered into the MDM console.

BYOD. Bring Your Own Device solution is great for very large organizations or just organizations who will allow users to use their own phone with their network. There is a disconnect between marketing and its function, as there usually is when it comes to marketing. The solution is marketed as if there exists two separate OS’s on the device, one for work and a separate one for personal use. It is nice to see this separation, it is not always functional. Also this separation does exist virtually when there is only “one” OS on the device and it is more functional for the user. Any app pushed from MDM is managed and therefor exists independent of personal apps. If MDM is removed the managed apps will also be removed. There is even a policy to prevent data from leaking to a non-managed or personal app.

Device capabilities change with every new version of a device and OS updates. As well as the implementation of these new enterprise solutions. What solution do you have experience with? What is your favorite solution? What choice would you make if you could start from scratch?

What is Mobile Device Management (MDM)?

Let’s talk about Mobile Device Management (MDM), a software that allows taking control of portable devices. Once under management, an administrator can enforce rules for those devices to abide by. These rules, or policies, can include a passcode, restrictions, apps, email, and much more.

What does MDM consider a mobile device? The easy ones to reference are iPhones, iPads, Android phones, and tablets, but what about a mobile printer, laptops, scanners, iWatch, drones…? In order for a mobile device to be able to be managed by MDM software, the manufacturer has to make the device’s features available for MDM. So this definition is constantly changing, as devices become more popular for use in our daily personal and business lives, manufacturers are enabling more toes of devices and features. IoT is coming and I am sure these ubiquitous devices will be quickly added to the list.

Different companies have different ways of referring to their MDM program such as Enterprise Mobility Management (EMM) or End User Computing (EUC), but no matter what you call it, the rules are limited to what the manufacturer makes available on their devices as well as what the MDM provider enables on their admin console. Therefore it is important for the MDM provider to have a close relationship with the manufacturers so they can keep up with these features as they are made available or removed.

Big decisions that will affect your MDM capabilities are choosing the types of devices allowed for your organization, most popular are Android vs iOS, type of enrollment Enterprise vs BYOD. Additionally a specific manufacturer like Samsung offers more options for MDM as well as more enterprise focused solutions

The entire suite of capabilities that encompass MDM can be broken down into the following:

MDM: device policies such as disabling the camera, buttons, or settings access.

MEM: Mobile Email Management – enterprise email capabilities.

MAM: Mobile Application Management – delivering apps to the devices.

MCM: Mobile Content Management – delivering secure files from a drive or directory.

I will write another article diving into each section at a later time.

It is important to note what MDM is not. It is not a GPS tracker, telecom collection tool, or AD group policy compliant. MDM can do some of these aspects but there are caveats to each feature. There is a trend moving toward an AD group like management. Some of the most popular providers include VMware UEM(aka AirWatch), IBM MaaS360, Mobile Iron, Citrix XenMobile, and Good Technology.

Let me know your thoughts regarding MDM in the comments below.

2014 Complete Guide to Installing Ruby 2.0 and Rails 4.1 on Windows

If you are trying to dive head first into web development and don’t know where to start… STOP. Ruby on Rails is an excellent fun way to learn that will show you how to use the MVC architecture. Now there can be no excuses because here are the instructions on how to install Ruby 2.0 using your Windows machine.



1. Download and install Ruby 2.0 from (

2. Download the corresponding development kit from (
a. Extract it to a permanent directory, for example say “C:/Ruby200/devkit”

3. Open a command prompt, change directory to “C:/Ruby200/devkit”, and type the command “ruby dk.rb init”
a. This creates the file “config.yml”, be sure it has the directory that holds ruby, the last line   should be: “- C:/Ruby200”.

4. At the command prompt, the next command is “ruby dk.rb install”

5. At the command prompt, the next command is “gem install rails”

Now you have the Ruby language installed along with the Rails gem. Next install SQLite3


1. Download SQLite source code from

2. Extract to C:\ruby200\devkit\sqlite-autoconf-3080600

3. Add devkit to the path
  a. At cmd prompt, cd to C:\ruby200\devkit\sqlite-autoconf-3080600
  b. type the command “c:\ruby200\devkit\devkitvars.bat”

4. Start a MSYS shell
  a. At cmd prompt C:\ruby200\devkit\sqlite-autoconf-3080600> sh

5. Configure SQLite3
  a. At MSYS shell sh-3.1$ ./configure CFLAGS=”-DSQLITE_ENABLE_COLUMN_METADATA”

6. Build SQLite3
  a. sh-3.1$ make

7. Let us build the SQLite GEM
  a. Go to SQLite gem directory C:\ruby200\lib\gems\2.0.0\gems\sqlite3-1.3.9
  b. Enter the cmd: ruby setup.rb config — –with-sqlite3-include=c:\ruby200\devkit\sqlite-autoconf- 3080600 -with-sqlite3-lib=c:\ruby200\devkit\sqlite-autoconf-3080600\.libs
  c. Enter the cmd: ruby setup.rb setup

8. Update specifications directory
  a. Go to directory c:\ruby200\lib\ruby\gems\2.0.0\cache
  b. Enter the cmd: ruby spec sqlite3-1.3.9.gem –ruby > ..\specifications\sqlite3-1.3.9.gemspec
  c. Enter the cmd: gem list (you should now see sqlite3 on the list)

9. Copy the “”” from C:\Ruby200\lib\ruby\gems\2.0.0\gems\sqlite3-1.3.9\ext\sqlite3 to C:\Ruby200\lib\ruby\gems\2.0.0\gems\sqlite3-1.3.9\lib

GEM FILE (for windows only)

1. open Gemfile.lock

2. delete “sqlite (3.0.1-x86-mingw32)” and “bcrypt-ruby (3.0.1-x86-mingw32)”

gem install bcrypt-ruby –platform=ruby –no-ri –no-rdoc

3. Any gem with -x86-mingw32 will not install properly using bundle install, beware the -x86-mingw32 will come back when you run a bundle update. This means to try not to run a bundle update and if you do after every time you run it you will have to repeats steps 1 and 2.

INSTALL SUBLIME(Or your favorite editor)
1. Download Sublime text editor from (

2. doskey subl=”C:\Program Files\Sublime Text 2\sublime_text.exe” $*



2013 DARPA Robotics Challenge Trials

How close are we to developing a humanoid robotic assistant? We all know technology is advancing at an exponential rate, but how and when will androids become a common part of our daily lives. The Defense Advanced Research Projects Agency is taking the first step towards this harmonic view of humans and humanoid robots working together. On 21 DEC 2013, as part of the DARPA Robotics Challenge, the DRC Trials were held at the Homestead Miami Speedway. The trials let teams from around the world test their robots’ capabilities on 8 individual, physical tasks that focused on rescue operations. The teams which participated were made up from the private sector and international universities. DARPA does not want to limit any particular domain from the competition and provides different levels of funding and even a the hardware in the form of the ATLAS. The ATLAS is a humanoid, hydraulically powered robot acquired from Boston Dynamics, it will allow certain teams with limited resources to focus just on software.  DARPA’s goal is to develop a robot capable of executing complex tasks in dangerous, degraded, human-engineered environments. As a secondary goal DARPA seeks to standardize and advance the development of robot systems, hence making these systems more available and lowering acquisition costs. DARPA will declare success when these robots can be called upon to assist during major disasters such as earthquakes or industrial accidents. The Trials main focus is on robot mobility, manipulation, and dexterity. At the trials, 8 Teams qualified for funding to compete in the 2014 DRC Finals(date TBD). The DRC Finals winner will secure a prize of $2 million.

Check out some cool pics right here:

Set 1     Set 2     Set 3

DLSR Camera???

I have always considered myself a closet professional photographer. Since the beginning I have always carried a camera pretty much every where I went, even if it was a disposable 35mm. I’d be there to save the day and capture that perfect Kodak moment.

Eventually I moved on the point-and-shoot’s. The versatility of digital point-and-shoot’s were great. If you messed up a shot you could just keep taking more and more shots of the same scene and not have to worry about using up the film. The Canon Power Shot series really did serve me well. Unfortunately point-and-shoot’s still don’t cut it. Some aspect of the picture would always be sub-par. The picture just wouldn’t be clear, sharp, or focused enough.

The time finally came… it was time to upgrade. I was now beginning to produce different programs and websites were details mattered. I needed to be able to produce my own pictures not only for copyright reasons but also for quality. Some projects would have specific resolution standards, like an android app does for all the different devices it supports. I was torn between a Nikon D3200 vs a Canon Rebel T3i. They were both so similar, but after working with a Rebel on a class project my mind was made up… or so I thought.

Something kept bothering me about my decision. As much as I like to have the best equipment possible, my biggest motive for any device is comfort and practicality.

Olympus E-PL5

Olympus E-PL5

A traditional DLSR would be too bulky to take out to social events. Also the picture size would be out of control for the type of projects I create. I needed something less than a DLSR but more than a point-and-shoot.

Enter the Olympus E-PL5!

Cadet Song

I am an Army cadet.

Soon I will take an oath to become an Army officer. Committed to defending the values which makes this nation great.

Honor is my touchstone.

I understand mission first and people always.

I am the past, the spirit of those warriors who have made the final sacrifice.

I am the present, the scholar and apprentice soldier enhancing my skills in the science of warfare and the art of leadership.

But above all I am the future, the future warrior leader of the United States Army.

May God give me the compassion and judgment to lead and the gallantry in battle to win.

I will do my duty.