Cover photo
Sjoerd Visscher
Works at Q42
Attended Universiteit Twente
Lives in Den Haag, Netherlands
424 followers|90,805 views


Sjoerd Visscher

Shared publicly  - 
Rolling smoothed octagons

This picture by Greg Egan is more profound than it looks.  The area of each white space doesn't change as the wheels roll.  But that's not all!

What shape is the worst at densely packing the plane?  To make this question interesting we should ask about convex shapes - remember, a shape is convex if whenever two points are in it, so is the line between them.  Then the answer seems to be a regular heptagon... though nobody has been able to prove this.  The densest packing of regular heptagons fills up about 89.3% of the plane.  For comparison, circles fill up 90.7%.

But suppose we also demand that our shape be centrally symmetric - meaning that if you reflect it vertically and then reflect it horizontally, it looks the same.  Packings of centrally symmetric convex shapes are a lot easier to understand. 

What's the worst centrally symmetric convex shape for densely packing the plane?  It seems to be a regular octagon with its corners smoothed in a certain clever way.  Nobody has proved this... but Thomas Hales, the guy who proved Kepler's conjecture on densely packing spheres, wants to prove this conjecture too! 

The densest packing of these smoothed octagons fills up about 90.2% of the plane. 

But there's not just one densest packing!  You can turn the smoothed octagons while keeping the density the same!  And that's what you see here. 

Notice that the centers of the octagons move as we turn them.  This makes me a bit sea-sick.  But the math is beautiful.

There's a lot more to say about this, and I said it here:

I recommend this paper, too:

• Yoav Kallus, Least efficient packing shapes,

#spnetwork arXiv:1305.0289 #geometry #packing  
36 comments on original post
Add a comment...

Sjoerd Visscher

Shared publicly  - 
Regex fractals are a cool (new?) idea: assign a unique string to each pixel in some way, and let the result of matching that string to a regular expression determine the color of that pixel. I was quite impressed by the results someone got (see the link below), so I built an interactive version where you can try your own regexes:
Add a comment...

Sjoerd Visscher

Shared publicly  - 
A new game by Q42. I'm addicted!
Set up… add up… and BLOW UP!From the creators of Quento comes Numolition, a...
Add a comment...
Once every few years this plant in my room has flowers. If you look closely you'll see that every flower has a little droplet at its tip.
greys greheme's profile photo
Add a comment...

Sjoerd Visscher

Shared publicly  - 
Openingsborrel Q42 Amsterdam
Thu, September 12, 2013, 5:00 PM GMT+2
Have him in circles
424 people
Nicolas Pouillard's profile photo
Christiaan Hees's profile photo
Edward Kmett's profile photo
Jaap Taal's profile photo
Guido Bouman's profile photo
Martijn van Steenbergen's profile photo
목암'김경철's profile photo
Stephen J Scaysbrook's profile photo
Elaine Oliver's profile photo
Really pretty version of the theme of Monkey Island!
Gergő Érdi's profile photoMatthias Treydte's profile photoMatthias Görgens's profile photoDavid Virebayre's profile photo
Filmed by +Martin Kool 
Add a comment...

Sjoerd Visscher

Shared publicly  - 
I have now implemented adjoint folds in a more idiomatic style, using the "regular" Category class. Regular in quotes, because it is the new polykinded one, which comes with GHC 7.8.1.

I also finally figured out how to use the kan-extension-based folds. I've added an example of folding and unfolding a prefect tree.

The most surprising thing was that I got a properly working product category, with functors in and out of it! I would like to credit this properly, but I can't find the blogpost anymore where I saw this way of encoding the product category.

See my original post about adjoint folds for some more explanation:
Adjoint folds, using the categories package - Gist is a simple way to share snippets of text and code with others.
John Lato's profile photoSjoerd Visscher's profile photo
There is some fmapping of newtype wrappers going on, GHC might not be able to compile that all away. But otherwise it should be comparable to the recursion-schemes package. It is all just a reshuffling of parts.
Add a comment...

Sjoerd Visscher

Shared publicly  - 
Sjoerd Visscher's profile photoLazyPianoMan's profile photo
I bought mine to play with free motion projects. If it doesn't work, I still have a cool magnet puzzle :-)
Add a comment...

Sjoerd Visscher

Shared publicly  - 
I've updated my keyboard to play in any kind of equal temperament tuning. I've linked the 19-TET keyboard below, but the 5-TET and 7-TET keyboards are also fun to play! (It is playable on Safari and Chrome on tablet devices.)

I had to change surprisingly little, it was mostly just generalising hard-coded values. The 19-TET keyboard also plays almost exactly like the normal 12-TET keyboard. Only when you play notes that lie far apart vertically can you really tell that it is a very different tuning.
Hexagonal keyboard layout with: All basic chords on one line from the root note, going to the right. Major chords starting on the rows with uppercase notes: major, maj7, 7/9/11/13 etc. Minor chords starting on the rows with lowercase notes; minor, m7, m7/9/11/13 etc. sus2 and sus4 variants above ...
Sjoerd Visscher's profile photorichard collins's profile photo
thanks for clarifying
Add a comment...

Sjoerd Visscher

Shared publicly  - 
So cool! (And please do a chip version for this side of the pond.)
This is pretty much the coolest wallet gadget I've ever seen.
10 comments on original post
Add a comment...

Sjoerd Visscher

Shared publicly  - 
Awesome stuff!
How much science can you fit into 6 seconds? (250 seconds of 6 second videos!)
2 comments on original post
David Waern's profile photo
Add a comment...
  • Q42
    Developer, 2012 - present
  • Locosoft
    Developer, 1997 - 2000
  • Q42
    Developer, 2001 - 2008
  • SDL Xopus
    Developer, 2009 - 2012
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Den Haag, Netherlands
Heeten, Netherlands
Contact Information
Sjoerd Visscher's +1's are the things they like, agree with, or want to recommend.

Set up… add up… and BLOW UP!From the creators of Quento comes Numolition, an explosively addicting puzzle game starring Anique and her crew


★ Quento's full version is FREE today with AppGratis★Quento is a little puzzle game that makes simple math fun for all ages! It gives you th

Meet Silk, the Semantic Web for the rest of us

New Dutch cloud service Silk, which is launching today, wants to fulfill the promise of the Semantic Web and make your documents, web pages

Triangle party — The Endeavour

Doodling in Math Class: Triangle Party. Tagged as: Math. { 1 comment… read it below or add one }. 1. Harlan 12.10.11 at 08:23. That's a

The plumber programmer — The Endeavour

The plumber programmer. by John on November 15, 2011. I called someone a plumber programmer the other day. The person I was speaking to didn

Homoiconicity isn't the point - The Little Calculist

I’ve never really understood what “homoiconic” is supposed to mean. People often say something like “the syntax uses one of …


Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what

Search trees without sorting

Binary search trees are used quite often for storing or finding values. Like a binary search, they essentially work by sorting the items. In

Dutch HUG

The Dutch Haskell User Group is a friendly group of Haskell and FP programmers in the Netherlands.

“Oei oei oei oei oei”, dat scheelde inderdaad helemaal niks

Even inhalen in Rusland. Waarom ook niet? Misschien omdat de wegen buiten de stad levensgevaarlijk zijn. Want daar wordt niet altijd gestroo

The RGB Game

The colors of the tv are all messed up and it's up to you to fix the picture.


Create interactive HTML prototypes using HTML, CSS and Javascript.

Actuele Vertrektijden - Chrome Web Store

Bekijk de actuele vertrektijden per station.

Roasting coffee beans — The Endeavour

My daughter asked me yesterday whether I'd thought about roasting my own coffee beans. I told her no, that I thought that for whatever reaso

Yes, People Are Lining Up for the Galaxy Nexus

Hey Verizon, when was the last time people lined up outside your store waiting for the release of a phone? Was it the Motorola Droid RAZR? T

A Neighborhood of Infinity: The Mother of all Monads

The Mother of all Monads. Suppose someone stole all the monads but one, which monad would you want it to be? If you're a Haskell program

Food: Very GoodDecor: Very GoodService: Excellent
Public - 2 years ago
reviewed 2 years ago
Public - 3 years ago
reviewed 3 years ago