<?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>jrmehle.com &#187; Site News</title>
	<atom:link href="http://jrmehle.com/archives/site-news/feed/" rel="self" type="application/rss+xml" />
	<link>http://jrmehle.com</link>
	<description>Through the Eyes of a Dork</description>
	<lastBuildDate>Sun, 31 Jan 2010 19:30:38 +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>Site Updates</title>
		<link>http://jrmehle.com/2010/01/08/site-updates/</link>
		<comments>http://jrmehle.com/2010/01/08/site-updates/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 03:24:01 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Site News]]></category>

		<guid isPermaLink="false">http://jrmehle.com/?p=688</guid>
		<description><![CDATA[Up until very recently I was an Apache only kind of guy. After being continuously being frustrated by memory problems on a 256MB virtual machine, I tried out the svelte nginx. While there was some pain getting PHP support initially, the results have been worth it. Both this blog and my portfolio are humming along.
Not [...]]]></description>
			<content:encoded><![CDATA[<p>Up until very recently I was an Apache only kind of guy. After being continuously being frustrated by memory problems on a 256MB virtual machine, I tried out the svelte <a href="http://nginx.org/">nginx</a>. While there was some pain getting PHP support initially, the results have been worth it. Both this blog and my <a href="http://portfolio.jrmehle.com">portfolio</a> are humming along.</p>
<p>Not long ago I came to the realization that my blog theme could easily be done in CSS3 as opposed to the background images and complex CSS I had hacked together previously. In an afternoon, I had things pretty much figured out. I has been live for a few days now and I doubt anyone noticed.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrmehle.com/2010/01/08/site-updates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wysi-what? Wysihat Part I</title>
		<link>http://jrmehle.com/2009/01/25/wysiwhat-wysihat-part-1/</link>
		<comments>http://jrmehle.com/2009/01/25/wysiwhat-wysihat-part-1/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 17:13:43 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Site News]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jrmehle.com/?p=403</guid>
		<description><![CDATA[Do I have you thoroughly confused with the title yet? I&#8217;ve neglected the blog here since October and that&#8217;s mostly because I talk about my day-to-day adventures on Twitter. Something I have decided to do is write some posts that are more technical. I&#8217;ve probably learned more about Rails via blogs than I have from [...]]]></description>
			<content:encoded><![CDATA[<p>Do I have you thoroughly confused with the title yet? I&#8217;ve neglected the blog here since October and that&#8217;s mostly because I talk about my day-to-day adventures on <a href="http://twitter.com/jrmehle">Twitter</a>. Something I have decided to do is write some posts that are more technical. I&#8217;ve probably learned more about Rails via blogs than I have from any Rails books I read. The topic I&#8217;ve chosen for today&#8217;s post is something I couldn&#8217;t find much material on myself. I hope it helps someone.</p>
<p>First, let&#8217;s get something out of the way. WYSIWYG stands for &#8220;What you see is what you get.&#8221; It&#8217;s surprising how often people don&#8217;t know what that means. Given that this is supposed to be a &#8220;technical&#8221; blog post I won&#8217;t go into detail about what a WYSIWYG editor is. Let&#8217;s assume you know what it is, you&#8217;ve tried TinyMCE, FCK-Editor, or others. Let&#8217;s also assume you&#8217;ve gone through considerable pain attempting to integrate these editors into your site, or styling these editors for your site. It never quite works out right. The editor doesn&#8217;t work right when used with AJAX, or the interface and buttons are completely foreign to your layout and design. Sometimes these things can be fixed, but it usually involves a lot of hacking. Leave it to the guys at 37Signals to make it all better.</p>
<p><a href="http://www.37signals.com/svn/posts/1330-introducing-wysihat-an-eventually-better-open-source-wysiwyg-editor">Wysihat was introduced in October 2008</a> by Jason Fried on the 37Signals blog, Signal vs. Noise.</p>
<blockquote><p>WysiHat is a <span class="caps">WYSIWYG</span> JavaScript framework that provides an extensible foundation to design your own rich text editor. WysiHat stays out of your way and leaves the UI design to you. Although WysiHat lets you get up and running with a few lines of code, the focus is on letting you customize it.</p></blockquote>
<p>Normally, I would read that with a skeptical eye, but given that this is 37 Signals, there might actually be something to Wysihat. Wysihat is open source and, <a href="http://github.com/37signals/wysihat">hosted on Github</a>. It&#8217;s also small. Wysihat weighs in at 20k uncompressed, and a mere 4.8k when delivered gzipped through my Apache server. To be fair, this minuscule size is due to Wysihat&#8217;s dependence on Prototype. I&#8217;m a Rails developer and Rails defaults to Prototype, so I&#8217;m OK with that. It is worth noting that you will need to make sure wysihat.js loads <em>after</em> prototype.js or this won&#8217;t work.</p>
<p>Note: If you clone the repository on Github, you&#8217;ll quickly notice there is no wysihat.js file anywhere to be found. All you need to do is switch into the directory where you cloned the wysihat repository and run the &#8216;rake&#8217; command without any arguments. It will build the Javascript in dist/. Of course this is also in the README, but you were so excited to get started you forgot to read that, right?</p>
<p>After all that praise you&#8217;d think that all you have to do is add Wysihat source to your page and your forms are suddenly improved with editor goodness. Not quite. Wysihat is intended to be used as unobtrusive Javascript that decorates the text fields of your choice. You have you write the part that initializes the editor and sets up the toolbar with the buttons you need.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">Event.<span style="color: #660066;">observe</span><span style="color: #009900;">&#40;</span>window<span style="color: #339933;">,</span> <span style="color: #3366CC;">'load'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #003366; font-weight: bold;">var</span> editor <span style="color: #339933;">=</span> WysiHat.<span style="color: #660066;">Editor</span>.<span style="color: #660066;">attach</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'content'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #003366; font-weight: bold;">new</span> WysiHat.<span style="color: #660066;">Toolbar</span><span style="color: #009900;">&#40;</span>editor<span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>buttonSet<span style="color: #339933;">:</span> WysiHat.<span style="color: #660066;">Toolbar</span>.<span style="color: #660066;">ButtonSets</span>.<span style="color: #660066;">Basic</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>In the four lines of Javascript above, The first line simply makes sure the page DOM is set before we do anything like adding an editor to it. Then, we have to initialize the editor. All you have to do is pass in the ID of the text area you want to add the editor to. Here it is saved to a variable so we can then add the default toolbar (bold, italics, underline) to the editor. Without that line, we&#8217;d get an editor without buttons. That&#8217;s it! However, for your four lines of code, you only get a basic looking editor.</p>
<div><a href="http://www.flickr.com/photos/jaredvolkl/3225114297/"><img title="Wysihat Simple Editor" src="http://farm4.static.flickr.com/3524/3225114297_d9bde2496e.jpg" alt="" width="500" height="204" /></a></div>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">Event.<span style="color: #660066;">observe</span><span style="color: #009900;">&#40;</span>window<span style="color: #339933;">,</span> <span style="color: #3366CC;">'load'</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
      <span style="color: #003366; font-weight: bold;">var</span> editor <span style="color: #339933;">=</span> WysiHat.<span style="color: #660066;">Editor</span>.<span style="color: #660066;">attach</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'content'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #003366; font-weight: bold;">var</span> toolbar <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> WysiHat.<span style="color: #660066;">Toolbar</span><span style="color: #009900;">&#40;</span>editor<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      toolbar.<span style="color: #660066;">addButton</span><span style="color: #009900;">&#40;</span>
        <span style="color: #009900;">&#123;</span> <span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'bold'</span><span style="color: #339933;">,</span> label<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Bold&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>editor<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        editor.<span style="color: #660066;">boldSelection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      toolbar.<span style="color: #660066;">addButton</span><span style="color: #009900;">&#40;</span>
        <span style="color: #009900;">&#123;</span> <span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'underline'</span><span style="color: #339933;">,</span> label<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Underline&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>editor<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        editor.<span style="color: #660066;">underlineSelection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
      toolbar.<span style="color: #660066;">addButton</span><span style="color: #009900;">&#40;</span>
        <span style="color: #009900;">&#123;</span> <span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">'italic'</span><span style="color: #339933;">,</span> label<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Italic&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>editor<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        editor.<span style="color: #660066;">italicSelection</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
      <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The above code looks more complex, but it really is not. Again we wait for the DOM to be set, and initialize our editor. Instead of using Wysihat&#8217;s basic toolbar, we want to customize our own. Only the editor is passed in to the toolbar init line, leaving us add the buttons.</p>
<p>We use addButton and passing a Hash with the name and label. The name will become a CSS class on the link that gets inserted and the label is the link text. The final argument for addButton is a function inside of which we call another editor method boldSelection(). This does what you would expect and bolds some selected text in the editor.</p>
<p>The underline and italics buttons can be done the same way and there are also existing methods making selected text underlined or italics too. If you take a peek at the Wysihat source around line 65 you&#8217;ll see WysiHat.Commands. Below that are all the functions the editor can call for doing other common tasks such as creating lists, links, images, etc.</p>
<p>With what I&#8217;ve covered so far, you should be able to add an editor to a page and add any number of buttons using the built-in Wysihat editor functions. All of the code I&#8217;ve shown is taken from the examples directory of the project (this is also stated in the README). In Part II of this post, I will show how to write your own custom button functions and how to make the editor not look so boring by adding some simple CSS. Finally, I&#8217;ll finish up with some of the problems and pitfalls I&#8217;ve found so far using Wysihat in one of my projects.</p>
<p>Update: <a href="http://jrmehle.com/2009/02/13/wysiwhat-wysihat-part-2/">Part II has been posted!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jrmehle.com/2009/01/25/wysiwhat-wysihat-part-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Change of Scenery</title>
		<link>http://jrmehle.com/2007/07/10/change-of-scenery/</link>
		<comments>http://jrmehle.com/2007/07/10/change-of-scenery/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 14:43:09 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Site News]]></category>

		<guid isPermaLink="false">http://jrmehle.com/2007/07/10/change-of-scenery/</guid>
		<description><![CDATA[You might have noticed a few things have changed around here. I have finally bought a domain and moved my blog over. In the process, I decided to ditch the not-often-updated other sections of my site such as my music, art, and poetry. They may make a reappearance, but for now it&#8217;ll just be the [...]]]></description>
			<content:encoded><![CDATA[<p>You might have noticed a few things have changed around here. I have finally bought a domain and moved my blog over. In the process, I decided to ditch the not-often-updated other sections of my site such as my music, art, and poetry. They may make a reappearance, but for now it&#8217;ll just be the blog. So change those RSS feeds and bookmarks. The new address is <a href="http://jrmehle.com">jrmehle.com</a>. Much easier to remember.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrmehle.com/2007/07/10/change-of-scenery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Blog, Tumblelog, or Something Entirely Different</title>
		<link>http://jrmehle.com/2007/05/31/blog-tumblelog-or-something-entirely-different/</link>
		<comments>http://jrmehle.com/2007/05/31/blog-tumblelog-or-something-entirely-different/#comments</comments>
		<pubDate>Thu, 31 May 2007 17:51:32 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Site News]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jrmehle.homelinux.net/?p=321</guid>
		<description><![CDATA[As I made mention to in my last post, I&#8217;ve joined Jaiku. Since then, I&#8217;ve contracted the Jaiku bug. I&#8217;m on it every day several times a day. Though I have a feeling no one is paying attention to my feed.  Maybe this will help that.
I&#8217;m divided. While I like writing these longer posts [...]]]></description>
			<content:encoded><![CDATA[<p>As I made mention to in my last post, I&#8217;ve joined <a href="http://jrmehle.jaiku.com">Jaiku</a>. Since then, I&#8217;ve contracted the Jaiku bug. I&#8217;m on it every day several times a day. Though I have a feeling no one is paying attention to my feed.  Maybe this will help that.</p>
<p>I&#8217;m divided. While I like writing these longer posts at times, often I find that it&#8217;s the very reason I don&#8217;t post to my blog more. I don&#8217;t feel like sitting down and writing a full blog post all the time. Not to mention that I tend to edit constantly and what starts as a 10 minute project easily turns into 20 or 30 minutes. Jaiku&#8217;s 140 character per post limit is useful at times because it forces you to say exactly what you want without any fluff.</p>
<p>For a couple of weeks now I&#8217;ve been debating on whether or not I want to continue hosting my blog. I bought hosting and a domain from <a href="http://www.godaddy.com">GoDaddy</a> back in February, but I haven&#8217;t bothered to transfer anything over yet. The main reason was because I planned to rewrite my own blog software in Ruby on Rails. The problem with that, however, is that I have to migrate all of my blog posts over to the new system. Also, Go Daddy&#8217;s Rails performance is poor. Not to mention that they don&#8217;t offer ssh access on my account (no Rails migrations).</p>
<p>The 3rd option is to move the blog over to a hosted blogging service. It&#8217;d probably be easy to import my posts, but I&#8217;m also sacrificing what I can do in terms of control. When I host it, I can customize things much more and I like that.</p>
<p>So I&#8217;m still undecided. One of these nights I just need to sit down and figure it all out or at least move my hosting over to Go Daddy.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrmehle.com/2007/05/31/blog-tumblelog-or-something-entirely-different/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ch&#8230;Ch&#8230;Ch&#8230;Changes</title>
		<link>http://jrmehle.com/2007/02/26/chchchchanges/</link>
		<comments>http://jrmehle.com/2007/02/26/chchchchanges/#comments</comments>
		<pubDate>Mon, 26 Feb 2007 19:47:11 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Site News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://jrmehle.homelinux.net/?p=309</guid>
		<description><![CDATA[Friday, I went to bed and there was only a couple inches of snow on the ground. By the time this weekend blizzard passed, eight or ten inches of new snow covered everything. It&#8217;s the most snow I can remember getting in recent years.
Then today, I get to work and open my email to find [...]]]></description>
			<content:encoded><![CDATA[<p>Friday, I went to bed and there was only a couple inches of snow on the ground. By the time this weekend blizzard passed, eight or ten inches of new snow covered everything. It&#8217;s the most snow I can remember getting in recent years.</p>
<p>Then today, I get to work and open my email to find our lead developer is leaving for another job in a little more than 2 weeks. I think everyone in the company was a little surprised. Granted, he wasn&#8217;t a true employee (only on a long term contract basis), but we still thought he enjoyed things enough to stick around. I kind of thought that we would be bringing him on as a full time employee as the company matured. Maybe he just got sick of waiting around.</p>
<p>Frankly, I&#8217;m scared. The only other dev (also on a contract) was brought to us by the guy who is leaving. It&#8217;s not that James and I don&#8217;t get along or work well together because I think we do. The problem is, I think I saw him coming to us as sort of a &#8220;favor&#8221; to Jeff. I know there was some dispute over wages prior to James&#8217; contract signing, and I have a feeling Jeff sort of talked him into the job. Now that Jeff is abandoning ship, I don&#8217;t see James sticking around for long. His only reason for being loyal is now on it&#8217;s way out the door.</p>
<p>That leaves me; alone. Now, I&#8217;m sure Scott will be gearing up to hire a new developer soon and hopefully that person can be as good of a programmer and mentor as Jeff is. I just have this feeling that it&#8217;s not going to be an easy road the next couple of months. It&#8217;s kind of like that feeling you get when someone breaks up with you and you never knew there was a relationship problem (it&#8217;s happened to me twice).</p>
<p>And on a small side note, I&#8217;ve bought a domain name and hosting from GoDaddy. My hope is to get everything on Rails. I&#8217;ve yet to choose between Typo and Mephisto for a blogging engine, but if last night is any indicator, I&#8217;ll be going with Mephisto. I spent a good 3 hours trying to get Typo installed on my new host, and it didn&#8217;t go very smooth. In time, I also hope to rewrite the other portions of my site in Rails. And lastly, because I now own my own domain, the address will be changing. What I plan to do is point this domain at my new host or set up a redirect until my time runs out with my former host. Regardless, jrmehle.homelinux.net will become jrmehle.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrmehle.com/2007/02/26/chchchchanges/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Caught Up (Somewhat)</title>
		<link>http://jrmehle.com/2006/08/30/caught-up-somewhat/</link>
		<comments>http://jrmehle.com/2006/08/30/caught-up-somewhat/#comments</comments>
		<pubDate>Thu, 31 Aug 2006 04:12:48 +0000</pubDate>
		<dc:creator>Jared</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Site News]]></category>

		<guid isPermaLink="false">http://jrmehle.homelinux.net/?p=268</guid>
		<description><![CDATA[I caught up posting what I had done for reviews and a few albums I&#8217;ve gotten the last couple of months. Hit the music section to see what&#8217;s new.
]]></description>
			<content:encoded><![CDATA[<p>I caught up posting what I had done for reviews and a few albums I&#8217;ve gotten the last couple of months. Hit the <a href="http://jrmehle.homelinux.net/music.php">music section</a> to see what&#8217;s new.</p>
]]></content:encoded>
			<wfw:commentRss>http://jrmehle.com/2006/08/30/caught-up-somewhat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
