Home on the web
A place to think out loud about engineering, software, faith, and whatever else I have on my mind.
This site is a place for my thoughts. Engineering and software, mostly, because that is where I spend my days. But also faith, family, community, and whatever else I happen to be turning over.
It is not a portfolio, a resume, or a way to market myself.
Why write it down
A thought can feel unfinished while it is still in your head. There is a lot to ponder on in life, which one learns through experience. I feel like writing it down is how you explore the unfinished thoughts in your mind. The gaps show up quickly: the step you skipped, the assumption you never checked, the conclusion that does not quite follow. These are intended to be neither right nor wrong, neither prescriptive nor informative, nor meant to convince someone. This is me penning things down to help explore what I have on my mind.
That is the main reason I want to write. Not because every thought deserves an audience, but because putting it into sentences is how I work out what I am actually thinking. Writing slows me down enough to explore my thought process and be honest about it.
It also leaves a record. I can come back in a year or two and see what I believed, what I got wrong, and what changed my mind. If my perspective hasn’t changed since then, it may be that I haven’t grown more on this, or that there wasn’t much left for me to grow on this.
A space, not an audience
I am not trying to build a following. There are no newsletters, popups, or trackers here. If something on this site is useful to someone else, I will be glad. But the point is to have a space of my own on the web: somewhere outside a feed, that does not reward me for being louder or faster, and that I can keep tidy.
Tania Rascia’s website was a good reference for what that can look like. It is a developer’s site that stays clean and puts the writing first. This one uses its own code and words, but that sense of priority is what I wanted.
How I got here
When I started my mechanical engineering degree in 2004, programming was not something I wanted anything to do with. Truth be told, I really hated it! My introduction to it was C++, and I mostly remember fighting the syntax. Creating a for loop felt like a project in itself, and it shouldn’t have been. By the time I graduated in 2008, I would not have called myself someone who writes code, nor envisioned that as something in my future.
That changed once I started working as an engineer. Engineering work has a lot of repetition in it: the same calculation with different inputs, the same bill of materials, the same information copied over and over. Lying by the wayside of all the actual engineering work was a truckload of tedious, boring, and monotonous tasks. I started automating those pieces, a little at a time, and found immediate and great satisfaction in it. There is something deeply rewarding about taking a tedious task and making it easier, for yourself and for the people you work with.
I have come to believe that every engineer should open that door. They almost owe it to themselves. Not to become a software developer, but to treat code as another engineering tool, like a spreadsheet or a finite element model. That goes for the engineers who already enjoy it and, maybe more so, for the ones who are sure they will not. Leaving that door closed is a disservice to yourself and to your potential. It is perhaps the greatest impediment in one’s journey towards self-actualization.
Python definitely made it easier to tiptoe in. It reads closely enough to plain language that you can focus on the problem instead of the punctuation, which C++ never let me do. Learning with Python filled me with a sense of betrayal. Why were our curriculums introducing programming to us with C++, a lower-level language and one of the hardest to work with?! I have more to say on that, so I will leave it there.
Web development for the rest of us
The other turning point for me was Svelte. Python gives you the belief that you can code. It even begins to make sense. I guess if you are not spending weeks learning a for loop, you make enough progress to understand what objects and classes are. The real acceleration in learning and belief came from Svelte. More so when you realize that Rich Harris created Svelte while working as a journalist, not as a software engineer! Svelte’s own tagline is “web development for the rest of us,” and that has been my experience. A Svelte component looks like HTML with a little logic added, so you can read it and understand what it is doing. Building a web app stops feeling like a gigantic task reserved for professional developers, and starts to feel like something you can simply begin.
That matters for people like me. Plenty of engineers have an idea for a tool that would help their team, and stop because the web seems too daunting to learn. Svelte lowers that barrier more than anything else I have used. This site is built with it. Why? Because I simply don’t know any other JavaScript framework, and I am too lazy to build it in plain HTML!
What to expect
Mostly engineering, automation, software, and AI. Notes on MatJSON as it develops, and other projects I work on. Sometimes faith, community, and what I am learning as a father and a volunteer. Some posts will be finished thoughts; many will be questions I am still working through.
I am writing this for myself first. If you are reading it too, you are welcome here. If anything offends you, I won’t apologize, since I didn’t ask you here. You are more than welcome to leave. Let’s enjoy the First Amendment while we still have it, and hope we keep it in the digital world even if we lose it in the real one!