Learn what the Kablamo Team uses

Uses This - Ben Boyter

usesthis

Who are you, and what do you do?

Howdy. I'm Ben Boyter. Everyone calls me boyter which is what I go by on the internet where possible. I'm officially a technical lead at Kablamo but I infinitely prefer the title codemonkey since that's my happy place. I really do love to code.

As an army brat I grew up all over random parts of Australia including, Sydney, Lithgow, Dubbo, Adelaide, Nagambie, Canberra, Wagga Wagga, and others. I went to university at Charles Sturt Bathurst and Heilongjiang University in Harbin, China.

I have been a developer for almost 20 years now, starting in the business intelligence space before moving to custom development, starting with Java then C# and most recently with Go.

My focus is mostly on large data systems and applications to solve various problems. As such I worked on the ABC’s Digital Archive (national broadcaster for Australia) which houses 6+ PB of video/audio/photo content, the world's largest genomic database for Cerebral Palsy Alliance and other API’s for broadcasters like Nine. I'd like to think my primary skill set is in providing search for these data sets though.

Day to day I communicate with customers, working out what they want and help guide them to achieving those goals. I also communicate with everyone working on the project, write some code, write a lot of tests and try to unblock everyone and keep things going. A lot of multi-tasking usually, and trying to improve things whenever there is a break.

What hardware do you use?

Right now I am using a Macbook Air M1 2020. I value silence, weight, and battery above all else when it comes to portable devices, and all my work devices need to be portable. Usually I have to compromise on one of those values, with this being the first device that has all three. I bought it close to day one of the release due to getting hardware issues with my Surface Book 2 which I was using at the time. Since the Surface was just out of hardware warranty at the time I thought I would try out the new world of ARM devices. I loved my Surface but this is easily the best laptop I have ever used, and even better than the 2013 rMBP I was using a while ago which I considered one of the best laptops of all time.

When on the road I don't actually use anything else with it other than a pair of Airpods Pro. When working at home I connect to an Aorus 48" monitor via USB-C for both the display output and charging. I tappa tappa tappa using a Logitech Mechanical Mini keyboard coupled with a Logitech MX Master 3 mouse. Both of those were picked because I wanted a physical dongle to connect to my desktop, and bluetooth for laptop. I really value the physical dongle. I also have a pair of Airpods Max which are so comfortable I can wear them for 8 hours straight.

Desk-wise I use a large corner style desk I got from IKEA over 10 years ago. It's large, allowing me to sprawl out. The chair I use is a SecretLab Titan which became an instant buy once we all started working from home as the chair I was using previously caused me some serious back pain. It's not the most attractive chair I have ever seen, but I don't have any pain from sitting in it so I am very happy. I also have a desk mat which I bought from Linus Tech Tips (it was the best one I could find) which everything except the monitor sits on.

Occasionally I bring out an iPad 12.9" Pro second generation with the Apple pencil (I found that just before the pandemic) for presentations as I can use it to sketch out things when on video calls.

When I do need a lot of CPU or RAM to solve a problem I either SSH into my rather aged desktop, or spin up a powerful cloud machine. The desktop as mentioned while being a i7 4790k actually holds up fairly well and is fairly quiet. It's a good place to offload things that can take a long time to process. For cloud machines I usually use Digital Ocean due to ease of use, and only really use them for things that take less than an hour to run or can benefit from 64 cores.

And what software?

For development I live in the JetBrains suite of tools. Goland, IntelliJ, Datagrip, Webstorm and Clion being the main ones I work with. I use Firefox as my main browser, although I do like Edge and Brave, I have Chrome installed which is only there for Google Meets when that is needed. I do have all of the usual video call software installed, so Zoom, Chime, Teams and Slack, although Slack is where I prefer to stick. I also use Thunderbird for combining all my email addresses.

For everything else I try to stick to the command line. I don't use iTerm2 anymore as the built-in terminal seems acceptable on macOS. I was using Alacritty for a while, but there was something annoying about it that I couldn't easily fix so I went back to the regular terminal. I should try it again one of these days.

The command line tools I tend to use on a daily basis include tmux, bat, fd, fzf, gron, git and ripgrep. Although for hairy merges in git I use Sublime Merge as I find that a bit easier to deal with. I used to use cmus for playing music locally, but kept running into sound issues and swapped it out for foobar2000. I use homebrew for installing most command line things outside of development tools, such as the Go compiler.

Speaking of compilers, I tend to have Go, Rust and Java installed most of the time.

I don't tweak any of my command line applications as I like to be portable between machines. So whatever defaults they have is how I keep them.

What's the primary programming language or framework you use in your projects?

At the moment it's Go. I don’t use any frameworks with it, since that seems to be the main community practice, and to be honest the built in tools are generally good enough. I sometimes use Java, where for web things I liked to use Spark or Javalin. Otherwise I just go with whatever has a lot of attention and support. I tend to like stable, mature things since they tend to have good examples and documentation. I'd like to spend more time with Zig though!

What would be your dream setup?

I don’t really have anything I would want to change with my current work environment. The laptop is more than enough and my home and away setups using it are productive and comfortable enough. Although having more than a 60 Hz refresh rate on my main screen would be nice.

I would like to upgrade my desktop at some point since it's close to 10 years old, but it also works so I don’t see the point yet. Dream-wise though, I would want that desktop to have at a minimum of 16 cores and more than 64 GB of RAM. The idea being I could offload a lot of tasks to it and have it, like the previous machine, last 10 years.

What do you do for fun?

Recently I have been playing games after not really paying attention to them for 15 years. I have even been getting into Battlebit Remastered, and it seems some of the skills I learnt playing Counter Strike have returned to me as I am not awful at it.

I like hiking. I live close to a few famous walks, and can within an hour from my house walk down to 2 different (albeit connected) salt water estuaries. There are quite a few first Australian sites I have been lucky enough to find close to where I live which puts things in perspective.

Otherwise I like spending a lot of time looking after my two children and have started taking them on those hikes.

Sometimes when I get the chance I like to dabble in building search engines. I find the algorithms required interesting and fun to work with. Rather a nerdy thing to do but it does keep my mind active.