Hackathon for Ops – How Virtual Design Master is Lowering the Barrier to more Inclusive Hackathons


Episode 1 – The Idea: Watch On-Demand

Episode 2 – Building the Team Watch On-Demand

Episode 3 – Product Management for Hackathons Watch On-Demand

Episode 4 – Watch Live 7/25 here: https://www.youtube.com/c/EricWrightDiscoPosse/live

Have you ever thought about joining in on a Hackathon but you didn’t because you don’t know your Foo from your Bar?  The reality is that most hackathons are aimed at developers which can put up a barrier to entry for folks who come from the operations and IT architecture background.  I’ve written about this in the past here and the response was incredibly positive.  So, now it’s time to put that idea into practice!

This is your chance to join in something special that has a lot of excitement building among the technology community.  This is the chance to move from scripting out your simple tasks to participating in the building of a product and project with a team of folks who will bring diverse backgrounds and ideas to the event.  There are few opportunities to do something as meaningful as creating and nurturing both new connections and potentially a product that has an even bigger future!

Hackathon for Ops – The Virtual Design Master 2019 Event

Hosting a hackathon is just one part of the overall experience.  We are featuring a 4-part webinar series leading up to the online (yes…virtual Hackathon from anywhere in the world) event that will be happening in August.   This is where the fun and learning begins.

This is something that we at the Virtual Design Master creative team really feel is needed and the feedback has already been positive.


What can you expect to get out of being a part of the Virtual Design Master Hackathon Event?

  • Learn the skills you need as you join and plan for a hackathon event
  • Get past any worries that you don’t have coding experience
  • Seriously, you don’t need experience to join a properly inclusive hackathon
  • Discover how to find peers and mentors in the tech community to help you through the process
  • Have fun while doing all of these things!

The goal for people attending is to also take the confidence and skills you have built through the Virtual Design Master program to take even further by joining an in-person hackathon event such as those coming up at VMworld, Microsoft Ignite, and AWS re:Invent.

Our Virtual Design Master team will be representing at all of these events and will connect and coach for building or joining a hackathon team.

Virtual Design Master Season 6 – The Webinar Series and Hackathon

Live dates for Season 6 webinars which are also completely open and free for registration and will also be available on-demand from Youtube for further viewing.

  • Episode 1 – June 27, 2019 @ 1PM Eastern Time – REGISTRATION LINK BELOW
  • Episode 2 – July 11, 2019 @ 1PM Eastern Time – REGISTRATION LINK BELOW
  • Episode 3 – July 18, 2019 @ 1PM Eastern Time – REGISTRATION LINK BELOW
  • Episode 4 – July 25, 2019 @ 1PM Eastern Time – REGISTRATION LINK BELOW

The Virtual Design Master Hackathon date is being firmed up to occur in the first half of August.  The event will be 100% online and participation from anywhere in the world means that this will truly be an incredible, and inclusive opportunity for everyone.

EPISODE 1 – The Idea

Watch On-Demand

Before you jump into the hackathon, you need an idea.  This session is going to unpack industry tips on how to come up with an idea and evaluate how you and your potential team can decide what’s the right product approach to build.  This extends beyond a hackathon into every day technology life and will feature some great experiences shared with you and make sure you’re ready to go from idea to product!

EPISODE 2 – Building the Team

Watch On-Demand

Now that you have your idea, it’s time to think about how to recruit and assemble the team.  Team building in and out of the hackathon environment requires some thought of skills matching, evaluating personality traits and strengths, mentoring, and much more.  This episode explores the world of effective team building for your hackathon including the recruitment process which is very unique in the hackathon style.  These ideas also extend to our day-to-day team and personal experiences and will be effective and usable everywhere you go in business.

EPISODE 3 – Product Management and Live Hacking Techniques –

Watch On-Demand

Product management and the art of being ruthlessly pragmatic is important enough on a long-form development project, but critically important during a hackathon.  You and your team will need to make quick decisions and carefully manage your team’s time and capabilities to deliver a working and winning product at the end of the coding window.  Using experience in product management, product marketing, and in hackathon operations and participation, our VDM team will share how you can put core techniques into play to ensure success in your hackathon experiences.

EPISODE 4 – Getting Ready for the Hackathon + Test Pitches

Register for Episode 4 here:  https://discopos.se/vdms6e4

Now that you have followed the three-part webinars you are ready to lean about the hackathon experience and to see and hear your first test pitches.  This session will feature some day-before and day-of logistics, a discussion of how the scheduling and time management go during the live event, and also feature some tea pitches to hear how to do the  product pitch and to do last-minute recruiting or finding a team to collaborate with.






How to Add a Favicon in Ruby on Rails Apps

Favicons are this nifty little icons on the tab of your browser to help give a little personalized identity rather than the blank page one which is the default

This is one of the super fast things to fix yet I forget every time I build out a Rails app. Favicons can be created with a plethora of different sites. I’m old school and keep using DynamicDrive (http://tools.dynamicdrive.com/favicon/) as it has limited advertising and junk on the site.

The code block is super easy to remember…except when I need to remember it, so here it is:

<%= favicon_link_tag asset_path('image-name.ico') %>

Here are the steps to set up your favicon in your Rails app:

  1. Generate your icon
  2. Copy the icon to the app/assets/images folder
  3. Create the pointer in the HEADsection of your app/views/layouts/application.html.erb file as shown here:

Reload the server your server and you’re off to the races!  Once you restart your app you should see your new icon appear. There may be some delay because some browsers (Chrome being the main culprit) believe in caching everything to save you time on loading. This creates problems because sometimes the cache invalidation takes a while when you legitimately want to see an update.

This will be the end result:

Hopefully this is helpful and saves you a little hunting for the solution.

Installing PowerCLI 6.5.x on Windows Server 2012 R2 after Find-Module Error

Now that PowerCLI is part of the PowerShell Gallery, you can install it using the native module installer…but there’s a catch. Windows Server 2012 R2 requires a couple of minor updates to get this process underway. You’ll know really quickly if you open up your PowerShell terminal or PowerShell ISE (as Administrator) and try the following command:

Find-Module -name VMware.PowerCLI

The issue is easily solved be deploying a more recent installer for the PackageManagement PowerShell Modules. Download the installer using this link and run the install:


Select the Download within the page once you’re there:

Choose the x64 version (assuming you’re running a 64-bit OS):

Run through the installation and accept the defaults. Nothing significant to worry about with this file as it’s a necessary update for what we need to do.

If you run the Find-Module command again, you’ll see a much better result. You’ll be prompted to update your NuGet components which are used to pull resources from the PowerShell Gallery. Accept the update and then we can keep going:

Time to get back to the issues. Just relaunch your PowerShell terminal or ISE as an Administrator. We are running as Administrator so that we install the module for all users of the server. If you only want to run for your user then run your PowerShell session as your regular user and add -scope CurrentUser to the Install-Module command. Run the following to install for all users:

Install-Module -name VMware.PowerCLI

Now we have to import the module into our session using the Import-Module -name VMware.PowerCLI command:

Just like that, you’re up to date and running the latest and greatest PowerCLI goodness. Happy scripting!

Getting Terraform Provisioning Parameters from the Packet.net API

Provisioning on Packet.net is super easy using Terraform. One of the tricks you will need to know up front is that for Terraform and for many other provisioning tools, you need to provide a minimum set of parameters to launch.

As a minimum, you need to provide these following parameters as shown in the Terraform docs for the Packet provisioner:

  • hostname – gotta name ’em all
  • project_id – you need to know, or create the project to launch into
  • facility – which location are you deploying into? (EWR1, SJC1, etc.)
  • plan – which node type?
  • billing_cycle – hourly or monthly
  • operating_system – which OS will the node run?

Some are simple to use because they are your criteria. We choose the hostname, and we choose the billing cycle as either a static choice of hourly or monthly. How can we get the other details about our deployment? You can gather some data using a browser such as browsing to your project and then pulling the project ID from the URL. That still leaves us in search of the plan type, operating_system, and facility.

For completeness, let’s learn how to simply gather all four items (operating system list, project ID, plan types, facility) from the Packet.net API.

You’ll need a terminal session, your API key to query the Packet.net API, and the JQ tool for parsing out JSON results into something a little more friendly.

Querying the API is as easy as sending your token to the API using the cURL command and selecting which entities you want to query. This is the basic framework:

curl -s -X GET -H 'X-Auth-Token: YOURAPITOKEN' 'https://api.packet.net/OBJECT'

Now we can dig into the four easy examples we have.

Finding the Packet.net Facility Name

The simple one-liner will pull a JSON result that gives you the locations and subsequent Facility name that you can use and then parses out just the location codes to use. If you remove the '.facilities[].code' portion of the command it will show you the full pretty-printed JSON results including the full facility descriptions.

curl -s -X GET -H 'X-Auth-Token: YOURAPITOKEN' 'https://api.packet.net/facilities' | jq '.facilities[].code'

Finding the Packet.net Project ID

You’ll want the full JSON result so you can choose from your active projects if you have more than one. Just drill into the JSON results and you can locate the id field:

curl -s -X GET -H 'X-Auth-Token: YOURAPITOKEN' 'https://api.packet.net/projects' | jq

Finding the Packet.net Plan Names

Plans don’t shift around too much, just like facilities. Here is the simple query to get all the plan names and match them to what node type you want to use:

curl -s -X GET -H 'X-Auth-Token: YOURAPITOKEN' 'https://api.packet.net/plans' | jq '.plans[].slug'

Finding the Packet.net Operating System Types

By now, you can guess where we are going wth the next one. Query the API, parse out the results, and provide the slugs for the Operating System names which we will use for Terraform and other provisioning tools which consume the Packet API.

curl -s -X GET -H 'X-Auth-Token: YOURAPITOKEN' 'https://api.packet.net/operating-systems' | jq '.operating_systems[].slug'

The result will give you all of the slug names that are usable as the operating_system parameter. In the case of vSphere 6.5, it happens to be vmware_esxi_6_5 which may not have been obvious if you were to try guessing it out.

Now you can take those easy JSON results and feed them into a Terraform file or you may also use these raw queries as part of other configuration management and provisioning solutions. Hope you find this helpful!

Also, you can sign up for Packet.net to kick the tires on this goodness and you can use VDM25 as a referral code to get a 25$ credit to use. Make sure you tell them DiscoPosse and the Virtual Design Master crew sent you!