I'm an experienced web developer, software engineer, and leader. Welcome to my blog. If you need to reach out you can continue the conversation with a tweet to @geedew. I hope you find what you are looking for here. You can also find me on Github and StackOverflow.

Using AutoHotkey with Surface Pen


This is a scripting language designed for Windows to automate some usage. A lot can be accomplished by re-mapping the inputs.
While Windows 10 does allow apps to be loaded by the surface pen, however, these can be messed up and are very limited. What if the pen’s single click was “Copy” and the double-click was “Paste”? Something like this is easily achieved with AutoHotkey.

; remap surface pen button to copy to clip-board

Simple mappings can be achieved with short-syntax, however the surface pen tends to have some problems with this when turing off the hotkeys. More success can be had by using the full syntax and applying the down and off state.

#F20::Run Onenote ; Single click, Open OneNote
#F19::Send, {Shift down}{LWin down}s{Shift up}{LWin up} ; Double click, Take a screenshot into onenote (hotkey created by onenote)
#F18::Send, {Control down}{Shift down}{Alt down}x{Control up}{Shift up}{Alt up} ; Hold button to trigger snippet tool (hotkey created within Windows)

This is the beginning of using AutoHotkey. It’s been around for many years and has thousands of options that can be scripted including mouse moving and deep Windows interactions. Check out https://github.com/dantheuber/WinTop-AutoHotKey for one of my favorite ways to keep a window on top with a transparency.

Towards a single source of truth

I’ve come to realize that with complexity comes a large hit to the velocity at which one can develop software. Minimizing complexities when it comes to documentation and code discovery happens to be, in my experience, critical to a team being successful when programming anything with significant lines of code.

Read More

Predictions for 2017

2016 is now over and the new year has begun. It’s a great time to reflect on the past and also make predictions for the future. Technology, world events and software engineering tend to affect me the most these days. Why not take a fun guess at what 2017 has in store.

Read More

Displaying and escaping characters in Hexo

Hexo has a simple method for displaying characters that need to be escaped; using the raw and endraw tags. It’s possible to use the backtick character provided by Markdown to display the special characters and Hexo provides the {% raw %} {% endraw %} option to capture raw information not to be interpreted by Hexo, but hexo cannot support all strings. Like in the case of mixing the backtick ` statements provided by Markdown. The trick to be able to display any backticks (`) is a combination of the raw and endraw as well as using multiple backticks.

# Here is a codeblock using 3 backticks

# Render a backtick in Hexo
``{% raw %} `{% endraw %}``

# Rendering {% raw %} and {% endraw %} in Hexo
`{% raw %} {% {% endraw %}{% raw %}raw %} {% {% endraw %}{% raw %}endraw %}{% endraw %}`

CMDER on Windows causing Lock files in Git, and the fix

An issue can occur when working within CMDER when Git complains that an index.lock file exists and cannot continue. This happens to be an annoying bug in Windows and CMDER. To immediately fix this issue in Windows, the task manager must be opened and all git-for-windows processes need to be ended. Then the index.lock file can be deleted manually. Or… the bug can be fixed instead!

Read More