<?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>techrageo.us &#187; Free</title>
	<atom:link href="http://techrageo.us/taxonomy/categories/free/feed/" rel="self" type="application/rss+xml" />
	<link>http://techrageo.us</link>
	<description>insight on technology</description>
	<lastBuildDate>Sat, 22 Oct 2011 12:18:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Conditionally-Colored Flex Charts</title>
		<link>http://techrageo.us/2008/02/20/conditionally-colored-flex-charts/</link>
		<comments>http://techrageo.us/2008/02/20/conditionally-colored-flex-charts/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 00:55:06 +0000</pubDate>
		<dc:creator>grant</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[chart coloring]]></category>
		<category><![CDATA[conditional coloring]]></category>
		<category><![CDATA[flash graph]]></category>
		<category><![CDATA[Flex Charting]]></category>
		<category><![CDATA[Graphing]]></category>
		<category><![CDATA[Graphs]]></category>

		<guid isPermaLink="false">http://techrageo.us/2008/02/20/conditionally-colored-flex-charts/</guid>
		<description><![CDATA[The charting in Flex is a pretty good tool, but there are a few small features that it would be really nice if it had. One of these would be the ability to have a chart series that changed colors depending on it&#8217;s value. Conditionally colored charts are something that a lot of us (and [...]]]></description>
			<content:encoded><![CDATA[<p>The charting in Flex is a pretty good tool, but there are a few small features that it would be really nice if it had.  One of these would be the ability to have a chart series that changed colors depending on it&#8217;s value.  Conditionally colored charts are something that a lot of us (and our customers) have grown accustomed to and we shouldn&#8217;t have to give it up with Flex.  If you are like me you have probably been &#8220;googling&#8221; every variation of &#8220;flex colored charts&#8221; that you can think of.  I couldn&#8217;t find an answer anywhere, but hopefully your search will end right here.</p>
<p>I wanted the ability to color charts based on their value, giving them red/yellow/green colors based on if they were lower/equal to/higher than a given value.  The ability to use gradients instead of solid colors was also a requirement.  I basically wanted to do something like this:</p>
<div style="width: 490px">
<object width="490" height="490" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,0,0"><param name="src" value="http://www.techrageo.us/code/ColorColumnChart.swf"><param name="quality" value="high"><embed src="http://www.techrageo.us/code/ColorColumnChart.swf" width="490" height="490" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object>
</div>
<p>The columns below the line are red, on the line are yellow, and above the line are green.  The need might arise to do more colors than this, so the code should be flexible</p>
<p>But almost as important as the final look of the graph itself was the ability to re-use the code without having to rewrite parts of it for each implementation.  And I wanted to be able to use it in a flex application using only mxml, but still be able to use it in ActionScript if needed.</p>
<p>In the end I wanted to be able to define the threshold or goal as part of the data that the graph used and the code would color the columns based on that data (if it was greater than/less than/equal to). So the code to use the &#8220;coloring object&#8221; would look something like this (where we define High/Mid/Low colors):</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:series<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:ColumnSeries</span> <span style="color: #000066;">xField</span>=<span style="color: #ff0000;">&quot;Month&quot;</span> <span style="color: #000066;">yField</span>=<span style="color: #ff0000;">&quot;Income&quot;</span> <span style="color: #000066;">displayName</span>=<span style="color: #ff0000;">&quot;Income2&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:itemRenderer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Component<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;utils:ColoredSeriesItemRenderer</span> <span style="color: #000066;">valueField</span>=<span style="color: #ff0000;">&quot;Income&quot;</span> <span style="color: #000066;">thresholdField</span>=<span style="color: #ff0000;">&quot;Goal&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;utils:thresholdGradients<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Object<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:High<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;mx:Object</span> <span style="color: #000066;">gradient</span>=<span style="color: #ff0000;">&quot;[0x55dd55,0x005500]&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/mx:High<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Mid<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;mx:Object</span> <span style="color: #000066;">gradient</span>=<span style="color: #ff0000;">&quot;[0xdddd55,0x555500]&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/mx:Mid<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Low<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;mx:Object</span> <span style="color: #000066;">gradient</span>=<span style="color: #ff0000;">&quot;[0xdd5555,0x550000]&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/mx:Low<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Object<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/utils:thresholdGradients<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/utils:ColoredSeriesItemRenderer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Component<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:itemRenderer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:ColumnSeries<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:LineSeries</span> <span style="color: #000066;">xField</span>=<span style="color: #ff0000;">&quot;Month&quot;</span> <span style="color: #000066;">yField</span>=<span style="color: #ff0000;">&quot;Goal&quot;</span> <span style="color: #000066;">displayName</span>=<span style="color: #ff0000;">&quot;Goal&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:series<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>But to be flexible I also wanted to be able to define the goal in the code, where I could give it as many ranges with associated colors as I wanted.  This code would look something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:series<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:ColumnSeries</span>  <span style="color: #000066;">xField</span>=<span style="color: #ff0000;">&quot;Month&quot;</span> <span style="color: #000066;">yField</span>=<span style="color: #ff0000;">&quot;Income&quot;</span> <span style="color: #000066;">displayName</span>=<span style="color: #ff0000;">&quot;Income1&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:itemRenderer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Component<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;utils:ColoredSeriesItemRenderer</span> <span style="color: #000066;">valueField</span>=<span style="color: #ff0000;">&quot;Income&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;utils:ranges<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Array<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Object</span> <span style="color: #000066;">lowerLimit</span>=<span style="color: #ff0000;">&quot;280&quot;</span> <span style="color: #000066;">color</span>=<span style="color: #ff0000;">&quot;0xFF0000&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Object</span> <span style="color: #000066;">lowerLimit</span>=<span style="color: #ff0000;">&quot;240&quot;</span> <span style="color: #000066;">upperLimit</span>=<span style="color: #ff0000;">&quot;280&quot;</span> <span style="color: #000066;">gradient</span>=<span style="color: #ff0000;">&quot;[0xFFFF00,0x55FF55]&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Object</span> <span style="color: #000066;">lowerLimit</span>=<span style="color: #ff0000;">&quot;220&quot;</span> <span style="color: #000066;">upperLimit</span>=<span style="color: #ff0000;">&quot;240&quot;</span> <span style="color: #000066;">gradient</span>=<span style="color: #ff0000;">&quot;[0x5555FF,0x000099]&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Object</span> <span style="color: #000066;">lowerLimit</span>=<span style="color: #ff0000;">&quot;200&quot;</span> <span style="color: #000066;">upperLimit</span>=<span style="color: #ff0000;">&quot;220&quot;</span> <span style="color: #000066;">gradient</span>=<span style="color: #ff0000;">&quot;[0x0000FF,0x00FF00,0xFF0000]&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
              <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Object</span> <span style="color: #000066;">upperLimit</span>=<span style="color: #ff0000;">&quot;200&quot;</span> <span style="color: #000066;">color</span>=<span style="color: #ff0000;">&quot;0xFFFF00&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Array<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
          <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/utils:ranges<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/utils:ColoredSeriesItemRenderer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Component<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:itemRenderer<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:ColumnSeries<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:series<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<p>Creating a custom item renderer allowed me (and now you too) to change the colors of the columns as they were being created.  This works so much better than other solutions I saw (laying a filter on top of the columns) because it automatically changes when the column changes.</p>
<p>I created a new object out of it so you can just drop it in the directory where you keep your other library files (and change the package name if needed) and start using it.  I have included it along with some sample files in a handy zip file for you&#8230; <img src='http://techrageo.us/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>I hope this saves you all the time it could have saved me (if I would have found something similar).</p>
<p>Download the <a href="http://techrageo.us/code/ColumnColorChartSource.zip">ColoredSeriesItemRenderer.as object</a> with two full examples that you can compile and try in a handy zip file.</p>
<p><em>If you are not familiar with including custom made objects into an mxml file then you&#8217;ll need to know about packages.  In the sample code I used a package name of &#8220;utils&#8221;, which means that the actionscript object is defined with an &#8220;utils&#8221; package declaration and is in an &#8220;utils&#8221; subdirectory.  Also, the example files will require you to define the xml namespace in the Application tag.  This is done by adding something like this: <strong>xmlns:utils=&#8221;utils.*&#8221;</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2008/02/20/conditionally-colored-flex-charts/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Communicating Charts with Flex</title>
		<link>http://techrageo.us/2007/06/19/communicating-charts-with-flex/</link>
		<comments>http://techrageo.us/2007/06/19/communicating-charts-with-flex/#comments</comments>
		<pubDate>Tue, 19 Jun 2007 08:59:46 +0000</pubDate>
		<dc:creator>grant</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web design]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://techrageo.us/2007/06/19/communicating-charts-with-flex/</guid>
		<description><![CDATA[Getting started Creating graphs with Adobe&#8217;s Flex 2 is a pretty simple task, just throw together some short XML and you&#8217;re done. But like most &#8220;easy&#8221; technologies things get a little more difficult when you want to do more advanced things like making sections of the graphs stand out or keeping multiple graphs in sync [...]]]></description>
			<content:encoded><![CDATA[<h3>Getting started</h3>
<p>Creating graphs with <a href="http://www.adobe.com/products/flex/">Adobe&#8217;s Flex 2</a> is a pretty simple task, just throw together some short XML and you&#8217;re done.  But like most &#8220;easy&#8221; technologies things get a little more difficult when you want to do more advanced things like making sections of the graphs stand out or keeping multiple graphs in sync with one another.  In this tutorial I will take you through how to give your graphs a little more &#8220;flash&#8221; and how to make things happen in one graph when you click on another graph.</p>
<p>If you haven&#8217;t already you can <a href="http://www.adobe.com/products/flex/">download the free Flex 2 SDK from Adobe</a>. And you can <a href="http://www.adobe.com/products/flex/charting/">download a free trial of the Flex 2 charting library</a>.</p>
<p>In your favorite text editor (<a href="http://www.eclipse.org/">Eclipse</a> anyone?) start a new file and start with some basic code:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Application</span> <span style="color: #000066;">xmlns:mx</span>=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;*&quot;</span></span>
<span style="color: #009900;">  <span style="color: #000066;">xmlns:local</span>=<span style="color: #ff0000;">&quot;*&quot;</span> <span style="color: #000066;">xmlns:view</span>=<span style="color: #ff0000;">&quot;view.*&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #339933;">&lt;![CDATA[</span>
<span style="color: #339933;">    import mx.collections.ArrayCollection;</span>
&nbsp;
<span style="color: #339933;">    [Bindable]</span>
<span style="color: #339933;">    private var profitPeriods:ArrayCollection = new ArrayCollection( [</span>
<span style="color: #339933;">    { period: &quot;Qtr1 2006&quot;, profit: 32 },</span>
<span style="color: #339933;">    { period: &quot;Qtr2 2006&quot;, profit: 47 },</span>
<span style="color: #339933;">    { period: &quot;Qtr3 2006&quot;, profit: 62 },</span>
<span style="color: #339933;">    { period: &quot;Qtr4 2006&quot;, profit: 35 },</span>
<span style="color: #339933;">    { period: &quot;Qtr1 2007&quot;, profit: 25 },</span>
<span style="color: #339933;">    { period: &quot;Qtr2 2007&quot;, profit: 55 } ]);</span>
<span style="color: #339933;">  ]]&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Script<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:Panel</span> <span style="color: #000066;">x</span>=<span style="color: #ff0000;">&quot;10&quot;</span> <span style="color: #000066;">y</span>=<span style="color: #ff0000;">&quot;10&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">&quot;Profit By Period&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
&nbsp;
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:PieChart</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;profitPie&quot;</span> <span style="color: #000066;">dataProvider</span>=<span style="color: #ff0000;">&quot;{profitPeriods}&quot;</span> <span style="color: #000066;">showDataTips</span>=<span style="color: #ff0000;">&quot;true&quot;</span> <span style="color: #000066;">width</span>=<span style="color: #ff0000;">&quot;100%&quot;</span> <span style="color: #000066;">height</span>=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:series<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:PieSeries</span> <span style="color: #000066;">field</span>=<span style="color: #ff0000;">&quot;profit&quot;</span> <span style="color: #000066;">nameField</span>=<span style="color: #ff0000;">&quot;period&quot;</span> <span style="color: #000066;">labelPosition</span>=<span style="color: #ff0000;">&quot;callout&quot;</span> <span style="color: #000066;">showDataEffect</span>=<span style="color: #ff0000;">&quot;{interpolate}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
      <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:series<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:PieChart<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
  <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Panel<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/mx:Application<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></div></div>

<h3>Getting more advanced</h3>
<p>This code basically creates a sample dataset and a pie chart to display it.  Nothing fancy and if we were using an XML feed we wouldn&#8217;t have any need for ActionScript at all, since we are only using it to create the data in this example.</p>
<p>Now let&#8217;s say that your customer (or boss) wants to have the data shown in multiple ways.  For our example let&#8217;s say that he wants to see a pie graph, a bar graph and a data grid.  So he can see the data in whatever way he wants to.  No problem there, throwing another chart and grid on the page is just a few more lines of xml, but what if they are to interact?  Say your boss wants to be able to click on a piece of the pie chart and have the same record highlighted in the pie chart, the column chart and the data grid.  Now we&#8217;re going to have to whip out the ActionScript.</p>
<p>We are going to need three methods, one to highlight the pie graph, one for the column chart and a final one for the data grid.  Then we can call all three of these methods whenever a chart or grid is clicked on.  We are using three methods instead of just one giant method in case we ever want to use them again, in a different circumstance.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">DisplayObject</span>;  <span style="color: #808080; font-style: italic;">//The items in the column chart are DisplayObjects</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> prevSelectedColumn:DisplayObject;
<span style="color: #808080; font-style: italic;">/*
We want to be able to &quot;unhighlight&quot; whatever column we highlighted last time, so
we'll create a variable to keep it simple. If you are using a graph with
multiple datasets then you'll obviously want to loop through them and reset them
that way instead of using this method.
*/</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*
* This function will highlight a column/bar in a column/bar chart
* @param barName  The name/id of the bar/column chart
* @param barIndex The position of the column you want to highlight
*/</span>
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> barHighlight<span style="color: #66cc66;">&#40;</span> barName:<span style="color: #0066CC;">String</span>, barIndex:<span style="color: #0066CC;">int</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>prevSelectedColumn<span style="color: #66cc66;">&#41;</span>  <span style="color: #808080; font-style: italic;">//If we selected something before, unselect it:</span>
  <span style="color: #66cc66;">&#123;</span>
    prevSelectedColumn.<span style="color: #006600;">alpha</span> = .8;
    prevSelectedColumn.<span style="color: #006600;">filters</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;  <span style="color: #808080; font-style: italic;">//remove the filters</span>
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">//This gets the individual column that we are looking for</span>
  prevSelectedColumn = <span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#91;</span>barName<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">series</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">getChildAt</span><span style="color: #66cc66;">&#40;</span> barIndex <span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>prevSelectedColumn<span style="color: #66cc66;">&#41;</span>  <span style="color: #808080; font-style: italic;">//highlight the new column:</span>
  <span style="color: #66cc66;">&#123;</span>
    prevSelectedColumn.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">1</span>;
    prevSelectedColumn.<span style="color: #006600;">filters</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #000000; font-weight: bold;">new</span> GlowFilter<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #000000; font-weight: bold;">new</span> DropShadowFilter<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*
* This function will highlight a row in a data grid
* @param dataGridName The name of the data grid that contains the row to highlight
* @param rowIndex   The position of the row in the grid to highlight
*/</span>
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> rowHighlight<span style="color: #66cc66;">&#40;</span> dataGridName:<span style="color: #0066CC;">String</span>, rowIndex:<span style="color: #0066CC;">int</span> <span style="color: #66cc66;">&#41;</span>: <span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#91;</span>dataGridName<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">selectedIndex</span> = rowIndex;  <span style="color: #808080; font-style: italic;">//the easy one...</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/*
* This function &quot;explodes&quot; a piece of pie from a pie chart
* @param pieName  The name of the pie chart that is to be modified
* @param pieIndex The index of the pie piece that is to be modified
*/</span>
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> pieHighlight<span style="color: #66cc66;">&#40;</span> pieName:<span style="color: #0066CC;">String</span>, pieIndex:<span style="color: #0066CC;">int</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">var</span> explodeData:<span style="color: #0066CC;">Array</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;  <span style="color: #808080; font-style: italic;">//create an empty array</span>
  explodeData<span style="color: #66cc66;">&#91;</span> pieIndex <span style="color: #66cc66;">&#93;</span> = <span style="color: #cc66cc;">0.15</span>; <span style="color: #808080; font-style: italic;">//Set the index of our pie piece to &gt; 0</span>
  <span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#91;</span>pieName<span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">series</span><span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span>.<span style="color: #006600;">perWedgeExplodeRadius</span> = explodeData;
  <span style="color: #808080; font-style: italic;">/*
  The pie's wedges can be &quot;exploded&quot; outward to highlight them. The amount is
  controlled by an array, so we just create a empty array (which would set
  everything to no padding) and add padding for the index that is to be
  highlighted. This has the added bonus of un-highlighting the piece that was last
  highlighted (if any). Sweet!
  */</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<h3>Adding events</h3>
<p>Of course, this is using inline ActionScript.  If you want to separate it into another file you&#8217;ll have to use &#8220;Application.application&#8221; instead of &#8220;this&#8221; (see the downloadable GraphHighlighting.as file below).  That should give us a snazzy little effect every time we click on an item in any of the charts or in the grid.   But they won&#8217;t be doing any effects unless we add event handlers to our objects.  Let&#8217;s do that now.</p>
<p>So change the xml for your pie chart and add this to the PieChart tag:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">itemClick=<span style="color: #ff0000;">&quot;pieChartClick(event, 'profitGrid', 'profitBar');&quot;</span></pre></div></div>

<p>And then you can add the ActionScript to handle that event (which, of course, will call our handy three functions):</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/*
* This is run when the pie chart is clicked on
* @param event    The click event
* @param dataGridName The string name of the data grid that should be highlighted
* @param barName  The string name of the column chart that should be highlighted
*/</span>
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> pieChartClick<span style="color: #66cc66;">&#40;</span> event:ChartItemEvent, dataGridName:<span style="color: #0066CC;">String</span>, barName:<span style="color: #0066CC;">String</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
  pieHighlight<span style="color: #66cc66;">&#40;</span> event.<span style="color: #006600;">currentTarget</span>.<span style="color: #006600;">id</span> , event.<span style="color: #006600;">hitData</span>.<span style="color: #006600;">chartItem</span>.<span style="color: #0066CC;">index</span> <span style="color: #66cc66;">&#41;</span>;
  rowHighlight<span style="color: #66cc66;">&#40;</span> dataGridName, event.<span style="color: #006600;">hitData</span>.<span style="color: #006600;">chartItem</span>.<span style="color: #0066CC;">index</span><span style="color: #66cc66;">&#41;</span>;
  barHighlight<span style="color: #66cc66;">&#40;</span> barName, event.<span style="color: #006600;">hitData</span>.<span style="color: #006600;">chartItem</span>.<span style="color: #0066CC;">index</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Then do this for the other chart and the datagrid and you&#8217;ll be set.</p>
<h3>Conclusion and downloads</h3>
<p>So, if you did your calculations correctly, remembered to carry the one and crossed your fingers you probably ended up with something like this:</p>
<div style="width: 490px">
<object width="480" height="480" codebase="http://active.macromedia.com/flash7/cabs/ swflash.cab#version=9,0,0,0"><param name="src" value="http://www.techrageo.us/code/communicateflex/Chart.swf"><param name="quality" value="high"><embed src="http://www.techrageo.us/code/communicateflex/Chart.swf" width="480" height="480" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object>
</div>
<p>Actually, it probably won&#8217;t look like that, but the sample code download does (see below).</p>
<p>It is more likely that you&#8217;ll probably be making the charts communicate using different data (click on one part of a chart and get detailed information in another chart), but this should at least get you started in the right direction.</p>
<p>Download the <a href="http://techrageo.us/code/communicateflex/Chart.mxml">complete inline ActionScript example</a>: This file is the complete example and you should be able to save it and compile it with the mxml compiler that came with the Flex 2 SDK (assuming you have the charting library, or the charting trial library).</p>
<p>Download the <a href="http://techrageo.us/code/communicateflex/GraphHighlighting.as">&#8220;external&#8221; ActionScript methods</a>: This file is what you can use if you want to keep these functions in your library for future use.  I put this in the FlexAS.GraphHighlighting package, so if you don&#8217;t change the package name you should put this into a &#8220;FlexAS/GraphHighlighting/&#8221; subfolder off of your main flex directory.</p>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2007/06/19/communicating-charts-with-flex/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>Gmail Super Clean Greasemonkey Script</title>
		<link>http://techrageo.us/2007/04/23/gmail-super-clean-greasemonkey-script/</link>
		<comments>http://techrageo.us/2007/04/23/gmail-super-clean-greasemonkey-script/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 11:13:22 +0000</pubDate>
		<dc:creator>bill</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Web design]]></category>

		<guid isPermaLink="false">http://techrageo.us/2007/04/23/gmail-super-clean-greasemonkey-script/</guid>
		<description><![CDATA[Customize Gmail Gmail Super Clean is a Greasemonkey script that renders a cleaner Gmail experience. Aside from the snazzy white interface, it removes the Gmail bookmark links, AdSense ads, tweaks the fonts, and slaps a groovy icon up top. Gmail Super Clean Options What&#8217;s more, under Tools-&#62;Greasemonkey-&#62;UserScript Commands, there are options to enable and disable [...]]]></description>
			<content:encoded><![CDATA[<h3>Customize Gmail</h3>
<p><a href="http://userscripts.org/scripts/show/7646">Gmail Super Clean</a> is a <a href="http://www.greasespot.net/">Greasemonkey</a> script that renders a cleaner Gmail experience. Aside from the snazzy white interface, it removes the Gmail bookmark links, AdSense ads, tweaks the fonts, and slaps a groovy icon up top.</p>
<h3>Gmail Super Clean Options</h3>
<p>What&#8217;s more, under Tools-&gt;Greasemonkey-&gt;UserScript Commands, there are options to enable and disable the custom logo, the ads, the Google account bookmarks, change the font and font size. It even gives you the option to use a custom logo image.</p>
<p><img src="/images/gmailsupercleansm.jpg"/></p>
<p>Of course, Firefox only, and you must have Greasemonkey installed.</p>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2007/04/23/gmail-super-clean-greasemonkey-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Choose a Text Editor for Windows</title>
		<link>http://techrageo.us/2007/01/06/text-editors-for-windows/</link>
		<comments>http://techrageo.us/2007/01/06/text-editors-for-windows/#comments</comments>
		<pubDate>Sat, 06 Jan 2007 16:14:38 +0000</pubDate>
		<dc:creator>bill</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://techrageo.us/2007/01/06/text-editors-for-windows/</guid>
		<description><![CDATA[Windows ships with Notepad, a bare bones text editor that manages to be both handy and next to useless. So if you do any regular text editing you need something more, an editor that can reformat text, record macros, do syntax highlighting, that supports regular expressions in its search/replace dialog, or knows about ftp. Perhaps [...]]]></description>
			<content:encoded><![CDATA[<p><img class="imgright" src="/images/hellonotepadsm.jpg"/>Windows ships with Notepad, a bare bones text editor that manages to be both handy and next to useless. So if you do any regular text editing you need something more, an editor that can reformat text, record macros, do syntax highlighting, that supports regular expressions in its search/replace dialog, or knows about ftp. Perhaps you need an editor that does code folding or that supports the concept of a multi-file project. Maybe you&#8217;ve watched the loopy <a href="http://www.rubyonrails.org/screencasts">Ruby On Rails screencasts</a> and are intrigued by TextMate.</p>
<p>In the past and on various systems I have used a slew of editors, including emacs, vi, Brief, BBEdit, Crimson, and probably dozens of others. Years ago, I settled on UltraEdit for Windows and been using it since, upgrading now and then, but occasionally I look for alternatives. For instance, I am currently at UE Version 9.10 and am looking to upgrade to 12.20. It&#8217;s only twenty-five bucks to upgrade but is it still the best thing going? Are there more nimble, capable editors out there now? Of course, I&#8217;ve seen TextMate, occasionally used TextPad and Crimson, but know there are others.</p>
<p>I use <a href="http://www.amazon.com/exec/obidos/tg/detail/-/B000BTA4LU/eis657-20">Visual Studio 2005</a>, and it has a nice code editor and is just fine for a full-on MS development undertaking, but waiting to load that IDE to edit a file is like waiting in line and going through security to take a plane from Dallas to Fort Worth. This is probably true of whatever IDE you use.</p>
<p>Update (Jan 8, 2006): This article touches on lightweight editors such as TED Notepad, Notepad2, TheGun, TopGun, QuickEdit, and EDXOR. It then does a drive-by on a couple Windows incarnations of TextMate before digging into beefier programmers&#8217; editors, including PSPad, Notepad++, EditPlus, UltraEdit, TextPad, Crimson, jEdit, and Vim/gVim/WinVi. A few also-rans are mentioned at the end for good measure.</p>
<h3>Notepad replacements</h3>
<p>If you just want a little more than Notepad, but don&#8217;t need fancy features, there are some replacements that you might like.</p>
<p><a href="http://jsimlo.sk/notepad/">TED Notepad</a> is a decent Notepad replacement. It feels like the normal Notepad application except that it has lots more features in its menus. It&#8217;s free and worth checking out.</p>
<p><a href="http://www.flos-freeware.ch/notepad2.html">Notepad2</a> is a worthy Notepad replacement with some neat features, such as transparency, search and replace that supports regular expressions, syntax highlighting, bookmarks, column selections, bracket matching, and more.</p>
<p><img src="/images/texteditors/hellonotepad2sm.jpg"/></p>
<p>From <a href="http://www.movsd.com">hutch</a>, <a href="http://www.movsd.com/thegun.htm">TheGun</a> is a very lightweight text editor (6144 bytes) that is perfect if you want small; it is 1/10th the size of Notepad.exe that ships with Windows XP. A little larger (18732 bytes), <a href="http://www.movsd.com/topgun.htm">Top Gun</a> sports a few more features. Both are written in Assembler. <a href="http://www.movsd.com/qed.htm">QuickEdit</a> is a programmer&#8217;s editor that might appeal to the more hardcore techies out there (and still small at 38,652 bytes). These are all &#8220;registry safe&#8221; programs.</p>
<p>Another tiny text editor is <a href="http://members.ozemail.com.au/~nulifetv/freezip/freeware/edxor.htm">EDXOR</a>, which is only 30720 bytes but contains transformation functions such as Reverse, Rot13, Qcypher, Base64, and others.</p>
<p><img src="/images/texteditors/helloedxorsm.jpg"/></p>
<p>For lightweight editing, all of the above are fine; your specific needs and preferences will determine which is best for you.</p>
<h3>Programmers Editors</h3>
<h4>TextMate</h4>
<p>Yeah yeah, it&#8217;s great, it&#8217;s magical, it&#8217;s the greatest innovation since water. Unfortunately, if you want <a href="http://macromates.com/">TextMate</a> on Windows you will have to wait. There is no Windows variant and Allan Odgaard appears to have zero interest in creating one. On the bright side, however, some <a href="http://e-texteditor.com/blog/2006/textmate_on_windows">others are working on the TextMate-inspired e for Windows</a>. Though it feels not-quite-there, it <em>is</em> promising; I find the milestone history and visual undo features particularly interesting (see the right side of the screenshot below). Context menus do not work, Alt keys don&#8217;t open the menus, and the cool directory-file sidecar that TextMate has seems to be missing. All of this is at first glance, so it all may be hidden away in some clever Macintosh idiom, but I didn&#8217;t find it.</p>
<p><img src="/images/texteditors/helloesm.jpg"/></p>
<p>There&#8217;s also <a href="http://intype.info">InType</a>, <s>though nothing is available to download and try. You can get on their mailing list for info</s>. From their website &#8220;<em>Intype is a powerful and intuitive code editor for Windows with lightning fast response. It is easily extensible and customizable, thanks to support for scripting and native plug-ins. It makes development in any programming or scripting language quick and easy.</em>&#8221;</p>
<p>Update (Jan 8, 06): An alpha release of Intype is now available. So far it supports bundles and next to nothing else, except editing files. It indeed appears to be headed in the direction of TextMate, but lags a cut or two behind e. For example, there is no visual undo or history.</p>
<p><img src="/images/texteditors/hellointypesm.jpg"/></p>
<p><strong>Less Snooty Options</strong></p>
<p>So, you aren&#8217;t a TextMate groupie but you still want a good text editor. Relax, there are many from which to choose, even if you don&#8217;t want to spend money for a great editor.</p>
<p>Below is a quick overview of several Windows text editors and a screenshot of each. In each text has been selected and the right mouse button context menu is shown. Also, where project, code or clipboard explorers, or output windows are available, they are enabled.</p>
<h4>PSPad</h4>
<p>Free and packed with features, <a href="http://pspad.com">PSPad</a> is an intriguing option. Currently at version 4.5.2, Its features include FTP support, projects, regular expressions, bracket and syntax highlighting, spell checking, macros, text difference, templates, HTML preview, hex editing, reformatting, column mode, code explorer, compiler and external tool integration, and more. It comes with the free version of TopStyle Lite for CSS editing.</p>
<p>The only apparent downside is a lack of code folding support. Since PSPad has a code explorer, it&#8217;s not that bad, but code folding would be great. If I&#8217;m overlooking it, please tell me how to enable folding.</p>
<p>Update (Jan 8, 2006): Further use of PSPad reveals some cursor oddities that give it an unfinished feel. Also the PSPad forums seem to indicate that the developer is having difficulty finding a solution to code folding, a much-requested feature by the PSPad user community. If you&#8217;re interested in these sorts of things, <a href="http://forum.pspad.com/read.php?2,12038">PSPad is written in Object Pascal</a>.</p>
<p><img src="/images/texteditors/hellopspadsm.jpg"/></p>
<h4>Notepad++</h4>
<p><a href="http://notepad-plus.sourceforge.net">Notepad++</a> supports macros, code folding, syntax highlighting, bracket highlighting, function completion, regular expression searching, bookmarks, plugins, launching in browsers, and more. It is currently at version 3.9 and was last updated in April of 2006.</p>
<p>Though it has a serene look to it, Notepad++ feels a little weird to me. It&#8217;s tough to put my finger on why, though, so it might work great for you.</p>
<p><img src="/images/texteditors/hellonotepadppsm.jpg"/></p>
<h4>EditPlus</h4>
<p>Priced at $30, <a href="http://editplus.com">EditPlus</a> is at version 2.30 (last update on 11/14/2006) and supports the usual cast of features, including macros, projects, FTP, code folding, syntax and bracket highlighting, spell checking, and so on.</p>
<p><img src="/images/texteditors/helloeditplussm.jpg"/></p>
<h4>UltraEdit</h4>
<p><a href="http://ultraedit.com">UltraEdit</a> has been my editor of choice for years. Regularly updated and now at version 12.20, IDM products include UltraCompare, UltraEdit Studio, and UltraSentry. UltraEdit is about $50 (â‚¬ 38). UE supports syntax highlighting, code folding, FTP, sorting lines, emailing files, hex editing, macros, column mode, reformatting, HTML validation, projects, and on and on.</p>
<p>Besides the edit window, in the screenshot below the file explorer, output window, function explorer, and clipboard explorer are open.</p>
<p><img src="/images/texteditors/helloultraeditsm.jpg"/></p>
<p>UltraCompare, shown below, is a file compare utility that supports merging. A bundle with UltraEdit and UltraCompare is about $65 (â‚¬ 49).</p>
<p><img src="/images/texteditors/helloultracompsm.jpg"/></p>
<h4>TextPad</h4>
<p><a href="http://textpad.com">TextPad</a>, currently at version 4.7.3, is a capable text editor with a decent feature set (such as macros) but it suffers from odd key mappings and having nothing special to recommend it. In addition, it is $30 (Â£16.50) and has not been updated since June 19, 2004. Some people like it, but I see no reason to recommend it. Sorry.</p>
<p><img src="/images/texteditors/hellotextpadsm.jpg"/></p>
<h4>Crimson</h4>
<p><a href="http://crimsoneditor.com">Crimson Editor</a> is another fine but outdated editor, not updated since fall of 2004. However, it is free, so if it does all you need, it isn&#8217;t bad. The last version was 3.70 and supports macros, templates, FTP, regular expression searching, and projects.</p>
<p><img src="/images/texteditors/hellocrimsonsm.jpg"/></p>
<h4>jEdit</h4>
<p>Update (Jan 8, 2006): Loved by some and sporting some features, <a href="http://www.jedit.org/">jEdit</a> is slow and marred by its icky Java goodness. If you are fashionably rebellious or tied to Java, this might be a good choice. Otherwise, look elsewhere.</p>
<p><img src="/images/texteditors/hellojeditsm.jpg"/></p>
<h4>Vim/gVim</h4>
<p>Update (Jan 8, 2006): vi lovers &#8212; you know who you are &#8212; will probably already know about this, but if not or if you like puzzles, give <a href="http://www.vim.org/">Vim or gVim</a> a shot. Vim is a superset of the vi editor and gVim wraps a GUI around this obtuse textual masterpiece. (If Vim or gVim doesn&#8217;t do it for you but you still need your vi, give <a href="http://www.winvi.de/">WinVi</a> a shot.)</p>
<p><img src="/images/texteditors/hellogvimsm.jpg"/></p>
<h3>Still Others</h3>
<p>Still other text editors exist for Windows.</p>
<p><a href="http://www.zeusedit.com/">Zeus</a> is an editor and IDE that runs $45. It supports class browsing, CVS, VSS, and more.</p>
<p><a href="http://www.scintilla.org/SciTE.html">SciTE</a> is part of Scintilla and supports all the latest features.</p>
<p><a href="http://www.editpadpro.com/">EditPad Pro</a> is yet another text editor and costs $49. A lite version is free.</p>
<p><a href="http://www.emeditor.com/">EmEditor</a> is another text editor with decent features available in Professional, Standard, and Free versions. The free version is pretty stripped-down.</p>
<h3>Recommendations</h3>
<p>Bottom line, I still like UltraEdit and may still upgrade, but PSPad has to be the best bang for the buck. It has earned a place on my system next to UltraEdit, and has to be the editor of choice in situations where $50 is too much to spend. In fact, if I did not already have an UltraEdit license (taking the upgrade price down to $25), I would just stick with PSPad.</p>
<p>Update (Jan 8, 2006): PSPad has me a bit worried (see above). A little flakiness with it is making that UltraEdit upgrade look more attractive.</p>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2007/01/06/text-editors-for-windows/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Mass Comment Reply</title>
		<link>http://techrageo.us/2006/06/22/mass-comment-reply/</link>
		<comments>http://techrageo.us/2006/06/22/mass-comment-reply/#comments</comments>
		<pubDate>Thu, 22 Jun 2006 09:29:20 +0000</pubDate>
		<dc:creator>bill</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Site News]]></category>
		<category><![CDATA[Web design]]></category>

		<guid isPermaLink="false">http://techrageo.us/2006/06/22/mass-comment-reply/</guid>
		<description><![CDATA[We get so much feedback in our comments (I mean sometimes hundreds of comments per day) that I&#8217;m just going to reply here. Sorry but I have to clip and edit some of the comments. peto4o said Best site I see. Thanks. drugs celebrate &#124; nokia 6230 camera phone &#8230; No, thank you peto40. I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>We get so much feedback in our comments (I mean sometimes hundreds of comments per day) that I&#8217;m just going to reply here. Sorry but I have to clip and edit some of the comments.</p>
<p><strong>peto4o </strong>said <em>Best site I see. Thanks. drugs celebrate | nokia 6230 camera phone  &#8230;</em></p>
<p>No, thank you peto40. I&#8217;m not sure about the rest of your comment, and boy do you have a lot of links!</p>
<p><strong>paspart </strong>said <em>Your home page its great. clonespam | renterofmine accepts cod | teen | nokia 6230 covers &#8230;</em></p>
<p>Thanks. I know we can do better, but your comment its encouragement.</p>
<p><strong>health </strong>said <em>Hi! Your site appeared very useful to me. Excellent work, thanks.</em></p>
<p>health, we are happy that we appeared useful to you. Appearance is half the battle. We&#8217;ll try to appear even better in the future!</p>
<p><strong>nikeli </strong>said <em>Your site is very cognitive. I think you will have good future.:) ibex online cheap | nokia purchase online | coding workshop ringtone converter | without | Long Term Effects | hydra boco clones | 6230 nokia | NEC VT770 without brescriptio | rumsfeld | motorola e398 &#8230;</em></p>
<p>nikeli, most people overlook the cognitive abilities of our site so it came as a pleasant surpise that you picked up on that. And thanks, I appreciate your prognostication! (I&#8217;m not sure about all those links in your comment. I didn&#8217;t have time to visit them but I&#8217;m sure they&#8217;re cognitive too.)</p>
<p><strong>cirky </strong>said <em>Great website! Bookmarked! I am impressed at your work! es | sony ericsson k300i | weight loss side effects | bird control is myban anti-happy | cheap thunder problem | Long Term Effects of Bookmarks | buy Sony suziphone| Nokia Mobile Phone | 3300 cellular nokia phone | coding ringtone converter | order my halitosis &#8230;</em></p>
<p>cirky, thanks. We try, but it&#8217;s people like you who make it worth all the effort! I&#8217;m impressed that you use Bookmarks already; it&#8217;s an upcoming technology and doesn&#8217;t have all the bugs worked out yet. Do you mind sharing your experience with Bookmarks?</p>
<p><strong>arvilkg </strong>said <em>Best site I see. Thanks. generic annex | motorola v265 phone | balirum on line | on line w/o scription | snorfling ibex | buy mine without problems | nokia unlock code | yellow | evita | troma | mature woman | nokia 3120 headset | nokia ringtones &#8230;</em></p>
<p>Thank you arvilkg, but I think you&#8217;re exagerating. We&#8217;re not above hyperbole, though. You are the greatest!</p>
<p><strong>peto4o </strong>said <em>Best site I see. Thanks. free mature | tamy has the flu | Sess Con | Men And Nature | video | alternative to Niagra | dolphin jewelry | Zaphod | cheap online troma doll | buy | Japanese Diet | well butane | swim dolphins | nokia unlocked &#8230;</em></p>
<p>peto40, you&#8217;re back! Return visitors are the lifeblood of cheap online troma dolls. Swim dolphins indeed!</p>
<p><strong>kipeto </strong>said <em>I&#8217;m really impressed! discount Bob and Alice | Niagra online | nokia 6230 | hydro chromedome | online posing | Grannies | soft tabs | motorola e398 phone &#8230;</em></p>
<p>Thank you jipeto. Thank you thank you. Tell Bob and Alice &#8220;hi&#8221; from us.</p>
<p><strong>temnota </strong>said <em>May we exchange links with your site? Nialus online | nokia 3120 data cable | Nialis | online troma doll | teen titans | SonyEricsson ringtones | dead or alive | palm treo &#8230;</em></p>
<p>temnota, Sure! Please send some information on your site and we&#8217;ll discuss it (I sure hope &#8220;dead or alive&#8221; isn&#8217;t a threat). Can you get those troma dolls?</p>
<p><strong>ppionerk </strong>said <em>I like your site discount loptochopto | cheapest Nialus | garmin street pilot | clone spam | ladies intercoursing | free ringtones for motorola | sites that ship cash on delivery | mature ibex | handiwork&#8230;</em></p>
<p>ppionerk, I&#8217;m sorry; we&#8217;re all out of the discount loptochopto, but we&#8217;ll get more in soon.</p>
<p><strong>bezdax </strong>said <em>I&#8217;m really impressed! successful stories | diaz spam | Free Pictures | Niagra for women | purchase Naliux | cheap Boris Karloff | ambling side effects | hydra chromedome | free avitar chewy | ladies parts | MP3 Ringtone Converter &#8230;</em></p>
<p>We are impressed by successful stories too. Some are really amazing. Have you heard of <a href="http://www.liddyshow.us/">Gordon Liddy</a>? Pretty amazing guy. Worked his way up, Marine, FBI, White House, etc. etc. Then he had a decent-sized scrape with the law. But, after being released from prison he has worked his way up other ladders.</p>
<p><strong>ssborni </strong>said <em>Very good site. Thanks for author! asian titmouse | axle withdrawal | celebrate side effects | hydra chromedome bit rate | Evening Attire | anime prawns | sony ericsson p800 | sharks &#8230;</em></p>
<p>ssborni, very good comment. Thanks for writer!</p>
<p><strong>pasty </strong>said <em>Your home page its great ibex bill | verizon treo | sonyericsson phones | verizon motorola v265 | night attire | pre teens ringtones | zombie ringtone motorola&#8230;</em></p>
<p>Thank you pasty ibex bill. <img src='http://techrageo.us/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>geroin </strong>siad <em>Hello Jane, great site! hydra chromedome bit rate | accessory cellular motorola review v66 | motorola v551 accessory | motorola v551 | faceplates | download ringtone | paris france&#8230;</em></p>
<p>geroin, I&#8217;m sorry but there&#8217;s no Jane here. Wrong number?</p>
<p><strong>utilize </strong>said <em>May we exchange links with your site? nokia 3120 specs | bird watching | Mr. Chewbacca | treo software | garmin forerunner 301 | ericsson | ibex online</em></p>
<p>Sure, utilize! red rover red rover! Land Cruiser FJ 4&#215;4 ! V8 Hemi Carburator Injection! Dog walking! Monkey excitement! GPS Big dog Pampilut. Elderly Monkey prawns!</p>
<p><strong>pastry </strong>said <em>Your home page its great buy in the uk | order Scion | swimming with sharks | side effects of yasmine bleethee | order ibex | order Spamax | cod liver earl | NEC HT410 | garmin ique 3600 | nec plasma tv | ringtone</em></p>
<p>pastry, thank you but we&#8217;re not for sale in the uk. US and Canada orders only.</p>
<p><strong>nikel </strong>said <em>Your site is very cognitive. I think you will have good future.:) online order | motorola v600 cellular phone | cerebus | free prawns | 30kg | yasmine bleethee | sonic animation</em></p>
<p>Thank you so much, nikel. Again. Your cognitive too.</p>
<p><strong>Sefny </strong>said <em>http://techrageo.us/, http://techrageo.us/taxonomy/categories/free, http://techrageo.us/taxonomy/categories/hardware, http://techrageo.us/taxonomy/categories/software, http://techrageo.us/taxonomy/categories/windows, http://techrageo.us/taxonomy/categories/programming/php, http://techrageo.us/taxonomy/categories/mapping, http://techrageo.us/taxonomy/categories/programming/javascript &#8230;</em></p>
<p>Sefny, thanks for the links. Something happened and I had to fix them up a bit.</p>
<p><strong>casinox </strong>said <em>health.html</em></p>
<p>No kidding. You&#8217;ve really captured it there, casinox. If you don&#8217;t have it, you&#8217;ve got nothing.</p>
<p><strong>shoppix </strong>said <em>Hello, nice site look this: dating1111.html health2222.html computers3333.html careers11111.html finance99999.html End ^) See you</em></p>
<p>shoppix, thanks for the compliment. Oh, those are nice. Where did you get them?</p>
<p><strong>Micaelel </strong>said <em>http://techrageo.us/, http://techrageo.us/taxonomy/categories/microprocessor, http://techrageo.us/taxonomy/categories/linux, http://techrageo.us/taxonomy/categories/mac, http://techrageo.us/taxonomy/categories/tips, http://techrageo.us/taxonomy/categories/best-practices, http://techrageo.us/taxonomy/categories/security, http://techrageo.us/taxonomy/categories/security/encryption&#8230;</em></p>
<p>Micaelel, thanks for the links. Something happened (again) and I had to fix them up a bit (again).</p>
<p><strong>ppionerkuh </strong>said <em>I like your site axle related injury harm | buy online | motorola v600 battery | ibex price | discount Niagra | Niagra for women | little | buy Niagra retail discount | Niagra | clonealarm anxiety | buy evita | Niagra generic</em></p>
<p>ppionerkuh, uh, okay thanks! Do you like the US or Canadian side? BTW, I think it&#8217;s &#8220;Niagara.&#8221;</p>
<p><strong>marvilk </strong>said <em>So interesting site, thanks! close up of a cat | nokia 3120 price | sonyericsson | side effects of lojack | cheap evita | misty</em></p>
<p>Thank you, marvilk. So interesting comment, thanks! <img src='http://techrageo.us/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  What kind of cats do you have?</p>
<p><strong>temnota </strong>said <em>Hello Jane, great site! cocoa | cheap Niagra purchase | asian front parts | happy monkey</em></p>
<p>Hello? No Jane here.</p>
<p><strong>paspar</strong> said <em>Your home page its great. online bug purchase evita | generic lojack | wet wild cat | marzipan | effects | bird mouse | cell motorola phone v265 | long term | shark jewelry | latest news | zombie | cheapest Niagra price&#8230;</em></p>
<p>Thanks, paspar. Those wild cats, you never know what they&#8217;re going to get into.</p>
<p><strong>Alvintard</strong> said <em>http://techrageo.us Windows url=http://techrageo.us link=http://techrageo.us</em></p>
<p>Indeed, Alvintard.</p>
<p><strong>barryc</strong> said <em>So interesting site, thanks! &#8230; &#8230;</em></p>
<p>Thank you, barryc. (Sorry but I had to cut the rest of your comment.)</p>
<p><strong>paspar</strong> said <em>I like your site generic effects handiwork | sonic hedgehog | nokia 2600 ringtone | cat macro | asian cat | nokia model 3230 | fresh cat&#8230;</em></p>
<p>Thank you, and welcome back, paspar.</p>
<p><a href="http://www.amazon.com/exec/obidos/ASIN/B000CSOXTO/mumeishi-20"><img align="right" src="http://ec3.images-amazon.com/images/P/B000CSOXTO.01._SCTHUMBZZZ_V55597774_.jpg" /></a><strong>paspar</strong> said <em>I like your site prawn gallery | ringtone | more cats | cod liver oil | garmin gps v&#8230;</em></p>
<p>paspar, you&#8217;re a regular, so you should know we don&#8217;t have a prawn gallery. Yet! Do your cats enjoy cod liver oil? Oh, the GPS V is pretty old. You should try the <a href="http://www.amazon.com/exec/obidos/ASIN/B000CSOXTO/mumeishi-20">Garmin 60CSx</a> &#8212; it&#8217;s superb.</p>
<p><strong>geroin</strong> said <em>Hello Jane, great site! 10kg | motorola v66 | cheerleaders | ringtones | ibex overnight | birds | mitsubishi | nokia | yasmine bleethee | mature prawns | motorola usb driver&#8230;</em></p>
<p>No Jane. Let me introduce you to temnota.</p>
<p><strong>Kathyann</strong> said <em>http://techrageo.us desk3 url=http://techrageo.us link=http://techrageo.us</em></p>
<p>Yes, I know.</p>
<p><strong>cicada</strong> said <em>Great website! Bookmarked! I am impressed at your work! Niagra alternatives | motorola v600 cell phone | ibex | katie holmes at home | free handiwork | modes | canadian farms&#8230;</em></p>
<p>Thanks. Bookmarks rule. I&#8217;m learning about them now!</p>
<p><strong>geroin</strong> said <em>Hello Jane, great site! teens | several ladies | free old prawn snapshots | celebarte | online farm vital | cats&#8230;</em></p>
<p>Sigh. Thank you.</p>
<p><strong>paspar</strong> said <em>I like your site motorola v551 | Free Nokia Ringtones | shark watching | nec dvd | Bottlenose Monkeys | handiwork | purchase tracadolop | nokia phone&#8230;</em></p>
<p>thanks paspar.</p>
<p><strong>perroxtox</strong> said <em>gooyeti. http://search.yahoo.com/search?p=prawns http://maps.yahoo.com/beta/index.php happy prawns free happy prawns happy prawns star black happy prawns free happy prawns movie free happy prawns video happy prawns video happy male prawns happy prawns movie happy teen prawns happy sapiens prawns happy prawns site free happy prawns pic free happy black prawns free happy prawns clip happy prawns pic happy prawns blog free happy male prawns happy asian prawns happy sax prawns hardcore happy prawns happy&#8230;</em></p>
<p>perroxtox, I don&#8217;t know what to say, except that you must love your prawns. gooyeti?</p>
<p><strong>kickatoxa</strong> said <em>I&#8217;m really impressed! lookatmine on line without description | free elderly prawn | ericsson mobile phones | milk prawns | free prawn | cartoons | girls with protusions on their noggins | extreme fishing&#8230;</em></p>
<p>kickatoxa, thank you. Impression is nine tenths, you know. Have you met perroxtox?</p>
<p><strong>paris france video</strong> said <em>hilton hotels movie. body paint big cats. prawn photo asian macro black advice. Cheerleaders striping in college.</em></p>
<p>paris france video, is the movie to sell conference space, or just marketing to folks travelling? I am not sure I understand the next sentence, but I think some of the players in Cats must have had some body paint, but mostly I&#8217;d think it was actual costumes. Closeups of prawns on a black backdrop might be okay, but make sure the lighting is right. If you&#8217;ve got asian lenses, use them; otherwise, use what you&#8217;ve got. Cheerleaders do a lot of things, but I thought striping is usually done by road crews&#8230;?</p>
<p><strong>tixbix</strong> said <em>tight bum. phantom of the opera movie. bum. music videos &#8230;</em></p>
<p>tixbix, &#8220;bums&#8221; are tight because they don&#8217;t have money. Don&#8217;t you see them asking for loose change, a buck, or all your money? It&#8217;s because they&#8217;re down on their luck and need money for booze and drugs. Instead of walking by them, next time take a &#8220;bum&#8221; to the PotO movie with you. Or put them in your music videos.</p>
<p><strong>big chest round bum</strong> said <em>big chest round bum. hollywood torture&#8230;</em></p>
<p>Hi, big chest round bum (is that like Dances With Wolves?). I agree &#8212; most of what comes out of Hollywood is torture. You can just not go see the movies and not watch them on the TV. Send a message.</p>
<p><strong>girlmode tongs</strong> said <em>girlmode tongs. cat prawn gallery magick&#8230;</em></p>
<p>girlmode tongs, do you cook? Wow, that sounds like an exciting show!</p>
<p><strong>jujucat </strong>said <em>redhead prawns rooster cats&#8230;</em></p>
<p>jujucat, that&#8217;s amazing. Thanks for sharing.</p>
<p><strong>ppioner </strong>said <em>I like your site. Granny prawn pics&#8230;</em></p>
<p>Thanks, ppioner. You should put up a flickr gallery.</p>
<p><strong>kipetoe </strong>said <em>Your home page its great. Mature Grannies&#8230;</em></p>
<p>Thank you so much, kipetoe.</p>
<p>Again, we granny really just want thank you all you folks take time comment. It mean alot to us really make it all worth it to author. Applejacks monkeyshine rascal fisherfax. Pfestive massive master tunky Enjoy!!! Cat granny dog rooster. Horse dolphonic shippy fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2006/06/22/mass-comment-reply/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Spreadsheet</title>
		<link>http://techrageo.us/2006/06/06/google-spreadsheet/</link>
		<comments>http://techrageo.us/2006/06/06/google-spreadsheet/#comments</comments>
		<pubDate>Wed, 07 Jun 2006 01:40:45 +0000</pubDate>
		<dc:creator>bill</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech News]]></category>

		<guid isPermaLink="false">http://techrageo.us/2006/06/06/google-spreadsheet/</guid>
		<description><![CDATA[Not exactly an Excel-killer yet, but here comes Google Spreadsheet. It is interesting; sharing spreadsheets, import/export, lots of functions, and so on. If you&#8217;ve been losing sleep waiting for it, well, now you can rest easy. Otherwise, okay, another Google labs thingy. You have to sign up for an invitation at this point. Via Google [...]]]></description>
			<content:encoded><![CDATA[<p>Not exactly an Excel-killer yet, but here comes Google Spreadsheet. It is interesting; sharing spreadsheets, import/export, lots of functions, and so on. If you&#8217;ve been losing sleep waiting for it, well, now you can rest easy. Otherwise, okay, another Google labs thingy.</p>
<p>You have to <a href="http://www.google.com/googlespreadsheets/try_out.html">sign up</a> for an invitation at this point.</p>
<p><img src="/wp-content/googlespreadsheet1sm.jpg"/></p>
<p>Via <a href="http://googleblog.blogspot.com/2006/06/its-nice-to-share.html">Google Blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2006/06/06/google-spreadsheet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mono brings .NET apps to Linux</title>
		<link>http://techrageo.us/2005/10/12/mono-brings-net-apps-to-linux/</link>
		<comments>http://techrageo.us/2005/10/12/mono-brings-net-apps-to-linux/#comments</comments>
		<pubDate>Wed, 12 Oct 2005 16:06:37 +0000</pubDate>
		<dc:creator>grant</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://techrageo.us/2005/10/12/mono-brings-net-apps-to-linux/</guid>
		<description><![CDATA[IBM has an article for developers about developing cross platform applications useing .NET. Well, using Mono. As someone who has (poorly) written a cross platform application using Mono I can say that it is definitely easy. As long as you keep portability in mind when programming the cross platform bit should fall into place without [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www-128.ibm.com/developerworks/library/l-mono/index.html?ca=dgr-lnxw01.NetonLinux">IBM</a> has an article for developers about developing cross platform applications useing .NET.  Well, using Mono.</p>
<p>As someone who has (poorly) written a cross platform <a href="http://toddlergame.sourceforge.net">application</a> using Mono I can say that it is definitely easy.  As long as you keep portability in mind when programming the cross platform bit should fall into place without any additional work.</p>
<p>The problem that I ran into was the fact that my application stopped working correctly on newer versions of .NET and now only it only runs well on Mono (on Windows and Linux).</p>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2005/10/12/mono-brings-net-apps-to-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Hula Project</title>
		<link>http://techrageo.us/2005/09/29/the-hula-project/</link>
		<comments>http://techrageo.us/2005/09/29/the-hula-project/#comments</comments>
		<pubDate>Thu, 29 Sep 2005 11:33:47 +0000</pubDate>
		<dc:creator>grant</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://techrageo.us/?p=49</guid>
		<description><![CDATA[The Hula Project is an open source calendar and email server that might one day make your life as an IT person very comfortable. It scales well and it has the necessary components for a small/medium sized business, but is it ready to replace your old Exchange box? v407 Note: We originally tested with version [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://techrageo.us/wp-content/hula_email.png' target="_blank"><img align="right" style="border: thin solid black;" src='http://techrageo.us/wp-content/hula_email_small.png' alt='Hula Email View' /></a>The <a href="http://hula-project.org/Hula_Server">Hula Project</a> is an open source calendar and email server that <i>might</i> one day make your life as an IT person very comfortable.   It scales well and it has the necessary components for a small/medium sized business, but is it ready to replace your old Exchange box?<br />
<style> .yellowbox { background-color: #ffff99; border: thin solid black; font-size: 90%; } .oldinfo { text-decoration: line-through; }</style>
<div class="yellowbox"><b>v407 Note:</b>  We originally tested with version 162, the version available from Ubuntu&#8217;s Repository.  Afterwards we downloaded and compiled Hula from source (version 407).  We have gone through our list of problems and made notes where applicable to denote if a problem was fixed.</div>
<p><strong>The short answer:</strong><em> No</em>.<br />
The project is still in a development stage and isn&#8217;t going to replace your exchange box unless you have an emergency situation and need a mail server <em>quick</em>.  The software is somewhat buggy and certain things (like a global address book) aren&#8217;t implemented yet.</p>
<p><strong>The long answer: </strong><em>Maybe</em>.<br />
The Hula project has the beginnings of everything most small to medium sized businesses need in an email/calendar server.  Or at least it has a placemarker for them.  Some of the services Hula aims to provide are not done and so you will run into certain instances where functionality you thought was there really isn&#8217;t yet.</p>
<div class="yellowbox"><b>v407 Note:</b>Most of the functionality is apparently there now, but still no global address book&#8230;.at least it isn&#8217;t easy to set up if it is available.</div>
<p>The server itself is very easy to set up, especially if you are running a variety of Debian with apt-get.  The online help on their website is very helpful in getting things setup and you can be sending emails and setting up meetings in no time.</p>
<p>The sections of the administrative page that are complete are easy to use and you shouldn&#8217;t have any problem navigating and setting up new users, groups, mailing lists, etc.   The help links that show up are very informative and the documentation is well written, but these links do not show up on every page yet.</p>
<p>There is a handy &#8220;Tasks&#8221; section to the administration page that seems to be the start of a &#8220;wizard&#8221; type interface that allows you to do things without too much navigation or searching.</p>
<p>The webmail portion that the users might see (if they aren&#8217;t using another client) is mostly complete.  There are a few rough edges, but most users of any kind of webmail will feel right at home.  The calendar works well and the address book works like you would expect.  Nothing fancy, like Gmail&#8217;s AJAX interface, but it works as well as if not better than the Exchange 2003 web interface.</p>
<p><a href='http://techrageo.us/wp-content/hula_calendar.png' target="_blank"><img align="right" style="border: thin solid black;" src='http://techrageo.us/wp-content/hula_calendar_small.png' alt='Hula Calendar View' /></a><strong>User Problems</strong> <small>(these are for the webmail client, so if you aren&#8217;t using it then these will not effect you)</small>:</p>
<ul>
<li>In the calendar when you click on a day it takes you to that day, but if you then try to add an appointment or event the program always defaults to today&#8217;s date.  So adding future appointments gets annoying.  This is probably just an oversight and I&#8217;m sure it will be fixed as soon as someone notices it.</li>
<li>Currently the tasks show up on the calendar when they were received, instead of when the start or end date is.</li>
<li>It would be nice to be able to hover your mouse over appointments and events in the calendar and get a full description.</li>
<li>Instead of having a full month view, it would be nice to have a &#8220;last week and three weeks out&#8221; view which would always show last week&#8217;s schedule and the outlook for the next three weeks.  Most calendar programs fail on this aspect, so I can&#8217;t claim this as a downside but it would be nice if Hula would put something like this in there.  The problem is that when you get to the end of the month you have to switch to the next month to see what you have going on, even if it is just tomorrow.</li>
<li><span class="oldinfo">The user&#8217;s session times out after an insanely small amount of time (like 10 minutes).  They then have to log back in again.   This can be changed in the admin program, but it looks like you would have to change it on every user as there doesn&#8217;t appear to be a global setting.</span>
<div class="yellowbox"><b>v407 Note:</b>There is now a global setting located at <em>Internet Services->Server Messaging Server->Connection Manager->User Module</em></div>
</li>
</ul>
<p><a href='http://techrageo.us/wp-content/hula_admin.png' target="_blank"><img align="right" style="border:thin solid black;" src='http://techrageo.us/wp-content/hula_admin_small.png' alt='Hula Admin View' /></a>The administrative page we had a few more problems with.   This is where you can really tell that this project isn&#8217;t quite finished.  We ran into several problems, including sections that just didn&#8217;t work and portions that didn&#8217;t appear to save when trying to update them.</p>
<div class="yellowbox"><b>v407 Note:</b>Some of the Admin problems we noticed are now gone.  Overall the Admin section just feels a lot better to use than the older version.  You can tell there has been a lot of work done to it.  There is still no readily apparent way to setup a system wide address book, even though the option shows up on the users addressbook.  If this is an oversight, write in a comment on how to do it and we&#8217;ll update the site.</div>
<p><strong>Admin Problems:</strong>
<ul>
<li class="oldinfo">Clicking on certain links seems to log you out of the system.  This doesn&#8217;t appear to be a session timeout because you can log right back in and try the link again and it replicates.  And, no, I&#8217;m not clicking on the logout button.  <img src='http://techrageo.us/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Currently in the version we tested there is no working LDAP server, which means no &#8220;global address book&#8221; unless you use an external LDAP server.   Granted, this is probably pretty easy to setup, but it would be nice to have it working out of the box (or .deb as the case may be).</li>
<li>I could not get the &#8220;out of office reply&#8221; to work at all.  I&#8217;m guessing this is because the Proxy Agent isn&#8217;t completely functional, which is why this is listed as an Admin problem and not a user problem.</li>
<li>Help Links are not available on some pages where we could have used them.</li>
<li class="oldinfo">We couldn&#8217;t get <a href="http://hula-project.org/Setting_Up_SpamAssassin">SpamAssassin to work with Hula</a>, but this was because our tested version wasn&#8217;t the latest and greatest. </li>
</ul>
<p>Overall, for this early of a release, the Hula Project is looking great.  We are hoping that the Ubuntu repositories get updated with a newer release soon so we can try it out and see what has been fixed.
<div class="yellowbox"><b>v407 Note:</b>Actually, building from source was not too bad.  Unlike other projects, Hula has detailed instructions that take you through step-by-step and tell you everything you&#8217;ll need to have installed before the compilation to make things work.  Still, an updated binary would be nice to have so most people wouldn&#8217;t have to go through the source shuffle.</div>
<div style="border: thin solid black; background-color: #eeeeee;">
<em>The Fine Print(tm):</em><br />
<small>The version tested was downloaded from Ubuntu&#8217;s apt-get universe and is named <em>Hula 0.1.0+svn162-2ubuntu1</em> the Hula Manager was version <em>0.0.77-2</em>.  This may not be the latest version available if you build from source and some of the above problems may have already been fixed.  If so, send a comment and let us know.  We&#8217;d love to hear from you.</small></div>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2005/09/29/the-hula-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 1.5 Beta: First Look</title>
		<link>http://techrageo.us/2005/09/19/firefox-15-beta-first-look/</link>
		<comments>http://techrageo.us/2005/09/19/firefox-15-beta-first-look/#comments</comments>
		<pubDate>Mon, 19 Sep 2005 17:33:43 +0000</pubDate>
		<dc:creator>grant</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech News]]></category>

		<guid isPermaLink="false">http://techrageo.us/?p=48</guid>
		<description><![CDATA[With the new Firefox beta that has come out we get a first look at the technology that is making its way into Firefox for the mainstream users. We take a look at the changes you can expect and outline a few changes you probably will not notice. New Features you will enjoy Clear Private [...]]]></description>
			<content:encoded><![CDATA[<p>With the new Firefox beta that has come out we get a first look at the technology that is making its way into Firefox for the mainstream users.  We take a look at the changes you can expect and outline a few changes you probably will <em>not</em> notice.</p>
<h2>New Features you will enjoy</h2>
<p><strong>Clear Private Data</strong><br />
You can now press <em>Shift+Ctrl+Delete</em> in Firefox and have it completely remove your private data.  Alternatively, you can select Delete Private Data on the Tools menu. You can also select what data is to be deleted in the options dialog.  This is pretty handy if you are using a public computer and want to be absolutely sure that your login or credit card numbers  (etc, etc) are no longer stored by Firefox.  Or if you are using a work computer and you don&#8217;t want it to be found out that you have been reading non-work related websites like <a href="http://www.brittlefish.com">BrittleFish</a>.</p>
<p><a href="http://techrageo.us/wp-content/firefoxbeta_privacy.jpg"><br />
<img align="right" src='http://techrageo.us/wp-content/firefoxbeta_privacy2.jpg' alt='Firefox Options Dialog Box' /></a><br />
<strong>New &#8220;Options&#8221; Dialog</strong><br />
The Options dialog box has been redesigned with the tabs moving along the top now, instead of along the left side.  There are now more options in the &#8220;Privacy&#8221; tab, including the settings for the &#8220;Clear Private Data&#8221; tool.  Other than that there isn&#8217;t a whole lot of improvement in this area.  Not that there needed to be.</p>
<p><strong>Word Highlighting/Searching</strong><br />
This new version allows you to highlight a word or phrase with your mouse, then right-click and choose Highlight Word and Firefox will highlight every instance of that word or phrase on the current page.  Or you can choose to search off of that highlighted word and Firefox will open up a new tab with your default search engine (probably Google) already loaded with the search text.</p>
<p><img align="left" src='http://techrageo.us/wp-content/firefoxbeta_error.jpg' alt='Firefox Error Message' /><br />
<strong>Error Messages</strong><br />
Instead of getting an annoying popup letting you know that the page you were trying to reach is unavailable you will now get an well formatted webpage describing what happened and what your options are to fix the problem.  And a handy &#8220;Try Again&#8221; button, which doesn&#8217;t do anything more than hitting the refresh button except giving a little inspiration.  &#8220;Don&#8217;t give up, <em>Try Again</em>.&#8221;</p>
<h2>What&#8217;s Missing?</h2>
<p>Here are some things you won&#8217;t see in the new beta, which you may have been expecting.</p>
<p><strong>Native SVG support</strong><br />
I was under the impression that the new version of Firefox would have SVG rendering support builtin to the browser, without the need for the Adobe plugin.  This is not true, as this beta has no svg capabilities (unless you have to go through hoops to turn it on).  This is really too bad, since the Adobe pluging requires you to move files and such to get it to work with Firefox.  This leaves non-techy users out in the cold.</p>
<p><strong>Extensions and Themes (for now)</strong><br />
Before you get your panties in a bunch, let me clarify that the beta has the capability to use extensions and themes.  It is just that most of them have not been updated to work with the new version yet.  By the time the final version comes out I&#8217;m sure all of your favorite extensions and themes will be supported.  But, as you would expect from a beta, they aren&#8217;t available now.  So don&#8217;t replace your wife&#8217;s 1.06 version just yet, unless you enjoy sleeping on the couch.</p>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2005/09/19/firefox-15-beta-first-look/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 1.5 Beta 1 Due Soon</title>
		<link>http://techrageo.us/2005/09/02/firefox-15-beta-1-due-soon/</link>
		<comments>http://techrageo.us/2005/09/02/firefox-15-beta-1-due-soon/#comments</comments>
		<pubDate>Fri, 02 Sep 2005 17:41:49 +0000</pubDate>
		<dc:creator>grant</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tech News]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://techrageo.us/2005/09/02/firefox-15-beta-1-due-soon/</guid>
		<description><![CDATA[Mozilla will be release the 1.5 Beta of Firefox next week on September 8th.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mozilla.org">Mozilla</a> will be release the <a href="http://developer.mozilla.org/devnews/index.php/2005/08/30/9-days-untill-15-beta/">1.5 Beta</a> of Firefox next week on September 8th.</p>
]]></content:encoded>
			<wfw:commentRss>http://techrageo.us/2005/09/02/firefox-15-beta-1-due-soon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

