Welcome and happy New Year! This email has a few fun and interesting links. There’s mechanical robots, code golf, the Fediverse, and a universal font called Noto. Plus a Dad joke about geologists. Lucky you!
al Jazari Robots
Many years ago, living in LA with my late wife and no kids, I checked out a book by Ibn Battuta from the UCLA Library. Battuta traveled from North Africa to China and back over decades. Then wrote about his experiences. What struck me was (and is) the scientific interests of Muslim culture from roughly 900 to 1300 AD. People used technology to solve problems. And to have fun.
Ibn al-Razzaz al-Jazari (1136-1206) built ingenious robots to perform tasks and for amusement. He was a scholar, mathematician, inventor, mechanical engineer, craftsman, and artist. He built water systems, clocks, and automatons. His mechanical robots amazed people who saw them. If he were alive today, it’s fun to imagine what he would do with our technology.
For example, while inventing more accurate clocks, he built a robot band. It floated in a boat on a lake. He used water flow and pegs to have the robots make music.
He also wrote a book, The Book of Knowledge of Ingenious Mechanical Devices. It describe 100 devices he had built with instructions how to build them. He illustrated his book with beautiful intricate paintings of his work. You can find an English translation of this book online, at a link below.
And the Ibn Battuta book? I turned it in maybe six months late. The prospect of a late fee scared me. But the library clerk insisted there was no charge. Then showed me the book was last checked out five years before. That made my wife laugh. She told me that I only read books by dead people no one cares about. But it’s a great book to look up and read.
al-Jazari Automatons
https://kidscodecs.com/al-jazari-automatons/
al-Jazari
https://en.wikipedia.org/wiki/Ismail_Al-Jazari
Book of Knowledge of Ingenious Mechanical Devices
Elephant Clock
http://www.1001inventions.com/media/video/clock
https://en.wikipedia.org/wiki/Elephant_clock
1001 Inventions
An award-winning science and cultural heritage organization that raises awareness of the golden age of Muslim civilization, including the creations of al-Jaziri.
http://1001inventions.com/
1001 Inventions and the Library of Secrets
https://www.1001inventions.com/fun-learning/films-videos/library-of-secrets/
Ibn Battuta
https://en.wikipedia.org/wiki/Ibn_Battuta
https://en.wikipedia.org/wiki/The_Rihla
https://www.google.ch/books/edition/The_Travels_of_Ibn_Bat%C5%ABta/7PbG1H_-h0cC
Welcome to the Fediverse
If you use social media, you may have heard of Bluesky, Threads, Mastadon, and a few other services. You’d be wrong to think they’re like Facebook, Instagram, and TikTok. In fact, these new services are a revolution, like email. With email, it doesn’t matter what software you use to read and send messages.
With traditional social media, you and your friends must join one service. That service uses algorithms to decide what you see. The Fediverse lets you choose which community you want to join in a larger network. You could hang out with a bunch of fellow knitters, for example. And see messages from friends in other communities in the same network.
The Fediverse is the key technology driving this change in social media. In computing, a federation is a collection of connected but independent entities. They’re united under a central organization or technology. The word Fediverse is a mashup (aka portmanteau by fancy people) of the words federated and universe.
The Fediverse is a common set of software Bluesky and other services use to talk with each other. Currently, there’s two dominant flavors: ActivityPub and AT Protocol. ActivityPub is open source and widely used. AT Protocol is a less open technology used by BlueSky. Regardless of flavor, the Fediverse makes social media more open and diverse. There’s no single algorithm deciding what you see.
As new technology, the Fediverse might be fun to explore. There’s alternatives to all the closed communities and services like YouTube and Flickr. But it’s real promise is yet to happen. It would be great if someday the social media service you like was open to all services. Not only independent communities within a single service or Fediverse protocol.
The underlying problems with social media don’t disappear with new technologies. There’s doom scrolling, of course. Social media is addictive. Controlling your personal data definitely is valuable. But you also should minimize or avoid algorithms deciding what you see.
I’ve linked to a few Fediverse alternatives to traditional social media. Your mileage (and patience) may vary. And you can find more by tweaking a search phrase like, “Fediverse alternative Twitter”. Replace Twitter with whatever service interests you. Also, Threads is owned by Facebook. You can find it easily in that service.
Fediverse
https://en.wikipedia.org/wiki/Fediverse
Mastodon
Bluesky
Pixelfed
PeerTube (YouTube alternative)
Lemmy (Reddit alternative)
Why I Will Never Join Mastodon (or the rest of the Fediverse)
https://ericmurphy.xyz/blog/mastodon/
Code Golf
It’s the middle of winter here near New York City. You cannot find an open golf course. But if you’re a programmer, you can still golf with code. Seriously. I kid you not.
Code golf is a type of programming that helps teach how to write efficient code. Once you learn enough to write software, the next frontier is how to optimize your code. Code golf is a series of problems people try to solve with as few steps as possible. They also lean into their deep knowledge of specific languages.
For beginner and intermediate programmers, code golf is a way to learn by doing. There’s also value seeing how advanced programmers bend a language to solve problems.
Of course, like anything, you can go too far. A couple lines of code might achieve a goal. But leave future readers mystified how the code actually works. But it’s also fun to compete to see who knows enough to write the shortest code. You also can find online code golfing languages (Stuck has to be the perfect golf-related name). And code golf contests. Search for the phrases “code golf languages” and “code golf contests” to find them.
The Art of Code video link below shows a high level description of how code works. From a developer point of view. It’s also amusing in reducing a Fibonnaci program from eight lines of code to one line of code. Good luck maintaining that code.
Code Golf
https://kidscodecs.com/code-golf/
Code Golf – The Art of Code
https://www.youtube.com/watch?v=M9DEg7xhKKc
CodingBat
Probably a great place to start with Java and Python problems. Includes a box to type in your solution plus answers and link to help with relevant parts of each language.
http://codingbat.com/
Code Golf (Wikipedia)
http://en.wikipedia.org/wiki/Code_golf
Anarchy Golf: All Problems
Problems in many different languages. You can upload your solution for a score.
http://golf.shinh.org/all.rb
StackExchange Code Golf
http://stackoverflow.com/questions/tagged/code-golf
http://codegolf.stackexchange.com/
Reddit Code Golf
https://www.reddit.com/r/codegolf
What Code Golf Taught Me about Python
http://lbrandy.com/blog/2008/09/what-code-golf-taught-me-about-python/
Squeezing a playable chess program into 487 bytes
http://arstechnica.com/gaming/2015/01/squeezing-a-playable-chess-program-into-487-bytes/
Noto Font
Noto is a Google project to create a font that can display every character in every language. The Tibetan language uses calligraphic forms, for example. And Cherokee, like other less common languages, did not have letter forms organized into a computer font. Until Noto.
If you don’t know, fonts are letter forms like the letter a in English and a few other languages. For computing, letter forms are organized into files using the Unicode standard. The standard defines unique ID numbers and spaces for each letter form used. This lets any computer keyboard and monitor display letters, numbers, and images (think emojis) the same way for each language. People can type in their native language with their words on a computer screen, in print, and with any other device.
The human desire to communicate in multiple languages goes back to the Rosetta stone. And likely even earlier. In the Middle Ages in Europe, printers published polyglot bibles. They manually laid out letter forms to publish in three or more languages. Today a font that displays all languages can help to preserve less common languages. This helps preserve their cultures and knowledge. It also helps to connect more people to the larger world and its cultures.
Even today, some fonts cannot display characters for some languages. Instead they display a square outline. In Asian countries especially, people call this result tofu. Because you buy tofu in rectangular shapes. Tofu looks like the blank square outline you see when a font lacks a character for a language. Noto is short hand for “no tofu,” removing the fu in tofu. Their goal is to create a font that every human language can use.
I happen to love fonts. They’re both artistic and powerful technology. Fonts help connect us to ideas and people, both living and dead. Fonts power reading and writing. They let us communicate across generations and cultures.
The Creating Noto for Google video linked below gives a great high level view how Google staff created Noto. It’s a window into something many students might find to be interesting work. Coding gets almost all the attention when we talk about STEM and STEAM. But there’s a lot of other work that’s complex and challenging.
Also it’s worth nothing that Noto is open source. Any company, group, or individual can use the font for their purposes. In fact, for now, this site uses the Noto serif and sans-serif fonts.
Last, the Steven Matteson video linked below is long but gives a great history of fonts.
Noto Project
Creating Noto for Google
https://www.youtube.com/watch?v=16_NYHUZ1kM
The road to NOTO — Steven Matteson — TUG 2020
https://www.youtube.com/watch?v=HHIFL7DxOP0
What is Unicode?
http://www.unicode.org/standard/WhatIsUnicode.html
https://home.unicode.org/
Unicode
https://en.wikipedia.org/wiki/Unicode
Unicode Emojis
https://en.wikipedia.org/wiki/Emoji#Unicode_blocks
This Week
Our Sunday email this week will have fun often offbeat links about a plastic eating insect found in Kenya, what education looked like in ancient societies, the link between technology and loneliness (duh), mathematicians finding a new shape, and more.. Look for the email this Sunday. And I hope your new year gets off to a fun and interesting start.