/images/avatar.jpg

Byzantine Easter

Like much of Pittsburgh, I am ethnically Rusyn. I was raised mostly Roman Catholic (because my dad is). At Easter, though, I always attended Holy Ghost Byzantine Catholic Church, where my mom’s family belongs.

Byzantine Catholics have very different Easter traditions than many other Christians, but I didn’t notice until I experienced culture shock the time we took our basket to be blessed at the Roman Catholic parish where I grew up, and my basket was decidedly different from the others. Theirs had plastic eggs and chocolate bunnies. Mine had kolbasi, ham, bacon, pascha, hrudka, chrin, butter, etc. You know, a traditional Easter basket with all the foods for Sunday’s fast-breaking.

How's the Gender Ratio?

I recently completed a job hunt. I was a lot more intentional this time about having a list of questions to ask the companies I was interviewing with. I highly recommend Key Values for generating a list of questions to ask. They explain why they’re worded the way they are, too.

I did ask one thing in a way they didn’t suggest, though. Diversity, equity, and inclusion (DEI) is a hot topic, and I know that asking specifically with those words is likely to get me a canned answer. I wanted to avoid that. And of course, I can look at a company’s “About Us” page on their website and scroll through their LinkedIn results to get a sense of their gender and racial diversity.

Advent of Code 2021

In general, I regard myself as pretty bad at algorithms. I’m comfortable enough doing the Elixir track on Exercism (that’s how I learned Elixir), and I’ve used HackerRank some, but the reason I used HackerRank was because TripleByte said algorithms were my weak point. (It said architecture was my strong suit, and I’m quite pleased with that, as I did put effort into improving on that front.) I really dislike white boarding in job interviews (both because of the nerves factor and because the problems are usually totally unrelated to the job) and so much prefer take-homes.

Pretty Waterfalls in Honeycomb for an Absinthe app

When first setting up the Absinthe app I work on, someone added OpenCensus Honeycomb package. The way it was set up was very basic: each top-level query had tracing attached.

:object queries do
  field :getStuff, :stuff do
    meta :trace, true

    arg :input, :string
    resolve &Resolver.stuff_resolver/3
  end
end

This got us information on how long each query took, so we could see which query needed to be optimized and do some debugging when performance issues hit. But it didn’t drill down like I wanted.

Reusable Django Admin Filters

It’s fairly common to have a many-to-many connection to a User model. But sometimes, you have a lot of users in that table.

Problem 1: relations to large tables are unwieldy

If we let the Django Admin load every single user into the dropdown in the Django Admin, it’s unusable. The dropdowns are too long. The page takes too long to load. We need to filter it in advance.

Dig around a bit online, and you’ll find some code of this form:

How to Network

Maybe you’re about to graduate, just graduated, or have been teaching yourself to code for the last few years, and you don’t know how to get your foot in the door with that first job. You see all those “entry-level” jobs that expect a year or three of experience. Networking is incredibly important, especially if you don’t have any professional experience in the tech industry yet.

We’ve all heard it: “it’s not what you know; it’s who you know.” I, personally, have gotten only two jobs (in a 14-year career) from a cold start. And frankly, one wasn’t a true cold start; a recruiter asked if he could show my 2017 resume to the company where I’d done my first internship, way back in 2007.