<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>88 Miles: Tag rails</title>
    <link>http://blog.88miles.net/articles/tag/rails</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Simple time tracking</description>
    <item>
      <title>Some more speed improvements</title>
      <description>&lt;p&gt;Over the past couple of weeks, I've been experimenting with some optimisations at all points of the &lt;a href="http://www.88miles.net" title="Simple Time Tracking"&gt;88 Miles&lt;/a&gt; stack &amp;mdash; everywhere from code to database queries to database optimisation and Apache configuration. Because of the downtime today, I though I'd finish off some of those optimisations and push them live.&lt;/p&gt;

&lt;p&gt;At the server level, 88 Miles is now running &lt;a href="http://www.modrails.com/"&gt;Passenger (aka mod_rails)&lt;/a&gt; instead of Mongrel, which better utilises memory and doesn't require the overhead of proxing. It's also a lot more reliable and stable (especially when it comes to restarting or pushing out new versions). Although I must admit, this mornings downtime was more to do with some overzealous settings than anything else &amp;mdash; I think we are at a sweet spot now, so I don't think I'll need to touch it again for a while.&lt;/p&gt;

&lt;p&gt;Much of the code for the core functionality was written quite a while a go, and was in dire need for a clean up. There was a lot of unnecessary iteration and object instantiation that resulted in really long load times for the main page (as well as for punching in and punching out). By pushing more of the work to the database and utilising the fact that a DB is better at searching for things than my code is, I managed a 4x speed increase.&lt;/p&gt;

&lt;p&gt;However, that wasn't quite enough! By adding some database indexed to regularly used foreign keys, I managed to bump that speed increase to nearly 10x! And this is just the start &amp;mdash; the priority at the moment is the speed and stability of the system.&lt;/p&gt;

&lt;p&gt;Hopefully you will notice the speed increase &amp;mdash; there is, of course, things out of my control, such as network latency and server load &amp;mdash; however on the whole, you should be getting a much snappier &lt;a href="http://www.88miles.net" title="Simple Time Tracking"&gt;88 Miles&lt;/a&gt; experience.&lt;/p&gt;

</description>
      <pubDate>Tue, 28 Oct 2008 16:02:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:c1300e4e-3973-4cb2-8b34-a5c896ce263d</guid>
      <author>Myles Eftos</author>
      <link>http://blog.88miles.net/articles/2008/10/28/some-more-speed-improvements</link>
      <category>Announcements</category>
      <category>88miles</category>
      <category>timetracking</category>
      <category>speed</category>
      <category>rails</category>
      <category>optimisation</category>
    </item>
    <item>
      <title>Perth Ruby on Rails meetup</title>
      <description>&lt;p&gt;We have just made an announced the second Ruby on Rails Oceania Perth meet up&lt;/p&gt;

&lt;h3&gt;Details&lt;/h3&gt;
&lt;p class="vevent"&gt;
&lt;a href="http://www.roro.com.au/perth-events/" class="url"&gt;Ruby on Rails User Group Perth&lt;/a&gt; &lt;span class="summary"&gt; second edition&lt;/span&gt;: &lt;abbr class="dtstart" title="2008-04-24T17:30:00+09:00"&gt;24 Apr 2008 at 5:30&lt;/abbr&gt; &lt;abbr class="dtend" title="2008-04-24T19:30:00+09:00"&gt;until about 7:30&lt;/abbr&gt; at the &lt;span class="location"&gt;Level 2, 90 King St Perth WA&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;If you are a Perth rubyist, it would be great to see you there, we are going to have talks this time around &amp;mdash; I may even speak about OAuth&lt;/p&gt;

&lt;p&gt;See you then&lt;/p&gt;

</description>
      <pubDate>Fri, 11 Apr 2008 15:57:00 +0800</pubDate>
      <guid isPermaLink="false">urn:uuid:2ff2bf4b-545a-4e24-933e-36d79e71e8c3</guid>
      <author>Myles Eftos</author>
      <link>http://blog.88miles.net/articles/2008/04/11/perth-ruby-on-rails-meetup</link>
      <category>Announcements</category>
      <category>ruby</category>
      <category>on</category>
      <category>rails</category>
    </item>
    <item>
      <title>Enterprise Rails</title>
      <description>&lt;p&gt;Anyone in the Rails community would have read &lt;a href="http://www.zedshaw.com/rants/rails_is_a_ghetto.html?part2"&gt;Zed Shaw&amp;#8217;s rant&lt;/a&gt; about Rails. For those of you who don&amp;#8217;t know Zed, he wrote Mongrel, which is the default web server library used in Rails, and which coincidently powers &lt;a href="http://www.88miles.net" title="88 Miles - Simple Time Tracking"&gt;88 Miles&lt;/a&gt;. It has blown up and been discussed on just about every rails list around. I&amp;#8217;m not going to discuss what he said, or his tone, as it has been done to death, and he seems like the type of guy that you need to know to understand where he is coming from.&lt;/p&gt;

&lt;p&gt;What did hit home from me was what he said out enterprise Rails. To frame this correctly, have a listen to the &lt;a href="http://media.ajaxian.com/podcasts/audibleajax-show-23-interview-ZedShaw.mp3"&gt;first half of this podcast&lt;/a&gt; from RailsConf.&lt;/p&gt;
&lt;p&gt;As a rubyist, I could never understand why  projects like &lt;a href="http://jruby.codehaus.org/"&gt;JRuby&lt;/a&gt; or &lt;a href="http://www.ironruby.net/"&gt;IronRuby&lt;/a&gt; existed. Why would you want to run another language in a different &lt;a href="http://en.wikipedia.org/wiki/Virtual_machine"&gt;virtual machine&lt;/a&gt;? After reading and listening to Zed, the answer is obvious - integration for enterprise. If you look at existing enterprise systems they will run on technologies such as Java and ASP.NET and as a result, prefer to use things like Tomcat and IIS - they don&amp;#8217;t know (or care) about Mongrel or Lighttpd or even Apache in many cases.&lt;/p&gt;

&lt;p&gt;So take the easy and speed of development of Rails and put it into an environment that has traditionally been in the realm of complex systems that are hard to maintain and hard to use. Instead of worrying about writing XML configuration files, developers can spend more time making sure their apps are easy to use&lt;/p&gt;

&lt;p&gt;I've been playing around with IronRuby a little lately, and am planning on trying out JRuby just to see how it is all going to fit together &amp;mdash; and I have to admit, I'm getting pretty excited about having a truely cross server language that will be easy to deploy and maintain.&lt;/p&gt;

</description>
      <pubDate>Wed, 16 Jan 2008 00:17:00 +0900</pubDate>
      <guid isPermaLink="false">urn:uuid:12832c5d-163b-4c25-8eb5-870d6e1340ca</guid>
      <author>Myles Eftos</author>
      <link>http://blog.88miles.net/articles/2008/01/16/enterprise-rails</link>
      <category>Opinion</category>
      <category>ruby</category>
      <category>on</category>
      <category>rails</category>
      <category>enterprise</category>
    </item>
  </channel>
</rss>
