RSS

Pinboard Blog

« earlier

Pinboard is Eleven

Pinboard is eleven years old today! Every year when I don't forget I try to publish the same stats:

2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020
bookmarks 3.5 27 53 76 97 122 148 173 224 244
tags (M) 11 76 135 178 212 251 291 291 405 426
active users (K) 2.8 16 23 23 24 25 24 29 21 19
archives (T) 0.2 3.0 5.9 8.8 14.2 20.9 24.8 31.8 57 82
URLs (M) 2.5 16 32 48 63 82 104 126 173 192
revenue (K) 117 178 181 175 193 160 234 259 253 222 212
funding (M) 0 0 0 0 0 0 0 0 0 0 0
acquisitions 1

This has been an interesting year! When the pandemic came and left us all housebound, I used it as an excuse to do some remedial work I’d been dreading—moving Pinboard onto modern versions of PHP and MySQL. Things had gotten to the point where I couldn’t even run a bug-for-bug identical copy of the site on a modern laptop, and the servers themselves were overdue for system upgrades.

Much of the core code on the site dated back to 2009-2010 and was written by Past Me, a vindictive, inscrutable nemesis who devoted his life to sabotaging Present Me.

Past Me laying his snares in 2009.

Doing this on a live system is like performing kidney transplants on a playing mariachi band. The best case is that no one notices a change in the music; you chloroform the players one at a time and try to keep a steady hand while the band plays on. The worst case scenario is that the music stops and there is no way to unfix what you broke, just an angry mob. It is very scary.

But I got it done! It helped in this process that I was in Japan, since I could do most work at night while my US/European customers slept or wept into their phones or whatever it is people do at night nowadays.

The site is now on a 2020 foundation (specifically, it’s on PHP 7 and a current MySQL), and with everything less brittle I can start making bigger changes. One of those is to make the site look okay on mobile phones, now that I’m finally convinced they aren’t a fad. You can see the beginnings of this reworking on the about page and in other corners of the site.

Another is to finish the new API. The current one was designed to be a drop-in replacement for the old Delicious API and lacks important features, like any way to say “show me stuff that has changed since timestamp X”, or interact with Pinboard features that weren’t present in Delicious.

Another analogy I’d use for this kind of upgrade work is clearing a disused garden. In the process you may unearth remarkable stuff—an old wagon wheel, a Roman urn—hiding among the weeds. But it’s mostly interesting to you, and not to the people who are waiting in line at your vegetable stand.

In my case, I found the skeletons of dead features (remember placemarks?) as well as spectral ghosts of defunct services like Google Reader, Readability, and of course Delicious itself, which now slumbers peacefully while I try to figure out a way to bring it up without dealing with the waves of automated spam still pointed at the site. But I’ll save that for another post.

Now that I have a fresher memory of how the site works, and am not so afraid of touching anything, I look forward to doing some long-delayed feature development.

Meanwhile, thanks to everyone for using the site for another year! Not everyone gets to be around long enough to have to do major upgrades, and I am grateful to be in that position, thanks to all of you.

Previous anniversary posts:

—maciej on July 09, 2020



Pinboard is a bookmarking site and personal archive with an emphasis on speed over socializing.

This is the Pinboard developer blog, where I announce features and share news.




How To Reach Help

Send bug reports to bugs@pinboard.in

Talk to me on Twitter

Post to the discussion group at pinboard-dev

Or find me on IRC: #pinboard at freenode.net