<?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>Musings of an Anonymous Geek &#187; PHP</title>
	<atom:link href="http://www.protocolostomy.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.protocolostomy.com</link>
	<description>Made with only the finest 1's and 0's</description>
	<lastBuildDate>Thu, 03 Nov 2011 04:08:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Why Open Shop In California?</title>
		<link>http://www.protocolostomy.com/2010/06/03/why-open-shop-in-california/</link>
		<comments>http://www.protocolostomy.com/2010/06/03/why-open-shop-in-california/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 12:44:00 +0000</pubDate>
		<dc:creator>bkjones</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.protocolostomy.com/?p=795</guid>
		<description><![CDATA[DISCLAIMER: I live on the East Coast, so these are perceptions and opinions that I don&#8217;t put forth as facts. I&#8217;m more asking a question to start a dialog than professing knowledge. So, I just heard a report claiming that there are more IT jobs than techs to fill them in Southern California. Anyone who [...]]]></description>
			<content:encoded><![CDATA[<p>DISCLAIMER: I live on the East Coast, so these are perceptions and opinions that I don&#8217;t put forth as facts. I&#8217;m more asking a question to start a dialog than professing knowledge.</p>
<p>So, I just heard a report claiming that there are more IT jobs than techs to fill them in Southern California. Anyone who ever reads a tech job board and/or TechCrunch has also no doubt taken note that a vast majority of startups seem to be starting up there, and that there are just a metric asston of jobs there anyway. </p>
<p>This boggles my mind. This is a place with an extremely high cost of living, making labor more expensive. At the same time, aren&#8217;t there rolling power outages in CA? Does that not effect corporations or something? Do they just move their datacenters across the border to another state? </p>
<p>Between what I would think is an amazingly high labor cost and what I would think is an unfavorable place in terms of simple things like availability of power, I would think more places would look elsewhere for expansion or startups. </p>
<p>I live within spitting distance of at least 5 universities with engineering departments that I think would rate at the very least &#8220;solid&#8221;, many would rate better. I would guess that I could get to any Ivy League school in 6 hours or less, driving (3 are within an hour of my NJ home). MIT and Stevens are very good non-Ivy schools, and lots of other ones like Rutgers, NJIT, Penn State, NYU, and lots more are here, and those are just a few of the ones between NYC and Philadelphia, which are less than 2 hours apart. So&#8230;. there&#8217;s a labor pool here. </p>
<p>Is it tax breaks? Some aspect of the political atmosphere? Transportation? Is San Francisco such a clean, safe, friendly city that you just deal with the nonsense to live there? </p>
<p>What&#8217;s your take on this? </p>
]]></content:encoded>
			<wfw:commentRss>http://www.protocolostomy.com/2010/06/03/why-open-shop-in-california/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>New Job, Car, Baby, and Other News</title>
		<link>http://www.protocolostomy.com/2009/10/22/new-job-car-baby-and-other-news/</link>
		<comments>http://www.protocolostomy.com/2009/10/22/new-job-car-baby-and-other-news/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 02:02:48 +0000</pubDate>
		<dc:creator>bkjones</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[LinuxLaboratory]]></category>
		<category><![CDATA[Other Cool Blogs]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.protocolostomy.com/?p=631</guid>
		<description><![CDATA[New Baby! I know this is my geek blog, but geeks have kids too, so first I want to announce the birth of our second daughter, Sadie, who was born on September 15th. She&#8217;s now over a month old. This is the first time I&#8217;ve stayed up late enough to blog about her. Everyone is [...]]]></description>
			<content:encoded><![CDATA[<h3>New Baby!</h3>
<p>I know this is my geek blog, but geeks have kids too, so first I want to announce the birth of our second daughter, Sadie, who was born on September 15th. She&#8217;s now over a month old. This is the first time I&#8217;ve stayed up late enough to blog about her. Everyone is healthy, if slightly sleep-deprived <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>New Job!</h3>
<p>The day before Sadie&#8217;s birth, I got a call with an offer for a job. A *full-time* job, as a Senior Operations Developer for <a href="http://myyearbook.com">MyYearbook.com</a>. After learning about the cool and very geeky things going on at MyYearbook during the interview process, I couldn&#8217;t turn it down. I started on October 5, and it&#8217;s been a blast digging into all of the cool stuff going on there. While I&#8217;m certainly doing my fair share of PHP code review, maintenance, and general coding, I&#8217;m also getting plenty of hours in working out the Python side of my brain. I&#8217;m finding that while it&#8217;s easier switching gears than I had anticipated, I do make some really funny minor syntax errors, like using dot notation to access object attributes in PHP ;-P</p>
<p>What I find super exciting is something that might turn some peoples&#8217; stomachs: at the end of my first week, I sat back and looked at my monitors to find roughly 15 tabs in Firefox open to pages explaining various tools I&#8217;d never gotten to use, protocols I&#8217;ve never heard of, etc. I had my laptop and desktop both configured with 2 virtual machines for testing and playing with new stuff. I had something north of 25 terminal windows open, and 8 files open in Komodo Edit.</p>
<p>Now THAT, THAT is FUN!</p>
<p>The projects I&#8217;m working on run the gamut from code cleanups that nobody else has had time to do (a good tool for getting my brain wrapped around various parts of the code base), to working on scalability solutions and new offerings involving my background in coding *and* system administration. It&#8217;s like someone cherry-picked a Bay Area startup and dropped it randomly 30 minutes from my house.</p>
<p>My own business is officially &#8220;not taking new clients&#8221;. I have some regular clients that I still do work for, so my &#8220;regulars&#8221; are still being served, but they&#8217;ve all been put on notice that I&#8217;m unavailable until the new year.</p>
<h3>New Car!</h3>
<p>I&#8217;m less excited about the new car, really. I used to drive a Jeep Liberty, and I loved it. However, in early September, before Sadie&#8217;s arrival, it became clear to me that putting two car seats in that beast wasn&#8217;t going to happen. The Jeep is great for drivers, and it has some cargo space. It&#8217;s not a great vehicle for passengers, though.</p>
<p>At the same time, I was running a business (this was before the job offer came along), and I was finding myself slightly uncomfortable delivering rather serious business proposals in a well-used 2003 Jeep. So, I needed something that could fit my young family (my oldest is 2 yrs), and that was presentable to clients. So, I got a Lexus ES350.</p>
<p>I like most things about the car, except for the audio system. It seems schizophrenic to me to have like 6 sound &#8216;zones&#8217; to isolate the audio to certain sets of speakers, but then controls like bass and treble only go from 0 to 5. Huh? And the sound always sounds like it&#8217;s lying on the floor for some reason. It&#8217;s not at all immersive. The sound system on my Jeep completely kicked ass. I miss it. A lot.</p>
<h3>Other News</h3>
<p>I&#8217;ve submitted an article to <a href="http://pythonmagazine.com">Python Magazine</a> about my (relatively) recent work with Django and my (temporarily stalled) overhaul of <a href="http://linuxlaboratory.org">LinuxLaboratory.org</a>, and my experiences with various learning resources related to Django. If you&#8217;re looking to get into Django, it&#8217;s probably a good read.</p>
<p>I&#8217;ve been getting into some areas of Python that were previously dark, dusty corners, so hopefully I&#8217;ll be writing more about Python here, because writing about something helps me to solidify things in my own brain. Short of that, it serves as a future reference point in case it didn&#8217;t get solidified enough <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>My sister launched<a href="http://thedancejones.com/blog"> The Dance Jones</a>, a blog where she talks about fitness, balance, dance, and stuff I should probably pay much more attention to (I&#8217;m close to declaring war on my gut). Also, if you ever wanted to know how to <a href="http://thedancejones.com/blog/2009/10/19/how-to-shoulder-shimmy/">shoulder shimmy</a> (and who hasn&#8217;t wanted to do that?), you should check it out <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.protocolostomy.com/2009/10/22/new-job-car-baby-and-other-news/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Sys/DB Admin and Coder Seeks Others To Build Web &#8220;A-Team&#8221;</title>
		<link>http://www.protocolostomy.com/2009/09/09/sysdb-admin-and-coder-seeks-others-to-build-web-a-team/</link>
		<comments>http://www.protocolostomy.com/2009/09/09/sysdb-admin-and-coder-seeks-others-to-build-web-a-team/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 15:20:22 +0000</pubDate>
		<dc:creator>bkjones</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Freelancing]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.protocolostomy.com/?p=627</guid>
		<description><![CDATA[UPDATE: There&#8217;s no location requirement. I kind of assume that I&#8217;m not going to find the best people by geographically limiting my search for potential partners. Me: Live in Princeton, NJ area. Over 10 years experience with UNIX/Linux administration, databases and data modeling, and PHP/Perl. About 3 years experience using Python for back-end scripting and [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE: There&#8217;s no location requirement. I kind of assume that I&#8217;m not going to find the best people by geographically limiting my search for potential partners. <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Me: Live in Princeton, NJ area. Over 10 years experience with UNIX/Linux administration, databases and data modeling, and PHP/Perl. About 3 years experience using Python for back-end scripting and system automation, and less than a year of Django experience. Former Director of Technology for AddThis.com (it was bought out), Infrastructure Architect at cs.princeton.edu, and systems consultant/trainer. Creator of Python Magazine, former Editor in Chief of both php|architect *and* Python Magazine, and co-author of &#8220;Linux Server Hacks, volume 2&#8243; (O&#8217;Reilly).</p>
<p>You are one of these:</p>
<ul>
<li>Web graphic designer who has worked on several web-based projects for clients in various industries, understands current best practices and standards, has the tools and experience necessary to create custom graphics, and has some familiarity (secondarily) with PHP and/or Python, Javascript and Ajax. If you regularly make use of table-based web designs or ActiveX controls, this isn&#8217;t you.</li>
<li>Hardcore web developer with at least 6 years experience doing nothing but web-based projects using Javascript and (at some point) *both* PHP and Python, and has worked with or has an interest in Django, Cake, and other frameworks, and understands that client needs often don&#8217;t coincide with the religion of fanboyism. Knowledge of Javascript, Ajax, web standards and security is essential here. If your last &#8220;big project&#8221; was volunteer work to build a website for your kid&#8217;s soccer team, this isn&#8217;t you.</li>
<li>A generalist webmaster (sysadmin/db admin/scripter) with at least 6 years experience working in production *nix environments with good familiarity in the areas of high availability, web servers (specifically Apache), proxy servers and monitoring, and has worked with/supported users like the ones mentioned above on web-based projects. If you have to look at the documentation to figure out how to implement a 301 redirect, this probably isn&#8217;t you.</li>
</ul>
<p>Experience working on a team in larger projects with multiple people would be good. Note that I&#8217;m looking for people to partner with on projects, I&#8217;m not hiring full time employees. Future partnership in a proper business is certainly a possibility, but&#8230; baby steps! I do have a couple of domains that would be great for use with this kind of project if it ever progresses that far <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I know that other people are out there looking for people to partner with on projects, but there doesn&#8217;t appear to be a common place for them to interact. Maybe that can be a project we undertake together <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   &#8212; if there *is* a place where people meet up for this kind of thing, let me know!</p>
<p>Let&#8217;s have fun, and take over the world! Shoot me an email at &#8220;bkjones&#8221; @ Google&#8217;s mail domain.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.protocolostomy.com/2009/09/09/sysdb-admin-and-coder-seeks-others-to-build-web-a-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If You Code, You Should Write</title>
		<link>http://www.protocolostomy.com/2009/09/09/if-you-code-you-should-write/</link>
		<comments>http://www.protocolostomy.com/2009/09/09/if-you-code-you-should-write/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 14:14:54 +0000</pubDate>
		<dc:creator>bkjones</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.protocolostomy.com/?p=624</guid>
		<description><![CDATA[The Practice of Programming Programmers are, in essence, problem solvers. They live to solve problems. When they identify a problem that needs solving, they cannot resist the temptation to study it, poke and prod it, and get to know it intimately. They then start considering solutions. At this point, the programmer is not often thinking [...]]]></description>
			<content:encoded><![CDATA[<h3>The Practice of Programming</h3>
<p>Programmers are, in essence, problem solvers. They live to solve problems. When<br />
they identify a problem that needs solving, they cannot resist the temptation<br />
to study it, poke and prod it, and get to know it intimately. They then start<br />
considering solutions. At this point, the programmer is not often thinking in<br />
code &#8212; they&#8217;re thinking about the problem using high-level concepts and terms<br />
that most non-programmers would understand.</p>
<p>Consider the problem of how to post a news story to a website. The programmer<br />
might think about the solution this way:</p>
<ul>
<li>Log in</li>
<li>Go to &#8216;new story&#8217; page</li>
<li>Enter title and text</li>
<li>Press &#8216;submit&#8217;</li>
</ul>
<p>Of course, there are a million details in between those points, and after them<br />
as well. The programmer knows this, but defers thinking about details until the<br />
higher-level solution makes sense and seems reasonable/plausible. Later in the<br />
process they&#8217;ll think about things like the site&#8217;s security model, WYSIWYG<br />
editors, tags and categories, icons, avatars, database queries and storage, and<br />
the like.</p>
<p>Once they&#8217;ve reached a point where they&#8217;re satisfied that their solution will<br />
work and is thoughtful of the major points to be considered in the solution,<br />
they open an editor, and begin to type things that make no sense to their<br />
immediate family. Programmers express their solutions in code, of course, but<br />
they express them nonetheless, and this is not a trivial point.</p>
<h3>The Parallels Between Programming and Writing</h3>
<p>Writers often take the exact same course as do programmers. Programmers and<br />
writers alike are often given assignments. Assignments take the form of a<br />
problem that needs solving. For a programmer it&#8217;s a function or method or class<br />
that needs implementing to perform a certain task. For a writer it&#8217;s an article<br />
or column or speech that covers a particular topic. So in these cases, the<br />
problem identification is done for you (not that more discovery can&#8217;t be done<br />
&#8211; in both cases).</p>
<p>Next is the conception of the solution. Programmers puzzle over the problem,<br />
its context in the larger application or system, its scope, and its complexity.<br />
Writers puzzle over their topic space, its breadth and depth, and its context<br />
in the bigger picture of what their publication tries to accomplish. In both<br />
cases, writer and programmer alike take some time and probably kill some trees<br />
as they attempt to organize their thoughts.</p>
<p>At some point, for both writer and programmer, the time comes to use some tool<br />
to express their thoughts using some language. For a writer, they open a text<br />
editor or word processor and write in whatever language the publication<br />
publishes in. For the programmer, they open an IDE or editor and write using the<br />
standard language for their company, or perhaps their favorite language, or (in<br />
rare cases), the best language for accomplishing the task.</p>
<p>In neither case is this the end of the story. Programmers debug, tweak, and<br />
reorganize their code all the time. Writers do the exact same thing with their<br />
articles (assuming they&#8217;re of any length). Both bounce ideas off of their<br />
colleagues, and both still have work to do after their first take is through.<br />
Both will go at it again, both with (hopefully) a passion that exists not<br />
necessarily for the particular problem they&#8217;re solving, but for the sheer act<br />
of solving a problem (or covering a topic), whatever it may be.</p>
<p>Finally, once things are reviewed, and all parts have been carefully<br />
considered, the writer submits his piece to an editor for review, and the<br />
programmer submits to a version control system which may also be attached to an<br />
automated build system. Both may have more work to do.</p>
<h3>Starting Out</h3>
<p>The process is essentially the same. If you&#8217;re a new programmer, you can expect<br />
to have more than your fair share of bugs. If you&#8217;re a new writer, you can<br />
likewise expect your piece to look a bit different in final form than it did<br />
when you submitted it to the editor.</p>
<p>Just like programming, writing isn&#8217;t something you do perfectly from day one.<br />
It&#8217;s something that takes practice. At first it seems like an arduous process,<br />
but you get through it. As time passes, you start to realize that you&#8217;re going<br />
faster, and stumbling less often. Eventually you get to a point where you can<br />
crank out 1500-2000 words on your lunch hour without needing too much heavy<br />
revising.</p>
<h3>You Should Write</h3>
<p>So, I say &#8220;you should write&#8221;. As someone who owes his career to books and<br />
articles (not to mention friendly people far more experienced than myself), I<br />
consider it giving back to the medium that launched my career, and helping<br />
others like others helped me. I hope I can make the technological landscape<br />
better in some small way. If we all did that, we&#8217;d be able to collectively<br />
raise the bar and improve things together.</p>
<p>If altruism isn&#8217;t your bag, or you&#8217;re just hurting from the recent economic<br />
crisis, know that it&#8217;s also possible to make money writing as well. It&#8217;s not<br />
likely to become your sole occupation unless you happen to live in a VW Bus, or<br />
you do absolutely nothing else but write full time, all the time. However, it<br />
can be a nice supplement to a monthly salary, and if done regularly over the<br />
course of a year is more than enough to take care of your holiday shopping<br />
needs.</p>
<p>I&#8217;ve had good experiences writing for editors at php|architect and Python<br />
Magazine (I *was* an editor at both magazines, but you don&#8217;t edit your own<br />
work!), O&#8217;Reilly (oreillynet.com and a book as well), Linux.com (when it was<br />
under the auspices of the OSTG), TUX and Linux Magazine (both now defunct), and<br />
others. I encourage you to go check out the &#8220;write for us&#8221; links on the sites<br />
of your favorite publications, where you&#8217;ll find helpful information about<br />
interacting with that publications editors.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.protocolostomy.com/2009/09/09/if-you-code-you-should-write/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cool Mac/Mobile Software for Sysadmins, Programmers, and People</title>
		<link>http://www.protocolostomy.com/2009/09/03/cool-macmobile-software-for-sysadmins-programmers-and-people/</link>
		<comments>http://www.protocolostomy.com/2009/09/03/cool-macmobile-software-for-sysadmins-programmers-and-people/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 19:55:34 +0000</pubDate>
		<dc:creator>bkjones</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.protocolostomy.com/?p=622</guid>
		<description><![CDATA[I recently upgraded my primary workhorse (a MacBook Pro) to Snow Leopard. Before I did, I decided to go through and take stock of all of the documents and software I&#8217;d accumulated. While I was doing this, I simultaneously got into a conversation with a buddy of mine about the software he uses on his [...]]]></description>
			<content:encoded><![CDATA[<p>I recently upgraded my primary workhorse (a MacBook Pro) to Snow Leopard. Before I did, I decided to go through and take stock of all of the documents and software I&#8217;d accumulated. While I was doing this, I simultaneously got into a conversation with a buddy of mine about the software he uses on his Macs. Turns out he maintains <a href="http://www.a440.org/mac_software">a whole page</a> devoted to (mostly non-geek, but still somehow geeky) Mac software he uses. </p>
<p>I decided to go ahead and list the software I use for stuff whether it was geeky or not. Then I realized that pretty much all of the software I use is kinda geeky. I guess if you&#8217;re someone who&#8217;s going to create a list of software you use, it&#8217;s pretty hopeless. </p>
<p>So&#8230; here&#8217;s what I&#8217;m using. Suggestions welcome in the comments! </p>
<h3>Social Media</h3>
<ul>
<li><a href="http://www.atebits.com/tweetie-mac/">Tweetie</a></li>
<li><a href="http://www.twitterlocal.net/">Twitterlocal</a></li>
<li><a href="http://tweetdeck.com/beta/">Tweetdeck</a></li>
<li><a href="http://tweetgrid.com">TweetGrid</a></li>
<li><a href="http://brightkite.com">Brightkite</a> (iPhone)</li>
<li><a href="http://linkedin.com">LinkedIn</a></li>
</ul>
<p>My <a href="http://www.twitter.com/bkjones">Twitter</a> account updates my <a href="http://www.facebook.com">Facebook</a> status. My <a href="http://www.brightkite.com">Brightkite</a> checkins update the location information on my Twitter account. It also sends a tweet&#8230; which updates my Facebook status. I pay less attention to the ongoing status in my <a href="http://www.linkedin.com">LinkedIn</a> account, but it gets updated automatically as well, I just don&#8217;t remember how or by what anymore. </p>
<p>I&#8217;ve tried a bunch of Twitter clients. Tweetie is &#8220;good enough&#8221;. It&#8217;s the one I use most often. If I need something hardcore I use Tweetdeck or TweetGrid, which has the benefit of being web-based. </p>
<p>TwitterLocal lets you put in your location and a radius, and then shows you tweets from people who are discernibly near you. I think Brightkite does a better overall job with this, since its whole reason for being is to be location-aware, but it seems like I get fewer updates than with TwitterLocal. </p>
<h3>Communication</h3>
<ul>
<li><a href="http://colloquy.info/">Colloquy</a></li>
<li>Tweetie</li>
<li>Mail</li>
<li>Skype</li>
<li>Google Talk</li>
</ul>
<p>Right. Twitter is also a communication tool. I have, in fact, checked in with people via Twitter. It&#8217;s not how I typically use it, but I think it counts <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>I have to use both Skype and Google Talk because I&#8217;m on the road a lot (I&#8217;m a consultant) and there are enough hotels who do stupid things with their network that I&#8217;m forced to use whichever one works on that particular network. Though I mostly use GMail for mail, it&#8217;s gone down a few times on me, so it&#8217;s good to have Mail around. I&#8217;ve recently found GMail notifier to be almost useless as well, so when I use Mail, I find that getting alerted to incoming messages frees my brain. I use <a href="http://www.bronsonbeta.com/mailappetizer/">Mail.appetizer</a> to show me previews of incoming mail so I don&#8217;t have to switch gears from what I&#8217;m doing to see the latest spam. Note, however, that it&#8217;s not quite ready for Snow Leopard. </p>
<p>I haven&#8217;t tried Mail in Snow Leopard yet. If they ever fix the search functionality (I find it useless) I&#8217;ll stop using the GMail interface. I&#8217;ve tried thunderbird, but its search is even worse (or was, the last time I tried it). </p>
<h3>Fun Stuff</h3>
<ul>
<li>GarageBand</li>
<li><a href="http://www.flickr.com/tools/uploadr/">Flickr Uploadr</a></li>
<li>iPhoto</li>
<li><a href="http://stella.sourceforge.net">StellaOSX</a></li>
<li>Sim City 4</li>
</ul>
<p>I play guitar and piano, and have also played drums, saxophone, and lots of other noise-making apparatuses. I like that GarageBand will let me put down bass and drum tracks without having to own a bass or drum set. </p>
<p>I also enjoy photography, though I don&#8217;t often get out on long quiet hikes in nature or gastronomical adventures that would make for the kinds of stunning things I see on Flickr all the time. However, I do have a family, and we do travel, so while not even 10% of my pics on Flickr are stock quality photos, at least 90% of them are interesting to me personally <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>iPhoto I see as a necessary evil these days. I used to love it, but now that it tries to help me out by autocategorizing on things that, as it turns out, are pretty arbitrary in the context of my life, I don&#8217;t like it as much. It&#8217;s good for quick touch-ups though. I&#8217;ve saved a number of pics with it. </p>
<p>StellaOSX is an Atari 2600 emulator for the Mac that comes with like, I dunno, thousands of ROMs? If you miss your old Atari games, and you have a Mac, it&#8217;s all you&#8217;ll ever need. </p>
<p>Sim City 4 is a city-building game. If you haven&#8217;t heard of Sim City before, it&#8217;s not like the Sims. At all. I don&#8217;t get that game, in fact. Sim City is a game where you have to try to build a city, build its wealth and prestige, and try to keep the residents happy as well. </p>
<h3>Productivity</h3>
<ul>
<li><a href="http://culturedcode.com/things/">Things for Mac</a> (and iPhone)</li>
<li>Google Calendar</li>
<li>iCal</li>
</ul>
<p>Things for Mac is the first application I&#8217;ve personally seen that seamlessly syncs with Things for my iPhone. It works great. It&#8217;s not a full-blown project management solution, but it&#8217;s more than a todo list. It&#8217;s not about work-related stuff, either. Things is really about keeping my personal things in order. I have to call the township for an inspection on my recent AC replacement, schedule for a followup doctor visit for my dog, hire an insulation contractor by the fall, send out my quarterly taxes, make a dentist appointment&#8230; that kind of stuff. It&#8217;s also a great place to put ideas for blog posts and stuff, and since it&#8217;s right there on my iPhone, I don&#8217;t forget as many ideas anymore. I can&#8217;t say enough good things about Things, so I&#8217;ll just say <a href="http://culturedcode.com/things/">go try it</a>. </p>
<p>Google Calendar and iCal are kept in sync, so I don&#8217;t have to use the horrifically slow Google Calendar on my iPhone. I can sync to iCal on the desktop, sync that to my iPhone, and use iCal on the phone as well. Why the whole calendar synchronization thing has to *still* be hard after like 4 years of trying is beyond me. </p>
<h3>Office</h3>
<ul>
<li>Keynote (and Remote for iPhone)</li>
<li>Pages</li>
<li><a href="http://docs.google.com">Google Docs</a></li>
<li><a href="http://openoffice.org">OpenOffice</a></li>
<li><a href="http://www.omnigroup.com/applications/OmniGraffle/">OmniGraffle Pro</a></li>
<li>Preview</li>
<li>Dictionary</li>
<li><a href="http://www.telestream.net/screen-flow/overview.htm">ScreenFlow</a></li>
</ul>
<p>Keynote makes doing things that are hard in PowerPoint and impossible in OpenOffice or Google Docs easy as all getout. As a trainer, I spend a lot of time putting content together and trying to find new ways to make it more engaging, less boring, etc. (not that I&#8217;ve been accused of being boring, mind you) <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>I deliver all of my training from a MacBook Pro using either the remote that came with my laptop or the Remote iPhone application. Usually I can&#8217;t use Remote for iPhone because of restrictions regarding the wireless network, but I sometimes use it at home to rehearse new content. </p>
<p>I do use Google Docs for lots of other stuff. It&#8217;s not what I&#8217;d call full-featured, but when you discover that it&#8217;s integrated with Google Talk, it actually makes real-time collaboration pretty nice. Sadly, Microsoft Word is still the only word processing application I&#8217;ve seen with offline collaboration features that I&#8217;d call &#8220;pretty good&#8221;. Nothing I&#8217;ve seen recently can do what Word did 5 years ago in terms of collaboration. Again &#8212; sad. </p>
<p>Preview is a PDF viewer, but it also will do screen grabs. I know there&#8217;s a keyboard shortcut to do screen captures. I think it&#8217;s shift-command-4. I&#8217;m just as happy opening Preview, which is right there on the Dock anyway. It&#8217;s better than the old utility Apple provided for this, which would only save in TIFF format. </p>
<p>I feel like people look at me strange when I say that I use a dictionary every single day I&#8217;m on the computer (so&#8230; every day). I used it for this post, as a matter of fact (&#8220;apparatuses&#8221; still doesn&#8217;t sound right to me). I wish there was an app that could tell you how often you&#8217;ve used an app in the last day, week, month, etc. I&#8217;ll bet the Dictionary app outnumbers Mail (I usually only use Mail when GMail is down).  </p>
<h3>System Maintenance</h3>
<ul>
<li>Time Capsule/Time Machine</li>
<li>AppCleaner</li>
<li>Disk Inventory X</li>
<li>Apple Remote Desktop</li>
</ul>
<p>I bought a Time Capsule. It&#8217;s an Apple product. It&#8217;s an enclosed 1TB hard drive inside of a wireless access point. It also has a USB port where you can connect a hub and then connect up other external USB hard drives, and a USB printer that can then be shared with the whole network without running a long-in-the-tooth Mac G4 with the mirrored doors and the fan that sounds like the landing of the mothership&#8230;. uh&#8230;. I mean&#8230; It&#8217;s really easy to use! I use it to back up all of the Macs in the house. The iPhone backs up to my Mac, so that&#8217;s covered too. </p>
<p>AppCleaner isn&#8217;t horribly useful, but I do use it, and it helps slightly. Maybe. It&#8217;s supposed to help you get rid of apps you no longer use, but it still leaves behind seemingly everything that would normally be left behind if you just opened Terminal and typed &#8220;sudo rm -rf ./AppName&#8221;. I give it the benefit of the doubt. Maybe it catches some stuff sometimes, and then I know all of the usual suspects that hang on to old app cruft, so I can clean some of it out manually without too much fuss. </p>
<p>Disk Inventory X is pretty cool. It presents a tree map view of the contents of your hard drive which makes it dead easy to spot where the disk hogs are. And here I was writing scripts for this <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />   It&#8217;s a great spotting tool, but because it&#8217;s constantly scraping the disk, it&#8217;s quite slow. You also can&#8217;t select multiple things in the interface and move them all to the trash at one time, which would be nice. Still, it definitely helped me find stuff I didn&#8217;t know was there, and that was taking up lots and lots of space. </p>
<p>Apple Remote Desktop isn&#8217;t something I use often, but it&#8217;s handy to have around. It lets you do all kinds of advanced stuff by connecting to the desktop of a remote Mac, but I just do simple things with it. If you didn&#8217;t know about it, it&#8217;s worth at least being aware of. </p>
<h3>System Administration/Geekery</h3>
<ul>
<li>Terminal</li>
<li>Vim</li>
<li>SSH Tunnel Manager</li>
<li>VMware Fusion</li>
<li>Cisco VPN Client</li>
</ul>
<p>This is the &#8220;where do I start&#8221; section for me. I do lots of geekery, and these tools facilitate a lot of the geekery. I stuck with the basics here. I use Terminal because tons of what I do is on the command line. There are things I do on the command line for which GUI applications exist, but to be honest, some of those cost money, and none of them are as efficient or reliable as the command line. I know that makes me sound like an old graybeard, but it&#8217;s mostly true. A GUI that really makes something you already know how to do on the command line easier is rare. </p>
<p>Vim, of course, runs inside of Terminal. If I&#8217;m writing a bunch of code across lots of files or something, I&#8217;ll try to use Komodo Edit (and I might upgrade to Komodo IDE), but if I&#8217;m on a remote machine, or I just need to do a quick edit here or there, one file at a time, I&#8217;ll just use Vim. Vim can do window splitting and code folding and stuff like that, so Komodo isn&#8217;t a requirement for me, it&#8217;s just slightly more convenient, and it has Vi key bindings <img src='http://www.protocolostomy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>SSH Tunnel Manager is a GUI for managing SSH tunnels. Go figure. I&#8217;ve been using it for years now, but to be honest, if I don&#8217;t use it for a while, the interface becomes unintuitive to me and I go back to the command line or my SSH config file to set up tunnels. </p>
<p>VMware Fusion is great. I can test the latest Linux distros without devoting a whole machine to them, or I can run Windows and test web stuff in IE. There seems to be no end to the stuff I find myself using VMware Fusion for. Surprising. </p>
<p>I&#8217;m told there&#8217;s a VPN client built into Snow Leopard, but I haven&#8217;t tested it out yet. Some have reported issues, so hopefully they don&#8217;t bite me. </p>
<h3>Programming/Development</h3>
<ul>
<li><a href="http://www.activestate.com/komodo_edit/">Komodo Edit</a></li>
<li><a href="http://www.vim.org">Vim</a></li>
<li><a href="http://www.python.org">Python</a></li>
<li><a href="http://www.djangoproject.com/">Django</a></li>
<li><a href="http://mercurial.selenic.com/wiki/">Mercurial</a></li>
<li><a href="http://subversion.tigris.org/">Subversion</a></li>
<li><a href="http://www.nongnu.org/fab/">Fabric</a></li>
<li>Terminal</li>
<li>VMware Fusion</li>
<li><a href="http://getfirebug.com/">Firebug</a></li>
</ul>
<p>Komodo Edit is my favorite editor for writing code, period. If it didn&#8217;t have Vi keybindings, I&#8217;d likely just use Vim. And I do, sometimes. My first-choice language these days is Python, but I still write plenty of PHP, shell, SQL, Perl, etc. The Mac comes with XCode as an optional install, and I should really give it another shot, but in the past I&#8217;ve felt that it was kind of overwhelming, not to mention kinda clunky and slow.</p>
<p>Django is a Python web framework that comes with a development stand-in web server so you can do all of your development on the laptop, test it all locally, then push out to some environment that more closely matches production. </p>
<p>Speaking of pushing out changes, I mostly use Mercurial for my own projects nowadays, and I rather like it, but lots of things still use Subversion, which is wildly popular. My open source project actually uses Subversion with Google Code, but Google recently announced Mercurial support for hosted projects, so I&#8217;ll need to look at changing that over. </p>
<p>Fabric is a deployment tool. It&#8217;s written in Python and uses the paramiko library, which I found interesting, because I&#8217;d written a couple of automation scripts using paramiko that would have been easier to do with Fabric. I&#8217;ve only done simple things with Fabric so far, but it&#8217;s worth a look if you do a lot of rsync-ish stuff, followed by some &#8220;ssh in a for loop&#8221; stuff, supported by some cron jobs&#8230;. Fabric can really ease your life. </p>
<p>VMware Fusion is used in a programming context in two ways: to test web stuff on IE (I have an XP VM), and to work with libraries that are more convenient to work with under Linux than on the Mac. Sometimes Linux distros have things built-in that I&#8217;d have to build from source (along with all the dependencies) on the Mac. </p>
<p>Firebug is just basically a necessity if you do any kind of web development. It lets you inspect the design elements on the page visually, as well as in code, which makes debugging your CSS so easy it&#8217;s almost a non-event. </p>
<p>So&#8230; what tools are you using? </p>
]]></content:encoded>
			<wfw:commentRss>http://www.protocolostomy.com/2009/09/03/cool-macmobile-software-for-sysadmins-programmers-and-people/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

