Archive for the ‘Uncategorized’ Category


I took this picture while driving, much to the panicked screams of my passengers. What they couldn’t see, and I had very little time to capture, was that the odometer was displaying a very curious number, namely “122551”. It may not be obvious in the font being used here, but on my dashboard, rendered in seven-segment LED numbers, it exhibited perfect mirror symmetry. These kinds of numbers are related to palindromic numbers (which I explored earlier this year), but are just a little bit more odd because they rely on how the numbers are represented visually.

The question I began to think about was something like: “How many times will the odometer of my car display a number that contains it’s own reflection?” In this strange kind of numerical analysis, some numbers will never show up (3, 4, 6, 7, and 9), some exhibit self mirror-symmetry by the nature of being symmetrical about the vertical axis (0, 1, 8) and then 2 and 5 are a reflective pair. What that means is that any time a 2 or a 5 shows up, there must a corresponding opposite 5 or 2. For the record, 9 and 6 don’t count because they are rotations not reflections. So how is this essentially arbitrary property distributed along the number line?

To examine a few million integers efficiently, I would have to create an efficient way to check a number for mirror symmetry (in python). I decided to treat all mirror-able numbers as if they have a mirror pair the way 5 and 2 do — this simplifies the comparison step. For odd length numbers, I check for self-symmetry on the central digit.

SymPairs = {'0':'0', '1':'1', '2':'5', '5':'2', '8':'8'}
SymMonads = ['0', '1', '8']

def sym_check(v):
    l = len(v)
    match_count = 0
    for i in range(l/2):
        target = v[i]
        if not target in SymPairs:
        match = SymPairs[target]
        if v[l-1-i] == match:
            match_count += 2
    if l & 0x1:  # odd length
        # check center digit
        if v[l/2] in SymMonads:
            match_count += 1
    rval = 0.0
    if match_count > 0:
        rval = match_count / float(l)
    if rval == 1.0:
        print v
    return rval

Armed with a function that returns 1.0 for fully mirror-palindrome numbers, I checked to see how many there were between 0 and 100,000:

0	15821
1	18081
8	18181
11	18881
25	20005
52	20105
88	20805
101	21015
111	21115
181	21815
205	22055
215	22155
285	22855
502	25025
512	25125
582	25825
808	28085
818	28185
888	28885
1001	50002
1111	50102
1251	50802
1521	51012
1881	51112
2005	51812
2115	52052
2255	52152
2525	52852
2885	55022
5002	55122
5112	55822
5252	58082
5522	58182
5882	58882
8008	80008
8118	80108
8258	80808
8528	81018
8888	81118
10001	81818
10101	82058
10801	82158
11011	82858
11111	85028
11811	85128
12051	85828
12151	88088
12851	88188
15021	88888

The great thing about this function is that it returns 1.0 for a perfect mirror-symmetry number, and something less than that for something that exhibits some symmetry. So we can visualize that as grey scale in an image. Here’s the corner of an image that contains a rendering of all the numbers from 0 to 1,000,000. In the upper left corner is 0 with the pixels representing 0, 1, 2, 3, 4 and so on moving to the right. Pixels 0, 1, and 8, are bright green because they are self-mirroring. Checking the list above, we see pixels representing 11, 25, 52, and 88 lit up as well. In this rendering, grey pixels are kind of symmetrical, and black pixels exhibit no symmetry (according to how the code is testing for it).


That pattern of rectangles continues, with an evolving variation, from there on out. Viewed as a graph, you can see the gaps between fairly evenly distributed ranges more clearly.

Screen Shot 2017-07-19 at 10.52.23 PM

Start looking for patterns in numbers, and you will find them. This is also true for all endeavors, mathematical or otherwise.

Read Full Post »

//Doha//Monday//WISE2009//Day One

Life in a hotel is simple for conference attendees. You wake up knowing what you will wear, where you will eat (but not what), and what you are doing the rest of the day.

I find serendipity only in the face-to-face encounters with other attendees. I have animated discussions with educators and policy-makers from Camaroon, Bangledesh, South Africa, Australia, Ghana, Mali, Bahrain, France, England, Belgium, Berkeley, Davis, and Washington, DC. Later, during our conversation over dinner we discover that no one at the table has yet met a Qatari citizen.

There are over a million people living in Qatar. Of that, approximately one hundred thousand are Qatari citizens. Citizenship comes with an eighty thousand dollar per year allowance tax-free from the Sheikh. Needless to say, no foreigners are ever granted citizenship. An unknown percentage of the citizens are away collecting degrees at universities around the world, which further reduces the native head count. So it is a common experience for visitors to Qatar to spend a month here on business and never meet a citizen.

Jaded business people describe the Qatari as detached and aloof. I have the romantic notion that this could be a nation of Bruce Waynes, building their bat-caves around the world and springing to action when the time comes.

At breakfast I eavesdrop on a Japanese representative from a shipping company as he interviews a potential captain for a fully loaded oil tanker lying dormant in the Persian Gulf. The shipping company is losing a thousand dollars an hour while the ship sits still. The conversation is formal and reserved until he and the captain, a sun-beaten man with a scar that runs through his left eyebrow, discover that they both were in Burma during the coup, hiding in the same town. By the time I sign my bill, they are laughing and gesturing wildly with their cutlery.

The waters of the Persian Gulf appear to be about as turbulent as a swimming pool, only warmer. Waves lap at the manmade shorelines only when the occasional speedboat passes. Beneath the surface, silver and black fish drift about, looking for morsels of food on the sand covered rocks.

Despite the temperature difference between the shore and sea, no wind comes to stir the palm trees. Doha sits in a pool of it’s own exhaled breath, dirty with construction dust and diesel exhaust. It’s partially constructed skyline of whimsical architecture fades into the murky distance.

Read Full Post »

Canada Syndrome

While freeing up some space on my laptop, I found this amusing little experiment. My intention was to create a complete document of an entire vacation as a single comic book. To my current way of thinking, it’s far better to put these half-finished things out than to sit on them indefinitely.

This story unfolds during a 2006 paragliding trip to the Okanagan Valley in British Columbia.

Canada Syndrome - the comic book.

Also available as hi-res PDF for your printer.

Read Full Post »

The Experiment that Started the Experiment

The Experiment that Started the ExperimentHolding a piece of scrap-paper in one hand, the ball resting on a table, and snapping a picture I suddenly become interested in spherical lenses. I remember that some of the earliest microscopes (from the 1600’s, I think) were made with polished balls of glass.

I decide not to look anything up on the internet until after I try building a camera using this ball as a lens.

First Sketch

First SketchBall, box, viewscreen, and a hole to put the camera lens through.

Second Sketch

Second SketchPutting the parts in relation to each other helps me think through the construction and builds a more detailed model in my head.

Precision Layout

Precision LayoutI mark and cut crude holes on both ends of the box. Later I will put more precisely cut pieces of cardboard over these holes.

Making the Imaging Screen

Making the Imaging ScreenAfter trying various materials readily at hand, I settle on tissue-paper (which keeps the Christmas theme going). The cardboard frame is cut slightly wider than the box so that it will make a gentle arc when it presses against the sides – this will (hopefully) more closely match the focal arc of the ball and keep the screen in place.


AssemblagePutting all the parts together (using mostly gravity), the camera starts to take shape. The ball is so much heavier than the box, I had to hot-glue a piece of plywood to the box to create a sturdy support.

First Image

First ImageI neglected to account for the minimum focal distance of the camera, as a result the camera must be outside the box in order to actually focus. But, as we can see from the upside-down image of my yard, the ball is working as a lens.

Notes for next iteration: longer box, put the ball inside the box to reduce intrusion of light from the sides, different viewscreen material (possibly sanded plastic from discarded packaging).

Read Full Post »

Algorithmic Brushing

Using only information in the image, is it possible to algorithmically choose angles for brush strokes? I started fooling around with this idea back in 1988, and have been resurrecting it off and on over the years – this version runs in Processing.

Get the source here.

Strange Things Around the Eyes

Strange Things Around the EyesThis has always been the problem with this approach – no attention to the anatomical details. I wonder if facial-recognition data could be used to scale the strokes around and on the eyes to preserve some detail?

More Facial Distortion

More Facial DistortionI like the treatment of the ceiling in this one, but the distortion of the facial features is disturbing again.

Sleeping Dog, Window

Sleeping Dog, WindowSwung the laptop towards the window and caught Kai sleeping. Stroke direction on Kai just happens to coincide with fur.

Un-natural Directional Choices

Un-natural Directional ChoicesVertical strokes on the hand? Feels like those should follow the vectors of the fingers…. Might try reducing image to a few colors, creating a polygonal representation, and then use a vector field (seeded with the lines from the polygons) to determine brush angles.

Self Portrait – Eyes Closed

Self Portrait - Eyes ClosedLooking for good angular distinctions between areas of similar brightness but different hues.

Monochrome Brushing

Monochrome BrushingIgnoring the color information to see the angular details more clearly.

(added 3.jan.09)
Interesting to note what kind of traffic you get from posting to the Exhibition section on processing.org:
Traffic on blog after posting to processing.org
I posted to processing.org on Christmas day (25.dec.08) and then get an almost perfect decay curve in blog traffic.

Read Full Post »

On Leaving Adobe

When you leave a big company, you have a unique opportunity to send one more message before they shut down your email account. Some folks had some kind words to say about my final email and asked if I would post it.

Dear Friends,
It has been an utter pleasure to work with you since I got here. The opportunities afforded me here at a Adobe have been the source of some of the most interesting and exciting projects I’ve worked on.

As I pack up my desk and get ready to start writing the first of the Tinkering School books, fleeting panics ebb and flow as I come to grips with all the nascent projects that I have discussed with people – all those good ideas that I won’t get to participate in building… I look forward to seeing where things at Adobe go from here.

So, I leave you with four good ideas:

#1 – Play!
The more we take ourselves seriously, the less good our work becomes. There is no better place to try a risky idea, than here, nestled in the arms of a really good, solid company. If your next proposal doesn’t shock 15% of the people you present it to, then it’s not crazy enough.

#2 – Defer Judgment!
I first saw this on the wall at IDEO, but it’s the best advice anyone ever committed to signage in a corporate setting. It’s too easy to take pot-shots at newborn ideas. If someone is describing something to you that you just aren’t getting, say “Keep working on that” instead of saying nothing and going back to your desk to tell your friends how dumb it was. Really good ideas are sometimes buried in crap and may need help getting cleaned up.

#3 – Instead of Having a Career Path, Always Do the Most Interesting Thing You Can.
A career-path will only get you to retirement. Follow your interests obsessively, sacrifice everything, and keep doing it. Eventually it will turn into something both amazing and surprising. Along the way you will do things that you never thought you would, find yourself in places that you never imagined you would go, and in the end you will look back and say “Wow! What a fun ride that was! Can I go again?”

I guess #4 should be “don’t put advice in your goodbye mail, it will get too long and no one will read it“.

Now some contact information:
You can keep an eye on me here: http://www.twitter.com/gever
Or check out the school blog: http://www.tinkeringschool.com/blog/
Or my infrequently updated personal blog: https://gevertulley.wordpress.com/
Or get them all in one place: http://www.friendfeed.com/gever

As ever,

Read Full Post »

Over the past two years, I’ve gotten some requests to post a transcript of the talk I gave at TED in 2007. It sounded like a reasonable idea until I sat down and listened to myself talk and tried to write down what I actually said – what an exercise in humility. Luckily for me, the resulting procrastination paid off when TED contacted me to approve the transcript they had created from the video as part of a larger project to create multi-lingual versions of the talks. So, here, in all of it’s raw and, uh, like, broken sentences, is the actual transcript of the video:

Welcome to five dangerous things you should let your children do. I don’t have children; I borrow my friends’ children, so (Laughter), take all this advice with a grain of salt. I’m Gever Tulley, I’m a contract computer scientist by trade, but I’m the founder of something called the Tinkering School. It’s a summer program which aims to help kids to learn how to build the things that they think of. So we build a lot of things, and I do put power tools into the hands of second-graders. So if you’re thinking about sending your kid to Tinkering School, they do come back bruised, scraped and bloody. So, you know, we live in a world that’s subjected to ever more stringent child safety regulations. There doesn’t seem to be any limit on how crazy child safety regulations can get. We put suffocation warnings on
all the — on every piece of plastic film manufactured in the United States or for sale with an item in the United States. We put warnings on coffee cups to tell us that the contents may be hot. And we seem to think that any item sharper than a golf ball is too sharp for children under the age of ten.

So where does this trend stop? When we round every corner and eliminate every sharp object, every pokey bit in the world, then the first time that kids come in contact with anything sharp or not, made out of round plastic, they’ll hurt themselves with it. So as the boundaries of what we determine as the safety zone grow ever smaller, we cut off our children from valuable opportunities to learn how to interact with the world around them. And despite all of our best efforts and intentions, kids are always going to figure out how to do the most dangerous thing they can, in whatever environment they can. So despite the provocative title, this presentation is really about safety and about how some simple things that we can do to raise our kids to be creative, confident and in control of the environment around them. And what I now present to you is an excerpt from a book in progress. The book is called, “50 Dangerous Things.” This is five dangerous things.

Thing number one: play with fire. Learning to control one of the most elemental forces in nature is a pivotal moment in any child’s personal history. Whether we remember it or not, it’s a — it’s the first time we really get control of one of these mysterious things. These mysteries are only revealed to those who get the opportunity to play with it. So playing with fire, this is like one of the great things we
ever discovered, fire. From playing with it, they learn some basic principles about fire, about intake, about combustion, about exhaust, these are the three working elements of fire that you have to have to have a good controlled fire. And you can think of the open pit fire as a laboratory, you don’t know what they’re going to learn from playing with it. You know, let them fool around with it on their own terms and trust me, they’re going to learn things that you can’t get out of playing with Dora the Explorer toys.

Number two: own a pocket knife. Pocket knives are kind of drifting out of our cultural consciousness, which I think is a terrible thing (Laughter). Your first, your first pocket knife is like the first universal tool that you’re given, you know, it’s a spatula, it’s a pry bar, it’s a screwdriver and it’s a blade, yeah. And it’s a, it’s a powerful and empowering tool. And in a lot of cultures they give knives, like, as soon as they’re toddlers they have knives. These are Inuit children cutting whale blubber. I first saw this in a Canadian Film Board film when I was ten, and it left a lasting impression, to see babies playing
with knives. And it shows that kids can develop an extended sense of self, through a tool, at a very young age. You lay down a couple of very simple rules, always cut away from your body, keep the blade sharp, never force it, and these are things kids can understand and practice with. And yeah, they’re going to cut themselves, I have some terrible scars on my legs from where I stabbed myself. But you know, they’re young, they heal fast (Laughter).

Number three: throw a spear. It turns out that our brains are actually wired for throwing things and like muscles, if you don’t use parts of your brain, they tend to atrophy over time. But when, when you exercise them, any given muscles adds strength to the whole system and that applies to your brain too. So practicing throwing things has been shown to stimulate the frontal and parietal lobes, which have to do with visual acuity, 3D understanding, and structural problem-solving, so it gives a sense, it helps develop their visualization skills and their predictive ability. And throwing is a combination of analytical and physical skill, so it’s very good for that kind of whole body training. These kinds of target based practice, also helps — helps kids develop attention and concentration skills, so those are great.

Number four: deconstruct appliances. There is a world of interesting things inside your dishwasher. Next time you’re about to throw out an appliance don’t throw it out. Take it apart with your kid, or send him to my school and we’ll take it apart with them. Even if you don’t know what the parts are, puzzling out what they might be for is a really good practice for the kids to get, sort of, the sense that they can take things apart and no matter how complex they are, they can understand parts of them and that means that eventually, they can understand all of them. It’s a sense of knowability, that something is knowable. So these black boxes that we live with and take for granted are actually complex things made by other people and you can understand them.

Number five: two-parter: break the Digital Millennium Copyright Act (Laughter). There are laws beyond safety regulations that attempt to limit how we can interact with the things that we own — in this case, digital media. It’s a very simple exercise, buy a song on ITunes, write it to a CD, then rip the CD to an MP3 and play it on your very same computer. You’ve just broken a law, technically the RIAA can come and persecute you. It’s an important lesson for kids to understand, that some of these laws get broken by accident and that laws have to be interpreted and it’s something we often talk about with the kids when were fooling around with things and breaking them open and taking them apart and using them for other things, and also when we go out and drive a car.

Driving a car is a — is a really empowering act for a young child, so this is the ultimate — (Laughter) For those of you who aren’t comfortable actually breaking the law, you can drive a car with your child. This is — this is a great stage for a kid. This happens about the same time that they get latched onto things like dinosaurs, these big things in the outside world that they’re trying to get a grip on. A car is a similar object, and they can get in a car and drive it. And that’s a really, like, it gives them a handle on a world in a way that they wouldn’t, that they don’t often have access to. So — and it’s perfectly legal. Find a big empty lot, make sure there’s nothing in it and it’s on private property, and let them drive your car. It’s very safe actually. And it’s fun for the whole family (Laughter). So let’s see, I think that’s it, that’s number five and a half, okay.

Read Full Post »

Older Posts »