I noticed as I was reviewing last year that today is the 10 year anniversary of my blog. WOO! 🎉

My first post on Jan 10, 2015 was stunning https://www.philipzucker.com/getting-wordpress-to-work/ to say the least.

Thoughts on Blogs

Get it out there

I think generally people are too secretive about their work. It’s insane to me the number of github projects that are in private mode that will never go public, even if they do have some MVP that’s kind of interesting.

If you think you should wait, consider that no matter how dumb something you write is:

  • A. no one cares
  • B. if they could care, say it often and early so someone could hear it.

This is partly again my personality. I can sprint a bit, but long hauls with no external validation are hard/impossible. If you really can work on something for 5 years and then put it out, more power to you.

If you are starting a blog, unless you are already famous somehow, you do not have an audience. Even if you put out world shaking shit, no one will read it. So don’t worry about it. Just put stuff out. You need surface area for anyone to find you.

But I’ve got nothing to say

Doesn’t matter.

Action precedes motivation

The posts are somewhat interesting to your future self no matter what.

The writing cements knowledge now and the act of fleshing things out can discover questions you didn’t realize could be had when you left information confident feeling but actually murky.

Everyone can write something interesting for someone on a similar rung of the ladders of learning. No, I can’t write a post that is all that interesting to a world expert. But you can explain things in a way that only a person with fresh recent eyes can do. Explanation ability does not grow monotonically. I don’t know how to explain addition to a 5 year old anymore. I don’t always know how to keep myself entertained writing about something I learned a decade ago. Do it fresh.

How I write notes

I have organically shifted or discovered techniques to takes notes or find some kind of angle to grind over the years.

I open files for broad areas and have scattered sections about thoughts or little ideas from what I’m reading. I allow chaos. I try to write little snippets. When I come back, I always find I have written less notes than I thought I did. Keeping the links I was looking at is helpful. My memory is also always weaker than I thought. Even having an outline of headers saying key subjects is a really useful mindmap.

I’ve moved towards having ideas centrally located in my blog repo. I used to have more sketch ideas done in folders, but I lose track of them as I’ve moved computers and such. 10 years gives me perspective on what can be maintained or not. Go simple. Own your content. Being on a platform is ultimately a disaster if you want to keep your stuff for 20 years. Being in a single folder you can git repo or copy around is important. You will be less careful and vigilant than you think. I think Jekyll is on its way to collapsing in the next 15 years or so, but at least it’s plain text. It wouldn’t be a disaster to just serve the plain files. I would like my blog to stay up another 15 years after I die. It’s kind of hard to achieve that.

For a while, I used markdown and a slightly altered VS code plugin that could shell them out https://github.com/philzook58/vscode-markdown-code-runner to the language in question. It gives you kind of a low tier jupyter experience. About a year ago I transitioned back into jupyter notebooks. I don’t like they are not plain text and they are hard toi copy and paste. Nevertheless, the %%file and ! bash execution capabilities mean I can work in any language and have it store and record the output of my commands. This is very useful. Getting into the habit of just slapping stuff into /tmp has been a useful way to operate. Trying to pipe everything or actually use python’s subprocess or file creation to go multilanguage is too laborious. I even use this style for low level C examples and such. It’s nice to know I’ve included everything needed in the blog post by construction. Another advantage of jupyter is that I can paste a colab https://colab.research.google.com/github/philzook58/philzook58.github.io/blob/master/pynb/2024-11-18-sql_graph_csp.ipynb link for people to try it themselves. Just put the github path at the end there.

I think if I could stand org mode it might be a nice option.

Has My Blog Generated Opportunities

Mostly no. It has not gotten me any jobs or made me any money. But it has started a few conversations. More importantly, I derive a sense of purpose and accomplishment from it. It gives me concrete breadcrumbs and something to grind on. Waiting for inspiration or passive learning do not work well.

A Retrospective

2015-2016

It was originally a wordpress instance that I put on nearlyfreespeech, a cheap hosting service. It’s too bad but I don’t remember the initial impetus for making it. Maybe Dan Piponi’s blog was an influence. I loved that thing. It slowly rotted over the next couple years until I migrated it to Jekyll and github pages in 2020 https://www.philipzucker.com/i-moved-my-blog-from-wordpress/. I never strictly speaking turned off the old wordpress site. It exists in a completely broken form. https://philzucker2.nfshost.com/

I was in grad school for physics at the time, a decade younger. In the process of realizing I wasn’t going to make it big there, despite the greatest efforts I knew how to give. That perhaps deserves a post on its own. This left a wound I still struggle with. It gets better all the time though. Your twenties can be a tough time where “promising” stops being good enough and it needs to start actualizing. Many realities of life settle in. I also had a blast though, the echoes of which still reach to today. It’s a mix.

In the olden blog times, I thought it was a useful endeavor to explain how to install software, which is often a challenge. I think at some point I got good enough at guessing how to fix broken builds that it didn’t seem worth making a whole post on anymore.

This also shows from the beginning that I felt that there was no scope too small to be worth a post. Keeping flow is important.

I had recently heard of Haskell at this point and was Haskell curious. I can see some topics that I still want to write posts about or understand better. I learned BASIC as a kid out of some 1$ library sale book and had fiddled a bit with Java, matlab, and arduinos in college. I learned python during grad school and was in love with using numpy for linear algebra simulations of waves and things after watching Gilbert Strang’s Computational engineering lectures https://math.mit.edu/~gs/cse/ . At 2015 though, I really hadn’t been exposed to much computer science or logic in the scheme of things.

I was interested in arduino robots, opencv, physics simulations, 3d printing, HAM radio / SDR, Functional programming.

I can see seeds of what i still do in terms of taking esoteric seeming Haskell stuff and how I translate it into python.

I was doing more projects in meat space. That is good for the soul.

2017-2019

Here I was graduating and starting my first job at Lincoln Labs.

2019-2020

2021

So began my egraph and datalog era.

2022

  • 2022 started collaborating with the UW folk. I think my blogging output decreased a bit as this was a mental energy outlet and I wasn’t comfortable posting things publicly they might feel were derived from private conversations. No one ever indicated this to be the case and I think this was a mistake on my part. It’s surprising how powerful slight, even imagined dissuading can stop things from happening.
  • https://www.philipzucker.com/dwarf-patching/
  • A white whale I was chasing was increased datalog expressivity. I currently feel this road leads down to just building an ATP. Resolution.
  • https://www.philipzucker.com/snakelog-post/ Snakelog. A good idea I think if you’re a datalog proponent. Just use SQLite / duckdb. So powerful. Embed into python like the z3 bindings. Very powerful.
  • The fifty year beep https://www.philipzucker.com/thousand-year-beep/ Choice shit đź‘Ś. Just heard it again last night actually.

2023

Yikes late 2022 - early 2023. Tough year.

I think I was driven into complete burnout by the end of 2022 / 2023 and you can see my posting really decreased. At work I had found myself in a role I didn’t want, stressed about giving seemingly constant talks about work coworkers were doing and I wasn’t sure I believed in. My personal life also had issues. I don’t know what I should have done, but I shouldn’t have ever let myself be driven that far into the dark. Nothing is worth that. There are too many sunny days, forests and oceans. I’m basically all better now, but it took a while (6 months - a year) even after stepping down.

On a happier note, I was getting into term rewriting. https://www.philipzucker.com/egraph-ground-rewrite/ The relationship of egraphs to completion is close to trivial from the perspective of someone who knows completion. I didn’t know completion. And maybe close to trivial isn’t actually trivial. The appeal of egraphs is that you don’t have to read a dense book on term rewriting theory to get the gist enough to use or build one.

I remember going on an answer set programming binge during christmas break 2022. That was kind of neat.

I was also putting more into my notes https://www.philipzucker.com/notes/ section which was an experiment. Eventually it got too unwieldy and I abandoned it to go back to a more temporal (in terms of when I was thinking about it) organization rather than rolling release and global organization by topic.

2024

Here I did a blog post a week as my new years resolution. I already just retrospected this here https://www.philipzucker.com/2024_year/

Hi Future Me

Congrats to me! Well done, Phil! Keep it up! Be proud of the things you’ve done, big and small. Your fuckups weren’t that bad. Live well and happy. Stop if it’s not fun or you need room for new things. It’s all good, baby.