Tried Peking Duck for the first time with a buddy this afternoon! It was really tasty and I enjoyed it but don’t know if I’ll have it again cause it was kinda spendy.

Colorado Camping - North Fork Pudre Campgrounds

I went camping in the Rocky Mountains this last weekend! Through the power of the internet and online gaming I’ve gotten to know some great people that live out in the Denver area. Some might call them my modern day pen pals and when they invited me out to go camping in the mountains it felt like an awesome adventure to try something new. As a computer jockey I don’t get much grass time so I haven’t been camping in ages and going up and in to the mountains is a new thing for me that I love since I started snowboarding this last year. For two nights we camped out at North Fork Poudre Campgrounds with tents, sleeping bags, and no cell service. Time to disconnect and hang out IRL!

Base camp was at 9200 ft of elevation and you could definitely feel it. I had handled snowboarding pretty well but unfortunately this time I suffered some elevation sickness. Luckily it wasn’t long lived and was able to get over it fairly quickly with lots of hydration. I was humbled by the mountains to say the least. We spent the weekend sharing stories and laughter, and I want to share some pictures with you from the occasion to serve as something for me to look back on.


the creek running through the back of our camp site

Video of me walking around the area by our camp site.


out exploring with (left to right) Zho, Evan, Austin, and myself


experimenting with the .5 zoom and liked how the tress looked at dusk above the camping site

Video of us out exploring into the woods.


whoa, be careful there Quinn 🫣


😅 that’s better


This is a fire barrier created by cutting down a bunch of trees in a line. We hiked up to the top of it to get this picture of the whole length.


Again doing some more .5 zoom shots and it has a funny effect of making Austin look huge with super long legs 😂.


My first contacts with the group. We started playing Counter Strike together a few years back and now we are here! Left to right is Chris, myself, and Trevor. Shout out to Luke for the custom shirts for everyone on the camping trip.


(Left to right) Back: Austin, Trevor, Myself, Ben, Luke | Front: Zho, Chris, Evan, Carrie, Song, Kat

Thanks to Chris for hosting me when we were not out camping and a gigantic thank you to Luke and Kat for doing all the planning for the trip! I had a blast!


bonus Buc-ee’s picture

I saw Happy Gilmore 2 came out on Netflix and was interested in watching but realized I never saw the original…. well I’m caught up and sad that it took me this long to watch it cause it is a fantastic comedy. The movie came out a year before I was born but it shouldn’t have taken me this long 😂

How To Train Your Dragon

Went with some friends to the live action How To Train Your Dragon. I thought it was really entertaining, but has some issues. I think it tried too hard to stick to the source material causing some cringe acting trying to be over expressive and some darker/dimly lit scenes lacked a lot of clarity in what was happening. The second issue might have been due to the theater I was watching it in though. One thing I will give it is the CGI dragons looks really good. I thought Toothless was just as good if not better than in the original animated show.

612 POAP Challenge

I’m so proud of Surya and myself for completing one of our biggest bike rides to date and crushing the 612 POAP Challenge put on by @jthingelstad! This challenge features a city wide scavenger hunt to visit some amazing places around Minneapolis and collect digital badges called POAP’s (pronounced: poh - app). Here is one for example that I received when visiting the Grain Belt sign with the POAP Home app.

If you are interested, I highly recommend you check out how the challenge works by clicking here, but back to our chain pedaling adventure!

After getting well caffeinated and carb loaded with an American Tea Cake at Northern Coffee Works and Bakers Wife, we set sail at around 12:30 PM CST. Following Minnehaha Parkway we wrapped up around Lake Harriet and Bde Maka Ska Lake. As coincidences would have we ran into a familiar face on the parkway. Lenny was missing out but glad we got to stop and chat. Then jumped on the Greenway to head east we made light work of the beginning of our ride. This was my second time on the Greenway and I have to say it is a great path for city bikers.

Off of the Greenway we stopped at two breweries, Lynlake Brewery and Arbeiter Brewing. Had a couple of lighter beers to stay refreshed and got to chat with some random people along the way. Always love striking a conversation with others at breweries, the venues always attract a friendly crowd.

Great conversations behind us we realized real quick that we dilly dallied to long needed to get this train back on the rails. We ping ponged all over downtown hitting some amazing feats of engineering that make up the skyline of Minneapolis, as well as the Walker Art Center and Basilica. First Ave was our last stop downtown and after about 25 miles in our energy was beginning to fade, but like a beacon in the night we unknowing stumbled upon a Jimmy Johns. I’m a big fan of the sub shop but it felt like a moth to a flame the way body was drawn in at the prospect of a Bootlegger sub and chocolate chip cookie. Saying this revitalized us and restored the vibes is an understatement.

Now for the final stretch we went up to Lowry Bridge on the west side of the river and came winding back down on the east side, hitting all the bridges we could and ending at the University of Minnesota. This was my first time seeing the campus and man is that a pretty college. Both Surya and I joked about wishing we had gone there. We took a little detour to visit a friend and rest, before getting the final POAP on our way home at the Witches Tower.

I haven’t been giving you time stamps, but we got back to were we started at 10:45 PM CST that night… it was a long day. Just like I said at the top, I can’t stop thinking about how proud I am of us for doing this and how cool it was to run around the city on our bikes collecting badges as proof of our madness. After ending our ride both Surya and I sat on the couch with sore legs staring at our Strava route in awe of what we accomplished. Also I believe that we are the first to speed run the 612 POAP Challenge in one day!

Strava Activity

My favorite pictures from the ride:

Jumping on this @jthingelstad

Prompt: A black and white close-up portrait with visible water droplets and small bubbles on the face like the subject just emerged from water. The mood should feel intense and cinematic, with a dark, minimal background.

Here and ready to watch the British GP! Go Ferrari 🏎️ 🟩⬜🟥

Lions Tap 🍔

You know you’re in the right place when there are few empty tables and the menu could fit on a napkin. That means they specialize in one thing — and they’re damn good at it. That’s exactly the experience I had today at Lion’s Tap in Eden Prairie, MN. A long-time staple of the area, it’s an institution serving up one of the best burgers I’ve had in a while. They don’t try anything crazy or out of the box — just deliver a home run of the classics, and a lot of respect is due for an establishment that’s stood the test of time by sticking to the basics. I had a Double California Cheese with one of their own Red Ales, and my time with this delicious double stack of beef was not long lived as it was hard to put down. Lion’s Tap is officially going on my must-try list of restaurants in the Twin Cities if you fancy an awesome burger.

Reading Text From Images

I’m experimenting with the Tesseract OCR Engine and Chat GPT. This is part of an old project I want to revive called “Cooking Without The Bullsh*t”. The goal is to have a website that has access to a recipe library that can be added to. If I have a bunch of recipes written down by the family, it doesn’t make sense to manually type them all if that could potentially be automated.

Wrote up a small console app, using Tesseract to read the text of a recipe image and Chat GPT to format the text into markdown.

using OpenAI.Chat;
using Tesseract;

try
{
	var base_folder = Environment.GetEnvironmentVariable("BASE_FOLDER") ?? "C:\\Deploy\\Recipes";
	var output_folder = Path.Combine(base_folder, "OUTPUT");
	Directory.CreateDirectory(output_folder);

	var openai_api_key = Environment.GetEnvironmentVariable("OPENAI_API_KEY");
	if (string.IsNullOrEmpty(openai_api_key))
	{
		Console.WriteLine("Invalid OpenAI API key provided.");
		return;
	}

	var files = Directory.GetFiles(base_folder);

	foreach (var file in files)
	{
		Console.WriteLine($"Processing: {file}");

		if (string.IsNullOrEmpty(file) || !File.Exists(file))
		{
			Console.WriteLine($"No file was found at: {file}");
			return;
		}

		using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))
		using (var img = Pix.LoadFromFile(file))
		using (var page = engine.Process(img))
		{
			var text = page.GetText();
			var client = new ChatClient("gpt-4o-mini", openai_api_key);
			var completion = client.CompleteChat($"This is a recipe that I have scanned in, could you return it back to me with markdown formatting. I only want the recipe in the result because I will ingest that data: \n {text}");

			var output_file_path = Path.Combine(output_folder, $"{Path.GetFileNameWithoutExtension(file)}.txt");
			File.WriteAllText(output_file_path, completion.Value.Content[0].Text);
			Console.WriteLine($"GPT outputed to: {output_file_path}");
		}
	}
}
catch(Exception ex)
{
	Console.WriteLine(ex.Message);
}

Passed in the following image from my grandmother Virginia Wahus:

Peanut Butter Round-Up Cookies By Virginia Wahus

Got this back:

Peanut Butter Round-Up Cookies

By: Virginia Wahus

Ingredients

  • 1 cup shortening
  • 2 cups flour
  • 1 cup brown sugar
  • 3/4 cup sugar
  • 2 teaspoons baking soda
  • 1/2 teaspoon salt
  • 2 eggs
  • 1 cup oatmeal
  • 1 cup creamy peanut butter

Instructions

  1. Preheat the oven to 350°F (175°C).
  2. Shape the dough into 1-inch balls.
  3. Place the balls on an ungreased cookie sheet.
  4. Press each ball with a fork to create a crisscross pattern.
  5. Bake for 8 to 10 minutes.

Pretty stoked at how well this works. Could potentially be a good way of documenting family recipes in the future. The only problem I foresee is the image will have to be cropped so it only contains text pertinent to the recipe.

Training For The Mountains

Getting ready for the mountains day 2 at Hyland Hills! After bribing the tow rope with a cookie it let me ride it to the top without bucking me off. Then I finally figured out how to turn from toe to heel (the easy part) and back to toe (the hard part). Realized I wasn’t putting enough weight on my front foot and the board was coming out from underneath cause I was leaning back. The final boss was the ski lift. With no stomp pad on my new board, I was 100% certain I was going to eat shit off the lift, to my enthusiastic surprise that was not the case. Pushed right off and got 5 more laps up and down on the greens making good turns back and forth between toe and heel. I’m a certified shredder now and feeling more confident for my trips to Colorado and Montana in 2025!

Roll herd 🦬🦬🦬 🟢🟡🟢🟡 NDSU vs UND

When I was in highschool playing video games with my friends, Brandon and I were Ferrari guys and Casey and Nolan were Lamborghini boys. We would play Forza Motorsports and do Ferrari vs Lamborghini races 2v2. We probably spent way to much time on the tracks but it was a good time. Seeing my favorite Ferrari, the 458 Italia, brought back those memories! Photo taken by myself at the Chanhassen car show this morning.

Embrace Change

I have not had time to write, and I have some big news to share so how about we Walk and Talk? This is the segment where I talk to my phone like a crazy person while walking in public.

I got a new job! I am now a Software Engineer II at IWCO in Chanhassen, MN, where I will be working on internal systems. I’m in my second week and excited to be working with them. A lot of training so far and getting to know my new team. I’ve met a lot of impressive people and I’m looking forward to growing with the company. I enjoyed my time with my previous employer Sights on Service, it was just time for me to take a step forward in my career. I wish the company and all my friends there the best of luck in future endeavors.

I moved out! I am now living on my own for the first time in my life. With the new job I wanted to be closer to the office and I found a great apartment in Eden Prairie. I love the location! There’s a ton of great stuff near me as well as this walking path that I’m on right now. One thing I wasn’t expecting is adulting gets expensive quick when you are on your own. Did some furniture shopping last weekend with Heidi and Frank and thank god they do 0% interest financing. Also, all the little kitchen things you don’t think of, like when I went to cook for the first time with my new pans I realized I didn’t have any cooking oil or spices.

So, in the last two weeks, I’ve started a new job and moved out on my own. I would be lying if I said it wasn’t scary. A lot of emotional eating. But even though I’ve pushed myself out of my comfort zone, I think that everything is moving in the right direction and I see a bright future ahead of me. I will fail and that is okay. It will just make the successes that much better.

I’d like to give some shout-outs and thank yous to those who have helped me the most in the last couple of years. Thank you to Jamie Thingelstad for helping me with my career development and getting me in tip-top shape for interviews. Thank you to Rosalin Chrest and Kurt Rees for letting me stay with them and establish myself in the twin cities. Thank you to Ryan Vagle for being an amazing co-worker and mentor at my previous position. Thank you to my friends and family for all the support over the years. You all rock! And last but not least, thank you to myself for the work that you’ve put in to get to where you are now. You’re still not finished but you can handle what is to come.

Alright, to cap it off I want to leave you with one of my favorite quotes from a cartoon dog:

Sucking at something is the first step to being sorta good at something. -Jake the Dog

ROLL HERD 🦬 🟡🟢

Had an awesome time this last Sunday with friends and family at the Foo Fighters concert. Dave Grohl’s vocals are insane live! Thanks @jthingelstad for bringing me with!

Terminal Task Tracking

This year some people I follow did one of the coolest things I’ve seen. They started a coffee company were you can order from the TERMINAL! You can simply ssh into their domain terminal.shop. I would encourage you to enter ssh terminal.shop into your terminal of choice to check it out. A fully rendered ui in something as simple as the terminal. A ‘tui’ of sorts (that is to say a terminal ui). This piqued my interest in making my own terminal application. I decided on a to-do list application that I could use at work because I’m constantly writing down items and gets really annoying when you misplace your notepad or sticky note.

Since I have been working with javascript for so long I thought node.js wouldn’t be a bad place to start. The first step was to find a node package that facilitated building a ui in the terminal window. blessed was the package that went with mostly due to easy-to-understand documentation in their GitHub repo. I was able to fairly quickly make a prototype of the application that gave a view of all your tasks along with the ability to create, remove, and mark tasks complete. I even added a fancy ASCII art title screen and configured the script so that when installed globally you just have to enter todo from any directory in your terminal to access your list.

I was excited to show off the first build of my project, but there was still one thing that bothered me. You have to have node installed on the machine to be able to run the application….

A couple months have passed since the creation of the first application and I am listening to the podcast How About Tomorrow? with hosts Adam and Dax, both cofounders of terminal.shop. Partway through they started to mention their continued work on terminal.shop and they brought up the technologies they used to create it. Go was mentioned along with the bubble tea library. I put my helmet on and started spelunking the web for more info. I have previously known of Go (aka Golang) as a memory-safe lower-level language that I haven’t gotten the chance to work with. Since my interest in building tui applications still was simmering what better way to learn a new language than by rewriting one of your existing applications.

I ran through a large majority of Go’s learning material. Also had to get used to Go’s package management system, but so far enjoying the language. Bubble tea allows me to build individual views that run on an update render loop. Accompanied by bubbles for adding more ui components and lipgloss for styling that draws a lot of inspiration from traditional css styling. Building onto the ideas of the previous application I added the ability to edit tasks, built out pagination, added SQLite support instead of using json, displayed the date and time of task completion, and created a more interesting and visually appealing design. Writing an application in Go also lets me create builds of my project to wrap this all up together in an executable application.

With that, I present ToGo, a go-based task-tracking application:

Try out the application for yourself! I uploaded release 1.0.0 to GitHub so download the application and start tracking your tasks now!

Glad to finally be done with this project. Hoping to try some new stuff with Go in the future but moving on to game dev for a bit. A couple friends and are working on a game in the Godot engine using Godot script. Maybe you will see some updates on that here in the future!

Spent the weekend up in North Dakota, helping prep my parents for their move to the other side of the state. A lot of lasts in the house that I grew up in and it doesn’t really hit until you’re there. Hoping for a smooth transition and I’ll see them next weekend to get moved into their new home. We aren’t getting any younger I guess.

Had an awesome weekend out in Bayfield, WI. Eleven of us spent the weekend kayaking, hiking, and enjoying each other’s company for Austin’s Bachelor Party! It was great to reconnect with everyone and escape the cities. The pictures below were taken at Copper Falls State Park.

First time at Art-A-Whirl! Had a great time looking at art with friends. This wire fish sculpture with pcbs was one of my favorites.

Second time at Fox Den in Burnsville! They have a great venue with friendly locals. They are one of the first stores to host events for Grand Archive, a new TCG that I’ve been playing recently. Went 2-1 with Rai in a three round swiss tournament.