Use what you’ve got
I have never really taken much advantage of the cellphone camera, even though I’ve always felt like I needed a cell phone with a camera. But that’s changed this year. Continue Reading »
A White Whale web log
{ Monthly Archives }
I have never really taken much advantage of the cellphone camera, even though I’ve always felt like I needed a cell phone with a camera. But that’s changed this year. Continue Reading »
My favorite part of programming has to do with maintaining and using code over the long term. In this sense, reusable APIs and frameworks are central to my work process. Adding a new feature to a project generally does not involve coding something wildly unique or reinventing the wheel. While the various ways in which you interact with web applications vary greatly on the surface, under the hood there should be a level of consistency, in which code is reused, flexible, fast, and straightforward. If you do a lot of form processing, for example, you might maintain a set of commonly used input validation functions. If you’re working with a solid application layer, whether for security, templating, or database functionality, etc., it will evolve over time and become something incredibly powerful, accounting for important trends in the industry which can easily be applied to past projects, as well as accounting for the various server environments in which it needs to run.
Continue Reading »
Despite the fact that the weather is totally beautiful and mild nearly year-round, one of the bay area’s greatest gravitational forces for me was the power-to-the-people factor. This area is known for its progressiveness, but few outside of its borders really understand the totality of this characteristic. People of all ages have come to realize that it is really us that is in power—and are in the position to utilize that to our advantage—and that without us/our support/our co-operation the corporations are nothing.
Continue Reading »
Let me begin this post with a few words about my great friend Mark O’Brien. Mark and I have been friends since early 2001, when we were both living in Providence; since then, Mark has moved to North Carolina, I’ve moved to California, and I don’t get to see him nearly as much as I would like. The projects White Whale has undertaken for Duke University have given me an excuse to visit him occasionally over the last few years, but it’s just not enough. Fortunately, he’ll be the best man at my wedding in September, so we’ll have some quality time then. And we both run Web companies now (his is called Newfangled, and has a better Web site than mine), so we talk shop from time to time.
Mark and I played in a band together in Providence (that’s how we met). He plays bass, and he really is one of the best bass players I’ve ever known. A lot of dudes who play the bass are really just guitar players who dabble on the bass, usually as a way to get into other people’s bands; Mark really lives and breathes the bass. He’s just awesome.
Not long after moving to Oakland, I joined a band myself, as a bass player. (I’m a guitarist, but I dabble on the bass, usually as a way to get into other people’s bands.) In order to pass as a real bass player, I figured I needed some respectable equipment, so I called Mark for advice. And I have thought a lot since then about what he told me.
Continue Reading »
At White Whale I maintain several libraries of code which involve performing tasks over FTP. PHP has an FTP extension that works pretty well for FTP-related code. The major flaw with it is that it only supports FTP and FTP+SSL. As we start working more and more with SFTP servers, many of these libraries needed to add SFTP support.
There is an SSH2 module that requires a little more effort to set up on your web server, but enables support for SFTP servers. The question is then, how can I integrate this extension and its features into an existing FTP codebase in an efficient manner? Furthermore, the SSH2 module’s syntax is not as straightforward for basic FTP tasks as the actual FTP extension is.
The answer is really pretty simple. Continue Reading »
I spoke briefly about our particular CSS formatting structure in my last post. But here’s something else that’s been on my mind a lot.
At White Whale, we’re of course always thinking about code efficiency: less queries, less code, fewer requests, et cetera. And much of this on the design side is rote best practices (semantics, accessibility, compatibility). But I still find myself sweating more nitty-gritty details, so I was fascinated to see jpsykes’ analysis of this one. The question boils down to, “How specific should I get with CSS selectors?” Continue Reading »
I don’t know much about IPv6, but this post on the official Google blog has a pretty great “update” postscript. And this post is pretty interesting too.
See, Tonya? Blogging is really not that hard.
“What does Donald look like?”
And I always answer the same way:
“Like the love child of Pau Gasol and Sasha Vujacic.”
It’s a repeat occasion that I come across the view being expressed that with the invention of calculus, some of Zeno’s famous paradoxes, specifically having to do with the traversal of an infinite series of points, were solved. This claim actually serves to underscore a critical disconnect between mathematicians and metaphysicians. Firstly, to be fair, I will confess that when I was young, Zeno was something of an intellectual hero to me. He remained unchallenged until I actually took the time to learn about his master, Parmenides. However, all sentimental fondness aside, the issue is a basic one: calculus is designed to perform specific empirical tasks, not to investigate the problem of void. Continue Reading »