Rebel vs. PowerShot

Wondering lately where I want to land on the spectrum between convenience and quality when comparing an ultra-portable Canon PowerShot SD1100 IS (Digital Elph) and a Canon Rebel EOS. The PowerShot is the size of a deck of cards and weighs ounces. The Rebel (a DSLr camera) easily weighs five times more and has much more bulk – it’s not going to fit neatly into a belt holster that doesn’t get in your way while hiking or biking. I’m not eager to have several pounds dangling from my neck, but at the same time, wouldn’t mind stepping up my game quality-wise in the photo department. Neither camera at my disposal is the latest model in its respective line, but I assumed the Rebel would take far better pictures by default.

Decided to do an informal test to find out. Running both cameras in fully automatic mode (since that’s what I use most often, and since it’s the only way to compare fairly), I took a handful of shots in the back yard, attempting to make the images as close to identical as possible. Tried to get a range of shots in full sun, mixed shadow, and shadow. Included one flash shot and one macro shot as well.

One significant difference not accounted for here is the fact that the Rebel has a full range of manual options that the PowerShot doesn’t have. On the other hand, the PowerShot has a quite good movie mode, which the Rebel lacks completely.

The results weren’t nearly as clear cut as I expected. Comparing the images below, I have a fairly clear preference for one of the columns, but prefer a few images from the opposite column. Can you tell which column is which camera? Which column do you prefer overall?

a1 b1
a2 b2
a3 b3
a4 b4
a5 b5
a6 b6
a7 b7
a9 b9

Building a Bucketlist Site with Django

Half a year ago, I got this crazy idea to build a site where people could log and record all the things they wanted to accomplish before they died. But more than just simple list-making, I wanted to make it easy for people to tell stories about their goals, and to add images and video. I wanted to let people “follow” other people’s lists, to receive email when their friends accomplished their goals, to start discussions about getting the most out of life. I wanted it to be a place where people could get inspired by the goals of others, and to easily make copies of those goals in their own bucketlists.

The result is bucketlist.org.

I had a pre-existing love affair with the Python-based Django framework – there was never a question of what platform to build on. But no matter how good the platform, the devil’s in the details.
Continue reading “Building a Bucketlist Site with Django”

Dear Libertarians

For as long as I can remember, every discussion I’ve had with Libertarians ultimately goes to the same syllogism:

All government is a form of force.
All force is bad.
Therefore all government is bad.

I question line #2 of the syllogism, and therefore don’t agree with the conclusion. Why is all force bad? Don’t we need force to protect us? Most Libertarians agree that we need a police force to protect us from bad guys. But we need protection from more bad elements than just bank robbers.

Corporations, driven by the desire to maximize profit (i.e. greed) place financial goals above all others. Left unchecked, they deforest continents, exploit workers, spew pollution, sell unsafe goods, and exploit loopholes in financial markets. Lax regulation led to the recent banking crisis and the BP oil spill. Child labor in unregulated 3rd world countries continues to be a problem supported by our free market, which is far more concerned with cheap jeans and TVs than it is with the welfare of humans. A world where corporations are unregulated is not a world we would want to live in.

It would be awesome if there were an alternative to regulation (force). It would be wonderful if the free market could control the power of greed, but history shows us that it does not… mostly because consumers either don’t know or don’t care what they’re supporting with their purchases. Corporations will work tirelessly to cut corners and find loopholes in order to maximize profit at the expense of the interests of the general population. Not even Adam Smith believed that an unregulated free market could work to the good of the general population.

We need to know that our citizenry are educated; therefore we need force to make sure all of our children go to a satifactory school. I would prefer if force weren’t needed for that, but it is. To keep our population healthy (and from going broke), we need protection from the exploitative practices of health insurers, so we must apply force in two vectors – we must limit what insurers can charge, and we must force our population to have insurance of some kind. Insurance companies have shown us what they’re made of — their interests are personal greed, not public health.

Without government “force” we would have no National Parks — all of that land would have been razed and populated long ago. Without government “force,” we end up with broken systems spiralling out of control at the expense of the people. What alternative to government “force” do we have?

Of course government force can be a dangerous thing too – it needs checks and balances to keep it fair and safe. But our representative form of government, and our system of checks and balances, ensures that ultimately WE ARE the government. We can remove entities that don’t serve us well. We get to look inside of government and control its workings. We don’t have that option with the free market, since we can’t look inside of corporations, can’t take control of them. Healthy governance is open and transparent in ways that the “free” market will never be.

Libertarians, help me out here. When you trot out the old “But government is a form of force” argument, what exactly do you mean to convey? That it’s OK to let greed drive our world rather than common sense? Do you really believe that free market forces can protect us and our land/water from the power amassed by corporations? Do you really want to live in a world with no government?

Maker Faire 2010

Miles and I have a perfect track record so far at Maker Faire, attending every year since its inception in 2006. This year was our fifth time out, though things took a slightly different turn this year. Rather than it being father/son bonding time, my extended family trekked out to the Bay Area for the experience. Corralling nine people meant a bit less explore time, so we saw less of the cornucopia, but what we did see was amazing, as always.

Highlights: RC-controlled neon land sharks chasing kids around in the dark. Tall bikes everywhere, including one with “roots” that could be deployed at the flip of a lever so the rider could stop at lights without toppling over. A grand steampunk calliope with half-sawn tubas, whoopee whistles, cuckoos, and tubes galore honking out a rendition of Yellow Submarine. The giant Tesla coils throwing lightning, but this time generating music at the same time (remember Hot Buttered’s “Popcorn?” Imagine that set to explosive blue electricity). A guy playing drums, didgeridoo and bass at the same time. 6-ft.-wide plates of paella. The life-size mousetrap, as always.

Unfortunately, the Wooden Bikes crowd was nowhere to be seen, and the Cyclecide crew’s human-powered carnival rides were shut down for a break when we arrived. Still, Maker Faire remains “Burning Man for families” – an explosion of creativity and weld joints like no other. Won’t be the last.

Took fewer photos than usual, but managed to put together an OK Flickr set.

Pollywogs Redux

Back in 2006, I posted a digitized copy of a 1950s Coast Guard hazing ritual on YouTube. In July 2008, the video suddenly became unavailable, with no reason given as to why, other than “Violation of terms of service.” I suspected that the video may have angered veterans who felt that the video depicted the military in an unflattering light, and that they had flagged it enough times that it was removed. I blogged about the takedown here.

A few nights ago, the Knight Digital Media Center (where I work) had as a guest speaker YouTube’s news manager Olivia Ma, who delivered a fantastic presentation. I took the opportunity to talk to her and try to find out what was behind the takedown, and whether anything could be done. In my view, the video was far more tame than tons of stuff on YouTube, and had historical/documentary relevance as well.

Ma took up the issue with her team and today let me know that the video had been reinstated, noting that it “qualified as EDSA (educational, documentary, scientific or artistic).”

While the version I put up on Vimeo in the interim is of higher quality, I’m happy to again be able to embed the YouTube version:

I’m now trying to learn what I can about any official appeals process for this kind of situation.

Allowing Secure User Input with Django

Building a site that needs to accept formatted user input? There’s no way you’re going to let random users input any old HTML – you’d open the door to all kinds of cross-site-scripting attacks and other nastiness. Nor can you just filter out the tags you consider dangerous – that road is fraught with peril. The only solution is to white-list a small subset of tags and unceremoniously drop the rest.

There are two layers to the problem – how to support formatted text on the front-end, and how to process submitted text on the back-end.

For the front-end, some developers are drawn to the Markdown syntax – a supposedly user-friendly wiki-like syntax that can be re-rendered as safe HTML. But while Markdown may look friendly to developers, it doesn’t to normal users – trust me on this. Even for tech-savvy users, Markdown requires that you place syntax instructions on your site (inelegant). A better solution is to use a rich text editor for the web, like TinyMCE or WYMEditor.

Ever notice that you often see rich text editors in content management systems run by trusted users, but seldom on public-facing web pages? That’s because it’s tricky to do securely, and without giving users enough rope to hang themselves formatting-wise.

With a bit of configuration though, you can deploy public-facing rich textareas securely, allowing only the input of tags you specify. But you can’t stop there – all the user has to do is disable Javascript in the browser to bypass your rich text editor. You must process submitted text on the back-end with the same set of rules in your view logic.

Continue reading “Allowing Secure User Input with Django”

Pinecone Catapult

Miles and I spent Saturday building a PVC catapult for hucking pinecones. Started with inspiration from some YouTube videos, but scaled up and modified designs we found there. Capable of throwing a pine cone around 45 feet with a single bungie! Spent around $25 on parts. Build time ~3 hours. Considering adding a second bungie for extra distance, but don’t want to make it too strenuous for the kiddos.

Working with PVC is great – cuts like butter with a chopsaw, pieces slip together like Legos. In fact, the fit is snug enough that we’re not gluing it for now -nice to be able to disassemble for storage.

Finding the perfect throwing cup was the biggest challenge. Considered sewer pipe caps, chopped down paint mixing buckets, and tupperware, before deciding on this perfectly sized electrical junction box. Unfortunately it had a metal plate riveted to the back, which I had to hacksaw off – easily the hardest part of the build.

See full-size images and captions at the Flickr set (captions not available in embedded slideshow).

Shot some video too, but did that dumb thing where you record when you think you’re paused and pause when you think you’re recording. D’oh! Will try the video again later.

Catapult is available for rental for birthday parties and bar mitzvahs.

Goodbye Chronicle

I just did something really hard – called up the San Francisco Chronicle and canceled the home subscription we’ve kept up for more than a decade. Working at a journalism school, I know exactly how difficult things are for newspapers these days, and how there is no online revenue model available that comes anywhere close to replacing revenue from print subscriptions. I really don’t want to pull my financial support, but the print edition just doesn’t make sense for our lifestyles anymore.

I’ve got nothing against the Chronicle. I’ve enjoyed it for years. Granted, we generally  only read it in 5 or 10-minute skim-bursts in the mornings, but I always enjoyed those sessions. Unfortunately, over the past few months, we’ve stopped the skimming too. The sad truth is that right now I’m looking across the room at a week-old stack of unopened newspapers on the kitchen table. We haven’t even taken the rubber bands off a week’s worth of great journalism.

So where has that time gone? Mornings are a whirlwind of pushups and smoothie making, combing the boy’s hair and packing his lunch, going over the day’s plans. And then there’s the morning email – it usually takes close to 45 minutes just to parse all the stuff that comes in overnight, every night. And part of that email time includes skimming the daily email digests I get from NY Times, Washington Post, and the LA Times. It’s not like I’m not getting any news. Just that my lifestyle lends itself so much better to reading news on the computer than in print.

On top of that, my Twitter addiction has made a huge impact. Stories that really matter to me (rather than to the editors at the Chron) find their way to the top through the organic bubbling process of the hive mind. As much as I hate to admit it, I find that spending 15 minutes on Twitter is way more efficient at surfacing great daily reading than any single newspaper (and yes, some of the articles I end up reading will be at the web sites of mainstream media houses). In effect, I’m subscribed to the whole internet – why do I need a dead tree version of just one city’s paper?

Finally, there’s the iPad. We don’t own one – just borrowed one from work a few times. But from those tests, it became quickly apparent that the iPad could give us the best of both worlds. If we could replace all of our print subscriptions (oh yeah – there are five magazine subscriptions in this house that are also going mostly unread) with iPad versions, we’d feel less guilty about the wasted paper, have less clutter, and (ideally) pay much less. We’ll see how that plan pans out.

Chronicle – I love you and support you in principle. But it no longer makes sense to support you with our wallets. So long and thanks for the good times.

Pogo for Grownups

The world has changed since you last rode a pogo stick. Namely, you’ve gotten bigger – too big to ride the spring-loaded stick that carried you down the block between ages six and twelve. But good news: A few companies are making pogos re-engineered for grown-ups, so you can recapture that marvelous elastic bounce. Even cooler – they’re not spring-loaded anymore – modern pogos are brought to you pneumatically, with cylinders of air that can be pressurized to work with your body weight and desired boing-ratio.

Lucked out at a picnic in the woods today when one of the guys pulled a Vurtego from the bed of his pickup and went for it. After watching for a while, I asked for a turn. Here are the results of my first three attempts. It had been 35 years since I’d been on one, but like riding a bicycle, the muscle memory never really leaves your body.

Grownup Pogo from Scot Hacker on Vimeo.

The rennaissance of grown-up pogo sticks has given rise to the tiny cottage sport of extreme pogo, championed by Pogo Fred.

Blocked from App Store? (What’s In a Name)

Yesterday I got to spend some quality time with an Apple iPad, and quickly discovered that I could not log into the App Store to purchase software. The message I got was “This Apple ID has been disabled for security reasons.” But I purchase content through iTunes regularly on the desktop and iPhone. What’s up? Googling for the error message revealed mixed results. Apple’s official knowledge base article suggested that this can happen if you enter the wrong password too many times. I knew that wasn’t the problem. Then I discovered an article at Redmond Pie talking about how people were being banned from access to the App Store when their usernames included certain “suspicious-looking” strings. My real last name is “Hacker” and I’ve occasionally had trouble signing up for certain services because of it (my poor Dad can’t get a Facebook account to this day – they just ignore his signup attempts). I put two and two together and concluded that I was being banned on account of my name.

Spent half an hour on the phone with Apple, getting bounced from rep to rep, trying to get to the bottom of it. They re-set my account, but the problem remained. Then I realized what I had been doing wrong. Back in the day, Apple services took single-word usernames, like “shacker,” which I had long used to log into the Apple developer center, support forums, and other services. At a certain point, Apple converted these IDs to require a login in the form of an email address. I had simply forgotten this and was trying to use my old Apple ID rather than the email address associated with my Apple account.

The fact that Apple threw this confusing dialog, combined with the blog post I had found referencing hackers being locked out, combined with my previous experience being unable to sign up for certain services, all conspired to make me think I was being blocked because of my name. The truth turned out to be much simpler.

All is well.