Sign in

I am a software engineer with a passion for brainstorming and ideation. I believe everybody has a set of skills that can be the seeds for future businesses.

A cautionary tale of opportunity and greed

Photo by luke flynt on Unsplash

John sat upon the edge of a precipice, overlooking the wind-swept valley full of giant spinning blades. Through his perpetually fogged up goggles, clouded by the breath expelled from his tired lungs, he could barely make out the ground below. What once was a valley teeming with luscious grass and dotted with wildflowers, is now a barren land strewn with dried up weeds. The blades above had sewn a promise with the earth to forge a better future, but it was a promise that had long been broken. Broken by the hands who…


Have an idea for a card game? Design it. Print it. Sell it!

Photo by Andrik Langfield on Unsplash

While working on the brainstorming prompts and challenges presented in my previous article, I thought it would make for a pretty interesting card game.

The concept would involve generating lots of different prompts in the user story format, grouping them by industry and type, and releasing different packs of these cards following an “expansion pack” model. The game could either be single player or collaborative, but would not necessarily have a “winner” or “path to success.” It would purely be designed to stoke the flames of creativity and ideation.

However, this article isn’t about the concept of this game, so…


25 prompts to get your creative juices flowing

Photo by AbsolutVision on Unsplash

Idea generation and brainstorming is something that every entrepreneur goes through. There are many exercises, techniques, and methods for optimizing the brainstorming phase of building a business. If you have not had an opportunity to do so, check out my other article on how to leverage Twitter in the idea generation process.

In this article, we will enhance the idea generation process by using a brainstorming game. The game involves randomly picking a prompt which will ask for a solution to a problem or a way to enhance something. Once the prompt is selected, a challenge modifier will be randomly…


Using Twitter is an effective way to find problems that people have, this can lead to creating a business as a solution to these problems.

Photo by Jan Meeus on Unsplash

Every entrepreneur, or aspiring entrepreneur, is always on the hunt for that next million-dollar idea. However, in much the same way as dating, sometimes searching relentlessly yields little to no results. Often times the best ideas come to those that least expect them.

To many budding entrepreneurs (and experienced ones) this waiting game sounds terrible. We are cursed with the least amount of patience when it comes to growth and strive for immediate results. Have you ever banged your head against the wall, scouring through every nook and cranny in the dark dusty corners of your mind for a smidgen…


Let’s Focus on Something Else

Photo by Pass the Honey on Unsplash

When hearing about blockchain, distributed ledger technology, and cryptocurrency the first thing that you are probably attracted to is the financial aspect. The prospects of getting rich quick from one of the many bubbles, initial coin offerings (ICO), or “decentralized finance” crazes are often more tantalizing than the call of the siren, but we need to break away from this. Distributed ledger technology (DLT) and blockchain is so much more than just a method of value transfer, decentralized banking, or asset exchange. It is a way to break away from the centralized web that places so much emphasis on the…


The implications of “The Impostor”

Cover art for the game “Among Us”

Among Us is one of the latest crazes to hit online gaming and the streaming platform Twitch. It has a simple premise: players complete tasks on a ship, but among them are impostors that attempt to sabotage and kill the other players while avoiding detection. The game is cross-platform across PC and mobile, lending to its viral success. However, this is not a game review…

The idea of an “Impostor,” or malicious actor, among a group of individuals working towards a common goal is what makes one of the biggest problems in computer science and theory so complicated. This problem…


Extracting Value from Comments

Photo by Fabrice Villard on Unsplash

This is the second part of the walkthrough “Cool Stuff with Go’s AST Package.” If you have not yet had the opportunity to review the first article, I recommend starting there to become acquainted with abstract syntax trees, the Go package itself, and the facilities provided by the package for traversing Go’s AST.

What we Will be Covering

In the first article we introduced NATS and how it can be used to create a microservice that publishes regular heartbeats on a message topic. …


Ability to Recreate One’s Self

Photo by Markus Spiske on Unsplash

The “Beyond the Source Code” series of posts will explore source code beyond its use as a set of instructions that direct a process or set of processes. We will dive in topics such as readability, metaprogramming, quines, and many other topics that look at source code in a different light. The motivation for this series comes from the idea of making source code work for developers, rather than the developers having to work against the source code.

In the previous article we dove into readability and understanding of source code, with a focus on self-documenting code, comments, and documentation…


Time for a bit of tough love

Photo by Sarah Kilian on Unsplash

Everybody in the business of working with ideas has heard the phrase “ideas are a dime a dozen.” Yet for some unknown reason, everybody holds onto their ideas like they are the most precious diamond on the face of the planet. Yes, you should cherish and care for your ideas, but do not become obsessive. Ideas are in essence extremely cheap, with many bordering completely worthless due to intractability, no market fit, or a lack of resources to see the idea to fruition. Learn when to move on.

Face the Fact

You will come up with bad ideas, especially if you go out…


The Package for Dissecting the Go Language

Photo by engin akyurt on Unsplash

Let’s explore the awesome builtin packages that ship with Go, and the cool stuff you can do with them. I will pick some of the more “obscure”, “complex”, and/or special purpose Go packages, especially ones that set the language’s builtin library apart from other languages.

The first stop is the go/ast package. This package is used to explore the syntax tree representation of a Go package, and can be used to perform static analysis, code linting, metaprogramming, and anything that requires a structured interpretation of Go source code.

This walkthrough is broken up into three parts. We will explore traversing…

Cooper Thompson

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store