Skip to main content

A deep dive into unicode and string matching -I

· 8 min read
Bruno Felix
Digital plumber, organizational archaeologist and occasional pixel pusher

"The ecology of the distributed high-tech workplace, home, or school is profoundly impacted by the relatively unstudied infrastructure that permeates all its functions" - Susan Leigh Star

Representing, processing, sending and receiving text (also known as strings in computer-speak) is one of the most common things computers do. Text representation and manipulation in a broad sense, has a quasi infrastructural[^1] quality to it, we all use it in one form or another and it generally works really well - so well in fact that we often don't pay attention to how it all works behind the scenes.

Observations on the practice of software architecture - III

· 9 min read
Bruno Felix
Digital plumber, organizational archaeologist and occasional pixel pusher

"It is the developer’s assumptions which get shipped to production" - Alberto Brandolini

In parts one and two of this series we explored why software architecture is needed and some of the common pitfalls and failure modes that afflict "architects". This article will go into some of the principles and practices that are part of my toolbox. Very little of this is new and I've tried to link to the original sources so be sure to check the references. If I have misrepresented anything, that's solely on me.

Observations on the practice of software architecture - II

· 5 min read
Bruno Felix
Digital plumber, organizational archaeologist and occasional pixel pusher

"Two weeks of coding can save you an hour of planning" — Unknown

In part one of this series[^1] I tried making the argument that some degree of software architecture is required, and explored how a naive reading of agile software development practices coupled with organizational incentives create a toxic mix where software design is not valued, leading to a lack of clarity and coherence, viability crushing technical risks being ignored, and creeping and crippling technical debt that slows down software delivery.

Observations on the practice of software architecture - I

· 9 min read
Bruno Felix
Digital plumber, organizational archaeologist and occasional pixel pusher

“Simplicity and elegance are unpopular because they require hard work and discipline to achieve” — Edsger Dijkstra

Having a role that requires me to sometimes wear the "software architect's" hat at a relatively large organization has given me ample material to digest and reflect on the practice of software architecture, i.e. the design of software systems comprising multiple components owned by different teams. I am hoping to write a small series of posts that articulate (hopefully in an intelligible manner) why some architecture is relevant in our day and age, why it should be a seen as core skill for teams (especially senior+ engineers) and reflect on my own view of the practice of software architecture. Since architecture is part of the broader process of building any non-trivial software system, let's start there.

A primer on systems quality and monitoring

· 6 min read
Bruno Felix
Digital plumber, organizational archaeologist and occasional pixel pusher

An important part of the job of a software engineer is to ensure that our systems operate as expected. Establishing a feedback loop between the features a team develops and how it behaves in production is one of the traits of high performing teams[^1], and the idea that "you build it, you operate it" goes a long way to alleviate a lot of the toxic interaction patterns between traditional development and operations teams.

Hello World

· One min read
Bruno Felix
Digital plumber, organizational archaeologist and occasional pixel pusher

For a long time I've been thinking about using the techlead.net domain to create my very own blog. While not terribly exciting, the reality is that this serves two purposes:

  • It's a good way for me to be more disciplined in my own writing and learning process
  • Become a place where I maintain a curated list of articles and resources I find relevant.

With that out of the way, I guess this is the customary Hello world post.