Blog Writing for Developers
Writing is one of the most powerful forms of communication, and it’s useful in a multitude of roles and contexts. As a blog-writing, documentation-authoring, twitter-shitposting DevEx engineer I spend a lot of my time writing. Recently, someone paid me a very nice compliment about a blog I’d written and asked how they could learn to write like me and what resources I’d recommend.
Never one to miss a chance to write and share something, here’s my response to this :)
What Does This DevEx Engineer Do?
This was originally titled more broadly “What Does A DevEx Engineer Do”, but that made it into a far too tedious and long-winding etymological exploration of the discipline. Instead, I’m going to tell you what this particular instantiation of the entity does 😄
Authoring Wordpress blogs in Markdown (with Google Docs for review)
Wordpress still, to an extent, rules the blogging world. Its longevity is testament to…something about it ;) However, it’s not my favourite platform in which to write a blog by a long way. It doesn’t support Markdown to the extent that I want. Yes, I’ve tried the plugins; no, they didn’t do what I needed.
I like to write all my content in a structured format - ideally Asciidoc, but I’ll settle for Markdown too. Here’s how I stayed [almost] sane whilst composing a blog in Markdown, reviewing it in Google Docs, and then publishing it in Wordpress in a non-lossy way.
Building Better Docs - Automating Jekyll Builds and Link Checking for PRs
One of the most important ways that a project can help its developers is providing them good documentation. Actually, scratch that. Great documentation.
Using Delta from pySpark - java.lang.ClassNotFoundException: delta.DefaultSource
No great insights in this post, just something for folk who Google this error after me and don’t want to waste three hours chasing their tails… 😄
Quickly Convert CSV to Parquet with DuckDB
Here’s a neat little trick you can use with DuckDB to convert a CSV file into a Parquet file:
COPY (SELECT *
FROM read_csv('~/data/source.csv',AUTO_DETECT=TRUE))
TO '~/data/target.parquet' (FORMAT 'PARQUET', CODEC 'ZSTD');
Making the move from Alfred to Raycast
It all started with a tweet.
Aligning mismatched Parquet schemas in DuckDB
What do you do when you want to query over multiple parquet files but the schemas don’t quite line up? Let’s find out 👇🏻
Looking Forwards, and Looking Backwards
As we enter December and 2022 draws to a close, so does a significant chapter in my working career—later this month I’ll be leaving Confluent and onto pastures new.
It’s nearly six years since I wrote a 'moving on' blog entry, and as well as sharing what I’ll be working on next (and why), I also want to reflect on how much I’ve benefited from my time at Confluent and particularly the people with whom I worked.