Skip to main content

Dithered Tree
Newest Post: Upwards Pressure on Originality

Hi, my name’s Jack Garbus. I’m a graduate student in computer science interested in artificial societies, cultural evolution, machine learning, and decentralization.

Featured Projects:

  • Jevo.jl
    • A high-performance, highly flexible framework for distributed deep neuroevolution
  • emergent trade
    • emergent trading protocols between embodied agents using reinforcement learning
  • kittyplot
    • a repl-based terminal plotting program
  • dtree
    • a vim-inspired mind-mapping program written in C
  • fe-alts
    • A single docker-compose of alternative front-ends to big tech services

Favorite Posts:

Contact me via:

Unexpected Benefits of Testing Code

Matthew Carlson’s blog post “Fighting Distraction With Unit Tests” inspired me to share some extra benefits of writing test code I’ve discovered during my PhD program.

I’m working on a weird project that’s constantly changing as I try new things, and naturally, debugging and ensuring correctness was a nightmare. So I started writing tests, cursing myself for needing to write so much code I’ll likely throw away soon. But as it turns out, testing can be pretty helpful in a few other ways:

I Dont Know Anyone Who Blogs

I don’t know anybody in real life who blogs regularly, and I think that kills my motivation to write blog posts myself.

I actually started writing this post before realizing that a friend of mine has a blog, but in my defense he’s only posted twice in the past 2 years. I suppose that makes my title a lie, but I like the title, and the point still stands.

I want to build a writing habit, but it feels hard to get the motivation to do it from within myself. I’m a programmer, and while I’ve learned a lot from people online, the people who’ve made the biggest impact on me are people I’ve met in the physical world. Plus, I’m surrounded by other programmers; maybe that makes me feel less crazy spending all my time coding.

How to write LaTeX without writing LaTeX

I love the look of LaTeX but hate the experience of writing in LaTeX, at least compared to Markdown. Luckily, Pandoc can convert Markdown files to PDFs using a LaTeX engine as the renderer, and includes a custom Markdown specification that can fill almost all my LaTeX needs.

First, let’s talk about where Pandoc Markdown falls short:

  • No custom LaTeX style guides (although citation style files are supported)
  • No Section Numbering There is, thanks to naruhodo on Hacker News for the correction
  • Referencing labels doesn’t work well (Supposedly the pandoc-crossref filter fixes this but I couldn’t get it to work)
  • Don’t even bother with complex page layouts or precise figure placements

This might be a deal breaker for some, but for others who are writing lots of documents (such as students), this may not be. Now for the benefits:

AI Index

An ever-expanding list of concepts in the field of AI to give myself and others an easy reference. Each item in the list contains a short, rudimentary definition I’ve written, as well as a link to a resource that can explain it better.

Ablation Study: Removing some parts of a machine learning model to measure impact on performance

Advantage Function: The difference between a Q-value for a state-action pair and a value for the state. Useful to determine how good an action is relative to its state.

Generating Slides in Vim

There is a great tool known as pandoc that can convert documents from one filetype to another. For example, you can convert a Microsoft Word document to a PDF, without even needing to own a copy of Microsoft Word! However, we care about Pandoc’s ability to convert a Markdown document to a slideshow presentation using LaTeX Beamer as a rendering engine.

There is a great writeup about this basic feature here.

TL;DR: With Pandoc installed and markdown file Demo.md, executing pandoc -t beamer Demo.md -o Demo.pdf will generate a slideshow as a pdf, with each section heading as the title of a new slide.

Uninformed Or Misinformed?

Is it better to have no facts about a topic and thus no opinion, or have access to a few “out of context” facts and thus a misinformed opinion?

TL;DR: Either start learning about issues you care about, or stop caring about them so much. It’s more honest, less mental effort, and is less likely to ruin Thanksgiving.

You can’t be well-informed on every topic; It’s just not possible. That’s why world leaders have advisers. Yet somehow, if you look at anyone’s Facebook account, you don’t have to try too hard to figure out their view on any political issue.

Soft Rules

Not all rules are made equal. Some rules, like the speed limit, are broken by everyone and their mother, and are enforced (mostly) when people are breaking them to a dangerous point. Other rules, like “don’t murder people”, are enforced far more. Why is that?

Different Rules, Different Tools

  • Some rules are in place to assign blame to someone with bad judgement. There’s nothing morally wrong with jaywalking when there are no cars coming, but you are at fault if you walk into oncoming traffic.
  • Some rules are in place to discourage bad habits from forming, like the drinking age. This law is so commonly broken that it’s expected behavior at this point, and yet I’ve never seen someone get arrested for under-age drinking. Despite this, the law conveys the dangers of drinking, makes it harder for minors to acquire alcohol, and prevents students from openly sharing alcohol in schools.
  • Some rules, like mandatory attendance, exist to get people to show up to an event or perform an activity. Even when attendance isn’t taken, many people will still show up to prevent unnecessary trouble. College orientation activities are a prime example.
  • Some rules exist simply because they haven’t been updated. Before 2020, some companies – especially older ones – didn’t allow employees to work from home. Working from home was seen as an unnecessary risk by upper management with no tangible benefit to any of the executives. Along comes the coronavirus, and suddenly the jobs people have been doing in an office for decades are suddenly doable from home.

Rules for Rules

Rules should be justified. If a sign on a fish tank says, PLEASE DO NOT TOUCH GLASS, do you think most people, especially children, are likely to obey? Does your answer change if the sign were to say PLEASE DO NOT TOUCH GLASS, IT SCARES THE FISH?

Critical Thinking

The more I learn about the world, the less certain I become about it. There are so many conflicting views and information taken out of context that it’s hard to discern fact from truth. Below are some notes I keep to help navigate the sea of information that is modern society.

TL;DR: Don’t get fooled by facts if they have no context, don’t discount an opinion because it’s biased, and hear out crazy ideas.

Tesla and False Advertising in AI

Here’s the problem with advertising AI-based technology that doesn’t exist:

You cannot promise anything about your product.

We’ve all seen AI advertised to the masses that doesn’t work as advertised, just look at any voice-to-text system. When I got my Apple Watch, I hoped to use it to respond to messages without getting distracted by my phone. I quickly realized that wasn’t a viable solution: I had to repeat my message multiple times per text in order to get the correct dictation.

Short: Aftermath

Jeff stepped over a beer can, then over a water bottle and onto a mat, whose faded lettering vaguely resembled the phrase “Welcome!” He opened his front door and walked inside.

Looking to his right, Jeff noticed his old hooded friend where he left him; on his living-room rocking chair. The cold metal scythe still in his lap, the skeleton hadn’t moved an inch from where he left him earlier that morning.