Welcome. This is my site. The site for Darren Hoehna a.k.a That Programming Guy. I am the guy that makes videos that shows people that learning is hard and takes time.
When I am not making videos I work full-time as a Software Developer at Microsoft.
When I am not working and not making videos I’m usually with my wife and dog and cat. You know, because they are cool and I like the feeling I get when I am with my family.
Here is a list of projects I working on. You can find descriptions of these projects after this section.
Making a Maze Generator in Haskell (Practice Makes better).
Schedule: Saturday from 11AM-12AM on twitch.
Making a 68000 Assembler and Emulator.
Schedule: Sunday 11AM-12AM.
Code && Caffeine (Meetup)
Schedule: Every Tuesday from 6PM-8PM PST.
To learn a different language. I heard Haskell was a very different language and learning Functional Programming principals would help make my code better.
To prove to everyone that, yes, learning Haskell is hard and takes time.
To learn assembly and how my assembly code is executed on a chip.
To have a place for developers to come together and talk to other like-minded individuals.
So. That Programming Guy. Why exactly are you doing all these projects?
I’m glad you asked. I’ve been looking for an opportunity to talk about these projects. :) <- can I use that?
I’ve encountered many people on the internet /r/LearnProgramming really that say Haskell is too hard, or, that Haskell seems really cool but they just can’t get into it.
Well. Of course! If you are trained in a C-Style language like C/C++/Java/Python of course Haskell is hard. It is a different way of thinking and a totally different syntax.
I started this project to show people that Haskell is hard and it takes time to learn. To accomplish this goal I record myself trying to make a project in Haskell and record in real time. Nothing is cut. This is to show how long it is taking me, a seasoned programmer who knows enough to work at Microsoft, to make something in Haskell.
Because I want to learn different languages. Way back in 2016 I was unemployed for 5 months. To make myself more marketable I decided to learn different languages. The first thing I had to decide on a project and do the same project in every language. This way, I could focus more on the language and not on the logic.
I decided on a Maze Generator because I was reading “Mazes for Programmers” and really wanted to make a maze. I made my first Maze Generator in C#. I constantly refer back to this project when working in Haskell to remind myself how I did something.
Following the “I want to make a Maze Generator in different languages” idea from above. This project started out as me trying to make a Maze Generator for the Sega Genesis.
Why the Sega Genesis? Because I like it. Sega, if you are reading this, I’ll buy your next console. I’ll wait till the end of time for it.
While researching exactly how to make a Sega Genesis game I read that the Sega Genesis uses the 68K processor my Motorola. Cool, so I need to learn 68K assembly programming.
Now, there are plenty of 68K assemblers and emulators out there and I could use them. But, I wanted to learn how my assembly code is taken from mnemonics to running code on a chip. What better way to learn the process than to reinvent the wheel? So, that is what I’m doing.
This started as a joke. While I was unemployed between jobs I went to the Code && Brew group. They were great. Eventually I was on the waitlist because I RSVP’ed too late.
While in the waitlist I made the joke “If I had my own group I would never have to be in a wait list”. The leader of Code && Brew replied to my comment asking “You serious?” I shrugged and replied “Sure. Why not?”
So, now I have a pretty active meetup for developers and all shapes, sizes, creed, and experience.