<?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>The Adventures of Systems Boy! &#187; 2006</title>
	<atom:link href="http://systemsboy.com/2006/feed" rel="self" type="application/rss+xml" />
	<link>http://systemsboy.com</link>
	<description>Big, Honkin' Systems Stuff</description>
	<lastBuildDate>Sat, 21 Aug 2010 15:31:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Beating a Dead Horse</title>
		<link>http://systemsboy.com/2006/12/beating-a-dead-horse.html</link>
		<comments>http://systemsboy.com/2006/12/beating-a-dead-horse.html#comments</comments>
		<pubDate>Thu, 28 Dec 2006 07:21:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Art]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/12/beating-a-dead-horse/</guid>
		<description><![CDATA[As everyone is well aware, Adobe recently released a beta of Photoshop CS3, complete with new icons. The new application icon is so stripped down and plain I had initially assumed it was a placeholder for something permanent in the final version — that this was merely a stopgap icon for the beta release. This [...]]]></description>
			<content:encoded><![CDATA[<p>As everyone is well aware, Adobe recently released a beta of Photoshop CS3, complete with new icons. The new application icon is so stripped down and plain I had <a href="http://systemsboy.com/2006/12/photoshop-cs3-does-video.html">initially assumed</a> it was a placeholder for something permanent in the final version — that this was merely a stopgap icon for the beta release. This is, it turns out, not the case. This is it. Put a fork in it. It&#8217;s done.</p>
<p>Not only is this the final icon for Photoshop CS3, but Adobe has redesigned the entire CS3 application suite around the same concept. People all over the Mac web are weighing in on the matter, and they&#8217;re generally sitting in one of two camps: They either love it or they hate it. Here are some links to the ongoing commentary:<br /><a href="http://blogs.adobe.com/jnack/2006/12/the_other_cs3_icons.html">John Nack</a><br /><a href="http://veerle.duoh.com/blog/comments/the_new_adobe_icons_and_branding/">Veerle</a><br /><a href="http://www.jasonsantamaria.com/archive/2006/12/20/what_a_mess.php">Jason Santa Maria</a><br /><a href="http://mezzoblue.com/archives/2006/12/20/icont/">Dave Shea</a></p>
<p>Personally, I&#8217;m on the fence. No, that&#8217;s not actually completely accurate. Personally, I can see both sides, and in the end I think that the icon redesign sort of breaks even. I think we basically lose as much as we gain between form and functionality with these new icons. And I think that there is another approach that would have worked better than the one taken by Adobe on CS3.</p>
<p>The new CS3 suite icons are all based on the same idea. A colored square with a two-letter identifier that mimics the periodic table of elements. It&#8217;s a nice concept in a way, especially considering its entire purpose seems to be to unite a vast and sprawling suite of applications. And I think on this level it works. Applications from the Adobe suite will be immediately recognizable as such in the Dock, and telling each application apart shouldn&#8217;t be too terribly difficult. I even kind of like the sparse, minimal appearance of these new icons.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_SsIcI-sERQQ/RZMA9F2VUjI/AAAAAAAAAD0/cWYO_sX_qU4/s1600-h/wheel-o%27-icons.jpg"><img style="cursor: pointer;" src="http://bp2.blogger.com/_SsIcI-sERQQ/RZMA9F2VUjI/AAAAAAAAAD0/cWYO_sX_qU4/s400/wheel-o%27-icons.jpg" alt="" id="BLOGGER_PHOTO_ID_5013351859735581234" border="0" /></a><br /><span style="color: rgb(102, 102, 102);font-size:85%;" >The Adobe CS3 Icon Set: Confused Yet?<br />(click image for larger view)</span></div>
<p>My first problem, though, is that they&#8217;re not particularly iconic. They&#8217;re basically text. Or, the thing that&#8217;s used to identify each application is text. Conceptually, this bothers me a little. The Adobe suite of applications is, for all intents and purposes, visual in nature. It&#8217;s made for processing imagery moreso than text. These are not text applications, but image editing applications. They&#8217;re made for visual people working on visual projects. So using text as an identifier seems a strange — maybe even an inappropriate — approach. I can see it for something like the Microsoft Office suite, which does indeed use text-based icons. But for image editing apps it just seems wrong to not use something image-based.</p>
<p>My other complaint, from a practical standpoint, is that text is a much clumsier, more difficult way to identify an application than symbolism. It requires hard looking, reading, something more than a mere glance. Icons are, at their hearts, symbols, and symbols are intuitively easier to grasp than text. Which is the whole reason icons tend to be made from images rather than text in the first place. It&#8217;s the reason almost everything on a GUI-based interface is a picture rather than (or in addition to) text. Can you imagine a folder on your Desktop that was a big square with the letters &#8220;Fo&#8221; on it? Imagine an entire OS described this way. I&#8217;d guess it&#8217;d get a bit trickier to navigate. (Actually, you don&#8217;t have to imagine it. Just open up the Terminal. It&#8217;s called the UNIX command-line. And we all know how popular that is with the design crowd.)</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_SsIcI-sERQQ/RZMBGV2VUkI/AAAAAAAAAD8/RWK3HKh9LtY/s1600-h/CS3inDock.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_SsIcI-sERQQ/RZMBGV2VUkI/AAAAAAAAAD8/RWK3HKh9LtY/s400/CS3inDock.png" alt="" id="BLOGGER_PHOTO_ID_5013352018649371202" border="0" /></a><br /><span style="color: rgb(102, 102, 102);font-size:85%;" >Adobe CS3 Apps in the Dock</span><span style="color: rgb(102, 102, 102);font-size:85%;" ></span><span style="color: rgb(102, 102, 102);font-size:85%;" >: Imagine an Entire OS Like This<br /></span><span style="color: rgb(102, 102, 102);font-size:85%;" >(<a href="http://mezzoblue.com/archives/2006/12/20/icont/">image stolen from Dave Shea</a>)</span><br /><span style="color: rgb(102, 102, 102);font-size:85%;" ></span><span style="color: rgb(102, 102, 102);font-size:85%;" >(click image for larger view)</span></div>
<p>It seems to me that there is a better approach for Adobe — one that could unify the suite, while at the same time keeping in step with a more purely visual approach. We can see traces of it in the one exception to the rule with the new suite icons: Acrobat. Acrobat&#8217;s icon uses the same sparse approach as the other applications — an application identifier on a colored square — but instead of using text as an identifier, it uses the well-known Acrobat icon image — that weird little loopy-loop we all know so well, and that we immediately associate with Acrobat — in the center of the colored square. Veerle (who likes the new icons) had this to say about it:</p>
<blockquote style="font-style: italic; color: rgb(102, 102, 102);"><p>You might wonder why Acrobat Reader hasn&#8217;t &#8220;Ar&#8221; as icon or &#8220;Pd&#8221; or something, just to take the same line with the rest of the products. The curvy triangle is so well known that it&#8217;s obvious they kept using it for the icon. I think if the other applications had a similar icon over the years, they would have done the same. Since there are none they decided to use a two-letter mnemonic &#8216;nickname&#8217; system as their primary identifier.</p></blockquote>
<p>And therein lies both the problem and the solution. I think the best approach Adobe could take — both from a conceptual and a practical standpoint — would be to actually create memorable, iconic symbols for each of their applications. Thus far they have not done so, and choosing instead to represent their apps with plain two-letter text identifiers just seems a little cheap, lazy and ineffectual. Why doesn&#8217;t Photoshop have such a memorable symbol associated with its product line after all these years? Or Illustrator? By now they really should. Maybe it&#8217;s time to start working on these.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_SsIcI-sERQQ/RZNwAl2VUlI/AAAAAAAAAEM/xncnyMCnhuQ/s1600-h/AcrobatIcon.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_SsIcI-sERQQ/RZNwAl2VUlI/AAAAAAAAAEM/xncnyMCnhuQ/s400/AcrobatIcon.png" alt="" id="BLOGGER_PHOTO_ID_5013473965655806546" border="0" /></a></div>
<div style="text-align: center;"><span style="color: rgb(102, 102, 102);font-size:85%;" >Acrobat Icon: Why Doesn&#8217;t Photoshop Have a Symbol?</span><br /><span style="color: rgb(102, 102, 102);font-size:85%;" >(click image for larger view)</p>
<p></span></div>
<p>Past Adobe icons were visual in nature, but suffered from a lack of readability in the Dock. They were pretty, but they looked too similar and their imagery made no sense whatsoever — form over function. But this new set will suffer from the same sort of unreadability. They&#8217;re less visual, less image-based, but still very similar. And they&#8217;ll now require yo</p>
<p>u to read them and decipher their two-letter code. Still, they&#8217;ll be somewhat easier to discern from one another (since the letters at least correspond to something in the real world, i.e. the application name, whereas the previous icons used images that were completely arbitrary and nonsensical) and a bit more unified as a group, though arguably less attractive — function over form. It&#8217;s a tradeoff. But one that, again, we break even on with the new icon set. This new icon set offers no functional or aesthetic advantages over its older counterpart. Or what advantages it may offer are offset by disadvantages it spawns. Creating real symbols that speak somehow to the nature of the application — like they&#8217;ve done in some respects with Acrobat — for the rest of the suite would solve the problems of both form and function: Icons created from these symbols would be both more beautiful and more functional. You would think a big, giant, design-based software company would get this. But so far, they seem to have missed the boat.</p>
<p>I don&#8217;t hate the new icons. I actually think they look kind of cool in a minimal sort of way. But they&#8217;re just not particularly visually interesting, nor will they add much functionality over their predecessors. So I can&#8217;t say I&#8217;m overly enamored with them either. For a major change to a major application suite — one that has a lot of folks up in arms — I have to say, I&#8217;m feeling quite&#8230; neutral on the matter. And that&#8217;s a little disappointing in and of itself. I wish I were feeling excited.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/12/beating-a-dead-horse.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Photoshop CS3 Does Video</title>
		<link>http://systemsboy.com/2006/12/photoshop-cs3-does-video.html</link>
		<comments>http://systemsboy.com/2006/12/photoshop-cs3-does-video.html#comments</comments>
		<pubDate>Wed, 27 Dec 2006 23:17:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/12/photoshop-cs3-does-video/</guid>
		<description><![CDATA[Everyone&#8217;s talking about Adobe&#8217;s Photoshop CS3 Beta release. In a day and age when paid betas are all the rage among smaller developers, a big developer releasing a free (though time-limited) beta of a flagship program is exciting in and of itself. But this beta has legs. It&#8217;s good stuff. I&#8217;ll go over some of [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone&#8217;s talking about <a href="http://labs.adobe.com/technologies/photoshopcs3/">Adobe&#8217;s Photoshop CS3 Beta</a> release. In a day and age when paid betas are all the rage among smaller developers, a big developer releasing a free (though time-limited) beta of a flagship program is exciting in and of itself. But this beta has legs. It&#8217;s good stuff. I&#8217;ll go over some of the more significant features that everyone&#8217;s buzzing about. But I also want to spend a little time talking about some things that no one in the <a href="http://www.macworld.com/2006/12/firstlooks/photoshopcs3/index.php">mainstream press</a> seems particularly interested in, &#8217;cause, you know, I&#8217;m funny like that. And &#8217;cause there are some real gems, from my particular perspective.</p>
<p><span style="font-weight: bold;">The Installer</span><br />I wanted to briefly mention the installer for Photoshop CS3, because it&#8217;s pretty nice, particularly in contrast to the Acrobat Reader installer. No, it&#8217;s not an Apple Installer, but it does offer a great deal of control (and some features not available from Apple Installers), and from a systems perspective, this is wonderful. Most notably, the Photoshop CS3 installer (called Setup.app) contains an uninstaller. Awesome! Yes, it may be hard to believe, but there have been times I actually wanted to completely uninstall Photoshop, and I couldn&#8217;t. Now I can.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_SsIcI-sERQQ/RYS5E12VUaI/AAAAAAAAACM/P-1sQ8JWfHw/s1600-h/Picture+1.png"><img style="cursor: pointer;" src="http://bp2.blogger.com/_SsIcI-sERQQ/RYS5E12VUaI/AAAAAAAAACM/P-1sQ8JWfHw/s400/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5009332178368418210" border="0" /></a><br /><span style="color: rgb(102, 102, 102);font-size:85%;" >Adobe Photoshop CS3 Beta: Uninstall or Reinstall</span><br /><span style="color: rgb(102, 102, 102);font-size:85%;" >(click image for larger view)</span></div>
<p>The uninstaller even gives you the option to delete application preferences. Wow. That&#8217;s pretty thorough.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_SsIcI-sERQQ/RYS5E12VUbI/AAAAAAAAACU/u2JwdI7mBQE/s1600-h/Picture+2.png"><img style="cursor: pointer;" src="http://bp2.blogger.com/_SsIcI-sERQQ/RYS5E12VUbI/AAAAAAAAACU/u2JwdI7mBQE/s400/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5009332178368418226" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Adobe Photoshop CS3 Beta: Uninstalling Components</span></span><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">(click image for larger view)</span></span></div>
<p>Secondly, the installer allows you to choose which Photoshop components get installed, or to reinstall or uninstall specific components of the suite. Don&#8217;t use Camera RAW? Don&#8217;t use Bridge? Fine. Don&#8217;t install &#8216;em. Change your mind? Fine. Go reinstall &#8216;em.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_SsIcI-sERQQ/RYS5El2VUZI/AAAAAAAAACE/RY90tK_Exy4/s1600-h/Picture+2.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_SsIcI-sERQQ/RYS5El2VUZI/AAAAAAAAACE/RY90tK_Exy4/s400/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5009332174073450898" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Adobe Photoshop CS3 Beta: Reinstalling Components</span></span><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">(click image for larger view)</span></span></div>
<p>I can&#8217;t believe I&#8217;m saying this, but Adobe has really gotten this installer right. If I can&#8217;t have drag-&#8217;n'-drop or package installers, then this is what I want. The only problem is, I&#8217;m pretty sure it won&#8217;t work with Apple Remote Desktop (but then it never did anyway). Otherwise, I&#8217;m pleased as punch.</p>
<p>One other thing to note about the beta installation: Adobe requires you to produce a valid Photoshop CS2, Creative Suite 2, Production Studio, Adobe Web Bundle, or Adobe Video Bundle serial number to use the beta for longer than the 2-day trial period. Supply this serial number and you&#8217;ll be given a new serial number for the beta. The new serial number can be used to activate the software until the beta expires, ostensibly some time around the official release date. The software gets activated online via a connection to Adobe, and it keeps tabs on how many machines you&#8217;ve installed the beta on. The limit is two computers. I installed it on two machines, but then, after installing it on the third I received this alert when trying to activate the software:</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_SsIcI-sERQQ/RYS4Ol2VUVI/AAAAAAAAABU/4ozaWNWYio8/s1600-h/Picture+1.2.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_SsIcI-sERQQ/RYS4Ol2VUVI/AAAAAAAAABU/4ozaWNWYio8/s400/Picture+1.2.png" alt="" id="BLOGGER_PHOTO_ID_5009331246360514898" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Adobe Photoshop CS3 Beta: Too Many Activations</span></span><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">(click image for larger view)</span></span></div>
<p>This seems relatively fair to me. The only thing I find somewhat irksome is that we have a 20-seat volume license. So, to my way of thinking, our serial number should be good for 20 installs of the beta. Apparently Adobe feels differently. I also wish I could deactivate machines remotely, via this interface (like you can with iTunes music, for instance). But no, unfortunately I&#8217;ll have to go over to the machines in question, log in and deactivate them locally. Oh well.</p>
<p><span style="font-weight: bold;">The Icon</span><br />The first thing I noticed after installing the Photoshop Beta was the strange, minimal application icon. I kind of like it, but it seems somewhat inappropriate to me that Photoshop — an image editing application that&#8217;s always had pretty fancy icons — has such a plain one. I&#8217;m assuming that this is just the icon they&#8217;ll use for the beta, and that a more sophisticated icon will come with the shipping version.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_SsIcI-sERQQ/RYS4PF2VUYI/AAAAAAAAABs/F3rUQ2E2fyk/s1600-h/Picture+15.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_SsIcI-sERQQ/RYS4PF2VUYI/AAAAAAAAABs/F3rUQ2E2fyk/s400/Picture+15.png" alt="" id="BLOGGER_PHOTO_ID_5009331254950449538" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Adobe Photoshop CS3 Beta: Minimal Beta Icon</span></span><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">(click image for larger view)</span></span></div>
<p><span style="font-weight: bold;">The Hot New Features</span><br />One item of significance — in fact, according to the <a href="http://www.macworld.com/weblogs/mwvodcast/2006/12/mwvodcast2/index.php">scuttlebutt</a>, it&#8217;s a big reason the beta was released — is that this is the first version of Photoshop to run natively on Apple&#8217;s latest Intel hardware. Amazingly, this comes off as a footnote in most of the reviews, overshadowed by the fact that this also happens to be the first major revision of the photo-editing powerhouse to actually be packed with exciting, new and useful features. In fact, after trying it out, it&#8217;s the first time I&#8217;ve been impressed with an Adobe release other than Lightroom in years. And it&#8217;s Photoshop, man. Frickin&#8217; Photoshop!</p>
<p>One of the <a href="http://www.photoshopuser.com/cs3/videos.html">most discussed</a> aspects of Photoshop CS3 is the interface, and it&#8217;s certainly worth a mention here. It&#8217;s been quite extensive</p>
<p>ly overhauled, and yet still feels completely familiar. Everything is right where you&#8217;d expect it, but there are numerous productivity enhancements throughout the app. Little touches, really, like a toolbar that is one tool wide, giving you more room for viewing your image. Palettes are more logically (and attractively) presented and unified, instead of floating around all over the place. This seems to be the trend with a number of apps, and if <a href="http://www.adobe.com/products/aftereffects/">AfterEffects 7</a> and <a href="http://labs.adobe.com/technologies/lightroom/">Lightroom</a> are any indication, Adobe is following it. This is a good thing. I truly hate moving windows and palettes around. And with today&#8217;s big screens, there should be little need to.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_SsIcI-sERQQ/RYS5mF2VUeI/AAAAAAAAAC4/bYdRQ-J6xUk/s1600-h/Picture+1.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_SsIcI-sERQQ/RYS5mF2VUeI/AAAAAAAAAC4/bYdRQ-J6xUk/s400/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5009332749599068642" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Adobe Photoshop CS3 Beta: Nice Interface Refinements</span></span><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">(click image for larger view)</span></span></div>
<p>My one big beef is that there still seems to be no key command to switch between open documents. Almost every other application on the Mac nowadays uses &#8220;command- `&#8221; to switch between open docs. Yet Photoshop CS3 still not only fails to adhere to this standard, but apparently lacks the ability to switch between open docs with the keyboard at all. This seems like a strange oversight for such a significant interface overhaul. I also wish Adobe would use standard Apple key-commands for things like hiding the app (&#8220;command-h&#8221; on the Mac, generally) but at least the ability exists to do this from the keyboard, and it&#8217;s configurable.</p>
<p>Finally, the Refine Edge tool is quite the talk of the town. And for good reason. Anyone who&#8217;s ever tried to select a color range and then tried to tweak the selection has longed for this tool, which basically allows you to interactively refine the edges of your selections. And it&#8217;s finally here!</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_SsIcI-sERQQ/RYS5ll2VUdI/AAAAAAAAACw/wRb0QGOrZEM/s1600-h/Picture+1.3.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_SsIcI-sERQQ/RYS5ll2VUdI/AAAAAAAAACw/wRb0QGOrZEM/s400/Picture+1.3.png" alt="" id="BLOGGER_PHOTO_ID_5009332741009134034" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Adobe Photoshop CS3 Beta: Refine Edge</span></span><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">(click image for larger view)</span></span></div>
<p><span style="font-weight: bold;">Video (Yes, Video!)</span><br />But there&#8217;s another fantastic new addition to Photoshop CS3, and it&#8217;s one no one&#8217;s mentioned, maybe because no one&#8217;s quite as weird as me: Animation. For years I&#8217;ve wished Photoshop — with it&#8217;s powerful layering capabilities, selection tools and brushes — could be used as a 2D animation tool. I always wanted to be able to import and draw on video in Photoshop. You could always fake this with ImageReady, which came with basic Quicktime import/export functions and a pretty useful Animation palette, and which I&#8217;ve demoed in my class numerous times. But it was clunky and confusing. ImageReady was not well equipped to deal with large numbers of relatively large images — it became painfully slow — and it lacked WACOM touch-sensitivity and the full range of brushes found in Photoshop. Plus, it was just plain inconvenient to use ImageReady when Photoshop was sitting right there. Well, my wait is finally over. Photoshop CS3 now includes the very same Animation palette formerly found only in ImageReady. It&#8217;s there, and it works exactly as it did in ImageReady. Only now we get all that Photoshop goodness and the familiar interface we all know and love (or at least are accustomed to). Hooray!</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_SsIcI-sERQQ/RYS5mV2VUgI/AAAAAAAAADI/I14KDwS6Fyk/s1600-h/Picture+24.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_SsIcI-sERQQ/RYS5mV2VUgI/AAAAAAAAADI/I14KDwS6Fyk/s400/Picture+24.png" alt="" id="BLOGGER_PHOTO_ID_5009332753894035970" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Adobe Photoshop CS3 Beta: Holy Shit! Animation!</span></span><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">(click image for larger view)</span></span></div>
<p>There are a few new video-specific features too, though you might not know it from the coverage. There&#8217;s a &#8220;Video and Film&#8221; Workspace, for one, which highlights all video-related menubar items and brings forth video-related palettes, including the Animation palette.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_SsIcI-sERQQ/RYS5ll2VUcI/AAAAAAAAACo/GeXM0CVQGw8/s1600-h/Picture+1.2.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_SsIcI-sERQQ/RYS5ll2VUcI/AAAAAAAAACo/GeXM0CVQGw8/s400/Picture+1.2.png" alt="" id="BLOGGER_PHOTO_ID_5009332741009134018" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Adobe Photoshop CS3 Beta: Video and Film Workspace Highlights</span></span><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">(click image for larger view)</span></span></div>
<p>And now, since Photoshop CS3 does video, it only seems appropriate that it should have the ability to preview that video to a monitor, which in fact it now does.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_SsIcI-sERQQ/RYS5mV2VUfI/AAAAAAAAADA/lB8DQGeEVFI/s1600-h/Picture+2.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_SsIcI-sERQQ/RYS5mV2VUfI/AAAAAAAAADA/lB8DQGeEVFI/s400/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5009332753894035954" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Adobe Photoshop CS3 Beta: Video Preview</span></span><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">(click image for larger view)</span></span></div>
<p>All these new video capabilities were a huge surprise to me. And a hugely pleasant one. There was a time when I got pretty excited about new Adobe releases, but it was a long time ago. It&#8217;s great to see Adobe, once again, release a really compelling version of Photoshop. I&#8217;m amazed at how much thought and care they&#8217;ve given &#8220;the little things,&#8221; from the interface to the installer to, of all things, video. And yet they&#8217;ve still managed to keep all the good bits. This version has something for everyone. I, for one, am truly impressed.</p>
<p><span style="font-weight: bold; color: rgb(102, 102, 102);">UPDATE:</span><br />Looks like I was wrong. The new Photoshop CS3 icon featured in the beta is here to stay. Not only that, lots of people are buzzing about it. Personally, my favorite comment on the &#8220;issue&#8221; so far (I haven&#8217;t had time to read them all — Help! I&#8217;m on dialup!) is <a href="http://blogs.adobe.com/jnack/2006/12/the_other_cs3_icons.html">one from John Nack</a>:</p>
<blockquote style="font-style: italic; color: rgb(102, 102, 102);"><p>[Not dismissing your opinion at all, but isn't it nice that in this world, at the end of 2006, it's computer iconography that constitutes our nightmares? We are very lucky to have literacy, intelligence, and leisure enough to give a damn about this stuff. -</p>
<p>-J.]</p></blockquote>
<p>Totally agree. Still, I&#8217;ve decided to <a href="http://systemsboy.com/2006/12/beating-dead-horse.html">add my voice</a> to the already huge compendium of opinion on the matter.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/12/photoshop-cs3-does-video.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Backing Up with RsyncX</title>
		<link>http://systemsboy.com/2006/12/backing-up-with-rsyncx.html</link>
		<comments>http://systemsboy.com/2006/12/backing-up-with-rsyncx.html#comments</comments>
		<pubDate>Mon, 04 Dec 2006 02:03:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Lab]]></category>
		<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[NIX]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Systems]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/12/backing-up-with-rsyncx/</guid>
		<description><![CDATA[In an earlier post I talked generally about my backup procedure for large amounts of data. In the post I discussed using RsyncX to back up staff Work drives over a network, as well as my own personal Work drive data, to a spare hard drive. Today I&#8217;d like to get a bit more specific. [...]]]></description>
			<content:encoded><![CDATA[<p>In an <a href="http://systemsboy.com/2006/06/on-backups.html">earlier post</a> I talked generally about my backup procedure for large amounts of data. In the post I discussed using RsyncX to back up staff Work drives over a network, as well as my own personal Work drive data, to a spare hard drive. Today I&#8217;d like to get a bit more specific.</p>
<p><span style="font-weight: bold;">Installing RsyncX</span><br />
I do not use, nor do I recommend the version of <span style="font-family:courier new;">rsync</span> that ships with Mac OS X 10.4. I&#8217;ve found it, in my own personal tests, to be extremely unreliable, and unreliability is the last thing you want in a backup program. Instead I use — and have been using without issue for years now — <a href="http://archive.macosxlabs.org/rsyncx/rsyncx.html">RsyncX</a>. RsyncX is a GUI wrapper for a custom-built version of the <span style="font-family:courier new;">rsync</span> command that&#8217;s made to properly deal with HFS+ resource forks. So the first thing you need to do is get RsyncX, which you can do <a href="http://archive.macosxlabs.org/rsyncx/rsyncx.html#download">here</a>. To install RsyncX, simply run the installer. This will place the resource-fork-aware version of <span style="font-family:courier new;">rsync</span> in <span style="font-family:courier new;">/usr/local/bin/</span>. If all you want to do is run <span style="font-family:courier new;">rsync</span> from the RsyncX GUI, then you&#8217;re done, but if you want to run it non-interactively from the command-line — which ultimately we do — you should put the newly installed <span style="font-family:courier new;">rsync</span> command in the standard location, which is <span style="font-family:courier new;">/usr/bin/</span>.¹ Before you do this, it&#8217;s always a good idea to make a backup of the OS X version. So:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><span style="font-family:courier new;">sudo cp /usr/bin/rsync /usr/bin/rsync-ORIG</span>
<span style="font-family:courier new;">sudo cp /usr/local/bin/rsync /usr/bin/rsync</span></pre>
</div>
<p>Ah! Much better! Okay. We&#8217;re ready to roll with local backups.²</p>
<p><span style="font-weight: bold;">Local Backups</span><br />
Creating local backups with <span style="font-family:courier new;">rsync</span> is pretty straightforward. The RsyncX version of the command acts almost exactly like the standard *NIX version, except that it has an option to preserve HFS+ resource forks. This option must be provided if you&#8217;re interested in preserving said resource forks. Let&#8217;s take a look at a simple <span style="font-family:courier new;">rsync</span> command:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><span style="font-family:courier new;">/usr/bin/rsync -a -vv /Volumes/Work/ /Volumes/Backup --eahfs</span></pre>
</div>
<p>This command will backup the contents of the Work volume to another volume called Backup. The <span style="font-family:courier new;">-a</span> flag stands for &#8220;archive&#8221; and will simply backup everything that&#8217;s changed while leaving files that may have been deleted from the source. It&#8217;s usually what you want. The <span style="font-family:courier new;">-vv</span> flag specifies &#8220;verbosity&#8221; and will print what <span style="font-family:courier new;">rsync</span> is doing to standard output. The level of verbosity is variable, so &#8220;<span style="font-family:courier new;">-v</span>&#8221; will give you only basic information, &#8220;<span style="font-family:courier new;">-vvvv</span>&#8221; will give you everything it can. I like &#8220;<span style="font-family:courier new;">-vv</span>.&#8221; That&#8217;s just the right amount of info for me. The next two entries are the source and target directories, Work and Backup. The <span style="font-family:courier new;">&#8211;eahfs</span> flag is used to tell <span style="font-family:courier new;">rsync</span> that you want to preserve resource forks. It only exists in the RsyncX version. Finally, pay close attention to the trailing slash in your source and target paths. The source path contains a trailing slash — meaning we want the command to act on the drive&#8217;s <span style="font-style: italic;">contents</span>, not the drive itself — whereas the target path contains no trailing slash. Without the trailing slash on the source, a folder called &#8220;Work&#8221; will be created inside the WorkBackup drive. This trailing slash behavior is standard in *NIX, but it&#8217;s important to be aware of when writing <span style="font-family:courier new;">rsync</span> commands.</p>
<p>That&#8217;s pretty much it for simple local backups. There are numerous other options to choose from, and you can find out about them by reading the <span style="font-family:courier new;">rsync man</span> page.</p>
<p><span style="font-weight: bold;">Network Backups</span><br />
One of the great things about <span style="font-family:courier new;">rsync</span> is its ability to perform operations over a network. This is a big reason I use it at work to back up staff machines. The <span style="font-family:courier new;">rsync</span> command can perform network backups over a variety of protocols, most notably SSH. It also can reduce the network traffic these backups require by only copying the changes to files, rather than whole changed files, as well as using compression for network data transfers.</p>
<p>The version of <span style="font-family:courier new;">rsync</span> used by the host machine and the client machine must match exactly. So before we proceed, copy <span style="font-family:courier new;">rsync</span> to its default location on your client machine. You may want to back up the Mac OS X version on your client as well. If you have root on both machines you can do this remotely on the command line:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><span style="font-family:courier new;">ssh -t root@mac01.systemsboy.com 'cp /usr/bin/rsync /usr/bin/rsync-ORIG'</span>
<span style="font-family:courier new;">scp /usr/bin/rsync root@mac01.systemsboy.com:/usr/bin/</span></pre>
</div>
<p>Backing up over the network isn&#8217;t too much different or harder than backing up locally. There are just a few more flags you need to supply. But the basic idea is the same. Here&#8217;s an example:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><span style="font-family:courier new;">/usr/bin/rsync -az -vv -e SSH mac01.systemsboy.com:/Volumes/Work/ /Volumes/Backups/mac01 --eahfs</span></pre>
</div>
<p>This is pretty similar to our local command. The <span style="font-family:courier new;">-a</span> flag is still there, and we&#8217;ve added the <span style="font-family:courier new;">-z</span> flag as well, which specifies to use compression for the data (to ease network traffic). We now also have an <span style="font-family:courier new;">-e</span> flag which tells <span style="font-family:courier new;">rsync</span> that we&#8217;re running over a network, and an <span style="font-family:courier new;">SSH</span> option that specifies the protocol to use for this network connection. Next we have the source, as usual, but this time our source is a computer on our network, which we specify just like we would with any <span style="font-family:courier new;">SSH</span> connection — <span style="font-family:courier new;">hostname:/Path/To/Volume</span>. Finally, we have the <span style="font-family:courier new;">&#8211;eahfs</span> flag for preserving resource forks. The easiest thing to do here is to run this as root (either directly or with <span style="font-family:courier new;">sudo</span>), which will allow you to sync data owned by users other than yourself.</p>
<p><span style="font-weight: bold;">Unattended Network Backups</span><br />
Running backups over the network can also be</p>
<p>completely automated and can run transparently in the background even on systems where no user is logged in to the Mac OS X GUI. Doing this over SSH, of course, requires an SSH connection that does not interactively prompt for a password. This can be accomplished by establishing authorized key pairs between host and client. The best resource I&#8217;ve found for learning how to do this is <a href="http://www.bombich.com/mactips/rsync.html">Mike Bombich&#8217;s page on the subject</a>. He does a better job explaining it than I ever could, so I&#8217;ll just direct you there for setting up SSH authentication keys. Incidentally, that article is written with <span style="font-family:courier new;">rsync</span> in mind, so there are lots of good <span style="font-family:courier new;">rsync</span> resources there as well. Go read it now, if you haven&#8217;t already. Then come back here and I&#8217;ll tell you what I do.</p>
<p>I&#8217;d like to note, at this point, that enabling SSH authentication keys, root accounts and unattended SSH access is a minor security risk. Bombich discusses this on his page to some extent, and I want to reiterate it here. Suffice to say, I would only use this procedure on a trusted, firewalled (or at least NATed) network. Please bear this in mind if you proceed with the following steps. If you&#8217;re uncomfortable with any of this, or don&#8217;t fully understand the implications, skip it and stick with local backups, or just run <span style="font-family:courier new;">rsync</span> over the network by hand and provide passwords as needed. But this is what <span style="font-style: italic;">I</span> do on <span style="font-style: italic;">our</span> network. It works, and it&#8217;s not terribly insecure.</p>
<p>Okay, once you have authentication keys set up, you should be able to log into your client machine from your server, as root, without being prompted for a password. If you can&#8217;t, reread the <a href="http://www.bombich.com/mactips/rsync.html">Bombich article</a> and try again until you get it working. Otherwise, unattended backups will fail. Got it? Great!</p>
<p>I enable the root account on both the host and client systems, which can be done with the NetInfo Manger application in <span style="font-family:courier new;">/Applications/Utilities/.</span> I do this because I&#8217;m backing up data that is not owned by my admin account, and using root gives me the unfettered access I need. Depending on your situation, this may or may not be necessary. For the following steps, though,  it will simplify things immensely if you are root:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><span style="font-family:courier new;">su - root</span></pre>
</div>
<p>Now, as root, we can run our <span style="font-family:courier new;">rsync</span> command, minus the verbosity, since we&#8217;ll be doing this unattended, and if the keys are set up properly, we should never be prompted for a password:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><span style="font-family:courier new;">/usr/bin/rsync -az -e SSH mac01.systemsboy.com:/Volumes/Work/ /Volumes/Backups/mac01 --eahfs</span></pre>
</div>
<p>This command can be run either directly from <span style="font-family:courier new;">cron</span> on a periodic basis, or it can be placed in a <span style="font-family:courier new;">cron</span>-run script. For instance, I have a script that pipes verbose output to a log of all <span style="font-family:courier new;">rsync</span> activity for each staff machine I back up. This is handy to check for errors and whatnot, every so often, or if there&#8217;s ever a problem. Also, my <span style="font-family:courier new;">rsync</span> commands are getting a bit unwieldy (as they tend to do) for direct inclusion in a <span style="font-family:courier new;">crontab</span>, so having the scripts keeps my <span style="font-family:courier new;">crontab</span> clean and readable. Here&#8217;s a variant, for instance, that directs the output of <span style="font-family:courier new;">rsync</span> to a text file, and that uses an exclude flag to prevent certain folders from being backed up:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><span style="font-family:courier new;">/usr/bin/rsync -az -vv -e SSH --exclude "Archive" mac01.systemsboy.com:/Volumes/Work/ /Volumes/Backups/mac01 --eahfs &gt; ~/Log/mac01-backup-log.txt</span></pre>
</div>
<p>This exclusion flag will prevent backup of anything called &#8220;Archive&#8221; on the top level of mac01&#8242;s Work drive. Exclusion in <span style="font-family:courier new;">rsync</span> is relative to the source directory being synced. For instance, if I wanted to exclude a folder called &#8220;Do Not Backup&#8221; inside the &#8220;Archive&#8221; folder on mac01&#8242;s Work drive, my <span style="font-family:courier new;">rsync</span> command would look like this:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><span style="font-family:courier new;">/usr/bin/rsync -az </span><span><span style="font-family:courier new;">-vv </span></span><span style="font-family:courier new;">-e SSH --exclude "Archive/Do Not Backup" mac01.systemsboy.com:/Volumes/Work/ /Volumes/Backups/mac01 --eahfs</span><span><span style="font-family:courier new;"> &gt; ~/Log/mac01-backup-log.txt</span></span></pre>
</div>
<p><span style="font-weight: bold;">Mirroring</span><br />
The above uses of <span style="font-family:courier new;">rsync</span>, as I mentioned before, will not delete files from the target that have been deleted from the source. They will only propagate changes that have occurred on the existing files, but will leave deleted files alone. They are semi-non-destuctive in this way, and this is often useful and desirable. Eventually, though, <span style="font-family:courier new;">rsync</span> backups will begin to consume a great deal of space, and after a while you may begin to run out. My solution to this is to periodically mirror my sources and targets, which can be easily accomplished with the <span style="font-family:courier new;">&#8211;delete</span> option. This option will delete any file from the target not found on the source. It does this after all other syncing is complete, so it&#8217;s fairly safe to use, but it will require enough drive space to do a full sync before it does its thing. Here&#8217;s our network command from above, only this time using the <span style="font-family:courier new;">&#8211;delete</span> flag:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><span style="font-family:courier new;">/usr/bin/rsync -az -vv -e SSH --exclude "Archive/Do Not Backup" mac01.systemsboy.com:/Volumes/Work//Volumes/Backups/mac01 --delete --eahfs</span><span><span style="font-family:courier new;"> &gt; ~/Log/mac01-backup-log.txt</span></span></pre>
</div>
<p>Typically, I run the straight <span style="font-family:courier new;">rsync</span> command every other day or so (though I could probably get away with running it daily). I create the mirror at the end of each month to clear space. I back up about a half dozen machines this way, all from two simple shell scripts (daily and weekly) called by <span style="font-family:courier new;">cron</span>.</p>
<p><span style="font-weight: bold;">Conclusion</span><br />
I realize that this is not a perfect backup solution. But it&#8217;s pretty good for our needs, given what we can afford. And so far it hasn&#8217;t failed me yet in four years. That&#8217;s not a bad track record. Ideally, we&#8217;d have more drives and we&#8217;d stagger backups in such a way that we always had at least a few days backup available for retrieval. We&#8217;d also probably have some sort of backup to a more archival medium, like tape, for more permanent or semi-permanent backups. We&#8217;d also probably keep a copy of all this in some offsite, fireproof lock box. I know, I know. But we don&#8217;t. And we won&#8217;t. And thank god, &#8217;cause what a pain in the<br />
ass that must be. It&#8217;d be a full time job all its own, and not a very fun one. What this solution does offer is a cheap, decent, short-term backup procedure for emergency recovery of catastrophic data loss. Hard drive fails? No trouble. We&#8217;ve got you covered.</p>
<p>Hopefully, though, this all becomes a thing of the past when Leopard&#8217;s <a href="http://www.apple.com/macosx/leopard/timemachine.html">Time Machine</a> debuts. Won&#8217;t that be the shit?</p>
<p><a id="001" name="001"></a><span style="font-size:85%;">1. According to the RsyncX documentation, you should not need to do this, because the RsyncX installer changes the command path to its custom location. But if you&#8217;ll be running the command over the network or as root, you&#8217;ll either have to change that command path for the root account and on every client, or network backups will fail. It&#8217;s much easier to simply put the modified version in the default location on each machine.</span></p>
<p><a id="002" name="002"></a><span style="font-size:85%;">2. Updates to Mac OS X will almost always overwrite this custom version of <span style="font-family:courier new;">rsync</span>. So it&#8217;s important to remember to replace it whenever you update the system software.<br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/12/backing-up-with-rsyncx.html/feed</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Icons Icons Icons!</title>
		<link>http://systemsboy.com/2006/12/icons-icons-icons.html</link>
		<comments>http://systemsboy.com/2006/12/icons-icons-icons.html#comments</comments>
		<pubDate>Sat, 02 Dec 2006 20:38:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Art]]></category>
		<category><![CDATA[MacOSX]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/12/icons-icons-icons/</guid>
		<description><![CDATA[Not long ago a fabulous post on doodling appeared at one of the blogs I frequent on a regular basis, Subtraction. Khoi Vihn, the site&#8217;s author, posted some absolutely lovely doodles he&#8217;d made, and I was instantly transported to my note-taking, doodle-drawing grad school days. It was kind of magical, and I really liked that [...]]]></description>
			<content:encoded><![CDATA[<p>Not long ago a fabulous post on doodling appeared at one of the blogs I frequent on a regular basis, <a href="http://www.subtraction.com/">Subtraction</a>. Khoi Vihn, the site&#8217;s author, posted some <a href="http://www.subtraction.com/archives/2006/1113_oodles_of_do.php">absolutely lovely doodles</a> he&#8217;d made, and I was instantly transported to my note-taking, doodle-drawing grad school days. It was kind of magical, and I really liked that idea for a blog post. And while I&#8217;ve decided I&#8217;m way too lazy and busy at the moment to scan my doodles, I did feel TASB could use a splash of the creative. I am, in addition to being a SysAdmin, a visual artist, after all.</p>
<p>Since this site is primarily about systems, it seemed appropriate to focus on an art form specifically related to the computer. And since I dabble in icon creation, and have worked up quite a collection over the years, I&#8217;ve decided to post a little sampler, and talk about my process. Just for a wee change of pace. Just for fun.</p>
<p>This is the first icon I ever made. I labored on this thing for days, trying to get that shiny, translucent, jelly bean look so prevalent on the Mac. Yes. It totally sucks major ass.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_SsIcI-sERQQ/RXHkncNf5sI/AAAAAAAAAAM/cogwtwkO92s/s1600-h/First-Icon-NoBorder.png"><img style="cursor: pointer; width: 115px; height: 119px;" src="http://bp3.blogger.com/_SsIcI-sERQQ/RXHkncNf5sI/AAAAAAAAAAM/cogwtwkO92s/s400/First-Icon-NoBorder.png" alt="" id="BLOGGER_PHOTO_ID_5004032027224172226" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">My First Icon: It Sucks Major Ass</span><span style="color: rgb(102, 102, 102);"><br />(click image for larger view)</span></span></div>
<p>I quickly outgrew the glossy, candy-coated style — especially once I realized that I sucked at, and didn&#8217;t enjoy making them — and started developing my own. I have two basic styles. The first one to emerge was a very flat, geometric style. My process is not very elegant, but I&#8217;ve used it for some time now and it works so I stick with it. Basically all the drawing is done in Illustrator. When I get a version I like I simply copy and place it into a 533&#215;533 pixel Photoshop document. Typically, some color correction is required after the transfer. Mainly, the blacks get washed out, so I have a Photoshop action that selects the black range and drops it down to zero. Then the image gets resized to 128&#215;128 pixels. Finally I use <a href="http://iconfactory.com/home">IconFactory&#8217;s</a> IconBuilder 5.1 plug-in (no longer current) for Photoshop to export the image to the icon format. Typically, here I just do a &#8220;QuickBuild&#8221; (which, unfortunately seems to be missing from later versions of <a href="http://iconfactory.com/software/iconbuilder/">IconBuilder</a>). I don&#8217;t really worry about creating multiple versions of my icons for different icon sizes and views. I just try to make icons that scale reasonably well. This is for fun after all. I&#8217;m not a pro, nor do I aspire to be.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_SsIcI-sERQQ/RXHknsNf5tI/AAAAAAAAAAU/_dv5NXo5kC0/s1600-h/Geometric-Icons-NoBorder.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_SsIcI-sERQQ/RXHknsNf5tI/AAAAAAAAAAU/_dv5NXo5kC0/s400/Geometric-Icons-NoBorder.png" alt="" id="BLOGGER_PHOTO_ID_5004032031519139538" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Geometric Icons: Not Quite as Sucky</span><span style="color: rgb(102, 102, 102);"><br />(click image for larger view)</span></span></div>
<p>The second style, and the one I generally prefer to work in nowadays, is more hand-drawn and cartoonish. Still somewhat flat, with some shading but no gradients and far less geometry than the above. These are all done using my trusty <a href="http://www.wacom.com/productinfo/6x8.cfm">WACOM tablet</a>, which I simply adore. Working this way allows me much greater expressiveness through line weight and shape, and through the individuality of my own particular drawing style. Plus it&#8217;s just way more fun, though it can be a lot more work to get everything looking just right.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_SsIcI-sERQQ/RXHoNcNf5xI/AAAAAAAAABE/cas9OpCquJM/s1600-h/Hand-Drawn-Icons-NoBorder.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_SsIcI-sERQQ/RXHoNcNf5xI/AAAAAAAAABE/cas9OpCquJM/s400/Hand-Drawn-Icons-NoBorder.png" alt="" id="BLOGGER_PHOTO_ID_5004035978594084626" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Hand-Drawn Icons: My Personal Faves</span><span style="color: rgb(102, 102, 102);"><br />(click image for larger view)</span></span></div>
<p>A lot of these icons were intended as drive icons. I have a few different computers I work on regularly, and I tend to file-share between them a lot. Each has a SysApps partition and Work partition. Labeling each SysApps and Work drive on each system, while being aesthetically pleasing, also has the added advantage of making it very easy to distinguish which SysApps or Work drive I&#8217;m accessing at a glance when file-sharing. It&#8217;s both practical and pretty. (Well, I think so anyway.)</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_SsIcI-sERQQ/RXHkn8Nf5vI/AAAAAAAAAAk/NO9m3riyrk0/s1600-h/MarxBros-Icons-NoBorder.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_SsIcI-sERQQ/RXHkn8Nf5vI/AAAAAAAAAAk/NO9m3riyrk0/s400/MarxBros-Icons-NoBorder.png" alt="" id="BLOGGER_PHOTO_ID_5004032035814106866" border="0" /></a><br /><span style="color: rgb(102, 102, 102);font-size:85%;" >Marx Brothers Icons: I Got Paid!<br />(click image for larger view)</span></div>
<p>Recently someone took notice of some of the icons I&#8217;d used in he lab and commissioned me to make him a custom set based on the Marx Brothers, he being a big Marx brothers fan and all. We worked together to figure out what  he would like, and he gave me all kinds of resources and suggestions for the project, but I had a lot of freedom. It was the first and only job I&#8217;ve ever had like that. The first time I&#8217;ve ever had to create something visual for someone other than myself, but he was very cool to work with, I liked the challenge, and it was a really fun process. Basically I worked on it in my spare time, and I&#8217;d show him progress sketches every so often. He&#8217;d give me feedback and I&#8217;d go work on them some more and show him the results when things got good. The thing I liked best about the project was this outside feedback. It really kept me from being lazy. And in the end the icons were far more polished than I think they ever would have been had I just been working on them alone. I&#8217;m kind if a loner in a lot of ways, both professionally and personally. Not a big collaborator. But every now and then it&#8217;s great to have some outside eyes. Some second opinions.</p>
<p>Which, now that I think about it, may be the whole reason to have a blog.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/12/icons-icons-icons.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripts Part 6: Archiver</title>
		<link>http://systemsboy.com/2006/11/scripts-part-6-archiver.html</link>
		<comments>http://systemsboy.com/2006/11/scripts-part-6-archiver.html#comments</comments>
		<pubDate>Thu, 30 Nov 2006 19:14:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[ScriptSharing]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/11/scripts-part-6-archiver/</guid>
		<description><![CDATA[A hint on MacOSXHints yesterday discussed using tar to create backups in Mac OS X. The poster was frustrated with the OS X-bundled version of the zip command, and confused by the way the Finder creates .zip files. Indeed, the Finder does not use the zip command to create its .zip files, and indeed it [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.macosxhints.com/article.php?story=20061128120143184">hint on MacOSXHints yesterday</a> discussed using <span style="font-family:courier new;">tar</span> to create backups in Mac OS X. The poster was frustrated with the OS X-bundled version of the <span style="font-family: courier new;">zip</span> command, and confused by the way the Finder creates .zip files. Indeed, the Finder does not use the <span style="font-family: courier new;">zip</span> command to create its .zip files, and indeed it is confusing. And, more importantly, the <span style="font-family: courier new;">zip</span> command does not preserve all-impotant Mac OS X resource forks.</p>
<p>After reading this hint I was reminded of a script I wrote a while back based on yet <a href="http://www.macosxhints.com/article.php?story=20031118111144197">another</a> MacOSXHints hint that uses <span style="font-family: courier new;">ditto</span> to create Finder-like .zip archives. So it seemed like a good time to post the script here and add it to the waning <a href="http://systemsboy.com/category/ScriptSharing">ScriptSharing</a> series.</p>
<p>So here it is: my Archive script. It will both archive and expand folders or files using ditto, and it places these archives on the Desktop.</p>
<p><a href="http://systemsboy.com/archive/Archiver.command.zip">Archiver Script</a><br /><a href="http://systemsboy.com/archive/Archiver.command">See the code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/11/scripts-part-6-archiver.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Strange Taste</title>
		<link>http://systemsboy.com/2006/11/strange-taste.html</link>
		<comments>http://systemsboy.com/2006/11/strange-taste.html#comments</comments>
		<pubDate>Tue, 28 Nov 2006 21:42:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/11/strange-taste/</guid>
		<description><![CDATA[del.icio.us has suddenly, and for no apparent reason, begun sorting my bookmarks in reverse order. Of course the sort order always seemed completely arbitrary and impossible to configure anyway, but still I got very used to clicking things in that certain, screwy order. And now it&#8217;s backwards. Um&#8230; What The Fuck?&#8230; I&#8217;m irked. Anyone know [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://del.icio.us/">del.icio.us</a> has suddenly, and for no apparent reason, begun sorting my bookmarks in reverse order. Of course the sort order always seemed completely arbitrary and impossible to configure anyway, but still I got very used to clicking things in that certain, screwy order. And now it&#8217;s backwards.</p>
<p>Um&#8230; What The Fuck?&#8230; I&#8217;m irked.</p>
<p>Anyone know a way to sort del.icio.us bookmarks in some logical order, once and for all? Please. I&#8217;m begging.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/11/strange-taste.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using SSH to Send Variables in Scripts</title>
		<link>http://systemsboy.com/2006/11/using-ssh-to-send-variables-in-scripts.html</link>
		<comments>http://systemsboy.com/2006/11/using-ssh-to-send-variables-in-scripts.html#comments</comments>
		<pubDate>Wed, 22 Nov 2006 20:12:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[NIX]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Systems]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/11/using-ssh-to-send-variables-in-scripts/</guid>
		<description><![CDATA[In July I posted an article about sending commands remotely via ssh. This has been immensely useful, but one thing I really wanted to use it for did not work. Sending an ssh command that contained a variable, via a script for instance, would always fail for me, because, of course, the remote machine didn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>In July I posted an article about <a href="http://systemsboy.com/2006/07/send-remote-commands-via-ssh.html">sending commands remotely via <span style="font-family:courier new;">ssh</span></a>. This has been immensely useful, but one thing I really wanted to use it for did not work. Sending an <span style="font-family:courier new;">ssh</span> command that contained a variable, via a script for instance, would always fail for me, because, of course, the remote machine didn&#8217;t know what the variable was.</p>
<p>Let me give an example. I have a script that creates user accounts. At the beginning of the script it asks me to supply a username, among other things, and assigns this to a variable in the script called <span style="font-family:courier new;">$username</span>. Kinda like this:</p>
<div style="border: 1px solid rgb(153, 153, 153); overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:85%;"><span style="font-family:courier new;">echo "Please enter the username for the new user:"read username</span></span></code></pre>
</div>
<p>Later  in the script that variable gets called to set the new user&#8217;s username, and a whole bunch of other parameters. Still later in the script, I need to send a command to a remote machine via <span style="font-family:courier new;">ssh</span>, and the command I&#8217;m sending contains the <span style="font-family:courier new;">$username</span> variable:</p>
<div style="border: 1px solid rgb(153, 153, 153); overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:85%;"><span style="font-family:courier new;">ssh root@home.account.server 'edquota -p systemsboy $username'</span></span></code></pre>
</div>
<p>This command would set the quota of the new user <span style="font-family:courier new;">$username</span> on the remote machine to that of the user systemsboy. But every time I&#8217;ve tried to include this command in the script, it fails, which, if you think about it, makes a whole lot of sense. See, &#8217;cause the remote machine doesn&#8217;t know squat about my script, and when that command gets to the remote machine, the remote machine has no idea who in the hell <span style="font-family:courier new;">$username</span> is. The remote machine reads <span style="font-family:courier new;">$username</span> literally, and the command fails.</p>
<p>The solution to this is probably obvious to hard-core scripters, but it took me a bit of thinkin&#8217; to figure it out. The solution is to create a new variable that is comprised of the <span style="font-family:courier new;">ssh</span> command calling the <span style="font-family:courier new;">$username</span> variable, and then call the new variable (the entire command) in the script. Which looks a little something like this:</p>
<div style="border: 1px solid rgb(153, 153, 153); overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:85%;"><span style="font-family:courier new;">quota=`ssh -t root@home.account.server "edquota -p systemsboy $username"`echo "$quota"</span></span></code></pre>
</div>
<p>So we&#8217;ve created a variable, called <span style="font-family:courier new;">$quota</span>, which is the entire <span style="font-family:courier new;">ssh</span> command, and then we&#8217;ve simply called that variable in the script. That <span style="font-family:courier new;">$quota</span> variable will have the <span style="font-family:courier new;">$username</span> variable already filled in, and the command will now succeed on the remote machine. One thing that&#8217;s important to note here: generally the command being sent over <span style="font-family:courier new;">ssh</span> is enclosed in single-quotes. In this instance, however, it must be enclosed in double-quotes for the command to work. I also used the <span style="font-family:courier new;">-t</span> option in this example (which tells <span style="font-family:courier new;">ssh</span> that the session is interactive, and to wait until it&#8217;s told to return to the local machine) but I don&#8217;t actually think it&#8217;s necessary in this case. Still, it shouldn&#8217;t hurt to have it there, just in case something goes funky.</p>
<p>But so far nothing has gone funky. This seems to work great.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/11/using-ssh-to-send-variables-in-scripts.html/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Directory Access Via the Command Line</title>
		<link>http://systemsboy.com/2006/11/directory-access-via-the-command-line.html</link>
		<comments>http://systemsboy.com/2006/11/directory-access-via-the-command-line.html#comments</comments>
		<pubDate>Sat, 18 Nov 2006 21:24:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[MacOSX]]></category>
		<category><![CDATA[NIX]]></category>
		<category><![CDATA[Server]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/11/directory-access-via-the-command-line/</guid>
		<description><![CDATA[I recently finally had occasion to learn some incredibly handy new command-line tricks I&#8217;ve been wanting to figure out for some time. Namely, controlling Directory Access parameters. I&#8217;ve long hoped for and wondered if there was a way to do this, and some of my more ingenious readers finally confirmed that there was, in the [...]]]></description>
			<content:encoded><![CDATA[<p>I recently finally had occasion to learn some incredibly handy new command-line tricks I&#8217;ve been wanting to figure out for some time. Namely, controlling Directory Access parameters. I&#8217;ve long hoped for and wondered if there was a way to do this, and some of my more ingenious readers finally confirmed that there was, in the comments to a <a href="http://systemsboy.com/2006/09/three-platforms-one-server-part-12-afp.html">recent article</a>. And now, with initiative and time, I&#8217;ve figured it all out and want to post it here for both your and my benefit, and for the ages (or at least until Apple decides to change it).</p>
<p>The occasion for learning all this was a wee little problem I had with my Mac OS X clients. For some reason, which I&#8217;ve yet to determine, a batch of them became hopelessly unbound from the Open Directory master on our network.</p>
<div style="text-align: center;"><a href="http://photos1.blogger.com/x/blogger2/5878/1618/1600/396630/SomeAccountsAvailable.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/5878/1618/400/450395/SomeAccountsAvailable.png" border="0" alt="" /></a></p>
<div style="text-align: center;">Weird Client Problem: &#8220;Some&#8221; Accounts Available? Huh?<br />
(click image for larger view)</div>
</div>
<p>The solution for this was to trash their <span style="font-family:courier new;">DirectoryService</span> preferences folder, and then to rebind them to the server. This was always something I&#8217;d done exclusively from the GUI, so doing it on numerous clients has always been a pain: log into the client machine, trash the prefs, navigate to and open the Directory Access application, authenticate to the DA app, enter the OD server name, authenticate for directory binding, and finally log back out. Lather, rinse, repeat per client. Blech! The command-line approach offers numerous advantages, the most obvious being that this can all be scripted and sent to multiple machines via Apple Remote Desktop. No login required, no GUI needed, and you can do every machine at once.</p>
<p>The command-line tools for doing all this are not exactly the most straightforward set of commands I&#8217;ve ever seen. But they exist, and they work, and they&#8217;re quite flexible once you parse them out. The first basic thing you need to understand is that there are two tools for accomplishing the above: <span style="font-family:courier new;">dscl</span> and <span style="font-family:courier new;">dsconfigldap</span>. The <span style="font-family:courier new;">dsconfigldap</span> command is used to add an LDAP server configuration to Directory Access. The <span style="font-family:courier new;">dscl</span> command adds that server to the Authentication and Contacts lists in Directory Access, and is used to configure the options for service access.</p>
<p>So typically, your first step in binding a client to an OD master in Directory Access is to add it to the list of LDAPv3 servers. This can be done via the command-line with <span style="font-family:courier new;">dsconfigldap</span>, like so:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dsconfigldap -s -a systemsboy.com -n "systemsboy"</span></span></code></pre>
</div>
<p>We like to use directory binding in our configuration, and this can be accomplished too:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dsconfigldap -u diradmin -i -s -f -a systemsboy.com -c systemsboy -n "systemsboy"</span></span></code></pre>
</div>
<p>The above command requires a directory administrator username and interactively requests a password for said user. But if you want to use ARD for all of this, you&#8217;ll need to supply the password in the command itself:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dsconfigldap -u diradmin -p 'DirectoryAdmin_Password' -s -f -a systemsboy.com -c systemsboy -n "systemsboy"</span></span></code></pre>
</div>
<div style="text-align: center;"><a href="http://photos1.blogger.com/x/blogger2/5878/1618/1600/255747/DA003.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/5878/1618/400/600967/DA003.png" border="0" alt="" /></a><br />
Directory Access: Adding an OD Server Configuration<br />
(click image for larger view)</div>
<p>So, there you have it. You&#8217;ve now added your OD master to your list of LDAPv3 servers. You can see this reflected immediately in the Directory Access application. But, unlike in DA, the command does not automatically populate the Authentication and Contacts fields. Your client will not authenticate to the OD master until you have added the OD server as an authentication source. To do this you use <span style="font-family:courier new;">dscl</span>. You&#8217;ll need a custom Search Path for this to work. You may already have one, but if you don&#8217;t you can add one first:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">dscl -q localhost -create /Search SearchPolicy dsAttrTypeStandard:CSPSearchPath</span></span></code></pre>
</div>
<p>And now add the OD master to the Authentication search path you just created:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dscl -q localhost -merge /Search CSPSearchPath /LDAPv3/systemsboy.com</span></span></code></pre>
</div>
<div style="text-align: center;"><a href="http://photos1.blogger.com/x/blogger2/5878/1618/1600/175486/DA004.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="cursor: pointer;" src="http://photos1.blogger.com/x/blogger2/5878/1618/400/292760/DA004.png" border="0" alt="" /></a><br />
Directory Access: Adding an OD Authentication Source<br />
(click image for larger view)</div>
<p>If you want your OD server as a Contacts source as well, run:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dscl -q localhost -merge /Contact CSPSearchPath /LDAPv3/systemsboy.com</span></span></code></pre>
</div>
<p>Again, this change will be reflected immediately in the DA application. You may now want to restart Directory Services to make sure the changes get picked up, like so:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo killall DirectoryService</span></span></code></pre>
</div>
<p>And that&#8217;s really all there is to it. You should now be able to log on as a network user. To test, simply <span style="font-family:courier new;">id</span> a know network-only user:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">id spaz</span></span></code></pre>
</div>
<p>/&gt;If you get this error:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">id: spaz: no such user</span></span></code></pre>
</div>
<p>Something&#8217;s wrong. Try again.</p>
<p>If all is well, though, you&#8217;ll get the user information for that user:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">uid=503(spaz) gid=503(spaz) groups=503(spaz)</span></span></code></pre>
</div>
<p>You should be good to go.</p>
<p>And, if you want to view all this via the command-line as well, here are some commands to get you started.</p>
<p>To list the servers in the configuration:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">dscl localhost -list /LDAPv3</span></span></code></pre>
</div>
<p>To list Authentication sources:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">dscl -q localhost -read /Search</span></span></code></pre>
</div>
<p>To list Contacts sources:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">dscl -q localhost -read /Contact</span></span></code></pre>
</div>
<p>A few things before I wind up. First, some notes on the syntax of these commands. For a full list of options, you should most definitely turn to the <span style="font-family:courier new;">man</span> pages for any of these commands. But I wanted to briefly talk about the basic syntax, because to my eye it&#8217;s a bit confusing. Let&#8217;s pick apart this command, which adds the OD master to the configuration with directory binding and a supplied directory admin username and password:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dsconfigldap -u diradmin -p 'DirectoryAdmin_Password' -s -f -a systemsboy.com -c systemsboy -n "systemsboy"</span></span></code></pre>
</div>
<p>The command is being run as root (<span style="font-family:courier new;">sudo</span>) and is called <span style="font-family:courier new;">dsconfigldap</span>. The <span style="font-family:courier new;">-u</span> option tells the command that we&#8217;ll be supplying the name of the directory admin to be used for binding to the OD master (required for such binding). Next we supply that name, in this case <span style="font-family:courier new;">diradmin</span>. The <span style="font-family:courier new;">-p</span> option allows you to specify the password for that user, which you do next in single quotes. The <span style="font-family:courier new;">-s</span> option will set up secure authentication between server and client, which is the default in DA. The <span style="font-family:courier new;">-f</span> option turns on (&#8220;forces&#8221;) directory binding. The <span style="font-family:courier new;">-a</span> option specifies that you are adding the server (as opposed to removing it). The next entry is the name of the OD server (you can use the Fully Qualified Domain Name or the IP address here, but I prefer FQDN). The <span style="font-family:courier new;">-c</span> option specifies the computer ID or name to  be used for directory binding to the server, and this will add the computer to the server&#8217;s Computers list. And finally, the <span style="font-family:courier new;">-n</span> option allows you to specify the configuration name in the list of servers in DA.</p>
<p>Now let&#8217;s look at this particular use of <span style="font-family:courier new;">dscl</span>:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dscl -q localhost -merge /Search CSPSearchPath /LDAPv3/systemsboy.com</span></span></code></pre>
</div>
<p>Again, <span style="font-family:courier new;">dscl</span> is the command and it&#8217;s being run as root. The <span style="font-family:courier new;">-q</span> option runs the command in quiet mode, with no interactive prompt. (The <span style="font-family:courier new;">dscl</span> command can also be run interactively.) The <span style="font-family:courier new;">localhost</span> field specifies the client machine to run the command on, in this case, the machine I&#8217;m on right now. The <span style="font-family:courier new;">-merge</span> flag tells <span style="font-family:courier new;">dscl</span> that we want to add this data without affecting any of the other entries in the path. The <span style="font-family:courier new;">/Search</span> string specifies the path to the Directory Service datasource to operate on, in this case the &#8220;Search&#8221; path, and the <span style="font-family:courier new;">CSPSearchPath</span> is our custom search path key to which we want to add our OD server, which is named in the last string in the command.</p>
<p>Whew! It&#8217;s a lot, I know. But the beauty is that <span style="font-family:courier new;">dscl</span> and <span style="font-family:courier new;">dsconfigldap</span> are extremely flexible and powerful tools that allow you to manipulate every parameter in the Directory Access application. Wonderful!</p>
<p>Next, to be thorough, I thought I&#8217;d provide the commands to reverse all this — to remove the OD master from DA entirely. So, working backwards, to remove the server from the list of Authentication sources, run:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dscl -q localhost -delete /Search CSPSearchPath /LDAPv3/systemsboy.com</span></span></code></pre>
</div>
<p>To remove it from the from the Contacts source list:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dscl -q localhost -delete /Contact CSPSearchPath /LDAPv3/systemsboy.com</span></span></code></pre>
</div>
<p>And to remove a directory-bound configuration non-interactively (i.e. supplying the directory admin name and password):</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dsconfigldap -u diradmin -p 'DirectoryAdmin_Password' -s -f -r systemsboy.com -c systemsboy -n "systemsboy"</span></span></code></pre>
</div>
<p>If that&#8217;s your only server, you should be back to spec. Just to be safe, restart <span style="font-family:courier new;">DirectoryService</span> again:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo killall DirectoryService</span></span></code></pre>
</div>
<p>If you have a bunch of servers in your Directory Access list, you could script a method for removing them all with the above commands, but it&#8217;s probably easier to just trash the <span style="font-family:courier new;">DirectoryService</span> prefs (in /<span style="font-family:courier new;">Library/Preferences</span>) and restart <span style="font-family:courier new;">DirectoryService</span>.</p>
<p>Lastly, I&#8217;d like to end this article with thanks. Learning all this was kind of tricky for me, and I had a lot of help from a few sources. Faithful readers MatX and Nigel (of <a href="http://explanatorygap.net/">mind the expla</a></p>
<p><a href="http://explanatorygap.net/">natory gap</a> fame) both pointed out the availability of all this command-line goodness. And nigel got me started down the road to understanding it all. Most of the information in this article was also directly gleaned from another site hosted in my home state of Ohio, on a <a href="https://www.math.ohio-state.edu/wiki/administration/macosx/ds_ldapv3">page written by a Jeff McCune</a>. With the exception of a minor tweak here and there (particularly when adding Contacts sources), Jeff&#8217;s instructions were my key to truly understanding all this, and I must thank him profusely. He made the learning curve on all this tolerable.</p>
<p>So thanks guys! It&#8217;s help like this that makes having this site so damn useful sometimes, and it&#8217;s much appreciated.</p>
<p>And now I&#8217;m off to go bind some clients command-line style!</p>
<p><strong>UPDATE:</strong><br />
Got to test all this out real-world style today. Our server got hung up again, and we had the same problem I described at the head of this article. No one could log in. So I started trying to use the command-line to reset the machines. I had one major snag that caused it all to fail until I figured out what was going on. Seems I could not bind my machines to the server using the <span style="font-family: courier new;">-s</span> flag (secure binding). I had thought that this was the default, and that I was using it before, but now I&#8217;m not so sure. In any case, if you&#8217;re having trouble binding or unbinding clients to a server, try the <span style="font-family: courier new;">dsconfigldap</span> command without the <span style="font-family: courier new;">-s</span> flag if you can, like so:</p>
<div style="border: 1px solid #999999; overflow: auto; width: 100%; height: auto;">
<pre><code><span style="font-size:90%;"><span style="font-family:courier new;">sudo dsconfigldap -u diradmin -p 'DirectoryAdmin_Password' -f -a systemsboy.com -c systemsboy -n "systemsboy"</span></span></code></pre>
</div>
<p>That&#8217;s what worked for me. I&#8217;m a little concerned that this is indicative of a problem on my server, but now&#8217;s not really the time to go screwing with stuff, so I&#8217;ll leave it alone for the time being.</p>
<p>This update brought to you by the little letter <span style="font-family: courier new;">-s</span>.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/11/directory-access-via-the-command-line.html/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>Apple Mouse Not So Mighty</title>
		<link>http://systemsboy.com/2006/11/apple-mouse-not-so-mighty.html</link>
		<comments>http://systemsboy.com/2006/11/apple-mouse-not-so-mighty.html#comments</comments>
		<pubDate>Tue, 14 Nov 2006 18:31:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/11/apple-mouse-not-so-mighty/</guid>
		<description><![CDATA[Not long ago I happened to get a deal on an Apple Mighty Mouse from a friend who was unloading one. Figured it would be worth a try. I&#8217;d been curious to see how the thing performed, and the only real way to test how well you and something like a mouse get along is [...]]]></description>
			<content:encoded><![CDATA[<p>Not long ago I happened to get a deal on an <a href="http://www.apple.com/mightymouse/">Apple Mighty Mouse</a> from a friend who was unloading one. Figured it would be worth a try. I&#8217;d been curious to see how the thing performed, and the only real way to test how well you and something like a mouse get along is to actually use one for an extended period of time. So that&#8217;s what I did. I didn&#8217;t mind the Mighty Mouse, actually. If I&#8217;d been coming from anything other than my beloved $13 dollar Logitech optical — perhaps the greatest mouse ever invented, quite possibly mouse perfection — I probably would&#8217;ve liked the Mighty Mouse. It feels just like the old one-button Apple optical, but has the additional convenience of three-button, scroll-wheel goodness. And the omnidirectional scrolling is quite ingenious. Unfortunately, I can&#8217;t say I was totally sold. While I didn&#8217;t hate the mouse as much as a lot of folks, I did find the small, nipple-like scroll-wheel, and the overall lack of physical feedback unsatisfying and at times difficult to use.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/5878/1618/1600/MightyMouse.jpg"><img style="cursor: pointer;" src="http://photos1.blogger.com/blogger2/5878/1618/400/MightyMouse.jpg" alt="" border="0" /></a><br /><span style="color: rgb(102, 102, 102);font-size:85%;" >Apple Mighty Mouse: Pretty but Dumb<br />(click image for larger view)</span></div>
<p>But this isn&#8217;t just a review of the Mighty Mouse. That&#8217;s been done to death at this point. What I really wanted to talk about was design over function. And, of course, how all this relates to The lab.</p>
<p>Not long after my first foray into Mighty Mouse usage, we purchased a bunch of Quad G5s for the lab. These machines shipped with the Mighty Mouse. In years past we replaced our Apple mice with three-button mice (yes, those very same Logitechs I mentioned above) because many users — particularly those using Maya — really require three-button functionality. I was actually pretty excited that, with the Mighty Mouse included, this would be the first year in some time I didn&#8217;t have to go buy new mice for our Macs. There was some initial confusion among users, as the Mighty Mouse is configured in one-button mode by default. So educating the students about configuring the mouse for three-button functionality was necessary. That turned out to be quite easy, and before long those folks who wanted to be were up and running. But after a month or two I got a request generated by the student body in one of the Student Representative meetings for — yup, you guessed it — new mice. The consensus was that people really hated the Mighty Mouse, preferring, like I do, the cheap but wonderful Logitech alternative.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/5878/1618/1600/LogitechMouse.jpg"><img style="cursor: pointer;" src="http://photos1.blogger.com/blogger2/5878/1618/400/LogitechMouse.jpg" alt="" border="0" /></a><br /><span style="color: rgb(102, 102, 102);font-size:85%;" >The Logitech El-Cheapo Premium Optical Mouse: Best. Mouse. Ever.<br />(click image for larger view)</span></div>
<p>Let&#8217;s look at this Logitech mouse for a minute. The Logitech Premium Optical Mouse <a href="http://www.macmall.com/macmall/shop/detail.asp?dpno=7122184&#038;Redir=1">lists on MacMall</a> for $12.99 as of this writing (it no longer appears at <a href="http://www.logitech.com/index.cfm/products/productlist/US/EN,crid=2199,sortby=default,viewall=1">Logitech&#8217;s online store</a>, and is becoming hard to find, sadly). That&#8217;s less than 1/4 the price of the Mighty Mouse. But, while the design of the Apple mouse is beautiful, the Logitech&#8217;s design is brilliantly functional (and not terribly hideous, actually). The Logitech features big buttons and a big scroll-wheel. The buttons make a both an audible and a physical click when pressed, and the scroll wheel also makes physical clicks when you move it. This feedback, and the size of the controls let you know that you&#8217;re actually using the mouse in the way you intend. I&#8217;d bet the resistance of the buttons and wheel even reduce the likelihood of repetitive strain injuries, though if not they&#8217;re certainly far more psychologically satisfying to me than the practically invisible Mighty Mouse controls. Do they look as nice? No. But they <span style="font-style: italic;">feel</span> great. And how much time do you spend looking at your mouse versus holding it? The other thing I appreciate about the Logitech is that it has a great ergonomic shape. This is something I&#8217;m really picky about, and it was the initial thing that sold me on the Logitech. This basic, early-nineties mouse shape — the one with a little hump on the back where your palm rests — is ideal for me. I find it very comfortable. Feedback and comfort: two important things that the Mighty Mouse simply lacks. (Sorry, but a speaker-generated &#8220;click&#8221; sound just doesn&#8217;t cut it for me.)</p>
<p>I think it&#8217;s great that Apple finally decided to start making three-button mice. And I think they did so in some truly innovative ways. I can&#8217;t even say I really hate the Mighty Mouse. It&#8217;s just that there are far better alternatives for a lot less money. And I expect more from Apple. The look of Apple&#8217;s mice has long been stunning, if not always <a href="http://en.wikipedia.org/wiki/Image:Apple_iMac_USB_mouse.png">very functional</a>. Unfortunately, design over functionality just doesn&#8217;t fly for those of us who use computers all day long. A mouse needs to <span style="font-style: italic;">feel</span> good more than it needs to <span style="font-style: italic;">look</span> good. It is, after all, a device for the hand. And while it may just be my opinion that the Mighty Mouse is bested by the cheapest Logitech mouse on the market, a whole department of staff, faculty and students agrees with me. Not at all scientific, but that&#8217;s pretty damning evidence, if you ask me.</p>
<p>Apple is king when it comes to combining function and aesthetics. You see it in the iPod. You see it in their computers. You see it in their software. Their monitors are heaven to look at. Their products usually work the best <span style="font-style: italic;">and</span> look the best, in my experience. But they always seem to blow it when it comes to mice, and unfortunately, the Mighty Mouse is no exception. While Apple made the right move supplying its users with a true three-button mouse solution, I&#8217;m afraid they blew it on the implementation. Here&#8217;s hoping they keep at it, though. I&#8217;d love for Apple to produce a mouse I can love.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/11/apple-mouse-not-so-mighty.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Software Licensing and Registration Hell</title>
		<link>http://systemsboy.com/2006/11/software-licensing-and-registration-hell.html</link>
		<comments>http://systemsboy.com/2006/11/software-licensing-and-registration-hell.html#comments</comments>
		<pubDate>Mon, 13 Nov 2006 00:10:00 +0000</pubDate>
		<dc:creator>systemsboy</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Lab]]></category>

		<guid isPermaLink="false">http://systemsboy.com/2006/11/software-licensing-and-registration-hell/</guid>
		<description><![CDATA[Is it just me, or has software licensing and registration in some quarters become a total nightmare? Case in point: Today I&#8217;m trying to install Autodesk&#8217;s Combustion 4, a fine compositing and effects program, somewhat akin to Adobe&#8217;s AfterEffects. From a SysAdmin&#8217;s standpoint, however, the two are night and day. To activate AfterEffects, one simply [...]]]></description>
			<content:encoded><![CDATA[<p>Is it just me, or has software licensing and registration in some quarters become a total nightmare? Case in point: Today I&#8217;m trying to install Autodesk&#8217;s Combustion 4, a fine compositing and effects program, somewhat akin to Adobe&#8217;s AfterEffects. From a SysAdmin&#8217;s standpoint, however, the two are night and day. To activate AfterEffects, one simply need install it and enter the serial number provided with the software bundle. That&#8217;s it. It&#8217;s done. Ready to use. Moreover, this one serial number is valid for the number of machines specified by our license agreement with the company. Adobe trusts me to install the software only on the number of machines agreed upon by our license contract, or to otherwise monitor licenses on our network. The software does not perform network license checks to see if we&#8217;ve exceeded our licenses. Adobe leaves that to me. That&#8217;s my job, after all, and I get in big trouble if I fail to do that job. In this scenario, the onus of license enforcement falls to me. Adobe trusts me to do my job, and in return, installing software is fairly straightforward. It&#8217;s a good deal.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/5878/1618/1600/CombustionSplash.png"><img style="cursor: pointer;" src="http://photos1.blogger.com/blogger2/5878/1618/400/CombustionSplash.png" alt="" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Autodesk Combustion Splash Screen</span><span style="color: rgb(102, 102, 102);"><br />(click image for larger view)</span></span></div>
<p>Other software manufacturers, however, are not so trusting and approach software license management via far more convoluted and Byzantine methods. Autodesk is among these companies. To install Combustion, not only do I have to provide a serial number, I also need to provide an authorization number. This authorization number can be obtained by registering each and every copy of Combustion I intend to use. The process of installing just one copy of Combustion goes something like this:</p>
<p>1. Install the software from disk.<br />2. Launch the application and type in the serial number for this copy.<br />3. Activate the &#8220;Licensing Wizard.&#8221;</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/5878/1618/1600/LicenseSplash.2.png"><img style="cursor: pointer;" src="http://photos1.blogger.com/blogger2/5878/1618/400/LicenseSplash.2.png" alt="" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Autodesk Registration Splash Screen: Here We Go&#8230;</span><span style="color: rgb(102, 102, 102);"><br />(click image for larger view)</span></span></div>
<p>4. Upon magical transportation to the Autodesk registration page, register the software by entering every personal or professional detail they can think to ask you about, including the serial number of said copy of said software.<br />5. Check your email, where you should shortly receive the authorization number for your copy of Combustion.<br />6. Enter this Authorization Code into the special box.<br />7. You should finally be able to use Combustion.<br />8. Lather, rinse, repeat for every copy you bought.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/5878/1618/1600/License02.2.0.png"><img style="cursor: pointer;" src="http://photos1.blogger.com/blogger2/5878/1618/400/License02.2.0.png" alt="" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Autodesk Registration Panel: Are We Having Fun Yet?</span><span style="color: rgb(102, 102, 102);"><br />(click image for larger view)</span></span></div>
<p>Whew!</p>
<p>Okay, there are a couple of big problems with this scenario. First off, if there&#8217;s any problem along this insane route, you can get quite stuck. In my case, the registration site did not work. The error page directed me to file a Customer Service Request, but the link to said request was also broken. This means that I will have to register my software either by fax, mail or possibly telephone. It also means I will have to do this myself for each and every copy of Combustion I&#8217;ve purchased. I have five copies. Thank god I don&#8217;t have more, because it&#8217;s going to take me a while to install this software. And this is the other problem with this sort of arcane licensing scheme: It doesn&#8217;t scale. Imagine if I had a hundred machines I wanted to install Combustion on. It&#8217;s practically infeasible at worst, unbelievably annoying at best. And I have to say, all it makes me want to do is buy any product other than Combustion, just to avoid the install hassles.</p>
<div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger2/5878/1618/1600/RegSite.2.0.png"><img style="cursor: pointer;" src="http://photos1.blogger.com/blogger2/5878/1618/400/RegSite.2.0.png" alt="" border="0" /></a><br /><span style="font-size:85%;"><span style="color: rgb(102, 102, 102);">Autodesk Online Registration: Broken!</span><span style="color: rgb(102, 102, 102);"><br />(click image for larger view)</span></span></div>
<p>There are a number of software companies besides Autodesk that use these sorts of tactics: Cycling &#8217;74 and Digidesign spring immediately to mind as some of the most heinous offenders, but there are others. They seem to think that the best way to protect their intellectual property is to make their products difficult to install and maintain. The companies that do it right are ones like Apple, Adobe and, shockingly, Microsoft. These companies have volume license schemes and educational versions of their products that are relatively easy for institutions to install and maintain. They recognize the value of getting their software in the hands and minds of young users, and they make it as easy to do so as possible. And I think they recognize the value of happy SysAdmins, too. They know we&#8217;re the ones who make the recommendations for future purchases, and that maybe — just maybe — it might be a good idea to not make our lives a total living hell.</p>
<p>So, to Autodesk and others like you, here&#8217;s a little secret: Systems Administrators hate you. We hate your fucking guts. Because, for us, installing your software is ten kinds of torture. There&#8217;s no reason  for you to do this except for a clear contempt on your part towards the SysAdmin community, and most likely your users in general. Or just general stupidity. You&#8217;re not stopping anyone from stealing your software, and frankly you&#8217;re keeping those of us who plan to use it legitimately from even wanting to do so. In fact, I&#8217;d argue that stealing your software is far easier than installing it legitimately. So all you&#8217;re really doing is punishing your legitimate users. It&#8217;s so stupid, and I&#8217;m so sick of it, and I&#8217;m sure I&#8217;m not alone. But more than that, it&#8217;s just bad business. The next time someone asks me to recommend a piece of compositing software, I&#8217;ll think of all the hassle I had to go through to install Combustion.</p>
<p>And then I&#8217;ll recommend AfterEffects.</p>
<p><span style="font-weight: bold; color: rgb(102, 102, 102);">UPDATE:</span><br />In the comments some astute readers have provided a link to a whole site that deals with application installers and requirements that present problems from the standpoint of educational lab administration. The site is more concerned with apps that  require user-level authorization files or user-level access to parts of the filesystem that should be protected, while my article deals more with plain-old annoying installers and licensing schemes. Still, it&#8217;s a great site, and a good compliment to this post, and I wanted to link to it directly:<br /><a href="http://www.macos.utah.edu/documentation/administration/poorly</p>
<p>-made_apps.html">Poorly-Made Applications</a></p>
<p>Amazingly, some of these practices are holdovers from the OS 9 days, when security and multiple users weren&#8217;t really issues to Apple or developers (or Lab Admins). It&#8217;s shocking to me that after all this time a lot of software developers still can&#8217;t figure out how to properly, securely, or even conveniently install apps in Mac OS X.</p>
<p>Thanks to those who sent in the link.</p>
]]></content:encoded>
			<wfw:commentRss>http://systemsboy.com/2006/11/software-licensing-and-registration-hell.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
