Posts

The migration is finished

As of today, all traffic from https://blog.ohheybrian.com is now directing to https://ohheybrian.com/blog. I've migrated all of my old posts (I think I got them all) into the new platform and I finally decided that it was just time to redirect and patch up issues as they arise.

I've spent a couple of months, working intermittently, on this change. I'm happy with what I was able to put together and I'll do some detailing about what changes I made and what I had to build to make the switch. The short story is that I'm back with an online-first platform, running on Flask against a SQLite database. I learned a ton and I'm excited to keep building it out.

Link: AI Isn't Killing Learning

I came across a post this morning on why AI isn't killing learning. Educators are good at the blame game and I think the overall premise of the post is correct - we need to constantly revise what we do along with our methods, but that's standard practice, not just in response to new tech.

I think he missed the point on skill building, though. I cannot just look at a series of prompts a student gives an LLM to determine what they know or don't know. There is still a place for fundamental knowledge and building skills to develop fluency.

A few strokes too far

I'm painting almost every day and I'm still taking things a few strokes too far. My latest was good and then I tried to darken more, which muddied it all up. Lightness!

My Favorite Paintings of 2025

I painted a lot in 2025. I have a couple posts from this year (post 1, post 2, post 3) with some others I never shared. Here are some of my favorites from this year overall.

Two small landscape paintings. The painting on the left is an old horse fence with overgrown grass and pasture in the background. The scene on the right is a cold morning with fog in front of evergreen trees and an old fence.

I had a couple here and there that I was particularly proud of, like this house from back in April.

A small white clapboard house set against rocks.

I really enjoy landscapes, stemming, I think, from just loving being outside. I did a lot of small paintings at the start of the year that have since turned into full-page pieces. I also started to get more bold with my colors and values.

A snowy mountain in deep blues and grays.

I'm making progress with blending, mixing colors, and taking advantage of watercolor's softness, but I still have a way to go on managing moisture in the paper and brush and painting light, mid, and dark values to build depth into the pieces. I did this the best on a painting done in early December of the lake cabin we used to visit growing up.

A green house set deep back into the woods. The viewer's perspective is looking at the house from a dock on the lake.

All said, I think my favorite painting of 2025 is this field that I have painted several times, trying to get just right. I don't think I was ever disappointed with a piece, but I kept getting drawn back into the scene, trying to capture it in different ways.

A sunny field with trees in the foreground casting deep shadows to the right.

Two small landscapes. The left hand side is the same painting as the previous image, but smaller. Trees cast deep shadows in a sunny field.

A thumbnail of the trees in a field. The colors are not as bright.

It's been a good year of growing in skill and confidence. I got a lot of supplies for Christmas gifts this year and I'm looking forward to filling those books up.

December 2025 Reading

So many books over winter break! A couple were short, but they still count.

The Wilder Life - Wendy McClure

I'm reading the Little House series to my middle daughter before bed, so I grabbed this on a whim. It went on a little long, but McClure realized that a) the life on the prairie wasn't always as quaint as was portrayed, and b) hunting for that life now paves over the complexities hidden in the children's story.

What If? Serious Scientific Answers to Absurd Hypothetical Questions - Randall Munroe

I used to read the What If page regularly, but had never picked up the actual book. I burned through this in a couple of days, giggling at how ridiculous some of the scenarios are. I especially loved the light-speed baseball this time around. It's an easy, approachable read for anyone.

The Art Thief - Michael Finkel

I'm really on a kick this year with thefts and anthropology. The Art Thief is one of those mouth-drops-open kind of stories where you just can't believe what the thieves pull off. Stéphane Breitwieser thinks he's invincible and he has little reason to doubt that assumption. He frequently makes off with artworks in broad daylight, even when cameras are around. The book read quickly and I found myself turning page after page waiting for his luck to run out.

A Christmas Carol - Charles Dickens

I'm not a fan of Victorian literature, but we watched The Muppet Christmas Carol this year with our kids and I decided to sit down and just read the original. I was surprised at how close the movie came to the original and just how much darker the book was. I lost the thread a couple of times in some of the descriptions of scenery and people, but overall, I enjoyed the short read.

A Thousand Pounds of Dynamite - Adam Higginbotham

In 1980, a man with a grudge built a highly-sophisticated bomb to blow up a casino he owed money to unless he was paid a $3 million ransom. Higginbotham is one of my new favorite authors because he is able to weave together each story into one compelling narrative.

This was a podcast episode, but the full text is the length of a short book and is still available on The Atavist.

https://magazine.atavist.com/2014/a-thousand-pounds-of-dynamite

Still Thinking About Migrating

I've had this little space up for a few weeks and I still haven't decided if I should migrate all of my existing posts over or not. I'm liking being able to fire off quick posts here and there, but I'm worried about losing the old stuff in a move. It would take some wrangling to make sure I don't break every link accidentally. I also don't love having two spaces to think about. What belongs where? Does it matter?

Getting into Break

I'm having a hard time turning my brain off this week. Nothing school specific, but I feel like I can't just relax. I feel like I should be doing something but it's like I can't recognize that resting - reading, listening to music, etc - is doing the resting.

Productivity Nexus

I fell into the productivity nexus several years ago. I think it was a symptom of not having a teaching position and needing to be able to justify the work I was doing. I tracked all the things, figured out oblique systems to plan out and quantify my hours of time spent on whatever I was doing.

Now that I'm back to teaching, I realize how much energy I spent on tracking and how little effect I think I actually had. I'm in a new district, teaching, and my to-do list lives on a legal pad. I look at that old district and I feel like I wasted several years of opportunity to actually make meaningful differences with people, not just my time ledger.

Link: Writing Python Like It's Rust

Original Link

I've never looked at Rust, but I'm aware of why it is so well liked. My Python projects are all for my own enjoyment, but I feel like these patterns are things I can learn to use just to make my own code cleaner. I've got the tab open on my phone and I'll come back to it when I do some more work on the backend here to finish up some stuff that needs polishing.

Link: AI Isn't Killing Learning

I came across a post this morning on why AI isn't killing learning. Educators are good at the blame game and I think the overall premise of the post is correct - we need to constantly revise what we do along with our methods, but that's standard practice, not just in response to new tech.

I think he missed the point on skill building, though. I cannot just look at a series of prompts a student gives an LLM to determine what they know or don't know. There is still a place for fundamental knowledge and building skills to develop fluency.

November 2025 Reading

Three books finished in November! A marvel of reading during the school year. I even managed to read and retain some nonfiction this month.

Terrestrial History: A Novel - Joe Mungo Reed

I enjoyed this a lot. It spans four generations and takes plenty of time developing each narrative. I don't think I read it quickly enough, so I had to keep refreshing myself of who was narrating at a given point and what had happened to them so far.

It's a time travel story but not in a heady sci-fi way. I had to think about the ending for a while because it wasn't until the final few pages that everything really clicked for me.

Grizzly Confidential - Kevin Grange

Kevin Grange is an outdoors person, but terribly afraid of bears. This book is his journey to learn more about the American brown bear in order to overcome his fears. His writing takes him all over the northwest United States to see, learn about, and be with wild grizzly bears. He talks with scientists, teachers, field researchers, and other field experts and shares his experiences in an easy to read, enjoyable way.

What he finds is that if we, humans, are predictable and controlled, experiences with bears can also be safe, predictable, and controlled. Much of the human-bear problem interactions are due to human behaviors. By living in a way that is bear friendly, there is no reason for bears and people to come into conflict.

The Feather Detective - Chris Sweeney

Roxie Laybourne lived at her lab table after growing up through the great depression and entering academia as a woman without a PhD. It didn't matter - she became the world's leading expert in bird identification based on feathers alone. Her expertise was under appreciated for much of her career and, only near the end, did she get the recognition she deserved.

All of her achievements aside, I can't help but think that her life was consistently lonely. She often pushed people to a breaking point because they couldn't meet her work expectations. Those that could rise to her expectations often had the same relational and familial problems in the end. While she wasn't alone in her work, I did feel sad that she couldn't maintain a healthier relational balance in her life.

Heading into December, I threw some books on my list that I happend to find while looking for different books in an effort to broading my reading a little bit. See you in a month!

A New Otherblog

I had an itch to scratch, so I rebuilt my homepage and built in a new microblogging platform that I'm lovingly referring to as my "otherblog."

The site itself got a facelift - much simplifed and more streamlined. I wanted somewhere to write from a web editor, so I made it how I wanted it. We'll see if it sticks around.

This isn't going anywhere. I may merge the two someday, but that would take some serious URL wrangling to make the schemes work. For now, it's just another spot if you want to keep up with me. RSS is available for your reader.

The first post on otherblog

This has been a while in the making. I built a new CMS within my site using Flask to...well, mainly...let me write online again.

This site is already using Flask for some tasks, but it was done mainly for a graduate school requirement. Since finishing my master's degree, I ripped out a lot of the stuff I had to add and left it pretty much alone. Just about a year ago, I added comments to my static site by setting up a small database here. It works well and I was happy to have that added function.

I've been using Pelican since 2023 for my main blog and I like the static site, but I missed being able to just pop open a form and fire off some thoughts. So, here I am.

I'm keeping it separate for now. Welcome to otherblog.

I'm not sure how long that will be, but it is what it is. It's got RSS set up, so you can subscribe to posts if you want updates.

Much of this new site's layout was heavily inspired by Leon Paternoster. Sorry Leon. Thanks Leon. I hope we get to meet someday.

Two Weeks on Lawnchair

I finally decided it was time to move away from Nova Launcher. I purchased Nova Prime probably 10 years ago for like $6, so I think I got my money's worth. I wasn't thrilled when it was sold and even less when Kevin left back in September. I just needed to take the time to try stuff out.

I landed on Lawnchair. It isn't as customizable as Nova, so there has been some muscle memory re-training this week, but I'm happy overall. I'm glad they're actively developing and I think it's the next closest fit for me.

So long, Nova. You were good while you were good.

Blogging Back Online

I started toying around with a little side microblog because I miss being able to open a browser and make a post. I've used Pelican to generate this static site for a couple years now and I think I'm ready to move back to a web publisher.

I wanted to try and revive Anchor CMS, but I don't have the PHP skills to refactor something so large. I'm comfortable in Python, so I'm extending my homepage, which already uses Flask, to have a blog path. There's a lot to do, but it's something I can pick away here and there in the evenings. It's fun to rethink this space every now and then. I think this will be a good move overall.

October 2025 Reading

Only one book finished in October, but it was a doozie, so I'm okay with that.

Death's End (Remembrance of Earth's Past) - Cixin Liu

A parallel continuation of The Dark Forest. It picks up with a new main character that you follow through the rest of the book. All of the original themes of Three Body Problem tie into this new narrative while bringing some old characters back to pass on obligations and introducing new ones who bring their own complications.

This was a great ending to the story started in Three Body Problem. Some of the physics got weird for me in the end and there were some ideas teased that didn't get played out like I had hoped. But, all things aside, I'm glad I presed on considering how wary I was after finishing the first novel earlier this year.

We Moved a Gazebo

My wife's parents are moving next year. She and her dad built a gazebo when she was younger and today, it moved to our house.

A small white gazebo sits in cleared ground. The background has cattails and tall grasses in marsh. It is nearly sunset.

We'll landscape this in and turn it into a nice little weekend coffee spot.

Adopt an Atom

When I moved into my classroom, there was a great periodic table on the ceiling. Some teacher, previous to me, had students research and create posters for elements that were then wrapped on the ceiling tiles to make an enormous periodic table. It was full of color and was a great piece for the room.

Then, we had an insurance audit.

The auditors decided that it had to come down. I didn't have a choice and it came down at the end of my first year there.

Since then, I've been pining for more color and expression. I decided to do my own "adopt an atom" project with students this year and I got permission to have them paint (as a project option) their own cinderblock in my room. They were already a flat white, so it was a ready-made canvas.

Students each chose an atom (no repeats!) and did some research on physical and chemical properties to reinforce the atomic structure work we've been doing. I also asked them to learn about the name origin along with when and how it was first defined as an element. Lastly, they had to learn how it was used or about a curiosity that particular atom has. I got some great projects and students were genuinely surprised at some of the things they learned. Below is a selection of some of the best murals I got last week. Let me know if one stands out to you.

A painted cinderblock. A large brown top hat has the symbol for mercury, Hg, painted in the middle. It says, "We're all mad here" with the Cheshire Cat's face because mercury was used in felting and the workers often went insane due to mercury poisoning.

Several painted cinderblocks. Potassium, Zinc, Aluminum, Erbium, Ruthenium, and Nitrogen are featured. Each brick is colorful and features a scene which represents that atom's properties. Scenes include a landscape for nitrogen because it is plentiful in our atmosphere. Aluminum has a can. Erbium has lasers. Ruthenium has a fountain pen because it is used in the nibs. Potassium has a banana split. Zinc has health information.

Two painted cinderblocks. Technetium is on one and says that it was the first synthetically produced atom. Caesium is on the other and features fireworks because it used to color different shells.

A painted cinderblock featuring gold. The symbol, Au, is paired with a miner from the gold rush and Egyptian symbolism because they used it so much.

Others were more literal in their translation, but provide just as much visual interest.

A painted cinderblock for Fluorine. The element symbol and physical information is present along with a diagram of the atom's nucleus and electrons around the outside.

In the end, we were able to do about 30 painted blocks in the room, which was more than I expected. The rest of the students did posters, bringing our total up to about 90 out of 118 atoms described. It went over great and everyone exercised the creative parts of their brains for a change of pace. I'm looking forward to next year's paintings.

Partial Data Regression Line in Google Sheets

Excuse the crummy title. I ran into an interesting graphing problem in Google Sheets that I'm documenting here for anyone else who might have the same question or problem.

We're finishing up a unit on thermochemistry and we're capping it off with a lab where students decompose hydrogen peroxide with an iron nitrate catalyst and measuring temperature change. They collect data for about 20 minutes and then use their data to calculate the enthalpy change for the system. I'm basing this on a procedure from Charles Marzzacco published in the Journal of Chemical Education. His procedure includes a graph of his trial data:

A graph showing temperature change over time. The graph includes a vertical line at time=5min and a regression line from his peak measured temperature. The intersection of these lines is labelled T-final.

I wanted my students to some more analysis with this lab, so we're going to make the same graph to estimate the maximum temperature of the system following the addition of the catalyst. I'll give me a chance to talk about trends in data, what linear regression does for us, and then calculate their results. The problem is that this kind of regression is not easy to do in Google Sheets. It took some creative use of duplicated data, help from Tom Woodward, and some questionable personal choices.

Here's the graph I ended up with:

A graph in Google Sheets showing temperature change over time. A vertical line at time=5 min is labelled "Catalyst". A regression line from the highest recorded temperature is shown. The intersection is marked with a red point and has the label 38.46.

This worked by duplicating a subset of data in the source sheet. The original data is the main graph, recorded like normal. A trendline can be added, but it looks at the entire dataset where I only wanted the best fit from the highest temperature to the end of the run. Tom suggested using a QUERY function to copy data past time n to plot another series on top of the full run.

text =QUERY(A1:B20, "Select A, B WHERE A >= 8", 0)

My higest temperature was a time 8, so the formula grabs every temperature past that time. This formula has to go in the next column over on the same row as your target temperature. This will add another series to the chart that can be formatted the same as the main line so it is invisible to the user. In the chart editor, this series can have a trendline added to show the trend for the subset.

Finally, I used Sheets' FORECAST function to give it the subset of data to calculate the Y intercept at time n. The formula in this case was:

text =FORECAST(5, E8:E20,D8:D20)

This goes on line 5 of a third pair of columns to be graphed as a third series as the intercept of the vertical line at time=5 and the regression line. Here's what the sheet itself looks like:

A Google Sheet. The first three columns are raw data. The first column is time in minutes. The second column is temperature in degrees Celsius. The third column is a data label with "Catalyst" on time=5 minutes. The second pair of columns duplicates data from time=8 until 20. The third set of columns has time=5 on the fifth row and a cell with the intercepted value.

It works, but it's kind of a pain. I'm going to have students graph this one by hand and maybe next time, we'll build some more spreadsheet wrestling time in.

Artwork #3

It's been a minute since I've posted about painting, so here are some paintings from the second half of the year.

This has become more therapeutic for me. I'm still finding my style and I'm settling on a technique I like. I've committed to small(ish) paintings so there isn't as much pressure to "do it right." I've also stopped painting on the backs of pages because my wife has asked me not to so she can cut some out from time to time.

In June, we went to visit some friends in Minnesota. They live right on the Mississippi River headwaters, so I took some time to paint while we were there.

A river landscape painting. Tall grass lines the right side of the frame. Trees are on the left.

A small, loose painting of a river receding into the distance. Tall grass is hinted on the right, trees hinted on the left.

I made some smaller, looser versions while we were there as well.

The time we spent in Minnesota kicked off our summer. You can read more about it in its own post.

I didn't do much in July, but in August, I went back to the Boundary Waters Canoe Area for a camping trip and I took my paints along.

A landscape watercolor. A small island with evergreen trees is in the foreground. More trees are on a distant shore in the background.

A landscape watercolor. A small island is in the foreground. Distant trees are hinted in the background.

A landscape watercolor. A large lake with evergreen trees in the distance.

I think my favorite from the trip was this painting of some birch trees near a campsite. Most of what I'd done so far on the trip was flat and hard-edged. I managed to get some nice blending on the background for these birches which makes it feel a little more vibrant.

Three birch trees on a vibrant yellow-green background.

September and October have been small landscapes in the evenings. Some are from home, others are from reference photos.

A small landscape watercolor of a pasture with cows grazing on a hill.

Two small watercolor landscapes. The left side is sunlit with a fence and grassy field in the foreground. A line of trees is visible in the middle and background. The right side is a foggy morning. A cool field runs to some trees shrouded in mist.

Two small watercolor landscapes. The left is a green field with trees in the middle ground in front of distant hills. The bright sun casts long shadows from left to right. The right side is a bright field with yellow flowers starkly contrasted against a green foreground and trees in the distance.