<?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>Common Media, Inc.</title>
	<atom:link href="http://www.commonmediainc.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.commonmediainc.com</link>
	<description>Online Communities and Web Development</description>
	<lastBuildDate>Tue, 20 Jul 2010 15:19:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Baseline Solutions Demo</title>
		<link>http://www.commonmediainc.com/2010/07/20/baseline-solutions-demo/</link>
		<comments>http://www.commonmediainc.com/2010/07/20/baseline-solutions-demo/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 15:19:54 +0000</pubDate>
		<dc:creator>noah</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[baseline]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=198</guid>
		<description><![CDATA[We&#8217;ve mentioned Baseline Solutions before &#8211; it is a project we&#8217;re very proud of.
Baseline® is a suite of tools which allows a contract reviewer to  integrate best practices and shared knowledge directly into a document.  The tool is for use by anyone who reviews contracts &#8212; controllers,  CFO&#8217;s, CEO&#8217;s, paralegals, contract administrators, [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve mentioned <a href="http://www.commonmediainc.com/category/baseline/">Baseline Solutions</a> before &#8211; it is a project we&#8217;re very proud of.</p>
<blockquote><p>Baseline® is a suite of tools which allows a contract reviewer to  integrate best practices and shared knowledge directly into a document.  The tool is for use by anyone who reviews contracts &#8212; controllers,  CFO&#8217;s, CEO&#8217;s, paralegals, contract administrators, contract managers and  lawyers.</p>
<p>Baseline works by reading the uploaded contract and  then generating a snapshot summary of the contract. With a further click  of the mouse, Baseline generates a markup of the document incorporating  best practices into the document in Microsoft Word track changes mode.  The best practices take the form of inserted clauses, deleted clauses  and hyper links to a Knowledgebase with a further explanation of the  clauses.<a title="https://baselinesolutions.com" dir="ltr" rel="nofollow" href="https://baselinesolutions.com/" target="_blank"><br />
</a></p></blockquote>
<p>Scott Soloway, founder and President of Baseline Solutions Corporation, has recorded a video demo if you&#8217;re interested in seeing exactly what the app does:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/KlxmXp_VqCk&amp;hl=en_US&amp;fs=1?rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/KlxmXp_VqCk&amp;hl=en_US&amp;fs=1?rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/07/20/baseline-solutions-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Perl scripts for OS X users using Platypus</title>
		<link>http://www.commonmediainc.com/2010/07/12/simple-perl-scripts-for-os-x-users-using-platypus/</link>
		<comments>http://www.commonmediainc.com/2010/07/12/simple-perl-scripts-for-os-x-users-using-platypus/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 14:31:43 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=195</guid>
		<description><![CDATA[Maybe everyone who&#8217;s ever done anything with Perl has written an email extraction script, but a recent client request asked us to take it one step further: allow the script to function as a Mac OS X &#8220;droplet.&#8221; In other words, the script should be an icon in the Finder, and when files are dragged [...]]]></description>
			<content:encoded><![CDATA[<p>Maybe everyone who&#8217;s ever done anything with Perl has written <a title="XKCD: Regular Expressions" href="http://xkcd.com/208/">an email extraction script</a>, but a recent client request asked us to take it one step further: allow the script to function as a Mac OS X &#8220;droplet.&#8221; In other words, the script should be an icon in the Finder, and when files are dragged and dropped on the icon, it should run the script.</p>
<p>This was easy in the days of Mac OS 9 and MacPerl; because there was no Unix core to the Mac OS, MacPerl was the only Perl environment, and the MacPerl environment took care of things like drag-and-drop file access (after all, that was the only way to provide a filename as an argument to a Perl script on a Mac.) Nowadays, with a standard Unix-y Perl shipping with the Mac OS, MacPerl is no longer needed, but the handy drag-and-drop functions aren&#8217;t there.</p>
<p>Filling the gap is <a title="Platypus makes Mac OS applications by bundling scripts" href="http://www.sveinbjorn.org/platypus">Platypus</a>, a handy little utility which makes application bundles out of Unix scripts. Notice I didn&#8217;t say &#8220;Perl&#8221; there. Platypus plays nicely with shell scripts, Python, PHP, Ruby, and Tcl just as easily as Perl. As the developer describes it, &#8220;this is done by wrapping the script in an application bundle directory  structure along with an executable binary that runs the script.&#8221;</p>
<p>Advanced options allow you to configure how script output is shown, whether to allow dropped files as input (you can also filter which file types are accepted) and what to do at script conclusion.</p>
<p>In the case of our email extraction utility, which originally spat out the addresses it found on <code>STDOUT</code>, we found that displaying the script output in a text window for some reason only read one input file. We adjusted the script to write output to a file, then used the text window to show which files were read and the path to the output file (as well as any errors), and that adjustment allowed for multiple input files.</p>
<p>If you&#8217;ve ever wanted to double-click your scripts rather than running them from the command line, <a href="http://www.sveinbjorn.org/platypus">give Platypus a look</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/07/12/simple-perl-scripts-for-os-x-users-using-platypus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our graduate work still going strong</title>
		<link>http://www.commonmediainc.com/2010/05/07/our-graduate-work-still-going-strong/</link>
		<comments>http://www.commonmediainc.com/2010/05/07/our-graduate-work-still-going-strong/#comments</comments>
		<pubDate>Fri, 07 May 2010 20:57:01 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Web development]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[tufts]]></category>
		<category><![CDATA[universities]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=176</guid>
		<description><![CDATA[While we&#8217;re tooting our own horns, an interesting link arrived at our browser this afternoon via a roundabout route. According to EduDemic, the college search site collegesurfing.com ran a feature during the Winter Olympics of &#8220;The Web 2.0 College Olympics,&#8221; running down &#8220;50 Social Media Innovators in Higher Education.&#8221;
Noah and Parker&#8217;s graduate alma mater, Tufts [...]]]></description>
			<content:encoded><![CDATA[<p>While we&#8217;re tooting our own horns, an interesting link arrived at our browser this afternoon via a roundabout route. <a href="http://edudemic.com/2010/05/the-50-best-schools-using-social-media/">According to EduDemic</a>, the college search site collegesurfing.com ran a feature during the Winter Olympics of &#8220;<a href="http://www.collegesurfing.com/content/web-20-colleges/">The Web 2.0 College Olympics</a>,&#8221; running down &#8220;50 Social Media Innovators in Higher Education.&#8221;</p>
<p>Noah and Parker&#8217;s graduate alma mater, <a href="http://www.tufts.edu">Tufts University</a>, topped the &#8220;gold medal winners&#8221; list, and while the description leaned heavily on Twitter and Facebook for all contestants, both EduDemic and collegesurfing.com specifically cited <a href="https://spark.uit.tufts.edu/">Tufts&#8217; &#8220;Spark&#8221; project</a>. Parker was <a href="http://uit.tufts.edu/at/">part of the original Spark team</a> as part of his graduate work, hacking blog software and working on the XSLT bridges Spark used to tie together the project components.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/05/07/our-graduate-work-still-going-strong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick HTML/CSS demo</title>
		<link>http://www.commonmediainc.com/2010/05/07/quick-htmlcss-demo/</link>
		<comments>http://www.commonmediainc.com/2010/05/07/quick-htmlcss-demo/#comments</comments>
		<pubDate>Fri, 07 May 2010 14:26:44 +0000</pubDate>
		<dc:creator>noah</dc:creator>
				<category><![CDATA[Clients]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Web development]]></category>
		<category><![CDATA[XHTML/CSS]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=170</guid>
		<description><![CDATA[People often ask us what we do when a designer sends over a PSD, so I made some screen captures from the early stages of a recent build. Next time we&#8217;ll do a longer one, right through getting all the fonts and images perfect.
Design by our friend Justin Zucco, and I&#8217;ll post a link to [...]]]></description>
			<content:encoded><![CDATA[<p>People often ask us what we do when a designer sends over a PSD, so I made some screen captures from the early stages of a recent build. Next time we&#8217;ll do a longer one, right through getting all the fonts and images perfect.</p>
<p>Design by our friend <a href="http://justinzucco.com/print-portfolio-hb-identity.html" target="_blank">Justin Zucco</a>, and I&#8217;ll post a link to the live site (Balmat Law) when it goes live in a week or two.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="566" height="342" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/mSC84CUx_Uk&amp;hl=en_US&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="566" height="342" src="http://www.youtube.com/v/mSC84CUx_Uk&amp;hl=en_US&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://www.youtube.com/watch?v=mSC84CUx_Uk">http://www.youtube.com/watch?v=mSC84CUx_Uk</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/05/07/quick-htmlcss-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nginx configuration tweaks for client-side speed optimization</title>
		<link>http://www.commonmediainc.com/2010/05/06/nginx-configuration-tweaks-for-client-side-speed-optimization/</link>
		<comments>http://www.commonmediainc.com/2010/05/06/nginx-configuration-tweaks-for-client-side-speed-optimization/#comments</comments>
		<pubDate>Fri, 07 May 2010 00:02:39 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Phusion Passenger]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[System Administration]]></category>
		<category><![CDATA[browser performance]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[page speed]]></category>
		<category><![CDATA[YSlow]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=167</guid>
		<description><![CDATA[As we move more sites to an Nginx/Passenger server stack, we need to translate the server-side optimizations we use for browser-side performance from Apache configuration to Nginx. Here&#8217;s how that comes over:
Gzip compression
In Nginx, this is an optional module which should be built in to the software at compile time. If it&#8217;s present, you can [...]]]></description>
			<content:encoded><![CDATA[<p>As we move more sites to an Nginx/Passenger server stack, we need to translate <a href="http://www.commonmediainc.com/2008/03/27/y-be-slow/">the server-side optimizations we use for browser-side performance</a> from Apache configuration to Nginx. Here&#8217;s how that comes over:</p>
<h5>Gzip compression</h5>
<p>In Nginx, this is an optional module which should be built in to the software at compile time. If it&#8217;s present, you can activate it in site configuration with a block like this:</p>
<pre> gzip on;
 gzip_min_length  1100;
 gzip_buffers     4       8k;
 gzip_proxied     any;
 gzip_types       text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;</pre>
<p>Note that Nginx considers <code>text/xml</code> and <code>text/html</code> to be redundant MIME types.</p>
<h5>Long expiration dates</h5>
<p>We want to have our assets cached in the user&#8217;s browser cache as long as possible, with a few exceptions (e.g. advertising assets.) To that end, we set expiration headers:</p>
<pre>       location ~* \.(js|css|jpg|jpeg|gif|png)$ {
                if (-f $request_filename) {
                   expires                        max;
                   break;
                }
       }</pre>
<p>This uses the filename extension to determine which files get &#8220;far future&#8221; expiration dates. If you&#8217;re used to naming files without extensions, this might not work so well for you.</p>
<p>By default, Nginx doesn&#8217;t use Etags, so we can stop worrying about that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/05/06/nginx-configuration-tweaks-for-client-side-speed-optimization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Surviving Django traffic spikes with Nginx and memcached</title>
		<link>http://www.commonmediainc.com/2010/05/06/surviving-django-traffic-spikes-with-nginx-and-memcached/</link>
		<comments>http://www.commonmediainc.com/2010/05/06/surviving-django-traffic-spikes-with-nginx-and-memcached/#comments</comments>
		<pubDate>Thu, 06 May 2010 23:39:22 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[System Administration]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=165</guid>
		<description><![CDATA[Normally I wouldn&#8217;t categorize a multi-national organization with a seven-figure annual budget as a &#8220;small&#8221; client, but we didn&#8217;t build the site for the World Marathon Majors, a sort of mass-marathon trade group made up of the Boston, London, Berlin, Chicago and New York City marathons. Instead, we inherited their Django-based site from a previous [...]]]></description>
			<content:encoded><![CDATA[<p>Normally I wouldn&#8217;t categorize a multi-national organization with a seven-figure annual budget as a &#8220;small&#8221; client, but we didn&#8217;t build the site for the <a href="http://www.worldmarathonmajors.com">World Marathon Majors</a>, a sort of mass-marathon trade group made up of the Boston, London, Berlin, Chicago and New York City marathons. Instead, we inherited their <a href="http://www.djangoproject.org">Django</a>-based site from a previous partner, and our job is to keep it running, fix what breaks, and make modest upgrades.</p>
<p>The site&#8217;s traffic is flat for most of the year, but race day for any of the five events produces a spike in the traffic graph resembling a shark fin in a calm sea. Last month, with both <a href="http://www.baa.org/">Boston</a> and <a href="http://www.virginlondonmarathon.com/">London</a> on the horizon, we took steps to ensure the site and its new hosting could handle the load.</p>
<p>Because the site does not ask users to register, we recognized that we could cache complete HTML pages as they were rendered by Django and expire them after an arbitrary time span. If we kept rendered pages in the cache for ten minutes, for example, no page would be rendered more frequently than once every ten minutes, and yet news updates would never be delayed by more than ten minutes waiting for a cache refresh.</p>
<p>Because we were already using <a href="http://wiki.nginx.org/">Nginx</a> as the front-end of our server stack, we followed <a href="http://soyrex.com/blog/django-nginx-and-memcached/">this stellar write-up by Alex Holt</a> describing a simple system where Django writes to the cache, and Nginx reads from it. By using <a href="http://memcached.org/">memcached</a> for our cache rather than writing to disk or a database, we realized a little extra benefit: whenever Nginx has a cache hit, the page is returned significantly faster than if there&#8217;s a cache miss and Django has to render the page. This isn&#8217;t surprising when you think about the whole stack–of course a simple read will always be faster than a dynamic page build with multiple database queries–but gave us a nice Zen server moment. By doing less work, the server was getting more done.</p>
<p>And the whole stack survived London with flying colors. Now we just have to figure out how to unwind the site&#8217;s designed-in assumption that UK is a legitimate language code for English.  (Hint: People who speak &#8220;UK&#8221; use the Cyrillic alphabet.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/05/06/surviving-django-traffic-spikes-with-nginx-and-memcached/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Common Running on hold</title>
		<link>http://www.commonmediainc.com/2010/04/30/common-running-on-hold/</link>
		<comments>http://www.commonmediainc.com/2010/04/30/common-running-on-hold/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 21:06:18 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Common Running]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=161</guid>
		<description><![CDATA[We&#8217;ve shut down the running application at commonrunning.com, and redirected all traffic to that domain to this post.
The Common Running idea suffered from some serious drawbacks. One of those was a cold start problem, where the functionality of the site for early adopters was limited until we had reached a critical mass of user input [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve shut down the running application at commonrunning.com, and redirected all traffic to that domain to this post.</p>
<p>The Common Running idea suffered from some serious drawbacks. One of those was <a href="http://socialmedia.typepad.com/blog/2008/07/the-cold-start-problem-in-social-media.html">a cold start problem</a>, where the functionality of the site for early adopters was limited until we had reached a critical mass of user input (a level the site never reached). Another was the problem of basic data; as long as we were soliciting reviews, we were obligated to maintain a comprehensive, high-quality database of current and recent running shoe models, and we were unable to meet that obligation while also performing paying client work.</p>
<p>We still hold out some hope for the CR technology model, perhaps with a plan in place to address the problems outlined above. For the time being, however, we won&#8217;t pretend the site is useful and will be concentrating our energy on other projects.</p>
<p>(Check <a href="http://www.commonmediainc.com/category/common-running/">the collection of Common Running posts</a> for some bits of the two-year history of the site.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/04/30/common-running-on-hold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>26.2 miles of data</title>
		<link>http://www.commonmediainc.com/2010/04/28/26-2-miles-of-data/</link>
		<comments>http://www.commonmediainc.com/2010/04/28/26-2-miles-of-data/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 17:36:17 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Clients]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=158</guid>
		<description><![CDATA[We work on an occasional consulting basis with the B.A.A., organizers of the Boston Marathon. The 114th running of that venerable race happened on Monday, April 19th. Quite a bit has changed in the operation of a major marathon since 1897, and Network World produced this report on how the B.A.A.&#8217;s other technology partners handle [...]]]></description>
			<content:encoded><![CDATA[<p>We work on an occasional consulting basis with <a href="http://www.baa.org">the B.A.A.,</a> organizers of the Boston Marathon. The 114th running of that venerable race happened on Monday, April 19th. Quite a bit has changed in the operation of a major marathon since 1897, and <em>Network World</em> produced this report on how the B.A.A.&#8217;s other technology partners handle the information stream created by ~25,000 runners (23,176 starters and 22,678 finishers according to the B.A.A.) who, despite participating in one of the world&#8217;s oldest and simplest sports, have since the mid-1990s been accompanied by RFID chips.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="580" height="351" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/umlGQ_NiIFA&amp;hl=en_US&amp;fs=1&amp;rel=0" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="580" height="351" src="http://www.youtube.com/v/umlGQ_NiIFA&amp;hl=en_US&amp;fs=1&amp;rel=0" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>If you&#8217;re curious about transponder-based timing technology, <a title="Flat Hills Road: Race Timing and the Chip Wars" href="http://www.flathillsroad.com/2009/06/race-timing-and-the-chip-wars/">I wrote an article</a> for <a href="http://www.nerunner.com"><em>New England Runner</em></a> in late 2008 which, while already obsolete in terms of the current state of the art, pretty much captured things at the time. The video above was brought to our attention by Josh Merlis of <a href="http://www.albanyrunningexchange.org/">Albany Running Exchange</a>, whose <a title="ARE Event Productions" href="http://areep.com/">event production team</a> does some <a title="ARE EP's custom solutions" href="http://www.areep.com/index.php?view=custom">pretty nifty stuff</a> with transponder data, PHP, and occasional peripherals like on-course digital cameras.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/04/28/26-2-miles-of-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;re hiring!</title>
		<link>http://www.commonmediainc.com/2010/04/13/were-hiring/</link>
		<comments>http://www.commonmediainc.com/2010/04/13/were-hiring/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 19:43:48 +0000</pubDate>
		<dc:creator>pjmorse</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[employment]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[web developer]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=155</guid>
		<description><![CDATA[We were looking for a front-end web developer.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re hiring! We are currently in need of a front-end website developer.</p>
<p>We&#8217;re a small custom development house, with new custom Content Management Systems about half our current work, and half ongoing feature development for existing clients. We&#8217;re conveniently located right downtown in Amherst, overlooking the Common.</p>
<p>XHTML/CSS and recent web development experience is necessary. A design background, Ajax, Javascript and/or advanced CSS-fu are definite pluses. We&#8217;re looking for someone excited about the modern web, and the exact details of your résumé are less important than if you are &#8220;smart and get things done.&#8221;</p>
<p>Primary responsibilities will include:</p>
<ul>
<li>Dynamic front-end web development using XHTML and CSS.</li>
<li>Updates, new features and maintenance for existing web applications, and new development to client specifications.</li>
<li>Thoroughly testing code written by yourself, as well as others.</li>
</ul>
<p>Necessary skills and attributes:</p>
<ul>
<li>Ability to write consistent, standards-compliant XHTML and CSS.</li>
<li>Ability (and eagerness) to learn new skills on the job.</li>
<li>Attention to detail and production schedules.</li>
</ul>
<p>Compensation commensurate with experience, plus benefits. <span style="text-decoration: line-through;">Please submit a resume and cover letter to <a href="mailto:jobs@commonmediainc.com">jobs@commonmediainc.com</a>.</span> This is an on-site position only, no telecommuters, please.</p>
<p>ETA: We have all the applications we need at the moment, thank you. We&#8217;ll update this page if that changes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/04/13/were-hiring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rejecting mail for valid local users</title>
		<link>http://www.commonmediainc.com/2010/02/19/rejecting-mail-for-valid-local-users/</link>
		<comments>http://www.commonmediainc.com/2010/02/19/rejecting-mail-for-valid-local-users/#comments</comments>
		<pubDate>Fri, 19 Feb 2010 19:33:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://www.commonmediainc.com/?p=153</guid>
		<description><![CDATA[Several months ago we mentioned that certain Linux distributions will, if they are running an SMTP server and accepting mail for local users, accumulate spam for &#8220;role&#8221; users who will never read their mail, e.g. mail, uucp, news, etc.
I finished by suggesting,
The best shortcut here is to bounce any email destined for the role users. [...]]]></description>
			<content:encoded><![CDATA[<p>Several months ago we mentioned that certain Linux distributions will, if they are running an SMTP server and accepting mail for local users, <a href="http://www.commonmediainc.com/2009/09/14/clean-out-role-user-mailboxes/">accumulate spam for &#8220;role&#8221; users</a> who will never read their mail, e.g. <code>mail</code>, <code>uucp</code>, <code>news</code>, etc.</p>
<p>I finished by suggesting,</p>
<blockquote><p>The best shortcut here is to bounce any email destined for the role users. This will vary depending on your MTA, so I won’t detail it here.</p></blockquote>
<p>It&#8217;s true that it varies by MTA, but it turns out it&#8217;s really hard to find this information. MTAs aren&#8217;t set up to reject mail from specific addresses; they want a specific list of valid addresses and they&#8217;ll reject everything else.</p>
<p>It turns out that there&#8217;s a faster and cleaner method which is MTA-independent: lock the mailboxes for those users.</p>
<p>This could be as simple as putting an empty file in <code>/var/spool/mail/uucp</code> (for example) which is owned by <code>root</code> with 600 permissions, but that&#8217;s going to generate a bunch of error messages when your local delivery agent tries to write to a file it doesn&#8217;t have permissions for. A more elegant solution is to symlink those paths to <code>/dev/null</code>:</p>
<pre>ln -s /dev/null /var/spool/mail/uucp</pre>
<p>Now make sure the symlink has the correct ownership&#8230;</p>
<pre>chown -h uucp:mail /var/spool/mail/uucp</pre>
<p>Now all that spam will be silently delivered to the bit-bucket.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.commonmediainc.com/2010/02/19/rejecting-mail-for-valid-local-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
