<?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, 09 Mar 2010 22:27:08 +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>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[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;.  
Using these instructions, I was able to get the directories sorted, out:

Move offending directories out of working copy [...]]]></description>
			<content:encoded><![CDATA[<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, which, when googled, returned only results related to TortoiseSVN:</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 unafraid 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>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/resolving-local-delete-incoming-delete-upon-update-subversion-tree-conflicts/feed/</wfw:commentRss>
		<slash:comments>0</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>3</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>
		<item>
		<title>Site Launch: Susan Kaufmann Studio</title>
		<link>http://triopter.com/archive/site-launch-susan-kaufmann-studio/</link>
		<comments>http://triopter.com/archive/site-launch-susan-kaufmann-studio/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 19:23:45 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[site launch]]></category>

		<guid isPermaLink="false">http://triopter.com/archive/site-launch-susan-kaufmann-studio/</guid>
		<description><![CDATA[Just launched: A custom portfolio website for New York City artist Susan Kaufmann.  This clean design emphasizes her artwork and was built atop Wordpress to provide a simple user-friendly interface for updates.
]]></description>
			<content:encoded><![CDATA[<p>Just launched: A custom portfolio website for New York City artist <a href="http://www.susankaufmann.com/">Susan Kaufmann</a>.  This clean design emphasizes her artwork and was built atop Wordpress to provide a simple user-friendly interface for updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/site-launch-susan-kaufmann-studio/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django 1.0: Filtering object list and ForeignKey (ModelChoiceField) in Admin Site (contrib.admin)</title>
		<link>http://triopter.com/archive/django-10-filtering-object-list-and-foreignkey-modelchoicefield-in-admin-site-contribadmin/</link>
		<comments>http://triopter.com/archive/django-10-filtering-object-list-and-foreignkey-modelchoicefield-in-admin-site-contribadmin/#comments</comments>
		<pubDate>Fri, 15 May 2009 01:05:29 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[django]]></category>
		<category><![CDATA[web dev]]></category>

		<guid isPermaLink="false">http://triopter.com/archive/django-10-filtering-object-list-and-foreignkey-modelchoicefield-in-admin-site-contribadmin/</guid>
		<description><![CDATA[I&#8217;m currently building a custom multi-blogging application in Django, and one of the challenges I ran into when developing the admin section was how to restrict users to seeing and editing only their own data.
Imagine the following (simplified) models:

class Blog(models.Model):
	&#160;	owner = models.OneToOneField(User, primary_key=True)
	&#160;	title = models.CharField(max_length=32)


class Entry(models.Model):
	&#160;	blog = models.ForeignKey(Blog)
	&#160;	slug = models.SlugField(max_length=255, db_index=True)
	&#160;	headline = models.CharField(max_length=255)
	&#160;	content = models.TextField()

If [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently building a custom multi-blogging application in Django, and one of the challenges I ran into when developing the admin section was how to restrict users to seeing and editing only their own data.</p>
<p>Imagine the following (simplified) models:<br />
<code><br />
class Blog(models.Model):<br />
	&nbsp;	owner = models.OneToOneField(User, primary_key=True)<br />
	&nbsp;	title = models.CharField(max_length=32)<br />
</code><br />
<code><br />
class Entry(models.Model):<br />
	&nbsp;	blog = models.ForeignKey(Blog)<br />
	&nbsp;	slug = models.SlugField(max_length=255, db_index=True)<br />
	&nbsp;	headline = models.CharField(max_length=255)<br />
	&nbsp;	content = models.TextField()<br />
</code></p>
<p>If I want to show the user only their own entries in the admin object list, I can filter the list in the <code>ModelAdmin.queryset</code> method &#8212; simple as pie:<br />
<code><br />
class EntryAdmin(admin.ModelAdmin):<br />
	&nbsp;	def queryset(self, request):<br />
	&nbsp;		&nbsp;	qs = super(EntryAdmin,self).queryset(request)<br />
	&nbsp;		&nbsp;	return qs.filter(blog__owner=request.user)<br />
</code></p>
<p>Now, say I want to also limit what blogs the user can assign the entry to.  There&#8217;s a useful little ModelAdmin method called <code>formfield_for_dbfield</code>, but it doesn&#8217;t receive the request as an argument.  What to do?</p>
<p>Well, the <code>ModelAdmin.get_form</code> method <em>does</em> receive the request as an argument, and it gets called before <code>formfield_for_dbfield</code>.  So let&#8217;s just put the request object somewhere that we can get to it later:<br />
<code><br />
class EntryAdmin(admin.ModelAdmin):<br />
	&nbsp;	def get_form(self, request, obj=None):<br />
	&nbsp;	self.request = request<br />
	&nbsp;	f = super(EntryAdmin,self).get_form(request, obj)<br />
	&nbsp;	return f<br />
</code></p>
<p>Then when we call <code>formfield_for_dbfield</code> we have easy access to the request:</p>
<p><code><br />
class EntryAdmin(admin.ModelAdmin):<br />
	&nbsp;	def formfield_for_dbfield(self, dbfield, **kwargs):<br />
	&nbsp;		&nbsp;	if dbfield.name == 'blog':<br />
	&nbsp;		&nbsp;		&nbsp;	kwargs['queryset'] = Blog.objects.filter(owner=self.request.user)<br />
	&nbsp;		&nbsp;	return super(EntryAdmin, self).formfield_for_dbfield(dbfield, **kwargs)<br />
</code></p>
<p>Not the world&#8217;s most elegant solution, but simple and effective.  And there&#8217;s plenty more you can do with these techniques.  Gotta love Django!</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/django-10-filtering-object-list-and-foreignkey-modelchoicefield-in-admin-site-contribadmin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Site launch: McCarton Foundation</title>
		<link>http://triopter.com/archive/site-launch-mccarton-foundation/</link>
		<comments>http://triopter.com/archive/site-launch-mccarton-foundation/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 20:43:43 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[site launch]]></category>

		<guid isPermaLink="false">http://triopter.com/archive/site-launch-mccarton-foundation/</guid>
		<description><![CDATA[My most recent project to launch is the absolutely gorgeous McCarton Foundation website redesign.  McCarton is a nonprofit organization that runs a research foundation and school for autistic kids in New York City.  The design was supplied by Nolej Studios and I implemented the HTML and content management for them.  The site [...]]]></description>
			<content:encoded><![CDATA[<p>My most recent project to launch is the absolutely gorgeous <a href="http://www.mccartonfoundation.org/">McCarton Foundation website redesign</a>.  McCarton is a nonprofit organization that runs a research foundation and school for autistic kids in New York City.  The design was supplied by <a href="http://www.nolej.net">Nolej Studios</a> and I implemented the HTML and content management for them.  The site features e-commerce, fundraising, and event management, and was implemented using Drupal and CiviCRM.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/site-launch-mccarton-foundation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NKMImageField Updated!</title>
		<link>http://triopter.com/archive/nkmimagefield-updated/</link>
		<comments>http://triopter.com/archive/nkmimagefield-updated/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 02:24:07 +0000</pubDate>
		<dc:creator>Noemi Millman</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[freebies]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://triopter.com/archive/nkmimagefield-updated/</guid>
		<description><![CDATA[Version 0.3.1 has been released, and should fix the problems experienced with earlier versions.  It has been tested with Wordpress 2.7.  See the original announcement for details.
]]></description>
			<content:encoded><![CDATA[<p>Version 0.3.1 has been released, and should fix the problems experienced with earlier versions.  It has been tested with Wordpress 2.7.  See <a href="http://triopter.com/archive/announcing-nkmimagefield-a-custom-image-field-plugin-for-wordpress/#comment-9595">the original announcement</a> for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://triopter.com/archive/nkmimagefield-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
