Normal view

There are new articles available, click to refresh the page.
Before yesterdayMain stream

Why Simone Giertz, the Queen of Useless Robots, Got Serious



Simone Giertz came to fame in the 2010s by becoming the self-proclaimed “queen of shitty robots.” On YouTube she demonstrated a hilarious series of self-built mechanized devices that worked perfectly for ridiculous applications, such as a headboard-mounted alarm clock with a rubber hand to slap the user awake.

This article is part of our special report, “Reinventing Invention: Stories from Innovation’s Edge.”

But Giertz has parlayed her Internet renown into Yetch, a design company that makes commercial consumer products. (The company name comes from how Giertz’s Swedish name is properly pronounced.) Her first release, a daily habit-tracking calendar, was picked up by prestigious outlets such as the Museum of Modern Art design store in New York City. She has continued to make commercial products since, as well as one-off strange inventions for her online audience.

Where did the motivation for your useless robots come from?

Simone Giertz: I just thought that robots that failed were really funny. It was also a way for me to get out of creating from a place of performance anxiety and perfection. Because if you set out to do something that fails, that gives you a lot of creative freedom.


You built up a big online following. A lot of people would be happy with that level of success. But you moved into inventing commercial products. Why?

Giertz: I like torturing myself, I guess! I’d been creating things for YouTube and for social media for a long time. I wanted to try something new and also find longevity in my career. I’m not super motivated to constantly try to get people to give me attention. That doesn’t feel like a very good value to strive for. So I was like, “Okay, what do I want to do for the rest of my career?” And developing products is something that I’ve always been really, really interested in. And yeah, it is tough, but I’m so happy to be doing it. I’m enjoying it thoroughly, as much as there’s a lot of face-palm moments.

A graphical illustration of a calendar. Giertz’s every day goal calendar was picked up by the Museum of Modern Art’s design store. Yetch

What role does failure play in your invention process?

Giertz: I think it’s inevitable. Before, obviously, I wanted something that failed in the most unexpected or fun way possible. And now when I’m developing products, it’s still a part of it. You make so many different versions of something and each one fails because of something. But then, hopefully, what happens is that you get smaller and smaller failures. Product development feels like you’re going in circles, but you’re actually going in a spiral because the circles are taking you somewhere.

What advice do you have for aspiring inventors?

Giertz: Make things that you want. A lot of people make things that they think that other people want, but the main target audience, at least for myself, is me. I trust that if I find something interesting, there are probably other people who do too. And then just find good people to work with and collaborate with. There is no such thing as the lonely genius, I think. I’ve worked with a lot of different people and some people made me really nervous and anxious. And some people, it just went easy and we had a great time. You’re just like, “Oh, what if we do this? What if we do this?” Find those people.

This article appears in the November 2024 print issue as “The Queen of Useless Robots.”

What It Takes To Let People Play With the Past



The Media Archaeology Lab is one of the largest public collections in the world of obsolete, yet functional, technology. Located on the University of Colorado Boulder campus, the MAL is where you can watch a magic lantern show, play Star Castle on a Vectrex games console, or check out the weather on an Atari 800 via Fujinet. IEEE Spectrum spoke to managing director Libi Rose Striegl about the MAL’s mission and her role in keeping all that obsolete tech functional, so that people of today can experience the media of the past.

​Libi Rose


Libi Rose Striegl is the managing director for the Media Archaeology Lab at the University of Colorado Boulder.

How is the MAL different from other collections of historical and vintage technology?

Libi Rose: Our major difference is that we treat ourselves as a lab and an experimental space for hands-on use, as opposed to a museum-type collection. We’re very much focused on the humanistic side of computer use. We’re interested in unexpected juxtapositions of technologies and ways that we can get people of all ages and all backgrounds to use these things, in either the expected ways or in unexpected ways.

What’s your role at the lab?

Rose: I do all the day-to-day admin work, managing our volunteer group, working with professors on campus to do course integration. Doing off-site events, doing repair work myself or coordinating it. [Recording a new addition] myself or coordinating it. Coordinating donations. Social-media accounts. Kind of a whole crew of people’s worth of work in one job! My office is also the repair space.

“We’re very much focused on the humanistic side of computer use.”

What’s the hardest part about keeping old systems running?

Rose: We don’t have a huge amount of trouble with old computer systems other than not having time. It’s other things that are hard to keep running. Our older things, our mechanical things, the information is gone. The people who did that work in the past have passed away. And so we’re kind of re-creating the wheel when we want to do something like repair a mechanical calculator, or figure out how to make a phonograph that stopped working start working again. For newer stuff, the hardest part of a lot of it is that the hardware itself exists, but maybe server-side infrastructure is [gone]. So older cellphones are very hard to work with, because while we can turn them on, we can’t do much else with them unless you start getting into building your own analog cell network, which we’ve talked about. Missing infrastructure is why we end up doing a lot of things. We run our little analog TV station in-house.

An analog TV station?

Rose: Yes, otherwise you can’t really see what broadcast TV would have looked like on those old analog televisions!

How do visitors respond?

Rose: It sort of depends on age and familiarity with things. Young kids are often brought in by their parents to be introduced to stuff. And my favorite reactions are from 7- and 8-year-olds who are like, “Oh, my God. I’m so sorry for you old people who had to do this.” College-age students have either their own nostalgia or sort of residual nostalgia from their parents or grandparents. They’re really interested in interacting with something that they saw on television or that their parents told them about. Older folks tend to jump right onto the nostalgia train. We get a lot of good conversation around that and where technology goes when it dies, what that all means.

This article appears in the October 2024 print issues as “5 Questions for Libi Rose.”

Top Programming Languages Methodology 2024

In our goal of trying to estimate a programming language’s popularity, we realized that no one can look over the shoulder of every person writing code, whether that be a child writing a Java script for a personal Minecraft server, a mobile app developer hoping to hit it big, or an aerospace engineer writing mission-critical code for a voyage to Mars. Our Top Programming Languages interactive tries to tackle the problem of estimating a language’s popularity by looking for proxy signals.

We do this by constructing measures of popularity from a variety of data sources that we believe are good proxies for active interest for each programming language. In total, we identify 63 programming languages. We then weight each data source to create an overall index of popularity, excluding some of the lowest scorers. Below, we describe the sources of data we use to get the measures, and the weighting scheme we use to produce the overall indices.

By popularity, we mean we are trying to rank languages that are in active use. We look at three different aspects of popularity: languages in active use among typical IEEE members and working software engineers (the “Spectrum” ranking), languages that are in demand by employers (the “Jobs” ranking), and languages that are in the zeitgeist (the “Trending” ranking).

We gauged the popularity of languages using the following sources for a total of eight metrics (see below). We gathered the information for all metrics in July—August 2024. The data were gathered manually to avoid results being biased due to API changes or terminations and because many of the programming language’s names (C++, Scheme) collided with common terms found in research papers and job ads or were difficult for a search engine to parse. When a large number of search results made it impractical to resolve ambiguities by examining all of the results individually, we used a sample of each data source, and determined the relevant sample size based on estimating the true mean with 95 percent confidence. Not all data sources contain information for each programming language and we interpret this information as the programming language having “no hits” (that is, not being popular).

The results from each metric are normalized to produce a relative popularity score between 0 and 1. Then the individual metrics are multiplied by a weight factor, combined, and the result renormalized to produce an aggregate popularity score.

In aggregating metrics, we hope to compensate for statistical quirks that might distort a language’s popularity score in any particular source of data. Varying the weight factors allows us to create the different results for the Spectrum, Jobs, and Trending rankings. We fully acknowledge that, while these weights are subjective, they are based on our understanding of the sources and our prior coverage of software topics. Varying the weight factors allows us to emphasize different types of popularity and produce the different rankings. We then combined each weighted data source for each program and then renormalized the resulting frequency to produce an aggregate popularity score.

The Top Programming Languages was originally created by data journalist Nick Diakopoulos. Our statistical methodology advisor is Hilary Wething. Research assistance was provided by Elizabeth Wood. Rankings are computed using R.

Google

Google is the leading search engine in the world, making it an ideal fit for estimating language popularity. We measured the number of hits for each language by searching on the template, “X programming language” (with quotation marks) and manually recorded the number of results that were returned by the search. We took the measurement in July 2024. We like this measure because it indicates the volume of online information resources about each programming language.

Stack Overflow

Stack Overflow is a popular site where programmers can ask questions about coding. We recorded the number of questions tagged to each program within the last week prior to our search (August 2024). For the Mathematica/Wolfram language, we relied on the sister “Stack” for the Mathematica platform and tallied the number of programming-related questions asked in the past week. These data were gathered manually. This measure indicates what programming languages are currently trending.

IEEE Xplore Digital Library

IEEE maintains a digital library with millions of conference and journal articles covering a wide array of scientific and engineering disciplines. We searched for articles that mention each of the languages in the template “X programming” for the years 2023 and 2024, because this is the smallest timeframe for which we could access articles. For search results that returned thousands of articles, we identified the correct sample size for a 95 percent confidence interval (usually a little over 300) and pulled that number of articles. For each language we sampled, we identified the share of articles that utilize the programming language and then multiplied the total number of articles by this share to tally the likely total number of articles that reference a given programming language. We conducted this search in July 2024. This metric captures the prevalence of the different programming languages as used and referenced in engineering scholarship.

IEEE Job Site

We measured the demand for different programming languages in job postings on the IEEE Job Site. For search results that returned thousands of listings, we identified the correct sample size for a 95 percent confidence interval (usually around 300 results) and pulled that number of job listings to manually examine. For each language we sampled, we identified the share of listings that utilize the programming language and then multiplied the total number of job listings by this share to tally the likely total number of job listings that reference a given programming language. Additionally, because some of the languages we track could be ambiguous in plain text—such as lD, Go, J, Ada, and R—we searched for job postings with those words in the job description and then manually examined the results, again sampling entries if the number of results was large. The search was conducted in July 2024. We like the IEEE Job Site for its large number of non-U.S. listings, making it an ideal to measure global popularity.

CareerBuilder

We measured the demand for different programming languages on the CareerBuilder job site. We searched for “Developer” jobs offered within the United States, as this is the most popular job title for programmers. We sampled 400 job ads and manually examined them to identify which languages employers mentioned in the postings. The search was conducted in July 2024. We like the career builder site to identify the popularity of programmer jobs in the United States.

GitHub

GitHub is a public repository for many volunteer-driven open-source software projects. We used data gathered by GitHut 2.0, which measures the top 50 languages used by the number of repositories tagged with that language and draws from GitHub’s public API. We use two metrics from GitHub: repositories that have been “starred” by users to reflect long-term interests, and the number of pull requests to indicate current activity. The data cover the second quarter of 2024. These measures indicate what languages coders choose to work in when they have a personal choice.

Trinity College Dublin Library

The library of Trinity College Dublin is one of six legal deposit libraries in Ireland and the United Kingdom. A copy must be deposited with the library of any book published or distributed in Ireland, and on request any U.K. publisher or distributor must also deposit a book. We searched for all books published in the year to date that had their subject matter categorized as computer programming and totaled the number of returns. The search was conducted in June 2024. We like this library collection because it represents a large and categorized sample of works, primarily in the English language.

Discord

Discord is popular chat-room platform where many programmers exchange information. We counted the number of tags that correspond to each language. In the case of languages that could also be names of nonprogramming topics, (many nonprogramming-related topics also have dedicated Discord servers; for example, “Julia” could refer to the programming language or the Sesame Street puppet), results were manually examined. Disboard was searched in August 2024. Disboard lists many public discord servers and many young coders use the site, contributing a different demographic of coders.

The Top Programming Languages 2024



Welcome to IEEE Spectrum’s 11th annual rankings of the most popular programming languages. As always, we combine multiple metrics from different sources to create three meta rankings. The “Spectrum” ranking is weighted towards the profile of the typical IEEE member, the “Trending” ranking seeks to spot languages that are in the zeitgeist, and the “Jobs” ranking measures what employers are looking for.

You can find a full breakdown of our methodology here, but let’s jump into our results. At the top, Python continues to cement its overall dominance, buoyed by things like popular libraries for hot fields such as AI as well as its pedagogical prominence. (For most students today, if they learn one programming language in school, it’s Python.) Python’s pretty popular with employers too, although there its lead over other general purpose languages is not as large and, like last year, it plays second fiddle to the database query language SQL, which employers like to see paired with another language. SQL popularity with employers is a natural extension of today’s emphasis on networked and cloud-based system architectures, where databases become the natural repository for all the bytes a program’s logic is chewing on.


IEEE Computer Society Logo

Top Programming Languages 2024 is brought to you by the IEEE Computer Society. Get connected with the world’s largest community empowering computer science and engineering professionals.


Stalwarts like Java, Javascript, and C++ also retain high rankings, but it’s what’s going on a little further down that’s particularly interesting. Typescript—a superset of Javascript—moves up several places on all the rankings, especially for Jobs, where it climbs to fourth place, versus 11th last year. Typescript’s primary differentiator over Javascript is that it enforces static typing of variables, where the type of a variable—integer, floating point, text, and so forth—must be declared before it can be used. This allows for more error checking when Typescript programs are compiled to Javascript, and the increase in reliability has proven appealing.

Another climber is Rust, a language aimed at creating system software, like C or C++. But unlike those two languages, Rust is “memory safe”, meaning it uses a variety of techniques to ensure programs can’t write to locations in memory that they are not supposed to. Such errors are a major source of security vulnerabilities. Rust’s profile has been rising sharply, boosted by things like a February cybersecurity report from the White House calling for memory safe languages to replace C and and C++. Indeed, C’s popularity appears to be on the wane, falling from fourth to ninth place on the Spectrum ranking and from 7th to 13th on the Jobs ranking.


Two languages have entered the rankings for the first time: Apex and Solidity. Apex is designed for building business applications that use a Salesforce server as a back end, and Solidity is designed for creating smart contracts on the Ethereum blockchain.

This year also saw several languages drop out of the rankings. This doesn’t mean a language is completely dead, it just means that these languages’ signal is too weak to allow them to be meaningfully ranked. Languages that dropped out included Forth, a personal favorite of mine that’s still popular with folks building 8-bit retro systems because of its tiny footprint. A weak signal is also why we haven’t included some buzzy languages such as Zig, although those proficient in it can apparently command some high salaries.

As these other languages come and go from the rankings, I have to give the shout out to the immortals, Fortran and Cobol. Although they are around 65 years old, you can still find employers looking for programmers in both. For Fortran, this tends to be for a select group of people who are also comfortable with high-energy physics, especially the kind of high-energy physics that goes boom (and with the security clearances to match). Cobol is more broadly in demand, as many government and financial systems still rely on decades-old infrastructure—and the recent paralyzing impact of the Cloudstrike/Microsoft Windows outage incident probably hasn’t done much to encourage their replacement!

Build a Radar Cat Detector



You have a closed box. There may be a live cat inside, but you won’t know until you open the box. For most people, this situation is a theoretical conundrum that probes the foundations of quantum mechanics. For me, however, it’s a pressing practical problem, not least because physics completely skates over the vital issue of how annoyed the cat will be when the box is opened. But fortunately, engineering comes to the rescue, in the form of a new US $50 maker-friendly pulsed coherent radar sensor from SparkFun.

Perhaps I should back up a little bit. Working from home during the pandemic, my wife and I discovered a colony of feral cats living in the backyards of our block in New York City. We reversed the colony’s growth by doing trap-neuter-return (TNR) on as many of its members as we could, and we purchased three Feralvilla outdoor shelters to see our furry neighbors through the harsh New York winters. These roughly cube-shaped insulated shelters allow the cats to enter via an opening in a raised floor. A removable lid on top allows us to replace straw bedding every few months. It’s impossible to see inside the shelter without removing the lid, meaning you run the risk of surprising a clawed predator that, just moments before, had been enjoying a quiet snooze.

A set of components, including an enclosure with two large holes for LEDs and what looks like cat ears on top. The enclosure for the radar [left column] is made of basswood (adding cat ears on top is optional). A microcontroller [top row, middle column] processes the results from the radar module [top row, right column] and illuminates the LEDs [right column, second from top] accordingly. A battery and on/off switch [bottom row, left to right] make up the power supply.James Provost

Feral cats respond to humans differently than socialized pet cats do. They see us as threats rather than bumbling servants. Even after years of daily feeding, most of the cats in our block’s colony will not let us approach closer than a meter or two, let alone suffer being touched. They have claws that have never seen a clipper. And they don’t like being surprised or feeling hemmed in. So I wanted a way to find out if a shelter was occupied before I popped open its lid for maintenance. And that’s where radar comes in.

SparkFun’s pulsed coherent radar module is based on Acconeer’s low-cost A121 sensor. Smaller than a fingernail, the sensor operates at 60 gigahertz, which means its signal can penetrate many common materials. As the signal passes through a material, some of it is reflected back to the sensor, allowing you to determine distances to multiple surfaces with millimeter-level precision. The radar can be put into a “presence detector” mode—intended to flag whether or not a human is present—in which it looks for changes in the distance of reflections to identify motion.

As soon as I saw the announcement for SparkFun’s module, the wheels began turning. If the radar could detect a human, why not a feline? Sure, I could have solved my is-there-a-cat-in-the-box problem with less sophisticated technology, by, say, putting a pressure sensor inside the shelter. But that would have required a permanent setup complete with weatherproofing, power, and some way of getting data out. Plus I’d have to perform three installations, one for each shelter. For information I needed only once every few months, that seemed a bit much. So I ordered the radar module, along with a $30 IoT RedBoard microcontroller. The RedBoard operates at the same 3.3 volts as the radar and can configure the module and parse its output.

If the radar could detect a human, why not a feline?

Connecting the radar to the RedBoard was a breeze, as they both have Qwiic 4-wire interfaces, which provides power along with an I2C serial connection to peripherals. SparkFun’s Arduino libraries and example code let me quickly test the idea’s feasibility by connecting the microcontroller to a host computer via USB, and I could view the results from the radar via a serial monitor. Experiments with our indoor cats (two defections from the colony) showed that the motion of their breathing was enough to trigger the presence detector, even when they were sound asleep. Further testing showed the radar could penetrate the wooden walls of the shelters and the insulated lining.

The next step was to make the thing portable. I added a small $11 lithium battery and spliced an on/off switch into its power lead. I hooked up two gumdrop LEDs to the RedBoard’s input/output pins and modified SparkFun’s sample scripts to illuminate the LEDs based on the output of the presence detector: a green LED for “no cat” and red for “cat.” I built an enclosure out of basswood, mounted the circuit boards and battery, and cut a hole in the back as a window for the radar module. (Side note: Along with tending feral cats, another thing I tried during the pandemic was 3D-printing plastic enclosures for projects. But I discovered that cutting, drilling, and gluing wood was faster, sturdier, and much more forgiving when making one-offs or prototypes.)

An outgoing sine-wave pulse from the radar is depicted on top. A series of returning pulses of lower amplitudes and at different distances are depicted on the bottom. The radar sensor sends out 60-gigahertz pulses through the walls and lining of the shelter. As the radar penetrates the layers, some radiation is reflected back to the sensor, which it detects to determine distances. Some materials will reflect the pulse more strongly than others, depending on their electrical permittivity. James Provost

I also modified the scripts to adjust the range over which the presence detector scans. When I hold the detector against the wall of a shelter, it looks only at reflections coming from the space inside that wall and the opposite side, a distance of about 50 centimeters. As all the cats in the colony are adults, they take up enough of a shelter’s volume to intersect any such radar beam, as long as I don’t place the detector near a corner.

I performed in-shelter tests of the portable detector with one of our indoor cats, bribed with treats to sit in the open box for several seconds at a time. The detector did successfully spot him whenever he was inside, although it is prone to false positives. I will be trying to reduce these errors by adjusting the plethora of available configuration settings for the radar. But in the meantime, false positives are much more desirable than false negatives: A “no cat” light means it’s definitely safe to open the shelter lid, and my nerves (and the cats’) are the better for it.

❌
❌