Bye Bye 2005

31
Dec
0

The countdown continues! 2005 will officially end in 7h 3m 30s. I hope you all have a fun and safe new years! Pictures and commentary will be posted within 7 days. Update:I’ve posted the photos from that long, and oh so fun night. I hope you all had a great new years! Bye bye 2005, hello 2006. Bring it.

We started off the night with a nice White Elephant gift exchange.

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="0" end="14"]

Troy was enjoying this gift a little much. Hmm… shots!

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="15" end="17"]

Alcohol source… and more people shots!

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="18" end="25"]

It’s time for a little Catch Phrase!

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="26" end="30"]

Yvonne! Other Kitchen pics.

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="31" end="40"]

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="41" end="52"]

Five! Four! Three! Two! One! Happy New Year!!! Ah… wouldn’t be any kind of celebration without the mix of Troy and Fireworks

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="53" end="59"]

Time to have some shots… Oo… camera shake. Apparently photo quality drops as the alcohol level increases…

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="60" end="77"]

Troy wants to chug that thing! Katie comes to the rescue! :-p

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="78" end="79"]

Mad Libs and Randoms.

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="80" end="91"]

Photos from the table while Playing Apples to Apples with Chantelle, Alicia, Katie, Jill, Christen, Ty, Josh, and John. Troy is making drunk phone calls. Alicia is making fun of Troy.

[ngthGalleryDigital year="2005" dir="20051231_new_years_2005" start="92" end="103"]

Henry’s and Ringlers

30
Dec
0

Went out to Henry’s and Ringlers for drinks and a pre-New Years Celebration!

Went to McMinimins on 23rd and Q?? st for dinner with Jill, Katie, Lindsey and her friend.

Headed on over to Henry’s – EVERYONE was there. Jill, Katie, Troy, Josh, Christen, Steve, Chantelle, Chantelle’s friend, John, Ana, Sarah Sanchez – haven’t seen her in years, Lam, Mary, Evonne

Headed over to Ringler’s with everyone – Kirby was there, so was Ryan Carpenter.

Got home at 3am. Fun night.

Go Ducks!

29
Dec
0

I went over to Marvin’s to watch the Ducks bowl game with Troy and Katie this evening.

Filed under: Friends, TV

Extract EXIF data from your pictures!

29
Dec
0

Almost every digital camera these days inserts EXIF data information into their JPEG (.jpg) files. EXIF stands for Exchangeable Image File Format and is a standard for storing interchange information in image files. The format is part of the DCF standard created by JEITA for interoperability reasons between imaging devices.

So why use it? For the purposes of the photo galleries on this site, the EXIF data will allow you to see a handful of camera settings used to generate the photo, the date/time the photo was taken, and any copyrights on them (they are all ©1997- by myself, so, no suprise there really, though there may be some exceptions that I’m not aware of :-p ).

To view the EXIF data, hover your mouse over the thumbnail and a Tooltip box should appear with the information. This page is a good example of it in action. EXIF data should be available for all my photos using my gallery function taken after July 2004. Exceptions to this are of the panoramic shots, as that was manually stitched together from multiple photos.

You can use this code as long as it follows the following Creative Commons License terms.

Code:

//*************************************************************
//Function: getExifTags()
//Author : (c) Thomas Ng, Dec 28th, 2005.
//Purpose : Returns all of the EXIF tags from the photo pointed
// to by $filePath. EXIF fields contains information
// about the digital photo such as shutter speed,
// date/time taken, focal length, and exposure time.
// Available EXIF fields may vary from camera to
// camera. A list of fields available on the Nikon D70
// are as follows:
/*
ColorSpace CompressedBitsPerPixel Contrast
CustomRendered DateTimeDigitized DateTimeOriginal
DigitalZoomRatio ExifVersion ExposureBiasValue
ExposureMode ExposureProgram ExposureTime
FileSource FiredFlashpixVersion FNumber
FocalLength FocalLengthIn35mmFilm FunctionGainControl
LightSource MaxApertureValue MeteringMode
Mode PixelXDimension PixelYDimension
RedEyeMode Return Saturation
SceneCaptureType SceneType SensingMethod
Sharpness SubjectDistanceRange WhiteBalance
*/
//Usage :
// $testTags = getExifTags(”/full/path/to/file.jpg”);
// print “FNumber: ” . $testTags['FNumber'] . “<br />”;
// print “FocalLength: ” . $testTags['FocalLength'];

//*************************************************************
function getExifTags($file)
{
$fdataBinary = file_get_contents($file);
#Find all lines with: ^\s*<exif:.*>.*</exif:.*>
$pattern =
‘/^\s*\<exif\:[a-zA-Z35]+\>.*\<\/exif\:[a-zA-Z35]+\>/m’;
$sts = preg_match_all($pattern,$fdataBinary,$exifTags);

if ($sts != FALSE)
{
foreach ( $exifTags[0] as $element )
{
##KEY: find <exif:.*> tagName, remove <exif: and >
$pattern = ‘/(^\s*)?\<exif\:[a-zA-Z35]+\>/m’;
#$key_this contains ^\s*<exif:.*>
$sts = preg_match($pattern, $element, $key_this);
if ($sts == FALSE)
print “cannot preg_match for key”;
#strip line of the ^\s*<exif: beginning and > chars
$pattern = ‘/(^\s*\<exif\:)?(\>)?/m’;
$key = preg_replace($pattern, ”, $key_this);

##VALUE: find <exif:.*>.*</exif:.*>, strip off tags
$pattern =
‘/^\s*\<exif\:[a-zA-Z35]+\>.*\<\/exif\:[a-zA-Z35]+\>/m’;
#$value_this now contains ^\s<exif.*>.*</exif:.*>
$sts = preg_match($pattern, $element, $value_this);
if ($sts == FALSE)
print “cannot preg_match for value”;
#strip <exif:.*> and </exif:.*> tags
$pattern = ‘/(^\s*)?\<(\/)?exif\:[a-zA-Z35]+\>/m’;
#$value contains the value only from the same key
$value = preg_replace($pattern, ”, $value_this);

##add to a new key<–>value associative array
$EXIFDATA[$key[0]] = $value[0];
}
}
#Return entire key<–>value array, even if NULL
return $EXIFDATA;
}

Blazer Game and Fireside Coffee

28
Dec
0

We (Troy, Katie, myself, Marvin, John, Josh, Jill, Andrew) watched the Blazers vs 76′ers game at the Rose Garden this evening. That was fun. Afterwards, we went down to the Fireside Coffee lodge for some Scrabble. Erika showed up too. Good times