<?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>Eric the Gray</title>
	<atom:link href="http://dovetailcomputing.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://dovetailcomputing.com/blog</link>
	<description>A graybeard talks about teaching and developing.</description>
	<lastBuildDate>Fri, 11 Apr 2008 21:03:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Looking for my Music Blog?</title>
		<link>http://dovetailcomputing.com/blog/2007/06/07/looking-for-my-music-blog/</link>
		<comments>http://dovetailcomputing.com/blog/2007/06/07/looking-for-my-music-blog/#comments</comments>
		<pubDate>Fri, 08 Jun 2007 02:59:37 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/2007/06/07/looking-for-my-music-blog/</guid>
		<description><![CDATA[It&#8217;s right here Thanks, -Eric]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s right <a href="http://dovetailcomputing.com/music/erics-music-blog/">here</a></p>
<p>Thanks,</p>
<p>-Eric</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2007/06/07/looking-for-my-music-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I am not biased</title>
		<link>http://dovetailcomputing.com/blog/2007/02/22/i-am-not-biased/</link>
		<comments>http://dovetailcomputing.com/blog/2007/02/22/i-am-not-biased/#comments</comments>
		<pubDate>Thu, 22 Feb 2007 16:46:23 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/2007/02/22/i-am-not-biased/</guid>
		<description><![CDATA[I have been ranting to my students about Windows again recently. I do this whenever I&#8217;m forced to use it. The only thing that makes me use it these days is when I need to get something that I&#8217;m teaching working for my poor students who need to use it. This usually results in me [...]]]></description>
			<content:encoded><![CDATA[<p>I have been ranting to my students about Windows again recently. I do this whenever I&#8217;m forced to use it. The only thing that makes me use it these days is when I need to get something that I&#8217;m teaching working for my poor students who need to use it. This usually results in me playfully getting accused of being biased, of being one of those crazy mac-zealots that has tunnel vision. I usually just laugh it off and say something like, &#8220;If you only knew!&#8221; </p>
<p><span id="more-21"></span></p>
<p>But, this time it made me a little annoyed and uncomfortable. So, I looked up the word <strong>biased</strong> to see if I was. Here is the definition I found:</p>
<blockquote>
<p>verb ( biased , biasing or biassed, biassing) 1 [ trans. ] (usu. be biased) show prejudice for or against (someone or something) unfairly : readers said the paper was biased toward the conservatives | the tests were biased against women and minorities | [as adj. ] ( biased) a biased view of the world. â€¢ influence unfairly to invoke favoritism : her well-rehearsed sob story failed to bias the jury.</p>
</blockquote>
<h2>I am not biased</h2>
<p>Based on this definition I hereby declare myself to be <strong>unbiased</strong> about computers and operating systems. How can I claim this? Well, here is a list of the operating systems that I have used to the point of being a power user or expert during my career:</p>
<ul>
<li>Apple IIe</li>
<li>IBM Mainframe (whatever that call the OS now)</li>
<li>Vax</li>
<li>DEC Unix</li>
<li>Intergraph workstation Unix</li>
<li>Macintosh System 6 through 9</li>
<li>Macintosh OS X 10.1 through 10.4</li>
<li>DOS</li>
<li>Windows versions 3.1 through XP</li>
</ul>
<ul>
<li>Linux (many distributions on servers and desktops)
<p>At this point in my career I find that I am much more productive and happy on a unix variant. The current best one is Mac OS X. The current best hardware out there is from Apple. I like to use the best and that is my only bias.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2007/02/22/i-am-not-biased/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Can Java Be Saved? Part Four</title>
		<link>http://dovetailcomputing.com/blog/2006/11/24/can-java-be-saved-part-four/</link>
		<comments>http://dovetailcomputing.com/blog/2006/11/24/can-java-be-saved-part-four/#comments</comments>
		<pubDate>Sat, 25 Nov 2006 02:19:10 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/2006/11/24/can-java-be-saved-part-four/</guid>
		<description><![CDATA[Part Four&#8212;My philosophy going forward. I have finally thought about this enough, at least for now. I have decided that I&#8217;m going to create a framework for use in my classes and for any personal java programming I might do in the future. I know, I know, the world really doesn&#8217;t need yet another framework. [...]]]></description>
			<content:encoded><![CDATA[<h2>Part Four&#8212;My philosophy going forward.</h2>
<p>I have finally thought about this enough, at least for now. I have decided that I&#8217;m going to create a framework for use in my classes and for any personal java programming I might do in the future. I know, I know, the world really doesn&#8217;t need yet another framework. But, this one is a bit different, I promise.</p>
<p><span id="more-20"></span></p>
<p>The first step toward creating my framework is to establish a philosophy to guide me along this journey. I have looked at almost every java framework out there and I think that this is sometimes missing. The authors are usually very good programmers and have deep experience. This leads them to create what they like and what appeals to them. I think this is great for all the other people out there on their level. But, there is a crisis in the java world and its name is complexity. </p>
<h3>The Philosophy</h3>
<p>So, here is my philosophy. I want to make a framework that is <strong>easy to teach</strong>. Notice that I didn&#8217;t say easy to learn? That&#8217;s what everyone says. I am the one who has tried to do the teaching with things that are supposed to be easy to learn. Well, they might be easy to learn if you are a seasoned pro, or an up-and-coming computer superstar. While I&#8217;m sure that some of my students are going to be superstars, most of them are quite new to web programming. They have never heard of an HTTP request and couldn&#8217;t really tell you the difference between a GET and a POST. I have come to the conclusion that there isn&#8217;t anything out there for them. </p>
<p>How am I going to do this? I am going to start by keeping in mind that my students are looking at me to teach them the basics. That every shop in my area uses a different approach so I can&#8217;t teach it all. That if they learn the basics of web programming well enough they should be able to learn any new whiz-bang framework that comes along. I am going to get them ready to learn the next Struts, JSF, Spring, Stripes, etc., that comes along. And there is one thing we can guarantee in the IT world, that tomorrow will bring something new. I am going to get them ready for that, not for what is here today.</p>
<h3>The Basic Idea</h3>
<p>The most frustrating part of trying to teach using java is that it takes too long to create the basic structure of every concept. We have to get Ant setup and a full web application source and build structure. We have to learn how to create servlets and how to add them to the web.xml file. We need to learn how to create JSP pages and where to put them. We spend days just getting a .war file ready to deploy. We have to then make sure that we have Tomcat setup correctly for deployment. All of this has the philosophy of, &#8220;EVERYTHING TAKES TOO DAMN LONG!&#8221; </p>
<p>Phew, I&#8217;m glad I got that out of my system.</p>
<p>Now, on to my idea. I am going to create a <strong>structure building framework</strong>. Some of my ideas come from Ruby on Rails, but maybe not what you think. I am not going to attempt to recreate Rails in java; that is a mistake. Instead I&#8217;m going to take a hint from the part of Rails that helps you generate all the structure of your application. This is going to be a command-line tool that helps you create all the directories and files while you code. I have been looking for a good word that will be my command. I have decided on a working command name for the framework. I might change it but for now the command will be &#8220;simple.&#8221; Here is an example of how it might be used:</p>
<p><code>$ simple new action com.bigco.controllers.store.MyFabulousAction</code></p>
<p>This would check that all the directories are in the right place. Then it would create a new Servlet, and add configuration and mapping to the web.xml file. </p>
<p>This is just a taste of what I&#8217;m working on. So far I have lots of ideas and lots to do, but I have chosen one technology. I am going to write my framework in Ruby.</p>
<p>That&#8217;s all for now, take care.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2006/11/24/can-java-be-saved-part-four/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Can Java Be Saved? Part Three</title>
		<link>http://dovetailcomputing.com/blog/2006/10/14/can-java-be-saved-part-three/</link>
		<comments>http://dovetailcomputing.com/blog/2006/10/14/can-java-be-saved-part-three/#comments</comments>
		<pubDate>Sun, 15 Oct 2006 00:58:00 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/2006/10/14/can-java-be-saved-part-three/</guid>
		<description><![CDATA[Part Three&#8212;What&#8217;s driving me? Part of what is driving my quest is how frustrated I have become with trying to create java web applications. My job that takes up most of my time is being a teacher. That doesn&#8217;t leave me much time to create private side projects. Whenever I have a great idea for [...]]]></description>
			<content:encoded><![CDATA[<h2>Part Three&#8212;What&#8217;s driving me?</h2>
<p>Part of what is driving my quest is how frustrated I have become with trying to create java web applications. My job that takes up most of my time is being a teacher. That doesn&#8217;t leave me much time to create private side projects. Whenever I have a great idea for a project that will enhance my teaching experience or just sounds fun I just dread the idea of doing it in java. For years I have wondered if I was the only one. Then my colleague who is the .NET expert in my department mentioned that he was doing a side project in PHP. I thought it was very telling that neither of us wanted to code for fun in our area of expertise. That made me start the search for more coding joy.</p>
<p><span id="more-19"></span></p>
<p>It was the summer of 2005 and I was at the big JavaOne conference in San Francisco. It was my annual trip to see what was new in the world of java. I was noticing that the conference seemed even more corporate than normal. I also noticed that people were talking in the halls and rest areas about something called Ruby on Rails. At first I was a bit curious. After several days of hearing about this I decided that if developers at a java conference were talking about an alternative technology then I had better check it out.</p>
<p>After I got home I started learning Rails. The light came on and I now believe that Ruby on Rails the best way to code web applications by a very large margin. The speed and joy involved in the process has changed my career. I even now have a course on Rails that is completely full.</p>
<p>But, that is not what this series is about. I still have to teach java and I will probably still get consulting calls for it. What is driving me to write this series is the result of my learning that there can be joy in coding web apps! This is very cool! My quest is to see if I can create a java-based web application environment that feels better. I don&#8217;t have to duplicate Rails in java like some are trying. I only need to feel productive and feel a sense of joy when coding. I want to feel light on my feet again instead of feeling like I&#8217;m wearing lead shoes. </p>
<p>Wish me well, I&#8217;m going in.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2006/10/14/can-java-be-saved-part-three/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Testing When It Really Matters</title>
		<link>http://dovetailcomputing.com/blog/2006/10/08/testing-when-it-really-matters/</link>
		<comments>http://dovetailcomputing.com/blog/2006/10/08/testing-when-it-really-matters/#comments</comments>
		<pubDate>Sun, 08 Oct 2006 20:37:44 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/2006/10/08/testing-when-it-really-matters/</guid>
		<description><![CDATA[This is an EPI-Pen. They come in pairs and this one&#8217;s twin saved my life yesterday. I&#8217;m allergic to the stings of bees, hornets, and yellow jackets. Yesterday I was about to see a play at an outdoor theater. It was a perfect October day here in Wisconsin, sunny and in the mid-seventies. I was [...]]]></description>
			<content:encoded><![CDATA[<div style="float:left; margin:5px;">
  <img id="image17" src="http://dovetailcomputing.com/blog/wp-content/uploads/2006/10/epi-small-vert.jpg" alt="EPI-Pen Vertical" />
</div>
<p>This is an EPI-Pen. They come in pairs and this one&#8217;s twin saved my life yesterday. I&#8217;m allergic to the stings of bees, hornets, and yellow jackets. Yesterday I was about to see a play at an outdoor theater. It was a perfect October day here in Wisconsin, sunny and in the mid-seventies. I was with my family and we were all excited to see a play together. But, we were outdoors in the fall when the yellow jackets are very aggressive and I got stung just 5 minutes before curtain time. </p>
<p><span id="more-14"></span></p>
<p>An allergic reaction to a bee sting can kill some people in a few minutes. The EPI-Pen can temporarily stop the reaction and allow you to get to a hospital.  Typically, you get about 30 minutes before the reaction starts again. The pen gives you a shot of epinephrine when you press it against your leg. It fires a half-inch needle and then injects you, all automatically, while you are starting to gasp for breath. Pretty scary.</p>
<p>The interesting thing here to me, aside from still being alive, is that this device had to work. There are no second chances, it has to just work, right now. How do they make a product like this? Once it is used you have to throw it away. Therefore, the individual device that I used was not tested. To me this would be an engineering nightmare. </p>
<p>This is pure speculation on my part, but I suspect that actually coming up with a design for the product was quite simple. The really hard part was to design a way to predict that it would work for me yesterday. I can imagine that a lot of statistical analysis enters here too. They are probably made in batches and a percentage of each is tested. Once in a while an entire batch is destroyed by testing all of them. The production of this life-saving product is mostly about testing, testing, and more testing.</p>
<p>I&#8217;m a software developer. The testing of software seems to be in its infancy compared to this. There are now some good testing frameworks and I know lots of people who are really trying to change our culture. They want us to think about testing first and not as a secondary thing that we do a bit when we are done with the &#8220;real&#8221; work of the development. I&#8217;m not sure that software &#8220;engineering&#8221; will ever get to the point that hard engineering is already. Where the real work IS the testing and the work that users interact with is just the result of our good testing. I&#8217;m not even sure that the kind of person who is attracted to software development is capable of proper testing. </p>
<p>This experience will make me look harder at testing now. I have been really trying to find the right way to articulate how I was feeling about testing. I think I might have found it.</p>
<p>By the way, I am just fine now. Take care.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2006/10/08/testing-when-it-really-matters/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I love my MacBook Pro!</title>
		<link>http://dovetailcomputing.com/blog/2006/10/04/i-love-my-macbook-pro/</link>
		<comments>http://dovetailcomputing.com/blog/2006/10/04/i-love-my-macbook-pro/#comments</comments>
		<pubDate>Wed, 04 Oct 2006 14:46:57 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/2006/10/04/i-love-my-macbook-pro/</guid>
		<description><![CDATA[This is Sweet I got a 17&#8221; MacBook Pro and it is changing the way I work. My new shiny laptop replaced a 12&#8221; PowerBook that I thought was the best computer on the planet. But, with the old laptop I really needed external monitors to get any real work done. I even bought monitors [...]]]></description>
			<content:encoded><![CDATA[<h3>This is Sweet</h3>
<p>I got a 17&#8221; MacBook Pro and it is changing the way I work. My new shiny laptop replaced a 12&#8221; PowerBook that I thought was the best computer on the planet. But, with the old laptop I really needed external monitors to get any real work done. I even bought monitors to leave at client sites so that I wasn&#8217;t constrained by 1024&#215;768 pixels. </p>
<p>The MBP has 1680&#215;1050 pixels in a 17&#8221; screen and this seems to be some sort of optimal sweet spot. I have a friend who has a 15.4&#8221; laptop with 1920&#215;1200 pixels and the size of each pixel is just too small. He has to blow up all the fonts in order to use the machine. But, some things can&#8217;t be adjusted like that and he is not happy with the computer. He is looking at mine with great envy!</p>
<p>I have an Apple 23&#8221; display that is gorgeous and an office in my house that I made myself and an expensive chair to sit in. I just realized that I haven&#8217;t been in my office for a couple of weeks. I can now work anywhere. I sit on my bed rubbing my wife&#8217;s back while she does homework on her laptop. I sit on the futon in the family room in front of the fire when it is cold. I sit on the couch in the living room waiting for the kid&#8217;s bus. </p>
<p>I love this freedom and I love this machine!</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2006/10/04/i-love-my-macbook-pro/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Can Java Be Saved? Part Two</title>
		<link>http://dovetailcomputing.com/blog/2006/09/28/can-java-be-saved-part-two/</link>
		<comments>http://dovetailcomputing.com/blog/2006/09/28/can-java-be-saved-part-two/#comments</comments>
		<pubDate>Fri, 29 Sep 2006 04:26:13 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/?p=11</guid>
		<description><![CDATA[Part Two&#8212;What I like The first part of my quest to improve my java development experience is to identify what I like about using java. Here is a brief list. Java I like the java programming language. Or, at least after 10 years of coding in it I feel comfortable. I don&#8217;t have to look [...]]]></description>
			<content:encoded><![CDATA[<h2>Part Two&#8212;What I like</h2>
<p>The first part of my quest to improve my java development experience is to identify what I like about using java. Here is a brief list.</p>
<h3>Java</h3>
<p>I like the java programming language. Or, at least after 10 years of coding in it I feel comfortable. I don&#8217;t have to look everything up all the time. There is something to say about a mature environment with good tools and lots of libraries.</p>
<h3>JSP and JSTL</h3>
<p>Writing a JSP page with JSTL is a very nice way to code a dynamic page. The code looks good and is clear. </p>
<h3>SQL</h3>
<p>I have been using and studying SQL for almost 20 years. I think in SQL. After trying every ORM library out there and trying to teach a few I find myself wanting to do my database access in straight SQL. </p>
<h3>Ant</h3>
<p>This is a good tool. I know that James Duncan Davidson is not fully happy with his baby these days but when doing java there is really no option. It can do everything including mopping the kitchen floor. For the simple approach I&#8217;m trying for here this is great.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2006/09/28/can-java-be-saved-part-two/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Can Java Be Saved? Part One</title>
		<link>http://dovetailcomputing.com/blog/2006/09/23/can-java-be-saved-part-one/</link>
		<comments>http://dovetailcomputing.com/blog/2006/09/23/can-java-be-saved-part-one/#comments</comments>
		<pubDate>Sat, 23 Sep 2006 20:23:24 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/?p=10</guid>
		<description><![CDATA[Part One I&#8217;m on a mission to save java. Let me be clear here, though. I&#8217;m not trying to save it for large java shops. They seem to think the low productivity and high complexity of J2EE are a normal part of the IT experience. I&#8217;m also not doing this for the vendors who are [...]]]></description>
			<content:encoded><![CDATA[<h2>Part One</h2>
<p>I&#8217;m on a mission to save java. Let me be clear here, though. I&#8217;m not trying to save it for large java shops. They seem to think the low productivity and high complexity of J2EE are a normal part of the IT experience. I&#8217;m also not doing this for the vendors who are trying to make money from my art and my sweat. They make decisions based on an economic model that does not seem to include me. I don&#8217;t want to give them any money or any credibility anymore. No, I&#8217;m trying to save java for me, just me.</p>
<p>You see, there was a time when I really enjoyed java. It was the first modern language that was cross-platform and had garbage collection. It was not as dynamic and purely object-oriented as I hoped but people would pay me to use it and it was OK. I even wrote some big things that made people lots of money and created jobs. It was good.</p>
<p>But, now it is not. Can I make a java programming environment that I like again? Are there technologies and development environments that will add some joy back to the process of making java web applications? </p>
<p>Frankly, I don&#8217;t know yet. Stay tuned and we&#8217;ll see.</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2006/09/23/can-java-be-saved-part-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No Burn, No Sale</title>
		<link>http://dovetailcomputing.com/blog/2006/09/18/no-burn-no-sale/</link>
		<comments>http://dovetailcomputing.com/blog/2006/09/18/no-burn-no-sale/#comments</comments>
		<pubDate>Mon, 18 Sep 2006 00:58:07 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/?p=9</guid>
		<description><![CDATA[I am a really big fan of the iTunes Music Store. It improved my music buying experience. One example from early in iTunes life was one day my daughter came home from school and said she needed to buy &#8220;The Planets&#8221; by Holst and wanted to go to a store and get a CD. About [...]]]></description>
			<content:encoded><![CDATA[<p>I am a really big fan of the iTunes Music Store. It improved my music buying experience. One example from early in iTunes life was one day my daughter came home from school and said she needed to buy &#8220;The Planets&#8221; by Holst and wanted to go to a store and get a CD. About a half an hour later I presented her with a freshly burned CD of a nice recording of the classic piece. Daddy was a hero and little magic that day! </p>
<p>So it was with that in mind that I anticipated the day when we could buy movies the same way. Sigh, it was not to be. Apple, either by choice or coercion has really goofed up with the new iTunes Store. I can&#8217;t buy a movie and burn it to a DVD with my shiny new Mac Book Pro with its dual-layer DVD burner. Why is this so important that it is a complete deal-breaker for me? In a word, kids.</p>
<p>I have kids who want to watch movies from any TV in the house. They will watch them over and over again until they wear them out. We have a DVD player in the mini-van that is fabulous for trips. We can&#8217;t tie up my computer or any other computer in the house for this purpose. And we won&#8217;t even consider getting a movie from ANY online source if we can&#8217;t burn a copy to a real DVD.</p>
<p>No Burn, No Sale</p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2006/09/18/no-burn-no-sale/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using jEdit for Ruby on Rails Development</title>
		<link>http://dovetailcomputing.com/blog/2006/09/18/using-jedit-for-ruby-on-rails/</link>
		<comments>http://dovetailcomputing.com/blog/2006/09/18/using-jedit-for-ruby-on-rails/#comments</comments>
		<pubDate>Mon, 18 Sep 2006 00:41:24 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://dovetailcomputing.com/blog/?p=8</guid>
		<description><![CDATA[I really like TextMate on my Mac Book Pro. And, I really like using TextMate for Ruby on Rails, it&#8217;s just such a good fit. However, most of my students are using Linux or Windows. After getting asked many, many times for a recommendation for something like TextMate I have written up this article for [...]]]></description>
			<content:encoded><![CDATA[<p>I really like <a href="http://macromates.com">TextMate</a> on my Mac Book Pro. And, I really like using TextMate for Ruby on Rails, it&#8217;s just such a good fit. However, most of my students are using Linux or Windows. After getting asked many, many times for a recommendation for something like TextMate I have written up this article for using my old favorite editor <a href="http://jedit.org">jEdit</a></p>
<p><span id="more-8"></span></p>
<h2>jEdit Install</h2>
<p>First, you have to download and install jEdit for your operating system. I&#8217;m using version 4.3pre9 for these instructions. Then install the usual collection of plugins that make jEdit really usable. Here is a good list to get you going:</p>
<ul>
<li>BufferList</li>
<li>BufferTabs</li>
<li>Common Controls</li>
<li>Console</li>
<li>ErrorList</li>
<li>Info Viewer</li>
<li>jDiff</li>
<li>JTidy</li>
<li>MacroManager</li>
<li>TextTools</li>
<li>Whitespace</li>
<li>Xerces</li>
<li>XInsert</li>
<li>XML</li>
</ul>
<ul>
<li>XML Indenter<br />
<h2>Looking Sharp!</h2>
<p>The first step on the journey is to be able to quickly and nicely change the look of the editor. The plugin <strong>Editor Scheme Selector</strong> makes this happen. Install it from the Plugin Manager. Once installed select it from the Plugins menu. It will display a nice list of schemes, try them out! You can also download more from <a href="http://community.jedit.org/?q=filestore/browse/22">here</a> including one suspiciously named &#8220;TextMate-like Editor Scheme&#8221;. </p>
<h2>UPDATE: RecentBufferSwitcher</h2>
<p>On of the nice features of TextMate is the &#8220;Go To File&#8230;&#8221; command which is mapped to command-t. The feature is a very nice way to navigate around in the files in a project. There is a jEdit plugin named RecentBufferSwitcher that is almost as good. I map it to the same key combination and or to control-t on Lunix and it works well. The plugin can be loaded from the Plugin Manager.</p>
<h2>Ruby</h2>
<p>Now we will focus on editing Ruby in jEdit. With the Plugin Manager install the Ruby Plugin. This plugin&#8217;s &#8220;features include method completion for system types and Rails classes, integrated Ruby docs, syntax error highlighting, auto indent and insert end, structure browser, file structure popup, navigation shortcuts, and progressive selection.&#8221; (From the Ruby Plugin documentation.)</p>
<h2>SideKick</h2>
<p>The Ruby plugin also requires the plugin SideKick. If it doesn&#8217;t not install automatically as a dedendency then install it manually. You also should configure a keystroke shortcut.</p>
<h2>SuperAbbrevs</h2>
<p>Ah, the grand finale. The SuperAbbrevs plugin is what seems to be doing all the magic. This plugin is what performs all the snippet work that people really like about TextMate. As someone who uses both TM and jEdit I will say that TM is better overall and a must have. But, if I need to work on Windows or Linux (God forbid!) I would use this setup and be mostly happy. </p>
<p>I am using the beta version of SuperAbbrevs (v0.21) from <a href="http://community.jedit.org/?q=node/view/2761">here</a> . Once you install it run the menu item &#8220;Plugins->Plugin Options->SuperAbbrevs->Abbreviations&#8221; and press the button &#8220;Import normal abbrevs&#8221;. This is important as there won&#8217;t be any abbreviations until you do this. </p>
<h2>Abbrevs for Rails</h2>
<p>The final step is to download some abbreviations for Rails from <a href="http://synthesis.sbecker.net/articles/2006/03/20/jedit-snippets-for-ruby-on-rails">here</a>. (UPDATE: Here is the zip file <a id="p18" href="http://dovetailcomputing.com/blog/wp-content/uploads/2006/10/jedit_shortcuts_for_ruby_on_rails_v01.zip">jEdit Snippets for Rails</a>.) Unzip the downloaded .zip file and place the files &#8220;rhtml&#8221; and &#8220;ruby&#8221; into your <strong>.jedit/SuperAbbrevs/</strong> directory.</p>
<p>Once you have all this installed then read the documentation for all these plugins from the help window. </p>
]]></content:encoded>
			<wfw:commentRss>http://dovetailcomputing.com/blog/2006/09/18/using-jedit-for-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

