<?xml version="1.0" encoding="UTF-8"?>
<rss 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</description><title>Mac Code Monkey</title><generator>Tumblr (3.0; @gskluzacek)</generator><link>http://tumblr.maccodemonkey.com/</link><item><title>Ah, Language, isn't it wonderful. If you're not a programmer</title><description>&lt;p&gt;Well I’ve spent a good part of the day reading the &lt;a title="MySQL Character Set Support" target="_blank" href="http://dev.mysql.com/doc/refman/5.1/en/charset.html"&gt;MySQL manual pages for Language support&lt;/a&gt;… and I’ve got to say, life would be so much simpler if everyone only wrote, spoke and used English… I know that’s not a very global attitude, but really, when you get into things like multilingual support (i.e., Unicode) in applications, programming languages, databases, web browsers its a wonder that anything works at all!&lt;/p&gt;
&lt;p&gt;This basically comes into play, when importing, exporting or displaying data across different systems that use different character sets. For example reading data from database (stored in latin1 for example) and them manipulating it in PHP (defaults to cp1251, I believe) and then displaying in in a user’s web browser (using utf8). Not only do you have to worry is the character that I want available in the character set that my programming language uses, but now you have to make sure you translate it properly when reading and outputting it. Not only are there all these different character sets, but no two applications/databases/programing languages refer to them by the same name! Talk about impossible tasks!&lt;/p&gt;
&lt;p&gt;Not only are there different characters in different languages, but there are differences how the characters in each language are sorted - this is referred to as a collating sequence. For instance in Spanish an ‘ñ’ (n-tilde) sorts between the ‘n’ and ‘0’ characters. And if using traditional spanish, there’s a ‘ch’ character that sorts in between ‘c’ and ‘d’, like wise with the character ‘ll’, its in between ‘l’ and ‘m’.  And it gets worse for other languages such as Swedish/Finish.&lt;/p&gt;
&lt;p&gt;This issue also affects the comparison of characters and doing database searches… like is ‘Ano’ equal to ‘Año’ (2nd character is a n-tilde)? Other examples (not sure these will show up correctly in this post) are ‘ß’ is ‘technically’ equal to ‘ss’, but some programming languages/database may say its equal to ‘s’ (I don’t even know what ‘ß’ is for). And look at these other ones, ‘Ä’ = ‘A’, ‘Ö’ = ‘O’ and ‘Ü’ = ‘U’!&lt;/p&gt;
&lt;p&gt;Woe is me… and here UTF was supposed to be the holy grail. Remember, “There is no silver bullet.”&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/407397022</link><guid>http://tumblr.maccodemonkey.com/post/407397022</guid><pubDate>Tue, 23 Feb 2010 13:18:20 -0600</pubDate></item><item><title>Did I mention my new blog?</title><description>&lt;a href="http://comicbookupcdb.com/blog/"&gt;Did I mention my new blog?&lt;/a&gt;: &lt;p&gt;I’ve posted some new articles lately, check out:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a title="Do you call it a Title or a Series" target="_blank" href="http://comicbookupcdb.com/blog/do-you-call-it-a-title-or-a-series"&gt;Do you call it a Title or a Series&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="What Comic Book Cataloging software do you use?" target="_blank" href="http://comicbookupcdb.com/blog/what-comic-book-cataloging-software-do-you-use"&gt;What Comic Book Cataloging software do you use?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="How do you handle annuals from a cataloging perspective?" target="_blank" href="http://comicbookupcdb.com/blog/how-do-you-handle-annuals-from-a-cataloging-perspective"&gt;How do you handle annuals from a cataloging perspective?&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description><link>http://tumblr.maccodemonkey.com/post/372556075</link><guid>http://tumblr.maccodemonkey.com/post/372556075</guid><pubDate>Fri, 05 Feb 2010 11:06:07 -0600</pubDate></item><item><title>Comic Book UPC Database</title><description>&lt;a href="http://comicbookupcdb.com/"&gt;Comic Book UPC Database&lt;/a&gt;: &lt;p&gt;As some of you may know or may not know I’m a IT guy that works for Motorola and I like to code for fun in my free time. And some of you may also know (or not) I’m a comic book nut… so my latest hobby is thinking up cool things I could code up to help comic book junkies like myself.&lt;/p&gt;
&lt;p&gt;Well the other day I had an idea for a new web site that hopefully will help collectors get their comics into their favorite comic book collection software program easier. I’ve used a few programs in the past and they have all had their pros and cons. One of the ones that I’ve really like is &lt;a title="ComicBase" target="_blank" href="http://www.comicbase.com/mycb/default.aspx"&gt;ComicBase&lt;/a&gt; it comes with this huge database with every comic imaginable with tons of information already loaded into it. The only issues I have with it are: 1) its PC only [remember I’m a Mac guy] and 2) the interface was a little rough and not exactly intuitive 3) you have to pay each year to continue getting data updates.&lt;/p&gt;
&lt;p&gt;The program I currently use on my Mac is called &lt;b&gt;&lt;a title="IntelliScanner Comic Edition " target="_blank" href="http://www.intelliscanner.com/products/comics/index.html"&gt;IntelliScanner Comic Edition&lt;/a&gt; (its cross platform for you PC guys out there). This program comes with a scanner. Cool I thought I can just scan the Comic Book’s UPC code and add it into the program… NOT!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;So here’s my idea… create a web site that where users contribute the UPC and comic book data. This way the data will be &lt;b&gt;free&lt;/b&gt; to use. The web site will then provide a web service [fancy words for a internet database that other programs can look up information in] to look up a UPC code and return all the title and issue information that is needed by the comic book collection software. This way all you have to do is scan in the UPC Codes the comic book collection software calls the web service passing the UPC codes, for each UPC code the web service sends back all the info on the comic book, and the comic book collection software adds the issue right to your collection with out you doing any data entry. Fast, easy, accurate and consistent. &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;I’ve just started working on the web site, which is called the &lt;a title="Comic Book UPC Database" target="_blank" href="http://comicbookupcdb.com/"&gt;Comic Book UPC Database&lt;/a&gt;. I hope to have a beta up soon. I also have set up the &lt;a title="comicbookUPCdb.com Blog" target="_blank" href="http://comicbookupcdb.com/blog/"&gt;Comic Book UPC Database blog&lt;/a&gt; to get news and updates on my progress. &lt;/b&gt;&lt;/p&gt;
&lt;p&gt;So my gripes about the IntelliScanner Comic Edition program… the major thing that I don’t like about it is that adding a comic book is a hit or miss thing. The way its supposed to work is you add the title and then you add the issues. The program uses the &lt;a title="Grand Comic Book Database" target="_blank" href="http://www.comics.org/"&gt;Grand Comic Book Database&lt;/a&gt; (GCD) and the &lt;a title="Comic Book db" target="_blank" href="http://www.comicbookdb.com"&gt;Comic Book DB&lt;/a&gt; (CBDB) to ‘automate’ the data entry process. Problem is the data between these 2 internet database is often different and inconsistent between one another. Some times you get the issue’s cover scan, sometimes you don’t. Often one database will have information for the comic but not cover scan, or vice versa. Also the program sometimes gets confused and doesn’t pick up the right information. The program does not handle what is called “variant” comic books very well (actually not at all). Variant are comics books that have multiple covers of the same issue. Often done by a different artist or is a sketch of the original cover. Additionally some times there are multiple printing of the same issue, the program doesn’t handle that either. Lastly, there’s no way to group your titles or issues logically, say if you had some comics that you wanted to sell you could put them into a special folder. Navigation is also sometimes a pain.&lt;/p&gt;
&lt;p&gt;The only place where the Bar Code scanner comes into play is AFTER you’ve entered all your comic books. Then you can assign them asset tag number (just a unique number for each comic book). You can use the UPC code as long as you don’t have 2 of the same comic book, otherwise you have to come up with your own unique asset id. When you want to search your collection in the software, you can just scan in the asset tag and the software will pull it up. A little disappointing if you ask me. They have other programs that let you scan in the bar code from a book or a movie or even a video game and it will look up the bar code and return all the information about that item. The only problem for comic books is that no one has created the data base - until now…&lt;/p&gt;
&lt;p&gt;That’s what the Comic Book UPC database will provide. Additionally, if many of the comic book collection software programs start using the same database to get their title and issue information from, it will lead to standardization on Title names and issues numbers. Currently every program out there has their own naming schema for issues, so what called the Fantastic Four (1961) in one program may be called the Fantastic Four Vol. 1 in another. Also when publishers change the numbering schema for a title, like Marvel did with some of its titles, some programs and database split the titles differently. For example after issue 416 of the Fantastic Four, the title restarted at issue number 1 (essentially volume 2) in 1996. There were 13 issues and then they restarted at issue number 1 again in 1998 (aka volume 3). This time the issues went all the way up to number 70. But after the 70th issue of volume 3, in 2003 the issue number jumped to 500. This is the issue number that the Fantastic Four would have been if they had not restarted the numbering from 1 twice (i.e., 416 + 13 + 70 = 499, the next issue is 500). So The GCD considers this to be the Fantastic Four, the 2003 series [essentially volume 4], but the CBDB considers this to be a continuation of the 1961 series [i.e., the continuation of volume 1].&lt;/p&gt;
&lt;p&gt;Inconstancies like the above can cause much confusion among comic book collectors, especially newbies. Additionally the GCD, CBDB and ComicBase all handle variants differently (some programs ignore variants altogether). I actually favor how ComicBase does it, they track an issue number, the printing (first, second, third, etc.) and then assign an alphabetic character to track the variant. Having one database that supplies all the information on Titles and issues would solve both of the above issues.&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/362903970</link><guid>http://tumblr.maccodemonkey.com/post/362903970</guid><pubDate>Sun, 31 Jan 2010 02:40:04 -0600</pubDate></item><item><title>Finding the original photo file in the iPhoto Library database</title><description>&lt;p&gt;Using iPhoto’s SQLite3 database you can get the relative path to the original photo in the iPhoto library for any image in the sqPhotoInfo table. To do so you must join from the sqPhotoInfo table to the sqFileImage table and finally to the sqFileInfo table.&lt;/p&gt;
&lt;pre&gt;select pi.primaryKey, pi.archiveFilename, fl.relativepath
from SqPhotoInfo as pi
join SqFileImage as fi on pi.primaryKey = fi.photoKey
join sqFileInfo  as fl on fl.primaryKey = fi.sqFileInfo
where fl.relativePath like 'Originals%'
 
&lt;/pre&gt;</description><link>http://tumblr.maccodemonkey.com/post/243137142</link><guid>http://tumblr.maccodemonkey.com/post/243137142</guid><pubDate>Fri, 13 Nov 2009 20:06:00 -0600</pubDate></item><item><title>Date Format used in iPhotoMain.db database</title><description>&lt;p&gt;Not sure how many of you know that iPhoto uses SQLite3 as its database engine. You can access the database files by right clicking on &lt;b&gt;~/username/Pictures/iPhoto Library&lt;/b&gt; and selecting Show Package Contents. Once you have displayed the package, the SQLite3 datbase files are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;iPhotoMain.db&lt;/li&gt;
&lt;li&gt;iPhotoAux.db&lt;/li&gt;
&lt;li&gt;face.db&lt;/li&gt;
&lt;li&gt;face_blob.db&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The main database file, as you might have guessed, is the iPhotoMain.db file. In Terminal, you can open the file by changing to the directory of iPhoto Library package, e.g.:&lt;/p&gt;
&lt;pre&gt;cd /Users/gskluzacek/Pictures/iPhoto\ Library
 &lt;/pre&gt;
&lt;p&gt;Then execute the following&lt;/p&gt;
&lt;pre&gt;sqlite3 iPhotoMain.db
 &lt;/pre&gt;
&lt;p&gt;One of the initial problems that I faced was when reading date fields, like the photoDate field on the sqPhotoInfo table. After some experimenting, I determined that the date is stored as a FLOAT which represents the number of days since midnight Jan 1st 2000. To convert this to a Julian Day value, you need to add the Julian Day of 1/1/2000 - then you can use the datetime() function to convert this to a more human readable format. For example:&lt;/p&gt;
&lt;pre&gt;select primaryKey, 
datetime(photoDate +  julianday('2000-01-01 00:00:00')) as photoDate,
archiveFilename from SqPhotoInfo order by archiveFilename desc;
 &lt;/pre&gt;
&lt;p&gt;Hopes this saves someone a couple of hours, I googled all over and couldn’t find this info.&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/232335632</link><guid>http://tumblr.maccodemonkey.com/post/232335632</guid><pubDate>Tue, 03 Nov 2009 18:39:00 -0600</pubDate></item><item><title>IMG_0949: 

iMac Unboxing</title><description>&lt;img src="http://24.media.tumblr.com/ylSgHHZS6ovn1bemJSN3E35Zo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IMG_0949:&lt;/b&gt; 

&lt;p&gt;iMac Unboxing&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/126099038</link><guid>http://tumblr.maccodemonkey.com/post/126099038</guid><pubDate>Thu, 18 Jun 2009 18:18:42 -0500</pubDate></item><item><title>IMG_0950: 

iMac Unboxing</title><description>&lt;img src="http://26.media.tumblr.com/ylSgHHZS6ovn198acjV9vOmOo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IMG_0950:&lt;/b&gt; 

&lt;p&gt;iMac Unboxing&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/126099013</link><guid>http://tumblr.maccodemonkey.com/post/126099013</guid><pubDate>Thu, 18 Jun 2009 18:18:39 -0500</pubDate></item><item><title>IMG_0951: 

iMac Unboxing</title><description>&lt;img src="http://26.media.tumblr.com/ylSgHHZS6ovn16kg79jYL86Io1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IMG_0951:&lt;/b&gt; 

&lt;p&gt;iMac Unboxing&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/126098976</link><guid>http://tumblr.maccodemonkey.com/post/126098976</guid><pubDate>Thu, 18 Jun 2009 18:18:36 -0500</pubDate></item><item><title>IMG_0952: 

iMac Unboxing</title><description>&lt;img src="http://26.media.tumblr.com/ylSgHHZS6ovn14jg41Up1upgo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IMG_0952:&lt;/b&gt; 

&lt;p&gt;iMac Unboxing&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/126098947</link><guid>http://tumblr.maccodemonkey.com/post/126098947</guid><pubDate>Thu, 18 Jun 2009 18:18:33 -0500</pubDate></item><item><title>IMG_0953: 

iMac Unboxing</title><description>&lt;img src="http://28.media.tumblr.com/ylSgHHZS6ovn1229FaQFDFm2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IMG_0953:&lt;/b&gt; 

&lt;p&gt;iMac Unboxing&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/126098918</link><guid>http://tumblr.maccodemonkey.com/post/126098918</guid><pubDate>Thu, 18 Jun 2009 18:18:30 -0500</pubDate></item><item><title>IMG_0954: 

iMac Unboxing</title><description>&lt;img src="http://28.media.tumblr.com/ylSgHHZS6ovn0zlqCAAtD7Y2o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IMG_0954:&lt;/b&gt; 

&lt;p&gt;iMac Unboxing&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/126098870</link><guid>http://tumblr.maccodemonkey.com/post/126098870</guid><pubDate>Thu, 18 Jun 2009 18:18:27 -0500</pubDate></item><item><title>IMG_0955: 

iMac Unboxing</title><description>&lt;img src="http://29.media.tumblr.com/ylSgHHZS6ovn0x51Z9NwGBLko1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IMG_0955:&lt;/b&gt; 

&lt;p&gt;iMac Unboxing&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/126098845</link><guid>http://tumblr.maccodemonkey.com/post/126098845</guid><pubDate>Thu, 18 Jun 2009 18:18:24 -0500</pubDate></item><item><title>IMG_0956: 

iMac Unboxing</title><description>&lt;img src="http://28.media.tumblr.com/ylSgHHZS6ovn0uv6f23WQBROo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IMG_0956:&lt;/b&gt; 

&lt;p&gt;iMac Unboxing&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/126098805</link><guid>http://tumblr.maccodemonkey.com/post/126098805</guid><pubDate>Thu, 18 Jun 2009 18:18:21 -0500</pubDate></item><item><title>IMG_0957: 

iMac Unboxing</title><description>&lt;img src="http://29.media.tumblr.com/ylSgHHZS6ovn0rq51VgjvAsho1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;b&gt;IMG_0957:&lt;/b&gt; 

&lt;p&gt;iMac Unboxing&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/126098752</link><guid>http://tumblr.maccodemonkey.com/post/126098752</guid><pubDate>Thu, 18 Jun 2009 18:18:18 -0500</pubDate></item><item><title>My desk: Regards, Greg Skluzacek</title><description>&lt;img src="http://25.media.tumblr.com/ylSgHHZS6olmlighBwMiTJZDo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;b&gt;My desk:&lt;/b&gt; Regards, Greg Skluzacek&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/122007181</link><guid>http://tumblr.maccodemonkey.com/post/122007181</guid><pubDate>Thu, 11 Jun 2009 18:08:43 -0500</pubDate></item><item><title>photo.jpg: more wires!</title><description>&lt;img src="http://24.media.tumblr.com/ylSgHHZS6lfllj4bBFMWqW76o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;b&gt;photo.jpg:&lt;/b&gt; more wires!&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/89255043</link><guid>http://tumblr.maccodemonkey.com/post/89255043</guid><pubDate>Mon, 23 Mar 2009 22:55:00 -0500</pubDate></item><item><title>photo.jpg: The cord management system consist of peg board and...</title><description>&lt;img src="http://25.media.tumblr.com/ylSgHHZS6lfllh9lpYm17BRSo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;b&gt;photo.jpg:&lt;/b&gt; The cord management system consist of peg board and lot of little nylon zip tie! Seen in photo D-Link 5 port gigibit switch, AddLogic digital KVM&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/89255027</link><guid>http://tumblr.maccodemonkey.com/post/89255027</guid><pubDate>Mon, 23 Mar 2009 22:54:57 -0500</pubDate></item><item><title>photo.jpg: Right side of desk - seen in photo 17 inch PowerBook...</title><description>&lt;img src="http://25.media.tumblr.com/ylSgHHZS6lfllflko2FvxrUYo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;b&gt;photo.jpg:&lt;/b&gt; Right side of desk - seen in photo 17 inch PowerBook G4, Dell Precision M65&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/89255016</link><guid>http://tumblr.maccodemonkey.com/post/89255016</guid><pubDate>Mon, 23 Mar 2009 22:54:55 -0500</pubDate></item><item><title>photo.jpg: left side of desk - seen in photo: Apple 23 inch...</title><description>&lt;img src="http://26.media.tumblr.com/ylSgHHZS6lflldyzm585rFF4o1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;b&gt;photo.jpg:&lt;/b&gt; left side of desk - seen in photo: Apple 23 inch Cinema Display!&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/89255008</link><guid>http://tumblr.maccodemonkey.com/post/89255008</guid><pubDate>Mon, 23 Mar 2009 22:54:53 -0500</pubDate></item><item><title>photo.jpg: As seen in photo: PowerMac G4 (dual mirrored drives...</title><description>&lt;img src="http://26.media.tumblr.com/ylSgHHZS6lfllbjtZujMG7LKo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;b&gt;photo.jpg:&lt;/b&gt; As seen in photo: PowerMac G4 (dual mirrored drives doors) - Dual 1 GHz and some Dell P.O.S. And DAMN! I’m hating that let closest to the 2 drawer filing cabinet!!!!&lt;/p&gt;</description><link>http://tumblr.maccodemonkey.com/post/89254995</link><guid>http://tumblr.maccodemonkey.com/post/89254995</guid><pubDate>Mon, 23 Mar 2009 22:54:51 -0500</pubDate></item></channel></rss>
