<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Office Monkey &#187; photos</title>
	<atom:link href="http://www.office-monkey.com/tag/photos/feed/?http://www.office-monkey.com:80/office-monkey/tag/photos/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.office-monkey.com</link>
	<description>Everybody needs some monkey sometime...</description>
	<lastBuildDate>Sat, 30 Jul 2011 05:14:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Consistency is key</title>
		<link>http://www.office-monkey.com/2008/09/12/consistency-is-key/</link>
		<comments>http://www.office-monkey.com/2008/09/12/consistency-is-key/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 06:52:04 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[gallery2]]></category>
		<category><![CDATA[idle]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://www.office-monkey.com/?p=429</guid>
		<description><![CDATA[On top of the aforementioned SERVER ERROR 500 issue occuring because I didn&#8217;t specify a USER_AGENT that matched the white list, I&#8217;ve been spending the last week trying to track down exactly why I couldn&#8217;t upload a file. I used the stock GalleryRemote program (isn&#8217;t sufficient for automation purposes) to test my server, and it [...]]]></description>
			<content:encoded><![CDATA[<p>On top of the aforementioned SERVER ERROR 500 issue occuring because I didn&#8217;t specify a USER_AGENT that matched the white list, I&#8217;ve been spending the last week trying to track down exactly why I couldn&#8217;t upload a file. I used the stock GalleryRemote program (isn&#8217;t sufficient for automation purposes) to test my server, and it all worked fine.</p>
<p>Well, after over a week (admittedly, I&#8217;m only poking it on the bus every few days, and only while driving into work), I managed to puzzle out enough from the source code of the Gallery Remote to figure out why my code wasn&#8217;t working.</p>
<p>If you&#8217;re executing a command, your message must be:<br />
application/x-www-form-urlencoded</p>
<p>However, if you&#8217;re trying to upload data, your form must be:<br />
multipart/form-data</p>
<p>Apparently, the system DIES if you try to consistently use one or the other. The former is simpler; the latter provides better performance for binary uploads. Mind you, this isn&#8217;t commented ANYWHERE.</p>
<p>I can understand the usage of the former when possible, and the latter when necessary. I can almost understand why no one bothered to mention it (After all, the W3 recommendation for form submission clearly indicates to use <a href="http://www.w3.org/TR/html4/interact/forms.html#form-content-type">both as necessary</a>). However, what I can&#8217;t understand is WHY my usage of the latter in all cases isn&#8217;t mapped the same way within PHP.</p>
<p>I mean, come on! Regardless of the way the data is submitted, the application platform should, for purposes of the dictionary-based lookup that PHP provides via the $form variable (I think that&#8217;s right, I don&#8217;t speak PHP), shouldn&#8217;t both submission mechanisms be abstracted away unless you want the added complexity?</p>
<p>I&#8217;m tired and have a cold, otherwise I would extend this rant into the direction of work. However, you may all count yourselves lucky. For I am going to sacrifice a kitten to my desire to snuggle something cuddly when I don&#8217;t feel well, and then I am going to bed. Nice deal, eh?</p>
<p>EDIT (16 Sept 08): Err. Maybe my bad. Turns out that while, by convention, a multipart/form boundary is specified as &#8220;&#8212;&#8212;&#8212;-&#8221; + RandomData, the actual usage as a boundary requires it to be prefixed with an additional two dashes. In other words, the actual, in use, boundary should be &#8220;&#8212;&#8212;&#8212;&#8212;&#8221; + RandomData. Which, if you try to just look by eye, is far from visible. Unfortunately, if I had paid more attention to the <a href="http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.2">documentation</a>, the example they give isn&#8217;t prefixed by a series of dashes, and it&#8217;s far, far clearer. Still could have been explicitly documented (ABNF, anyone?). However, I&#8217;m not going to lambast the PHP team; they could have been working just fine all along.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.office-monkey.com/2008/09/12/consistency-is-key/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DAM Software: Expression Media 2</title>
		<link>http://www.office-monkey.com/2008/07/12/dam-software-expression-media-2/</link>
		<comments>http://www.office-monkey.com/2008/07/12/dam-software-expression-media-2/#comments</comments>
		<pubDate>Sat, 12 Jul 2008 19:36:27 +0000</pubDate>
		<dc:creator>Andrew</dc:creator>
				<category><![CDATA[Creating]]></category>
		<category><![CDATA[Pictures]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[plug]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.office-monkey.com/?p=252</guid>
		<description><![CDATA[I didn&#8217;t know I needed any DAM software. I really didn&#8217;t. Maybe I should have caught on due to my twenty five THOUSAND mostly unsorted digital pictures. I&#8217;ve briefly monkeyed around, and looked around, to see what people are using to sort their pictures. At the moment I&#8217;m using Microsoft Expression Media 2, formerly IView [...]]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t know I needed any DAM software. I really didn&#8217;t. Maybe I should have caught on due to my twenty five THOUSAND mostly unsorted digital pictures. I&#8217;ve briefly monkeyed around, and looked around, to see what people are using to sort their pictures. At the moment I&#8217;m using Microsoft Expression Media 2, formerly IView Media Pro. Due to Jonathan&#8217;s prompting, I&#8217;ve just taken a quick look at Adobe Lightroom (the beta of version 2), and have decided to stick with EM2.<br />
<span id="more-252"></span><br />
Professionals need Digital Asset Management software. I&#8217;m not a professional. My largest desire is to move some of the&#8230; less desirable images onto DVD+/-Rs to free up hard drive space, as well as to make backups of all my photos so that I can do anything resembling touchups. Windows Live Photo Gallery, as much as I enjoy using it to tag my pictures on import, is pretty useless in this regard.</p>
<p>If you want a good offline story, you&#8217;re pretty much stuck with DAM. There are a variety, and I randomly started with Expression Media &#8212; I got an excellent deal on it, so it made sense. I imported my pictures in version 1, and was frustrated when all the tags I had so painfully created in Windows Photo Gallery on XP, and then Vista, and then later Windows Live Photo Gallery, weren&#8217;t imported. SO I WROTE A SCRIPT. Expression Media, while not having the nicest developer experience, still provides a script-friendly API.<br />
<code>Set app = CreateObject("ExpressionMedia.Application")<br />
Set tagx = CreateObject("XMPTagExtractor.TagExtractor")<br />
For Each mediaItem In app.ActiveCatalog.Selection<br />
    tags = tagx.GetTags(mediaItem.Path)<br />
    mediaItem.Annotations.Keywords = Left(tags, Len(tags) - 1)<br />
Next</code><br />
Admittedly, I had to write a COM wrapper for the Vista-provided XMP library, but still. I was able to extract my information, and get it into Expression Media.</p>
<p>In the last week, while at work, I&#8217;ve gone through and added hierarchical keywords to almost all of my 25,000 files. The depth varies &#8212; in some pictures, I have every person tagged appropriately. In others, well, I identify where the picture was taken. Take what you can get. For the first time, however, I feel like I&#8217;m catching up with my four-year-old backlog. I still have to back everything up, but I have most of the pictures adequately keyworded such that I can find them again.</p>
<p>There are elements I really like about what I&#8217;ve figured out in Expression Media 2. I do appreciate that I filed a bug on my keywords not being imported, and it turned out that they didn&#8217;t handle one of Windows XP Photo Gallery&#8217;s tag mechanisms &#8212; and should be fixed in the next service pack. I can now round trip all my keywords in and out of the target files. I&#8217;ll be moving my pictures off my hard drive shortly, and look forward to using the fast sorting mechanisms to identify pictures I want to spend more time on.</p>
<p>However, there are a couple of items that I wish were just a bit more accessible &#8212; any photo editing needs to be done elsewhere. There are tools present, but it&#8217;s not worth my time to try to figure out how to use them, so I just load the pictures externally. The most painful place where this is necessary is in rotating photos. I still need to find a good workflow to correct pictures I didn&#8217;t take in a default landscape orientation.</p>
<p>Adobe Lightroom handles that portion of the task far better than Expression Media 2 does &#8212; all the editing tools are immediately available. Unfortunately, it&#8217;s slow as hell and a memory hog, but I&#8217;ll go into that on another occasion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.office-monkey.com/2008/07/12/dam-software-expression-media-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

