The Yak Shave

The Yak Shave

Each week our hosts will discuss their development experiences. We'll talk about Ruby, Rust, Go, and anything else that has drawn our interest this week. Subscribe below to be notified when new episodes are published!

  1. Thumb 1554079772 artwork

    14: TIL database connections aren't cheap

    A background job should be a function. So, putting more things in it is always a good idea! Sean announced that he shipped background jobs for crates.io. It's been in production for more than two weeks, and no issues have been reported. It's made life much easier because he no longer needs to spend time manually cleaning or cloning the index before changing a config bar. Now, he's working on librafying "Swirl." Also, Sam expressed frustration with his decision to use heredocs and block local variables in his Ruby autoformatter (Rubyfmt) - big mistake that caused big problems.

  2. Thumb 1553451957 artwork

    13: "As much time as I can without reading C" with James Coglan

    Do you use Git practically every day, but have no idea how to implement it? Need a more accessible and easier way than reading original source code to understand how it works? Want to know how to rebuild Git in a high-level language to learn the concepts involved? Sam talks to James Coglan, who wrote the book, Building Git. It teaches readers how to rebuild Git in Ruby and helps them develop debugging skills. Also, James shares his thoughts on Sam’s Ruby autoformatter (Rubyfmt), which takes a radically different approach to RuboCop. Rubyfmt won’t offer any configuration options that allow users to effect its style opinions.

  3. Thumb 1552856296 artwork

    12: A new cat named Merb!

    Sean and Sam talk about debugging a memory leak with Crates.io when upgrading to Rust 1.32 that could only be reproduced in production.

  4. Thumb 1551137069 artwork

    The Parse.y Hole

    Derek Prior, engineering manager at GitHub, joins Sam to talk about what they’ve been working on these days. Derek’s doing GitHub projects that can’t talk about. But, he did mention that GitHub recently shipped small-scope changes to its issue templates. Sam dives deep into details about building a Ruby auto formatter and not wanting to be the sole dictator of style for the rest of Ruby for all time. Feedback from others through a request for comments (RFC) process is valuable for adoption and implementation. For the goodness of the community, get them to tell you all their style opinions! Then, everyone can look forward to using Sam’s auto formatter.

  5. Thumb 1550445096 artwork

    10: Deleting all of a user's comments is probably a bug

    Ruby's language development is off the charts. Also: we talk about programming. Sam and Sean discuss Ruby, auto-formatting, and whether Hash Rockets are good. They bring other languages, such as Go, Rust, and Elixir, into their formatting discussion. Also, Sam shares some work-related news. He’s leaving his job at DigitalOcean. Before he goes, he wants to get as much done as possible to give his team the best opportunity to succeed. That’s the mark of a truly great manager. But, at the same time, he’s looking forward to his next gig!

  6. Thumb 1549837830 artwork

    9: Tools That are Well Built Will do it for us!

    We’re still time travelling, Sam has since left DigitalOcean, but in this episode, he talks about his experiences there.

    Sean talks about his experiences managing the crates.io team, and incidents on an open source project with volunteer time. Sam talks about his experiences scaling go programs, and processes vs threads, as well as why kubernetes makes the trade offs between goroutines and processes pretty unimportant.

  7. Thumb 1549221219 artwork

    8: Vulnerability

    This episode was recorded on October 21st 2018. We thought it best to get this to you, even though it's a little stale :)

    Remember that dark, scary time in October 2018 when GitHub went down? Sean is joined by Derek once again to discuss what they've been up to.

  8. Thumb 1543883037 artwork

    It's not a Pyramid, it's a Diamond

    Sean and Sam talk all about testing. Sam created an ideal testing pyramid based on personal experience and from talking with test thought leaders, such as Justin Searls.

  9. Thumb 1540330330 artwork

    6: The Podcast After the Last Podcast

    This week Sean is joined by former cohost Derek Prior. After a brief reflection on the end of The Bike Shed, we discuss WebAssembly and what it means for the future of the web as well as native sandboxing. Finally, we catch up on what Derek has been doing since leaving The Bike Shed.

  10. Thumb 1539301825 artwork

    5: A Series of Anecdotes

    In this episode, Sean and Sam discuss the challenges of feedback cycles in organizations, how we could benefit from more feedback in open source, and some idiosyncrasies regarding libcurl and the HTTP/1.1 specification.

  11. Thumb 1538700969 artwork

    4: Folks are in a Stink

    In this episode of The Yak Shave, Sean gets Sam's opinion on dealing with documentation. They share tips, tricks, and workarounds regarding queryable structures, databases, APIs, languages, documentation, and more to address these users. Then, Sean offers Sam advice on how to debug a Ruby issue surrounding database CPU usage.

  12. Thumb 1538135671 artwork

    3: Almost 0% Chance it's a Bug

    In this episode of The Yak Shave, Sean shares the most nightmarish debugging experience he has had in a long time. rails_fast_attributes was down to one failure, which manifested itself as a test where a query was expected to run 269 times, but only ran 265 times. After testing, troubleshooting, and finding the root cause, he determined that it was actually behaving completely fine.

  13. Thumb 1537458762 artwork

    2: This is Fine

    In this episode of The Yak Shave, Sean and Sam discuss their experiences with incident management, the difficulties of getting an on-call rotation right.

  14. Thumb 1536100958 artwork

    1: A Brave New World

    In the inaugural episode of The Yak Shave, Sam and Sean discuss the complexities of asynchronous background jobs, when it's appropriate for an application, and the challenges involved with building a job queue from scratch.

Back Home