beanz Magazine December 2020

Page 1

Kids, Code, and Computer Science 2020 Tillywig Award Winner

2020 Academics' Choice Award Winner

Historical Power Trip

The Age-Old Search for an Eternal Battery Check out this video on YeTube!

Alas! I cannot. My battery hath died.

I hope this works. These kids are driving me crazy.

December 2020

$6.00 USD $6.00

Wearable Tech Tracking a Pandemic Computer Model Saves the World


beanz magazine December 2020: Volume 8 Issue 3 Issue 51 (online) & 34 (print) ISSN: 2573-3966 (online) ISSN: 2573-3958 (print) beanz Magazine© is published bi-monthly, six times a year, online at http://beanzmag.com and in print. A print + online magazine subscription includes online access to all articles, with links to let you explore topics in more detail. SUBSCRIBE: visit http://beanzmag. com/subscribe or email us for checks/ invoices. We’re also available through EBSCO, Discount Magazine, WT Cox, Magazine PTP, and many other subscription services. ONLINE MAGAZINE ACCESS: send your email address to hello@beanzmag.com and we’ll set you up. Published by Owl Hill Media, LLC 378 Eastwood Rd, Woodmere, NY 11598 Email: hello@beanzmag.com Phone: (646) 553-3390 POSTMASTER: Send address changes to Owl Hill Media, LLC, 378 Eastwood Rd, Woodmere, NY 11598. Periodicals postage paid at Woodmere, NY and other mailing offices Copyright Owl Hill Media, LLC with all rights reserved except as noted. Images are copyrighted by their creators, as noted with each story both online and in print. Publisher/Editor: Tim Slavin Staff Writers: Erin Winnick, Amy S. Hansen, Les Pounder, Bonnie Roskes, Simon Batt, Patricia Foster, Clarissa Littler, Jennifer Newell, Tim McGuigan, Bianca Rivera, Tim Slavin Contributors: David Dodge, Jay Silver, Jeremy Kubica, Colleen Graves, Daniel Fenjves, Ali Hagen, Emeline Swanson, Jean-Francois Nguyen, Paul Seal, Madeleine Slavin Back Office Magic: Wendy Garrison Copy Editor: Eileen Seiler Art Director: Kelley Lanuto Webmistress: Patricia Foster COVER IMAGE: THE ALCHEMIST, JOSEPH WRIGHT OF DERBY, WIKIMEDIA COMMONS

Publisher’s Note Happy holidays! Hard to believe the truly strange year 2020 is only a few weeks away from being done. I can remember September 11, 2001, and before that, the Challenger disaster. Happily, years like 2020 (and possibly early 2021) don’t happen very often. Hopefully you’ll have fun this holiday season and make lots of time to say hello to your family and friends. Don’t forget masks, social distancing, hand washing, sanitizer, did I forget anything? As I said, it’s been a strange year. This issue was a lot of fun to read and pull together with our writers, editor, and designer. There’s projects that involve sewing, SketchUp 3D software, and software programming. There’s also a few ancient Romans wandering around, as well as someone I’d never heard of—Theo Jansen—who makes amazing Strandbeests, large wind-powered PVC pipe sculptures that live on the beaches in the Netherlands. And you’ll also learn the Latin word for pants. Our designer, Kelley, had fun with the article about uLisp, on pages 24-25, a language used for Arduino microcontrollers. Sadly, I don’t know enough Latin to know if she’s published fake Latin or real Latin. Maybe you know? Have a happy new year! Stay safe and enjoy this issue. ! LOOK

Tim Slavin, Publisher beanz Magazine

One of our writers, Patricia Foster, recently published a book about learning Python that’s silly and fun, like her articles for us. We’ll have a review and excerpt in the next issue. The book is called Python Programming for Beginners and its ISBN is 9781-64611-388-0. Definitely check it out.

Our Mission beanz magazine is a bi-monthly online and print magazine about learning to code, computer science, and how we use technology in our daily lives. The magazine includes hard-to-find information, for example, a list of 40+ programming languages for education, coding schools, summer tech camps, and more. While the magazine is written to help kids ages 8 and older learn about programming and computer science, many readers and subscribers are parents, teachers, and librarians who use the articles to learn alongside their young kids, students, or library patrons. The magazine strives to provide easy to understand how-to information, with a bit of quirky fun. Subscribers support the magazine. There is no advertising to distract readers. The magazine explores these topics: Basics of programming and where to learn more, Problem solving and collaboration, Mathematical foundations of computing and computer science, Computational thinking, Recognizing and selecting computer devices, and the Community, global, and ethical impacts of technology.


December 2020 History The Eternal Quest for Endless Power

4 6 8 11

Concepts Changing Bases

12 16

Tech In Real Life Cover Story Hmm, I Think I'll Save the World Today

Programming Just Add OOP! Electronics Cover Story Sew Cool! Programming This Computer Ain't Big Enough For the Both of Us, Cowboy

Concepts Keys, Handshakes, and Primes

tidbitz

and Smarter 14 Faster Than Ever 14 Stargazing Kart and 15 Mario Mixed Reality 15 Coolio Maximus That's a 15 Gundam! Huge Robot!

18

Tech In Real Life Hiding In Plain Sight

Cover Story

19 20 23 24

History Small Internet, Big Fun

26 29

People A True Computer Art Icon

SketchUp Pinwheel Pattern Programming Fizz, Buzz, Fizzbuzz! Languages Novi Enim Quod Usus Linguae “Antiquae"

Parents and Teachers Strandbeests and the Design Genius of Theo Jansen

Me and My beanz! FOUND ANIMALS FOUNDATION, FLICKR

2

Cover Story

How much do you love beanz? We'd love to see! Send us a photo of you and your beanz to us at hello@beanzmag. com. We may print it right here and make you famous. Bragging rights!

1 contents

advanced

intermediate

beginner

scribe b u s / m mag.co z n a e b / https:/


2 History

BY SIMON BATT

The Eternal Quest for Endless Power

"BENJAMIN FRANKLIN DRAWING ELECTRICITY FROM THE SKY" BY BENJAMIN WEST, WIKIMEDIA COMMONS

Batteries can be a pain to keep working, but the world of smart devices depends on them. When someone puts a sensor out in a field, or sinks one deep into the ocean to measure how the fish are doing, it can be hard to keep the batteries going. Of course, we have handy ways to keep those batteries charged. A device in the field can use solar power, where it sucks up energy from the sun’s rays and converts it into electricity. Small devices in the water can use the energy stored in waves to charge themselves. There’s a problem, though. Batteries don’t tend to last forever—if you’ve ever tried charging up a really old phone or laptop, you’ll know that the battery


will die very quickly even when charged at 100 percent. This is because batteries have a “lifespan” which only handles so many charges. Back in the olden days, batteries weren’t rechargeable at all; as soon as they were depleted, you had to buy new ones. These days, you can recharge them; however, every time it recharges, it loses a tiny bit of its storage space. Over time, these little bits add up to a big bit, until it’s noticeable that the battery isn’t lasting as long as it used to. This is a huge problem for smart devices with batteries, because it means that some poor person has to go out and replace all the batteries once they die. But what if they don’t

have to? What if we invent...the eternal battery? This is what the companies Atmosic Technologies and SMK Electronics want to do. They both teamed up to invent a battery that doesn’t wear down as you use it. It is, basically, a battery that lives forever. There are some great reasons to make an eternal battery, other than the annoyance of having to replace them all when they go flat. Some devices such as health monitors rely on rechargeable batteries, and if they fail during use, it can cause issues for the person wearing them. By creating a battery that never requires replacing, it will also cut down on how much

Dude's on a power trip!

technology waste we produce. When batteries go dead, there’s not a lot we can do for them; as such, we end up throwing them away, which is a huge waste. However, if they never die, then we can use them as long as we like and reduce waste. What are some uses that you can think of for an eternal battery? Would any devices you know of help save lives with an eternal battery, like the health monitors? Do you think a battery that never dies would be good for sea exploration, or maybe even for space travel? Who knows—let’s hope these companies make that battery. b

3


Concepts

4

s e s a B g n i g n a Ch

BY JENNIFER NEWELL

Changing the way a quantity is written based on the number of symbols available is known as changing bases. Humans count in base ten. You may have heard that computers usually count in base two. And, as we will learn, Tridipia count in base three. In the far away land of Ein Lifon lives a unique variety of creatures. What distinguishes these creatures from those of other lands is the number of appendages (in this case arms) they have. Unlike most animals that have 0, 2, 4, 6, or 8 appendages (with some exceptions for certain insects), Ein Lifon creatures can have any number of appendages, and frequently do. This leads to quite a variety of skills and abilities. Unfortunately, when it comes to counting, it also causes confusion since Ein Lifon creatures use counting systems based on the number of appendages they have. For example, a three-armed Tridipia only knows three number symbols: 0, 1, 2. Four-armed Quadrupeds know four number symbols 0, 1, 2, 3. As you might suspect, the eightarmed Octovian knows 0, 1, 2, 3, 4, 5, 6, 7, and so on. The symbols used for counting affect how quantities are written. To better understand this, consider for a moment how we, tenfingered humans, write numbers. Perhaps because we have ten fingers, we use the decimal system,

written with ten unique symbols: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. In order to record numbers greater than nine, we combine these ten symbols in a specific manner. For starters, after nine, we use the 1 and the 0 to write the quantity 10. One way to think of 10 is that the 1 represents one entire set of ten fingers, and the 0 tells us we have nothing added to those ten fingers. After ten comes eleven, which we all know is written as 11.

we reach 9. Like us, they combine the symbols they have and write 10. So for Tridipia 10 represents the same quantity that 3 represents for humans. A Tridipia would continue by writing 11 and 12. Can you guess what she would write after 12? Recall, she is all out of digits (3, 4, 5, ‌ do not exist in her mind). If you guessed that she would write 20, give yourself a pat on the back. After 12 she records 2 complete sets of appendages and 0 more. The chart below compares how Tridipia count to how humans count:

Human Counting

0

1

2

3

4

5

6

7

8

Tridipia Counting

0

1

2

10

11

12

20

21

22

In other words we have 1 entire set of fingers and have 1 left over. We continue on like this until 19, after which point we write 20 - two entire sets of fingers and nothing more. Eventually we get up to 99. At this point we write 100, which can be thought of as 1 entire set of two-digit numbers, 0 additional two-digit numbers, and 0 additional one-digit numbers. In essence, every time we run out of numbers we add an additional digit and start again. The creatures of Ein Lifon follow this same logic when they write numbers. Take for example threearmed Tridipia. To represent the quantity one, they write the symbol 1. For two they write 2. But after 2, the run out of symbols, just as humans run out of symbols when

9

10

11

12

13

100 101 102 110

111

Take a look at the groups of stones on page 5, as counted by various creatures on Ein Lifon. Each is counting the same pile of stones (12 of them using the human decimal system). However, each creature has a different number of arms, and is accustomed to grouping the stones in different size piles. Once they are grouped, they use the symbols available to them to record the total number of stones they counted. As you see, even though they count the same number of stones, they each record the total in a different base. The creatures used base ten, base four, base five, and base seven.


5

Bas e Fiv e

Ten e s a B

even S e s Ba

Base Four

If you would like more practice counting in these bases, try filling in the blanks for each base. Answers in tidbitz, pages 14-15

Base 4: 0, 1, 2, 3, 10, 11, _____, 13, 20, 21, _____, 23, _____, 31, 32, 33, 100, _____, 102, 103 Base 5: 0, 1, 2, 3, 4, 10, _____, 12, 13, 14, _____, 21, 22, 23, _____, 30, 31, _____, 33, 34, 40 Base 7: 0, 1, 2, 3, _____, 5, 6, 10, _____, 12, 13, 14, 15, 16, _____, 21, 22, 23, 24, 25, _____, 30

b


6 Programming Languages

BY BIANCA RIVERA

Just Add OOP! In the October issue of beanz, we explained how to use Python to create a writing game (https:// www.kidscodecs.com/pythonroll-a-story). Using Python’s random module, players could “roll” to randomly select a genre (either Mystery or Horror) and story elements (characters, setting, and plot) on which to base their creative short stories. We can make this program more complex yet concise by using OOP—Object Oriented Programming. If you look at both programs (https://repl.it/@brivera/ rollastory; https://repl.it/@brivera/ rollastoryOOP), you will notice the OOP version, A, is shorter than the original version, B, and looks quite different. One of the first things you may notice is how genres are selected. In the original Roll a Story program, we used a dictionary to randomly select genres assigned to numbers. In the OOP version, we created a class, StoryOptions, and a method, get_genre, to randomly select a genre. We were able to get rid of all the messy and lengthy dictionaries and replace them with objects

and methods to randomly select characters, settings and plots. Additionally, because we are using one class, we can easily add in additional options to the game to make it more interesting. This is most evident when looking at the new options available for setting and plot. Let’s look at the two programs to see how that was done. Notice in the original version, C, after the genre is randomly selected, the settings were randomly chosen based on whether a number 1, 2 or 3 was selected. Notably, there wasn’t any way to select settings based on the character chosen. For the purposes of the game, this didn’t make sense. For example, if the selected character is a thief, the setting of Area 51 wouldn’t match the storyline. The same thing occurred with plot in the original version. After the character and setting were randomly selected, the game rolled again for a plot. The options are static and may or may not make sense based on the outcome. For example, you may roll an FBI

A

B

Agent character, Area 51 setting and a plot of “The Principal goes missing”. That would make for an odd and quite uninspiring story. The new version, D, of the game using OOP allows the randomly chosen options to flow better together. Looking at the StoryOptions class, there is a method called get_setting. This method uses conditional statements to randomly assign an appropriate setting that makes sense based on the character that was randomly chosen. For example, if the user randomly gets an FBI Agent, their randomly selected settings will consist of settings that make sense for a FBI Agent, including The White House, Capitol Hill, and Washington Monument. The same strategy is used for the randomly selected plots. By using classes, methods and conditional statements, the options for plots make sense. By utilizing OOP, the game is more structurally sound, provides fun storyline alternatives and allows for a way to easily include additional options for players. b


7

C D

What am I doing here? I'm in the wrong setting. I wish the programmer had used OOP!

PRINCE ROY, FLICKR


8

! l o o C w e S

Electronics

BY JO HINCHCLIFFE


Making circuits in electronics is great fun, but sometimes it means you need to learn skills like soldering or you need to get a lot of components. In this project we are going to explore making a circuit by sewing instead. We are using “conductive thread”, A (available online), which is like a thicker embroidery thread; except it also conducts electricity. It can be used to add circuits to clothing or soft toys or any fabric project you can think of. There’s a global movement of people making “wearable” circuits and there are lots of ideas out there to explore and try. We start simply and make a flower that has a nice cheerful yellow LED in the middle of it. For this, we use conductive thread, normal thin cotton thread, a single yellow LED, scraps of felt material and a small 3V coin cell battery. The idea is that we will sew all the electrical connections, including some large pads of stitches to make the battery connections, which will be in a small pouch in the flower’s “stem”. We roughly cut two strips of green felt making the width of the felt a little bit wider than our coin cell battery, around 25mm wide. When laid on top of each other, one of the felt strips is long enough to fold back over the shorter strip to make a small pouch area for the battery. We thread a tapestry needle (a sewing needle that has a larger eye) with some of the conductive thread. B We then use a small set of pliers to twist each of the 2 leads of the LED into small loops. Make sure to note before this step which was the longer leg (positive side or “anode”) and which was the shorter leg (negative side or “cathode”).C We first sew the negative cathode side of the LED to the top of the longer green strip. We make multiple stitches (about 6 stitches)

9

A

B

C


10

D

F

E

G

through the loop to make sure the LED is well attached and will make a good electrical connection. Without detaching the thread, we continue to stitch down one side of the stem attaching both the long and shorter strips together. As we get to the end of the shorter strip, we make a big stitch inside, which jumps across to the middle of the shorter green strip. We then make a lot of stitches through the upper shorter strip to make a big pad, which is going to be our negative battery connection. We finish this with a knot and cut the thread. Next, we start again to do the other side of the LED and the positive connection. Make sure to keep your stitches on this side as close to the edge as you can so they won’t be in the way inside the pouch later. We, again, stitch through the anode loop and down the side of the two strips. This time we sew across to the center of the fold over the tab of the longer strip and make a large pad of the

conductive thread, which will be our positive battery connection. D Next we switch to a smaller needle and some regular nonconductive cotton thread and sew across the two strips. This seals shut the end nearest the LED. We then get stuffing and stuff the stem using a small BBQ skewer to make sure our filling goes to the top. E Next, we use non-conductive cotton thread again to sew across the bottom of the shorter strip to seal the stuffed section. Finally for the stem, we fold over the flap/ pouch and use non-conductive cotton thread to carefully sew the sides of the strips together to form the pouch. It’s important to make sure that, on the positive stitching side of the circuit, you sew it in a way that the positive conductive stitches are inside the seam rather than inside the pouch. You can now try pushing your coin cell battery into the pouch with the positive side

facing out and the LED should light up. F To finish your flower, draw a nice flower shape on another piece of felt. We used a thick red marker pen to do this and we liked the idea of having the red edges to our flower so we used that side of the felt. We trimmed our flower out with scissors and carefully poked a hole for the LED in the center using a BBQ skewer. Finally, we fit the flower over the LED and we secured it with a tiny spot of glue. G We think this simple project is a great way to get started with soft circuits but there really are no limits to what circuits you can create using conductive threads. There are also lots of electronics components, microcontrollers, and other small devices available to create wearable circuits so you can make some really complex projects to combine into clothes, soft toys or anything else you can imagine. b


When you imagine a hacker, what do they look like? You might think of someone from the movies with a cool pair of shades. Maybe you imagine someone in a balaclava typing away on their keyboard. However, not every hacker is a bad guy. Some people have the skills and the knowledge to crack advanced security systems, but they choose not to use it to do harm. Instead, they actually make a legal and productive career out of it. This career path is known as “ethical hacking.” It’s ethical because the hacker doesn’t break into people’s computers without permission. Instead, the ethical hacker is wanted by people who WANT someone to break into their computer. So, what kind of person wants someone to break into their computer? Big companies with lots of sensitive and personal data on computers do. This is because if an UNethical hacker manages to get in and steal or delete the data, it would be really bad for the company. To stop this, businesses put up lots of tough cybersecurity defenses to stop unethical hackers from getting in. However, not all defenses are perfect, and there may be a way that an unethical hacker can find a

flaw or weakness that they can use to get in. As such, once a company has the defenses in place, they want to know if it’s working properly or not. The best way to test their defenses

is to...hire a hacker! An ETHICAL one, that is. This is where ethical hacking comes into play. If a company wants to put its security to the test, they can hire people to hack into the network. If the hacker manages to get in, the hacker reports back to the company about how they did it. The company can then patch

up the problem to prevent future attacks. Sometimes a company doesn’t hire a hacker. Instead, they post what’s called a “bug bounty.” This sounds like a WANTED poster with a cockroach on it, but it means something entirely different in the security world. When a company posts a bug bounty, they make a public statement that they WANT someone to crack into their system and give the company proof of the deed. If a hacker manages to complete the challenge and show the company how they did it, the company gives the hacker a lot of money. How much money? A LOT of money. You can see some examples if you look up Microsoft Bounty programs. Finding a flaw on the small programs will net you $1520k, and finding a flaw in Microsoft’s most secure systems gets you a whopping $100k! You can see, then, how people who love cracking security can make a legal job out of their skillset. If you’re interested in security, consider becoming an ethical hacker yourself. b

11 Programming

This Computer Ain't Big Enough for the Two of Us, Cowboy

BY SIMON BATT


12 Tech In Real Life

BY AMY S. HANSEN

Hmm, I Think I'll Save

Many of us dream of saving the world, but few of us create a computer model showing how to do it. Meteorologist Eugenia Kalnay’s plan involves the building of large-scale wind and solar farms in the Sahara Desert. The idea is that these farms would provide energy for the world and may also stop further desertification of the Sahara, according to Kalnay, a professor of distinction at the University of Maryland. She explained that the idea of using the Sahara started at Massachusetts Institute of Technology back in 1975. In a non-desert ecosystem, such as a forest, dark soil and vegetation collects the heat from the sun during the day. At night,

the heat rises up and into the atmosphere. The atmosphere gives up the moisture, and rains. In 1975, Kalnay’s advisor, Jule Charney, described the feedback loop that leads to desertification: Drought creates pale soil. Light colored soil reflects the sunlight back up, without heating up the ground. Because less heat is released, the air is no longer driven up to higher levels of the atmosphere, which, in turn, no longer give up moisture. Less precipitation means the remaining vegetation dies and the whole process increases. The roughness, or friction, of the ground is also important in the movement of the air and is part of another feedback loop, which was described in 1985 by Y.C. Sud.

This is where Kalnay came in. “About ten years ago, I had the idea that this feedback would work in the opposite direction in the presence of the large arrays of solar panels and wind turbines,” she said. Kalnay’s idea is that dark solar panels would act as dark soil and heat the air. The wind farm would help create friction and move the warm air up. It all sounded good, but she needed someone to build a complex computer model to test it. A computer model is a computer program designed to show what might happen in a given situation. A simple weather model might start with the temperature taken in your town every day for a year. The


13

the World Today MAX, UNSPLASH

AMERICAN PUBLIC POWER ASSOCIATION, UNSPLASH

ANDRZEJ KRYSZPINIUK, UNSPLASH

model would then use that data to predict future weather. Of course, weather is more than just temperature. Kalnay needed other experts who knew how the Sahara worked, as well as someone to build the model. She assembled a team of seven to look at normal weather predictions, the interactions of the wind, the sun, the change in the ground cover, and resulting changes to the local ecosystems. Then they ran the model. “I was totally delighted,” Kalnay said. “It was exactly what I hoped would happen.” What she and her team showed was that large-scale wind and solar farms in the Sahara Desert could provide enough electricity to power the world, and also

bring rain back to the sub-Saharan region that is suffering from drought. The team published an article in the September 2018 issue of Science Magazine. Their paper proposes a system that would solve the world’s energy needs. In the model, the Saharan desert array of solar and wind turbines would be on a swath of land as large as the continental United States. The energy production would be four times the current world usage. Equally thrilling was the fact that the array would help stop desertification. Their paper was named as one of the top 100 science papers of the year. “Our model results show that large-scale solar and wind farms in the Sahara would more than

double the precipitation in the Sahara,” said Yan Li, University of Maryland postdoctoral researcher and creator of the complex computer model. When the study came out, Kalnay fielded questions about whether this project was science fiction. She answered that it would only be science fiction if the technology didn’t already exist. But, she pointed out, the systems are out there and do work. Kalnay, who is originally from Argentina, hopes the project can give people a direction in their work to save the planet. “We can stop the source of climate change,” she said. “And we can provide more resources for people in the poorest regions in the world.” b


tidbitz

Faster and Smarter Than Ever

The latest pocket-sized micro:bit computer is now four times faster with a built-in speaker and microphone plus the ability to experiment with AI and machine learning. The BBC first created the affordable micro:bit as a programmable computer kids can

use to learn computing. There’s a number of websites with projects, as well as an online community to help and provide ideas for wearables, accessories, and other projects. b

https://microbit.org/new-microbit/

Stargazing NASA telescopes generate massive amounts of data which, in turn, require people and software to process and evaluate the data. Dan Burger, who is autistic, was hired to help NASA look for patterns in their telescope data. Dan developed an interactive software program called Filtergraph to visualize large data sets. The visualizations can be twisted and turned to see data about star size and age in different ways. b

.ORG OBIT

MICR

Looking for Answers? Solutions to the questions in the article "Changing Bases", pages 4-5: Base 4: 0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32, 33, 100, 101, 102, 103 Base 5: 0, 1, 2, 3, 4, 10, 11, 12, 13, 14, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34, 40 Base 7: 0, 1, 2, 3, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16, 20, 21, 22, 23, 24, 25, 26, 30

14

Confirmed planets from the NASA Exoplanet Archive, shown on filtergraph.com https://goodnews.greatergood.com/ nasa-software/] http://www.cbsnews.com/video/howa-man-with-autism-used-his-abilityto-see-things-differently-to-help-nasaanalyze-data/


Mario Kart and Mixed Reality

15

Mario Kart is such a fun video game people have found lots of ways to play, including racing in real life while dressed as Mario, Luigi, and other characters. Now you can race with a Nintendo Switch and an actual kart with a built-in camera. Your home becomes a racetrack you can create by yourself and with friends. Then race, Mario Kart style! b https://www.polygon. com/2020/10/1/21497792/mario-kart-livehome-circuit-preview-nintendo-switch

DANIEL VOSHART

Coolio Maximus

NINTENDO

What did Roman emperors look like in real life? We have lots of statues and busts but they’re idealized images. Some emperors probably were less handsome or much older or heavier. Toronto designer Daniel Voshart created photorealistic portraits of Roman emperors using Photoshop, machine learning, and lots of research to find common traits for each man. The results are what each of the 54 emperors would have looked like in real life. Photorealistic images present a more honest picture of what people looked like as they walked down a street. You might recognize them from these images. b https://www.popularmechanics.com/technology/a34209169/realfaces-of-roman-emperors/

Gundam! That's a Huge Robot!

A huge 60 foot tall Gundam robot has been building all year in 2020 in the port of Yokohama, south of Tokyo. Gundams have appeared in 50 TV series and movies and a bunch of video games since 1979. It’s an incredible engineering feat to build one this tall that actually moves. It weighs about 15 tons which required a lot of engineering and design skills. Each hand is about six and half feet long. This Gundam can walk, bend its knees, turn its head, and make hand signals. It also can kneel then pick itself back up to a standing position. The Gundam project site has a lot of videos about their robot. b

https://www.popularmechanics.com/technology/robots/ a34108996/giant-gundam-japan-testing-mode/ https://www.popularmechanics.com/technology/robots/ a33381411/japan-giant-gundam-robot/

Get the Merch! The Gundam Action Figure: Gundam IBO Gundam Barbatos, Bandai Spirits MG 1/100


16

Keys, Handshakes, and Prime numbers are one thing in mathematics that start out simple but end up being so important, not just to math but to programming as well. Prime numbers are vitally important to things like talking, shopping, and existing online safely. What are prime numbers? They are integers; whole numbers other than 1 that can only be evenly divided by themselves or by 1. What I mean by evenly divided is “resulting in a whole number”. So, 6/2 evenly divides into 3, but 5/2 doesn't because 5/2 is 2.5. So, 5 is a prime number. The number two is prime, 3 is prime, but 4 isn't because 4/2 is 2. Every whole number is either a prime number, or can be represented uniquely as a product of prime numbers. What "uniquely" means here is that there aren't choices to make. There's only one way to break the number into a product of primes. Try 236, for example. 236 ends up being the product 2*2*59, all of which are prime numbers. Wait, how do you know that 59 is a prime number? It's not obvious, is it? To be able to break a number into primes we need to know which numbers are prime in the first place. We'll come back to that question after we discuss why computer scientists use prime numbers.

Answer: 1361 and 2339

Concepts

BY CLARISSA LITTLER

PAUL SCHADLER, FLICKR

The importance of prime numbers for online life comes down to cryptography and, specifically, something called asymmetric encryption. Asymmetric encryption is generally not used to make big swaths of data secure, but rather is an important part of handshakes, the kinds of protocols used to establish that each computer in a conversation is exactly who it says it is. In asymmetric encryption, there's a public key and a private key. When a key is public, it means anyone can have it and in fact needs to have it for the next part. As for the private key, only you should have it. To prove your identity, you're going to encrypt a message with your private key and then, if it can be unencrypted with your public key, you've proven that it's you who sent the message. To generate your public and private key, first pick two very large prime numbers: you multiply them together to make your public key and do a different, more complex, set of operations on them to make

the private key. The entire reason why you can distribute the public key freely is because, while it's very easy to multiply two numbers—even big ones—it's incredibly hard to look at huge numbers (like hundreds of digits huge) and be able to figure out what prime numbers make them up. Let's try to figure out which two prime numbers make up this relatively small number: 3183379. I'll tell you the answers at the end. This is so hard that only one kind of computer that can solve it quickly: a quantum computer. This is what makes quantum computers both exciting and scary: they can be used to break asymmetric encryption. So how do you know a number is prime? It turns out, the only way to know a number is prime is failing to show that it isn't. That's because the definition of "prime" means you've shown there aren't any other numbers that divide it. The simplest solution in code is the brute force check, where you check one by one to see if there is a number that can

import math def isprime(n): isPrime = True # assume it's prime until you find a factor for x in range(2,1+int(math.sqrt(n))): # check from 2 til squareroot of n # (the 1 + is so the for loop includes the sqrt) if n % x == 0: isPrime = False return isPrime


17

Primes divide the number you're testing. If there isn't one, then you know the number is prime. The orange code text on page 16 shows how a brute force check might work with code by first importing a library with math functions: But a more sophisticated, and quite old algorithm, is the Sieve of Eratosthenes. It works like this: if you want to find all the primes below a certain number, say 100, then start by writing down each number below 100. Now go to the first prime number, 2, and cross off all multiples of 2 starting with 4. The next number not crossed off is 3, so cross off all multiples of 3 that haven't already been crossed off. The next number not crossed off will be 5, so continue the process until there's no more numbers under 100 to cross off. What isn't crossed off are all the prime numbers below 100. The Sieve of Eratosthenes calculates not just whether one number is prime, but can give you all the prime numbers below a certain number. However, this isn't used in industrial cryptographic applications. Instead, they use probabilistic tests, which, rather than giving an absolutely correct answer, give an answer that's very unlikely to be wrong. In the asymmetric encryption we talked about, they generally use something called Fermat's test, which is incredibly fast and has a ridiculously tiny chance of being wrong. This allows for fast public/private key generation. So prime numbers are interesting in their own right, and also important to the ways we communicate online every day. b

Eratosthenes While it seems people from hundreds and thousands of years ago had little impact on our world of phones, computers, cars, and other amazing tools, the truth is our digital world relies heavily on inventions and people from the distant past. Eratosthenes is one such inventor. Born around 276 BCE in a Greek colony called Cyrene, today known as Shahhat in Libya, he used mathematics to calculate the circumference of the earth based upon the angle of sunlight at different locations and points in time along the coast of North Africa. He used trigonometry to measure distances with longitude and latitude. To identify prime numbers, he also developed an algorithm called the Sieve of Eratosthenes, which is described in our article about prime numbers and encryption, to the left of this article. However, math was only one field in which Eratosthenes excelled. He also was a noted geographer, poet, historian, philosopher, astronomer, and music theorist. Eratosthenes also discovered that a year was slightly more than 365 days and thus created the leap year, a day added to a calendar every four years. He also created a map of 675 stars as well as measured the distance between the earth and sun. The Egyptian king Ptolemy III invited him to run the Great Library of Alexandria which at the time held originals and copies of most books published in the ancient world. Perhaps the most amazing detail about Eratosthenes, and others from the ancient world, they used sticks and camels and other primitive tools to discover useful things we use today in our modern world. b


18 Tech In Real Life

BY TIM SLAVIN

Hiding in Plain Sight friends, as well as connect to the You may have read or seen how internet to check weather and do mobile phones have been used to many different things. Most phones track people from a single event to are always on and connected. places all over the world. The maps Maps that display people as they demonstrate the real time potential leave a single event claim to use only spread of the Covid-19 virus. Every the unique identifiers for each phone phone displayed as a moving dot on which, in turn, are not easily tied to the map represents a unique person an individual name. The companies who may or may not have the virus. that create these maps claim their It’s amazing yet scary technology. What’s the magic behind these maps? Every mobile phone connected to a telephone network broadcasts a unique identifier. It lets you walk or drive down a road and keep talking on the phone: your unique identifier is attached to your phone connection and passed along from the nearest telephone tower to the next nearest telephone tower. Map showing cell phones from the These identifiers are NYC metropolitan area and where they hard-wired and cannot traveled within two days. Image from be changed. Tectonix on Twitter The maps use phone identifier data from X-Mode and mapping software provided by Tectonix. Maps are published on social media to demonstrate their data is completely anonymous, technologies and advertise to get which is true but in a limited way. business from academic researchers The New York Times and others and others. have demonstrated that it is fairly Of course, there are ways to easy to link a unique phone identifier hide a mobile phone. You can put to an individual. We live in one place, a phone in airplane mode and turn for example, so an identifier that off the setting that broadcasts your stays overnight in the same location location data. But most people use day after day likely represents the their phone to talk with family and

person who lives at that location. Where a person works also can be determined. And unique identifiers can be combined to identify family and friends. These Covid-19 maps demonstrate how technology that is very useful—our phones—has serious positives and negatives that need to be known and debated. The collection of unique phone identifiers, for example, is mostly controlled by private companies like X-Mode with little or no government regulation. The companies use this data to create their maps of people leaving events. And still others, like The New York Times, use the unique identifier data plus other data to identify people who own specific phones. People who don’t have phones present another interesting issue. They can’t be tracked, if tracking is useful. Perhaps the most interesting question is what will happen after Covid-19 is no longer a public health problem: will people still care about being tracked? Or will this tracking capability be kept going in case we have another pandemic? In the meantime, if you want privacy, keep the location setting off on your phone until you need it turned on. And maybe put your phone in airplane mode when you don’t need to be on a phone network. b


Big Fun

I once saw a joke that goes "the internet used to consist of millions of websites, now there's just three that are filled with screenshots of each other". It's a joke, but it's not wrong. However, there still is a huge variety of communities full of people doing strange and interesting things on the internet apart from the big social media sites. These communities make up the small internet.

ASCII art that people made. BBS is still around. The telnet BBS Guide is a web site that's been around since the 90s and continues to keep up-to-date and active BBS listings from around the world. There are also guides showing how to get started with a BBS on modern computers. If you have a small single-board computer like a Raspberry Pi you could even host your own BBS.

Web meets Internet

Another historic community that's still around is gopherspace. Gopher is the most web-like of these old communities because it actually had a notion of individual pages and ways to navigate between pages. But it was more like "files and directories". Instead of being able to link any page to any other page, there was a hierarchy to them: directories could "link" to other directories; but files needed to just be plain text. That sounds pretty limiting but honestly there's a lot of things that fit this structure, like blogs, news sites, things like that. There's even a Gopher mirror of Reddit you can browse. Yes, like a BBS, Gopher is “alive”, but still very small. There are under 500 Gopher servers in the world, compared to something like 100 million web servers. You can get started with Gopher through the Overbite Project; but if you're running Linux you can probably start browsing gopherspace using the text browser lynx by opening a terminal and typing: lynx gopher://gopher.floodgap.com.

First, some backstory. Every page you go to in Chrome, Firefox, etc. is a web page. The web, however, is not the internet. What used to be called the world wide web (www) is actually just a standard for communication across the internet called the hypertext transfer protocol. You might already know that the code that makes a web page is called hypertext markup language or html. Hypertext is just a futuristic way of saying "text with links to other sites". Commonplace now, but extremely cool a few decades ago when Tim Berners-Lee and his research team invented it. But the internet existed before the web, using different "protocols" of communication and very different programs than web browsers. One of the earliest ways people talked was over a bulletin board, commonly called a BBS. This was a computer running software that would accept connections over a protocol called the "teletype network", or telnet, which was developed in 1969—over 20 years before the web. It was a very simple way to send text back and forth between two computers. On a BBS you can leave or read messages, play games, and check out

Gopher it

Playing on pubnix

Pubnix is an entirely different kind of community. This isn’t just a site you visit but a computer you can have an account on and use. It is always either a Linux or Unix computer, and

when you log into it, you're using the command line. These pubnix communities are really neat because they tend to be focused either on learning how to code or just making neat things. There's a big list of small communities like this on the Tilde Team site. Cool new space

The last corner of the small internet I want to mention is geminispace. Gemini is very tiny right now. It's a new protocol that's supposedly a little more powerful than Gopher, but way less heavy than the web. Gemini is only a couple of years old and was invented by Solderpunk who describes his motivations on the main Gemini site https://gemini.circumlunar.space. One of the things I love about Gemini is that it was designed for literally anyone, even if they're not an experienced programmer, to be able to write their own servers and clients for it. To that end, Solderpunk provided a number of reference implementations that were each only ~100 lines of code in different languages. So I've talked about the mechanics of a lot of the small internet, but what does it feel like? Why hang out there? Well, I think what's special about it is that it's a place where people let themselves be weird, try things, and experiment. It's a place where you'll find people who really care about the impact of technology on the world, who want to make the world better and are trying to figure out how. It's a place where people have stopped worrying about whether people like them and are seeking out people they like. Doesn't that sound nice? b

19 History

Small Internet,

BY CLARISSA LITTLER


20 SketchUp

BY BONNIE ROSKES

Pinwheel Pattern For this project, all you need is SketchUp and an internet browser. SketchUp is a free and fun web-based program for 3D modeling. You can use SketchUp to design just about anything, from furniture to a dream bedroom to an entire city. Go to https://app.sketchup.com/app. When you start modeling in SketchUp, you start in this view, with Helen standing on the ground. She isn’t needed in this model, so press E for the Eraser, and click on any of Helen’s edges. A Along the right side of the screen, click the “movie scene” icon to open the Scenes window. Then click the icon in the middle of the Scenes window, which looks like the top of a house. This brings the model into Top view, also called bird’s-eye view. B

A

B

The pattern we’ll be making is based on hexagons—6-sided polygons that can repeat next to each other without any spaces between. Think of a honeycomb, which is made of hexagon-shaped cells. C Open the Rectangle fly-out toolbar on the left, and click the Polygon tool. D Look in the field at the lower right corner, which shows the number of sides. If you don’t see the number 6 in this field, type 6 and press Enter. (Don’t click in the field, just type and the number will appear there.) E Click anywhere to place the center of the hexagon. For the second point, move your mouse to the right or left (red direction), then click again. F Now we need some construction lines inside this hexagon. Press L to

activate the Line tool, and create this line, from midpoint to midpoint. G Complete a triangle, by drawing lines between two other sets of midpoints. H Create another triangle, using midpoints of the three edges not used in the previous triangle. You should have a six-pointed star inside the hexagon. I Now we can add the curves. Press A for the Arc tool. Arcs are created by clicking three points: start, end, and a point along the arc. Start the arc by clicking the top left corner of the star. (Whenever you’re working in SketchUp, it’s important to click exact points, such as midpoints or endpoints. Always be sure to look for the pop-up that tells you what a point is, before you click.) J

F

K

C

G

M

D

H

N

E

I

J

O

L


For the second point - the end of the arc—click the center of the hexagon. K The last point defines the “bulge” of the arc. Click the point shown below: where two of the star triangles meet. L With the Arc tool still active, create a mirror-image of the first arc. M Now with the Eraser (press E), erase everything inside the hexagon except for the two arcs you just added. When erasing, you can click each edge one by one, or drag the mouse to sweep over everything you want to erase. N Now we’re ready to make some rotated copies. First, we need to select what we want to copy. Press the Spacebar for the Select tool, and click either half of the hexagon. O Press Q for the Rotate tool, which is another three-click tool. The first point to click is the center of the hexagon. P The next two clicks define the angle of rotation. First, tap (don’t hold) the Ctrl key on a PC, or the Option

key on a Mac. This adds a “plus” sign to the cursor, which means copies will be made. Then click any two adjacent (neighboring) corner points of the hexagon. The field in the lower right shows the rotation angle, which should be 60 degrees. Q Once the first copy is created, you can add more copies. Instead of one copy, we want two, so type 2x, which appears in the Angle field, and press Enter. Now it’s starting to look more like a pinwheel. R We’re going to make more rotated copies, so go back to the Select tool (Spacebar) and click one of the six curvy shapes. S Activate Rotate again (Q shortcut) and place the center at the selected shape’s hexagon corner. T Like before, tap Ctrl or Option for copies. For the first rotation point, click where shown below along the hexagon edge: U For the second rotation point, click the shape corner along the other hexagon edge.This time the rotation angle should be 120 degrees. V

P

S

Q

T

R

As before, enter 2x, which produces a total of three curvy shapes that share a corner. W Erase everything except for these three shapes. X Then erase the three edges inside the shape. This is the pinwheel shape we’ll be copying to complete the pattern. Y Select the pinwheel shape, activate Rotate, and place the center at any of the pinwheel corner points. Z Tap Ctrl / Option for copies, and for the two rotation points, click the other two corners of the pinwheel shape. The angle is 60 degrees this time. AA (next page) To complete the repeating shape, enter 5x. Now we have six pinwheels spinning around one center point. BB All of this is based on a hexagon, which tiles completely in all directions, so this shape will tile also. And because we’ll be making many copies of this object, it should be made into a component. (We’ll see the reason for this in a few steps.)

W

U

X

V

Z

Y

21


22 Press Ctrl + A (PC) or Cmd + A (Mac), to select all six shapes we have so far. Then right-click on any selected shape and choose Make Component. CC Give the component any name you like, and click OK. DD Once a component is created, it acts as a single object, no longer a set of six individual faces and their edges. It is highlighted in blue, which means it’s selected. Leave it selected. EE Press M for the Move tool, and tap Ctrl / Option for copies. For the first copy, click the two points shown below, for a copy that fits perfectly along its neighbor. FF Enter 3x, or 4x, or any number, to make a row of components. GG Select everything again, press M again, and copy the entire row

AA

diagonally, up or down, so that the copies fit perfectly. HH Enter 3x, or the number you prefer, to complete the repeating pattern. II Here's why we used components: when you change one, the rest change also. With the Select tool active, double-click on any component to “open” it for editing. That component appears in a dotted-line box, and the rest of the components are faded in the background, not available for editing. JJ To get the list of colors, click the Materials icon along the right. In the Materials window, click the Search icon at the top, which opens the list of material categories. Open the Colors category. KK

EE

FF

MM

NN

GG

BB

Now you can paint your component however you like. In this example, just two colors were used to paint alternating shapes. As you paint the component, the other components get painted as well. LL To end the editing, go back to the Select tool and click once anywhere outside the component. MM Here’s how the pattern looks if you use three colors: NN Or you could use six colors: OO Because these are components, you can experiment with decorating the pattern. For example, you can add rotate-copied circles in the middle of each shape: PP Or, if you can find the Offset tool (part of the Push/Pull flyout toolbar), you can add swirly stripes to each shape: QQ b

HH OO

CC

II

JJ PP

DD

KK

LL

QQ


If you know a little bit about programming, there’s a good chance you’ve come across some of the weird terms that programmers like to use. While they have funny names, this doesn’t take away from the fact that it's really important to learn what they mean and how they work. Have you heard of the term “modulo”? It’s pronounced like “module” except you stick an O at the end of it. It sounds like some sort of supervillain, but it’s a lot more innocent than that. In programming, modulo is represented by a percent symbol (%). You can use it like a mathematical symbol, such as + or -. When you use modulo in an equation, modulo will divide the left number with the right one. However, instead of telling you the result of the division, modulo will instead give you the remainder of the division. For example, If you told a computer to calculate 11 divided by 2 you’ll get 5.5. However, if you do 11%2 instead, the computer will tell you what the remainder is. 2 goes into 11 five times, with a remainder of one; as such, 11%2 will equal 1. It seems a little odd that programmers use modulo; after all, when do you ever want to know the remainder of a division? As it turns out, modulo is fantastic for telling us if one number can be divided evenly by another number. Let’s imagine you calculate what 6%2 equals. When you press enter, the computer gives you a result of “0”. This means that there was no remainder left. Why? Easy: because 6 divides into 2 without any leftovers. When this happens, we say that the number we’re diving up is “divisible” by the number we’re dividing with. In this case, 6 is divisible by 2, because 2 goes into 6 three times with no remainder. Because of this, we can work out if one number is divisible by another using modulo. If modulo gives you a 0, it’s divisible; if it doesn’t, it’s not. Now let’s put modulo to use. Do you know of the game “Fizzbuzz”? It’s a fun game where you and your friends take turns to count upward. When someone goes to say a number divisible by 3, they say “Fizz.” If it’s divisible by 5, they say “Buzz.” If it’s divisible by both 3 AND 5, they say “Fizzbuzz.” So, to start, it’d sound like this: 1, 2, Fizz, 4, Buzz, Fizz… You can use modulo to make a computer program to play this game for you. You can set up a program that counts from 1 to 100, and checks each number using Modulo 3 and Modulo 5. If either (or both) returns 0, you tell the computer to say “fizz,” “buzz,” or “fizzbuzz.” Can you make a program that does the above? If you can, can you think of other ways you can put modulo to good use? Why not make an odd-even number detector, or a program where you enter two numbers and it tells you if one is divisible by another? The modulo sounds weird, but it’s a very useful tool. b JAN CANTY, UNSPLASH

23 Programming

, z z ! u z B z , u z b z z i F Fiz

BY SIMON BATT


Languages

24

BY CLARISSA LITTLER

Novi Enim Quod

If you've ever been interested in programming microcontroller computers like Arduinos, you've probably heard that you have to use the C programming language. This is mostly true. Today, however, we're going to introduce a different language that lets you interactively program your Arduino over the serial connection: uLisp. While the language is written as uLisp, the "u" is really supposed to be a μ, the greek letter "mu" which often means "micro" in science, so μLisp is "microlisp" because it's for microcontrollers like Arduino. What is uLisp? It's one example of the ancient lineage of programming languages called "lisps". The first lisp was actually one of the first programming languages ever made, so they're almost as old as programmable computers and even older than the home computer by a couple of decades. The family includes Racket, Scheme, Common Lisp, and Clojure among many others. All lisps have a similar design philosophy and very similar syntax: prefix notation with lots of parentheses. So in every lisp, instead of writing "3+4" you'll write "(+ 3 4)" and instead of "print(10)" you'll write something like "(print 10)". Below is how you'd write the "blink" function that's the equivalent of "hello world" for microcontrollers. (defun b (d &optional (p 13)) (pinmode p t) (loop (digitalwrite p t) (delay d) (digitalwrite p nil) (delay d))) Compare it visually to the normal blink written in C: void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } There’s no separate “setup” or “loop” here, just a single function that runs the program: b for blink. This function is defined with defun, which is a lot like saying def to define a function in Python. Instead of constants HIGH and LOW for whether a pin has power or not, we instead write uLisp’s version of “true” and “false”: t and nil. To load uLisp you need to get the uLisp code from the main website, paste it into your Arduino studio program, and then compile and load it onto the microcontroller as you would any other program. Once you’ve done that, your microcontroller will be running the uLisp interpreter. The uLisp

Pater, non habeo braccas aliquid?***

Usus


25

Linguae “Antiquae"* interpreter listens over the serial line for new programs, so as long as the microcontroller is plugged into your computer you can load new programs and change the behavior of the Vis discere board without ever recompiling for it. a lingua tua So, if you've got uLisp running right now, you can copy and paste the above code into the serial monitor Arduino?** and you should see the number next to the prompt go down, because you've provided a definition that uses some of the limited space on the microcontroller. But. Now you can call "b" by typing (b 1000) into the serial monitor and hitting enter. When you want to stop the program enter a tilde (~) into the serial monitor and hit enter. Now you can go back to entering in other expressions and trying things out. uuLisp 3.3 314> (+ 1 2) 3 314> (defun b (d $optional (p 13))(pinmode p t)(loop (digitalwrite p t)(delay d) (digitalwrite p nil)(delay d))) b 275> (b 1000) Error: escape! 275>

That's pretty cool. There's even an edit command you can use from the serial monitor in order to edit function definitions you already made. It ends up being a full development environment with a repl and, instead of having to run a single "loop" program on the board, you can run all sorts of programs. Now, there are limitations here: because the interpreter takes up a decent amount of the memory of the microcontroller, there's not a ton of room for your programs or uLisp data. That doesn't mean this is just a toy, though. The uLisp site has some amazing demos, including a ray tracer, small video games, and GPS mapping app that plots your walking path on a map. Because uLisp is easier to code in than C, it's possible to make things like this even with the smaller overhead left by running the uLisp interpreter. Here are some ideas for how to use uLisp: • Writing a bare-bones gemini server that runs on a ESP32 chip (What’s gemini? See the article in this issue titled "Small Internet, Big Fun.") • Making a video game on a PyGamer board from AdaFruit • Incrementally program an AI for an Arduino powered robot car • Live code music on a piezo speaker connected to a microcontroller So all-in-all, uLisp is a really cool language and I highly recommend you check out the docs and the examples on the main site. The language isn't too hard to learn once you get used to the syntax, and it lets you experiment actively a lot more with your microcontroller than the slow "compile-upload" loop of writing C code. Happy hacking! b

* New Uses for an "Ancient" Language in Latin ** Do you want to learn a new language for your Arduino? in Latin *** Dad, can I have some pants? in Latin


People

26

n o e c u I r t T r A A r e t u p m o C BY TIM SLAVIN

You know the artist Susan Kare's work very well. You're looking at it and interacting with it, or work inspired by it, every time you use a computer. The garbage can icon and other taken-for-granted icons can be traced back to Kare’s icons on the first Macintosh computers. Her icon solution for the Command key, inspired by a symbol used at Swedish campgrounds, is still used in Mac keyboards and documentation today. Kare also developed the iconic fonts from that era: Geneva, Chicago, and New York. These were the first proportionally-spaced fonts which made text on a computer screen look like print in a book. Because in 1983 there were no software programs with which to draw icons, Kare began with an artist notebook and colored in grids. The grids, in turn, mapped to what developers had to work with: pixels. Pixels are the smallest addressable element on a computer screen. Kare could fill in a square on a grid and the programmer could fill in a square pixel on a computer screen. The grid restriction also helped Kare focus on what matters, not how many colors or how realistic an icon might be. Instead, grids helped her focus on how well an icon worked as a universal image for a concept, for example, traffic

signs. Her minimalist focus is echoed today in the computer interface design debate between realism and flat abstraction, for example, with Apple’s iOS6 operating system and new iOS7. I was fortunate to track down Susan and get her thoughts on the beginning of computer graphics, as well as its future. Tim: How did you get hired at Apple? Susan: I heard about the Macintosh project at Apple from a good friend from high school, Andy Hertzfeld. The job title on his Apple business card was “Software Wizard”, and he was a key system software engineer on the project. He told me there was a need for an artist to create typefaces and symbols for the screen of a new type of computer, and that I could get an idea of the craft by coloring in squares on graph paper. I was very excited, because it seemed incredibly interesting, and a new design frontier — and I was a good example of the type of computer novice that was the target customer. Tim: Did you accomplish your goals and ambitions at Apple? What did you leave on the table, if anything, that you'd like to have tried? Susan: I really try hard to focus on whatever I’m working on — to think about the design problem and

a number of possible solutions — but design is not an exact science so there’s never one “right” answer. I still think all the time about what would be a timeless icon for “save” — not tied to a piece of hardware like a floppy disk or disk drive. Treasure chest? Anchor? Taxidermy? Container? Tim: Growing up, how did you become involved with design? What were some key moments in your personal history that influenced your ideas about design? Susan: I was the type of kid who always loved art and crafts and was encouraged in those areas. When I was 14, I started working during the summers in the design department at The Franklin Institute, a science museum in Philadelphia. That experience really introduced me to graphic design and typography, and I was fortunate to have worked there for an incredibly talented designer named Harry Loucks (who had worked for Charles Eames). Tim: What are the one or two key takeaways you have about design? Susan: For designing symbols, I always try to create images that are meaningful and memorable, so they are easy to remember. I also believe that, in general, less detail makes symbols more universal. Scott McCloud (in his terrific book, Understanding


27

Top to bottom: a page from Susan Kare's notebook showing the original finger pointing icon; early Macintosh fonts designed by Susan Kare; Susan Kare in her office in the 1980's.

Comics) illustrates this by showing a series of faces with less and less detail, until you see a circle with dots for eyes and a line for a mouth–it could represent anyone. And my opinion: a bit of humor is a good thing! Tim: What sort of background do you think aspiring designers should have to become great designers? Do they have to go to school or is it possible to be a designer outside of a formal college education in design? Susan: I’m not sure you can generalize, but I think having a liberal arts education can be helpful in solving design problems. It’s also great to seize any opportunity to gain practical experience by volunteering to create graphics pro bono. Tim: What are the most interesting design opportunities you see in the next 10-20 years? Where do you see design providing the most value to society, companies, and individuals? Susan: Design opportunities are everywhere — from packaging to websites to road signs. I get excited when I see something wonderfully designed anywhere (however humble or important)—seems as if there are endless opportunities for any designer to be thoughtful and improve or create something of lasting value. b

This story has been adapted from a previously published article in the February 2014 issue of Kids, Code, and Computer Science.


Parents and Teachers

28

BY TIM MCGUIGAN

Strandbeests and the Design Genius of

Like the first thought you have when you wake up, the first lesson of each year can really set the tone for the months to come. I try to be very deliberate about choosing the first glimpse students get in my class. I see this as the first impression of a good student-teacher relationship. This year, I am focusing more on design, so I began by introducing my students to Strandbeests, large wind-powered PVC pipe beach sculptures. The artist that creates these sculptures, Theo Jansen, has been toiling away on the beaches of the Netherlands building these machines for many years. Lined with dozens of legs rotating on cams around a central shaft, the sculptures

walk across the beach powered only by sails attached to tall poles. While he has received quite a bit of fame recently, for many years Jansen was building these “beach animals” in obscurity. Beyond being engineering marvels I see the Strandbeests to be a great example of innovation, persistence, and design. I also saw this as a perfect way to stretch my students’ imaginations. In an interview with Adam Savage, Jansen refers to his designs as not just an innovation, but his “mental children”. This seemed like a novel way to describe the process of innovation, so it became the center of our lesson. Just like real

children, an innovation or a “thought child” requires years of care before it can walk on its own. In old videos from the early 90s, you can see Jansen struggling just to keep his beests upright and moving forward. However by the late 90s, his designs were intricate and towering above their creator on the beach. If designs are like children, at what point does an innovation evolve beyond its creator to being something independent in the world? As my students discovered, something interesting happened to Theo Jansen and his Strandbeests in the late 90s and early 2000s. As his designs became ever increasingly inventive and impressive, they


29

Theo Jansen

FABRICE FLORIN, FLICKR

caught the eye of artists, engineers, and designers, and fame came quickly. Now his works are exhibited in museums around the globe, and Theo is no longer the lone man on the beach. After he put diagrams on how to build the legs and cams that drive his creatures on his website, designers as diverse as Japanese puzzle makers and high school students began replicating the sculptures and building new iterations. In this way, Strandbeests are also a great introduction into version control and open source engineering. On his website Theo presents his early designs as an anthropological museum exhibit.

With each version of the design, the zip-tie connections became stronger. In many ways he sees these beests as having a spirit of all their own. Since my classes will be learning about forking and open source software in our classes this year, I found this to be a perfect opportunity to start that process. To stoke their creativity, I asked my students to delve into their imaginations and to find some sort of “beest” to design. We made sketches based on Dr. Seuss characters, and designed creatures out of popsicle sticks. They would ask on occasion, “Does this have to have a purpose?” and I would always say no. True imagination shouldn’t

need any explanation. Once they settled on a design, we brought their creatures to life using CAD and our 3D printing lab. Then, to encourage the idea of forking, students came up with iterative designs based on each other’s work. In many ways, I wanted my students to make the connection that this is the goal of innovation. To take an idea that springs from the imagination and bring it out into the world. Given enough care and attention, it can live a life on its own and continue to grow and evolve with generations. b


“The best way to predict the future is to implement it."

—David Heinemeier Hansson

Thank you for reading this issue of beanz ! Check out the links below to read stories from this issue online with links to learn more. The Eternal Quest for Endless Power https://beanzmag.com/ eternal-batteries Changing Bases https://beanzmag.com/ counting-base-numbers Just Add OOP! https://beanzmag.com/ python-roll-a-story-oop This Computer Ain't Big Enough For the Both of Us, Cowboy https://beanzmag.com/ ethical-hacking-bug-bounties Hmm, I Think I'll Save the World Today. https://beanzmag.com/ computer-model-saves-world

tidbitz https://beanzmag.com/ december-2020-news-wire Keys, Handshakes, and Primes https://beanzmag.com/ prime-numbers Hiding In Plain Sight https://beanzmag.com/ tracking-covid-with-phones Small Internet, Big Fun https://beanzmag.com/ small-internet-bbs-gemini Pinwheel Pattern https://beanzmag.com/ sketchup-pinwheel

Novi Enim Quod Usus Linguae “Antiquae” https://beanzmag.com/ ulisp-language A True Computer Art Icon https://beanzmag.com/ an-interview-with-susan-kare Strandbeests and the Design Genius of Theo Jansen https://beanzmag.com/ strandbeests-theo-jansen

e! bscrib u s s s s Sss

Fizz, Buzz, Fizzbuzz! https://beanzmag.com/ modulo

https://beanzmag.com/subscribe


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.