Stepping Down From President of Techlahoma

As of January 15, 2019, I am no longer the President of Techlahoma. I am still on the board however, and will serve out the remainder of my term through the end of 2019. I am also still running OKC.js and will still help organize ThunderPlains 2019.

My life has gotten a bit crazy this year for some personal/family reasons, and I also wanted to free up some more time to work on personal projects that I have been neglecting for some time now. Stepping aside as President will allow me to focus a lot more on my family and some other things I have been wanting to achieve in 2019.

Techlahoma’s new President for 2019-2020 is Jeff Lowe, and I know he will do a great job during his term, keeping the community’s best interests in mind.

Building a Custom Swing Set

Sometimes it’s good to spend some time away from the computer and do some real hands-on work. Last weekend I planned and built a swing set for my 3 kids to use and enjoy, and to encourage them to spend more time outdoors. It turned out pretty big – I used 10-foot long supports and a 16-foot long top beam this time around instead of 8-foot supports and a 12-foot beam like last time.

Future plans include a fort attached to the right side as well – perhaps in the spring :). Continue reading

Using window.confirm as a Promise

When writing a modern JavaScript application that uses Promises or async/await, it is sometimes useful to wrap other things in promises so they can more easily be used in a standard way throughout your codebase or in promise chains.

This is especially true if a built-in feature has the same properties of a promise, but is not one. The window.confirm API is one that I wrap a lot in my applications:

function confirmDialog(msg) {
  return new Promise(function (resolve, reject) {
    let confirmed = window.confirm(msg);

    return confirmed ? resolve(true) : reject(false);

And now we can use it just like a normal promise:

confirmDialog('Do you really want to delete this?')
  .then(() => doYourDeleteAction(
  .catch(err => alert('Unable to delete!'))

Now if you ever want to replace that confirm dialog with some custom version with a fancy UI like a modal window, you can do so much easier – just by updating the confirmDialog function itself.

Chromeless: Switching to Firefox

I have been a long-time Google Chrome user, but have been wanting to switch to Firefox for the past several months, but could not get myself to do it full-time. The interface was a bit dated, and the browser in general didn’t feel faster. I used Firefox Developer Edition for a while which had the newer UI now available in Quantum, but the lack of plugin/add-on support killed my web surfing experience, and I ultimately went back to Chrome.

Then everything changed when the Firefox team announced Firefox Quantum.  I downloaded it to try it out, and was off to the add-on site. The team did a good job ensuring most of the popular add-ons were up-to-date and working with the new changes in Quantum. I was able to quickly find and install the add-ons I needed, and have been using Firefox full-time ever since. It’s a joy to use, and consistently uses significantly less memory than Chrome. It’s my new go-to. Congrats, Firefox team – thanks for the hard work and the great release!

My Biggest Regret of 2017

Now that 2017 has come to a close, I can safely say that my single biggest regret of 2017 was selling my Bitcoin in mid-January.

For those not following Bitcoin, it means that I missed out on the huge upside – over 1,000% increase in price. D’oh!


My $202.84 worth of BTC would now be worth nearly $4,000. Oof.

ThunderPlains 2017

ThunderPlains is coming up fast – just two days away! This is the fifth year of co-organizing the conference, and we always have a great time with the local community.

Grab some tickets to ThunderPlains 2017 if you have not done so already – it will be a lot of fun to meet everyone else in tech working along side you in your own community. There is a lot more tech activity than you think – right under your nose here in Oklahoma!

Social Media Is Bad For Your Health

Over the past few months, my own outlook on the wide use of social media has grown dim. I have gotten to the point where I believe the saturation and over-use of social media is actually bad for your mental health. It’s impossible to have a real conversation. People automatically assume the worse intentions and read meaning into your text that isn’t there. Jealousy and bitterness of fake picture-perfect lives takes root in innocent hearts. There are still some upsides, but the list of downsides keeps growing longer.

Social Media Is The New Smoking

This Is How Your Fear and Outrage Are Being Sold for Profit