Hello and welcome to thoughtwisps! This is a personal collection of notes and thoughts on software engineering, machine
learning and the technology industry and community. For my professional website, please see
race-conditions.
Thank you for visiting!
20 Mar 2018
The better part of the day was spent, in what one can only describe, as end to end JSON message tracing hell.
I am currently working on a platform where several individual components communicate via JSON messages. These messages are produced, ingested, reprocessed and placed back onto messaging streams for downstream consumers. Each components runs as an independent service.
Early in the week, we detected several problems in one of the end to end flows of data and started trying to find out what things could be done to unb0rk the process.
The resolution of the bug is not terribly interesting (mostly some fixing in a few places in the Python glue code that keeps the whole thing together), but as an experience, debugging an end to end flow in a microservice-y type of environment is definitely something everyone should do at least once (perhaps even if your stack is a monolith). You quickly learn to appreciate the importance of writing good (informative, not spammy) log messages and having a log aggregator that allows you to filter by regex, keyword and date range. I can’t even imagine what it’s like to trace a single event across 10s or 100s of microservices.
11 Mar 2018
This post was finished on the 28th December, 2019.
There is something about it that, one cannot deny, makes it impossible to look away. After all, 280 characters seems to be almost designed to generate posts that lack the space to deal with subtleties and nuances. We take the grey and make it into black and white. More fire for the outrage machine.
I’m old enough to remember what the web was like before Twitter, Facebook and Tumblr came along. It wasn’t a palace of polished Bootstrapped interfaces, but a bazaar of homemade CSS and HTML. We made websites on Geocities, mostly by studying the source code of good looking websites we found by surfing hyperlinks (do people do this anymore?). It also wasn’t so damn addicting. There was no place I would’ve gladly spent 2+ hours scrolling and clicking. Now, there does not seem to be a shortage of sites that are happy to hijack and monetise the shit out of your attention. It turns out our brains are addicted to novelty, to tiny morcels of low calorie information that we can react to with minimal effort.
I wrote this piece in the aftermath of a massive Twitter pile-on on a famous figure in the US tech scene who
wrote an article filled with somewhat controversial advice for women-in-tech.
My kneejerk reaction was somewhere betweeen “this engineer is one of those fuck-you-got-mine’s (a phrase that was actively
used in the women-in-tech community a few years ago to describe women who seemed to have “made it” in the tech world
and were unwilling to throw the ladder back down)” and “this advice actually makes sense in the imperfect world we
live in”.
In either case, tech Twitter went into a meltdown of sorts after the publication of this person’s post.
All of a sudden, person after person dunked on the writer and started subtweet threads after subtweet threads.
After spending some time looking at the aftermath, I found a disturbing emotion within myself.
A part of me was logging into Twitter and scouring the inflammartory threads just to experience a,
well, a kind of dopamine rush or outrage euphoria, a kind of personification of the popcorn eating -gif
that is sometimes posted when an internet dramageddon is about to go down.
I realised that my lizard brain’s affinity for petty gossip has been amplified by this
website. In fact, this website has molded my lizard brain to think in terms of the medium.
I find myself frequently daydreaming in tweets these days: a thought comes into my head
and suddenly my fingers are itching to tweet it out, my brain frantically shifting around words
to make sure it fits into 280 characters. And when there is a dramageddon going down on the website,
the lizard brain can’t help but scroll on and on in glee trying to dig up more and more
tweets and subtweets piling on the person. Bring out the popcorn, but don’t expect it
to satiate you.
10 Mar 2018
I had a bad interaction with someone I consider a role model, so I guess this is salty Sunday thoughts, but here goes anyway.
Goodbye for now, women-in-tech Twitter community. One blog post and a whole community is getting torn apart by
280 character hot takes. When did we lose the ability to talk about things like adults? Why can we not take criticism and disagreement and use it to become better as a community?
I guess when we figured out that snide subtweets generate more engagement than direct conversation.
It’s been a good run.
03 Mar 2018
Two people, two senior leaders in technology whose work I follow and respect, recently had an inflamed public exchange on Twitter, which made my heart sink. The exchange was about a piece of advice that one of them had published for women in technology - ‘women in tech’ as the movement is usually known. I read the post, not once, but several times. I didn’t agree with all of it. I thought some of it was problematic, the other part practical. It seemed like advice that actually acknowledges that the real working world is not always a nice, fair, just place and I appreciated it for its candor. But advice is just that: advice. It’s not a how-to manual or a guaranteed way to succeed in an industry. It’s often based on the author’s own experiences or the experiences of those she has worked with or mentored. It won’t work for everyone and every life situation.
Although the media is infatuated with the narrative of the genius, Harvard drop-out techie founder, who loves hoodies, raw water and waxing lyrical about the upcoming tech brotopia, there are other stories out there, other ways of being in tech and being successful. There is no one guaranteed way to make it as a ‘woman in tech’- three words which are problematic, because we are people before we are a gender, especially before we are a society’s idea of how our gender should act and behave in the world. This is not to say that gender does not affect our lives - it does, sometimes with extremely devastating consequences.
I suppose what I’m trying to say is that every woman’s tech career will be different and there is no advice that will work for everyone.
I wanted to share some of these half-baked thoughts on the platform and initially retweeted a few posts and commented, but after a while I gave up and deleted the lot. Twitter is ideal for half-baked steaming hot takes, but this is one fire I don’t want to throw more kindling on.
I don’t know what value I can add beyond restating what other people have already said.
It reminds of the time another prominent developer (who happens to be a woman) criticised some women in tech groups. There was lots of unnecessary hand-wringing and hot takes. But also a few well-measured responses. If we as ‘women in tech’ can’t take a critical look at our movement and its aims and can’t tolerate scrutiny from people who don’t agree with our goals, then what are we really doing.
Also, I’m just tired of talking about this. Actions speak louder than tweets or words.
So that’s what I’m going to focus on.
01 Mar 2018
The acronym - NYT - means ‘now’ in Finnish and that’s how I’ve come to think of this digital
place - the ‘now’. It’s usually the first thing my trigger happy muscle memory punches into the URL bar
once the morning caffeine kickstarts the neurons and sometimes the last thing I scroll before I call
it a day in the digital universe.
A long time ago, on a Finnish forum, someone lauded the visual design of the NYT website - the old school
page that looks like someone simply lifted the front page of a newspaper and crammed it into bits of JS, CSS and HTML-
one of the best visual designs ever. The poor guy was flamewared out of the thread.
I do remember thinking how boring all that black and white was. Why not add some geocities colour schemes while you’re
at it?
Of course, what did I know. At this point, the most advanced web development my friends and I were doing was pasting source code
snippets from other websites to create virtual kennels and stables -remember those?
Yeah. This makes me sound like some relic in the museum of the
internet and indeed, at times I do feel like one. In fact, I still remember the time before the search engine monopolies, because for school assignments my classmates and I collected lists of various search engines and what was best for what type of searching. I still remember that Vivisimo - the search engine aggregator was a thing.
But back to the black and white. Tonight, I attended a WWC London meetup to hear from the tech and digital teams
at the New York Times. The crowd was treated to visually stunning presentations from the T Brand team and to some
powerful (black and white - just like truth ought to be?) marketing campaigns that were launched last year and this year.
Two years that the microhistorians of my time will surely pin as the two most troubling times to run a major US newspaper.
Among the presentations was a walkthrough of an investigation into a phishing campaign, an interview with the NYT interactive team about coding live websites to track results from the Olympics and a conversation with the NYT CTO Nick Rockwell.
Someone from the audience asked about ‘boring vs exciting technologies’, which was a nod to the famous Etsy blog post that
makes the case for building tech stacks out of conventional, well tested technologies that have known unknowns. Rockwell
answers that the NYT team does a bit of both, but that letting smart, capable people experiment with new tech is a key
in keeping them engaged. I can see the merits in the views of Rockwell and the Etsy engineers who advocate for boring tech. It’s fun to play with new languages and frameworks, but sometimes I feel that the tech industry as a whole is too in love with what Martin Thompson, in his GOTO Copenhagen 2017 keynote ‘Engineering You’, calls ‘intellectual masturbation’ - trying out new ways of solving the same problems without going back to the basics. Sometimes this results in people trying to cajole every single problem a customer or a client has into something that can be engineered using the developer’s favourite framework without properly understanding what the original problem was. First look at the problem, its constraints, its end users and operators, then choose the tool that optimizes for a good experience for as many of these stakeholders as possible. In the end it’s always about making tradeoffs, but I know that I would trade ‘having fun with a new framework’ for ‘I know exactly how this thing I developed behaves when prod stack is on fire’ any day, especially the day when I am on early morning support.