<?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>Everything In Between &#187; Information &amp; Communication</title>
	<atom:link href="http://maymay.net/blog/category/information-communication/feed/" rel="self" type="application/rss+xml" />
	<link>http://maymay.net/blog</link>
	<description>The brutally honest, first-person account of Meitar Moscovitz&#039;s life.</description>
	<lastBuildDate>Thu, 19 Jan 2012 08:54:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>On Being a Social Cyborg: How iCalendar Helps Me Fight Loneliness</title>
		<link>http://maymay.net/blog/2011/11/05/on-being-a-social-cyborg-how-icalendar-helps-me-fight-loneliness/</link>
		<comments>http://maymay.net/blog/2011/11/05/on-being-a-social-cyborg-how-icalendar-helps-me-fight-loneliness/#comments</comments>
		<pubDate>Sun, 06 Nov 2011 06:04:30 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Maybe Maimed]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech/Computing]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=1369</guid>
		<description><![CDATA[Here&#8217;s a topic I&#8217;ve been meaning to write about ever since I was deeply depressed last Fall and Winter. Back then, I was incredibly lonely, and despite my best efforts I simply found it damn near impossible to do anything to improve my situation. That&#8217;s because my &#8220;best efforts&#8221; consistently lead me to dead-end resources [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s <a href="https://www.facebook.com/meitar.moscovitz/posts/10150745384665005">a topic I&#8217;ve been meaning to write about</a> ever since <a href="http://maymay.net/blog/2010/09/10/dear-cassandra/" title="Dear Cassandra">I was deeply depressed last Fall and Winter</a>. Back then, I was incredibly lonely, and despite my best efforts I simply found it damn near impossible to do anything to improve my situation. That&#8217;s because my &#8220;best efforts&#8221; consistently lead me to dead-end resources that <em>sounded</em> good but that had no practical or immediately useful information; resources like <a href="http://www.wikihow.com/Deal-With-Loneliness">WikiHow.com&#8217;s &#8220;How to Deal With Loneliness&#8221; article</a>.</p>
<p>In their article, WikiHow contributors write:</p>
<blockquote cite="http://www.wikihow.com/Deal-With-Loneliness"><p><strong>Get involved in anything where you will meet people.</strong> If you are very shy, find a group for social anxiety, even if it has to be online (obviously it&#8217;s better if it&#8217;s not). Look on places like Craig&#8217;s List, or local news websites for your town for activities in your area. Volunteering can help. But don&#8217;t attend functions with the idea of making friends or meeting people. Being too demanding is a sign of loneliness. Try to go with no expectations whatsoever, and to enjoy yourself regardless of what happens. Look for activities that interest you, that also involve groups of people, like intramural sports, book clubs, church groups, political campaigns, concerts, art exhibitions, etc.</p></blockquote>
<p>While it all &#8220;makes sense,&#8221; the WikiHow article reads like an elaborate horoscope. It&#8217;s incredibly annoying because it contains no meaningful, discrete, actionable items. Where, exactly, can I find &#8220;activities in my area&#8221;? And once I find them, how do I make sure I know about them <em>when they are happening</em>? And as if that wasn&#8217;t hard enough, how do I make the process workable under the extreme energy constraints that being depressed and lonely put me under? (See also: <a href="https://www.facebook.com/meitar.moscovitz/posts/10150753819955005">without using up too many &#8220;spoons&#8221;</a>.)</p>
<p>Ironically, when I finally concocted a solution to this problem, I no longer had the time to write the blog post about solving the problem because I was so busy doing things and being social. I proceeded to pull myself out of <a href="http://maybemaimed.com/2010/11/15/this-is-me-here-now-and-i-just-wanted-you-to-know/">my depression</a>, have <a href="http://days.maybemaimed.com/post/10422252352/omnipresent-eroticization-can-suck-my-big">a pretty good (if still difficult at times) Spring and Summer, and even Fall in 2011</a>. But now that <a href="https://twitter.com/maymaym/status/132413060177600512">the days are getting shorter</a> and I&#8217;m increasingly feeling like my moods are walking on a tightrope of &#8220;happy&#8221; above <a href="https://twitter.com/maymaym/status/132697741510979584">a pit of bleakness</a>, I figure it&#8217;s about time to document my process. That, and it seems <a href="http://nixvisceral.tumblr.com/post/12365622189/goddam-the-things-i-missed-out-on-today#disqus_thread">people I know are running into the same problem</a>, so hopefully sharing my own solution can really make a positive impact on others&#8217; lives.</p>
<h2>Creating a Cyborg&#8217;s Social Calendar</h2>
<p>The basic problem was two-fold. First, I needed an easy way to <em>discover</em> local goings-on. Second, I needed a way to remember to actually <em>attend</em> events that I was interested in.</p>
<p>It turns out this is far more difficult to accomplish than one may at first believe since the set of events that I both <em>want</em> to attend and <em>have the capability (energy, time, money, motivation, physical accessibility, etc.) to attend</em> are actually relatively limited. Moreover, I also need to align the set of events that match both of those criteria with the knowledge that said event is occurring <em>when</em> it is occurring. It&#8217;s a bit like playing temporal Tetris.</p>
<p>In a nutshell, the solution I implemented was similarly two-fold. First, I cast an incredibly wide but low-cost sensor net, integrated directly into the process I already used for keeping track of my daily appointments. (See also the &#8220;<a href="http://www.tonyrobbins.com/products/no-extra-time.php">no extra time</a>&#8221; concept and <a href="http://shirconsulting.com/2011/10/24/set-it-and-forget-it/">its wide applicability</a>). Second, I classified the &#8220;activities in my area&#8221; into two distinct groups: &#8220;engagements&#8221; (stuff I&#8217;ve said &#8220;yes&#8221; or &#8220;maybe&#8221; to) and &#8220;opportunities&#8221; (stuff I haven&#8217;t yet said &#8220;no&#8221; to).</p>
<p>Here&#8217;s what my calendar looks like after all the pieces of the system are in place:</p>
<p><a href="http://maymay.net/blog/wp-content/uploads/2011/11/social-cyborg-calendar-complete.png"><img src="http://maymay.net/blog/wp-content/uploads/2011/11/social-cyborg-calendar-complete-300x210.png" alt="" title="social-cyborg-calendar-complete" width="300" height="210" class="aligncenter size-medium wp-image-1370" /></a></p>
<p>As you can see, I have an <em>enormous</em> selection of activities I could participate in at any given time. Better yet, they all show up on my calendar without my ever needing to repeatedly go &#8220;look[ing] on places like Craig&#8217;s List&#8221; to find them, the events on my calendar <em>update themselves</em>, and I can show or hide sets of events on a whim.</p>
<p>The prerequisite tool for doing this is the <a href="https://secure.wikimedia.org/wikipedia/en/wiki/ICalendar">iCalendar</a> feed, which, in <a href="http://events.stanford.edu/about/rss.html">the words of Stanford University</a>, is <q cite="http://events.stanford.edu/about/rss.html">a popular calendar data exchange format which allows you to subscribe to a calendar and receive updates as calendar data changes.</q> Each of those calendars under the &#8220;Subscriptions&#8221; heading in the screenshot of my iCal is actually an iCalendar feed from a remote website. <strong>iCalendar feeds are to calendars as <acronym title="Really Simple Syndication">RSS</acronym> feeds are to blogs.</strong></p>
<p>The first thing I did was add the event subscription feed from my Facebook. Do this:</p>
<ol>
<li>Log into your Facebook account and go to the &#8220;<a href="https://www.facebook.com/events/">Events</a>&#8221; page.</li>
<li><a href="https://www.facebook.com/help/?faq=152652248136178">Scroll to the very bottom of the page and click on the small &#8220;Export&#8221; link</a>. This will reveal a personalized web address (<a href="https://secure.wikimedia.org/wikipedia/en/wiki/Uniform_Resource_Locator"><acronym title="Uniform Resource Locator">URL</acronym></a>) listing all upcoming Facebook events you&#8217;ve been invited to or have <acronym title="Répondez s'il vous plaît">RSVP</acronym>&#8216;ed either &#8220;Yes&#8221; or &#8220;Maybe&#8221; to, in iCalendar feed (<code>.ics</code>) format. Copy that <acronym title="Uniform Resource Locator">URL</acronym>.</li>
<li><a href="http://www.apple.com/findouthow/mac/#subscribeical">Back in iCal (or your calendaring application of choice), choose &#8220;Subscribe…&#8221; from the menu</a> and paste in the <acronym title="Uniform Resource Locator">URL</acronym> you got from Facebook.</li>
<li>Give this calendar subscription a meaningful name. I called it &#8220;Facebook Events&#8221; (see above screenshot).</li>
<li>Set the &#8220;Refresh&#8221; interval to something that makes sense; I set it to once &#8220;every 15 minutes,&#8221; since the Facebook feed is one I check often because it changes so frequently. (For feeds from calendars that I check or that update less often, such as those of community groups, or calendars listing events that are far from home, I set the refresh rate much, much slower, such as once &#8220;every week.&#8221;)</li>
</ol>
<p>Okay! Now, whenever a friend invites you to an event on Facebook, your calendar will be updated to reflect that event at the appropriate date and time. If you <acronym title="Répondez s'il vous plaît">RSVP</acronym> &#8220;No&#8221; to the event, it will disappear from your calendar when iCal next checks your Facebook iCalendar feed.</p>
<p>Repeat the same steps for any other event-management website that you use and that offers iCalendar feeds. Some <a href="https://plancast.com/meitar">services I use, such as Plancast.com</a> and Meetup.com, <a href="http://www.meetup.com/help/Can-I-export-all-of-my-Meetups-to-a-Calendar-or-RSS-feed/">actually offer two distinct iCalendar feeds</a>, one for all of the events visible to you on the service, and one for events that you have <acronym title="Répondez s'il vous plaît">RSVP</acronym>&#8216;ed &#8220;Yes&#8221; to. Subscribe to both; in the screenshot of my iCal window, above, you&#8217;ll note the existence of a &#8220;&#8216;meitar&#8217; on Plancast&#8221; calendar as well as a &#8220;Plancast Subscriptions&#8221; calendar, and similarly a &#8220;My &#8216;Yes/Maybe&#8217; Meetups&#8221; calendar as well as a &#8220;My Meetups&#8221; calendar.</p>
<p>Now that you&#8217;ve got a bunch of subscriptions, it behooves you to organize them in a way that makes sense to you. How you can do this will depend a little bit on the tools you have at your disposal. <a href="http://www.macforbeginners.com/page.php?id=112">I found Apple iCal the best choice because of its Calendar Group feature</a>, while I found Google Calendar an incredibly frustrating tool to use.</p>
<p>In iCal, I first created two calendar groups. The first one was called &#8220;Social Engagements,&#8221; into which I placed all the iCalendar feeds that showed me events to which I&#8217;ve <acronym title="Répondez s'il vous plaît">RSVP</acronym>&#8216;ed &#8220;Yes&#8221; to on the remote site. This included the Facebook, &#8220;&#8216;meitar&#8217; on Plancast&#8221;, and &#8220;My &#8216;Yes/Maybe&#8217; Meetups&#8221; feed. The second group was called &#8220;Social Opportunities,&#8221; into which I placed all the other calendars.</p>
<p>Every time I learned about a new local venue, such as a nightclub, or a café, or a bookstore that had an open mic, I would scour its website to see if it offered an iCalendar feed. If it did, or if it used a tool that did, such as <a href="http://www.google.com/support/calendar/bin/answer.py?answer=41207">embedding a Google Calendar on their website</a>,<sup><a href="http://maymay.net/blog/2011/11/05/on-being-a-social-cyborg-how-icalendar-helps-me-fight-loneliness/#footnote_0_1369" id="identifier_0_1369" class="footnote-link footnote-identifier-link" title="Every public Google Calendar also publishes its information in an iCalendar feed. For example, rather than view the Occupy SF calendar on their website, just subscribe to the iCalendar feed provided by Google. Also, while you can create an aggregate view of multiple Google Calendars to embed on a Web page, it seems to me like this isn&amp;#8217;t a feature offered for iCalendar feeds, so if you come across such a calendar, you&amp;#8217;ll likely need to add the individual calendars&amp;#8217; feeds one by one.">1</a></sup> I&#8217;d add their feed to my &#8220;Social Opportunities&#8221; calendar group, too. I&#8217;d do the same every time I learned of a new event aggregating website, such as the <a href="http://www.indybay.org/calendar/">IndyBay.org calendar</a> or <a href="http://calagator.org/">the Calagator Portland Tech Community calendar</a>, which both offer feeds.</p>
<p>In very short order, I became one of the go-to people to ask about what was happening &#8217;round town&mdash;including some towns I didn&#8217;t even live in!</p>
<p>However, as <a href="http://maybemaimed.com/2011/10/16/dreaming-of-compassion-technology-polyamory-and-social-justice-public-anthropology-conference-2011/">I travelled across the country speaking at conferences</a>, I realized that my &#8220;Social Opportunities&#8221; group was getting cluttered with events that I could not <em>actually</em> attend because I was literally thousands of miles away from them. To solve that problem, I created distinct &#8220;Social Opportunities&#8221; calendar groups based on geographic region, and moved the individual subscriptions to the group with which they were geographically associated; <a href="https://www.google.com/calendar/ical/occupydc.org_oi92rk9k96d8gb9buca0t12rd0%40group.calendar.google.com/public/basic.ics">the Occupy DC calendar feed</a> is in the &#8220;Social Opportunities &#8211; DC&#8221; calendar group, and so on. I also created an &#8220;A-geographic&#8221; group to house feeds that listed events from all over the place.<sup><a href="http://maymay.net/blog/2011/11/05/on-being-a-social-cyborg-how-icalendar-helps-me-fight-loneliness/#footnote_1_1369" id="identifier_1_1369" class="footnote-link footnote-identifier-link" title="Currently that&amp;#8217;s just Meetup and Plancast, for me, since I&amp;#8217;ve joined Meetup groups all over the country and I&amp;#8217;ve subscribed to people on Plancast who live in dozens of cities.">2</a></sup></p>
<p><ins datetime="2011-11-07T04:56:07+00:00">Some event-management services let you filter by geography, making this even easier. For instance, <a href="http://upcoming.yahoo.com/">Yahoo!&#8217;s &#8220;Upcoming&#8221; event listing website</a> shows you events by &#8220;place,&#8221; and <a href="http://upcoming.yahoo.com/news/archives/2004/03/11/ical_int/">you can subscribe to an iCalendar feed</a> of just those events. For instance, here are <a href="http://upcoming.yahoo.com/place/xbp0.jWbBZWDASue">the Upcoming events in Seattle</a>, and here is <a href="webcal://upcoming.yahoo.com/calendar/v2/place/xbp0.jWbBZWDASue">the same information in iCalendar feed format</a>. I added the feed of each Upcoming Place to which I regularly travel to its appropriate regional calendar group.</ins></p>
<p>The benefits of this set up are obvious:</p>
<ul>
<li><strong>Visually overlay social opportunities on top of social engagements</strong> to ensure few conflicts, and help make the most informed choice about which events I want to go to when there <em>are</em> conflicts, to mitigate <a href="https://www.facebook.com/meitar.moscovitz/posts/10150780946015005">my social opportunity cost</a>.</li>
<li><strong>Toggle calendars on/off to find nearby activities.</strong> Ordinarily, I simply leave all the &#8220;opportunities&#8221; calendars deselected, so I&#8217;m just looking at my personal calendars and the &#8220;Engagements&#8221; group, since this view shows me &#8220;stuff I have to do today.&#8221; When I&#8217;m bored or I&#8217;m looking for new things to do in the upcoming week, however, I simply turn on the &#8220;opportunities&#8221; calendars. Voila! In 1 click, I&#8217;m browsing a wealth of stuff to do!<sup><a href="http://maymay.net/blog/2011/11/05/on-being-a-social-cyborg-how-icalendar-helps-me-fight-loneliness/#footnote_2_1369" id="identifier_2_1369" class="footnote-link footnote-identifier-link" title="Frustratingly, although Facebook also offers you a page listing events that you were not invited to but that your friends were, there seems to be no iCalendar feed of that list, forcing me to periodically check that page for events that would be &amp;#8220;Social Opportunities&amp;#8221; if I knew of them. Thankfully, to add them to my own calendar, I just RSVP &amp;#8220;Yes&amp;#8221; or (more likely) &amp;#8220;Maybe.&amp;#8221;">3</a></sup> </li>
<li><strong>Quickly orient oneself within the social space of a new city.</strong> If I&#8217;m taking a trip to Washington DC for a few days, all I have to do is deselect/uncheck the &#8220;Social Opportunities &#8211; SF/Bay Area&#8221; calendar group to hide all of my calendar subscriptions in that group, then select/check the &#8220;Social Opportunities &#8211; DC&#8221; calendar group and, voila, my calendar view has instantly shifted to showing me events that I can attend in Washington, DC.</li>
<li><strong>Make <acronym title="Répondez s'il vous plaît">RSVP</acronym>&#8216;s meaningful</strong>: if I <acronym title="Répondez s'il vous plaît">RSVP</acronym> &#8220;Yes&#8221; to an event on Meetup, the event is automatically removed from my &#8220;Social Opportunities &#8211; A-geographic&#8221; calendar group and added to my &#8220;Social Engagements&#8221; calendar group.</li>
<li><strong>Easily move event information from a calendar feed to a personal calendar</strong> using copy-and-paste <em>without ever leaving the calendaring tool of your choice</em>.</li>
</ul>
<p>Of course, none of this matters with regards to feeling lonely if I don&#8217;t also <em>show up</em> at events in physical space. Admittedly, actually mustering the physical and social energy to get up and <em>go</em> is by far the hardest part of this whole process. Typing on a keyboard is all fine and well (rest assured I do more than enough of it!), but there is no substitute for actually being around other human beings face-to-face. Physically vibrating the air using one&#8217;s mouth and having those vibrations move another&#8217;s ear drum (or physically moving one&#8217;s hands and letting the photons bounce off those movements and onto the retina of another&#8217;s eyes, in the case of sign language) is a vital part of the <em>experience</em> of being social.</p>
<p>This system isn&#8217;t perfect, but the imperfections are mostly due to the way sites like Facebook handle <acronym title="Répondez s'il vous plaît">RSVP</acronym> information. For my purposes, though, this workflow gets me well over 80% of the way towards my goal, and since I&#8217;m <em>actually</em> a human (not a machine), I can deal with a little data pollution here and there. There&#8217;s also plenty more I could write about with regards to &#8220;being a social cyborg,&#8221; such as how I use my calendar in conjunction with my contact management application (my digital rolodex) to maintain &#8220;loose&#8221; or &#8220;weak&#8221; <a href="https://secure.wikimedia.org/wikipedia/en/wiki/Interpersonal_ties">interpersonal ties</a> with over 1,000 people spread across the world&mdash;again, using &#8220;no extra time.&#8221; But I&#8217;ll save that for another post.</p>
<p>For now, hopefully this gave you a better understanding why my most frequent response to being informed of a party is something along the lines of, &#8220;Can you send me a link (to Facebook/Meetup/Google Calendar)?&#8221; and also why <a href="http://maybemaimed.com/2011/08/08/scaling-the-walls-of-fetlife%E2%80%99s-walled-garden-with-new-tools/">I&#8217;m so, so, so critical of important websites like FetLife that seem to prioritize everything <em>but</em> user security and interoperability</a>.</p>
<ol class="footnotes"><li id="footnote_0_1369" class="footnote">Every <a href="http://www.google.com/support/calendar/bin/answer.py?answer=37083">public Google Calendar</a> also <a href="http://www.google.com/googlecalendar/event_publisher_guide.html">publishes its information</a> in an iCalendar feed. For example, rather than view the <a href="http://occupysf.com/calendar-a/calendar-view">Occupy SF calendar</a> on their website, just <a href="https://www.google.com/calendar/ical/occupysf.com_dqborvr8panpsiqh6br9t2v34o%40group.calendar.google.com/public/basic.ics">subscribe to the iCalendar feed provided by Google</a>. <ins datetime="2011-11-08T06:03:28+00:00">Also, while you can <a href="http://blog.ouseful.info/2008/12/04/displaying-events-from-multiple-google-calendars-in-a-single-embedded-calendar-view/">create an aggregate view of multiple Google Calendars to embed on a Web page</a>, it seems to me like this isn&#8217;t a feature offered for iCalendar feeds, so if you come across such a calendar, you&#8217;ll likely need to add the individual calendars&#8217; feeds one by one.</ins></li><li id="footnote_1_1369" class="footnote">Currently that&#8217;s just Meetup and Plancast, for me, since I&#8217;ve joined Meetup groups all over the country and I&#8217;ve subscribed to people on Plancast who live in dozens of cities.</li><li id="footnote_2_1369" class="footnote">Frustratingly, although <a href="https://www.facebook.com/events/friends/">Facebook also offers you a page listing events that you were <em>not</em> invited to but that your friends were</a>, there seems to be no iCalendar feed of that list, forcing me to periodically check that page for events that would be &#8220;Social Opportunities&#8221; if I knew of them. Thankfully, to add them to my own calendar, I just <acronym title="Répondez s'il vous plaît">RSVP</acronym> &#8220;Yes&#8221; or (more likely) &#8220;Maybe.&#8221;</li></ol>]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2011/11/05/on-being-a-social-cyborg-how-icalendar-helps-me-fight-loneliness/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crosspost: My impressions on the new “sex-positive social network” Blackbox Republic</title>
		<link>http://maymay.net/blog/2009/12/14/blackbox-republic-social-network-review/</link>
		<comments>http://maymay.net/blog/2009/12/14/blackbox-republic-social-network-review/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 19:46:29 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Branding & Identity]]></category>
		<category><![CDATA[Business & E-Commerce]]></category>
		<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[Internet Marketing]]></category>
		<category><![CDATA[Maybe Maimed]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Writing and blogging]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=1041</guid>
		<description><![CDATA[This post was originally published on my other blog, a much more Not Safe For Work site, at maybemaimed.com. However, it turns out that blog is censored in various countries, such as Dubai. Gotta love Internet censorship. Sigh. Anyways, since I think the material there is interesting and technology-relevant, and in order to help people [...]]]></description>
			<content:encoded><![CDATA[<p>This post was <a href="http://maybemaimed.com/2009/12/12/my-impressions-on-the-new-sex-positive-social-network-blackbox-republic/">originally published on my other blog</a>, a much more Not Safe For Work site, at <a href="http://maybemaimed.com/2009/12/12/my-impressions-on-the-new-sex-positive-social-network-blackbox-republic/">maybemaimed.com</a>. However, it turns out that blog is <a href="http://identi.ca/notice/16736914">censored in various countries, such as Dubai</a>. Gotta love Internet censorship. <em>Sigh.</em> Anyways, since I think the material there is interesting and technology-relevant, and in order to help people avoid Internet censorship, I&#8217;m cross-posting the contents here. Enjoy.</p>
<hr />
<p>Social media. Internet publishing. Privacy. Three phrases that have seemed to be at tenacious odds with each other in a multitude of subtle and not-so-subtle ways. For people like me, who have progressive views about sexuality, these three things are constantly on our minds. How do we participate in the online revolution without being forced to &#8220;come out&#8221; about every sex act we enjoy, some of which are still illegal thanks to <a href="http://malesubmissionart.com/post/271520580/in-forbidding-darkness-a-young-man-is">draconian restrictions on sexual freedom</a>, <a href="http://maybemaimed.com/2009/11/01/on-youth-sexuality-education-and-your-fears/">even (and especially?) in America</a>.</p>
<p>This month, a new social network called <a href="http://blackboxrepublic.com/">Blackbox Republic</a> (BBR) is attempting to tackle this head-on and aims to create a place for, <a href="http://www.readwriteweb.com/archives/can_blackbox_republic_breathe_new_life_into_the_on.php">as Marshall Kirkpatrick put it</a>, this particular <q cite="http://www.readwriteweb.com/archives/can_blackbox_republic_breathe_new_life_into_the_on.php">large and unserved group of people</q>. Although BBR is clearly a business, it&#8217;s a business whose creators have laudable intentions for positive social and cultural change. In that respect, and in many others, Blackbox Republic is worth a close look.</p>
<p>I was informed about the venture via <a href="http://clarissethorn.wordpress.com/">Clarisse Thorn</a> many months ago. I got in touch with BBR and signed up for a limited-offer &#8220;founder&#8221; account—basically a private beta. The founder account gave me free access to the <a href="http://www.blackboxrepublic.com/private-and-social">features of the BlackboxRepublic.com website</a> for what would <a href="http://www.blackboxrepublic.com/dues">normally be a $25 monthly subscription fee</a>. </p>
<p>So, without further ado, here are my impressions about Blackbox Republic, and how its launch may be just what the Internet needs to get us moving in the right direction with regards to personal privacy, and mainstream awareness of the different needs of different people on the Internet.</p>
<h2>Mainstream sex-positivity or a VIP room in cyberspace? Or both?</h2>
<p>Over the past few months, Blackbox Republic has been building a marketing arsenal of anticipation and intrigue. Its creators are successful in non-sexuality-focused spheres of influence: <a href="http://www.linkedin.com/in/samlawrence">Sam Lawrence</a> is the respected former Chief Marketing Officer of <a href="http://www.jivesoftware.com/">Jive Software, Inc.</a>, and April Donato, has experience in community management. They also both jive (pun!) well with the sex-positive movement, discussing it at length in the early stages of their marketing efforts after de-cloaking the new company.</p>
<p>In <a href="http://www.socialnetworkingwatch.com/2009/08/sam-lawrence-ceo-of-blackbox-republic.html">an interview for Social Networking Watch</a>, Sam Lawrence said,</p>
<blockquote cite="http://www.socialnetworkingwatch.com/2009/08/sam-lawrence-ceo-of-blackbox-republic.html"><p>[<strong>Sam Lawrence:</strong>] The co-founder [April Donato] and myself are part of [the sex-positive] community. Sex positive means that your sexuality is not an issue. You don’t have an issue with other people’s sexuality. You’re open to what other people are interested in and what their boundaries are, and you’re open with your own.</p>
<p>[…]</p>
<p>[<strong>Interviewer:</strong>] To what extent do you practice a sex-positive lifestyle?</p>
<p>[<strong>Sam Lawrence:</strong>] From the perspective of sex not being an issue, I think that love is generated by people being open enough about who they are as people to put all of themselves out on the table. As far as putting all of myself on the table, it’s something that I do every single day.</p></blockquote>
<p>I have an enormous amount of respect for anyone able to so capably present themselves as authentically as Sam does. On the eve of <a href="http://kinkforall.pbworks.com/KinkForAllNewYorkCity2Schedule">KinkForAll New York City 2</a>, I met Sam and April at one of their &#8220;founder meetups&#8221; and had the chance to talk to them face-to-face. Our conversation revolved around the importance of steadfastly holding true to one&#8217;s own desires and having appropriate places to express those things with appropriate communication tools. I really liked their emphasis on self-identification over labeling throughout our discussion.</p>
<p>I also really appreciated the way that Sam and April spoke about their target audience. Blackbox Republic will welcome everyone, but it&#8217;s not <em>designed</em> for everyone, and I think that&#8217;s a good thing. <a href="http://onlinedatingpost.com/archives/2009/12/blackbox-republic-remixs-dating-love-and-social-life/">David Evans writing at Online Dating Post says</a>,</p>
<blockquote cite="http://onlinedatingpost.com/archives/2009/12/blackbox-republic-remixs-dating-love-and-social-life/"><p>BBR has room for everyone, but is not for everyone. Definitely catering to non-mainstream folks, it will soon feature a constellation of micro-communities, or groups, called Camps. BBR doesn’t tell people how to organize their camps; we’ll do it ourselves, thankyouverymuch.</p></blockquote>
<p>So is Blackbox Republic a dating site, or a social network? Well, both, kind of. Part of BBR&#8217;s slogan includes, &#8220;Dates will happen. Sex will happen. It matters how you get there.&#8221; The implication, of course, being that the current suite of tools for finding love or play online—sites like <a href="http://alt.com/">Alt.com</a>, <a href="http://okcupid.com/">OkCupid</a>, and <a href="http://craigslist.org/">countless</a> <a href="http://personals.nerve.com/">personals</a> <a href="http://personals.yahoo.com/">boards</a>—focus too strongly on the end result, turning matchmaking into a meat market instead of the natural process of getting to know one another. The focus BBR is placing on each person&#8217;s &#8220;journey&#8221; is an extremely welcome paradigm shift in the online dating world.</p>
<p>Along with the welcome and (IMHO, painfully obviously better) new approach to online dating, however, Blackbox Republic faces some real challenges. For new users, the service costs a minimum of $5 a month to use (and $9 per month for new sign-ups starting in 2010), which gives access to basic features like a personal profile. For $25 a month, members get added features like the ability to list real-world meet-ups, send private messages, and partake in a virtual &#8220;gifting&#8221; economy (think LiveJournal&#8217;s &#8220;<a href="http://www.livejournal.com/shop/vgift.bml?cat=gifts">virtual gifts</a>&#8220;).</p>
<p>For that reason, BBR has been called a &#8220;members-only club.&#8221; There are some legitimate differences of opinion as to whether this is a positive or a negative thing. In a press release over the summer, <a href="http://blogs.zdnet.com/collaboration/?p=741">Blackbox Republic is reported as stating</a>:</p>
<blockquote cite="http://blogs.zdnet.com/collaboration/?p=741"><p>Blackbox Republic will be a members-only experience that will unite the sex-positive community and give them a personal, private and secure way to connect online and in person.</p></blockquote>
<p>Writing for ZDNet, <a href="http://blogs.zdnet.com/collaboration/?p=1123">Oliver Marks likens Blackbox Republic&#8217;s approach to online dating to the fashionability of owning an Apple computer</a>:</p>
<blockquote cite="http://blogs.zdnet.com/collaboration/?p=1123"><p>Think of Blackbox Republic as a fashionable online ‘members-only’ club where you might expect to meet people with similar interests to your own, and ideally the person of your dreams. […] Blackbox Republic is arguably an Apple product to Facebook’s Windows look &#038; feel: a much more intimately crafted, fuller featured personal user interface which should appeal to Apple generation sensibilities.</p></blockquote>
<div id="attachment_1163" class="wp-caption alignright" style="width: 310px"><a href="http://maybemaimed.com/wp-content/uploads/2009/12/bbr-chic-new-club-design-screenshot.png"><img src="http://maybemaimed.com/wp-content/uploads/2009/12/bbr-chic-new-club-design-screenshot-300x214.png" alt="Many pages on Blackbox Republic&#039;s website showcase fashionably dressed women." title="bbr-chic-new-club-design-screenshot" width="300" height="214" class="size-medium wp-image-1163" /></a><p class="wp-caption-text">Many pages on Blackbox Republic's website showcase fashionably dressed women.</p></div>
<p>Indeed, almost everything about Blackbox Republic&#8217;s marketing and design seems to me as though it&#8217;s positioning itself as the equivalent of the hip, new, <em>and exclusive</em> nightclub down the street. There are images of super-chic women in short skirts and tight pants all over the Blackbox Republic promotional pages—way more than there are pictures of men. I was (yet again) <a href="http://malesubmissionart.com/post/270107422/an-uncircumcised-dark-skinned-man-lays-on-his-side">put-off by this over-prevalence of women in all advertising material</a>.</p>
<p>This isn&#8217;t really a criticism of the site, but rather a statement of disappointment that the marketing gurus behind the effort seemed to me to have succumbed to overwhelming cultural pressure to sell their site with <a href="http://malesubmissionart.com/post/168794536/a-naked-man-lays-on-a-bed-next-to-a-video-camera">old-school sex appeal: women&#8217;s sex appeal, of course</a>. How…traditional.</p>
<p>Not only is the <a href="http://twitter.com/maymaym/statuses/6486477499">Blackbox Republic intro video markedly gender-skewed</a>, but somewhere along the line <a href="http://www.xconomy.com/seattle/2009/12/09/blackbox-republic-no-longer-just-sex-positive-opens-alternative-social-site/">Sam and April decided to drop the &#8220;sex-positive&#8221; phraseology from their marketing</a>:</p>
<blockquote cite="http://www.xconomy.com/seattle/2009/12/09/blackbox-republic-no-longer-just-sex-positive-opens-alternative-social-site/"><p>[L]ike most startups, Blackbox decided it needed to change up. Observers were confused by the sex-positive label.</p></blockquote>
<p>Oh well. I think this just goes to further showcase how much more social change we really need in our culture.</p>
<p>However, while the clubby, cliquey feel is totally my own subjective perception, there are other issues at play here, too. Most notably, as Clarisse Thorn and many others rightfully remind us very often, <a href="http://clarissethorn.wordpress.com/2009/04/17/my-kinkforall-nyc-presentation/">the sex-positive movement is overwhelmingly white</a>, middle- to upper-class, college-educated, and privileged in a huge number of ways that many people often take for granted. Even without a for-pay social network, not everyone who wants to <em>can</em> participate in the great-sex-for-everyone party atmosphere of many sex-positive niches.</p>
<p>Will creating a &#8220;members-only club&#8221; of sex-positivity on the Internet really be a positive thing for &#8220;the movement&#8221;? Well, maybe. Although it has the potential to exclude lower-income people from the experience, who are sadly also often the people with the most pressing need for the kinds of privacy-related tools BBR offers (school teachers spring to mind!), one upside is that <a href="http://www.socialnetworkingwatch.com/2009/08/sam-lawrence-ceo-of-blackbox-republic.html">Blacbox Republic promises to pledge a portion of membership dues to a charity of the user&#8217;s choice</a>.</p>
<blockquote cite="http://www.socialnetworkingwatch.com/2009/08/sam-lawrence-ceo-of-blackbox-republic.html"><p> It’s $25 a month and $5 of those community dues go to charity. One way to think about it is if you’re sex-positive, you can either spend money on expensive coffee every month or upgrade your social life and meet other sex-positive people like you.</p></blockquote>
<p>Inescapably, the major selling point of any social network is, of course, the network! If your friends aren&#8217;t on Twitter, then you&#8217;re probably not going to find it useful. The same truth holds for Blackbox Republic: if the users you want to interact with aren&#8217;t there, I doubt you&#8217;re going to find the experience fruitful. Due to the membership fees and the socioeconomic realities of the sex-positive community, I&#8217;m concerned that BBR&#8217;s current business model is <em>too</em> exclusive, and as a result it will have a lot of trouble attracting the kind of diverse community its creators seem to be hoping for.</p>
<p>Yet, some others think differently (pun!). For instance, <a href="http://www.accmanpro.com/2009/07/15/blackbox-republic-and-the-sex-positive-community/">Dennis Howlett welcomes the for-pay model for a social network</a>:</p>
<blockquote cite="http://www.accmanpro.com/2009/07/15/blackbox-republic-and-the-sex-positive-community/"><p>anyone can join provided they’re willing to pay the $25 a month (I like that he has a pay model from the get go. That sorts out the weirdos and hangers on from day one)</p></blockquote>
<p>I wonder if adopting a <a href="http://en.wikipedia.org/wiki/Freemium">free-mium</a> approach might work better. Still, there are real-world limits to business. Everyone needs to make money, and I don&#8217;t think Blackbox Republic&#8217;s business model is inherently more exclusive than, say, purchasing access to porn. If anything, BBR&#8217;s got some real promise to inject much-needed financial awareness to the sexually insensitive corporate infrastructure of our society. Nevertheless, convincing people to join &#8220;the Republic&#8221; is going to be a hard sell.</p>
<h2>Show me the features!</h2>
<p>Let&#8217;s say you do decide to join. What do you get? Other than the sex-positive mindset, what&#8217;s the benefit?</p>
<p>Well, the bulk of the experience is what you&#8217;d expect. Profiles (called &#8220;personas&#8221;), messaging, user search capabilities (called &#8220;explore&#8221;), and so forth. A Twitter-like &#8220;activity stream&#8221; dominates the main page where you can post text, picture, or video status updates. Event listings fill the sidebar. (I&#8217;m not going to provide internal screenshots in deference to <a href="http://www.blackboxrepublic.com/faq">BBR&#8217;s strict confidentiality rules</a>.)</p>
<p>While that&#8217;s fun, it&#8217;s nothing special. What makes Blackbox Republic different is flexibility, and privacy.</p>
<h3>Goodbye drop-downs, hello sliders!</h3>
<div id="attachment_1165" class="wp-caption alignright" style="width: 260px"><a href="http://maybemaimed.com/wp-content/uploads/2009/12/bbr-sliders-screenshot.png"><img src="http://maybemaimed.com/wp-content/uploads/2009/12/bbr-sliders-screenshot-250x300.png" alt="An innovative new interface acknowledges (most of) the diversity in human sexual experience and desire." title="bbr-sliders-screenshot" width="250" height="300" class="size-medium wp-image-1165" /></a><p class="wp-caption-text">An innovative new interface acknowledges (most of) the diversity in human sexual experience and desire.</p></div>
<p>Blackbox Republic&#8217;s most visible feature is the way its interface allows you to flexibly self-identify various facets of yourself. Rather than give you static drop-down menus or radio buttons for things like your sexual orientation and relationship status, you&#8217;re presented with sliders you can change at will. Perhaps you&#8217;re feeling particularly same-sex attracted one day. Just move the &#8220;Orientation&#8221; slider towards the &#8220;Gay&#8221; end and away from the &#8220;Hetero&#8221; end. If that changes tomorrow, just move the slider back. Sho-weet!</p>
<p>BBR offers you 5 different sliders for your profile. In addition to the one for sexual orientation, you also get one for relationship &#8220;status&#8221; (ranging from attached to unattached, with Facebook&#8217;s famous &#8220;it&#8217;s complicated&#8221; neatly in the middle), whether you&#8217;re available for more partners or not, how comfortable you are with casual sexual activity, and how eagerly you&#8217;re looking to par-tay. I&#8217;m instantly reminded of <a href="http://fetlife.com/">FetLife</a>&#8216;s innovative, if dull-looking, mechanism for specifying multiple relationships. Blackbox Republic gives you similar flexibility as FetLife does but presented in a superb and far more intuitive interface.</p>
<p>All that said, one slider is conspicuously missing: the one for gender. The sliders are a very interesting idea and might just be the most innovative feature of the entire site. It speaks volumes about the sensitive and thoughtful mindset of the developers, and that&#8217;s why I&#8217;m so disappointed that the interface for self-identifying gender is relegated to the Sex 1.0 days of a single, binary option of &#8220;male&#8221; or &#8220;female.&#8221;</p>
<p>What gives? Are polyamorous people more welcome here than those who don&#8217;t fit the gender binary? I hope this is simply an omission that will be fixed as the service matures, since I couldn&#8217;t find any other reason why gender was absent from the sliders. For extra credit, I hope to see <em>different</em> profile options for &#8220;Sex&#8221; and &#8220;Gender,&#8221; two distinct concepts that frequently and incorrectly get used interchangeably. This would make it possible to represent complex gender presentations like <a href="http://sexpositive.wikia.com/wiki/Additive_gender">additive gender</a> on a social networking interface for the first time ever, and that&#8217;d totally be something to write home about!</p>
<h3>Privacy and security</h3>
<p>The other major selling point of Blackbox Republic is its careful attention to privacy. The entire offering, including its name, is predicated on letting users very carefully segment their information based on their privacy boundaries. I love some of the things BBR has done to enable this, and I can only imagine it&#8217;s going to get better from here.</p>
<h4>Blackbox Republic&#8217;s Web of Trust</h4>
<p>There are three levels of privacy, which (as far as I can figure out) map directly to the level of trust other members have gained within the Republic&#8217;s community. It works like a <a href="http://en.wikipedia.org/wiki/Web_of_trust">web of trust</a>. New users are &#8220;un-vouched.&#8221; As they begin to interact with others on the site and, hopefully, make some friends, they should receive &#8220;vouches&#8221;—or votes of trust—from previously-vouched members. As a member, you get to control whether something you do, such as posting a status update, gets sent to the &#8220;public,&#8221; (i.e., the entire public-facing Internet), to all Blackbox Republic members (i.e, to both vouched and un-vouched members) or only to vouched members.</p>
<p>Additionally, privacy settings allow you to specify whether you want to allow un-vouched members to send you private messages, to follow your updates, to comment on your posts, or to see you in search results.</p>
<p>Unlike Facebook, which has very good privacy controls that almost nobody on Earth is aware of (thus negating the control&#8217;s usefulness), Blackbox Republic makes it a point to highlight their privacy controls at just about every sensical turn. Each of the settings I found defaults to the most private setting, not the most public, which is exactly the right move. I gotta say, I found turning <em>off</em> privacy settings instead of having to turn (or leave) them on to be a really empowering feeling.</p>
<h4>You&#8217;re not a &#8220;friend,&#8221; you&#8217;re an acquaintance!</h4>
<p>Moreover, the Blackbox Republic platform makes a native distinction between &#8220;friends&#8221; (again, like Facebook, or FetLife) and &#8220;followers&#8221; (like Twitter). When I friend someone, I&#8217;m connected to them in a way that I&#8217;m not if I just follow someone. I&#8217;m not yet certain what the practical distinction between &#8220;friending&#8221; and &#8220;following&#8221; are, other than the fact that your view of the people you&#8217;re connected with is segmented based on which button you clicked, but I think the distinction is a very appropriate and natural one to embed in the software.</p>
<p>This separation is probably the single most important innovation in the space of social networks as a medium of communication and collaboration that I can point at. I love that I can indicate without ambiguity which people I want to remain in constant communication with and which I simply want to watch from a distance. After all, aren&#8217;t at least <em>some</em> of your &#8220;friends&#8221; on Facebook really just &#8220;acquaintances&#8221; in reality? I think that for the first time ever in a social network, Blackbox Republic gets this feature right. Now, if only I could figure out what it actually <em>does</em>. :)</p>
<h4>What? No on-the-wire encryption?!</h4>
<p>With all that being said, there&#8217;s still at least one really frightening problem with Blacbox Republic&#8217;s careful attention to privacy: as far as I could tell, no part of my session is <a href="http://en.wikipedia.org/wiki/Transport_Layer_Security"><acronym title="Secure Sockets Layer">SSL</acronym>/TLS</a> encrypted!</p>
<div id="attachment_1164" class="wp-caption alignleft" style="width: 310px"><a href="http://maybemaimed.com/wp-content/uploads/2009/12/bbr-login-screen.png"><img src="http://maybemaimed.com/wp-content/uploads/2009/12/bbr-login-screen-300x263.png" alt="Stunningly, for a site that sells privacy, not even Blackbox Republic&#039;s login form is on a secure page." title="bbr-login-screen" width="300" height="263" class="size-medium wp-image-1164" /></a><p class="wp-caption-text">Stunningly, for a site that sells privacy, not even Blackbox Republic's login form is on a secure page.</p></div>
<p>The entire BlackboxRepublic.com website is served over <acronym title="HyperText Transfer Protocol">HTTP</acronym>, including the login form and—again, as far as I could tell—every  page on the <em>inside</em> of the site. This means that it&#8217;s trivial for malicious people who don&#8217;t even have a Blackbox Republic subscription to intercept, eavesdrop, and modify my interaction with the site. They could watch—and save—private messages between me and one of my friends (or lovers!), for instance.</p>
<p>In Blackbox&#8217;s defense, I don&#8217;t know of any social network that protects you from this. FetLife is another example of a website that should seriously consider <acronym title="HyperText Transfer Protocol Secured; HTTP over SSL">HTTPS</acronym>-only pages, but as of this writing hasn&#8217;t implemented it. Therein lies one of the most frightening oversights in the entire social networking space: regardless of so-called privacy settings, everything you do on the vast majority of social networks, blogs, and other sites on the Internet are the equivalent of passing notes between friends in a classroom. Better hope that big bully who likes to steal your lunch money doesn&#8217;t open the note and read it himself while he&#8217;s passing along your login details!</p>
<p>The thing is, few other social networking sites place so strong a spotlight on user privacy and security. Since Blackbox Republic seems to be nobly and rightfully holding itself up to a new standard of privacy, I feel justified in pointing out this glaring omission in their service offering. Given everything else they&#8217;ve done <em>so well</em>, and how well-aligned the majority of their technical implementation seems to be with their philosophy, this omission came as a big surprise to me.</p>
<p>Until Blackbox Republic only serves <acronym title="HyperText Transfer Protocol Secured; HTTP over SSL">HTTPS</acronym> traffic for all private areas of their site, I can&#8217;t make a recommendation in good conscious that it&#8217;s the place to be for privacy-conscious people. But again, despite public opinion to the contrary, I&#8217;ve never been able to make that claim for FetLife either.</p>
<h2>Conclusion</h2>
<p>Blackbox Republic is one of the most interesting websites on the Internet today. Its privacy-conscious and sexually open approach to social networking and online dating deserves huge praise. Its technical implementation—although plagued with some glaring oversights for now—is to be seriously respected.</p>
<p>From a social change perspective, I think the site is a mixed bag. Its exclusivity arguably makes the insularity of the sexuality communities an even bigger problem than it already is. On the other hand, the market-value of that very same exclusivity, if steered toward a benevolent purpose, can end up benefiting philanthropic, non-profit, and other sex-positive endeavors that often struggle to find necessary financial support.</p>
<p>Moreover, Blackbox Republic&#8217;s internal gifting economy does seem to encourage a sort of altruistic nature among members. How that may or may not translate into increased support for non-commercial activists has yet to be seen. Nay-sayers should remember that this kind of thing simply hasn&#8217;t been done before and the net effect could be quite positive.</p>
<p>Having just launched, however, I don&#8217;t think Blackbox Republic should be touted as the go-to site for sex-positive people quite yet. Like other social networks, it needs to grow to become truly useful, and its subscription fee business model poses a serious obstacle to many people. I was fortunate to get in with a free &#8220;founder&#8221; account, but I have mixed feelings about encouraging my friends to join me knowing they—or someone nice enough to &#8220;gift&#8221; a limited-time subscription to them—will have to pay for the service.</p>
<p>Additionally, its focus on being, well, a black box and <a href="http://www.xconomy.com/seattle/2009/12/09/blackbox-republic-no-longer-just-sex-positive-opens-alternative-social-site/">its commitment to not allow Google or other search engines to index its internal content</a> simply doesn&#8217;t resonate that strongly with me.</p>
<blockquote cite="http://www.xconomy.com/seattle/2009/12/09/blackbox-republic-no-longer-just-sex-positive-opens-alternative-social-site/"><p>Lawrence emphasizes that what members say in Blackbox Republic will stay private. There’s no danger of what they post inside becoming part of their “Google resume,” as he puts it. He says he would resist efforts from search engines to index content the way Facebook and Twitter allow. “The value proposition is this is the first private, large social network out there,” Lawrence says.</p></blockquote>
<p>Put simply, and noting that I&#8217;m probably not the majority case here, <a href="http://maybemaimed.com/2009/11/14/online-reputation-management-for-sex-bloggers-when-a-tweet-wont-do/">I <em>rely</em> on my &#8220;Google résumé,&#8221;</a> to use Sam&#8217;s words, to live the life I want. My lukewarm reaction to this isn&#8217;t a criticism of the goal, simply an observation that it turns out I&#8217;m not in the ideal target market for Blackbox Republic&#8217;s value proposition.</p>
<p>In other words, I think I&#8217;m &#8220;too out&#8221; for this site to be immediately useful to me. The fact that FetLife is not readily available to the public Internet is the single biggest reason why I don&#8217;t sign on to that site very often, and so I have the same reason not to spend all that much time behind the curtains of Blackbox Republic.</p>
<p>Nevertheless, many other people do. If you&#8217;re among the cross-section of the populace who&#8217;d like a sociosexual experience online and would also like to effectively outsource your social reputation management, if you will, but you feel that sites like Facebook just aren&#8217;t cutting it, then Blackbox Republic is definitely worth checking out.</p>
<p>If you do check it out, or even if you don&#8217;t, I&#8217;d love to know what you think in the comments. And if you&#8217;re definitely sold, consider signing up via <a href="http://www.blackboxrepublic.com/partner/maymay">my partner link</a>. Full disclosure: signing up that way earns me a small commission. If you&#8217;d rather sign up but not give me a commission for the referral, just register from the front page.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2009/12/14/blackbox-republic-social-network-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: Use Rules to Automatically Manage Email in Apple Mail</title>
		<link>http://maymay.net/blog/2009/07/27/howto-use-rules-to-automatically-manage-email-in-apple-mail/</link>
		<comments>http://maymay.net/blog/2009/07/27/howto-use-rules-to-automatically-manage-email-in-apple-mail/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 21:07:47 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[Mail.app]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=935</guid>
		<description><![CDATA[After recently moving to San Francisco, I joined the San Francisco Freecyclers&#8217; Network. Freecycle is a really cool set of local groups who prefer to give away items to people who want them instead of throwing them away into the trash. The group uses email to connect people who offer items and those who want [...]]]></description>
			<content:encoded><![CDATA[<p>After recently moving to San Francisco, I joined the <a href="http://www.freecycle.org/group/US/California/San%20Francisco">San Francisco Freecyclers&#8217; Network</a>. Freecycle is a really cool set of local groups who prefer to give away items to people who want them instead of throwing them away into the trash. The group uses email to connect people who offer items and those who want them. In order to stay sane, a simple, <a href="http://www.freecycle.org/faq/faq/faq_guidelines" title="Read more about Freecycle guidelines.">conventional format for writing an email&#8217;s subject line</a> lets you quickly figure out what&#8217;s on offer and where.</p>
<p>Thanks to this simple text convention in subject lines, I could trivially automate the process of sorting through the approximately 100 emails a day that the email list generates in order to single out only the emails that interest me. Here&#8217;s how I did it.</p>
<h2>Define Your Goals</h2>
<p>Before setting out on any task, it behooves you to take a moment and think about what it is you&#8217;re trying to accomplish. For me, with the San Francisco Freecycling Network (SFFN) email list, I wanted to achieve the following goals:</p>
<ul>
<li>Keep my inbox clear of email from the SFFN list unless a message was particularly interesting.</li>
<li>Browse the SFFN messages when I wanted to look at them without having to go to the web site.</li>
<li>Highlight particularly interesting messages in my inbox visually and play a special sound to alert me that such email has been found in case Mail was running in the background (since free stuff gets taken fast!).</li>
</ul>
<p>I defined &#8220;particularly interesting&#8221; messages as ones that offered items of need for my recent move. With this in mind, I set out to create email rules that accomplished each goal in turn.</p>
<h2>Step 1: Create a mailbox to store the appropriate messages</h2>
<p>I began by creating a new mailbox to store all the SFFN messages I was getting. This alternate mailbox would be the mailbox I would shunt all SFFN email to so as to keep my inbox clear of it. I called the mailbox simply &#8220;SFFN&#8221;.</p>
<p><strong>Do this:</strong></p>
<ol>
<li>From the <em>Mailbox</em> menu, select <em>New Mailbox…</em>. The New Mailbox sheet appears.</li>
<li>Select any location (&#8220;On My Mac&#8221; is fine, as is the account that receives the mailing list messages), and give it a name.</li>
<li>Click OK.</li>
</ol>
<h2>Step 2: Create an email rule to move all appropriate messages to the new mailbox</h2>
<p>With the new mailbox created, I now needed to get all the appropriate messages in there and out of my inbox.</p>
<p>Apple Mail&#8217;s email rules work by looking at each incoming message and matching it against a set of conditions that you provide. If the message being evaluated matches the conditions you specify, such as &#8220;from the San Francisco Freecycler&#8217;s Network mailing list&#8221;, then an associated action is automatically performed. Every email you get is evaluated against every rule you have unless a rule moves the message to another mailbox or until you trigger the &#8220;stop evaluating rules&#8221; action.</p>
<p>Since moving an email message to a new mailbox ends the process of evaluating rules and moving messages to the SFFN mailbox I just created is the goal of the rule I&#8217;m creating, I decided to name the rule &#8220;END &#8211; SFFN&#8221;.</p>
<p><strong>Do this:</strong></p>
<ol>
<li>From the Mail menu, select <em>Preferences…</em>. The Mail Preferences window opens.</li>
<li>Click the <em>Rules</em> button. The Rules pane appears.</li>
<li>Click the <em>Add Rule</em> button. The Add Rule sheet appears:
<ol>
<li>Enter a meaningful description (I chose &#8220;END &#8211; SFFN&#8221;) in the <em>Description:</em> field.</li>
<li>Provide the conditions you want to match. Since all SFFN emails must be addressed to the mailing list, I simply provided the email address of the mailing list (<kbd>sffn@yahoogroups.com</kbd>) as the condition for the <em>To</em> header.</li>
<li>Provide the actions you want Mail to perform. I simply wanted to move the matched messages to the SFFN mailbox.</li>
</ol>
<li>Click OK.</li>
</ol>
<p>For me, the above configuration looked like this:</p>
<p><a href="http://maymay.net/blog/wp-content/uploads/2009/07/end-sffn-mail-rule.gif"><img src="http://maymay.net/blog/wp-content/uploads/2009/07/end-sffn-mail-rule.gif" alt="end-sffn-mail-rule" title="end-sffn-mail-rule" class="alignnone wp-image-936" /></a></p>
<h2>Step 3: Create an email rule to highlight a message of particular interest</h2>
<p>At this point, any and all email I receive from the San Francisco Freecyclers&#8217; Network is being moved to the SFFN mailbox I created for it. This is nice because it keeps my inbox clear, but it&#8217;s still not very helpful since I still have to go trudging through the SFFN mailbox in order to find anything that might be interesting to me. The whole point of this exercise is to reduce the amount of time I spend actively looking for interesting things and let my computer do that work for me. So the next step is to tell Mail what I&#8217;m looking for so it can show the interesting messages to me.</p>
<p>Now, as it happens I&#8217;m in need of a wireless router. Since &#8220;router&#8221; is an appropriately unique word, I&#8217;m going to tell Mail to look for that word in a subject line. However, since I only want Mail to tell me when a router is available and not when other people like me are looking for routers, I&#8217;ll also tell Mail to look for the keyword &#8220;OFFER&#8221; in the subject line. (And this is why the <a href="http://www.freecycle.org/faq/faq/faq_guidelines">Freecycle guidelines</a> tell users to format their subject lines in a conventional way.)</p>
<p>Finally, since I don&#8217;t want to have to go digging for the interesting email message and since my inbox is already going to be kept clear by the previous rule, I&#8217;ll simply have Mail highlight the message in a bright green color and leave the message in my inbox <em>without</em> moving it to the SFFN mailbox I created earlier.</p>
<p><strong>Do this:</strong></p>
<ol>
<li>From the Rules pane in Mail&#8217;s preferences, click <em>Add Rule</em>.</li>
<li>Enter a meaningful description in the <em>Description:</em> field. (Since I&#8217;m looking for a router, I called it &#8220;SFFN &#8211; Search for OFFERed &#8216;router&#8217;&#8221;.)</li>
<li>Provide the conditions you wish to match. For me, this meant email sent to the Freecycler&#8217;s mailing list with the two words &#8220;OFFER&#8221; and &#8220;router&#8221; in the subject line.</li>
<li>Specify the actions you wish Mail to perform. I wanted Mail simply to color the message green and to leave the email go to the inbox (where it was originally destined for), so I chose &#8220;Stop evaluating rules&#8221;. (I also decided I&#8217;d want Mail to play a special sound to alert me that it had found something interesting. This is optional, of course.)</li>
<li>Click OK.</li>
</ol>
<p>When I was done creating my rule, the above configuration looked like this:</p>
<p><a href="http://maymay.net/blog/wp-content/uploads/2009/07/highlight-router-sffn-mail-rule.gif"><img src="http://maymay.net/blog/wp-content/uploads/2009/07/highlight-router-sffn-mail-rule.gif" alt="Screenshot of Mail.app rule to highlight incoming Freecycling emails offering a router." title="highlight-router-sffn-mail-rule" width="556" height="330" class="alignnone size-full wp-image-945" /></a></p>
<p>I can now repeat this step as many times as desired to tell Mail to highlight other messages that may be of particular interest for some other reason. For instance, say instead of looking for a wireless router, I wanted to look for a toaster. I would simply need to click on &#8220;Duplicate Rule&#8221; and replace all instances of &#8220;router&#8221; with &#8220;toaster&#8221;.</p>
<h2>Step 4: Place email rules in appropriate order</h2>
<p>Since Mail will repeatedly check incoming email against all the active rules, we need to be sure to place the rules in the correct order. You can think of each email rule as part of large Rube Goldberg machine, each message getting funneled through some piece of the logic at each successive rule. That&#8217;s why I began the name of the first rule I created with &#8220;END,&#8221; so that I&#8217;d know it should be placed <em>after</em> the rest of the SFFN-related email rules.</p>
<p>I decided that I wanted Mail to look for anything related to cameras and, of course, to toasters. This gave me a total of 4 rules (three to search for items of interest, and one to keep my inbox clear). Since the three highlighting rules all perform the same action, it doesn&#8217;t really matter which order they go in, but it is important that all of them appear before the rule to move messages to the SFFN mailbox.</p>
<p>To order rules, simply click-and-drag them into the order you wish Mail to evaluate them in. When I was done, my Rules pane looked like this:</p>
<p><a href="http://maymay.net/blog/wp-content/uploads/2009/07/mailapp-rules-pane.gif"><img src="http://maymay.net/blog/wp-content/uploads/2009/07/mailapp-rules-pane.gif" alt="Screenshot of the Mail.app Rules pane with sorted rules." title="mailapp-rules-pane" width="550" height="309" class="alignnone size-full wp-image-946" /></a></p>
<h2>Conclusion</h2>
<p>Mail rules are an extremely powerful feature that most email clients have, but that too few people use. They can save you enormous amounts of time and increase your productivity by automating simple yet time-consuming tasks.</p>
<p>The conventional, standardized subject lines that the Freecycle mailing list uses simplifies the logic required to have your computer automatically process your messages for you. This is a useful observation because it can be applied to other areas of your life where using simple conventions can help to organize otherwise overwhelming information tasks into manageable batches. Although this particular example uses stock, simple commands, you can get as fancy as you like by having an action trigger an <a href="/blog/category/applescript/">AppleScript</a>.</p>
<p>Now, hopefully, finding some additional housewares and a wireless router for my new San Francisco apartment will be as easy as checking (but not manually sorting!) my own email!</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2009/07/27/howto-use-rules-to-automatically-manage-email-in-apple-mail/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Are you missing the point of using a version control tool?</title>
		<link>http://maymay.net/blog/2008/11/08/are-you-missing-the-point-of-using-a-version-control-tool/</link>
		<comments>http://maymay.net/blog/2008/11/08/are-you-missing-the-point-of-using-a-version-control-tool/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 05:49:09 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[bzr]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=745</guid>
		<description><![CDATA[The other day I gave a brief (and overly-hyper) talk about git, the (very) dumb, (very) fast version control system. It was part of SyPy&#8216;s Git vs. Hg vs. Bzr night. Rather than be flamingly competitive, however, I had a lot of fun that night learning about the differences between the DSCM tools, which was [...]]]></description>
			<content:encoded><![CDATA[<p>The other day <a href="blog/2008/11/09/git-fundamentals-in-30-minutes-or-less/">I gave a brief (and overly-hyper) talk</a> about <a href="//git.or.cz">git, the (very) dumb, (very) fast version control system</a>. It was part of <a href="//sypy.org/">SyPy</a>&#8216;s <cite>Git vs. Hg vs. Bzr</cite> night. Rather than be flamingly competitive, however, I had a lot of fun that night learning about the differences between the <acronym title="Distributed Source Code (or Change) Management">DSCM</acronym> tools, which was especially interesting since I&#8217;ve only ever used Git in real life scenarios.</p>
<p>Since <a href="/blog/2008/06/17/fix-subversion-checksum-mismatch-error-by-editing-svnentries-file/">I&#8217;m a Subversion refugee</a>, my only experience with different version control systems is mostly with the distinctions between the centralized versus the distributed models, not between the various tools you can use in either paradigm. What struck me when I first began using git was how conceptually similar it felt to using Subversion when I was using it <em>by myself</em> (as a lone developer) but how radically different it suddenly felt the moment I was sharing my code with someone else.</p>
<p>Now, I&#8217;m a die-hard individualist. I want things to happen my way as much as possible, and I don&#8217;t really care what happens for anyone else as long as when I interact with other people those interactions are as mutually beneficial as they can possibly be. That&#8217;s why I love <acronym title="Distributed Source Code (or Change) Management">DSCM</acronym> tools so much.</p>
<p>Distributed source code management systems feel much more like translator tools between the ways in which people work as opposed to feeling like a dogma of workflow management processes, like centralized systems do. This paradigm appeals both to my preferred way to work and, as it turns out, helps more people stay more productive all at the same time.</p>
<p>This is also why I&#8217;m a firm believer that most of the people I&#8217;ve worked with in the past completely missed the point of using version control systems. It seems to me that most developers I&#8217;ve worked with have thought of SCM tools as &#8220;the &#8216;Save As…&#8217; button on steroids.&#8221; While these developers are technically correct, their narrow view of what a VCS does means they aren&#8217;t taking advantage of the full potential of the concept.</p>
<p>The power of a version control system isn&#8217;t just in that it gives you the ability to easily hit the proverbial &#8220;Save As…&#8221; button as much as you want, but rather in that <em>you get to retrieve those other versions when you&#8217;re ready for them</em>, regardless of what your fellow developers are doing to the code on their machines. This means that <strong>a version control system&#8217;s real purpose is to insulate you from changes of any sort until you&#8217;re ready to deal with them</strong>. A good tool also does this reciprocally; it will insulate your fellow developers from the changes you&#8217;re making until they&#8217;re ready for them.</p>
<p>Admittedly, that&#8217;s not a very concrete &#8220;feature.&#8221; It&#8217;s more like a fundamental philosophical principle, which is probably why it&#8217;s so hard to encode into the physical manifestation of a tool. Then on top of all of that complicatedness you have to add things like usability and interoperability and resource efficiency. That&#8217;s where I learned about the majority of the distinctions between the various <acronym title="Distributed Source Code (or Change) Management">DSCM</acronym> tools discussed in SyPy&#8217;s presentation.</p>
<p>However, for me, all of those things ultimately get evaluated against the following question: Does Feature X help insulate me from change (does it help in persisting my view of the state of the world until I&#8217;m ready for it to change), or not?</p>
<p>For example, Bazaar&#8217;s interesting notion of &#8220;nested commits&#8221; with dotted revision numbers is really intriguing because it&#8217;s much (<em>much</em>) more user-friendly than git&#8217;s notion of exposing SHA-1 hashes to (mere mortal) end user&#8217;s eyes. Yet, while it&#8217;s certainly less painful than copying-and-pasting hashes all over the place, there&#8217;s little fundamental difference in the way these mechanisms actually portray the state of the world to me. Any given SHA-1 will always be the exact same commit object. Any given dotted revision number will also always be the same commit (within one&#8217;s own unchanged repository).</p>
<p>In contrast, I learned from <a href="//sourcefrog.net/">Martin Pool</a> that <a href="http://bazaar-vcs.org/FAQ#head-e5eac1a6e54ce992e2b5e4d16548b6b4837c4373">Bazaar has a &#8220;push over SFTP&#8221; feature</a> to let you &#8220;export&#8221; or &#8220;archive&#8221; a version of code by transmitting it over an SFTP connection. Now <em>that</em> really caught my attention because it&#8217;s an example of the version control tool acting like that translator I was mentioning earlier; the interoperability helps people <em>not need to change until they want to</em>. In this case, it means you <em>never</em> have to install Bazaar on a remote server to get your content there via the tool. That&#8217;s very cool—much cooler than the mundane technical fact that <code>bzr</code> supports the SFTP protocol out of the box.</p>
<p>Of course, it&#8217;s technically pretty trivial to write an <a href="/blog/tag/expect/">expect</a> or <a href="/blog/category/programming/bashshell-scripting">shell script</a> wrapper to enable git (or whatever other tool you want to use) mimic this behavior. And that&#8217;s exactly the point: technology is always the easy part. It&#8217;s <em>doing it right</em> at a fundamental level that&#8217;s actually really difficult to do correctly.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/11/08/are-you-missing-the-point-of-using-a-version-control-tool/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Scrum-style Burn Down Chart in iWork &#8217;08 Numbers.app</title>
		<link>http://maymay.net/blog/2008/09/06/scrum-style-burn-down-chart-in-iwork-08-numbersapp/</link>
		<comments>http://maymay.net/blog/2008/09/06/scrum-style-burn-down-chart-in-iwork-08-numbersapp/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 11:46:26 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Apple/Macintosh]]></category>
		<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=617</guid>
		<description><![CDATA[Ever since I was introduced to the Scrum methodology of software development, I&#8217;ve enjoyed my work so much more than before. Most of that enjoyment is due to a sense of visibility, of knowing what&#8217;s going on. I find working without an accurate awareness of the situation at large very disorienting, and software and web [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since I was introduced to the <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum methodology of software development</a>, I&#8217;ve enjoyed my work so much more than before. Most of that enjoyment is due to a sense of visibility, of knowing what&#8217;s going on.</p>
<p>I find working without an accurate awareness of the situation at large very disorienting, and software and web development are notorious for being circumstances that change rapidly. That&#8217;s why one of my favorite things about Scrum is the <a href="http://en.wikipedia.org/wiki/Burn_down_chart">burn down chart</a>. This is nothing more complex than a simple graph that depicts how much work you bit off and how far along trying to chew it you actually are. The benefit, of course, is that it&#8217;s pretty obvious pretty quickly if you&#8217;ve bit off more than you can chew. ;)</p>
<p>So up &#8217;til now, my team and I have been doing this all on paper. There&#8217;s a certain tactile appreciation I have for doing this sort of thing on paper, but of course there are disadvantages, too. For instance, you can&#8217;t easily archive the information. You can&#8217;t easily share it with remote contractors. You can&#8217;t automatically mine this valuable data with software tools. You get the picture.</p>
<p>There are a few <a href="http://trac-hacks.org/wiki/ScrumBurndownPlugin">cool plugins to some tools like Trac</a> that do all this, but at first blush most of these tools seem to require that you move <em>all</em> of your Scrum&#8217;s planning into the digital world. That is, you can&#8217;t just do the burn down chart, you have to do all your estimation (MoSCoW desirability, sizing, estimating ideal hours) through some tool. That&#8217;s a big step, and I wanted something simpler.</p>
<p>So naturally, I came up with a spreadsheet in <a href="http://www.apple.com/iwork/numbers/">Numbers.app</a> as my solution. I mean, how much simpler can you get? Sure, it&#8217;s not exactly &#8220;well integrated&#8221; with other tools, but your non-tech-savvy boss will probably love it, and <a href="/blog/category/programming/applescript/">AppleScript</a> can be used to automate data extraction. Here&#8217;s what it looks like:</p>
<div id="attachment_618" class="wp-caption aligncenter" style="width: 310px"><a href="http://maymay.net/blog/wp-content/uploads/2008/09/example-burn-down-chart-in-numbers.png"><img src="http://maymay.net/blog/wp-content/uploads/2008/09/example-burn-down-chart-in-numbers-300x203.png" alt="An example Scrum-style burn down chart in Apple&#039;s iWork &#039;08 Numbers spreadsheeting application, complete with an actual chart." title="example-burn-down-chart-in-numbers" width="300" height="203" class="size-medium wp-image-618" /></a><p class="wp-caption-text">An example Scrum-style burn down chart in Apple's iWork '08 Numbers spreadsheeting application, complete with an actual chart.</p></div>
<p><small>(Click the screenshot to get a full-size view.)</small></p>
<p>As you can see, the Numbers sheet is a simple table and a line chart. I&#8217;ve embedded instructions for how to use the chart into the example itself, which I&#8217;ll quote here:</p>
<blockquote><p>
This is a sample Scrum-style iteration burn down chart for software development created by <a href="http://MeitarMoscovitz.com/">Meitar Moscovitz</a>. It can be used to plot a team’s progress throughout a development cycle (<acronym title="Also Known As">aka</acronym>. “iteration” or “sprint”). This sample chart depicts a 3-week iteration (15 working days) with a 150-point target goal.</p>
<p>The <em>X-axis</em> represents time, and is thus labelled <strong>Time in Days</strong>, while the <em>Y-axis</em> represents the work to be completed, and is labelled <strong>Points</strong>.</p>
<p>The <strong style="color: green;">green line</strong> shows the team’s <strong>ideal velocity</strong> based upon the total number of points—termed the <strong>Remaining Initial Value</strong>—scheduled for completion in the graphed iteration.</p>
<p>The <strong style="color: blue;">blue line</strong> shows the team’s <strong>actual velocity</strong> (or “completed work”), which is entered by the team leader (<acronym title="Also Known As">aka</acronym>. Scrum Master) after each day in the <strong>Done</strong> column.</p>
<p><strong>To use this chart:</strong> duplicate this sheet, enter your iteration’s total points in the <strong>Initial Value</strong> row of the <strong>Remaining</strong> column, and delete the values in the Done column except its initial value of 0. To add more days, copy and paste more rows into the table. Optionally, give the sheet and its contents new titles. ;)
</p></blockquote>
<p>Feel free to <a href='http://maymay.net/blog/wp-content/uploads/2008/09/example-burn-down-chartnumbers.zip'>download the <cite>Example Burn Down Chart.numbers</cite> file</a> and use it yourself. If you do use it, please leave a comment and let me know how you&#8217;re going. Thanks, and enjoy!</p>
<p><ins datetime="2008-09-08T08:25:58+00:00">(<a href="http://www.mountaingoatsoftware.com/alt_releaseburndown">Mike Cohn of Mountain Goat Software has got a similar spreadsheet for Excel</a> you can download.)</ins></p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/09/06/scrum-style-burn-down-chart-in-iwork-08-numbersapp/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Productivity: It&#8217;s not what you do, it&#8217;s how you do it, and twentysomethings do it better</title>
		<link>http://maymay.net/blog/2008/08/04/productivity-its-not-what-you-do-its-how-you-do-it-and-twentysomethings-do-it-better/</link>
		<comments>http://maymay.net/blog/2008/08/04/productivity-its-not-what-you-do-its-how-you-do-it-and-twentysomethings-do-it-better/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 15:20:57 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Business & E-Commerce]]></category>
		<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech/Computing]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=550</guid>
		<description><![CDATA[I don&#8217;t believe I have ever before posted an entry that, for all intents and purposes, is just a link to another blog post. However, this blog post is simply so brilliant and yet so short and easily-digestable, that I have nothing more to say. Thus: Twentysomething: 7 Reasons Why My Generation Is More Productive [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t believe I have ever before posted an entry that, for all intents and purposes, is just a link to another blog post. However, this blog post is simply so brilliant and yet so short and easily-digestable, that I have nothing more to say. Thus: <a href="http://blog.penelopetrunk.com/2008/07/31/twentysomething-7-reasons-why-my-generation-is-more-productive-than-yours/">Twentysomething: 7 Reasons Why My Generation Is More Productive Than Yours</a>.</p>
<p>By those definitions, I&#8217;ve been a productive twentysomething-year-old since I was a pre-teen, which just goes to show you that age has nothing to do with it. <em>Damn</em> straight.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/08/04/productivity-its-not-what-you-do-its-how-you-do-it-and-twentysomethings-do-it-better/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>One Minute Mac Tip: Remove .DS_Store files from ZIP Archives</title>
		<link>http://maymay.net/blog/2008/08/04/one-minute-mac-tip-remove-ds_store-files-from-zip-archives/</link>
		<comments>http://maymay.net/blog/2008/08/04/one-minute-mac-tip-remove-ds_store-files-from-zip-archives/#comments</comments>
		<pubDate>Mon, 04 Aug 2008 06:07:51 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Bash/Shell Scripting]]></category>
		<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=544</guid>
		<description><![CDATA[The Mac OS X Finder has some nifty features, one of which is an exceptionally useful contextual menu item to create ZIP archives of folders. Unfortunately, the Finder also has some really, really annoying habits, one of which is to create a file named .DS_Store in each folder a user opens (when not in Column [...]]]></description>
			<content:encoded><![CDATA[<p>The Mac <acronym title="Operating System">OS</acronym> X Finder has some nifty features, one of which is an exceptionally useful contextual menu item to create ZIP archives of folders. Unfortunately, the Finder also has some really, really annoying habits, one of which is to create a file named <code>.DS_Store</code> in each folder a user opens (when not in Column view). What this means is that if you create a ZIP archive on your Mac and then send it to someone who unzips it without the Finder (such as a Windows user using the Windows Explorer), the recipient will see a lot of litter in the form of useless and meaningless <code>.DS_Store</code> files.</p>
<p>If you&#8217;re not afraid of the Terminal, this can be avoided. Put the following lines in your <code>~/.profile</code> (or similar):</p>
<pre class="shell">
alias rmds='find . -name ".DS_Store" -type f -print0 | xargs -0 rm'
</pre>
<p>What this does is creates a new command that you can use (<code>rmds</code>) which recursively finds and deletes any regular file named &#8220;.DS_Store&#8221; starting from the current directory. Thus, running this command in the folder you are about to create an archive out of will clean it first, and will prevent unnecessary confusion on the part of your archive file recipient.</p>
<p>Alternatively, another way to do this is to use the command-line <code>zip</code> program and an (admittedly more complicated) pipeline to remove the <code>.DS_Store</code> files <em>after</em> they have been added to the archive. To do that, use this series of commands:</p>
<pre class="shell">
zip -d <var>ZIPfile.zip</var> `unzip -l <var>ZIPfile.zip</var> | grep .DS_Store | awk '{print $4}'`
</pre>
<p>where, naturally, <var>ZIPfile.zip</var> is the ZIP archive you want to remove the <code>.DS_Store</code> files from. Creating an alias out of that command (and making it work for paths that contain spaces) is left as an exercise for the reader. ;)</p>
<p>As an aside, the <code>alias</code>, <code>find</code> and <code>xargs</code> commands are incredibly useful in their own right and can be used to do a lot of pretty amazing things. As always, <code>man <var>command</var></code> will give you the nitty gritty.</p>
<p>Also as an aside, you can stop the Finder from creating <code>.DS_Store</code> files entirely when browsing network volumes (like Windows shares) with another command, <a href="//support.apple.com/kb/HT1629">documented in Apple&#8217;s Knowledge Base</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/08/04/one-minute-mac-tip-remove-ds_store-files-from-zip-archives/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>One minute Mac tip: Schedule off-hours downloads by enabling `at`, `batch` UNIX job scheduling commands</title>
		<link>http://maymay.net/blog/2008/07/14/one-minute-mac-tip-schedule-off-hours-downloads-by-enabling-at-batch-unix-job-scheduling-commands/</link>
		<comments>http://maymay.net/blog/2008/07/14/one-minute-mac-tip-schedule-off-hours-downloads-by-enabling-at-batch-unix-job-scheduling-commands/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 08:48:56 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[Unix/Linux]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=508</guid>
		<description><![CDATA[In a lot of places in the world, many people still have to pay for bandwidth costs. I&#8217;m one of those people who just can&#8217;t afford to download lots of stuff during peak hours when my bandwidth might quickly get shaped or, worse, I&#8217;ll get charged. Nevertheless, there are often plenty of legit reasons to [...]]]></description>
			<content:encoded><![CDATA[<p>In a lot of places in the world, many people still have to pay for bandwidth costs. I&#8217;m one of those people who just can&#8217;t afford to download lots of stuff during peak hours when my bandwidth might quickly get shaped or, worse, I&#8217;ll get charged. Nevertheless, there are often plenty of legit reasons to initiate huge downloads.</p>
<p>In these cases, it makes sense to be smart about <em>when</em> I initiate these downloads. Being something of a UNIX-head myself, I wanted to use the age-old <code>at</code> command to download a Linux ISO during off-peak hours, which my <acronym title="Internet Service Provider">ISP</acronym> says starts at 2 AM. Much to my chagrin, I found that <code>at</code> doesn&#8217;t work by default on Mac <acronym title="Operating System">OS</acronym> X and, worse, the Leopard man page leads to a dead end (though it didn&#8217;t back in Tiger…).</p>
<p>Turns out that the system daemon that is responsible for checking up on <code>at</code> jobs has been wrapped with a <code>launchd</code> job. This makes enabling <code>at</code> on your system really easy:</p>
<pre>sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist</pre>
<p>Once you&#8217;ve done this, you can now use <code>at</code> as you normally have done. For instance, I could now schedule my downloads to happen during the off-peak hours:</p>
<pre><samp>Perseus:Fedora maymay$ </samp>at 2:15am tomorrow # now press <kbd>return</kbd>
curl -LO http://download.fedoraproject.org/pub/fedora/linux/releases/9/Fedora/x86_64/iso/Fedora-9-x86_64-<acronym title="Digital Video Disc">DVD</acronym>.iso
# now press <kbd>CTRL-D</kbd>.
<samp>job 1 at Tue Jul 15 02:15:00 2008
Perseus:Fedora maymay$ </samp>atq
<samp>1	Tue Jul 15 02:15:00 2008</samp>
</pre>
<p>This is also incredibly handy for scheduling just about any resource-intensive task that you don&#8217;t have to do <em>right now</em>. To take it one step further, you can even let the computer itself choose when to run these resource-heavy tasks by using the <code>batch</code> command, which will execute commands much like <code>at</code> but will check the system load average instead of the system clock to determine if it should start the job.</p>
<p>Note that with the <code>com.apple.atrun</code> job loaded <code>/usr/libexec/atrun</code> is started every 30 seconds (unless you change the <code>StartInterval</code> key in the <code>plist</code> file). Since the <code>atrun</code> command checks a file on disk (that it places in the <code>/usr/lib/cron/jobs</code> directory) to see if there is any work to do, this will probably prevent your disks from ever sleeping, which could be a major concern for battery life on portables. Also, obviously, your computer needs to be turned on and awake for the job to actually launch.</p>
<p>For more information, check out the result of typing <code>man at</code> and <code>man launchctl</code> at a Terminal prompt. There&#8217;s also a really good <a href="http://video.google.com/videoplay?docid=1781045834610400422">Google Tech Talk about Launchd</a> that will teach you a lot more about job scheduling on Mac <acronym title="Operating System">OS</acronym> X.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/07/14/one-minute-mac-tip-schedule-off-hours-downloads-by-enabling-at-batch-unix-job-scheduling-commands/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quick &#8216;N&#8217; Dirty Drupal Module SVN Tagging Script</title>
		<link>http://maymay.net/blog/2008/05/14/quick-n-dirty-drupal-module-svn-tagging-script/</link>
		<comments>http://maymay.net/blog/2008/05/14/quick-n-dirty-drupal-module-svn-tagging-script/#comments</comments>
		<pubDate>Wed, 14 May 2008 09:46:14 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Bash/Shell Scripting]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=435</guid>
		<description><![CDATA[In a (rather beastly) project at work today, I found myself needing to import a significant number of contributed Drupal modules into Subversion vendor branches to prepare for custom development. To do so manually would have been quite the hassle, so after downloading the appropriate tarballs and creating a module_name/current directory under my vendor/drupal/modules vendor [...]]]></description>
			<content:encoded><![CDATA[<p>In a (rather beastly) project at work today, I found myself needing to import a significant number of contributed Drupal modules into Subversion vendor branches to prepare for custom development. To do so manually would have been quite the hassle, so after downloading the appropriate tarballs and creating a <code><var>module_name</var>/current</code> directory under my <code>vendor/drupal/modules</code> vendor branch directory, I concocted this little (relatively untested) script to handle the mass tagging operations I needed to perform.</p>
<pre>for i in *; do
    v=`grep 'version = "' "$i/current/$i/"*.info |
      cut -d ':' -f 2 |
        sed -e 's/^version = "/v/' -e 's/"$//'`
    svn cp "$i/current" "$i/$v"
done;</pre>
<p>It&#8217;s a bit buggy for some modules that have multiple <code>.info</code> files, but I&#8217;m sure a few more pipeline stages can fix that. (Which, because I&#8217;m done with this at the moment, I will leave as an exercise to the reader.)</p>
<p>Chalk this one up as another testament to the power of shell scripting and how it can help every developer get their job done faster.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/05/14/quick-n-dirty-drupal-module-svn-tagging-script/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>One Minute Mac Tip: Use the command line to edit the content of your clipboard</title>
		<link>http://maymay.net/blog/2008/05/09/one-minute-mac-tip-use-the-command-line-to-edit-the-content-of-your-clipboard/</link>
		<comments>http://maymay.net/blog/2008/05/09/one-minute-mac-tip-use-the-command-line-to-edit-the-content-of-your-clipboard/#comments</comments>
		<pubDate>Fri, 09 May 2008 05:08:21 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[HOWTO]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech/Computing]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=433</guid>
		<description><![CDATA[Using the pbpaste and pbcopy commands, you can manipulate the contents of the Mac OS X clipboard (or more formally known as the pasteboard) right from the command line. As a brief example, just select the text of this first paragraph, copy it to your clipboard (with -c), and then type pbpaste in a Terminal [...]]]></description>
			<content:encoded><![CDATA[<p>Using the <code>pbpaste</code> and <code>pbcopy</code> commands, you can manipulate the contents of the Mac <acronym title="Operating System">OS</acronym> X clipboard (or more formally known as the <em>pasteboard</em>) right from the command line. As a brief example, just select the text of this first paragraph, copy it to your clipboard (with <kbd>-c</kbd>), and then type <code>pbpaste</code> in a Terminal prompt. You should see output similar to the following:</p>
<pre><samp>Perseus:~ meitar$ </samp><kbd>pbpaste</kbd>
<samp>Using the pbpaste and pbcopy commands, you can manipulate the contents of the Mac <acronym title="Operating System">OS</acronym> X clipboard (or more formally known as the pasteboard) right from the command line. As a brief example, just select the text of this first paragraph, copy it to your clipboard (with ?-c), and then type pbpaste in a Terminal prompt. You should see output similar to the following:Perseus:~ meitar$ </samp></pre>
<p>Pretty straightforward, right? The only thing to be aware of is that the  symbol showed up in the output as a ? symbol. This is because the Terminal doesn&#8217;t support Unicode, but that&#8217;s a topic for another time.</p>
<p>Anyway, what&#8217;s happening here is nothing more magical than simply reading the clipboard and pasting it into a command&#8217;s standard output stream. As a result, you can construct pipelines that read  from or add content to the clipboard. Here&#8217;s an example in reverse, which takes a command&#8217;s standard output and replaces the contents of the clipboard with it:</p>
<pre><kbd>echo "Hello world! I came from the command line, but now I'm in the clipboard." | pbcopy</kbd></pre>
<p>This command produces no output, but if we examine the contents of the clipboard (by selecting <strong>Edit &rarr; Show Clipboard</strong> from the Finder&#8217;s menu bar) we can see that the text we echoed has indeed been copied there.</p>
<p><a href='/blog/wp-content/uploads/2008/05/finder-clipboard-contents.png'><img src="http://maymay.net/blog/wp-content/uploads/2008/05/finder-clipboard-contents.png" alt="The clipboard now contains the text we echoed from the command line." title="finder-clipboard-contents" width="386" height="186" class="aligncenter size-full wp-image-434" /></a></p>
<p>Another way we can verify that this worked as expected is to simply <code>pbpaste</code> again:</p>
<pre><samp>Perseus:~ meitar$ </samp><kbd>pbpaste</kbd>
<samp>Hello world! I came from the command line, but now I'm in the clipboard.
Perseus:~ meitar$ </samp></pre>
<p>Anyway, this is cool, but it isn&#8217;t very useful yet. For that, we need to add some more stages to our pipeline. Let&#8217;s take the simple case of trying to count how many words the selected text contains. We&#8217;ll use the clipboard contents shown above to do this:</p>
<pre><samp>Perseus:~ meitar$ </samp><kbd>pbpaste | wc -w</kbd>
<samp>      14</samp></pre>
<p>Using the word count (<code>wc</code>) utility, we can count words (<code>-w</code>) very easily. Indeed, our previous example does have exactly 14 words in it. We can also count characters (<code>-c</code>) or lines (<code>-l</code>) of text in the clipboard this way. This is like adding Microsoft Word&#8217;s &#8220;Word Count&#8221; feature to every single piece of text you can copy!</p>
<p>As another example take, for instance, the simple case of copying and pasting a snippet of email from Mail. Instead of pasting it back into a text file verbatim, let&#8217;s prepend &#8216;&gt; &#8216; to the beginning of each line. This way, when we paste our email&#8217;s snippet, we&#8217;ll know where the snippet begins and where it ends. This is a simple three-stage pipeline that uses <code>pbpaste</code> to take our clipboard and put it into the pipeline and then reads back the result from the pipeline back to the clipboard using <code>pbcopy</code>. In the middle, we use sed to insert the desired text at the start of each line:</p>
<pre><kbd>pbpaste | sed -e 's/^/&gt; /' | pbcopy</kbd></pre>
<p>Now, when you paste your clipboard, you&#8217;ll have a greater-than symbol at the start of each line. Naturally, check out the manual pages for all of these commands for more detailed information. For instance, type <code>man pbpaste</code> for more information about the <code>pbpaste</code> command.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/05/09/one-minute-mac-tip-use-the-command-line-to-edit-the-content-of-your-clipboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML.com Managing Editor Kurt Cagle sees the future, one that I&#8217;ve experienced a decade ago</title>
		<link>http://maymay.net/blog/2008/05/03/xmlcom-managing-editor-kurt-cagle-sees-the-future-one-that-ive-experienced-a-decade-ago/</link>
		<comments>http://maymay.net/blog/2008/05/03/xmlcom-managing-editor-kurt-cagle-sees-the-future-one-that-ive-experienced-a-decade-ago/#comments</comments>
		<pubDate>Sat, 03 May 2008 18:24:49 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Tech/Computing]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/?p=428</guid>
		<description><![CDATA[I subscribe to a number of really great technology newsletters because they interest me. One of these is the XML.com weekly newsletter. XML is a technology that has exploded in the last several years, and its specifically an area that I, as a front-end and semantic web specialist, find exceptionally intriguing. Most intriguing today, however, [...]]]></description>
			<content:encoded><![CDATA[<p>I subscribe to a number of really great technology newsletters because they interest me. One of these is the <a href="//xml.com/"><acronym title="eXtensible Markup Language">XML</acronym>.com</a> weekly newsletter. <acronym title="eXtensible Markup Language">XML</acronym> is a technology that has exploded in the last several years, and its specifically an area that I, as a front-end and semantic web specialist, find exceptionally intriguing. Most intriguing today, however, was Managing Editor of <acronym title="eXtensible Markup Language">XML</acronym>.com Kurt Cagle&#8217;s article titled <cite>Is Telecommuting the Next Wave for Education?</cite> in the <acronym title="eXtensible Markup Language">XML</acronym>.com newsletter.</p>
<p>Not only was it a great article that highlights a particular <acronym title="eXtensible Markup Language">XML</acronym> schema for education-related material produced by the <a href="//sifinfo.org/">Schools Interoperability Framework Association</a>, it paints the picture of a future I&#8217;ve already lived ten years ago. I am heartened to see that, at long last, other people are beginning to see the benefits of technology used for &#8220;distance learning.&#8221; Frankly, I can&#8217;t imagine learning any other way.</p>
<p>I tried to find this article online so I could link to it, but I could not. Instead, I&#8217;m reposting the article in full here. If this is available somewhere on the &#8216;net that I just haven&#8217;t found yet, please let me know.</p>
<blockquote><p><cite>Is Telecommuting the Next Wave for Education?</cite> by Kurt Cagle, Managing Editor,xml.com.</p>
<p>In the great analysis game, I have two particularly adept spies &#8211; my daughters. Over the years I&#8217;ve noticed that both of my daughters tend to be remarkably good barometers about the way that the wind is blowing with regard to youth trends, which in turn tend to be significant because teenagers in particular often tend to be the earliest adopters of new technologies. If something doesn&#8217;t resonate with them, no matter how big a marketing budget, it usually doesn&#8217;t fly.</p>
<p>One of the things I&#8217;ve noticed with my eldest daughter in particular is how many of her friends either are or have been recently &#8220;home-schooled&#8221;. Now, for many, home-schooling has long been associated with religious organizations, particularly evangelical Christians, who feel that the school system is too secular for raising their kids. However, given that the kids I know (and their parents) are generally not in that community, I was a little puzzled with what was going on.</p>
<p>Instead, what seems to be happening is a phenomenon that I think will have major ramifications for society, and certainly for the tech community. As the Internet was taking off around 2000, a lot of school districts began implementing a program to help those people who were often at significant distances from a school by offering certain classes online &#8211; with exercises online, video conferencing and periodic tests. At first, these classes were ones that you would expect to make the migration &#8211; science and math courses &#8211; but over time, they have extended to cover everything except those classes that require group participation &#8211; band, or choir, for example &#8211; or need physical facilities, such as wood-working. Physical education requirements could generally be met by agreeing to some form of monitored activity &#8211; swimming classes at a recreational center, for instance.</p>
<p>Yet a funny thing happened while setting up these distance learning programs. While remote users became enthusiastic participants in this new wave, the largest group of users have been urban or suburban kids who, for one reason or another, didn&#8217;t fit well within the school paradigm. In some cases, the people who took advantage of these courses were students who were involved in focused activities that involved travel &#8211; talented musicians who were often on the road, dancers, athletes who were often involved in activities at different schools or other events, or those whose family travelled frequently, who took to the distance courses because they were able to learn better around their other activities. In some cases, the students were people who were going through emotional issues at home &#8211; a death or divorce, for instance, though increasingly that has made its way up into those students who just couldn&#8217;t face the high-pressure world of middle-school or high-school dynamics.</p>
<p>In other words, the kids and teenagers who were taking advantage of these courses just recognized that it gave them an opportunity to learn in the same way that they are increasingly interacting with the rest of the world &#8211; through the computer. Teenagers are hard wired to be more alert in the evening, and typically to be sluggish in the morning, yet school as it is set up right now forces them to be capable of handling complex math and science first thing in the day, when they are generally least reponsive to learning much of anything. Then they are forced to take home dozens of pages of homework that will force them to stay up until late in the evening anyway, meaning that by the time they reach the end of the week, they are physically and mentally exhausted.</p>
<p>Distance Learning lets them combine the homework with the schoolwork, so they can practice new concepts when they&#8217;re presented, not after the concepts have become hazy after a full day. It moves them away from the tyranny of the timetable so that if they are having trouble learning a concept, they can spend the time they need to master it, rather than stopping abruptly halfway through because they have to move onto their next class. It also means that if they have mastered a concept, they do not have to sit around bored while others are still trying to figure out something.</p>
<p>It also lets them have access to the rest of the Internet to use as a research tool. While traditional academics may shudder at this notion, as a recent controversy at one university showcased when a student was expelled for setting up a study group on Facebook, the reality is that we&#8217;re moving past the point at which we need to keep a vast storehouse of information locked up in within our brains. In an era of information ubiquity, many of the skills that are taught in schools are beginning to seem increasingly quaint, and the teachers that are effective are typically the ones that have managed to incorporate this info-sphere in their own teachings. One social studies teacher of my acquaintance in particular has become quite effective at teaching using PowerPoint, Wikipedia, and other multimedia resources, and he goes out of his way to teach children not the history itself (which they can generally look up) but how to research and analyze that history and take from it any lessons that a given period may have to offer.</p>
<p>Distance Learning programs are also becoming more popular for the same reason that telecommuting is becoming popular &#8211; school districts are facing increasing prices for gas and food as a typical family is, but multiplied by several thousand. Many school districts are responding to this by cutting down on the routes that their school buses follow (or in some cases eliminating bus systems entirely) forcing parents to take their kids themselves, often, ironically, increasing the total gas use dramatically and certainly causing headaches for parents who have to integrate their kids into their own commuting schedules. Similarly, school cafeteria programs are being scaled back or eliminated entirely because the cost of the food is becoming painfully high. Add into that aging infrastructures for schools, in a time when the population itself is aging (and hence less likely to fund school initiatives if it affects property taxes), and what you have is a recipe for disintegrating school systems.</p>
<p>Given that, the idea of distance learning as an alternative is one that may be popular at the school board level, as in general, you can generally buy a whole lot of educational training and assistance for what it normally costs to move and feed kids. While it does require some retraining on the part of the teachers, they&#8217;re also attracted to it because their job frequently involves trying to keep order over thirty to as many as forty kids, many of whom simply do not want to be there &#8211; and the same time-shifting that occurs for the students typically occurs for them as well. Indeed, in many cases what ends up happening is that the teachers pre-record certain segments of their lectures (and are increasingly posting them up on YouTube), then set up one-on-one or group chat sessions with the students.</p>
<p>As for the parents in this equation, I&#8217;ve often suspected that one of the reasons for the decline in the quality of contemporary education has been the fact that school has become the place where parents warehouse their kids for the day. Home-schooling does require more parental involvement, but in general it is also far easier for those parents to keep a fairly close eye on what their kids are up to in this day and age when the parents are not at home, at least for kids of a certain age. What&#8217;s more, schools are in many ways like hospitals &#8211; while their ostensible purpose is education, the chance of their kids learning bad habits is far higher in school settings than they generally are at home &#8211; and the kids that are trying to be good aren&#8217;t distracted by the ones determined to make trouble.</p>
<p>That&#8217;s not to say that there aren&#8217;t distractions. My eldest daughter has been known to keep a chat window up talking to friends when she should be concentrating on homework, though in fairness to her, what she&#8217;s chatting about often involves that same homework, albeit in a rather disconnected fashion:</p>
<blockquote><pre>Kat: I'm :-( ):-\. Zuko shippeded Kataara. Urgh ..
Neechan: Urrgghhhhh.
Hey, what's I if volts is 10 and ohms = 3 % (can't write the squiggle for
ohms)?
Kat: Um V =IR so, uhm, I is RV ...
Neechan: No, R over V.
Kat: Oh. Right. :-) .... so 3 divided by 10 - .3. Bad Zuko! ...</blockquote>
</pre>
<p>Is this bad? No &#8211; it&#8217;s only different from the way that those of us who grew up pre-Internet see the world. Distance Learning does not change the amount of homework (though I suspect that it cuts down pretty dramatically on the makework that tends to deaden interest in a subject rather than reinforcing the concepts), nor does it change the need for accountability.  The kids still need to test, and still need to show that they have learned, but I suspect that their retention rates will likely be considerably higher if they can learn in a way that works well for them.</p>
<p>Long term, I think that this will likely end up deconstructing the traditional school system, though this is a process that will take decades to happen completely. It means, for the aggressive learners, that they could in fact complete a formal curriculum in a fraction of the time necessary, though a good teacher can work with those particular students to provide additional areas of study for them to engage with. It means that slower students can learn at their own pace, and can generally be flagged for additional help if they fall sufficiently behind. Money that school districts save in terms of providing physical infrastructure in transportation can be spent on those activities that do promote socialization &#8211; music, art, theatre, sports, civic days, and so forth &#8211; and monthly activities that bring students together can keep the bond in place of school as community.</p>
<p>Distributed education is part of the larger process of social redistribution that is occurring because of the Internet. Modern education emerged about the same time that the modern corporation emerged &#8211; in the 1930s &#8211; during an era when the dominant forces at play involved hierarchies, centralization, consolidation and economies of scale. In this decade, the dominant forces are network related &#8211; decentralization, the economies of global localities, the disintermediation of authority and the a shift away from the geographical. Just as these forces are resisted at the corporate level despite the obvious benefits (and just as workers in places that can telecommute are increasingly doing so) , these same forces are resisted at the educational level with much the same results &#8211; students (and their parents) are taking advantage of any loophole they can to make it available to their kids because it results in a better education for them).</p>
<p>So far, most educational software is boutiqueware, typically Flash-like applications. This won&#8217;t necessarily change moving forward (it is hard in general to make educational software that doesn&#8217;t have a strong &#8220;games-like&#8221; component, and for the most part that game approach makes the educational software far more engaging than it would be otherwise), but one thing that will need to happen as the distributed systems move forward is for the emergence of some kind of general framework for the exchange of educational related information. One particularly promising start in this direction is the development of the Schools Interoperability Framework (SIF) (http://www.sifinfo.org/sif-specification.asp), which is an <acronym title="eXtensible Markup Language">XML</acronym> standard most recently updated in March 2008. Its mandate is fairly broad &#8211; providing <acronym title="eXtensible Markup Language">XML</acronym> schemas for describing grade-books, library services, student information, instructional services and so forth &#8211; (see Figure 1.  SIF Zone Services).Figure 1. SIF Zone Services.</p>
<p>One of the jobs that the <acronym title="eXtensible Markup Language">XML</acronym> community needs to do is to reach out to the developers of educational software and insure that they are aware of the SIF standards, in order to provide better interoperability between their core applications and the growing educational educational noosphere, and to reach out to educators and education IT departments (which are all too typically the math teacher in his spare time) to make them cognizant of these same standards and to help implement solutions around these standards. As more students opt to go &#8220;virtual&#8221; the ability to maintain consistent, and more important interoperable, records becomes ever more paramount.</p>
<p>Long term, the move towards distributed education will shape society in some very profound ways. The kids going to school in such an environment today are more adept at the art of self-education, are usually more capable at analysis and research, and because they managed to avoid the often harsh emotional trauma of dealing with several hundred other kids of the same age daily, usually have more self-confidence than their school-based peers. They&#8217;ll likely have little patience for the Tayloresque approach to college education and will continue their lives in a similar manner by educating themselves within the college&#8217;s online environment (and will tend to shun those colleges that don&#8217;t offer such services) and when they start coming into the workforce in sufficient numbers, they will reshape the way that organizations are set up. On the flip side, I think this is likely to cause a huge amount of cultural friction between this generation and those educated more traditionally in previous generations, because their respective realities will be very different.</p>
<p>So far, the movement is still just a trickle, but watch this space closely &#8211; it will become a flood soon enough &#8211; and the bricks in the wall will come tumbling down (to paraphrase Pink Floyd).</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/05/03/xmlcom-managing-editor-kurt-cagle-sees-the-future-one-that-ive-experienced-a-decade-ago/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deleting GMail messages from an iPhone or iPod touch won&#8217;t &#8220;Archive&#8221;</title>
		<link>http://maymay.net/blog/2008/02/13/deleting-gmail-messages-from-an-iphone-or-ipod-touch-wont-archive/</link>
		<comments>http://maymay.net/blog/2008/02/13/deleting-gmail-messages-from-an-iphone-or-ipod-touch-wont-archive/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 03:41:21 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Apple/Macintosh]]></category>
		<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[Human-Computer Interaction]]></category>
		<category><![CDATA[Tech/Computing]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/2008/02/13/deleting-gmail-messages-from-an-iphone-or-ipod-touch-wont-archive/</guid>
		<description><![CDATA[I just paid way too much money for an iPod touch (because I&#8217;m a technoslut), and in playing around with the Mail application it comes with ever since Macworld and the &#8220;free Software Upgrade&#8221;, I noticed a bit of a gotcha while using GMail IMAP accounts. It seems, that despite syncing up with my iMac&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I just paid way too much money for an iPod touch (because I&#8217;m a technoslut), and in playing around with the Mail application it comes with ever since Macworld and the &#8220;free Software Upgrade&#8221;, I noticed a bit of a gotcha while using GMail <acronym title="Internet Message Access Protocol">IMAP</acronym> accounts.</p>
<p>It seems, that despite syncing up with my iMac&#8217;s accounts, the iPod touch (and, presumably, the iPhone as well), treat the &#8220;Trash&#8221; mailbox specially. Specifically, whereas you can map the &#8220;Delete&#8221; button in Apple Mail.app to function as though it were the GMail &#8220;Archive&#8221; button (<a href="/blog/2007/11/01/how-to-configure-apple-mail-for-the-best-imap-gmail-experience/">by following these simple steps</a>), Mail on the iPod touch or iPhone won&#8217;t inherit the same behavior. &#8220;Delete&#8221; on the iPod touch really is an honest-to-goodness delete—forever.</p>
<p>Instead, to Archive GMail messages on an iPod touch or iPhone, you&#8217;ll need to tap the &#8220;Move&#8221; button (the folder icon with a downwards-facing arrow, second from the left on the bottom toolbar) and select the &#8220;All Mail&#8221; folder. I wonder why the difference in interface choices….</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2008/02/13/deleting-gmail-messages-from-an-iphone-or-ipod-touch-wont-archive/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Steven Pinker&#8217;s &#8216;The Stuff of Thought&#8217;</title>
		<link>http://maymay.net/blog/2007/12/28/steven-pinkers-the-stuff-of-thought/</link>
		<comments>http://maymay.net/blog/2007/12/28/steven-pinkers-the-stuff-of-thought/#comments</comments>
		<pubDate>Fri, 28 Dec 2007 09:21:29 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[Maybe Maimed]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/2007/12/28/steven-pinkers-the-stuff-of-thought/</guid>
		<description><![CDATA[This video, which is one of the recent TED Talk videos, is of Steven Pinker&#8217;s talk called The Stuff of Thought. This is simply brilliant. So brilliant, in fact, that those who know me well are about to be utterly astounded by what I am going to say: I now understand the value of indirect [...]]]></description>
			<content:encoded><![CDATA[<p>This video, which is one of the recent TED Talk videos, is of <a href="//www.ted.com/index.php/talks/view/id/164">Steven Pinker&#8217;s talk called <cite>The Stuff of Thought</cite></a>. This is simply brilliant. So brilliant, in fact, that those who know me well are about to be utterly astounded by what I am going to say:</p>
<p>I now understand the value of indirect communication. And it is <em>immense</em>.</p>
<p>I also understand why I never saw it before: the benefits are reaped solely through language&#8217;s <em>social</em> applications, not its analytical ones. See for yourself by watching the video.</p>
<div style="text-align: center"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="320" height="285" id="VE_Player" align="middle"><param name="movie" value="http://static.videoegg.com/ted/flash/loader.swf"><PARAM NAME="FlashVars" VALUE="bgColor=FFFFFF&#038;file=http://static.videoegg.com/ted/movies/STEVENPINKER-2005G_high.flv&#038;autoPlay=false&#038;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&#038;forcePlay=false&#038;logo=&#038;allowFullscreen=true"><param name="quality" value="high"><param name="allowScriptAccess" value="always"><param name="bgcolor" value="#FFFFFF"><param name="scale" value="noscale"><param name="wmode" value="window"><embed src="http://static.videoegg.com/ted/flash/loader.swf" FlashVars="bgColor=FFFFFF&#038;file=http://static.videoegg.com/ted/movies/STEVENPINKER-2005G_high.flv&#038;autoPlay=false&#038;fullscreenURL=http://static.videoegg.com/ted/flash/fullscreen.html&#038;forcePlay=false&#038;logo=&#038;allowFullscreen=true" quality="high" allowScriptAccess="always" bgcolor="#FFFFFF" scale="noscale" wmode="window" width="320" height="285" name="VE_Player" align="middle" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></object></div>
<p>An incredible <a href="//video.google.com/videoplay?docid=3554279466299738997">interview with this Harvard professor</a> is available on Google Video.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2007/12/28/steven-pinkers-the-stuff-of-thought/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wikipedia showcases the value of simple</title>
		<link>http://maymay.net/blog/2007/11/16/wikipedia-showcases-the-value-of-simple/</link>
		<comments>http://maymay.net/blog/2007/11/16/wikipedia-showcases-the-value-of-simple/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 19:33:34 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Business & E-Commerce]]></category>
		<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/archives/2007/11/16/wikipedia-showcases-the-value-of-simple/</guid>
		<description><![CDATA[Simplicity is a challenging goal for virtually every task you (or I) may have. Why is it a goal at all? Successfully reducing the presentation of complicated tasks into simple components is a goal because it is typically a required part for the success of the task. Possibly the best example of this phenomenon in [...]]]></description>
			<content:encoded><![CDATA[<p>Simplicity is a challenging goal for virtually every task you (or I) may have. Why is it a goal at all? Successfully reducing the presentation of complicated tasks into simple components is a goal because it is typically a required part for the success of the task.</p>
<p>Possibly the best example of this phenomenon in action is <a href="//wikipedia.org/">Wikipedia</a>, which hosts several different versions of its pages. The version everyone knows about is the supremely academic one, the one Wikipedia presents by default. Here&#8217;s an excerpt of one such page&#8217;s introduction, the Wikipedia entry for the <a href="//en.wikipedia.org/wiki/Standard_Model">Standard Model of particle physics</a>.</p>
<blockquote cite="//en.wikipedia.org/wiki/Standard_Model"><p>The Standard Model of particle physics is a theory that describes three of the four known fundamental interactions between the elementary particles that make up all matter. It is a quantum field theory developed between 1970 and 1973 which is consistent with both quantum mechanics and special relativity. To date, almost all experimental tests of the three forces described by the Standard Model have agreed with its predictions. However, the Standard Model falls short of being a complete theory of fundamental interactions, primarily because of its lack of inclusion of gravity, the fourth known fundamental interaction, but also because of the large number of numerical parameters (such as masses and coupling constants) that must be put &#8220;by hand&#8221; into the theory (rather than being derived from first principles).</p></blockquote>
<p>Contrast the above with this excerpt for the same page, the Standard Model of particle physics, taken from <a href="//simple.wikipedia.org/Standard_Model">the <em>simple English</em> version</a> of Wikipedia:</p>
<blockquote cite="//simple.wikipedia.org/wiki/Standard_Model"><p>The Standard Model of physics is the best idea to say how fundamental forces and elementary particles work. It uses quantum mechanics and special relativity. In physics there are many different particles and forces, the Standard Model says that all particles and forces are only two different types: fermions and bosons.</p></blockquote>
<p>Okay, now that&#8217;s a lot easier to understand. In this example, the simple English version is a lot shorter, and at first glance that might strike you as its major distinguishing factor. However, if you read closer, you&#8217;ll notice many things specific to the language that was used that serve to give the simple English version much more accessibility than the academic one. Some of these things include:</p>
<ul>
<li>Simpler, more familiar vocabulary. Instead of using surgically-precise words that may not be familiar to an uninformed reader, plainer words (and no less accuracy) are used to describe concepts.</li>
<li>Dense sentences are broken up into smaller chunks. When accessibility or successful communication is the primary concern, longer sentences that deliver more information in one punch may be counter-productive. Instead, it&#8217;s often better to chop up larger concepts and deliver them in smaller-sized chunks that are easier to digest.</li>
<li>Specifics are introduced one at a time, and defined at each instance. Possibly the most common error writers (especially technical writers) make is introducing lots of interdependent ideas at once or without proper prior context. Rather than work your way from a complicated idea to a simple conclusion, work instead from a simple foundation to a complicated idea, building vocabulary as you go (see point the first about vocabulary).</li>
</ul>
<p>Of course, this is always easier said than done, and it is also why simplicity is intuitively understood by lots of people to be a hard thing to create. Presenting things simply is a challenge because it requires more knowledge than simply understanding the thing; it requires understanding the thing <em>and</em> understanding what pieces of the thing your audience does <em>not</em> (yet) understand. The value of simple lies in being able to fill those gaps.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2007/11/16/wikipedia-showcases-the-value-of-simple/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The 10 Geekiest Leopard Features I Will Probably Love</title>
		<link>http://maymay.net/blog/2007/10/18/the-10-geekiest-leopard-features-i-will-probably-love/</link>
		<comments>http://maymay.net/blog/2007/10/18/the-10-geekiest-leopard-features-i-will-probably-love/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 15:45:59 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Security & Privacy]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/archives/2007/10/18/the-10-geekiest-leopard-features-i-will-probably-love/</guid>
		<description><![CDATA[This is already horribly old news, and by old I mean several days ago since that&#8217;s about as fast as it takes technology news to grow old, but Apple is releasing Mac OS X 10.5 &#8220;Leopard&#8221; at the end of this month. Apple is calling this release a &#8220;major upgrade,&#8221; and indeed Apple has rarely [...]]]></description>
			<content:encoded><![CDATA[<p>This is already horribly old news, and by old I mean several days ago since that&#8217;s about as fast as it takes technology news to grow old, but Apple is releasing Mac <acronym title="Operating System">OS</acronym> X 10.5 &#8220;Leopard&#8221; at the end of this month. Apple is calling this release a &#8220;major upgrade,&#8221; and indeed Apple has rarely made its users wait so long between operating system releases as they have done between Tiger (Mac <acronym title="Operating System">OS</acronym> X 10.4) and Leopard. So, I&#8217;m already excited.</p>
<p>But then today I was glossing over <a href="//apple.com/macosx/features/300.html">Apple&#8217;s featured features list</a> and I got even more excited. There are the usual, largely meaningless, fluff updates that are nice for Joe Schmo or his mother, but that power users simply don&#8217;t care about, like the new iChat support for animated buddy icons, but the list is also chock-full of really cool, really <em>useful</em> features.</p>
<p>What&#8217;s interesting is that a good deal of these features aren&#8217;t really new features at all. For instance, if you knew how to manipulate the NetInfo database on your Mac, you could already share any folder via Apple&#8217;s &#8220;Personal File Sharing&#8221; feature. (Here&#8217;s a <a href="http://www.macosxhints.com/article.php?story=20011108161839416">Mac <acronym title="Operating System">OS</acronym> X Hints hint explaining how to do it</a>.) In Leopard, however, Apple claims that this functionality is now integrated straight into a folder&#8217;s Get Info… window. If it works as smoothly as Apple claims, this is finally going to bring Mac <acronym title="Operating System">OS</acronym> X (client) into decent competition with Windows XP Professional in terms of <acronym title="Graphical User Interface">GUI</acronym>-level power-user features.</p>
<p>However, while all of these features are really cool, here&#8217;s a list of the ten geekiest features I will probably absolutely love, for one reason or another.</p>
<ul>
<li id="li-1"><strong>Ruby on Rails, out of the box</strong> — <em>The</em> hot thing in web development right now is Ruby on Rails. Macs have already been the best personal desktop and web development platform because they have built-in support for the Apache web server and a host of other features, but now they will come with a ready-to-roll installation of Ruby on Rails, sporting Mongrel and (better yet) Capistrano! Specifically with the addition of Capistrano, which is terribly undersold as simply a Ruby on Rails deployment platform, these UNIX-y &#8220;toolbox&#8221; items are bound to make Macs that much more useful right out of the box.</li>
<li id="li-2"><strong>Safari&#8217;s full history search</strong> — As their recent public partnerships with Google have shown, Apple is very clearly invested in search technologies. Spotlight gets a huge number of improvements in Leopard, but none which I think are going to be more useful to more people than this one: spotlight searches on the full text of each web page in your visited history list. That&#8217;s just awesome. Also awesome: using spotlight as a calculator and as a dictionary, which also shows just how Google-like Apple is trying to be. (<a href="http://www.google.com/help/cheatsheet.html">Google also lets you ask it arithmetic questions and a dictionary</a>.)</li>
<li id="li-3"><strong>Wikipedia articles in Dictionary.app</strong> — I <em>love</em> Wikipedia because it&#8217;s one of the fastest ways to get (relatively) reliable information quickly. Now that Dictionary.app has built-in integration with Wikipedia, imagine the possibilities for getting that knowledge instant-gratification craving fixed. Apple has not yet announced this capability, but I can easily envision a scenario where all Cocoa text fields are instantly &#8220;wikified&#8221; (with text that matches Wikipedia articles highlighted) much in the same way that current Cocoa text fields allow you to right-click on a misspelled word and have it corrected by Dictionary.app.</li>
<li id="li-4"><strong><a href="http://www.apple.com/macosx/features/300.html#security">Application-based firewall</a></strong> — In classic Apple fashion, functionality that was previously available via third-party additions is now available from Apple itself. In this case, I have to wonder how well Apple&#8217;s updates to its firewall will obviate the need for <a href="http://www.obdev.at/products/littlesnitch/index.html">Little Snitch</a>, which is basically an application-based firewall, too, and a good one at that.</li>
<li id="li-5"><strong>Built-in <em>guest</em> log-in account</strong> — If you&#8217;re as paranoid about security as I am, you&#8217;ve already created a special, limited-access user on your system (called Guest or Visitor or whatever) and whenever friends are over, you tell them to use that account instead of your own. Now in Leopard, Apple has gone through the trouble of setting this up for us already. A small change that is going to have a big impact.</li>
<li id="li-6"><strong>Scriptable System Preferences &amp; applications</strong> — With AppleScript, you can automate the things your computer does with scripts, as long as those things are &#8220;scriptable.&#8221; In previous versions of Mac <acronym title="Operating System">OS</acronym> X, huge gaping holes of what things shipped by Apple were scriptable existed, causing me (personally) some really annoying headaches. AppleScript <acronym title="Graphical User Interface">GUI</acronym> scripting helped me get around many of those roadblocks, but now it seems Apple is finally filling in some of the most notorious gaps in this functionality with scriptable System Preferences. Yay!</li>
<li id="li-7"><strong>Automator workflow variables</strong> — Automator brings the power of AppleScript I just mentioned to more people with a completely graphic programming environment. There is no need to open up a text document and write AppleScript code because Automator lets you create a script (called a Workflow in Automator jargon) using your mouse by dragging and dropping <dfn>actions</dfn> into the order you want them to be performed. It&#8217;s very slick, but until now it&#8217;s been very limited. With Leopard, Apple is beefing up Automator so that it includes things like variables, basic programmatic capability that was sorely lacking before. (Also majorly cool: a command-line utility to access Automator!)</li>
<li id="li-8"><strong><a href="http://www.apple.com/macosx/features/300.html#finder">Finder.app&#8217;s path bar</a></strong> — Every serious Mac user knows that the Finder needs a lot of help. Now, it&#8217;s getting some. Something the Windows Explorer has had forever (as had every desktop environment for Linux, of course) is a visual cue to show you where in your filesystem tree a given folder is located when you are viewing said folder. Now the Finder gains this capability (though Apple&#8217;s description implies that it&#8217;s going to be off by default) with what Apple is calling a &#8220;Path Bar&#8221;. Finally!</li>
<li id="li-9"><strong>Cocoa and scripting bridges</strong> — Even though no one really seems to know about it, it has long been possible for languages other than AppleScript to do things like send Apple Events to Mac <acronym title="Operating System">OS</acronym> X applications. Specifically, Ruby and JavaScript, two of the most well-known web development languages in existence, can already do this with a single ScriptingAddition (OSAX). But now Apple is making this functionality a central feature <em>and</em> fully extending it to their Objective-C (and Cocoa) language and applications such as Xcode and Interface Builder. This means people like me will have a shallower learning curve before we&#8217;re able to create full-fledged, native Mac <acronym title="Operating System">OS</acronym> X applications. Now <em>that&#8217;s</em> exciting!</li>
<li id="li-10"><strong>Xcode 3 refactoring</strong> — This is something you kind of have to see to believe. I got the opportunity to see it demoed at Apple&#8217;s Leopard Tech Talks last year and I was really excited by it. With the new Xcode, Apple&#8217;s development <acronym title="Integrated Drive Electronics">IDE</acronym>, you can do away with find-and-replace searches for things like renaming functions because Xcode understands what parts of your code are what structures and, when you tell it to &#8220;change the function named myFunction to myNewFunction,&#8221; it&#8217;ll only find-and-replace <em>function names</em> instead of every instance of the string &#8220;myFunction.&#8221; That&#8217;s pretty big, and if it were available for more languages, it&#8217;s <em>almost</em> enough to make me ditch <code>vim</code>.</li>
</ul>
<p>So there you have it. Ten features you might not have already known about that are some of the most promising features I can see in Leopard. And I didn&#8217;t even get into Wide-Area Bonjour, which could make services like DynDNS or No-<acronym title="Internet Protocol">IP</acronym> a thing of the past (and which I still want to learn more about), or the new Terminal application (finally with tabs!), or even the multiple user certificates for S/MIME encrypted email.</p>
<p><ins datetime="2007-10-24T15:04-0500"><strong>Note:</strong> One of the least known security features available on Mac <acronym title="Operating System">OS</acronym> X is also possibly one of the best, and the simplest. Evidently, <a href="http://developer.apple.com/documentation/MacOSX/Conceptual/universal_binary/universal_binary_diffs/chapter_3_section_6.html">all Intel-based Macs are shipped with the <acronym title="eXecute Disable; a feature of modern Intel chipsets that prevent execution of memory from the stack">XD</acronym> (<acronym title="Also Known As">aka</acronym>. <acronym title="No eXecute; a feature of AMD's modern chipsets that prevent execution of memory from the stack">NX</acronym>, <acronym title="Also Known As">aka</acronym>. <acronym title="Data Execution Prevention; Micosoft Windows's supporting implementation of Intel's Execute Disable bit">DEP</acronym>) bit turned on</a>—and thankfully there doesn&#8217;t seem to be any way for users to turn it off. However, this isn&#8217;t a silver bullet and if you want to learn why you should check out this excellent <a href="//anandtech.com/cpuchipsets/showdoc.aspx?i=2239">Anandtech article: <cite>A Bit About the <acronym title="No eXecute; a feature of AMD's modern chipsets that prevent execution of memory from the stack">NX</acronym> Bit</cite></a>.</ins></p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2007/10/18/the-10-geekiest-leopard-features-i-will-probably-love/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Map Of The Internet, Circa 2007</title>
		<link>http://maymay.net/blog/2007/10/09/the-map-of-the-internet-circa-2007/</link>
		<comments>http://maymay.net/blog/2007/10/09/the-map-of-the-internet-circa-2007/#comments</comments>
		<pubDate>Tue, 09 Oct 2007 22:23:39 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Geeky]]></category>
		<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/archives/2007/10/09/the-map-of-the-internet-circa-2007/</guid>
		<description><![CDATA[This map of the Internet is pretty neat. It even gives you a &#8220;you are here&#8221; signpost when you first arrive. More information on the map is available from the ISI ANT Census home page.]]></description>
			<content:encoded><![CDATA[<p>This <a href="//icicle.dylex.net/~ipmap/">map of the Internet</a> is pretty neat. It even gives you a &#8220;you are here&#8221; signpost when you first arrive.</p>
<p>More information on the map is available from the <a href="//isi.edu/ant/address/">ISI ANT Census home page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2007/10/09/the-map-of-the-internet-circa-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Doing a lot with simple tools—Google Docs as a wiki and web site</title>
		<link>http://maymay.net/blog/2007/10/01/doing-a-lot-with-simple-tools%e2%80%94google-docs-as-a-wiki-and-web-site/</link>
		<comments>http://maymay.net/blog/2007/10/01/doing-a-lot-with-simple-tools%e2%80%94google-docs-as-a-wiki-and-web-site/#comments</comments>
		<pubDate>Mon, 01 Oct 2007 19:53:55 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Information & Communication]]></category>
		<category><![CDATA[Tech/Computing]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/archives/2007/10/01/doing-a-lot-with-simple-tools%e2%80%94google-docs-as-a-wiki-and-web-site/</guid>
		<description><![CDATA[Want a simple web site that you can invite others to edit quickly and easily? Try Google Docs on for size.]]></description>
			<content:encoded><![CDATA[<p>A friend and acquaintence of mine wants to build a web site. He wants something simple up quickly, and he needs it to be easy for a large team of non-technical people to update fairly quickly. Impressively, he&#8217;s come up with a very novel solution: <strong>use a collection of publicly-viewable <a href="//docs.google.com/">Google Docs</a> to emulate the feel of a &#8220;wiki&#8221;-like web site</strong>.</p>
<p>This is actually quite a clever and novel use of Google Docs that had never occured to me before. Furthermore, it&#8217;s a wonderful example of how flexible tools that impose very little in the way of their own use can allow people to add arbitrary meaning to the things they create and, thereby, create arbitrarily complex relationships among the things they create. Said more simply, leaving the meaning part of things up to computers is a perfect way to box yourself into a useless use case.</p>
<p>Google Docs contains all the functionality required to build a very simple web site. Google&#8217;s own accounts provide authentication for arbitrary users. The documents themselves can be shared and viewed publicly. An editor can embed links, styles, and other rich text, media, and formatting elements into the page. And best of all, any arbitrary selection of users can be invited to edit the page.</p>
<p>Does this sound familiar to you? It should. It&#8217;s the fundamental building blocks of a <a href="//en.wikipedia.org/wiki/Wiki">wiki</a>. Sure, it doesn&#8217;t have any of <a href="//en.wikipedia.og/wiki/Wikipedia">wikipedia&#8217;s fancy features</a>, but it does have all the basics. And with a little ingenuity, you can end up doing quite a lot even through the use of only very simple tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2007/10/01/doing-a-lot-with-simple-tools%e2%80%94google-docs-as-a-wiki-and-web-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use Google Docs to compose and publish blog posts</title>
		<link>http://maymay.net/blog/2007/07/27/use-google-docs-to-compose-and-publish-blog-posts/</link>
		<comments>http://maymay.net/blog/2007/07/27/use-google-docs-to-compose-and-publish-blog-posts/#comments</comments>
		<pubDate>Fri, 27 Jul 2007 18:09:23 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Crosspost]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Tech/Computing]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/archives/2007/07/27/use-google-docs-to-compose-and-publish-blog-posts/</guid>
		<description><![CDATA[While this feature has been around for a long time, not many people are aware that you can publish blog posts straight from Google Docs to just about any blog of your choice, including Blogger, WordPress, and others.]]></description>
			<content:encoded><![CDATA[<p>While this feature has been around for a long time, not many people are aware that you can publish blog posts straight from Google Docs to just about any blog of your choice, including Blogger, WordPress, and others. This is pretty awesome for many reasons, but most important for many people is the incredible rich text, <acronym title="what you see is what you get">WYSIWYG</acronym> editor that Google Docs offers.</p>
<p>I&#8217;m tempted to give it a shot myself, for many reasons. I think using Google Docs to compose and edit my blog posts may make it easier to:</p>
<ul>
<li>keep copies of my blog posts somewhere other than my blog (just in case),</li>
<li>work on my blog posts from anywhere with an Internet connection (and under the security of an <acronym title="HyperText Transfer Protocol Secured; HTTP over SSL">HTTPS</acronym> connection!),</li>
<li>version-control all of my writing without changing my workflow the least bit,</li>
<li>invite specific users to preview my drafts before they go live and even help me edit my posts so I can catch typos and grammatical errors,</li>
<li>easily export my writings to a variety of formats, such as <acronym title="Portable Document Format">PDF</acronym> or a ZIP file with the ease of a single menu,</li>
<li>and of course, instantly take advantage of whatever wonderful things Google has in their pipeline.</li>
</ul>
<p>Another blogger wrote an entire <a href="http://www.michaelmartine.com/2007/07/02/how-to-use-google-docs-spreadsheets-to-manage-your-blog/">how to article showing tips for using Google Docs to blog</a> that is quite a good read, as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2007/07/27/use-google-docs-to-compose-and-publish-blog-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Simplest Personal Email Spam Solution EVER!</title>
		<link>http://maymay.net/blog/2007/06/25/the-simplest-personal-email-spam-solution-ever/</link>
		<comments>http://maymay.net/blog/2007/06/25/the-simplest-personal-email-spam-solution-ever/#comments</comments>
		<pubDate>Mon, 25 Jun 2007 22:08:59 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Security & Privacy]]></category>
		<category><![CDATA[Tech/Computing]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/archives/2007/06/25/the-simplest-personal-email-spam-solution-ever/</guid>
		<description><![CDATA[I have the simplest personal email spam solution in the world. I use Apple&#8217;s Address Book and, in it, I keep all the email addresses I ever want to get mail from. In Apple&#8217;s Mail program, I simply tell it that email from an address in my address book is exempt from being treated as [...]]]></description>
			<content:encoded><![CDATA[<p>I have the simplest personal email spam solution in the world. I use Apple&#8217;s Address Book and, in it, I keep all the email addresses I ever want to get mail from. In Apple&#8217;s Mail program, I simply tell it that email from an address in my address book is exempt from being treated as junk mail. Then I set up a Mail rule that says if the sender is not in my address book, the message should be moved to the Junk Mail folder.</p>
<p>Voila. This system is <em>flawless</em>. You will never be able to send me loads of spam that go anywhere but my spam box, and I hardly ever look in there.</p>
<p>Naturally, there is a caveat to using this technique, but I actually consider it to be an advantage. By necessity, this technique, keeps me pro-active about getting people&#8217;s contact information when I meet them (and want to talk again). If I don&#8217;t get that person&#8217;s email address, I&#8217;ll probably never see that person&#8217;s email unless I&#8217;m looking out for it. Nine times out of ten, however, that&#8217;s what I want to have happen anyway.</p>
<p>So this solves the problem of unwanted mail. However, what if I want to let people contact me that I don&#8217;t know ahead of time or have previous whitelisted? Well, in that case I rely on an out-of-band communication, such as an introduction from a friend, leaving a comment on my blog(s), or some other method such as an instant message to let me know that there is someone who wants to talk to me.</p>
<p>My contact information is <a href="//maymay.net/">so available (in so many places)</a>, and many <acronym title="Instant Message">IM</acronym> services are now equipped with store-and-forward messaging that there really is no reason for email to be the first time I hear from someone. Even better, if I&#8217;m contacted over Google Talk (as an example), I automatically have an email address for that person.</p>
<p>Voila. Simplest. Spam. Filter. Ever.</p>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2007/06/25/the-simplest-personal-email-spam-solution-ever/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Better Expect Subversion Post-Commit Hook</title>
		<link>http://maymay.net/blog/2007/06/21/a-better-expect-subversion-post-commit-hook/</link>
		<comments>http://maymay.net/blog/2007/06/21/a-better-expect-subversion-post-commit-hook/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 04:41:19 +0000</pubDate>
		<dc:creator>Meitar</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech/Computing]]></category>
		<category><![CDATA[Unix/Linux]]></category>
		<category><![CDATA[expect]]></category>
		<category><![CDATA[Subversion]]></category>

		<guid isPermaLink="false">http://maymay.net/blog/archives/2007/06/21/a-better-expect-subversion-post-commit-hook/</guid>
		<description><![CDATA[In a previous post I wrote a small expect script to update a remote web server&#8217;s deployed code on a new commit to a Subversion repository using Expect and Subversion&#8217;s post-commit hooks. That first script was extraordinarily basic, so I&#8217;ve been wanting to add some sanity and error checking to it for a while. I [...]]]></description>
			<content:encoded><![CDATA[<p>In a <a href="/blog/archives/2007/05/18/use-expect-with-subversions-post-commit-hook-to-automatically-update-remote-servers/">previous post</a> I wrote a small expect script to update a remote web server&#8217;s deployed code on a new commit to a Subversion repository using Expect and Subversion&#8217;s post-commit hooks. That first script was extraordinarily basic, so I&#8217;ve been wanting to add some sanity and error checking to it for a while. I finally got around to it today.</p>
<p>This improved version of the post-commit hook does the same thing as the last one (that is, it logs into your web server over <acronym title="Secure SHell">SSH</acronym> with the given user and password, and yes, I&#8217;m aware of the scariness of embedding a password in such a way, so you should really set up <acronym title="Secure SHell">SSH</acronym> to use public keys for authentication for this), except now it also produces useful output.</p>
<p>Here&#8217;s the same script as before, but improved:</p>
<pre>#!/usr/bin/expect -f

#
# AUTHOR: Meitar Moscovitz <meitar@digitalpulp.com>
# DATE  : Thu Jun 21 16:32:42 EDT 2007
#

set HOST my.web.server
set USER someuser
set PASS xxx

# the working copy we're going to update
set WC /path/to/working/copy

# the path to the svn executable on the remote web server
set SVNBIN /usr/local/bin/svn

# our network is slow, set a long timeout
set timeout 30

##### DO NOT EDIT PAST THIS LINE! #####

# POST-COMMIT HOOK
#
# The post-commit hook is invoked after a commit.  Subversion runs
# this hook by invoking a program (script, executable, binary, etc.)
# named 'post-commit' (this file) with the
# following ordered arguments:
#
#   [1] REPOS-PATH   (the path to this repository)
#   [2] REV          (the number of the revision just committed)
#
# Note that Subversion does not provide this program with an environment
# of any kind. That means this program lacks a current working directory,
# a home directory, a $PATH, and so on.

set REPOS [lindex $argv 0]
set REV [lindex $argv 1]

# Define error codes
set E_NO_SSH     1 ;# can't find a usable <acronym title="Secure SHell">SSH</acronym> on our system
set E_NO_CONNECT 2 ;# failure to connect to remote server (timed out)
set E_WRONG_PASS 3 ;# password provided does not work
set E_UNKNOWN   25 ;# unexpected failure

# find the <acronym title="Secure SHell">SSH</acronym> binary on our system
if {[file executable /usr/bin/ssh]} {
	set SSHBIN /usr/bin/ssh
} elseif {[file executable /usr/local/bin/ssh]} {
	set SSHBIN /usr/local/bin/ssh
} else {
	send_error "Can't find a usable <acronym title="Secure SHell">SSH</acronym> on this system.&#92;n"
	exit $E_NO_SSH
}

spawn $SSHBIN $USER@$HOST $SVNBIN update $WC

expect {
    "continue connecting (yes/no)? " { send "yes&#92;r"; exp_continue; }
    -nocase "password:" { send "$PASS&#92;r"; }
    timeout {
        send_error "&#92;nWe have timed out after $timeout seconds while trying to connect to $HOST!&#92;n";
        exit $E_NO_CONNECT;
    }
}

expect {
	-nocase "password:" { ;# if we are asked for the password again, then we have provided the wrong password
		send_error "&#92;nCan not log in to $HOST because the password provided for user $USER has been rejected.&#92;n";
		exit $E_WRONG_PASS;
	}
	-re "revision (&#92;[0-9]+)." {
		if {$REV == $expect_out(1,string)} {
			send_user "&#92;nSuccessfully updated $WC on $HOST to revision $REV.&#92;n"
		} else {
			send_user "&#92;nUpdated repository to revision $expect_out(1,string), but svn reports that we are at revision number $REV.&#92;n"
			send_error "CAUTION: Repository updated to revision $expect_out(1,string), but committed revision $REV.&#92;n"
		}
	}
	default {
		send_error "An unexpected error has occured. The process at spawn ID $spawn_id has produced the following output:&#92;n"
		send_error $expect_out(buffer)
		exit $E_UNKNOWN
	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://maymay.net/blog/2007/06/21/a-better-expect-subversion-post-commit-hook/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

