Home

Immutables, Part 3

July 15, 2019

At this point, we’re fairly comfortable with using Immutables. In Part 1, we introduced how to create and use generated immutable objects. In Part 2, we looked at how we can use various features of the Immutables library to make our immutables nicer to work with. Here, we’ll take a look at styling and usage patterns. This will allow our immutables to be more idiomatic and homogenous with the rest of our code base. ...

Immutables, Part 2

July 8, 2019

Last time, we took a first look at the Immutables library, focusing on the basics of how to generate and use an immutable object. Here, we’ll take a look at how we can use some useful features to make our immutables a bit nicer to work with! Basic Usage In part 1, we used a toy example of an image editting app to highlight where our code would benefit from immutability. ...

Immutables, Part 1

July 1, 2019

A core part of coding in an object-oriented language is, well, creating objects. Plain Old Java Objects (POJOs) are the standard Java object, and they usually look something like this: public class Color { private String rgb; public Color(String rgb) { this.rgb = rgb; } public String getRgb() { return rgb; } } Nice, simple, straightforward. POJOs are fine for modelling things, but they have a problem: they’re mutable. ...

Requesting Feedback

June 24, 2019

How do you get feedback? Even when you want feedback, getting reliable feedback is hard. The person sitting across from you isn’t always able to give you something helpful. This is a conundrum that lots of people face, especially in the workplace. When dealing with your boss, you want her to be able to tell you where you should focus to become better. When dealing with your reports, you want them to give you an accurate picture of how they feel, not one that will just placate you. ...

Understanding Your Tools

June 17, 2019

The other day, I saw my coworker’s kid on my Instagram feed. She’s cute, about two years old, and she was playing with a toy. The toy was just a cardboard box hanging from a string. Kids simply don’t have the same perspective on the world as we do. They’re immensely curious about things that we find mundane, and they love playing with these everyday objects. It’s as if they’re always asking, what is this thing and what can I do with it? ...

Autopilots

June 10, 2019

Whenever we start learning new things, there’s often way too much to cover. For me, I think this was most pronounced when I started software engineering as a recent college grad. With almost no prior industry experience, I was trying to understand the product, how our systems fit together, our tech stack, and coding best practices. It’s actually quite easy to forget how much surface area you get exposed to. ...

Automatic Blog Deploys

June 6, 2019

One of the first things I’ve been figuring out with this blog is how to schedule my posts. Because Hugo is a static site generator, you need to build and deploy the site at the time that you want to publish a post. This is easy to do—we need (1) a recurring trigger and (2) that trigger needs to build and deploy the site. We’ll actually work through this backwards. ...

Setting Up a Blog

June 2, 2019

Hello World! In this first post, I’ll get into how this blog is being hosted. I’m using Hugo, Bitbucket, and Netlify. Comparisons Framework I wanted something easy, useable for programmers, flexible, and cheap. I’ve used Jekyll, mainly via the Yext Engineering Blog. Jekyll was a little annoying for me, and I wanted to try something new. For example, Jekyll draft posts are placed in a _drafts folder, then moved to the _posts folder once you’re ready to publish. ...