<?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>Inside Snipplr.com &#187; Development</title>
	<atom:link href="http://snipplr.com/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://snipplr.com/blog</link>
	<description>s nipple r &#60;em&#62;dot com!&#60;/em&#62;</description>
	<lastBuildDate>Wed, 23 Nov 2011 17:51:52 +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>Lightweight IPv4</title>
		<link>http://snipplr.com/blog/2009/08/03/lightweight-ipv4/</link>
		<comments>http://snipplr.com/blog/2009/08/03/lightweight-ipv4/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 03:11:45 +0000</pubDate>
		<dc:creator>Jdub7</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[binary]]></category>
		<category><![CDATA[bitwise]]></category>
		<category><![CDATA[CIDR]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[netmask]]></category>

		<guid isPermaLink="false">http://snipplr.com/blog/?p=137</guid>
		<description><![CDATA[Introduction

For a midsize project I wanted to store IP ranges in the database with
the option to to also store CIDR blocks. CIDR blocks, though powerful
are somewhat difficult for a typical user. Additional using them is not
as precise for all ip ranges. There are a plethora of tools
available on the internet that will do what I [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>

<p>For a midsize project I wanted to store IP ranges in the database with
the option to to also store CIDR blocks. CIDR blocks, though powerful
are somewhat difficult for a typical user. Additional using them is not
as precise for all ip ranges. There are a plethora of <a title="IP to CIDR tool" href="http://ip2cidr.com/">tools</a>
available on the internet that will do what I would like. However,
incorporating these tools would not be practical. What I want is to
mimic the functionality of these tools so that it can be easily
imported into any of my projects. The most coveted tool for me would be
to convert an IP range to a precise range of CIDR blocks. This required
specific functionality not naturally provided in PHP.</p>

<ul>
    <li>Check for Valid Netmask</li>
    <li>Check whether an IP address is within a CIDR block.</li>
    <li>Take user input and a Netmask and make it into a valid CIDR block.</li>
    <li>CIDR number into Netmask</li>
    <li>Netmask to CIDR</li>
    <li>Take an IP range and fit it into an exact range of CIDR blocks.</li>
</ul>

<p>This presents some difficulty in that PHP&#8217;s <a title="PHP Network Functions" href="http://www.php.net/manual/en/ref.network.php">network functions</a> are not thorough enough. The revelation came when I
realized that an IP address is merely a number. In fact the whole
protocol is rooted in binary using very specific patterns. With that in
mind I thought we could develop very light weight methods to solve our
problem.</p>

<h2>The Code</h2>

<p>It is important to note that the methods provided are meant for IPv4
addresses only are only tested on a 32bit system. Also, I did not care
to do much in the way of error checking, but doing so, like testing
whether the CIDR number is unsigned and less than or equal to 32,
should be trivial.</p>

<p>Though the solution I sought after would require PHP I didn&#8217;t limit
myself to that language only. In fact the PHP code I found seemed
inefficient. Most involved a number conversions or parsing the address
using sprintf using loops and nested if statements. Indeed the most
efficient code, which shouldn&#8217;t surprise most was in ANSI C. <a title="Bit Twiddling Hacks by Sean Eron Anderson" href="http://graphics.stanford.edu/~seander/bithacks.html">Bit
Twiddling Hacks</a> resource proved very useful.</p>

<h3>About Binary</h3>

<p>I am not attempting to teach binary math. Since the code does not &#8220;read
like prose&#8221; a small amount of knowledge is required in order to
understand the code. Some excellent resources are Wikipedia&#8217;s article
on <a title="Classless Inter-Domain Routing" href="http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">CIDR</a> and <a title="PHP's Bitwise Operators" href="http://www.php.net/manual/en/language.operators.bitwise.php">PHP binary operators</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2009/08/03/lightweight-ipv4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joy Of Groovy</title>
		<link>http://snipplr.com/blog/2009/07/29/joy-of-groovy/</link>
		<comments>http://snipplr.com/blog/2009/07/29/joy-of-groovy/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 16:11:04 +0000</pubDate>
		<dc:creator>yighu</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[Language]]></category>

		<guid isPermaLink="false">http://snipplr.com/blog/?p=139</guid>
		<description><![CDATA[In my work and my volunteer, I need to do a lot of scripting for all kinds of things such as system administration, data migration etc. I have used shell script, perl and many other tools on and off for a long time before. Scripting with Groovy brings me much joy and fun.

Groovy brings the [...]]]></description>
			<content:encoded><![CDATA[<p>In my work and my volunteer, I need to do a lot of scripting for all kinds of things such as system administration, data migration etc. I have used shell script, perl and many other tools on and off for a long time before. Scripting with Groovy brings me much joy and fun.</p>

<p>Groovy brings the full Java language and its own flavors to your finger tips while you are typing and thinking your tasks and you can do a lot of things very easily and much simpler than other scripting. Here I will put up a few examples that demonstrate a few tricks that can simplify a lot of daily scripting work:</p>

<ol>
<li>File Manipulation</li>
<li>Configuration</li>
<li>Database Access</li>
<li>Logging</li>
</ol>

<p>Suppose you want to create a file and put stuff in it. This is how you do it:</p>

<p>def file=new File(&#8220;test.txt&#8221;)</p>

<p>do this:
file.append(&#8220;line 1\n&#8221;)
file.append(&#8220;line 2\n&#8221;)</p>

<p>Now the file has 2 lines.</p>

<p>Later some where, you want to do something with the data in the file, for example email the data to some one, this is how you get the content for the file:
def content=file.txt()</p>

<p>Suppose you want to write a method, for example log(String text). The log method basically append what ever text into a log file.</p>

<p>binding['writer']=new File(&#8220;log.txt&#8221;)</p>

<p>def log(String text){
writer.append(text+&#8221;\n&#8221;)
}</p>

<p>Now suppose, instead of putting the log into a log file, I want to put the log into a database table for easy to search or may be for data warehousing purpose, you can easily change the above log method without touching the rest of your code.</p>

<p>def log(String text){
sql.execute(&#8220;insert into usertrace(id,description) value(?,?)&#8221;,[nextid(),text])
}</p>

<p>where nextid() is simply a method that return you the next id of table usertrace.</p>

<p>Now what is sql here? Before I talk sql, I need to touch the groovy configuration a bit.</p>

<p>The ConfigSlurper is a cool thing.</p>

<p>You might have been used to manipulate the java Property class which you need to load the property file and then use getter method to fetch the string property you want. The groovy way is much simpler.</p>

<p>In this code, MyConfig.groovy is a groovy class which contains name/value pairs, one of them is
called sql like this:</p>

<p>sql=groovy.sql.Sql.newInstance(&#8220;jdbc:postgresql://localhost:5432/helloworld&#8221;,&#8221;username&#8221;,&#8221;password&#8221;,&#8221;org.postgresql.Driver&#8221;)</p>

<p>This is how you get the property sql.</p>

<p>binding['cfg']=new ConfigSlurper().parse(new File(&#8216;MyConfig.groovy&#8217;).toURL())
binding['sql']=cfg.sql</p>

<p>Notice that the new variable sql is an object, not just a String as in Java Property file.
Then you can execute the method of the object sql, like we did in the above log method.</p>

<p>Have fun so far! As you explore Groovy, you will discover them more.</p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2009/07/29/joy-of-groovy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s New With Snipplr</title>
		<link>http://snipplr.com/blog/2008/01/17/we-hear-you/</link>
		<comments>http://snipplr.com/blog/2008/01/17/we-hear-you/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 21:54:28 +0000</pubDate>
		<dc:creator>Jason Tan</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://snipplr.com/blog/2008/01/17/we-hear-you/</guid>
		<description><![CDATA[I wanted to write a quick post to update you all on what&#8217;s been going on with Snipplr.

First, thank you for your feedback on the new design, both positive and negative.  It&#8217;s hard to be all things to all people, but we&#8217;re going to give it our best shot.  Trey is busy working [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to write a quick post to update you all on what&#8217;s been going on with Snipplr.</p>

<p>First, thank you for your feedback on the new design, both positive and negative.  It&#8217;s hard to be all things to all people, but we&#8217;re going to give it our best shot.  Trey is busy working on an alternate style that is more minimalistic, smaller, and has more room to view code.  We&#8217;d love to give you more control over your preferred interface.  In the meantime, I&#8217;ve made some small changes to the interface &#8211; like making the code editing block more suitable for code on both the new and edit snippet pages.</p>

<p>Aside from the design, I&#8217;ve been working to make some system changes:</p>

<ul>
    <li><strong>Search</strong>.  Searching now works more like how you would expect.  I&#8217;ve also added an advanced search, which allows you to search source code and filter by language.</li>
    <li><strong>Languages</strong>.  I added some new languages that were requested and also upgraded <a href="http://qbnz.com/highlighter/">GeSHI</a> (for syntax highlighting) to the latest version.</li>
    <li><strong>Spam</strong>.  I replaced the math captcha for new user registration with <a href="http://recaptcha.net/">reCAPTCHA</a> and haven&#8217;t seen any spam bots try to create an account since.</li>
    <li><strong>Details</strong>.  There are lots more minor changes and fixes around the site on both the front and back end.  As always, please <a href="http://snipplr.com/contact/">contact us</a> with any bugs or suggestions you have.</li>
</ul>

<p>We have lots of more ideas and things in the works, so keep checking back here for the latest news.</p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2008/01/17/we-hear-you/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Snipplr has moved!</title>
		<link>http://snipplr.com/blog/2007/10/12/snipplr-has-moved/</link>
		<comments>http://snipplr.com/blog/2007/10/12/snipplr-has-moved/#comments</comments>
		<pubDate>Fri, 12 Oct 2007 16:12:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://snipplr.com/blog/2007/10/12/snipplr-has-moved/</guid>
		<description><![CDATA[In case you hadn&#8217;t noticed, Snipplr moved to a new hosting provider, Pair.com.  Pair is by far the most reliable and best performing shared hosting environment we have ever worked with.  Snipplr will now be faster than ever!

Now that the move is behind us, we&#8217;ll be focused on a new development.  We [...]]]></description>
			<content:encoded><![CDATA[<p>In case you hadn&#8217;t noticed, Snipplr moved to a new hosting provider, <a href="http://pair.com">Pair.com</a>.  Pair is by far the most reliable and best performing shared hosting environment we have ever worked with.  Snipplr will now be faster than ever!</p>

<p>Now that the move is behind us, we&#8217;ll be focused on a new development.  We expect to launch our new design in the next few weeks, and after that we&#8217;ll be focused on some cool new features for Snipplr.</p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2007/10/12/snipplr-has-moved/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New Snipplr TextMate Bundle (Beta)</title>
		<link>http://snipplr.com/blog/2007/05/09/new-snipplr-textmate-bundle-beta/</link>
		<comments>http://snipplr.com/blog/2007/05/09/new-snipplr-textmate-bundle-beta/#comments</comments>
		<pubDate>Wed, 09 May 2007 21:36:15 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Brainstorming]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://blog.snipplr.com/2007/05/09/new-snipplr-textmate-bundle-beta/</guid>
		<description><![CDATA[Today I want to share with everyone a beta version of a new TextMate bundle I&#8217;m working on for Snipplr. It&#8217;s a major improvement over the old bundle. 

Previously, it would pop-up a box for you to type in some keywords. Then it would search Snipplr and show you a list of matching snippets you [...]]]></description>
			<content:encoded><![CDATA[<p>Today I want to share with everyone a beta version of a new <a href="http://macromates.com">TextMate</a> bundle I&#8217;m working on for <a href="http://snipplr.com">Snipplr</a>. It&#8217;s a major improvement over the old bundle. </p>

<p>Previously, it would pop-up a box for you to type in some keywords. Then it would search Snipplr and show you a list of matching snippets you could insert into your document. That worked pretty well, but you had to be online for it to communicate with Snipplr. You&#8217;d lose access to your snippets if you weren&#8217;t connected to the net.</p>

<p>This new version syncs your snippets and favorites directly into TextMate&#8217;s bundle menu &#8211; giving you <em>offline</em> access to all your code stored in Snipplr. If you don&#8217;t mind me saying so, this rocks. Here&#8217;s a screen shot:</p>

<p><a class="imagelink" href="http://blog.snipplr.com/wp-content/uploads/2007/05/picture-1.png" title="Bundle screenshot" style="border:1px solid #000"><img id="image47" src="http://blog.snipplr.com/wp-content/uploads/2007/05/picture-1.jpg" alt="picture-1.png" /></a></p>

<p>Keep in mind that this bundle is still in development. Everything is working fine for me, but your mileage may vary. You can download the <a href="http://snipplr.com/tmupdate.php">new bundle here.</a> <strong>Note:</strong> You must be logged in to Snipplr for the download to work. Also, make sure you uninstall the old bundle from TextMate before installing this one.</p>

<p><strong>For the nerds in the audience&#8230;</strong></p>

<p>This bundle was a lot of fun to write because it forced me to dig into TextMate&#8217;s bundle format. I&#8217;ve written some advanced bundles before (at least I consider them to be . . . at work we use a bundle that lets us stage and deploy our clients&#8217; websites on remote servers via TextMate) but nothing like this.</p>

<p>When you download the bundle from Snipplr, PHP generates a custom bundle on the fly based on the snippets in your account. It creates all the .tmSnippet and .tmCommand files as well as the OS X property listings. It&#8217;s by no means brain surgery, but it definitely took some tinkering to make it come out right.</p>

<p>The bundle also includes a command to refresh itself. It does this by downloading a new bundle in the background and rsync&#8217;ing it with the pristine copy stored in TextMate. I consider this a cheap hack &#8211; I&#8217;m hoping TextMate 2.0 provides an official API for bundles to self-update. (Ideally, each bundle .plist would contain a URL and version number that TextMate could use to search for updates and, if available, update the bundle Ã  la Firefox extensions. You there, Allan? <img src='http://snipplr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) It tells TextMate to update its bundle listing using a quick <a href="http://macromates.com/textmate/manual/bundles">AppleScript command</a> (<code>osascript -e 'tell app "TextMate" to reload bundles'</code>).</p>

<p>There&#8217;s probably a better way to do all this &#8211; I need to search the TextMate mailing list.</p>

<p>Next up, I&#8217;m going to try and register the update command with launchd so the bundle can stay in sync automatically &#8211; preferably when TextMate isn&#8217;t active.</p>

<p>I&#8217;d appreciate any feedback from the Snipplr community on this bundle. Bugs and feature requests are always welcome.</p>

<p>Also, if anyone is interested in beta testing the <a href="http://blog.snipplr.com/wp-content/uploads/2007/05/teaser.jpg">new version of Snipplr</a> we&#8217;re working on, <a href="http://snipplr.com/contact/">let me know</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2007/05/09/new-snipplr-textmate-bundle-beta/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Snipplr API Updated</title>
		<link>http://snipplr.com/blog/2007/01/30/snipplr-api-updated/</link>
		<comments>http://snipplr.com/blog/2007/01/30/snipplr-api-updated/#comments</comments>
		<pubDate>Wed, 31 Jan 2007 05:19:13 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://blog.snipplr.com/2007/01/30/snipplr-api-updated/</guid>
		<description><![CDATA[I bet you all thought Snipplr was left for dead, eh? Sorry about that. In the last couple months I&#8217;ve gotten married, bought a house, and helped roll out a new service. Things have been busy  

Back to business. I&#8217;ve updated the API&#8217;s snippet.post method to allow specifying a language type. To do so, [...]]]></description>
			<content:encoded><![CDATA[<p>I bet you all thought Snipplr was left for dead, eh? Sorry about that. In the last couple months I&#8217;ve gotten married, bought a house, and helped roll out <a href="http://basejumpr.com">a new service</a>. Things have been busy <img src='http://snipplr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

<p>Back to business. I&#8217;ve updated the API&#8217;s snippet.post method to allow specifying a language type. To do so, pass an (optional) fourth parameter containing the language ID. What is the language ID you may ask? It&#8217;s the URL formatted language name found in all of Snipplr&#8217;s URLs. For example:</p>

<p>http://snipplr.com/all/language/javascript

http://snipplr.com/all/language/c-plus-plus


http://snipplr.com/all/language/c-sharp


http://snipplr.com/all/language/cold-fusion</p>

<p>In these URLs, the language IDs are &#8220;javascript&#8221;, &#8220;c-plus-plus&#8221;, &#8220;c-sharp&#8221;, and &#8220;cold-fusion&#8221;, respectively.</p>

<p>If that&#8217;s not helpful enough, I&#8217;ve also added languages.list method which returns a list of language url names and their corresponding pretty names. i.e., c-sharp and C#, c-plus-plus and C++.</p>

<p>You can view the API reference <a href="http://blog.snipplr.com/2006/07/06/snipplr-api/">here</a>.</p>

<p>Let me know if you run into any issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2007/01/30/snipplr-api-updated/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Snipplr Search Integrated With Firefox 2.0</title>
		<link>http://snipplr.com/blog/2006/10/25/snipplr-search-integrated-with-firefox-20/</link>
		<comments>http://snipplr.com/blog/2006/10/25/snipplr-search-integrated-with-firefox-20/#comments</comments>
		<pubDate>Wed, 25 Oct 2006 15:30:07 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Screencasts]]></category>

		<guid isPermaLink="false">http://blog.snipplr.com/2006/10/25/snipplr-search-integrated-with-firefox-20/</guid>
		<description><![CDATA[Yesterday, Mozilla released Firefox 2.0 and with it a slew of new features. One of them is autodiscovery of websites that support Amazon&#8217;s OpenSearch format. Amazon describes OpenSearch as &#8220;a set of simple formats for the sharing of search results.&#8221;

What this means to you is Snipplr (and other websites with searchable content) can be searched [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, Mozilla released <a href="http://mozilla.com">Firefox 2.0</a> and with it a slew of new features. One of them is autodiscovery of websites that support <a href="http://opensearch.a9.com/">Amazon&#8217;s OpenSearch</a> format. Amazon describes OpenSearch as &#8220;a set of simple formats for the sharing of search results.&#8221;</p>

<p>What this means to you is Snipplr (and other websites with searchable content) can be searched directly from Firefox&#8217;s search box. There&#8217;s no need to first go to Snipplr and then do a search. Now you can search from inside your browser no matter what site you&#8217;re currently on. Here&#8217;s how it works.</p>

<p>Using Firefox 2.0, go to <a href="http://snipplr.com">Snipplr.com</a> &#8211; you&#8217;ll see the small arrow next to Firefox&#8217;s search box light up.</p>

<p><img id="image42" src="http://blog.snipplr.com/wp-content/uploads/2006/10/Picture%2011.png" alt="Firefox Search Box" /></p>

<p>Click on the arrow and choose &#8220;Add Snipplr&#8221; to add it to your list of search engines.</p>

<p><img id="image44" src="http://blog.snipplr.com/wp-content/uploads/2006/10/Picture%202.png" alt="Firefox Search Engines" /></p>

<p>Now, you can search Snipplr using Firefox just like you do Google. Snipplr will even suggest searches as you type them! Here&#8217;s a short screencast showing the whole process in action.</p>

<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/Myahh0xfBi8"></param><embed src="http://www.youtube.com/v/Myahh0xfBi8" type="application/x-shockwave-flash" width="425" height="350"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2006/10/25/snipplr-search-integrated-with-firefox-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TextMate Bundle Updated</title>
		<link>http://snipplr.com/blog/2006/10/05/textmate-bundle-updated/</link>
		<comments>http://snipplr.com/blog/2006/10/05/textmate-bundle-updated/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 19:59:13 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://blog.snipplr.com/2006/10/05/textmate-bundle-updated/</guid>
		<description><![CDATA[I&#8217;ve updated the Snipplr TextMate bundle to fix a small bug. Now it&#8217;ll give you a nice error message if you search for snippets and don&#8217;t find any. Thanks to Brian for pointing this out.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated the <a href="http://snipplr.com/extras/textmate/">Snipplr TextMate bundle</a> to fix a small bug. Now it&#8217;ll give you a nice error message if you search for snippets and don&#8217;t find any. Thanks to Brian for pointing this out.</p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2006/10/05/textmate-bundle-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Snipplr Redesign &#8211; Things to Come</title>
		<link>http://snipplr.com/blog/2006/10/03/snipplr-redesign-things-to-come/</link>
		<comments>http://snipplr.com/blog/2006/10/03/snipplr-redesign-things-to-come/#comments</comments>
		<pubDate>Tue, 03 Oct 2006 13:37:50 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.snipplr.com/2006/10/03/snipplr-redesign-things-to-come/</guid>
		<description><![CDATA[As some of you know, Snipplr was bought by Sitening last month. It&#8217;s a great oppurtunity to help Snipplr continue to grow and even let me get paid for it   One of the first improvements coming to the site is a new design. Here&#8217;s a quick preview:


]]></description>
			<content:encoded><![CDATA[<p>As some of you know, Snipplr was bought by <a href="http://www.sitening.com">Sitening</a> last month. It&#8217;s a great oppurtunity to help Snipplr continue to grow and even let me get paid for it <img src='http://snipplr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  One of the first improvements coming to the site is a new design. Here&#8217;s a quick preview:</p>

<p><img id="image39" src="http://blog.snipplr.com/wp-content/uploads/2006/10/Picture 1.png" alt="Snipplr Design Preview" /></p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2006/10/03/snipplr-redesign-things-to-come/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Updated Snipplr API</title>
		<link>http://snipplr.com/blog/2006/09/20/updated-snipplr-api/</link>
		<comments>http://snipplr.com/blog/2006/09/20/updated-snipplr-api/#comments</comments>
		<pubDate>Wed, 20 Sep 2006 13:32:21 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.snipplr.com/2006/09/20/updated-snipplr-api/</guid>
		<description><![CDATA[Based on visitor feedback (thanks, HernÃ¡n!) I updated the Snipplr API this morning. The snippet.get method now returns a list of the snippet&#8217;s tags. Also, I added a much needed snippet.delete method that (you guessed it) lets you delete snippets from your account. Click here for the API documentation.
]]></description>
			<content:encoded><![CDATA[<p>Based on visitor feedback (thanks, <a href="http://h.ordia.com.ar">HernÃ¡n</a>!) I updated the Snipplr API this morning. The snippet.get method now returns a list of the snippet&#8217;s tags. Also, I added a much needed snippet.delete method that (you guessed it) lets you delete snippets from your account. Click here for the <a href="http://blog.snipplr.com/2006/07/06/snipplr-api/">API documentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://snipplr.com/blog/2006/09/20/updated-snipplr-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

