No. 18 - Pancake sorting 🥞 Dates and history 🔩Shortage of chips

Working with a spatula

My name is Linda. I write a bi-weekly newsletter about computer science, childhood and culture - and there are 9447 of you listening. If you enjoy this issue, please share it with anyone you think may find it useful.


Last week we shot a short talk about home-cooked software. My manager had access to a kitchen studio and the idea of doing a technology talk, but in the style of a cooking video, was born.

The talk is about a lot of things: what we can learn from recipes, Samin Nosrat, rooftop gardens, caloric surplus and the idea of developing a palate and what that means for software engineering. But one of the most fun to shoot segments was demonstrating the pancake sorting algorithm.

This is an algorithm to sort a disordered stack of pancakes in order of size in the smallest number of steps. There’s a lot of varieties to both the problem and the solution, but in essence what we shot was bringing always the largest pancake not yet sorted to the top with one flip and taking it down to its final position with one more flip. And then repeating this process for the remaining pancakes.

Unless you’re very well versed in algorithms, you probably need to read that sentence a few times. And odds are it still doesn’t make much sense. Experimenting with this interactive version might help a little bit. But still, slow, at least for me.

I’ve written earlier about the role of touch in learning and once again I was reminded how much my fingertips help in understanding. Working with the spatula I don’t think I’ll ever forget the algorithm. I own it.

Try it out. Find seven different sized objects and really try moving through the sequence of steps in the instructions. It’s a joy. I’ve made something similar in the past with bubblesort algorithm, there’s a worksheet to try out.

(Once your fingers are all greasy and gross playing with the pancakes it might occur to you where this algorithm is used. Well, for example in parallel computing to calculate shortest paths between processors - which in turn is what powers scientific research, game engines, AI calculations.. anything that requires a LOT of computing power.)


Linked List

In computer science, a linked list is a linear collection of data elements whose order is not given by their physical placement in memory. But here it is a selection of things I’ve been reading lately.

  • Geography is the chessboard of history. Makes (among other things) the argument that our focus on teaching dates when it comes to history is.. weirdly trivial and mostly useful because dates are easy to grade. Makes me think what are the things we teach in computer science that are equally esoteric.

  • This internal combustion engine website made the rounds earlier and I obviously love it. Wish someone made an electric circuits - logic gates - ALU version that would start with the step by step approach of Code by Charles Petzold. (That should probably be me.)

  • I’ve been following the global shortage of microchips with much fascination. When everything becomes a computer, turns out it’s not only software we need. The entire field of semiconductors and talent as a geopolitical resource has this sense of 1960s, and transistors at the heart of it being both a physical thing and a mathematical operation is a metaphor I keep thinking about.


Classroom

I’m hoping to surface and share stories from all of you and I’d love to see your creations!

A post shared by @helloruby.world

No. 17 — Marginalia 📝 Fred Rogers ❤️ Palimpsest

A reader with a pen

My name is Linda. I write a bi-weekly newsletter about computer science, childhood and culture - and there are 9447 of you listening. If you enjoy this issue, please share it with anyone you think may find it useful.


Marginalia, as in marginal notes or embellishments in a book, has long been an obsession of mine. The Hello Ruby series got started as scribbles in the margins of my Learning Rails book back in 2010. Whenever I didn’t understand a concept (MVC?Object oriented design?), I would try to make a tiny drawing of it. This obsessive habit became my career.

Ever since I’ve been a reader with a pen. And I am in no way alone.

Oliver Sacks was a voracious scribbler of his 500+ books. Browsing through these pictures it occasionally feels his playful soul is present in the space between the text and its commentary. One recurring app wish I have (😞 Readmill👋 Readwise) is a social way to read and share marginalia. I think the only NFT I’d be interested in purchasing is one that unlocks the layers of secrets someone else’s notes contain.

Sam Anderson made smart and detailed notes while reading that grew into essays and critiques, but also a year long project highlighting this visible thinking.

Pierre de Fermat wrote his famous last theorem in the margins. I’ve linked the project inspired by this tendency for scientists and researchers, Fermat’s library, before but it bears repeating. Start with the recent I, Pencil article.

It’s not only the literary and scientific text that in my opinion benefits from a subjective commentary. Programmers regularly annotate their code to make it easier for the next human to read it - the computer doesn’t really care and odds are someone else will work on your code in the future. Sometimes it happens with line comments, separated from the actual code with special characters (like /* or ##). Sometimes it’s done by the software that handles the versioning (like git diff or commit history).

Recently I’ve been trying to find primary sources on early Finnish punchcard operators. Some of these punchcards from 1950s and 1960s are digitalised, but they lack.. context? Thinking? It makes me wonder if the most lasting legacy of the Svalbard Github repositories won’t be the code, but the annotations that are stored.

Linked List

In computer science, a linked list is a linear collection of data elements whose order is not given by their physical placement in memory. But here it is a selection of things I’ve been reading lately.


Classroom

I’m hoping to surface and share stories from all of you and I’d love to see your creations! Instagram has been recently quite active - sharing here a few of my favorite inventions. I’m also trying to remember to post more on the Hello Ruby instagram account and share these there.

A post shared by @code_buzzy
A post shared by @ldeas_corner
A post shared by @codewfloppy

No. 16 — Homescreen Helsinki 📦 Lo-fi girl 🇫🇮 Winter Book

Unboxing a city

My name is Linda. I write a bi-weekly newsletter about computer science, childhood and culture - and there are 9465 of you listening. If you enjoy this issue, please share it with anyone you think may find it useful. This edition is done in paid partnership with MyHelsinki, my hometown, which I’m very excited to get to (virtually) share with you.


Homescreen Helsinki

Ever since the pandemic started, the world shrunk. My life was contained in a few square kilometers up and down the coastline of Helsinki. Home, and especially the homescreen, became the primary way the world got mediated to me.

Sometime last spring I started to play the YouTube channel lofi hip hop radio. In it, an anime girl does her homework and gentle hip hop plays on an endless loop. There is a cat on the windowsill, a pair of scissors on the forefront. Sometimes it’s day, sometimes it’s night. She keeps studying, focused and at peace.

At any time, there is up to 50 000 co-listeners present and a lively discussion is happening in the chat. There are listeners from all over the world, asking for homework advice, recommendations for something to cook and sharing pandemic stories.

Browsing the YouTube channel feels like visiting a tiny city, sharing a space with strangers.

Unboxing Helsinki

What does visiting a city mean? Before the pandemic, the answer was quite straightforward. You went somewhere, experienced something, maybe formed a memory, came back.

Now, it’s different. I can’t invite you to visit Helsinki, but I can offer a shared presence around a few of the core ideas of what I think make Helsinki a special place. And they all fit in a box.

So, let’s take a look!

(And the best part? When you can’t come to Helsinki, the city will ship out free Helsinki boxes for ten lucky ones! Sign up here, the form is open for another week.)

During the last year, the city has been looking for the different freedoms of Helsinki - freedom to love, freedom for balance, safety, growth and so forth.

For me, the biggest freedom in Helsinki is the freedom to be boring. It’s the everyday experience of quality, whether it’s our daycare system, clean streets, or double-glazed windows and never having to think about them again. The bedrock and lichen and open sea. Reasonable working hours with plenty of paid vacation. 5 hours to Shanghai, 7 hours to New York. The freedom to be of the world, but not always in it.

Not all of Helsinki is like this - given the diversity of the city there is surely something for everyone - but much of it is. Small and quiet, soft and situated. A homescreen to help you focus.


Linked List

In computer science, a linked list is a linear collection of data elements whose order is not given by their physical placement in memory. But here it is a selection of things I’ve been reading lately.

If studying together can happen by gathering around a YouTube channel, visiting a city can probably too. My perfect virtual Helsinki day would look something like this:

No. 15 — Sherry Turkle 🧸 Transitional objects 🏛️ Wes Anderson x Kunsthistorisches Museum

On juggling balls and running gears, on jacquard bags and baby-blue cars

My name is Linda. I write a bi-weekly newsletter about computer science, childhood and culture - and there are 9497 of you listening. If you enjoy this issue, please share it with anyone you think may find it useful.


These past weeks I’ve been belly-flopping into new and looking for vocabularies between people who build technology and people who build cities. In addition, I’m two weeks away from a big deadline for the bind-up version of Hello Ruby, coming out in Finnish this fall, so work, work, (spring), work.


Last week I finished Sherry Turkle’s Empathy Diaries, a memoir of her life and career as a sociologist amid technology people.

Second Self, written in 1980s, is one of those technology books that only becomes more relevant as it ages. Empathy Diaries, on the other hand, is personal. It is graceful, clear, and maps Sherry’s intellectual lineage. I love how strong her voice is throughout the book, and how tech luminaries like Steve Jobs, Marvin Minsky or Seymour Papert pop by, often a bit cranky, childlike and so very focused on intellectual ideas.

Sherry, on the other hand, loves to think with objects. She used to start her classes by asking students to share an object they met during childhood or adolescence that had an influence on their path into science. Sometimes the very physicality of the objects offers children time to think, to use their imaginations, to make up their own worlds. Sharing these stories of juggling balls and running gears, of jacquard bags and baby-blue cars as objects to think with, to build an identity, made me smile.

Computers are of course mentioned as objects we think with. And I wonder how we, the generation that has always had computers, will grow to see them. Computers as transitional objects, like a baby blanket or a favorite teddy bear, are going to be more and more common. And I wonder if the small, boxy, squat things in our pockets will afford the same quality of experience as in a world less about screens?

There’s an activity that kind of handles this I’d be curious to hear feedback on. The idea is to look at everyday activities software has eaten up and discuss how they were done before. What have we gained? What might we have lost?

Try out the activity


Linked List

In computer science, a linked list is a linear collection of data elements whose order is not given by their physical placement in memory. But here it is a selection of things I’ve been reading lately.


Classroom

I’m hoping to surface and share stories from all of you and I’d love to see your creations! Here are a few teachers using Ruby in creative, fun and inspiring ways:

  • Matt Scadding’s students (who have impressed me before!) have built paper computers, but are far from finished, as they intend to include LittleBits hardware next. Can’t wait!

  • Salam Ruby is a very active instagram account in Persian. There is no official translation yet, but these grassroots efforts always feel so joyful, so right, so internet.

Or hit reply and answer below: 

  • From Second Self, Turkle states: “In the 1970s and early 1980s, computers carried a modernist ethos: analyze and you shall know; by the mid-1990s, the complex simulation worlds of opaque computers offered an experience that called these assumptions into question. Culturally, the Macintosh carried the idea that it is more fruitful to explore the world of shifting surfaces than to embark on a search for mechanism, origins, and structure.” What does the culture of computing in 2020 carry?

  • Is there an object that made you fall in love with science/books/fashion/sports/misc?

  • Is a computer a transitional object for you? Why? Why not?

No. 14 — Svalbard 🌲 Tech Tree 🐁 Computer Mouse Conference

Hope in the permafrost

My name is Linda. I write a bi-weekly newsletter about computer science, childhood and culture - and there are 9507 of you listening. If you enjoy this issue, please share it with anyone you think may find it useful.


Earlier this month I started to plan a trip to Svalbard. Having something to look forward to, however remote or unlikely, seems much needed at this stage of the pandemic. From Helsinki it’s first a 17 hour drive up to Tromsø and then an hour and a half flight to Svalbard. Very up north, even for a Finn.

So what’s in Svalbard? From my perspective, two things. The first is the Global Seed Vault, a plant bank opened in 2008, housing a wide variety (altogether over a million!) plant seeds. In case of a regional or global crises, the bank serves as a kind of biodiversity backup.

The second thing has to do with software. In early 2020 Github, a company that offers version control for code, and has become one of the biggest places where software gets made, shared and stored, opened in Svalbard the Github Arctic Code Vault. On 02/02/2020 Github captured all of the public code on their site and preserved that data into the vault.

Now of course there is no real reason to store code in permafrost. And as much as plant seeds below ground spark my Cixin Liu sensibilities, there is not much yet to see with the Global Seed Vault, though there is a breathtaking visitor center in the making.

However something about Svalbard makes me think about technology in a new way.

We are all very used to hearing how technology develops at breakneck speed, how code gets rewritten all the time and how there is no time for long-term thinking. The hardware of a phone from two years ago is redundant and software from early 2000s clunky.

I wonder a lot about how much of this is has to be true. Already today we have code that is written for hundreds of years: the Voyager 1 & 2 come to mind, but even some banking software dates a generation. The Tech Tree project, a part of the Arctic Code Vault, describes and documents how the world makes and uses software today, as well as offers an overview of the foundational technologies required to make and use computers. Many of these technologies and ideas are older than 70 years and in use daily.

Even though the speed of technology changes at exponential rates, the act of writing software has more to do with communication, syntax and semantics and thus changes slower.

I think a lot about how this kind of historical memory can be one way to think about the future.

What if our children got to know old software in classroom or developed their own future Rosetta stone’s of today’s foundational technology ideas? Instead of using always new frameworks or libraries spent time developing vocabulary and understanding of the code we already have?

What if instead of thinking doomsday and impending apocalypse we would see Svalbard as a place of grand, sweeping hope?


Linked List

In computer science, a linked list is a linear collection of data elements whose order is not given by their physical placement in memory. But here it is a selection of things I’ve been reading lately.

  • The Japanese manga series Dr. STONE (discovered through Robin Sloan) is a joyful and exhilarating expedition into the tech tree in practice: in it, a young scientist restarts civilisation from scratch. In each episode he tries (and mostly succeeds) to save humanity that has turned into stone, by inventing electricity, antibiotics and so forth. Watch here (at least for a sneak peek)

  • Paul Graham has a classic essay called The Hundred-Year Language where he outlines why programming languages don’t change at the same speed as transistor sizes. Kevin Kelly has written about the question many engineering students think about at some point of their career: if you were stranded on an island, would you be able to build a working computer?

  • How to Write a History of Writing. Packy McCormick wrote about the history of Excel, and this book from a few years ago shares the history of word processors and how they shaped a profession.

  • The Computer Mouse Conference 2021 sounds delightful. “Through lectures, video performances, live panel discussions, writing, a live zine, and a computer mouse tear-down workshop participants will explore the question: what does the mouse see?” April 29 & 30, online


Classroom

I’m hoping to surface and share stories from all of you and I’d love to see your creations! Here are a few teachers using Ruby in creative, fun and inspiring ways:

  • How can machines help us create a perspective of billions of years?

  • If you had to build a computer from scratch, where would you start?

  • The Rosetta Stone was a tax decree, but turned into something much bigger. What would a piece of software you created (or use) tell about us for humanity a hundred years into the future?

Loading more posts…