Introduction & General information 

The Nerdio Hackathon will run for two full weeks, included the weekends, from June 14th through June 28th, 2021. Final submissions must be turned in by June 28th at 18:00 PM EST.  

We will kick off the Hackathon with a launch event, which will be held on Wednesday, June 10thThe event will cover the Hackathon in general, a few examples, and of course some more details around the “Rules of engagements” and who to contact if you have any questions or issues. It will be recorded for those who are not able to attend.  

All scripted action (scripts) written will stay with its creator. Meaning, Nerdio will not become the owner.  

All scripts will be shared publicly via our public GitHub repository, free for everyone to download and use. The main goal of Nerdio’s Hackathon is to come up with solutions and optimizations around WVD and Azure in general; free for everyone to take advantage of. This includes all Azure/WVD infrastructure components, image management, and more – time to get creative and think out of the box. 

Anyone can participate. You do not have to be a master scripter! In fact, we will offer a scripted actions “Beginners” section with separate prizes 

The signing of our NDA is mandatory. This way there will be no misconceptions of who owns what (IP), for example. The NDA provides guidance on potentially shared responsibilities. Once we have sent it to you, please sign it and return it ASAP, as you are not allowed to participate without it.  

Some scripts – not all  will become part of the Nerdio Manager for WVD scripted actions library for Nerdio customers to take advantage of. Nerdio will make that decision but we will always ask for you permission to do so.  

Signing Up

Sign up here

After you have signed up to participate in the 2021 Nerdio Hackathon, make sure to sign your NDA (you will receive one from us, this not an automated process and therefore can take a while) as soon as you can. You are not allowed to participate without signed NDA.  

Once you are enrolled, please make sure to check out the Hackathon “Scripted Actions Categories, Levels, and Topics” section below where you can pick your challenges (will stay hidden for now). Also see the “Submitting Scripted Actions and Criteria” section to find all information around any specific criteria we’ve set out, how to submit your scripts, and so on.  

If you would like to participate, or work as a team, you can. Just keep in mind that any prizes you may win, you win as a team and must be split between members as you see fit. You don’t have to let us know per se, and of course, all team members will have to sign up individually. We do not have a separate Hackathon team sign-up form.    

The first 25 people who sign up and participate will receive a bonus package consisting out of cool swag materials. 

Scripted Action Categories, Levels, Topics 

We will have two categories in which you can participate: Challenges and Freestyle, split into two levels: Beginner and Advanced. Both categories will be primarily focused on the following topics, however, feel free get creative (you will be rewarded for that). Also, when solving one of the challenges, if it’s not 100% as described, that does not matter, share, or send it over anyway.  

  • Performance optimization 
  • Cost optimization 
  • Image and application management 
  • Integrations with other products and/or services 
  • Deployment WVD and Azure components 
  • Monitoring and alerting 
  • MSIX app attach deployment and management 
  • Hardening (security) 
  • Troubleshooting 
  • Monitoring  

  

Advanced Level – Challenges/problem solving (will be published on June the 14th):  

  1. Configure regional settings and language on session hosts, with different language per host pool, but using the same image 
  2. Create and Configure an Azure Firewall, and configure a block list for www.bbc.co.uk 
  3. Configure alerting on Azure Monitor data (e.g., latency for a user above X ms for Y minutes)  
  4. Compress old Log Analytics data to save on storage space  
  5. Deploy NAT Gateway on subnet to route all WVD host traffic out of a single public IP  
  6. Integrate with Universal Print  
  7. Configure a WVD Insights dashboard to show xxx (to be determined later)  
  8. Configure Microsoft EndPoint Manager and Auto-Enroll Hosts for a personal host pool  
  9. Deploy an application via Microsoft Endpoint Manager onto a personal host pool  
  10. Perform end-to-end deployment of a MSIX App Attach application and assign to a user (does not include packaging) 

 

Beginner level – Challenges/problem solving (will be published on June the 14th):    

  1. Enable Trusted Launch on session host VMs  
  2. Create a scripted action to set BGInfo wallpaper on a host pool   
  3. Install Windows Defender for Endpoint agent  
  4. Remove OneDrive, update and install in per-machine installer mode  
  5. Create a scripted action to enable Google Chrome VDI Optimizations  
  6. Create a Host Pool containing 3 x GPU Enabled Hosts in UK South  
  7. Run an inventory script of all software installed against all host pools in the environment and export to a CSV File on a network share 
  8. Publish Microsoft Edge as a RemoteApp and assign a user 
  9. Create a Log Analytics Query which shows all connections within the past 7 days, The time the user connected, the time the user disconnected, the source IP address, & which host the user was connected to  
  10. Retrieve critical information for all host pools and all WVD Information in the environment, i.e., host names, host pools, uptime of hosts using the AZ.WVD PowerShell cmdlets 

 

Freestyle speaks for itself: 

You can come up with any type of solution, optimization, automation, etc., that you think will make the life of a WVD/Azure administrator easier. Adding efficiency, saving on time and other resources, financially, for example, and so on. It is time to get your thinking caps on and let those creative juices flow! 

As you can see, (again, challenges will be shared at the beginning of the Hackathon) there is plenty to choose from. You don’t have to pick one over the other, you can compete in both categories (but only in one level: advanced or beginner). You may also send in as many scripts as you want; there is no limit. 

If you have any questions, please do let us know, we are happy to explain in more detail.  

All scripted actions will be reviewed equally. Meaning, you won’t earn more points for solving a challenge as opposed to coming up with your own scripted action type (Freestyle). See the section on “Panel and Review” below as well.  

Submitting Scripted Actions and Criteria 

Criteria: Windows scripts need to be able to run under the local system account.  

AD credentials can be passed on using variables. This is done automatically within Nerdio Manager for WVD and MSP (see below), but can be done any way you’d like during the Hackathon event. When we decide the script will become available within the Nerdio scripted actions library, this behaviour can be changed afterwards, with your permission, of course. 

Scripts do not have to specific to Nerdioso it should be possible to run these on, or on top of other (native) Azure services, like WVD host pools, Azure images, MSIX AppAttach, Azure Files, FSLogix, various Operating Systems, virtual machines, etc. 

The scripts will also be able to reference other scripts, but you must use PowerShell to start the process. This means that you can run your scripts all within native PowerShell, or you can use PowerShell to spawn off other scripts, i.e., ARM Templates, Bicep, Packer, etc.  

If you want to reference the variables used and predefined by Nerdiosee below. The following variables will be passed to the script and can be used in the PowerShell commands: 

WVD ARM:  

$HostPoolId
$HostPoolName 

WVD Classic: 

$TenantGroupName
$TenantName
$HostPoolName 

ALL: 

$AzureSubscriptionId
$AzureSubscriptionName
$AzureResourceGroupName
$AzureRegionName
$AzureVMName
$ADUsername (if passing AD credentials)
$ADPassword (if passing AD credentials)
$DesktopUser (if using with personal host pool)   

Submitting your scripts: For the purpose of submitting your scrips, you have the following options available: 

  • You can make them available via your own public GitHub repository from where Nerdio can reference them – send us the link using the email address mentioned below.
  • Via emailhackathon@getnerdio.comSend us the script per email and any additional information we might need.

Please use a clear description at the top of your script to indicate which challenge (include the Nr.) you are trying to solve or what the idea behind your script is if you participate in the “Freestyle” category – see below. 

Important: if there’s anything specific that needs to be in place for the scripts to be run successfully, or any parameters that need to be changed, etc., please make sure to include that kind of information when submitting your scripts. 

As part of the script submission process, please provide evidence of the script executing successfully. This can either be a short video, a screenshot, or the code output. 

Email template:

Please, use the template above (we’ll make sure everyone gets it) for submitting your scripted actions.

Panel Review 

All scripted actions will be carefully reviewed (see main landing page for an overview of our all-star panelist team). If we find anything that needs to be changed, whatever the reason may be, we will inform the author of such a change so he or she can agree or not. Panel members are not allowed to join the Hackathon themselves. 

Depending on the number of scripts and the availability of our panel members, the reviewing process can take up to four weeks, but we’re aiming for two.  

Scripted actions will be reviewed based on things like usability (how generic is it), originality, functionality, error or fault free, and clean use of code – panel members will review independently of each other. 

As part of the script submission process, please provide evidence of the script executing successfully. This can either be a short video, a screenshot or the code output. 

If there any specific environment settings that need to be in place for the script to be executed, then please include this as part of the submission process.  

The scripts will be validated by our panel members, and if we have problems running the script, then we will contact you to validate the issue.  If we are unable to execute the script, points will not be assigned. 

 Point System: 

  • 1- 5 points – Script is easy to read, has a good description, and clean use of code. 
  • 1- 5 points – An original approach to a challenge. An idea we have not seen before. 
  • 1-10 points – Script runs without errors and achieves the desired outcome/solves challenge. 
  • 1-15 points – Script contains error checking and validation.   
  • 1-20 Points – Script uses native APIs where possible instead of using dependencies on other modules or libraries.   
  • 1-25 points – Script has integration into other systems to achieve the outcome i.e., Ansible/, CICD pipelines. 

We won’t check for plagiarism, per se, unless it’s obvious to one of the panel members. We expect fair play from everyone. Nerdio won’t be held accountable for that; that’s on you. Reusing your own code is perfectly fine, of course – it doesn’t have to be something new.  

All scripters will be credited at the top of the scripts so everyone can see who the original authors are. We do not plan to pay any of our participants. It’s a contest, it’s fun, and it’s useful for all. Enjoy! 

Prizes to Win 

Advanced: 

1st Place: $1,000 Amazon Gift Card 

2nd Place: $500 Amazon Gift Card 

3rd Place: $250 Amazon Gift Card 

4th Place: $100 Amazon Gift Card 

5th Place: $50 Amazon Gift Card 

  

Beginner: 

1st Place: $250 Amazon Gift Card 

2nd Place: $100 Amazon Gift Card 

3rd Place: $50 Amazon Gift Card 

The first 25 people who sign up and participate will receive a bonus signup package consisting of some cool swag  

Next to that, we will be giving a Microsoft sponsored WVD goodie bag that you won’t want to miss 

 

Once all scripts have been reviewed and ranked we will contact the winners to collect their prizes. Of course, we will be announcing this publicly as well. We will probably organize a separate event to go over the Hackathon highlights, officially announce the winners, and such.

Social Media & Promotion 

Finally, please, feel free to share your work and participation on your social channels. In fact, we encourage you to do so, and we will do everything we can to amplify all you are doing! When doing so, consider using the Hashtag #NerdioHack2021 

Let’s make this as big as we can and have some fun!