Pat Hawks

Page 2


Leaving Blogger

It has finally come to this.

After more than eight years, I have decided to dump Blogger and migrate PatHawks.com somewhere else.

In some ways, this has been a long time coming. I haven’t considered Blogger to be the best blogging platform for many years, but there was one reason that I stuck it out.

Blogger was owned by Google, and Google is stable.

With the announcement this month that Google will be killing Google Reader (in just a few months !!), I can no longer trust Google to keep any services running over the long term.1

I liked the feeling that, even if I go broke or loose interest or die, Google will keep my blog running just the way it is, forever. Blogger is (was?) fairly unique in this aspect.

  • To use WordPress.org, of course, one needs to pay monthly fees for storage space.
  • To use WordPress.com, one needs to pay yearly fees to remove ads and point a domain name to...

Continue reading →


HTML Does Not Need Retina Images

Smart people are spending a massive amount of time trying to solve a problem that doesn’t exist.

Trying to retrofit HTML to allow for things like quadruple-resolution images for HiDPI monitors, and lower quality images for slower connections (ie. mobile).

Adam7_passes.gif
Why not just upload quadruple-resolution Adam7 interlaced PNGs and, if the browser does not support HiDPI, the browser can simply stop downloading the image after the fifth pass.

On mobile, or any other connection where bandwidth is more of a concern than quality, it could stop after an even earlier pass.

Either way, making most efficient use of bandwidth must be the job of the user agent more then the content itself.

There must be a better solution than adding new (redundant) tags to HTML.

Continue reading →


Random Bug

I seem to have stumbled accross a very strange bug.

When I was in middle school, I very much enjoyed writing “screen savers” for my computer. I had an old (even at the time) DOS box in my room, and anything I could do to make it more Mac like was generally a positive. I once even when as far as writing a little program that would play the intro to Aerosmith’s Sweet Emotion each time the computer booted up. That little program and accompanying audio data took up a substantial chunk of my computer’s 20Mb hard drive.

But we’re getting off track.

So one such “screen saver” that I wrote in ASIC (Almost BASIC), would paint the screen with overlapping colored boxes. I need to put “screen saver” in quotes because the program never cleared the screen and never painted a black or grey pixel, so I doubt very much that it would do anything to prevent burn in.

Anyway, I recently found the code to...

Continue reading →


Don’t you forget about me

Hi there!

We’re just dropping you a quick email to say that we see you have not been using ▄▄▄▄▄ recently
and we would like to let you know that our CEO
▄▄▄▄▄▄
will be hosting a “Getting started with
▄▄▄▄▄”
webinar to teach you how to get the most out of our best features.

Any time I get an email like this, I wonder if I’m the only one who hasn’t been using the service lately, or if they’re just sending these messages to everybody in a last ditch effort to get users to give the service a second look.

Obviously, the names have been removed.

View →


iPhone Panorama from a Moving Car

Panorama shot with an iPhone from a moving car

Shooting a panorama on an iPhone from a moving car does not work very well.

Perhaps it would work better if the car were moving very slowly.

More research is called for.

View →


Improvements to Lytro Post-processing

It seems that in version 2.0 of the Lytro Desktop app, the way photos are processed from RAW data has changed.

To my eyes, the color balance is much better. The images are also much smoother, which is often better and sometimes just different.

To compare, see the two images below. The first was produced with an older version of the Lytro Desktop app, the bottom was produced with the (new) version 2.0

Old

New

View →


A Photo is NOT Worth a Thousand Words

Metadata in Photos

tl;dr: We are just scratching the surface of capturing the metadata surrounding a photo.

Photos have never really stood well on their own.

In order to see the whole picture😝, some context is often necessary.

This is certainly not a new idea. Looking through a shoebox of photos from when my father was growing up, each snapshot has the date the picture was developed stamped on the back of the picture, usually in addition to a two sentence blurb from my grandmother with some basic details like who is in the picture and where it was taken.

Today with digital photography, this is easier and more common than ever.

Any digital camera worth its salt will magically embed some contextual data into an unseen portion of the image file. This information usually includes the date/time when the picture was taken (or January 1, 1970 if you never got around to setting the...

Continue reading →


JPEG (old-style) and Flickr

I’m a data geek.

As such, I love digging into things like the EXIF data saved to my photos by my camera.

Flickr has quite a nice (though extraordinarily basic) interface for viewing metadata from uploaded photos.

I love it.

It works quite well.

Except for the way it handles one little tag.

Compression: JPEG (old-style)

I realize that I shouldn’t let this bother me at all, my photos still display properly after all. Unfortunately, I’m just not the type of person who can let this go, so I did a little digging to figure out what made my JPEGs inferior to the presumed “New-Style”.

Flickr is getting this compression information, not from some elaborate algorithm to figure out how the image was encoded, but from a simple flag set in the EXIF metadata.

Compression.

Now, according to the EXIF specification, there is one and only one proper value for this tag.

6

Yes, the number 6.

Oh, sure...

Continue reading →


WordPress quirks

I am getting really aggravated by WordPress’s quirks.

<?php
/*
 * WHAT DOES THIS CODE DO?
 *
 * When using get_adjacent_post(), there is no way to restrict posts to one or two
 * categories, if the categories in question are not identical to the current post.
 * We get arround that by requesting a list of EVERY CATEGORY EXCEPT the one in
 * question, and then pass that as our list of 'excluded' categories.
 *
 * Take a deep breath.
 * Yes, it's stupid, but it works.
 *
 */
$post_categories = get_categories( array(
    'exclude' => array( 1, 6 ), // Page and chapter categories
    'orderby' => 'id',
) );
$post_categories = wp_list_pluck( $post_categories, 'cat_ID' );

$prev_post   = get_previous_post( FALSE, $post_categories );
$next_post   =     get_next_post( FALSE, $post_categories );

/*
 * For reasons that are not obvious to me,
 * while `get_previous_post` and `get_next_post`
...

Continue reading →


Game Boy Camera

Game Boy Camera
Recently, I’ve taken to shooting photos using an old Game Boy camera.

I am primarily using a Game Boy Color to shoot, as the screen provides more contrast than the original “Grey Brick” Game Boy. I think the Game Boy Light would probably be the best dedicated shooting machine, with it’s large B&W lit screen, but I already own too many Game Boys so for the time being I’ll be sticking with my Game Boy Color.

(I had considered using the Game Boy Advance SP, with it’s large bright screen, but since the cartridges are loaded “upside-down” it is neigh impossible to take photos.)

To transfer the photos from the Game Boy Camera onto my Mac, I have been using this excellent tutorial from James Umber. I would have been totally lost had I not found this post, and I am very thankful to James for his work.

It is for my own sake that I am recording my process, step-by-step, here. Much of this...

Continue reading →