<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>The rants and ravings of a Mac developer
I Love programming, Macs, the iPhone, iPad, Apps &amp; iOS! In my spare time I like Programming in ExtJS, PHP, MySQL / SQLite3 and Apache - in other words a Real Geek’s geek. I’ve tinkered around with programing for iOS in the not so distant past . During the day I work for Motorola Solutions in IT as BSA for our Export Compliance system JPMorgan’s TradeSphere. At night I freelance program on the Mac &amp; Web. I’m also a techie who likes Sci-Fi and Horror. Some of my favorite authors include Stephen King, William Gibson and Frank Herbert as well as his son Brian Herbert and Kevin Anderson.
But my real passion is for Comic Book Collecting. My current freelance project is writing a web based application using ExtJS for collecting comics books. After I get the web application completed, I will be integrating some portion of the web application into a desktop client for the Mac through the use of web services for all data exchange &amp; transaction. Eventually, the web site &amp; Mac client would also include a social networking component as well as an iOS component.
I started collecting comic books as a kid when my grandfather passed away and we found my father’s comic book collection when we were cleaning out my grandfather’s basement. There were a number of early issues in that stash, such as Fantastic Four number one, The Amazing Spider-Man number one, number 22 of the Uncanny X-Men… and others. So needless to say, I was hooked.
After high school I stopped collecting - college, drinking and woman took priority (not necessarily in that order) over visiting the local comic book shop. Now that I have 2 kids of my own, I’ve gotten back into collecting.</description><title>Mac Code Monkey</title><generator>Tumblr (3.0; @gskluzacek)</generator><link>http://tumblr.maccodemonkey.com/</link><item><title>Free SSL Certificates</title><description>&lt;a href="http://www.startssl.com/"&gt;Free SSL Certificates&lt;/a&gt;: &lt;p&gt;need to check this out…&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/16581935388</link><guid>http://tumblr.maccodemonkey.com/post/16581935388</guid><pubDate>Fri, 27 Jan 2012 10:29:04 -0600</pubDate></item><item><title>Secure Authentication without SSL</title><description>&lt;a href="http://pajhome.org.uk/crypt/md5/auth.html"&gt;Secure Authentication without SSL&lt;/a&gt;: &lt;p&gt;Article that talks about how to add some basic security to authenticating when SSL encryption is not available.&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/16581289999</link><guid>http://tumblr.maccodemonkey.com/post/16581289999</guid><pubDate>Fri, 27 Jan 2012 10:12:05 -0600</pubDate></item><item><title>I really hate Virus Barrier’s alerts… the first...</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_lqpfky8bqA1qzn0ogo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;span&gt;I really hate Virus Barrier’s alerts… the first couple of times I got them I thought they were some kind of phishing attack.&lt;/span&gt;&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/9554313554</link><guid>http://tumblr.maccodemonkey.com/post/9554313554</guid><pubDate>Mon, 29 Aug 2011 14:31:46 -0500</pubDate></item><item><title>Pixel Union - skins for Tumblr</title><description>&lt;a href="http://pixelunion.net/"&gt;Pixel Union - skins for Tumblr&lt;/a&gt;</description><link>http://tumblr.maccodemonkey.com/post/9504192959</link><guid>http://tumblr.maccodemonkey.com/post/9504192959</guid><pubDate>Sun, 28 Aug 2011 11:03:22 -0500</pubDate></item><item><title>Talk Dirty to Me, Paul Krugman</title><description>&lt;a href="http://tumblr.davidcairns.org/post/9359368094"&gt;Talk Dirty to Me, Paul Krugman&lt;/a&gt;: &lt;p&gt;&lt;a href="http://tumblr.davidcairns.org/post/9359368094" target="_blank"&gt;drcairns&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;So, Steve Jobs has left his role as Apple’s CEO. Like, for good this time. It’s a shame, but it was inevitable, and it sounds like everything’s running pretty well down in Cupertino anyway.&lt;/p&gt;
&lt;p&gt;For the purposes of this anecdote, it’s worth noting that I grew up entirely surrounded by Macs. My mom is…&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://tumblr.maccodemonkey.com/post/9504158578</link><guid>http://tumblr.maccodemonkey.com/post/9504158578</guid><pubDate>Sun, 28 Aug 2011 11:02:00 -0500</pubDate></item><item><title>Reading Binary and XML PList files in PHP</title><description>&lt;p&gt;For a generic solution to reading both XML PList files and Binary PList files check out &lt;a title="GIT Hub - Rodney Rehm's CFPropertyList" target="_blank" href="https://github.com/rodneyrehm/CFPropertyList"&gt;Rodney Rehm’s CFPropertyList&lt;/a&gt; a PHP Implementation of Apple’s PList (binary and xml).&lt;/p&gt;
&lt;p&gt;It has a nice object oriented API to read in, traverse, access, modify and save PList files.&lt;/p&gt;
&lt;p&gt;Here’s a quick example that I used to read in the iPhoto binary PList file and get the directory where the iPhoto Library is stored.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;require_once('CFPropertyList/CFPropertyList.php');&lt;br/&gt;$plist = new CFPropertyList(&lt;br/&gt; '/Users/xxxxxxx/Library/Preferences/com.apple.iPhoto.plist', &lt;br/&gt; CFPropertyList::FORMAT_BINARY );&lt;br/&gt;$pa = $plist-&gt;toArray(); &lt;br/&gt; print $pa['RootDirectory'] . "\n"; &lt;/code&gt;&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/9307026788</link><guid>http://tumblr.maccodemonkey.com/post/9307026788</guid><pubDate>Tue, 23 Aug 2011 16:55:00 -0500</pubDate></item><item><title>rentzsch.tumblr.com: HOWTO Use UTF-8 Throughout Your Web Stack</title><description>&lt;a href="http://rentzsch.tumblr.com/post/9133498042"&gt;rentzsch.tumblr.com: HOWTO Use UTF-8 Throughout Your Web Stack&lt;/a&gt;: &lt;p&gt;Wow I’m not the only one that has suffered though the pain of UTF-8… though I wonder why he suggests using —default-character-set=utf8 but fails to mention the use of SET NAMES ‘utf8’; after connecting to MySQL to set all of the related character set / collation for the connection, the client, etc. Doing so when using languages such as PHP is very helpful. See my previous post &lt;a href="http://tumblr.maccodemonkey.com/post/541114240/character-sets-and-mysql-command-line-client" target="_blank"&gt;on MySQL and character set here&lt;/a&gt;. I also wonder why he chooses to use the collation of utf8_unicode_ci instead of the faster utf8_general_ci?&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/9283189263</link><guid>http://tumblr.maccodemonkey.com/post/9283189263</guid><pubDate>Tue, 23 Aug 2011 00:22:26 -0500</pubDate><category>utf-8</category></item><item><title>More on iPhotoMain.db / iPhotoAux.db - Date Formats!</title><description>&lt;p&gt;There seems to be a dearth of information about the iPhoto SQLite3 database, so I am going to continue to post what I find out in hopes that it will help others. This is a follow up to my other posts about iPhotoMain.db SQLite3 database, which can be found here:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a title="iPhotoMain.db Table Relationships" target="_blank" href="http://tumblr.maccodemonkey.com/post/9080035545/iphotomain-db-table-relationships"&gt;iPhotoMain.db Table Relationships&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Finding the original photo file in the iPhoto Library database" target="_blank" href="http://tumblr.maccodemonkey.com/post/243137142/finding-the-original-photo-file-in-the-iphoto-library"&gt;Finding the original photo file in the iPhoto Library database&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="Date Format used in iPhotoMain.db database" target="_blank" href="http://tumblr.maccodemonkey.com/post/232335632/date-format-used-in-iphotomain-db-database"&gt;Date Format used in iPhotoMain.db database&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Additionally, I found the information I needed from the following blog posts on &lt;a title="Punctuated Noise" target="_blank" href="http://punctuatednoise.wordpress.com"&gt;Punctuated Noise&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a title="iPhoto Images" target="_blank" href="http://punctuatednoise.wordpress.com/2011/05/22/iphoto-images/"&gt;iPhoto Images&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="iPhoto SQL Database" target="_blank" href="http://punctuatednoise.wordpress.com/2011/06/08/hacking-mac-iphoto-sql-database/"&gt;iPhoto SQL Database&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="iPhoto Structure  Revisit" target="_blank" href="http://punctuatednoise.wordpress.com/2011/06/19/hacking-mac-iphoto-structure-revisit/"&gt;iPhoto Structure – Revisit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The key info I needed that came from the last post above was:&lt;/p&gt;
&lt;pre&gt;update SqGlobals set modificationDate = (julianday(\"now\") - 
julianday(\"2001-01-01 00:00:00\")) * 60 * 60 * 24;
&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;From this I was able to determine how to ‘decode’ Apple’s floating point date representation. Not only does Apple use a floating point number to represent a date (it actually form a &lt;a title="Wikipedia - Julian Day" target="_blank" href="http://en.wikipedia.org/wiki/Julian_day"&gt;julian day&lt;/a&gt;), but they apparently have 2 different forms of it. UGH!&lt;/p&gt;
&lt;p&gt;For those of you who just want the info, check this query out which selects records from the iPhotoAux.db table, SqPhotoInfoOther.&lt;/p&gt;
&lt;pre&gt;select primaryKey, 
archiveDate as rawArchiveDate, 
datetime((archiveDate / (60 * 60 * 24)) + julianday('2001-01-01 00:00:00')) 
   as archiveDate, 
originalPhotoDate as rawOriginalPhotoDate,
datetime(originalPhotoDate + julianday('2000-01-01 00:00:00')) 
   as originalPhotoDate, 
originalFilename
from SqPhotoInfoOther;
&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;If you execute the following SQL with values from the SqPhotoInfoOther.archiveDate and SqPhotoInfoOther.orgiginalPhotoDate - you’ll get some nonsensical values back.&lt;/p&gt;
&lt;pre&gt;select datetime(335385037.045712) as archiveDate, datetime(4239.64527777778) 
as originalDate;
&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;archiveDate:&lt;/strong&gt; 913540-11228636-08 13:05:49&lt;br/&gt;&lt;strong&gt;originalDate:&lt;/strong&gt; -4701-07-04 03:29:12&lt;/p&gt;
&lt;p&gt;From my &lt;a title="Date Format used in iPhotoMain.db database" target="_blank" href="http://tumblr.maccodemonkey.com/post/232335632/date-format-used-in-iphotomain-db-database"&gt;Date Format used in iPhotoMain.db database&lt;/a&gt; post above, you can see I figured out the 2nd date (original photo date) a while ago… you just need to add the julian day for Jan 1st 2000 @ midnight&lt;span&gt; &lt;/span&gt;to the floating point value, then use the &lt;a title="SQLite3 Manual - datetime() function" target="_blank" href="http://www.sqlite.org/lang_datefunc.html"&gt;datetime()&lt;/a&gt; function on the new value.&lt;/p&gt;
&lt;p&gt;I tried this for the first date (archiveDate) and no luck: 920252-11228637-15 01:05:49. No improvement. When I came across the update statement above from the &lt;a title="Punctuated Noise" target="_blank" href="http://punctuatednoise.wordpress.com"&gt;Punctuated Noise&lt;/a&gt; blog. I knew I had it!&lt;/p&gt;
&lt;p&gt;For some strange reason you had to divide the floating point value by the number of seconds in a day (60 * 60 * 24 or 86,400) before adding the julian day for Jan 1st 2000 @ midnight. BINGO!&lt;/p&gt;
&lt;p&gt;Now if some one could tell me why Apple, in there infinite wisdom, did it this way. I suspect its something to do with how the Core Data API handles time stamps fields versus date time fields as I have noticed that I have to adjust the archive date by -5 hrs (current offset from GMT for the Central Time Zone), that is the number is GMT, and I don’t have to do that for the original photo date…&lt;/p&gt;
&lt;p&gt;Or may be it has something to do with iPhoto knows to store the archive date in GMT and then converts it to the local time zone when displaying it. But for the original photo date, the EXIF data from camera doesn’t have the time zone, so it stores it as it comes in.&lt;/p&gt;
&lt;p&gt;Pity, it would be nice if both dates were stored in GMT for consistency.&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/9111450792</link><guid>http://tumblr.maccodemonkey.com/post/9111450792</guid><pubDate>Thu, 18 Aug 2011 23:47:17 -0500</pubDate></item><item><title>iPhotoMain.db Table Relationships</title><description>&lt;p&gt;I’m currently working on a program that reads iPhoto’s (version 8.1.2 [424] aka iPhoto ‘09]) main SQLite3 database, iPhotoMain.db. As part of the development I needed to determine the relationships between the various tables. The following SQL query shows the relationships between the following tables:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;SqEvent (list of events in your iPhoto Library)&lt;/li&gt;
&lt;li&gt;SqPhotoInfo (the photos in your iPhoto library)&lt;/li&gt;
&lt;li&gt;SqFileImage (one or more images used to represent each photo)&lt;/li&gt;
&lt;li&gt;SqFileInfo (additional information about each SqFileImage record)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;To retrieve all information about the photos belonging to a specific event (name) in your iPhoto library execute the follow SQL SELECT statment:&lt;/p&gt;

&lt;pre&gt;select * 
from SqEvent     as e 
join SqPhotoInfo as pi  on pi.event       = e.primaryKey
join SqFileImage as fim on fim.photoKey   = pi.primaryKey
join SqFileInfo  as fi  on fim.sqFileInfo = fi.primaryKey
where e.name = 'At the Beach Hargar Park Coloma, MI 2011';
&lt;br/&gt;&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;The above query will return multiple records (usually 3, but it can be more than 3 records if the photo was modified) for each photo.&lt;/p&gt;
&lt;p&gt;One record for the Original (unmodified) photo, another record for the Thumbnail and a third record that only references the file name (not sure of the function of this record yet).&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/9080035545</link><guid>http://tumblr.maccodemonkey.com/post/9080035545</guid><pubDate>Thu, 18 Aug 2011 09:27:36 -0500</pubDate></item><item><title>how to determine the default character set of a MySQl database</title><description>&lt;p&gt;&lt;span&gt;To show the default character set of a MySQL database use this query:&lt;br/&gt;&lt;br/&gt;SHOW CREATE DATABASE `DB_NAME`&lt;/span&gt;&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/8532136812</link><guid>http://tumblr.maccodemonkey.com/post/8532136812</guid><pubDate>Fri, 05 Aug 2011 18:07:39 -0500</pubDate></item><item><title>NTTP and Character Sets - News.GigaNews.com</title><description>&lt;p&gt;I’m working on writing a news reading client in PHP and I use GigaNews as my nntp provider. My first hurdle came quite early in trying to get a list of the news groups. &lt;/p&gt;
&lt;p&gt;One of the news groups groups returned was:&lt;/p&gt;
&lt;p&gt;milf.dream.movie.german.komodie&lt;/p&gt;
&lt;p&gt;and another was:&lt;/p&gt;
&lt;p&gt;milf.dream.movie.german.komödie&lt;/p&gt;
&lt;p&gt;only different by one character… problem was that I was using MySQL with a UTF-8 with the utf8_general_ci collating sequence… which it happens to turn out that ‘o’ and ‘ö’ are equal :-(&lt;/p&gt;
&lt;p&gt;Not sure what I’m going to do about that, but during my analysis and trouble shooting I did find out that the character set being used by Giganews is Latin-1 (aka ISO-8859-1).&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/8525961944</link><guid>http://tumblr.maccodemonkey.com/post/8525961944</guid><pubDate>Fri, 05 Aug 2011 15:27:33 -0500</pubDate></item><item><title>Text Editors for OS X</title><description>&lt;a href="http://chipotle.tumblr.com/post/5207966724/text-editor-intervention"&gt;Text Editors for OS X&lt;/a&gt;: &lt;p&gt;All the major Mac text editors are mentioned in this blog article.&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/5234363504</link><guid>http://tumblr.maccodemonkey.com/post/5234363504</guid><pubDate>Thu, 05 May 2011 22:01:46 -0500</pubDate></item><item><title>Packetfence</title><description>&lt;a href="http://packetfence.com/"&gt;Packetfence&lt;/a&gt;: &lt;p&gt;Make sure to go back and check this out…&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/3602007306</link><guid>http://tumblr.maccodemonkey.com/post/3602007306</guid><pubDate>Wed, 02 Mar 2011 10:48:14 -0600</pubDate></item><item><title>Best looking stand for iPad yet</title><description>&lt;a href="http://www.raindesigninc.com/irest.html"&gt;Best looking stand for iPad yet&lt;/a&gt;</description><link>http://tumblr.maccodemonkey.com/post/3031284360</link><guid>http://tumblr.maccodemonkey.com/post/3031284360</guid><pubDate>Mon, 31 Jan 2011 09:19:19 -0600</pubDate></item><item><title>Cake - A PHP Framework</title><description>&lt;a href="http://cakephp.org/"&gt;Cake - A PHP Framework&lt;/a&gt;</description><link>http://tumblr.maccodemonkey.com/post/3030553165</link><guid>http://tumblr.maccodemonkey.com/post/3030553165</guid><pubDate>Mon, 31 Jan 2011 07:53:00 -0600</pubDate></item><item><title>More on Hierarchical Data</title><description>&lt;a href="http://explainextended.com/2009/09/29/adjacency-list-vs-nested-sets-mysql/"&gt;More on Hierarchical Data&lt;/a&gt;: &lt;p&gt;Here’s another article on how to manage hierarchical data using Nested Sets and the Modified Preorder Tree Traversal.&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/2842407765</link><guid>http://tumblr.maccodemonkey.com/post/2842407765</guid><pubDate>Thu, 20 Jan 2011 09:00:46 -0600</pubDate></item><item><title>Just 3 little words...</title><description>&lt;p&gt;Who would have thought that 3 little words could do so much, solve so many problems, accomplish so much…&lt;/p&gt;
&lt;p&gt;No. Not “I love you,” silly. “set scan off;”&lt;/p&gt;
&lt;p&gt;Good write up &lt;a title="How to insert a string which contains a &amp;" target="_blank" href="http://stackoverflow.com/questions/152837/how-to-insert-a-string-which-contains-an"&gt;here&lt;/a&gt; about set scan off, which is now considered obsolete, set define off and set escape on.&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/2842385599</link><guid>http://tumblr.maccodemonkey.com/post/2842385599</guid><pubDate>Thu, 20 Jan 2011 08:58:00 -0600</pubDate></item><item><title>Hierarchical Data in MySQL</title><description>&lt;a href="http://dev.mysql.com/tech-resources/articles/hierarchical-data.html"&gt;Hierarchical Data in MySQL&lt;/a&gt;: &lt;p&gt;very good article on how to manage hierarchical data in MySQL, even includes example queries.&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/2814451078</link><guid>http://tumblr.maccodemonkey.com/post/2814451078</guid><pubDate>Tue, 18 Jan 2011 13:37:22 -0600</pubDate></item><item><title>Opening a folder in Mac OS GUI from Terminal</title><description>&lt;p&gt;In terminal navigate to the directory you want to open&lt;/p&gt;
&lt;p&gt;Then just type&lt;/p&gt;
&lt;p&gt;&lt;code&gt;open .&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This is useful for opening hidden folders that start with a dot (.) character.&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/1616701659</link><guid>http://tumblr.maccodemonkey.com/post/1616701659</guid><pubDate>Fri, 19 Nov 2010 00:42:40 -0600</pubDate></item><item><title>Oooooos and Ahhhhs</title><description>&lt;p&gt;Ooooooo…&lt;/p&gt;
&lt;p&gt;&lt;a title="Ooooooo on Twitpic" href="http://twitpic.com/35r04q" target="_blank"&gt;&lt;img src="http://twitpic.com/show/thumb/35r04q.png" width="150" height="150" alt="Ooooooo on Twitpic"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ahhhhhh…&lt;/p&gt;
&lt;p&gt;&lt;a title="Ahhhhhhh.... on Twitpic" href="http://twitpic.com/35r0mu" target="_blank"&gt;&lt;img src="http://twitpic.com/show/thumb/35r0mu.png" width="150" height="150" alt="Ahhhhhhh.... on Twitpic"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;FTW!&lt;/p&gt;
&lt;p&gt;&lt;a title="FTW!! on Twitpic" href="http://twitpic.com/35r0uz" target="_blank"&gt;&lt;img src="http://twitpic.com/show/thumb/35r0uz.png" width="150" height="150" alt="FTW!! on Twitpic"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Some one just upgraded their iMac to 8GB of RAM!!!&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/1539765369</link><guid>http://tumblr.maccodemonkey.com/post/1539765369</guid><pubDate>Wed, 10 Nov 2010 21:58:41 -0600</pubDate></item></channel></rss>

