OSCON keynote presentation

Feel Free to Multitask

We’ll need to plow through some anthropology on our way to the computer science, where multitasking is taken for granted and talked about in various ways.

However “to multitask” has a social meaning that comes from managing, cooking, attending to affairs of any kind.

“To multitask” means to have a lot of unfinished tasks running in parallel, and switching between them rather than sequentially finishing each one before turning attention to another.

Socially, we have seen the rise of Attention Deficit Disorder (ADD) as something treatable, and with the usual entourage of hangers on. ADHD I think it is now.

People have strong opinions about attention spans and how long or short they might be.

Meditation seems to stretch concerted attention around nothing at all (ideally) for prolonged periods. Is that the opposite of ADD or what?

People with strong opinions will sometimes interject: “you can’t really multi-task so why do you keep trying?”. They may sound sardonic or impatient.

One thing they’re often saying: “there is no way to give me your undivided attention if you’re dividing it, I don’t care how smart they say your phone is.” In other words, sometimes your partner in some experience is jealous of the time you spend focused on tasks other than relating to them.

This kind of jealousy did not arise recently with the smartphone of course. Classroom teachers have often been sensitive to Johnny’s attention wandering to some squirrel outside, irrelevant to the task at hand: learning multi-digit addition.

Let me also reference Be Here Now, a famous book at the dawn of the Aquarian Age, by one of the new breed of western guru, in this case Ram Dass, formerly Richard Alpert, a professor at Harvard.

Some of the backlash against multitasking indeed comes from the meditating corner, wherein flitting from thought to thought in some disconnected stream of “self consciousness” is just some hamster in a wheel, a monkey-minded reflex (habit), to be overcome, not exulted in as evidence of some nasty cogito (ego, self). Buddhism was much in the wind in those days, still is.

In computer science, the Operating System has the responsibilities of a diplomat hosting a party. These people have taken time out of their day to be in your presence, you invited them. Now you won’t give them the time of day? You cold shoulder your own guests?

This sounds like poor design and indeed, an Operating System is to make each guest feel like royalty, every whim catered too, unless running contrary to established privacy rules, which protect everyone. Satisfied customers will continue to return, and that’s what a successful OS needs and wants: loyal repeat customers.

My first exposure to a real Operating System was through a remote dumb terminal slaved to an IBM 370 / 360. I wasn’t always sure which one I was talking to, or both, but as an account holder I could access some resources, in my case APL (A Programming Language, by Kenneth Iverson) and whatever disk space was required to store my files.

I’d spend time with the manuals and put my lunch tray down at the geek tables in the university cafeteria, eager to absorb the lingo. Sanskrit would probably have seemed easier. But then it’s not either / or.

My advice to you then: don’t let opponents of multitasking get you down, as you learn to choreograph various events through multi-track scenarios. The subject might just be yourself, alone in the kitchen.

You have those four or two burners for a reason, plus a microwave.

You’re able to run a dishwasher, freeze food, heat food, toast, slice and dice, all in one room, and in a manner that exercises your skills as a multitasker.

It’s OK to be “the one” (a lone responsible party), and pay attention while doing so, letting yourself dive deeply into this thing or that. I’m not saying having “undivided attention” is a bad thing, on the contrary.

Sometimes just learning to shuffle through all the same tasks in a different order, is sufficient to break hidden logjams, invisibly holding one back. Experiment. Give attention to each move, but take the approach that the order (path) you’d normally follow is not the only one available.

While at it, I recommend investing in the concepts of Scheduler and Queue. Think in terms of event loops and maybe eggs hatching, with tasks being eggs. They go around and around, like on a baggage carousel, until the right person picks them up. In the case of tasks, the event loop is waiting for some produced result, and needs to keep checking. “Has the egg hatched yet?” “How about now?”

The airport baggage carousel as an institution (and artifact) is a wonder to behold, in terms of how it functions as a buffer in a highly multitasking environment.

Encouragement: if you’re doing restaurant or other service working, waiting on people, queuing them for a refill or sequential service, you’re multitasking.

Like a baggage carousel, a bartender’s behavior is sometimes a marvel to behold, not to mention a chef’s. I recognize these skills because I’ve honed them to some degree myself, as a chef with Food Not Bombs, as a bus boy at Princeton, in many other roles.

Wherever I go, I have opportunities to observe processes running in parallel, and the logjams that go with those, the bottlenecks, the breakdowns.

Multitasking did not suddenly spring ab initio from chip designers’ heads. We didn’t have chips, ergo no chip designers. We had a need to maximize throughput and not have hands idle, when pending work was accruing.

When the problem of “falling behind” is in your face every day, you don’t want unused capacity. More with less is the name of the game, which might as well be more with the same amount, as the critical difference is all relative.

Operations Research was about as sexy as Data Science (very) in its day. The whole idea of a critical path through a network of parallel tasks was formalized, along with computer algorithms to find them.

Project Management became a thing, susceptible to software management. To a point, that’s simply analogous to what an operating system does, but at a higher level.

OSs schedule. They also allow processes to crash and burn, or to be killed. This doesn’t sound so “diplomatic” I know, but engineering wants the concepts to burn in, to become second nature. Using only euphemisms introduces more lag in recall, retarding throughput. Programs don’t always run to completion, lets be honest. A principal job of the OS is to stay robust in the face of bugs and glitches. Don’t expect miracles.

My next task: to re-visit a tetrahedron shape called the S module. A professional CAD designer has given me 3D printer reader versions.

These polyhedrons come in both left and right. I’ve been working out with an extended precision arithmetic library known as gmpy2. I also have an interesting volume formula, developed in the lineage of Euler through Gerald de Jong, which I’m hoping will work just as easily with gmpy2 objects.

However, pending in my queue are various errands, including to the UPS store to send an Apple power cable back to its owner. I’ll need a tracking number, which I will then check periodically.

I’m also doing many household tasks around cooking, cleaning, pest control. Lots of appliances get pressed into service, as a multitask my way through the day. Choreography of just one person is already an art form.

However, when I don my management cap, I start focusing on scenarios that don’t star me at all. I’m not on that truck or jeep in the Himalayas that I’m watching on Youtube.

The front lines teams have lots of work to do, producing segments for re-sequencing into series (of the TV kind — if this sounds a lot like DNA-talk I understand). “Think globally, act locally” — what else might one do? One could always mediate I guess, or pray to one’s muse.

By the way, consider presenting to the Open Source Convention (OSCON) some day if you’re involved with all these queuing and scheduling technologies in an open way. Add authentication and accessing data stores, and you have the makings of the ecosystem in which multi-tasking is the name of the game.

OSCON: Open Source Convention