<?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>Noemi Millman &#124; Triopter</title>
	<atom:link href="http://triopter.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://triopter.com</link>
	<description>Hello.  My name is Noemi Millman, and Triopter is my web development agency.  We handcraft beautiful, dynamic websites.</description>
	<lastBuildDate>Tue, 24 Apr 2012 15:27:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>On the Pitfalls of Overseas Outsourcing</title>
		<link>http://triopter.com/archive/on-the-pitfalls-of-overseas-outsourcing/</link>
		<comments>http://triopter.com/archive/on-the-pitfalls-of-overseas-outsourcing/#comments</comments>
		<pubDate>Fri, 06 Aug 2010 16:32:23 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[freelancing]]></category>
		<category><![CDATA[outsourcing]]></category>
		<category><![CDATA[web dev]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=193</guid>
		<description><![CDATA[Outsourcing overseas can be tempting, and there are times when it is an appropriate approach to a web project.  But it can be dangerous if you do not have the technical expertise to properly evaluate the quality of the work.  Let me tell you a little story:
Recently a client came to me with [...]]]></description>
			<content:encoded><![CDATA[<p>Outsourcing overseas can be tempting, and there are times when it is an appropriate approach to a web project.  But it can be dangerous if you do not have the technical expertise to properly evaluate the quality of the work.  Let me tell you a little story:</p>
<p>Recently a client came to me with a small project: a single new page on her site, password protected to keep out casual browsers and search engines, but not requiring a high degree of security.</p>
<p>When I&#8217;m very busy, as I am now, I occasionally subcontract to other American-based freelancers with whom I&#8217;ve worked closely and whom I trust to produce excellent work.  Because this project was in a language I rarely work in, I decided the most efficient use of the client&#8217;s money would be to subcontract to someone with more experience in that language.  I reached out to some contacts and was put in touch with someone who received enthusiastic recommendations.</p>
<p>Not realizing that this individual (who will remain nameless) actually ran an outsourcing firm, I sent him some instructions; the page was presented to me the next morning.</p>
<p>To someone not closely familiar with web technology, it might have looked perfect.  You input the password.  If it was incorrect, you received a warning and nothing happened.  If it was correct, you were redirected to the actual page.</p>
<p>However, there were two <strong>major</strong> flaws in the implementation that suggested that the requirements &#8212; or the reasoning behind them &#8212; had not been understood:</p>
<h3>1. Use of Javascript</h3>
<p>The password verification was implemented entirely in Javascript &#8212; I recognized this immediately from the alert box that appeared when an incorrect password was input.  The problem with this is that it is entirely client-side: i.e. performed in the user&#8217;s browser.  A user could simply &#8220;view source&#8221; for the page to retrieve both the password and the URL of the destination page.</p>
<h3>2. The destination page was not password protected</h3>
<p>That is, if you visited the URL of the destination page without first going through the password page, there was no validation performed &#8212; it could be accessed without a password.  This defeated both of the purposes of the password protection: the URL could be shared among users, and if a user were to put a link from another website to the page, it could be picked up by search engines.</p>
<p>I sent the project back to the subcontractor, explaining my disappointment with the use of client-side authentication.  He agreed to have the flaws corrected, and  it was at this point that I learned that he was outsourcing overseas.  </p>
<p>When the &#8220;corrected&#8221; page was returned to me the next morning, the password authentication had indeed been moved server-side (meaning that a casual user could not retrieve the password or destination URL); but the two-page structure that permitted unauthenticated access to the destination page had not been corrected (the correct behavior would have been to use a &#8220;cookie&#8221; to create a &#8220;session&#8221; identifying the user, and to refuse to present the destination page if the session did not indicate that the user had entered the password).</p>
<p>Finally, disappointed, I decided to implement the page myself, and will not charge the client for the time spent by the subcontractor.  Lesson learned: be certain in advance whether the subcontractor I&#8217;m hiring outsources.  I could have saved myself some time and money if I had known this &#8212; I might have hired someone else, or at the very least would have been much more specific in my instructions (overseas developers will typically implement whatever takes the least thought to meet the instructions given, so you must give them very explicit instructions.)</p>
<p>The same caveats apply to anyone hiring for web development.  If you are considering hiring an outsourcing company rather than an American-based agency or freelancer, be certain that you have someone in house with the technical savvy to both a) communicate very detailed instructions to the outsourcer, and b) evaluate the resulting product for technical flaws and adherence to specifications.</p>
<p>In the end, please consider hiring your friendly neighborhood freelancer, who will make the effort to understand the problem you are trying to solve; will be able to offer suggestions as to alternate and possibly more efficient solutions; and will consider it a point of pride to solve it <em>correctly</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/on-the-pitfalls-of-overseas-outsourcing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing Usertrack: Drupal Module to Track User Login / Logout Status</title>
		<link>http://triopter.com/archive/introducing-usertrack-drupal-module-to-track-user-login-logout-status/</link>
		<comments>http://triopter.com/archive/introducing-usertrack-drupal-module-to-track-user-login-logout-status/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 20:40:00 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[web dev]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=189</guid>
		<description><![CDATA[As part of a recent project for the excellent Nolej Studios, I needed a way to track which Drupal users are currently logged in &#8212; this is surprisingly not really possible using the Drupal core, and even more surprisingly not supported by any contrib modules than I could identify.
The obvious solution was to code my [...]]]></description>
			<content:encoded><![CDATA[<p>As part of a recent project for the excellent Nolej Studios, I needed a way to track which Drupal users are currently logged in &#8212; this is surprisingly not really possible using the Drupal core, and even more surprisingly not supported by any contrib modules than I could identify.</p>
<p>The obvious solution was to code my own module, and here it is: <a href="http://triopter.com/wordpress/wp-content/uploads/2010/06/usertrack.zip">usertrack</a>.  You can also check it out from Subversion at <a href="http://svn.triopter.com/drupal/usertrack/trunk/usertrack/" target="_blank">http://svn.triopter.com/drupal/usertrack/trunk/usertrack/</a> .</p>
<p>Usertrack includes simple Views integration for filtering, sorting, and annotating your User view with login status and last logout date.  Please read the README for compatibility and installation notes.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/introducing-usertrack-drupal-module-to-track-user-login-logout-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understand Image Formats, Part 2: JPEG, GIF, TIFF, PNG, and BMP &#8212; the Raster Formats</title>
		<link>http://triopter.com/archive/understand-image-formats-part-2-jpeg-gif-tiff-png-and-bmp-the-raster-formats/</link>
		<comments>http://triopter.com/archive/understand-image-formats-part-2-jpeg-gif-tiff-png-and-bmp-the-raster-formats/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 06:30:22 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=157</guid>
		<description><![CDATA[As we learned in Part 1, there are two major types of image formats, vector and raster.  A raster image is made up of a grid of pixels.
But there are several different raster formats.  What&#8217;s the difference between them?
BMP
Let&#8217;s start with BMP, which is the most straightforward format.  BMP stands for &#8220;bitmap&#8221;, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://triopter.com/archive/understanding-image-formats-part-1-vector-vs-raster/">As we learned in Part 1</a>, there are two major types of image formats, vector and raster.  A raster image is made up of a grid of pixels.</p>
<p>But there are several different raster formats.  What&#8217;s the difference between them?</p>
<h2>BMP</h2>
<p>Let&#8217;s start with BMP, which is the most straightforward format.  BMP stands for &#8220;bitmap&#8221;, and it is literally a list of pixels, with a color specified for each.  Although Microsoft Office seems to like them a lot, BMP&#8217;s are not especially desirable for designers.  They have large file sizes and often low color depth (meaning they can store only a few distinct colors and not subtle gradations of color).  They are usually appropriate only for clip art</p>
<h2>TIFF</h2>
<p>TIFF is a little like BMP with some improvements.  A TIFF is also a list of pixels with a color specified for each, but it can handle a lot more colors, so it is appropriate for photos.  TIFFs can also have multiple layers (like data for multiple images in a single file) or parts of an image that are transparent; however, not all software recognizes those features, and most TIFFs do not use them.  </p>
<p>TIFFs are a preferred format for saving high quality photos, and they can be compressed (the file size reduced) to a certain degree without losing any quality.  </p>
<p>They also display graphics without loss in quality, although they are not as flexible as vector images in that the graphic cannot be separated from the background and the size can only be decreased, not increased, without losing quality.  If you must send a graphic, such as a logo, in a raster format, a high-resolution TIFF can be a good choice.  </p>
<p>However, file sizes are larger than for other formats (other than BMP), and not all browsers can display TIFF files, so while your designer may request a TIFF to work with, he or she likely will use another format for the final product.</p>
<h2>JPEG</h2>
<p>JPEG is the best-known image format out there today; but it is often abused.  JPEGs are a &#8220;lossy&#8221; compressed format.  That means that file sizes are made smaller by discarding some data; the software that displays the image then approximates the data that is missing.  </p>
<p>JPEGs are good for photos, and a high quality JPEG can be many times smaller than a TIFF of the same photo at the same size.  The trouble with JPEGs is overcompression, which results in what are called &#8220;compression artifacts&#8221;:</p>
<p><img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/compression1.jpg" alt="compression1" title="compression1" width="300" height="274" class="alignnone size-full wp-image-158" /></p>
<p>If you look closely at a JPEG on a good monitor, you can see little blips around the edges of things.  Those are the compression artifacts.  An overcompressed JPEG like the one above will have visible compression artifacts clearly visible even to the untrained eye.</p>
<p>Worse, even a high quality JPEG loses additional data each time you open and re-save it.  So a good image that is edited several times may end up with ugly artifacts like in the image below, even if it&#8217;s saved at high quality each time (before, then after; compare her teeth):</p>
<p><img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/lowcompression.jpg" alt="lowcompression" title="lowcompression" width="300" height="274" class="alignnone size-full wp-image-160" /><br />
<img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/compression2.jpg" alt="compression2" title="compression2" width="300" height="274" class="alignnone size-full wp-image-161" /></p>
<p>For photos, a moderate amount of compression is barely visible, but because compression artifacts can make what should be even colors look uneven, JPEG is a <strong>very</strong> poor choice for graphics like logos (first image is a GIF, second is a JPG):</p>
<p><img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/giflogo.gif" alt="giflogo" title="giflogo" width="200" height="81" class="alignnone size-full wp-image-162" /> <img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/jpeglogo.jpg" alt="jpeglogo" title="jpeglogo" width="200" height="81" class="alignnone size-full wp-image-163" /></p>
<p>Nearly all web browsers can display JPEGs, and they have the smallest file sizes for photos, so JPEG is easily the best format for displaying photos on the web, but is not a good format for graphics, and is not quite as good as TIFF for storing photos that are going to be edited.  And be careful of how much compression you use!</p>
<h2>GIF</h2>
<p>GIF is also a &#8220;lossy&#8221; format, but instead of discarding detail, GIFs discard color information.  The fewer colors a GIF has to display, the smaller the file size can be without losing any information.  But GIF also has a maximum of 256 colors.</p>
<p>That means that GIFs are great for displaying things like logos, but horrible at displaying photos:</p>
<p><img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/giflogo.gif" alt="giflogo" title="giflogo" width="200" height="81" class="alignnone size-full wp-image-162" /><br />
<img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/gifphoto.gif" alt="gifphoto" title="gifphoto" width="300" height="274" class="alignnone size-full wp-image-166" /></p>
<p>GIF has another feature, transparency, which gives it an advantage over JPEG for certain uses:</p>
<p><img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/transparency.gif" alt="transparency" title="transparency" width="200" height="81" class="alignnone size-full wp-image-167" /></p>
<p>GIF is also recognized by nearly every web browser, and is often used for graphics on the web.  It is another format that is not usually good for sending images to your designer, but that your designer may produce for the finished product.</p>
<h2>PNG</h2>
<p>PNG comes in two varieties, 8-bit and 24-bit.  The numbers refer to the amount of data stored for each color.  An 8-bit PNG can store up to 256 colors and is functionally equivalent to a GIF.</p>
<p>24-bit PNGs are interesting.  You can store a photo in a 24-bit PNG, although it will result in a very large file.  However, because it does not suffer from compression artifacts, 24-bit PNG is a great format for displaying images that contain both graphics and photos, such as a screenshot of a website (click for full size):</p>
<p><a href="http://triopter.com/wordpress/wp-content/uploads/2010/04/Picture-125.png"><img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/Picture-125-300x219.png" alt="Picture 125" title="Picture 125" width="300" height="219" class="alignnone size-medium wp-image-171" /></a></p>
<p>What&#8217;s especially interesting about 24-bit PNGs is the potential for partial transparency:</p>
<p><img src="http://triopter.com/wordpress/wp-content/uploads/2010/04/trans.png" alt="trans" title="trans" width="200" height="81" class="alignnone size-full wp-image-172" /></p>
<p>Sadly, older versions of some browsers (particularly Internet Explorer) don&#8217;t support partial PNG transparency without messy workarounds that have other drawbacks.  Soon, however, PNG may replace GIF as the dominant format for non-photo web graphics.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/understand-image-formats-part-2-jpeg-gif-tiff-png-and-bmp-the-raster-formats/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Understanding Image Formats, Part 1: Vector vs. Raster</title>
		<link>http://triopter.com/archive/understanding-image-formats-part-1-vector-vs-raster/</link>
		<comments>http://triopter.com/archive/understanding-image-formats-part-1-vector-vs-raster/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 18:17:38 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=149</guid>
		<description><![CDATA[Several times a month, I find myself writing to a client to ask whether they can supply me with a specific image in a different format.  Sometimes they not only are confused as to why I&#8217;d need another format, but they didn&#8217;t even know that there were different formats for images.
You&#8217;re probably already familiar [...]]]></description>
			<content:encoded><![CDATA[<p>Several times a month, I find myself writing to a client to ask whether they can supply me with a specific image in a different format.  Sometimes they not only are confused as to why I&#8217;d need another format, but they didn&#8217;t even know that there <em>were</em> different formats for images.</p>
<p>You&#8217;re probably already familiar with JPEG images, but today I&#8217;m going to tell you about some of the other formats web designers use (such as GIF, TIFF, PNG, EPS, PSD, AI, PDF, and SVG), and why we use them.</p>
<h2>What Are Vector and Raster Images?</h2>
<p>Here&#8217;s a piece of terminology that a lot of people find confusing.  Often I&#8217;ll receive an image in a &#8220;raster&#8221; format and request it in a &#8220;vector&#8221; format instead.</p>
<p>A raster image is what you&#8217;re accustomed to seeing.  It is made up of a finite number of colored pixels arranged in a grid.  If you try to make a raster image larger, it ends up looking either pixellated or blurry.  Here&#8217;s an example of a circle in a raster image format.  1) original size; 2) zoomed in so you can see the pixels; 3) quadrupled in size without smoothing; 4) quadrupled in size with smoothing:</p>
<p><a href="http://triopter.com/wordpress/wp-content/uploads/2010/03/raster.gif"><img src="http://triopter.com/wordpress/wp-content/uploads/2010/03/raster-300x75.gif" alt="raster" title="raster" width="300" height="75" class="alignnone size-medium wp-image-150" /></a></p>
<p>(Click to see full size.)</p>
<p>A vector image is actually described by mathematical equations that trace out curves.  A vector image can be enlarged to any size and still look good.  Here&#8217;s an example of a circle in a vector image format.  1) original size; 2) the mathematical points and curves that are used to describe it; 3) quadrupled in size without smoothing; 4) quadrupled in size with smoothing.</p>
<p><a href="http://triopter.com/wordpress/wp-content/uploads/2010/03/vector.gif"><img src="http://triopter.com/wordpress/wp-content/uploads/2010/03/vector-300x75.gif" alt="vector" title="vector" width="300" height="75" class="alignnone size-medium wp-image-151" /></a></p>
<p>(Click to see full size.)</p>
<p>JPEG, GIF, PNG, and TIFF are raster formats, while EPS, SVG, and AI are vector formats (although they can include raster images inside them).  PSD is a raster format that sometimes includes vector images inside it.  PDFs can contain raster or vector data, or a combination of the two.  </p>
<h2>Why Vector?</h2>
<p>Vector images are usually more flexible both in terms of resizing and in terms of being able to edit them to create new images.  </p>
<p>Additionally, vectors can be handier to have because usually it is possible to convert a vector image into a raster image of whatever size is needed; however, it is much more difficult (often impossible) to convert a raster image into a vector image of good quality without losing detail.  </p>
<p>This is because if you already know the curves you can easily estimate what shade each pixel should be, but (as you can see in the zoomed-in image above) the pixel data doesn&#8217;t do a very precise job of indicating what the curves are.</p>
<p>Vector formats are strongly preferred over raster images for logos, and often for print design: file sizes for rasters with enough pixels to print cleanly at more than a few inches per side are often unwieldy.  The exception to this rule is for photos, which are almost never available in vector format.</p>
<p>When your designer requests a vector format, see if you can find a copy of your image in EPS, AI, SVG, or PDF format.</p>
<h2>Why Raster?</h2>
<p>You may have noticed that the formats you&#8217;re most familiar with (JPEG, GIF, TIFF, PDF) are all raster (or optionally-raster) formats.</p>
<p>If vectors are so much more flexible than rasters, why do we ever use rasters?  Well, there are a number of reasons.  For instance, it&#8217;s not really feasible to take a photograph in vector format, because the camera only understands what color light is hitting it where, not the curves that make up the objects in the photo.  </p>
<p>In addition, highly detailed images such as photos and hand sketches can usually be stored more efficiently (i.e. with smaller file sizes) in raster format.</p>
<p>Without using plugins such as Flash or Acrobat Reader, web browsers only began supporting the display of some types of vector images (particularly SVG) in the past few years.  Some versions of Internet Explorer that are still widely used do not have native support for any vector formats.</p>
<p>Finally, a vector may take more computing power to display than a raster of the same image, especially for complex images or at smaller sizes.</p>
<p>Next: <a href="http://triopter.com/archive/understand-image-formats-part-2-jpeg-gif-tiff-png-and-bmp-the-raster-formats/">What is the difference between the different raster formats?</a></p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/understanding-image-formats-part-1-vector-vs-raster/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Resolving &#8220;local delete, incoming delete upon update&#8221; Subversion Tree Conflicts</title>
		<link>http://triopter.com/archive/resolving-local-delete-incoming-delete-upon-update-subversion-tree-conflicts/</link>
		<comments>http://triopter.com/archive/resolving-local-delete-incoming-delete-upon-update-subversion-tree-conflicts/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 22:26:58 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=133</guid>
		<description><![CDATA[NOTE 1: Before doing this, try using the svn resolve command.
NOTE 2:  I&#8217;ve noticed a lot of traffic to this page for &#8220;local edit incoming delete on update&#8221; errors, which are not what this article is about (the solution below may or may not work for that &#8212; I have no idea).  This [...]]]></description>
			<content:encoded><![CDATA[<p><strong>NOTE 1: Before doing this, try using the <a href="http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.resolve.html" target="_blank">svn resolve</a> command.</strong></p>
<p><strong>NOTE 2:  I&#8217;ve noticed a lot of traffic to this page for &#8220;local edit incoming delete on update&#8221; errors, which are not what this article is about (the solution below may or may not work for that &#8212; I have no idea).  This article is about &#8220;local <em>delete</em>, incoming delete on update&#8221; errors.  Always back up your work before you muck around with something like this, but that goes doubly if you&#8217;re going to try to use these instructions for the &#8220;local edit&#8221; error. </strong></p>
<p>For reason I&#8217;m still trying to untangle, I encountered some really terrible conflicts this afternoon with an SVN checkin that didn&#8217;t complete properly, leaving me with a few locked directories that wouldn&#8217;t respond to &#8220;svn cleanup&#8221;.  </p>
<p>Using <a href="http://svn.haxx.se/users/archive-2006-01/0981.shtml" target="_blank">these instructions</a>, I was able to get the directories sorted out:</p>
<ol>
<li>Move offending directories out of working copy and to a safe place (e.g. desktop)</li>
<li>Run <code>svn cleanup</code></li>
<li>Run <code>svn up</code></li>
</ol>
<p>This actually restored the messed-up directories.  Some files were reverted and some deleted files restored; once the entire working copy is cleaned up, you can use the backup copies of the directories to copy back in your changes.  </p>
<p>But before I could do that, I was left with a half-dozen individual file conflicts with the following messages:</p>
<pre><code>
$ svn st
?   C some_file.php
    &gt; local delete, incoming delete upon update
?   C some_other_file.php
    &gt; local delete, incoming delete upon update
... etc.

</code></pre>
<p>Thankfully, these were files that I <em>did</em> want to delete, so even without instructions I wasn&#8217;t afraid to trial-and-error my way to the following fix:</p>
<pre><code>
$ touch some_file.php some_other_file.php
$ svn revert some_file.php some_other_file.php

</code></pre>
<p>Once you&#8217;ve created the files, SVN can revert them, which leaves them in unversioned status:</p>
<pre><code>
$ svn st
?    some_file.php
?    some_other_file.php

</code></pre>
<p>And then you can just delete them from the command line or whatever file manager you use.  </p>
<p>*Phew*</p>
<p>Once that was done I redid some deletions that had been overwritten by the update that cleaned up the directories, and all was right in the world.</p>
<p>Usual disclaimers, YMMV, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/resolving-local-delete-incoming-delete-upon-update-subversion-tree-conflicts/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Site Launch: Margaret Wolfson</title>
		<link>http://triopter.com/archive/site-launch-margaret-wolfson/</link>
		<comments>http://triopter.com/archive/site-launch-margaret-wolfson/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 17:10:30 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[site launch]]></category>
		<category><![CDATA[web dev]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=124</guid>
		<description><![CDATA[In Mid-January I launched a redesigned website for storyteller and creative professional Margaret Wolfson.  The site design was provided by the talented Irasema Rivera of Big I Ranch Design Studio.  
More info about the site.
]]></description>
			<content:encoded><![CDATA[<p>In Mid-January I launched a redesigned website for storyteller and creative professional <a href="http://www.margaretwolfson.com" target="_blank">Margaret Wolfson</a>.  The site design was provided by the talented Irasema Rivera of Big I Ranch Design Studio.  </p>
<p><a href="http://triopter.com/portfolio/margaret-wolfson/">More info about the site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/site-launch-margaret-wolfson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NKMImageField reviewed!</title>
		<link>http://triopter.com/archive/nkmimagefield-reviewed/</link>
		<comments>http://triopter.com/archive/nkmimagefield-reviewed/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 23:54:16 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[nkmimagefield]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=117</guid>
		<description><![CDATA[Thanks to One Night Site for recommending NKMImageField!  (Apparently a few months ago, but it didn&#8217;t turn up on our radar until today.)  I hope they&#8217;ll like the updated version even better.  See the rest of the 14 image-related Wordpress plugins they recommend.
]]></description>
			<content:encoded><![CDATA[<p>Thanks to One Night Site for recommending NKMImageField!  (Apparently a few months ago, but it didn&#8217;t turn up on our radar until today.)  I hope they&#8217;ll like the updated version even better.  See the rest of the 14 <a href="http://onenightsite.com/wordpress-plugins/14-wordpress-photo-plugins/" target="_blank">image-related Wordpress plugins</a> they recommend.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/nkmimagefield-reviewed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site Launch: Children&#8217;s Academy</title>
		<link>http://triopter.com/archive/site-launch-childrens-academy/</link>
		<comments>http://triopter.com/archive/site-launch-childrens-academy/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 18:05:16 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[site launch]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=103</guid>
		<description><![CDATA[At the end of 2009, I worked with Nolej Studios to build a new website for a school called the Children&#8217;s Academy.   Working with a design provided by Nolej, I developed a site based on the Drupal content management system and the CiviCRM fundraising platform, featuring a custom-coded theme, donation processing, and event [...]]]></description>
			<content:encoded><![CDATA[<p>At the end of 2009, I worked with <a href="http://www.nolej.net" target="_blank">Nolej Studios</a> to build a new website for a school called the <a href="http://www.childrensacademynyc.org">Children&#8217;s Academy</a>.   Working with a design provided by Nolej, I developed a site based on the Drupal content management system and the CiviCRM fundraising platform, featuring a custom-coded theme, donation processing, and event registration.  </p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/site-launch-childrens-academy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NKMImageField 0.6 Wordpress Plugin: Updates and Bug Fixes!</title>
		<link>http://triopter.com/archive/nkmimagefield-0-6-wordpress-plugin-updates-and-bug-fixes/</link>
		<comments>http://triopter.com/archive/nkmimagefield-0-6-wordpress-plugin-updates-and-bug-fixes/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 02:35:31 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[freebies]]></category>
		<category><![CDATA[nkmimagefield]]></category>
		<category><![CDATA[web dev]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=90</guid>
		<description><![CDATA[I spent this evening working on my Wordpress plugin, NKMImageField, fixing most of the bugs mentioned in the previous comment thread.  The result is NKMImageField v0.6, which is now available for download from the Wordpress plugins site.
If you aren&#8217;t familiar with the plugin, it duplicates the image management dialogue to permit you to attach [...]]]></description>
			<content:encoded><![CDATA[<p>I spent this evening working on my Wordpress plugin, NKMImageField, fixing most of the bugs mentioned in the <a href="http://triopter.com/archive/announcing-nkmimagefield-a-custom-image-field-plugin-for-wordpress/">previous comment thread</a>.  The result is NKMImageField v0.6, which is now <a href="http://wordpress.org/extend/plugins/nkmimagefield/">available for download</a> from the Wordpress plugins site.</p>
<p>If you aren&#8217;t familiar with the plugin, it duplicates the image management dialogue to permit you to attach images to a post as metadata using a simple graphical interface &#8212; instead of having to locate, copy, and paste the URL into a custom field.</p>
<p>The new version allows fields to be accessed properly outside the Wordpress Loop as well as on archive and category pages.  It fixes several bugs including broken template tags and some data loss bugs that were related to post revisions, autosaves, and scheduled / future posts.  It&#8217;s been tested with Wordpress 2.8.6 and will likely still work with earlier versions going back to 2.7.</p>
<p>I&#8217;d like to extend a big thank you to everyone who submitted bug reports and fixes for the plugin &#8212; I hope you&#8217;ll <a href="http://triopter.com/contact/">contact me</a> so that I can give you credit (name and URL) in the documentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/nkmimagefield-0-6-wordpress-plugin-updates-and-bug-fixes/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Project Launch: Ad Council / Small Step Kids / Where the Wild Things Are</title>
		<link>http://triopter.com/archive/project-launch-ad-council-small-step-kids-where-the-wild-things-are/</link>
		<comments>http://triopter.com/archive/project-launch-ad-council-small-step-kids-where-the-wild-things-are/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 19:31:00 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[freelancing]]></category>
		<category><![CDATA[web dev]]></category>

		<guid isPermaLink="false">http://triopter.com/?p=76</guid>
		<description><![CDATA[I recently launched a new campaign on the Ad Council&#8217;s Small Step Kids website &#8212; a joint campaign with the new Where the Wild Things Are movie.  This project was my second with the Ad Council, and involved incorporating new elements into an existing design as well as some really fun custom design work, [...]]]></description>
			<content:encoded><![CDATA[<p>I recently launched a new campaign on the Ad Council&#8217;s Small Step Kids website &#8212; a joint campaign with the new Where the Wild Things Are movie.  This project was my second with the Ad Council, and involved incorporating new elements into an existing design as well as some really fun custom design work, and I was pleased to see it go live.  See some <a href="http://triopter.com/portfolio/ad-council-small-step-kids-where-the-wild-things-are/">project details</a> in my portfolio, or <a target="_blank" href="http://smallstep.gov/kids/flash/index.html">the live site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/project-launch-ad-council-small-step-kids-where-the-wild-things-are/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

