Devblog

Douglas Gaskell

Category: Uncategorized

Using MahApps To Improve My WPF Visuals

After making my login helper, I realized that it looks pretty crappy. It may  have the behavior I want, but no one it going to look twice at an application that appears to have come from the Windows 98 era. I searched around for a solution, and decided to go with a Metro design. There are a ton of different frameworks for metro-like applications, however MahApps seemed like the best choice for me.

The Setup:

First things first, get the Nuget package via:  Install-Package MahApps.Metro -Version 1.12  this will install the current (as of today) stable release. For more release info go here.  Getting the ball rolling with MahApps is hilariously simple, they have a quickstart guide on their site here that walks you through making your first metro window. Actually, their entire site details most of the frameworks features. I don’t need to tell you how to set this up, just refer to their quickstart as well as their controls guide for that!


 

So I went ahead and stayed up till 4:00 A.M. and made my application look a LOT prettier than it was before. I also played a bit with XAML animations to produce this effect for my password popup:

passwordpopup

Here is a .gif of the new application look: websiteLogins2

I’m happy with the results

Logging Into Websites Programmatically

I recently started a new job providing low-level support for a startup food delivery company.  During my first couple weeks I noticed a small inconvenience that stemmed from the companies disorganized structure.  We have 1/2 a dozen tools and sites that we need to log into when our shift starts, each one requires you to type in your very lengthy company email and password.

Now you may be thinking “wow, 6 logins, no big deal”, but think of it in terms of wasted time. If you have 30 people spending 5 minutes of their day logging into their tools, that’s 2.5 wasted man hours every morning. Not to mention how annoying it is for everyone involved to type out the same login over and over at the beginning of each day. I decided it was my time to shine, put some of my novice programming skills to the test. I went home that night and started working on a WPF application to automatically log into these sites, it only requires you to type in your password each morning.

Most of my coworkers use the same password for all their tools, this means I only need them to type in their password once. For sites they use a different password on, I can just include an option to type in that sites unique password before login. So I’ve figured out what I want to do, now how am I going to actually accomplish this?

If we used Internet Explorer, this would be a piece of cake and I could have just created a PowerShell script to log everyone in, but we use Chrome. This really throws a wrench into my plans, I need to figure out a way to programmatically manipulate Google Chrome into logging into these sites for me. After a little research I stumbled upon Selenium, a library designed to use Web Drivers made for various browsers to programmatically simulate a users input. I wanted to use it for Chrome, according to the documentation this meant I needed to get my hands on the ChromeDriver, an open source Chromoum project.

After many days, lots of research (nearly 400 google searches in 1 week), hacked behavior, and frustrating dead ends. I finally created an application that will log you into almost any website.

Here is a .gif of it in action:

websiteLogins

 

I’ll be making a multi-part post with a general overview of how to make this soon!

 

Alcohol Assisted Coding

(Image Courtesy of XKCD)

I messaged my programming buddy the  other night about creating a server side API for the chat module I’m currently developing for our game. He replies back that he is fairly drunk and that he may or may not make any sense if we get into it. A heated discussion follows while we discuss how the implementation details of the API. Eventually we decided that there was a bit too much alcohol involved and we will pick this back up tomorrow.

It got me thinking back to various jokes about drunk programming , and how the right level of drunk makes for some very productive coding. I decided it was worth putting it to the test on a Saturday night. I grabbed a glass, poured a few shots of vodka into it and filled the rest with OJ, sat down and started work on the chat module.

It was a pretty mundane process since all I was doing was your typical refactoring work. I found myself on youtube more than in visual studio. As the vodka started to take effect, I began to spend less time watching videos and more time in Visual Studio. This continued till I completed my task, as I looked back at my work I couldn’t help but think of myself as a wizard as I evaluated my meticulously commented and structured design.

I ended up making a few types, rewriting all of the methods for the chat box as well as creating a fully commented public API for the serializer in record time. I looked back at my work and couldn’t help but think of myself as a wizard as I evaluated my meticulously commented and structured design.


After some deliberation I believe I figured out why my productivity was so greatly improved under the influence of alcohol. Being buzzed or drunk seemed to have given me a certain sense of apathy towards what I do, I found it easier to stay focused on a relatively boring and tedious task as refactoring.  I was not bothered by the tediousness of the task, regardless of how dull it was my depreciated mind was happy to do it.  After a bit of research it looks like a study was conducted in 2012 regarding alcohol and creative thinking backs up my results. It concludes that the intoxicated group was able to solve creative thinking tasks faster than the sober group. Here is a nice conclusion to the study: How Drinking Makes You More Creative.

All in all, I may end up using a bit of alcohol as a tool when programming. After this experience I am not against recommending others give it a shot and see how it works out for them.


TL;DR: Being buzzed/drunk gave me a certain level of apathy towards whatever task I was engaged in. It facilitated the state of mind that let me focus and refactor my code without distractions. Would recommend, the Balmer Peak seems to have some truth to it. (PubMed)

 

Blog Started

Hello Friends,

My name is Douglas Gaskell, I’m a novice programmer and game developer. I recently started learning programming and game development within Unity “officially” at the beginning of 2015, though I started dabbling in the fall of 2014. I’m an IT Tech by trade and am trying to work my way out of IT support and into a more creative and immersive field such as software/game development.

Throughout this blog I’ll be documenting my programming and game development progress, as well as the specific progress of an unnamed game myself and a team mate are working on under the newly created studio of Verichron Games. The game is set to be a small-scale 2D space RTS with inspiration from The Space Game, StarSector, and Gratuitious Space Battles. Development started in the fall of 2014, and has been steadily moving forward since then.

I will also be posting Unity tutorials, as well as programming assets for Unity developers. Some of these tutorials and assets will cover topics such as object pooling, enemy detection, turret behaviors, and game object reference tracking. If any of you have specific topics you would like to see covered (that would relate to what we have done in an RTS environment) please drop me a note here.

© 2017 Douglas Gaskell

Theme by Anders Noren edited by Douglas GaskellUp ↑