Skip to content

2024

Lessons Learned: The Evolution of an Undergraduate Robotics Course in

Link: Lessons Learned: The Evolution of an Undergraduate Robotics Course in: "Seven years ago (2016), we began integrating Robotics into our Computer Science curriculum. This paper explores the mission, initial goals and objectives, specific choices we made along the way, and why and outcomes. Of course, we were not the first to do so. Our..."

The link is to a paper of mine that was/will be published as a chapter in this volume

The PhD Paradox: A Journey into Academia’s Upside-Down World – Daniel Lemire's blog

Link: The PhD Paradox: A Journey into Academia’s Upside-Down World – Daniel Lemire's blog: "An ironic and cynical view of higher education’s obsession with degrees"

The linked article critiques the role of doctorates (PhDs) in higher ed and society as a whole. Key quote: “Imagine if we recruited professors not just for their academic credentials but for their real-world achievements. People who’ve actually built things that work, could revolutionize how we teach software engineering or entrepreneurship.” . Duh.

How Not To Use Static Typing In Ruby

Link: How Not To Use Static Typing In Ruby: "Great advanced analysis of Ruby designs"

The linked article does a wonderful job exploring design choices in Ruby. It happens to focus on type checking and “fail early” vs “fail late”. But it’s most interesting to see the advanced and useful application of Ruby features and patterns. I

B-trees and database indexes — PlanetScale

Link: B-trees and database indexes — PlanetScale: "B-trees are used by many modern DBMSs. Learn how they work, how databases use them, and how your choice of primary key can affect index performance."

Linked is a neat article explaining a lot about b-trees. Especially notable are the excellent visualization and animations which gave me a new way to understand these incredibly important data structures.

1 dataset, 100 matplotlib visualizations – Curbal

Link: 1 dataset, 100 matplotlib visualizations – Curbal: "The 1 dataset, 100 matplotlib visualizations, displays 100charts made with matplotlib. Just click on a thumbnail to get to the full code."

If you've used Matplotlib, you may have seen their galleries and various other galleries. Attached is what looks to me like a MEGA gallery by someone who has really good aesthetic sense. (Joke: "Almost as good as ChatGPT")

The Thread API : Concurrent, colorless Ruby

Link: The Thread API : Concurrent, colorless Ruby: "👋🏼 This is part of series on concurrency, parallelism and asynchronous programming in Ruby. It’s a deep dive, so it’s divided into 12 main parts: Your Ruby programs are always multi-threaded: Part 1 Your Ruby programs are always multi-threaded: Part 2 Consistent, request-local state Ruby methods are colorless The Thread API: Concurrent, colorless Ruby Interrupting Threads: Concurrent, colorless Ruby Thread and its MaNy friends: Concurrent, colorless Ruby Fibers: Concurrent, colorless Ruby Processes, Ractors and alternative runtimes: Parallel Ruby Scaling concurrency: Streaming Ruby Abstracted, concurrent Ruby Closing thoughts, kicking the tires and tangents How I dive into CRuby concurrency You’re reading “The Thread API: Concurrent, colorless Ruby”."

Linked is a really excellent, comprehensive tour of the Thread class and feature of Ruby. If you're a ruby person, then this is as good as anything you will find.

Good Refactoring vs Bad Refactoring

Link: Good Refactoring vs Bad Refactoring: "I've hired a lot of developers over the years. More than a few of them have come in with a strong..."

Linked is a quite insightful article about good vs bad refactoring. What? Isn’t refactoring always “good”? There are lots of examples of bad ones here.

Visual Data Structures Cheat-Sheet

Link: Visual Data Structures Cheat-Sheet: "A visual overview of some of the key data-structures used in the real world."

Linked is a very comprehensive collection of brief explanations of numerous computer science-y data structures. I put it that way because when I think of a data structure and designing a data structure it is to represent some domain data in a way that is most convenient for the algorithm or requirements.

The linked article gets into advanced data structures seem mostly about efficiently storing, accessing, searching and updating very large collections of information. I say very large because the structures and associated algorithms are nuanced and ingenious in order to achieve efficiency when subjected to very large collections. When you need one, you really need it and it can save your application. But you won’t need most of them every day. IMHO of course.