<?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"
	>

<channel>
	<title>electromute</title>
	<atom:link href="http://www.electromute.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.electromute.com</link>
	<description>musings from a girl coder</description>
	<pubDate>Sun, 26 Oct 2008 17:31:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Using ListView in Wicket</title>
		<link>http://www.electromute.com/posts/2008/10/using-listview-in-wicket/</link>
		<comments>http://www.electromute.com/posts/2008/10/using-listview-in-wicket/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 17:31:26 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[frameworks]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[reference]]></category>

		<category><![CDATA[wicket]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=42</guid>
		<description><![CDATA[I&#8217;ve been spending a lot of time on Wicket lately for some exciting things that will be coming soon from Me.dium.  One cool trick I started using the ListView. If you&#8217;ve come from PHP or any other web language, you know the drill&#8211; display query data from the database on a web page.
Here&#8217;s a simple [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been spending a lot of time on Wicket lately for some exciting things that will be coming soon from Me.dium.  One cool trick I started using the ListView. If you&#8217;ve come from PHP or any other web language, you know the drill&#8211; display query data from the database on a web page.</p>
<p>Here&#8217;s a simple implementation of the ListView to help you get started. I&#8217;m going to take a list of employees and output them to the screen. This tutorial assumes you know the basics of how Wicket works. This is the portion where we&#8217;re adding components to the display piece.</p>
<p><strong>EmployeesPage.java</strong></p>
<div class="sample">
(&#8230;)<br />
List<User> employees = new ArrayList<User>();<br />
//Now I&#8217;ll grab the output of the query and populate the ArrayList<br />
try {<br />
&nbsp;&nbsp;employees = service.getAllEmployees();<br />
}<br />
catch (ServiceException e) {<br />
&nbsp;&nbsp;//write your handler here<br />
}</p>
<p>//Now I&#8217;ll populate the ListView with the query results<br />
add(new ListView(&#8221;employeesRptr&#8221;, employees) {<br />
&nbsp;&nbsp;private static final long serialVersionUID = 1L;</p>
<p>&nbsp;&nbsp;@Override<br />
&nbsp;&nbsp;protected void populateItem(ListItem item) {<br />
&nbsp;&nbsp;&nbsp;User employee = (User) item.getModelObject();</p>
<p>&nbsp;&nbsp;&nbsp;// image display<br />
&nbsp;&nbsp;&nbsp;item.add(new StaticImage(&#8221;profilePic&#8221;, new Model(employee.getPicture())));</p>
<p>&nbsp;&nbsp;&nbsp;// name display<br />
&nbsp;&nbsp;&nbsp;StringBuilder name = new StringBuilder();<br />
&nbsp;&nbsp;&nbsp;name.append(employee.getFirstName());<br />
&nbsp;&nbsp;&nbsp;name.append(&#8221; &#8220;);<br />
&nbsp;&nbsp;&nbsp;name.append(employee.getLastName());<br />
&nbsp;&nbsp;&nbsp;item.add(new Label(&#8221;profileName&#8221;, name.toString()));</p>
<p>&nbsp;&nbsp;&nbsp;// location display<br />
&nbsp;&nbsp;&nbsp;item.add(new Label(&#8221;profileLocation&#8221;, employee.getLocation()));<br />
&nbsp;&nbsp;}<br />
});</p>
</div>
<p>Now for the display:</p>
<p><strong>EmployeesPage.html</strong></p>
<div class="sample">
<p>&lt;span wicket:id=&#8221;employeesRptr&#8221;&gt;</p>
<p>&lt;img wicket:id=&#8221;profilePic&#8221; border=&#8221;0&#8243; /&gt;<br />
&lt;p class=&#8221;name&#8221; wicket:id=&#8221;profileName&#8221;&gt;Joe Schmo&lt;/p&gt;<br />
&lt;p class=&#8221;location&#8221; wicket:id=&#8221;profileLocation&#8221;&gt;location&lt;/p&gt;</p>
<p>&lt;/span&gt;</p>
</div>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/10/using-listview-in-wicket/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Why did I move to Boulder?</title>
		<link>http://www.electromute.com/posts/2008/10/why-did-i-move-to-boulder/</link>
		<comments>http://www.electromute.com/posts/2008/10/why-did-i-move-to-boulder/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 04:11:28 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[boulder]]></category>

		<category><![CDATA[boulder.me]]></category>

		<category><![CDATA[ponderings]]></category>

		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=31</guid>
		<description><![CDATA[Alright now, I&#8217;m not a job hopper. Moving to a new job is a risky endeavor for me. I invest a lot of my SELF into my job. And I&#8217;m old school. I&#8217;m loyal. I believe in toughing it out to the end. I believe in taking a hit for the team.
Perhaps that is a [...]]]></description>
			<content:encoded><![CDATA[<p>Alright now, I&#8217;m not a job hopper. Moving to a new job is a risky endeavor for me. I invest a lot of my SELF into my job. And I&#8217;m old school. I&#8217;m loyal. I believe in toughing it out to the end. I believe in taking a hit for the team.</p>
<p>Perhaps that is a dumb attitude in this day and age, and perhaps my loyalties have kept me from some great opportunities (but I&#8217;ll never change that about myself), but one thing I&#8217;ve learned through my career is that sometimes pushing yourself out of your comfort zone is the best way to grow.</p>
<p>Comfort zone was what I was in at my last job in San Diego. I was Director of Technology at <a href="http://www.reddoor.biz">Red Door Interactive</a>. I had the best team of developers there. They worked together selflessly. They endured the constant interruption and emergencies that is the nature of agency work with style and grace. Great chemistry. Love that team.</p>
<p style="text-align:center"><img src="http://farm2.static.flickr.com/1414/1315263863_663e876860.jpg?v=0" /><br />
Kari and Jeff during a bbq at Mission Bay</p>
<p style="text-align:center"><img src="http://farm1.static.flickr.com/121/285341061_837e9e5339.jpg?v=0" /><br />
Halloween costumes: Kari as Air Force Pilot, Omed as Charlie Chaplin, me as Mud Run Victim, Ronel as Japanese Tourist</p>
<p>So, why did I leave? Well, for one, being so busy, I longed for a place where I could go on a hike in the mountains before work without having to drive 30 minutes to get to and from the trail (and then 30 minutes to and from work). That&#8217;s already 2 hours of driving time, which means I have to get up pretty damn early to fit it all in. Not going to happen. Not while working &#8220;agency hours&#8221;.</p>
<p style="text-align:center"><img src="http://farm4.static.flickr.com/3017/2559497591_68e599a195.jpg?v=0" /><br />
Me at the Teva Mountain Games in Vail</p>
<p>I also wanted more of a technical challenge. As I had transitioned to managing people more than writing code and as I saw the ability to be innovative pulled away by the need for projects to come in under budget (again, just the nature of agency work), I knew I could not last.</p>
<p>As scary and uncomfortable as it was, moving to Boulder has so far been an amazing experience. I feel so lucky to have the opportunities I&#8217;ve had, met the people I&#8217;ve met. I have some amazing possibilities on the horizon and I could not be happier with what I am working on.</p>
<p>So, what about you? What do you really want to be doing in your life? How can you get there? Push yourself&#8230;see where it can take you! One more day to apply to <a href="http://boulder.me">http://boulder.me</a> doooo itttttt&#8230;.!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/10/why-did-i-move-to-boulder/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Help in Isolation: How I Finished my First Wordpress Plugin</title>
		<link>http://www.electromute.com/posts/2008/09/help-in-isolation-how-i-finished-my-first-wordpress-plugin/</link>
		<comments>http://www.electromute.com/posts/2008/09/help-in-isolation-how-i-finished-my-first-wordpress-plugin/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 22:20:56 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[me.dium]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[ponderings]]></category>

		<category><![CDATA[wordpress plugin development]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=19</guid>
		<description><![CDATA[Or &#8220;How I finished my first Wordpress plugin without being a total n00b&#8221;
One common issue when you are working with a new technology or api for the first time is figuring out the best practices and snags. Sure, once you have been writing code for over 10 years, you can pretty much hang in any [...]]]></description>
			<content:encoded><![CDATA[<p>Or &#8220;How I finished my first Wordpress plugin without being a total n00b&#8221;</p>
<p>One common issue when you are working with a new technology or api for the first time is figuring out the best practices and snags. Sure, once you have been writing code for over 10 years, you can pretty much hang in any language. However, it doesn&#8217;t mean what you are going to write is any good. The biggest problem is that engineers tend to re-invent the wheel. My friend Tobias and I were having a conversation about this when he mentioned this book &#8220;<a href="http://www.dreamingincode.com/">Dreaming in Code</a>&#8221; which illustrates this issue very well.</p>
<p>I recently wrote my first Wordpress plugin for Me.dium. It&#8217;s not released in the wild yet, but I have it here on my blog (on the right, under the MyBlogLog widget). I pull in an RSS feed of <a href="http://me.dium.com/search">Me.dium&#8217;s hot search terms</a>. The feed is cached in order to reduce load on Me.dium&#8217;s servers. You can also configure the number of terms to show as well as whether or not to show the descriptions. The plugin itself is very simple, but the value I got was in the process of writing it.</p>
<p>So, how did I write a solid PHP plugin in a room full of Java Engineers who may not even know what Wordpress is? I decided to work as collaboratively as possible, even in isolation. I tried to keep to my motto&#8211;If you have to force it or it&#8217;s too hard, you are doing something wrong. </p>
<p>First I set out to ask some experts. I sent an email out to some Wordpress hot shots asking how to approach certain problems from a strategic perspective. How is it best to store settings? What level of configuration is too much to ask for users?</p>
<p>Not everyone answered my email, but <a href="http://alexking.org">Alex King</a> did. He saved me hours of research work by letting me know about the settings table (duh!). </p>
<p>I went on a hike with some buddies, including Alex from <a href="http://www.gnipcentral.com">Gnip</a> who helped me consider the best time to parse and store my xml. My tunnel vision was so focused on storing the data that I couldn&#8217;t see that there was a better way to store it. My original plan for storage seems completely absurd now&#8211;what was I thinking? More hours of work saved with a simple conversation.</p>
<p>I also posed my question on seesmic:</p>
<p><center><br />
<span style="display:none;"><span>Wordpress Plugin developers out there</span><span></span></span><span style="padding:0px; margin:0px; display:block"><object width="435" height="355"><param name="movie" value="http://seesmic.com/embeds/wrapper.swf"/><param name="bgcolor" value="#666666"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><param name="flashVars" value="video=Fb99tAct9B&amp;version=threadedplayer"/><embed src="http://seesmic.com/embeds/wrapper.swf" type="application/x-shockwave-flash" flashVars="video=Fb99tAct9B&amp;version=threadedplayer" allowFullScreen="true" bgcolor="#666666" allowScriptAccess="always" width="435" height="355"></embed></object></span><span style="display:block; width:435px; margin:0px; padding:0px;background:url(http://seesmic.com/images/seesmichtml.gif) left top repeat-x"><a href="http://seesmic.com" target="_blank"><img width="100%" height="29" style="border:none" src="http://seesmic.com/images/spacer.gif" border="0" /></a></span><br />
</center></p>
<p>Anyway, the point is I had a ton of fun and the process ended up being quite collaborative, even though I was working somewhat in isolation. I am happy to write a more technical blog post as per my usual, but wanted to share this higher level thought process.</p>
<p>ps. Special thanks to Jud for pointing out that there was NOT a for loop bug in my Windows PHP install, but that I was missing a $ in the middle comparator. SRSLY!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/09/help-in-isolation-how-i-finished-my-first-wordpress-plugin/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using helpers in CodeIgniter</title>
		<link>http://www.electromute.com/posts/2008/08/using-helpers-in-codeigniter/</link>
		<comments>http://www.electromute.com/posts/2008/08/using-helpers-in-codeigniter/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 02:28:34 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[CodeIgniter]]></category>

		<category><![CDATA[frameworks]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[reference]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=17</guid>
		<description><![CDATA[I&#8217;ve been using CodeIgniter now for a new project I&#8217;m working on called Giftola. CodeIgniter is an MVC framework for PHP. I like CodeIgniter because it&#8217;s very lightweight, yet it offers some pre-built functionality to deal with some of the tedium (like form validation) of web development.
I&#8217;ve used other PHP frameworks in the past, and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://codeigniter.com/" target="_blank">CodeIgniter</a> now for a new project I&#8217;m working on called <a href="http://www.giftola.com">Giftola</a>. CodeIgniter is an <a href="http://en.wikipedia.org/wiki/Model-view-controller" target="_blank">MVC</a> framework for PHP. I like CodeIgniter because it&#8217;s very lightweight, yet it offers some pre-built functionality to deal with some of the tedium (like form validation) of web development.</p>
<p>I&#8217;ve used other PHP frameworks in the past, and I find the way CI organizes files to be very intuitive and things are easy to find.</p>
<p>One problem with using frameworks is that often developers don&#8217;t actually utilize all of the features of the framework, often reinventing the wheel. In this post, I&#8217;m going to go over a very simple, but useful feature of CI, helpers.</p>
<p>Helpers are functions that are stored in a central location in the CI framework, and then utilized anywhere in the application. I&#8217;m going to demonstrate a simple helper I wrote called timestamp. Timestamp formats a date time string for SQL insertion. This helper allows me to ensure consistency across my entire application.</p>
<p>Here&#8217;s how they work.</p>
<p>CI has its own helper functions, which are located in:</p>
<div class="sample">/system/helpers</div>
<p>You can add your own helper functions to the following location:</p>
<div class="sample">/system/application/helpers</div>
<p>Your file must be named in the form: helpername_helper.php. In my case, I&#8217;m going to create a file called:</p>
<div class="sample">timestamp_helper.php</div>
<p>where I&#8217;ll write a very simple function:</p>
<div class="sample">&lt;?php<br />
if ( ! defined(&#8217;BASEPATH&#8217;)) exit(&#8217;No direct script access allowed&#8217;);</p>
<p>function timestamp(){<br />
return date(&#8221;Y-m-d H:i:s&#8221;);<br />
}<br />
?&gt;</p>
</div>
<p>I use this function most often in my Models, so I&#8217;ll load it up here. In this case, I have an event model, where I&#8217;ll use the helper quite a bit. So, I&#8217;ll load it in the constructor.</p>
<div class="sample">&lt;?php<br />
class Event_model extends Model {</p>
<p>function Event_model()<br />
{<br />
parent::Model();<br />
$this-&gt;load-&gt;helper(&#8217;timestamp&#8217;);<br />
}</p>
<p>}</p>
<p>?&gt;</p>
</div>
<p>Finally, when I want to grab a timestamp, I simply call the function:</p>
<div class="sample">$data = timestamp();</div>
<p>A pretty simple example, but hopefully it will get you thinking on how to consolidate functionality that you use often into the helpers structure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/08/using-helpers-in-codeigniter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Taking the Leap</title>
		<link>http://www.electromute.com/posts/2008/07/taking-the-leap/</link>
		<comments>http://www.electromute.com/posts/2008/07/taking-the-leap/#comments</comments>
		<pubDate>Mon, 28 Jul 2008 16:48:57 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[ponderings]]></category>

		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=16</guid>
		<description><![CDATA[Today is officially the first day of my free fall into having my own startup. I got back from a wedding on Orcas Island late last night, with not a lot of time to ponder my next move. I&#8217;ve been spending the last few months trying to piece together a prototype on my nights and [...]]]></description>
			<content:encoded><![CDATA[<p>Today is officially the first day of my free fall into having my own startup. I got back from a wedding on Orcas Island late last night, with not a lot of time to ponder my next move. I&#8217;ve been spending the last few months trying to piece together a prototype on my nights and weekends. As any programmer knows, doing this kind of work in short bursts can be severely inefficient.</p>
<p>In order to carve out more space for myself, and yet still pay my bills, I&#8217;ll keep my current job 3 days a week and then have the other days to dedicate to my new startup. It&#8217;s somewhat bitter sweet because some really amazing stuff is happening now at current job, but I&#8217;ve gotten the bug to go out on my own and it&#8217;s been brewing steadily and slowly for a while, waiting for the right time/people/circumstances.</p>
<p>Now, I sit with a whole entire day dedicated to myself and while I certainly know what to do next from a &#8220;task list of to-dos&#8221; perspective, I&#8217;m feeling the shock of having this new space for myself. Space to concentrate, space to create, space to focus, space to try something new, space to challenge myself.</p>
<p>So, even if the landing is hard (remind me I said this, please, when I&#8217;m crying and wondering how I thought I could ever do this), now, I jump.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/07/taking-the-leap/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Me.dium launches Social Search</title>
		<link>http://www.electromute.com/posts/2008/07/medium-launches-social-search/</link>
		<comments>http://www.electromute.com/posts/2008/07/medium-launches-social-search/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 16:17:14 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[me.dium]]></category>

		<category><![CDATA[social search]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=14</guid>
		<description><![CDATA[Me.dium launched its social search alpha last week amongst some very positive and exciting press. I&#8217;ve had the privilege of working on this product for the past few months and it was great to see it launch so nicely.
It&#8217;s not hard to see why we&#8217;ve gotten so much positive feedback&#8211;the search results are both interesting, [...]]]></description>
			<content:encoded><![CDATA[<p>Me.dium launched its <a href="http://me.dium.com/search">social search</a> alpha last week amongst some very positive and <a href="http://searchengineland.com/080710-000001.php">exciting press</a>. I&#8217;ve had the privilege of working on this product for the past few months and it was great to see it launch so nicely.</p>
<p>It&#8217;s not hard to see why we&#8217;ve gotten so much positive feedback&#8211;the search results are both interesting, relevant and useful to me as a surfer. For instance, one of the biggest problems I have is when I am trying to find Javascript or CSS help on the web is that I get the feeling the solutions are dated. While these results still may be relevant, I really want to know what the new and latest tricks are. I don&#8217;t need an IE5 CSS hack, I&#8217;m looking to make sure IE7 is working properly.</p>
<p>Me.dium will continue to refine its search algorithm. Although the standard search results are combined with <a href="http://developer.yahoo.com/search/boss/">Yahoo! Search BOSS</a>, I find the &#8220;I feel social&#8221; searches most interesting and relevant. <a href="http://me.dium.com">Give it a try and enjoy</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/07/medium-launches-social-search/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Simple SVN setup on MediaTemple (dv) Hosting</title>
		<link>http://www.electromute.com/posts/2008/06/simple-svn-setup-on-mediatemple-dv-hosting/</link>
		<comments>http://www.electromute.com/posts/2008/06/simple-svn-setup-on-mediatemple-dv-hosting/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 03:37:54 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[reference]]></category>

		<category><![CDATA[server admin]]></category>

		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=13</guid>
		<description><![CDATA[I just got myself a (dv) account at MediaTemple and set out to install SVN. I found pretty much nothing in their knowledge base on how to do this. I do this task so infrequently (but yet often enough to care), that each time I have to re-familiarize myself with how to set up Subversion [...]]]></description>
			<content:encoded><![CDATA[<p>I just got myself a (dv) account at MediaTemple and set out to install SVN. I found pretty much nothing in their knowledge base on how to do this. I do this task so infrequently (but yet often enough to care), that each time I have to re-familiarize myself with how to set up <a href="http://subversion.tigris.org/" target="_blank">Subversion repositories</a>. Hopefully this post will save us all some agony when it&#8217;s time again to set up a new svn repo.</p>
<p>Contrary to some other blog posts out there, the (dv) hosting package actually DOES include Subversion, but you have to enable it through the developer tools [A complete list of the developer tools you get can be found <a href="http://kb.mediatemple.net/questions/807/%28dv%29+3.5+Tech+Specs+-+Developer%27s+Tools+package+listing" target="_blank">here</a>]. </p>
<p>I have a brand new server and nothing on it yet, so I&#8217;m comfy doing this cowboy style. However, if you are adding SVN to an existing server, consider <a href="http://kb.mediatemple.net/questions/641/%28dv%29+Backup+Options" target="_blank">purchasing a snapshot</a> that will preserve all settings prior to starting this process. Unfortunately, the free backup won&#8217;t do the trick.</p>
<h2>Here&#8217;s how to do it</h2>
<p>First off, be sure that you have an account that has ssh privileges into your server. This could be your ftp account or another ssh user you set up for these purposes. This can be done in the Plesk control panel (process not covered here but can be found via the MediaTemple knowledge base).</p>
<div class="sample">
Log into your MediaTemple Access Control panel at <a href="https://ac.mediatemple.net" target="_blank">https://ac.mediatemple.net</a></p>
<p>Go to the overview tab</p>
<p>Click on your primary domain</p>
<p>Click &#8220;Root Access and Developer Tools&#8221;</p>
<p>Click &#8220;Install Developer Tools&#8221;
</p></div>
<p>Now that your developer tools are enabled, you want to enable root access so that you can administer your tools.</p>
<div class="sample">
In the same area of the account center, click Enable Root Access
</div>
<p>Now you&#8217;ve opened up a can of worms enabling root access. One of the ways to contain those worms is to disable ssh for root as <a href="http://kb.mediatemple.net/questions/713/%28dv%29+HOWTO%3A+Disable+Direct+Root+SSH+Login" target="_blank">outlined here</a>.</p>
<p>Next, ssh into your server using the user account created prior to starting this task and run the following command:</p>
<div class="sample">
% su root
</div>
<p>You will be prompted for the password you created when you enabled root access. You have to install and configure svn as root so that it has the correct permissions to write/save/generally do it&#8217;s thing.</p>
<div class="sample">
Create a new directory at /var/svn
</div>
<p>We&#8217;ll pretend our new repository name is called reponame but you can choose any name you want here and this is what you&#8217;ll do each time you make new repositories that are served from this instance of Subversion.</p>
<div class="sample">
Run the following commands:<br />
% svnadmin create &#8211;fs-type fsfs /var/svn/reponame<br />
% chmod -R 777 /var/svn<br />
% svn mkdir /var/svn/reponame/trunk /var/svn/reponame/branches
</div>
<p>Please note that I did not use Berkeley DB (instead I used fsfs as noted in the create command above). I have not had good experiences with Berkely DB and avoid using it, no offense I&#8217;m sure there&#8217;s a place for it and good intentions behind it.</p>
<div class="sample">
Next, you&#8217;re going to do a little editing so use your favorite command line editor (mine happens to be vi):</p>
<p>% vi /var/svn/reponame/conf/svnserve.conf</p>
<p>configure the following items thusly:<br />
anon-access = none<br />
auth-access = write<br />
password-db = passwd<br />
realm = My Repo Yay
</p></div>
<p>(ok, not really sure what realm is for other than it&#8217;s cute and displays when you checkout, but if you know a secret awesome benefit, please share!)</p>
<p>Next it&#8217;s time to create the authentication piece. Time for more vi</p>
<div class="sample">
% vi /var/svn/svnreponame/conf/passwd
</div>
<p>Each name = password pair must be in plain text. There are ways to set this up so that the passwords can be encrypted using Perl&#8217;s crypt but that is not covered here as this is the &#8220;Simple SVN setup&#8221; <img src='http://www.electromute.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Finally you need to start your svn daemon. Please note that there are other options for svnserve and you should familiarize yourself with the <a href="http://svnbook.red-bean.com/en/1.1/index.html" target="_blank">documentation</a> just to be sure.</p>
<div class="sample">
% svnserve -d
</div>
<h2>So, there you have it. You have a simple Subversion setup on your MediaTemple (dv) server. </h2>
<p>You can check out (or run similiar svn commands) from your local machine thusly:</p>
<div class="sample">
% svn co svn://domain.com/var/svn/reponame/trunk
</div>
<p>Note that your domain.com is yours and could also represent a subdomain if you know how to configure that.</p>
<p>There are lots of other fine tunings and tweaks you can do to fit your needs, but this is the Simple svn setup, no? Tools like Eclipse&#8217;s <a href="http://subclipse.tigris.org/" target=-"_blank">SVN plugin</a> make it even easier to utilize this method in terms of password caching and the like.</p>
<p>Lastly, the grad school training in me wants to cite sources, so here you go:<br />
<a href="http://svnbook.red-bean.com/" target="_blank">Version Control with Subversion reference</a><br />
<a href="http://gregsidberry.com/2007/05/07/setup-svn-server-on-media-temple-dv-or-centos-with-plesk/" target="_blank">gregsidberry.com</a><br />
<a href="http://www.tonyspencer.com/2007/03/02/setup-a-subversion-server-in-4-minutes/" target="_blank">tonyspencer.com</a><br />
<a href="http://kb.mediatemple.net/questions/807/%28dv%29+3.5+Tech+Specs+-+Developer%27s+Tools+package+listing."  target="_blank">MediaTemple.net (dv) Developer&#8217;s Tools and Packages Listing</a><br />
<a href="http://kb.mediatemple.net/questions/792/%28dv%29+An+introduction+to+the+root+user" target="_blank">An Introduction to the Root User</a><br />
<a href="http://kb.mediatemple.net/questions/713/%28dv%29+HOWTO%3A+Disable+Direct+Root+SSH+Login" target="_blank">How to disable ssh for root user</a><br />
<a href="http://kb.mediatemple.net/questions/641/%28dv%29+Backup+Options" target="_blank">MediaTemple backup options</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/06/simple-svn-setup-on-mediatemple-dv-hosting/feed/</wfw:commentRss>
		</item>
		<item>
		<title>5 Tweets</title>
		<link>http://www.electromute.com/posts/2008/06/5-tweets/</link>
		<comments>http://www.electromute.com/posts/2008/06/5-tweets/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 15:40:48 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=11</guid>
		<description><![CDATA[I love Twitter. It fits into my multitasking life perfectly. I can keep up with my friends and even get to know new people over time via their tweets. I make plans through Twitter, I vent my frustrations through Twitter, and I share my joys through Twitter.

Over time, I have noticed a few patterns emerge [...]]]></description>
			<content:encoded><![CDATA[<p>I love <a href="http://www.twitter.com" target="_blank">Twitter</a>. It fits into my multitasking life perfectly. I can keep up with my friends and even get to know new people over time via their tweets. I make plans through Twitter, I vent my frustrations through Twitter, and I share my joys through Twitter.</p>
<p><center><img src="http://www.electromute.com/wp-content/uploads/twitterwhale.png" /></center></p>
<p>Over time, I have noticed a few patterns emerge and this post is dedicated to 5 common tweets.</p>
<h2>1. The Boring TMI Tweet</h2>
<p>The boring TMI tweet is the type of twitter that is pretty much useless to the mass audience. It&#8217;s too much information but not even in a sexy, gross or cheeky way. Common tweets include &#8220;Good morning Twitterverse!&#8221; and &#8220;Eating cereal&#8221;. &#8220;Stepped in dog shit&#8221; or &#8220;Cleaning up cat puke&#8221; also fall into this category.</p>
<h2>2. The Namedrop</h2>
<p>The namedrop tweet makes one appear( to have a heavy social calendar filled with parties, outings and meetups (or, tweetups if you&#8217;re one of the cool kids). The tweets are filled with a long list of @. Little do you know that they are merely standing next to the person, but it&#8217;s all about the spin, right?</p>
<h2>3. IM through Twitter</h2>
<p>These tweets are entire conversations between twitter users IM-style. If you are not following both of them, you only get the partial story. While sometimes this can be amusing and can lead to learning about interesting new people, the volume of tweets for this case makes the distraction level a bit too high&#8211;even for a power multitasker.</p>
<h2>4. Auto self promotion</h2>
<p>This kind of tweet is usually a bot that automatically feeds links to Twitter. While in moderation can be cool, the robotic tone of these tweets is a turn off. I mean, how hard is it to announce that you posted on our blog yourself? My worse experience with this type of tweet was when Twitter wasn&#8217;t letting you page through to old posts and someone&#8217;s feed re-posted each and every one of their blog entries. LEAVE</p>
<h2>5. The Love Fest</h2>
<p>Love fest tweets are those where lots of kudos are handed out in a public forum. These are fun tweets and they make a person feel all warm and fuzzy. There should be a twitter app called &#8220;share the love&#8221; where you can review them all when you are about to cry because your regex isn&#8217;t working.</p>
<h2>BONUS: The Mental Twitter</h2>
<p>This type of tweet doesn&#8217;t make it to Twitter and is perhaps my favorite kind. These are tweets too inappropriate for the mass audience or are inside jokes that end up not being funny to anyone else (and fall into the boring TMI tweet category). My friends and I will often tweet these directly to each other, just to have an outlet, however many mental tweets are just that&#8211;mental, said in your mind in under 140 characters.</p>
<p>You can find me committing most of the above crimes at <a href="http://www.twitter.com/electromute" target="_blank">www.twitter.com/electromute</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/06/5-tweets/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wicket dojo integration: Tooltip on text field hover example</title>
		<link>http://www.electromute.com/posts/2008/06/wicket-dojo-integration-tooltip-on-text-field-hover-example/</link>
		<comments>http://www.electromute.com/posts/2008/06/wicket-dojo-integration-tooltip-on-text-field-hover-example/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 01:45:09 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[dojo]]></category>

		<category><![CDATA[wicket]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=4</guid>
		<description><![CDATA[Although it is tempting to write your own javascript or use external javascript libraries such as jquery, Wicket has its own built in dojo integration.
This integration makes using dojo pretty easy, but styling your UI is not so straight forward. In this example, I implement the DojoTooltip on a form text field on the hover [...]]]></description>
			<content:encoded><![CDATA[<p>Although it is tempting to write your own javascript or use external javascript libraries such as <a href="http://jquery.com/" target="_blank">jquery</a>, <a href="http://wicket.apache.org/" target="_blank">Wicket</a> has its own built in <a href="http://wicketstuff.org/wicketdojo13/" target="_blank">dojo</a> integration.</p>
<p>This integration makes using dojo pretty easy, but styling your UI is not so straight forward. In this example, I implement the DojoTooltip on a form text field on the hover action. The use of the standard DojoTooltip as well as other dojo/wicket examples can be found <a href="http://wicketstuff.org/wicketdojo13/" target="_blank">here</a>.</p>
<p>I highly recommend installing the <a href="http://www.kpdus.com/jad.html" target="_blank">Jad</a> decompiler for <a href="http://www.eclipse.org/" target="_blank">Eclipse</a> if you are going to delve into this as documentation is very light and having the decompiler will help you understand what is available to you in the libraries.</p>
<p>Here is a screenshot of the wicket example I started from, note the black border&#8211;this is not acceptable for my UI:</p>
<p><img title="wicket-dojo-tooltip" src="http://www.electromute.com/wp-content/uploads/wicket-dojo-tooltip.gif" alt="Wicket DojoTooltip" border="0" width="500" height="346" /></p>
<p>I need something that looks more like this:</p>
<p><img title="wicket-dojo-searchbox" src="http://www.electromute.com/wp-content/uploads/wicket-dojo-searchbox.gif" alt="Wicket DojoTooltip" width="527" height="158" /></a></p>
<p>The key to getting exactly what you want is overriding the CSS that comes with the framework.</p>
<div class="sample">
<strong>MyTooltipPage.java:</strong><code><br />
public class MyTooltipPage extends MyPageTemplate<br />
{<br />
&nbsp;private WebMarkupContainer hoverTarget;<br />
&nbsp;public MyTooltipPage()<br />
&nbsp;{<br />
&nbsp;super();<br />
&nbsp;hoverTarget = new WebMarkupContainer("hoverTarget");<br />
&nbsp;add(hoverTarget);<br />
&nbsp;DojoTooltip hoverTooltip = new DojoTooltip("hoverTooltip", hoverTarget);<br />
&nbsp;add(hoverTooltip);<br />
&nbsp;hoverTooltip.add(new TooltipPanel("tooltipPanel"));<br />
&nbsp;}<br />
}<br />
</code>
</div>
<p>Next I create the panel that will display the tooltip upon the hover:</p>
<div class="sample">
<strong>TooltipPanel.java</strong><code><br />
public class TooltipPanel extends Panel<br />
{<br />
&nbsp;private Page page;<br />
&nbsp;public TooltipPanel(String id)<br />
&nbsp;{<br />
&nbsp;super(id);<br />
&nbsp;}<br />
}<br />
</code>
</div>
<p>Here is the HTML snippet for the input&#8211;this is the page where my form field lives that I want to apply the over state on.</p>
<div class="sample">
<strong>MyTooltipPage.html</strong><code><br />
&lt;span wicket:id="hoverTooltip"&gt;&lt;span wicket:id="tooltipPanel "/&gt;&lt;/span&gt;<br />
&lt;div wicket:id="hoverTarget"&gt;<br />
&lt;form&gt;<br />
&lt;input type=”text”&gt;<br />
&lt;/form&gt;<br />
&lt;/div&gt;<br />
</code>
</div>
<p>Here is the HTML for the panel that will pop up on the hover state.</p>
<div class="sample">
<strong>TooltipPanel.html</strong><code><br />
&lt;div id="searchTooltip"&gt;<br />
&lt;div class="tooltipPointer"&gt;&lt;img src="/images/darkPointerUp.gif" alt="" /&gt;&lt;/div&gt;<br />
It's a search box you know you want to try it.<br />
enter anything you like and let us find it for you<br />
&lt;/div&gt;<br />
</code>
</div>
<p>Finally, the most important piece of this puzzle is overriding the .dojoTooltip class which is contained in the framework CSS. Using the !important designations will ensure that your attributes are used rather than the default despite the ordering of the CSS files themselves:</p>
<div class="sample">
<strong>Tooltip.css</strong><br />
<code><br />
.dojoTooltip {<br />
background-color: #ffffff !important;<br />
border: 2px solid #ff6d04 !important;<br />
position: fixed !important;<br />
left: 35px !important;<br />
top: 130px !important;<br />
}<br />
</code></p>
<p><code><br />
#searchTooltip {<br />
margin: 0 5px 10px 5px;<br />
font-weight:bold;<br />
size:14px;<br />
position:relative;<br />
top: -10px;<br />
}<br />
</code></p>
<p><code><br />
#searchTooltip .tooltipPointer {<br />
position: relative;<br />
z-index: 1000;<br />
top:-3px;<br />
left: 30px;<br />
}<br />
</code>
</div>
<p>Hope this saves someone some time, enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/06/wicket-dojo-integration-tooltip-on-text-field-hover-example/feed/</wfw:commentRss>
		</item>
		<item>
		<title>5 reasons why cycling is the best sport EVAR!</title>
		<link>http://www.electromute.com/posts/2008/06/5-reasons-why-cycling-is-the-best-sport-evar/</link>
		<comments>http://www.electromute.com/posts/2008/06/5-reasons-why-cycling-is-the-best-sport-evar/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 00:45:58 +0000</pubDate>
		<dc:creator>electromute</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[cycling]]></category>

		<guid isPermaLink="false">http://www.electromute.com/?p=6</guid>
		<description><![CDATA[Growing up in Boulder, you can&#8217;t help but be outdoors. When I was a teenager, I was a competitive cyclist eventually racing with the US National Cycling Team. It&#8217;s been about 15 years since I did my last race. Although I&#8217;ve kept in shape with yoga, hiking and some trail running, I haven&#8217;t really gotten [...]]]></description>
			<content:encoded><![CDATA[<p>Growing up in Boulder, you can&#8217;t help but be outdoors. When I was a teenager, I was a competitive cyclist eventually racing with the US National Cycling Team. It&#8217;s been about 15 years since I did my last race. Although I&#8217;ve kept in shape with yoga, hiking and some trail running, I haven&#8217;t really gotten back on my bike since.</p>
<p>A few wonderful things happened this spring to help me re-ignite my love for the sport.</p>
<ol>
<li>I moved back to Boulder to work at a local startup: <a title="Me.dium" href="http://me.dium.com/from/e8abf4f" target="_blank">Me.dium</a></li>
<li>Steve LeGoff from <a title="Performance Bike" href="http://www.performancebike.com/inform/store_profile.cfm?Store_ID=26" target="_blank">Performance Bike</a> helped me restore my old racing bike</li>
<li>David Mandell and Brent Daily from <a title="Me.dium" href="http://me.dium.com/from/e8abf4f" target="_blank">Me.dium</a> bought road bikes and wanted to get out and ride</li>
</ol>
<p>Being in a town where you can actually go out riding on the roads, having a bike that is ready in good repair, and having buddies to ride with are three very important ingredients to making cycling fun.</p>
<p><img style="margin-left:30px;" src="http://farm4.static.flickr.com/3013/2545997485_95536c063f.jpg?v=0" alt="Brent with David and Stuart in the background" /></p>
<p>We&#8217;ve been getting out on our bikes as much as possible, mostly once or twice on weekends. Sunday, we had one of those epic rides that just reminded me how freaking cool cycling is. US 36&#8211;>Greenbriar&#8211;>Jamestown&#8211;>Olde Stage Road. Here are my top 5 reasons why cycling is the BEST SPORT EVARRR!</p>
<p><strong>1. Fitness</strong></p>
<p>This one is obvious. I sit all day at my desk. I call this the 10-finger workout, in that my 10 fingers are moving and typing, but not much else is happening. This burns about 80 calories per hour. Cycling on the other hand burns upwards of 700+ calories, depending on your current weight, fitness and terrain. Even better, cycling is a low impact sport, meaning if you are a little bit on the heavy side, your joints won&#8217;t suffer as they would if you were running.</p>
<p><strong>2. Stress Reduction</strong></p>
<p>They call it the fight or flight response. When stress levels are heightened, our bodies produce over 30 hormones, including adrenaline and cortisol that need to be cleared out of the body via some kind of &#8220;flight&#8221; response. When we don&#8217;t do any physical activity to rid our bodies of the horemones, the stress chemicals sit in our systems and cause damage both physically and psychologically.</p>
<p><strong>3. Comraderie</strong></p>
<p>Getting out on a nice ride with your buddies is one of the best ways of bonding. Hey, I don&#8217;t play golf, so being able to do something outside of the office that doesn&#8217;t involve drinking is pretty damn cool. Cycling is a gentleman&#8217;s&#8217; sport and a hero&#8217;s sport, so you gain a lot of respect for the folks you ride with for various reasons whether it be the first time you climb that big hill or that time you pull around and win the sprint for once.</p>
<p><strong>4. Cool toys and gadgets</strong></p>
<p>Come now, have you seen the hipster kids riding fixies? Well road cycling is full of cool toys and gadgets. Cool wheels, computers for keeping your mileage, etc. You can buy cool bike stands for your house so you can tinker around with the wheels, parts, keeping things clean and buffed and it&#8217;s way cheaper than fixing cars!</p>
<p><strong>5. Speed</strong></p>
<p>Alright, one of the best things about cycling is riding down a mountain road, after you&#8217;ve done a big effort. Being able to go as fast or faster than the cars, taking the turns like a pro and imagining how cool you look. It doesn&#8217;t matter how you actually look-this is not the point. It&#8217;s imagining you are fast like a pro racer in the Giro d&#8217;Italia!</p>
<p>You don&#8217;t have time to ride you say? Well,  here&#8217;s the deal, it took me over a year and a half of being back in Boulder before I got things under control enough to start riding again. I was too busy, tired, working, my bike was not fixed, etc. Even now, I have to ride at ungodly hours both during the week and weekend. My riding mates coordinate with spouses and babysitters, it is not an easy task. Do your best, don&#8217;t be too hard on yourself if you can&#8217;t get out and get out as much as you can without it being stressful.</p>
<p><img style="margin-left:30px;" src="http://farm4.static.flickr.com/3076/2546824242_5b14a309a5.jpg?v=0" alt="Me getting ready for the descent." /></p>
<p>Happy riding!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.electromute.com/posts/2008/06/5-reasons-why-cycling-is-the-best-sport-evar/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
