It's time for me to admit I'm not really posting here on Blogger anymore. I'll still keep this blog online (as long as Blogger continues to exist) as a record of nearly 2 decades of writing, but I don't expect to be adding to it. If you want to see what I'm up to now, come find me on Medium or Substack !
It’s that time again, where we answer the question, “What the heck have I been up to this last year?” Step into my wayback machine all the way to last January and we’ll find out… 2020 was a challenging year for all of us, and part of that in my case was that at some point I just gave up on keeping up with OpenSeadragon stuff, and the issues and pull requests piled up. In January 2021 I finally…
I've been working with apprentices since the early 90s, but I haven't really written about it here; I suppose it's about time! Every year or so my apprentice graduates and I hire a new one. I recently went through that hiring process, and I'm always a little overwhelmed by all of the interested (and interesting!) people. It's distressing that I can only hire one, especially since I seem to be one…
Wow, I guess I haven't been posting here much lately (though I've been posting regular updates on Patreon ). Maybe it's time to change that… How about I start with a little 2017 wrap-up? Let's see… I'd say it's been a pretty good year for me, both personally and professionally (politics notwithstanding), but I don't have anything really dramatic to report… It's mostly been a continuation of…
We've just released version 2.3.0 of OpenSeadragon ! For those unfamiliar, OpenSeadragon is a web-based zooming library, used all over the world to share high-resolution imagery (classic paintings, ancient manuscripts, medical imaging, etc.). I wrote the original version back in 2007 (holy cow, that's 10 years ago!) when I worked on the Seadragon team at Microsoft. We later open sourced it, and…
In today's world we have many large controversial topics that we keep going around and around on, instead of just getting to the bottom of. I'm sure there are many reasons for this, many of which don't have anything to do with rational discourse, but let's pretend for a moment that a little rational discourse can at least make a small improvement. Part of the problem with these big topics is that…
The upcoming Captain America movie has reminded me of a thing I wrote up about Winter Soldier back when it came out but never got around to posting, about the way Planetary Era themes popped up in that seemingly unlikely place. If you're not familiar with the Planetary Era concept, I highly recommend watching my father's talk: What Time Is It? The basic idea is that various global trends are…
Hipsters and their irony, amirite? What even is the deal? In the 20th century, the world got way smaller than ever before, but now in the 21st we've taken it to a whole new level with almost instant access from anyone to anyone on the planet. 100 years ago you could easily go months or even years without your worldview being challenged. Not so much anymore, even with the filter bubble effect. This…
Today we cross a major threshold! OpenSeadragon turns 2.0 and brings with it full support for zooming multiple high-resolution images in the same scene. Imagine all the pages of an ancient manuscript laid out on your screen and being able to seamlessly zoom in to the smallest detail on any page. Back in 2008 when OpenSeadragon (then called Seadragon Ajax) was first released — when IE 7 was…
I teach JavaScript, and one of the things I've found most confuses people is the self = this pattern (some people even go to great lengths to avoid learning about it). I haven't been able to find a good post on it, so here's my attempt. If you're not interested in JavaScript, feel free to skip this and read some of my other fine posts . Okay, I'll start with a concise definition and then explain…
With education , as with many things, I find it's useful to start from basic principles. There are so many options and philosophies, it's easy to get overwhelmed. A good mission statement can cut through all that, or at least give you a place to start. So, here's ours: The goal is for Caitlyn to become more awesome . Our strategy for becoming more awesome is to learn new skills and improve…
I've been a fan of Rdio for years now (which, come to think of it, is probably why I work for them ). More interesting, though, than the question, “What music service do you use?” is, “How do you actually use it?” Here then, is my answer. For starters, it should be noted that while in general I love Rdio’s UI, there are various things I’ve found to be missing that I’ve gone ahead and built for…
I played a lot of videogames as a kid (mostly on the Apple II, and then later on the Mac). At the time, of course, I just thought of it as fun, but now I realize I learned a lot doing so. Problem solving and resilience/determination are high on the list. You can't get anywhere in this world without being willing to try and fail and try again. Video games are great way to instill that instinct. Of…
There is this continuing debate that rages in tech circles: If you're going to make an app, should it be web or native? The true answer, of course, is that it depends. I'm a web guy, though, so when I enter the fray, it's generally on that side. The common perception of web tech is that it's easier, but produces inferior results. You can slap something together in a fraction of the time, but it's…
This last summer, Caitlyn made the transition from regular school to homeschool, and so far I'm delighted! I homeschooled as a kid; I'm excited to be diving back in now with Caitlyn. I haven't written anything about it here ( unlike Christina ) so it's time to catch up: We always intended to homeschool her, but it was important to us that she got a chance to experience mainstream school for as…
I'm footloose and freelance , so theoretically I could be flitting from project to project. The reality is I seem to find big, meaty projects and focus on them for over a year each. For the last year and a half, I've been devoted to Rdio , creating their new JavaScript API, their new developer site, and several other things I can't speak about yet. That all came to a sudden halt in November, when…
Man, it's been almost a year since I last posted here! I blame Twitter , luring me away with its brevity and wit and whatnot. Well, perhaps it's time for a little catch-up. Let's see, what have I been up to this last year? I made Rdio 's new developer site and JavaScript API (still in beta), as well as a bunch of hacks & examples . Then I got laid off. Meanwhile, my Rdio collection is almost up to…
We need more JavaScript developers! There are too many jobs, and not enough qualified devs. The thing is, JavaScript isn't even that hard, and it's actually quite beautiful, but you've got to take the time to get to know it. There's a huge pool of talented developers in the .NET world, hitherto sheltered from JavaScript, but now starting to become curious. For a long time, Microsoft urged devs to…
Fathom is simple enough, but it's actually got a lot of my design philosophy packed into it. I'd like to go into detail on each of these points eventually, but for now I think it's worth just getting the broad brush strokes out here. So, in no particular order: Rather than focusing on the recommendation algorithm, I'm focusing on the presentation/exploration interface. Recommendation algorithms…
Time for today’s math lesson! How are the geometric concepts of intersection and union applicable to your daily life? To discuss this fine topic, we'll use our old friend, the Venn diagram: That bit where the two circles overlap is called the intersection : The entirety of both circles together is called the union : Pretty basic stuff. Remarkable how few people seem to get how it applies to them,…
As anyone who lives with kids well knows, they're a potent force of destruction. It's tempting to hide all the breakables and fill their lives with indestructible plastic objects. Of course this means you can't have nice things. Worse yet, your kid never learns how to treat things nicely. Our strategy has been to fill Caitlyn's life with nice things, breakable and not, which are nonetheless…
I'm a pretty self-reliant guy, but somewhere along the line I have come to realize that too much self-reliance is a bad thing; it isolates you from other people. The advantage of "relying on the kindness of strangers" is you get to know people, and you build a web of social capital and debt. Being able to act independently is a powerful thing, but it doesn't beat being enmeshed in a strong social…
The candy bar was delicious, but now I've got this wrapper to deal with. Easiest thing would be to chuck it here on the street. I'm optimizing for my own convenience. But what about the whole system? What impact does my action have? Well, just this one candy wrapper doesn't make much difference. But what if everyone dumped their trash wherever they happened to be standing? We'd be wading through…
I'm an incurable proofreader. I grew up in a household that published a magazine , and now it's second nature to spot typos, improper homonyms, punctuation issues, etc., wherever they may be. Even when I find a typo on someone's website, sometimes I'm compelled to let them know. I figure it's the virtual equivalent of telling someone they've got broccoli in their teeth… a little embarrassing…
I've finally gotten around to adding Rdio streaming music support to Fathom ! This means everyone now hears at least samples of all the tracks, which already makes for decent music discovery. If you have an Rdio account, however, you'll hear full-length tracks, which is even better! You don't need to log in to Rdio on Fathom; as long as you're logged in on the Rdio site, it just works (thanks to…