VTTs Are Wrong: Part 1 (Vision)
Vision systems in VTTs are wrong, here’s why I think so.
Recent content on Ben Straub
Vision systems in VTTs are wrong, here’s why I think so.
I’ve been running 13th Age on Foundry for a while now, and I think I’ve got a reasonable set of recommendations that are battle-tested. Here they are, so I don’t have to keep typing them out.
A note on timing: this is written in mid-2024. I know that all of these modules and methods work on both Foundry v11 and v12, and they’ll probably continue to work for at least a…
Hacking Culture with Javascript Most every remote-enabled team uses real-time-communication software of one sort or another, but usually it’s a chat room. Lately, even co-located teams are signing up for this. So now that a bunch of our togetherness is in a chat room, we can gently introduce robots to do some of our scut work for us. Let’s take a look at what happens when the robot…
We’re a read-aloud family. Every night before bed, each of our kids gets some read-aloud time with a parent. I have one book I’m reading with my son, and another one I read with my daughter, and Becky does the same. This has a whole host of benefits — I get to read some of the classics I missed as a kid, the kids get access to stories they’re not ready to read themselves yet, and…
Now that I’ve written a few Hubot plugins, I feel like it’s time for me to pontificate on the best way to do things. I have literally weeks of experience doing this, which pretty much qualifies me to teach others at a university level.
Seriously, though, Hubot plugins aren’t exactly hard things to write, but there are some things you have to learn the hard way unless someone…
One of the biggest points I make in my talk about chat bots is that culture is hackable — you can change your team or company culture by writing code.
This isn’t a Great Insight™. Architecture is on some level the study of how buildings and spaces affect human behavior. Seemingly minor advances in weapons technology have completely changed the way war is waged, and a better way of…
tl;dr: Kubernetes + EC2 + VPC peering = trouble. Scroll to the bottom for my findings if you’ve had problems with this.
We’re making a bet with our next generation of services at Gridium. Our bet is that microservices will serve us better than monolithic services, and we’re in the process of moving our existing services to this kind of architecture too. Our chosen backing…
Hacking Culture with Chat Robots Robots didn’t turn out how we thought they would, but that doesn’t mean they can’t be fun and useful. Plus, adding one to your team can make your company a better place to work.
Video Slides Design Notes Software: Deckset. Poster theme, dark blue.
So you’re working on a project on GitHub, and your team is using pull requests. This means you’re getting a notification (probably an email) every time someone leaves a comment on one of these PRs. This is great, and it works really well.
But.
What if your team is opening a lot of PRs? Well, then you’re getting a lot of email, perhaps a dozen new threads in your inbox…
A few weeks ago, my company began an experiment with HR and robots. It’s pretty interesting (or at least we think so), but before I tell you about it, there’s some exposition that needs to happen. I’ll do my best to make it worth it.
Robots I work for Gridium, and we’re a distributed company. There is no central office, and even our founders live in different cities. We…
If you don’t have kids this will sound trite, and if you do it will sound obvious: when my children came along, my life changed.
Before that, their (late) mother and I had a sort of balance to our lives. We both spent most of our weekdays with coworkers, most of our evenings together, and at least a little time doing our own things. We both got fulfillment at work, all the attention we…
About a month ago, I posted about adding some structure to my workday. So it’s time to look back and ask “is this working?”
Writing Time The design included both early mornings and evenings set aside for writing. Most of the impetus for this was a large writing project I was taking on, which then disappeared. Without that huge motivator, I found myself slipping, spending that…
Making new commits and dealing with the working directory is only half of what git is for. Most of the data in a git repository is historical; old commits, old versions of files. Let’s take a look at how you can use libgit2 to handle that information.
Commits It’s pretty easy to just load up a commit and start poking around with the data inside it. It seems pretty logical to do…
I’ve always had a pretty loose attitude towards how I work. I’d wake up, feed and take the kids to school, and just go. When you work at GitHub and you really only have one project, it’s pretty easy to sink your teeth in and forget all the other stuff.
The thing is, that “other stuff” is important. Bills that need paid on time, car maintenance, grocery shopping,…
Refs are a powerful way of annotating a git repository’s history. Libgit2, of course, provides several ways of working with them.
Refs There are several ways to get a handle on a ref in libgit2. If you just want one:
git_reference *ref; git_reference_lookup(&ref, repo, 'refs/heads/master'); The string argument has to be the full name of the ref; just master won’t do.…
So you’ve got this git repository, and it’s got a bunch of stuff in it – refs, trees, blobs, commits – and you want to work with that stuff. One way to think about that stuff is by thinking about how it’s organized into three trees, and moving stuff between those trees. In libgit2, the way you get stuff from a commit into the index and the working tree is by using the checkout…
In libgit2, the git_repository object is the gateway to getting interesting stuff out of git. There are several ways to get your hands on one.
Clone If your repository exists on a remote but not on the local machine, you can get it using git_clone, and once it’s done with all the network stuff, it spits out a repository object. Check out my post on cloning for more on that.
Libgit2 aims to make it easy to do interesting things with git. What’s the first thing you always do when learning git? That’s right, you clone something from GitHub. Let’s get started, shall we? Let’s get some of the boilerplate out of the way:
#include 'git2.h' #include <stdio.h> int main(int argc, char **argv) { const char *url, *path; if (argc < 3) { printf('USAGE:…
My 2012, through the GitHub lens. Inspired by Tim Clem.
I guess it’s not that surprising, but vacations, travel, and holidays show up pretty clearly.
Yes, there are two honeymoons. Both of them piggybacked on business travel — the first was a destination wedding I photographed with my lovely wife a week after we were married, and the second was glued to a conference I spoke at.
It seems like such a small detail: what’s the first thing you do when you wake up? Hop in the shower? Check your email? Hit Reddit for a quick puppy fix before the coffee starts working?
I recently switched to writing code.
Setting the tone You wake up each day completely fresh. It takes a while before all the worries from yesterday make themselves known again, so for a while you…
How to make Git (and GitHub) work for you Git and GitHub are powerful tools for making your development life easier and more productive. Learn techniques and tricks for how to get the most out of them.
Video Slides Design Notes #01AEF3 #006289 Fonts: Arvo, Neutraface 2, Star Jedi, Hand of Sean
Software: Mac OS X Spaces
[Note: this is ported from my old blog, and there’s more discussion there.]
All the cool kids these days are playing with awesome dynamic languages, or on cool frameworks. I’m stuck with c++ at work, but every now and then I get to do something cool with it.
That’s the Wacom radial menu, which is implemented as a fully alpha-blended window in native Win32. Something like…
I am proud to make beautiful, useful things with code. I’m looking to work on something that will make the world a better place. Or at least not a worse one.
Working 2016 — Present
Zendesk Zendesk is by far the largest company I’ve worked for, and has only become larger during my time there. I am the technical lead for Side Conversations, a system that surfaces as…
I feel like I’ve always been a programmer. I enjoy books, taking my kids on bike rides, chocolate, dogs, those little notebooks you carry around with you, photography, a good weekend hack, traveling, writing, food, craftsmanship, a great pen, Markdown, music, movies, and talking to amazing people.
You can find me on Twitter as @benstraub, and on GitHub as @ben.
Here are some things…