Hi folks! I’m Jose. Welcome to my page

I’m a father, husband and engineer living in Seattle. I write software for AWS.

Awesome Falsehoods Programmers Believe

A curated list of falsehoods programmers believe in. The Code we write is a representation of the things we believe are true about the world. Every one has just one name, right? Well, most of the time, yes. All of the time? No. If you write an app for yourself, or your small business most of these assumptions are fine. If you write code for millions of users, you are going to find exceptions....

<span title='2023-11-08 07:57:58 -0800 -0800'>November 8, 2023</span>&nbsp;·&nbsp;Yes Way Jose

Book Summary: Thinking in Systems by Donella Meadows

Book Summary: Thinking in Systems Let’s say you want to build the perfect self-driving vehicle. This thing you want to make is composed of many parts. There’s the car itself made up of many subparts (engine, tires, transmission, etc) as well as the AI tech. Realistically you will need a bunch of speciallized embedded systems as well as a central computer to orchestrate everything. There’s sensors, actuators, orchestrators, etc. In short, how does one person know if a design is good?...

<span title='2023-11-04 16:18:25 -0700 -0700'>November 4, 2023</span>

The top 3 podcasts for Software Developers

The Top 3 Podcasts for Software Developers Go Time by Changelog link This is the podcast to keep up-to-date with all things Go. The jokes are nerdy and the hosts are sometimes not as funny as they think they are, but the content is great and they have a wide set of guests in the show that make it a must for all people who write go for a living...

<span title='2023-10-31 09:05:57 -0700 -0700'>October 31, 2023</span>

Article Review: Lessons Learned from Twenty Years of Site Reliability Engineering

Article: Lessons Learned from Twenty Years of Site Reliability Engineering Link to article The site realibility team at Google put together a summary of the lessons they have learned over the years. I am glad they decided to share. The best way to learn is by trial and error. Want your product or service to be better? Launch it, monitor it, and learn from the mistakes. It nice to learn from others, but there is no substitue to first hand experience....

<span title='2023-10-31 08:29:26 -0700 -0700'>October 31, 2023</span>

Staff Engineer Path

Book Review: The Staff Engineer’s Path by Tanya Reilly Tanya Reilly gives a guide for individual contributor software engineers who wish to grow their career but do not want to become managers. It gives insights about what a staff engineer does, and what you need to do to perform at that level. This is a technology-agnostic book. It gives the reader a high level view of the functional areas that matter....

<span title='2023-07-24 09:05:00 -0700 -0700'>July 24, 2023</span>&nbsp;·&nbsp;Jose Villalta

Coroutines for Go

Go Russ Cox put out an article yesteday about adding the abilities to run coroutines in go. Today I learned the difference between a goroutine and a coroutine. Coroutine is a concurrency pattern in which only one runs at a time. Say we have coroutine A and B. B waits while A runs then A yields to B and A waits while B runs. It turns out this is useful in a few scenarios....

<span title='2023-07-18 06:51:45 -0700 -0700'>July 18, 2023</span>&nbsp;·&nbsp;Jose Villalta

Learning File Systems

Lately I have been learning about File Systems from the book “Operating Systems. Three Easy Pieces” by Remzi Arpaci-Dusseau. I used to think that I knew how file systems worked because the interface open, read and write is so straight forward, what else could there be to it? But then at work some weird issues come up where some weird behaviour happens, like, du says the disk has space but df says the disk is full, what could make that happen?...

<span title='2023-07-15 21:21:31 -0700 -0700'>July 15, 2023</span>

My Tsundoku Pile

I’m trying to get through all my technical books that I’ve adquired, and never gotten around to. Not going to lie, the Knuth books are intimidating. They are actually not that bad to get through, but they are books that I pick up, read a few pages on a specfic project, try to do a problem or two, and that’s it. The other books are less intimidating, more doable, I’m pretty sure al but one of these books were lying around the Amazon campus just sitting on shelves....

<span title='2023-01-22 20:02:32 -0800 -0800'>January 22, 2023</span>&nbsp;·&nbsp;Jose Villalta

Paper every Day. Day ten: The Unix Timesharing System by Dennis Ritchie and Ken Thompson

Link to Paper This paper, published in July 1974 is remarkable because the design decisions that were made back then by these guys working at Bell Labs on an operating system for the PDP-11 are still relevant. I am still struggling to create a mental model of the unix file system, the fact that it looks like a single tree with the root at the top while simultaneously you can have multiple devices mounted dates back to these guys at Bell Labs....

<span title='2022-07-31 10:40:30 -0700 -0700'>July 31, 2022</span>&nbsp;·&nbsp;Jose Villalta

Paper every day: Day Nine: An Analysis of Linux Scalability to Many Cores

Link to Paper From the abstract: “This paper analyzes the scalability of seven system applications running on Linux on a 48-core computer…using mostly standard parallel programming techniques -this paper introduces one new technique sloppy counters these bottlencek can be removed from the kernl or avoided by changing the application slightly” This paper has an excellent system level tutorial on scalability. They explain that you don’t get linear increase in performance because in real life applications parallel tasks usually interact, an interaction forces serial execution....

<span title='2022-07-25 09:13:41 -0700 -0700'>July 25, 2022</span>&nbsp;·&nbsp;Jose Villalta