<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>http://davidgurba.com/</id>
  <title>David Gurba's Blog</title>
  <updated>2008-06-11T00:30:00Z</updated>
  <link href="http://davidgurba.com" rel="alternate"/>
  <link href="http://davidgurba.com/feeds/tech/" rel="self"/>
  <author>
    <name>David Gurba</name>
    <uri>http://davidgurba.com</uri>
  </author>
  <entry>
    <id>tag:davidgurba.com,2008-06-11:/links_06102008/</id>
    <title type="html">Links 06-10-2008</title>
    <published>2008-06-11T00:30:00Z</published>
    <updated>2008-06-11T00:30:00Z</updated>
    <link href="http://davidgurba.com/links_06102008/" rel="alternate"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.redbitbluebit.com/post/Subversion-Check-In-Comment---Great-Practices.aspx"&gt;SVN Commit Message Policy&lt;/a&gt; any policy is better than 0 policy. Be pro-active in your development cycles and use automated tools in an effort to create the self-documentation effortlessly.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://wave.webaim.org"&gt;WAVE&lt;/a&gt; automated web accessability service.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://northtemple.com/1608"&gt;Accessibility Checklist&lt;/a&gt; Another designers checklist for web accessibility -- since none of this is written in stone. Best to stand on the shoulders of giants, be informed and take action.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2008-06-03:/bofa_bank_routing_numbers/</id>
    <title type="html">Bank of America Routing Numbers</title>
    <published>2008-06-03T19:30:12Z</published>
    <updated>2008-06-03T19:30:12Z</updated>
    <link href="http://davidgurba.com/bofa_bank_routing_numbers/" rel="alternate"/>
    <content type="html">&lt;p&gt;&lt;a href="/assets/sample_check_lg.gif" title="bofa sample check"&gt;&lt;img src="/assets/sample_check_sm.gif" class="img_right" alt="BOFA Sample Check"/&gt;&lt;/a&gt; One of the tasks I have been trying to complete is to setup a direct deposit via Online Banking from &lt;a href="https://www.uboc.com/"&gt;Union Bank of California&lt;/a&gt; to a &lt;a href="http://www.bofa.com"&gt;Bank of America&lt;/a&gt; account. Normally these things go smoothly and without a hitch. For such a transaction you typically need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;receiver account holder name&lt;/li&gt;
&lt;li&gt;account number&lt;/li&gt;
&lt;li&gt;receiver bank routing number&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Well in my case I did not have the bank routing number. &lt;em&gt;Everyone&lt;/em&gt; says it's simple just look at the bottom of your check and there is the routing number.&lt;/p&gt;

&lt;p&gt;Gee, thanks there's just 1 problem. I don't have access to a check to find the number.&lt;/p&gt;

&lt;p&gt;Well a little bit of Googling and I learned quite abit about &lt;a href="http://en.wikipedia.org/wiki/Routing_transit_number"&gt;routing/transit/ABA numbers from Wikipedia&lt;/a&gt;. Then I stumbled across this awesome &lt;a href="http://www.bankofamerica.com/deposits/checksave/index.cfm?template=lc_faq_direct#question4"&gt;BOFA website FAQ page&lt;/a&gt; which details out the routing numbers for every state in the USA. The important thing to note is that depending on the type of transaction you have 3 choices for the routing number.&lt;/p&gt;

&lt;p&gt;After a worthless 20 minute phone call to the people at Union Bank during my lunchbreak the other day ... today I went into BOFA during my lunchbreak and a very kind attendant answered my quesiton in about 5 minutes regarding my routing number.&lt;/p&gt;

&lt;p&gt;It's critical that a process which takes 10 business days to setup be done correctly the first time. I cannot wait an additional 10 days to fix a problem should one arise.&lt;/p&gt;

&lt;p&gt;Thank you kind lady at the bank. Simple things should be simple.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2008-06-02:/ruby_bluecloth_alternatives/</id>
    <title type="html">ruby bluecloth alternatives</title>
    <published>2008-06-02T19:14:30Z</published>
    <updated>2008-06-02T19:14:30Z</updated>
    <link href="http://davidgurba.com/ruby_bluecloth_alternatives/" rel="alternate"/>
    <content type="html">&lt;p&gt;I stumbled across a few new Ruby libraries to generate HTML content from BlueCloth. You can see below:&lt;/p&gt;

&lt;pre class="ruby" file="discount_filter.rb"&gt;
# David Gurba
# 06/02/2008
#
# The 'discount' filter implements a new BlueCloth implementation that
is 59x
# faster than the standard Ruby class.
#
# See: http://tomayko.com/writings/ruby-markdown-libraries-real-cheap-for-you-two-for-price-of-one
# to get Discount issue:
# sudo gem install discount
#
#

class DiscountFilter &lt; Nanoc::Filter
    identifiers :discount

    def run(content)
        nanoc_require 'rubygems'
        nanoc_require 'discount'

        return Discount.new(content).to_html
    end

end 
&lt;/pre&gt;


&lt;p&gt;This website went now compiles from scratch in 5.48 seconds, as opposed to the old value of 10.51 seconds.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2008-05-29:/website_design_2/</id>
    <title type="html">New  Website Design</title>
    <published>2008-05-29T18:01:00Z</published>
    <updated>2008-05-29T18:01:00Z</updated>
    <link href="http://davidgurba.com/website_design_2/" rel="alternate"/>
    <content type="html">&lt;p&gt;I have updated this website rather heavily. I have segmented this website into two major areas. The first area is my personal blog for tech related articles. The second area is another blog sharing some of my experience with mental illness &amp;mdash; in this case a very severe type of mental illness known as schizophrenia.&lt;/p&gt;

&lt;p&gt;This website is still powered by the Nanoc application and also is sporting usage of jquery and some supporting 3rd party plugins. Lastly, a new comment system is attempting to be integrated into the blogs by &lt;a href="http://www.disqus.com"&gt;Disqus.com&lt;/a&gt; so we will see how that goes.&lt;/p&gt;

&lt;p&gt;Please expect a bit of bumps in the road as I iron out the remaining technical and cosmetic issues.&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2008-03-02:/nanoc_plugin_ultraviolet/</id>
    <title type="html">Nanoc Plugin: Ultraviolet</title>
    <published>2008-03-02T20:00:04Z</published>
    <updated>2008-03-02T20:00:04Z</updated>
    <link href="http://davidgurba.com/nanoc_plugin_ultraviolet/" rel="alternate"/>
    <content type="html">&lt;p&gt;I am working on a few work and personal projects at this time. Work is primarly PHP5 projects (PDO, PHP5, MySQL) converting some existing sites from VBScript and ACCESS. At the same time my personal projects are in Ruby and also Java technologies (Java, JavaDB, JavaFX). Even though I am working on alot of things at this time I am still trying to find time to regularly update this nook of the web :]&lt;/p&gt;

&lt;p&gt;Below is a simple plugin I adopted from the current Nanoc Wiki and my past experience with SimpleLog which uses the (Ultraviolet)[http://ultraviolet.rubyforge.org/] syntax highlightling library to generate pretty HTML output for hundreds of kinds of programming languages. I am also trying to tie in some more jQuery usage in the website for some rounded-corner goodness! Hopefully somebody finds this of use. At some point in the near future I will make the project section of this website contain a full listing of the code-works on this website.&lt;/p&gt;

&lt;p&gt;&lt;code class="ruby" file="ultraviolet_plugin.rb"&gt;&lt;/p&gt;

&lt;h1&gt; A simple syntax highlighting plugin using UltraViolet.&lt;/h1&gt;

&lt;p&gt;class UltraVioletFilter &amp;lt; Nanoc::Filter&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;identifier :ultraviolet

def run(content)
    nanoc_require 'rio'
    nanoc_require 'uv'

    code_rule = %r{(&amp;lt;code class="(\w+)" (file="(.+?[^"])")?&amp;gt;(.+?[^(&amp;lt;/code&amp;gt;)])&amp;lt;/code&amp;gt;)}m

    while content =~ code_rule
        original, lang, filename, code = $1, $2, $4, $5

        # Create a plaintext file version for download.
        if filename
            code_path = [@config[:output_dir], @page.path, 'code']
            url = @page.path + 'code/' + filename
            copy_text_to_file(code, filename, code_path)
            content.gsub!(original,
                %{&amp;lt;a class="file" href="#{url}"&amp;gt;
                get source - #{filename}
                &amp;lt;/a&amp;gt;\n} + original
            )
        end

        # Substitute the un-highlighted code with the highlighted code.
        content.gsub!(
                original,
                Uv.parse(code, "xhtml", lang, true,
                @config[:ultraviolet_theme])
        )
    end
    content
end

private
def copy_text_to_file(str, fname, dir)
    dest_rio = rio(dir).mkpath
    frio = rio(dir, fname).delete
    puts "*** unlinked old code file ***"
    frio &amp;lt;&amp;lt; str
    puts "*** Wrote plaintext file #{dir}/#{fname} ***"
end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;end
&lt;/code&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2008-02-14:/human_rights_voting/</id>
    <title type="html">Human Rights -- voting</title>
    <published>2008-02-14T20:23:04Z</published>
    <updated>2008-02-14T20:23:04Z</updated>
    <link href="http://davidgurba.com/human_rights_voting/" rel="alternate"/>
    <content type="html">&lt;p&gt;A discussion on human rights and voting was brought up at the dinner table last night. Those of you that know me know that I do not vote. I am not a registered voter.&lt;/p&gt;

&lt;p&gt;This conversation began because my parents were talking about the candiates and my cousin from Mexico asked me if I was going to vote. My mother prodded me to answer my cousin (because this is one of a few things in my family-gatherings I know better than to bring up). So I told my cousin that I do not vote. My mother tried to explain that I do not vote because I don't see merit in any of the candiates in todays elections (or ever).&lt;/p&gt;

&lt;p&gt;For me, politics is a game that is played but can never be won. The only way to win the game is to not play to begin with. I would rather buy a #1 from McDonalds and give it to a homeless Vet, or give money directly to the Salvation Army than spend the time to vote. I know that these small actions will affect someone now.&lt;/p&gt;

&lt;p&gt;My cousin very plainly pointed out that since I don't vote, I don't have the right (or any ground to stand on) in complaining about whomever wins once the new President has been decided.&lt;/p&gt;

&lt;p&gt;It took me a few moments to formulate a response ... but I said that I have &lt;em&gt;every&lt;/em&gt; right to complain or argue about the new president as much as everyone else (who did vote). &lt;em&gt;Freedom of Speech&lt;/em&gt; is the 1st Right of many I am given as a natural born citizen of this country. Like it or not, my rights are not incumbent on my actions, my social status or authority.  Everyone has certain rights simply because they exist and are aware enough to make choices involving these rights.&lt;/p&gt;

&lt;p&gt;Everyone has rights. One of my extended family members in my apartment works with mentally disabled young adults. And, my uncle is a schizophrenic Vietnam veteran. Some people do not have the capacity fend for their own rights. But even without being an  active voter we can all aide individuals less fortunate than us by being an active voice, a friend, a companion, a resource for such people.&lt;/p&gt;

&lt;p&gt;Politics is a game ... played too often by people who've been caught up in the game. It shouldn't take 3 weeks to get water to the super dome. We shouldn't have ~4,000 dead soldiers overseas right now. Examples such as these that show that &lt;em&gt;politics&lt;/em&gt; often times gets in the way of taking action.&lt;/p&gt;

&lt;p&gt;Take action.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2008-02-08:/comments_powered_by_haloscan/</id>
    <title type="html">Comments Powered By HaloScan</title>
    <published>2008-02-08T20:00:04Z</published>
    <updated>2008-02-08T20:00:04Z</updated>
    <link href="http://davidgurba.com/comments_powered_by_haloscan/" rel="alternate"/>
    <content type="html">&lt;p&gt;Site updates continue to occur. I am playing with jQuery more and making this site more feature-full over time. As you can see from the site I have added blocks below each article which link to relevant tagged articles. I seem to over tag things at times so I may re-tag everything in the near future. My updates to this site using jQuery should be rolled out in a short while after I debug my code a bit more :)&lt;/p&gt;

&lt;p&gt;Today I stumbled across a free commenting service for weblogs called &lt;a href="http://www.haloscan.com/"&gt;HaloScan&lt;/a&gt;. Since this website is not powered by any server side code, I believe that this commenting system will help to give me a way to simply provide comments.&lt;/p&gt;

&lt;p&gt;I'm not sure as to how great a commenting system this is. But hopefully in the long run there is a means to re-associate comments with moved articles or to backup my comments in XML or something in the future. This is currently a free service so hopefully it doesn't slow down or break the site horribly.&lt;/p&gt;

&lt;p&gt;You can see my first test comment on this post shortly.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2008-01-31:/davidgurba_com_v2/</id>
    <title type="html">DavidGurba.com version 2</title>
    <published>2008-01-31T15:00:04Z</published>
    <updated>2008-01-31T15:00:04Z</updated>
    <link href="http://davidgurba.com/davidgurba_com_v2/" rel="alternate"/>
    <content type="html">&lt;p&gt;Greetings weathered traveler :)&lt;/p&gt;

&lt;p&gt;I have been working on version 2 of this website. The site went down in October because I couldn't continue to pay my hosting fees. Luckily, I had the forethought to dump my database and sitefiles to a local directory.&lt;/p&gt;

&lt;p&gt;I've been extremely busy with my job and the real world.  Therefore I haven't had time to put the site back up.  I had a small gripe with the software I had been using for the site. It was no longer being actively developed by its maintainer. Having seen the success of static content generators for various websites I frequent daily ... I decided to jump on the bandwagon and use one to roll out my new website.&lt;/p&gt;

&lt;p&gt;I ended up using a tool called &lt;a href="http://nanoc.stoneship.org/"&gt;Nanoc&lt;/a&gt; for the site.  While researching a static content generator I noticed Nanoc2 was released at the new year. So, I spent 1.5 hours creating migrate_site.rb which takes all my old posts and slurps them into a Nanoc2 compatible structure.  It took an hour and half primarily because DBI decided to break that afternoon, and I had to switch to Sequel for the database connectivity the script.  I find myself continually using Sequel, Rio and the Shell to do my various tasks.&lt;/p&gt;

&lt;p&gt;So, the site is nearly completely static. You'll find no databases or complicated webservers here. There is one exception within the site that makes it non-static. I am endevouring to make major pieces of the site DHTML/AJAX driven. You can see the beginnings of this with the Options dashboard at the top of every page. Similarly I have a goal to rid myself of the archive and tag pages and replace them with custom made JS enabled widgets.  I am currently using &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; for all the JS on this site. I like the fact that it plays nicely with other JS frameworks. At later date if I choose to drop in a pre-built applications into this website I won't need to care if the app plays nice with jQuery because the core team has made it a non-issue for me.  Good job jQuery guys!&lt;/p&gt;

&lt;p&gt;Todo List:
&lt;em&gt; fix disclaimer hide button
&lt;/em&gt; fix 2 CSS issues in Safari/IE at bottom/right of page.
&lt;em&gt; double check custom google search once live
&lt;/em&gt; review migrated content for proper display on new site
* show old images on new site&lt;/p&gt;

&lt;p&gt;So ... I know there are issues and they will be resolved shortly.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-10-29:/mysql_said_to_me/</id>
    <title type="html">Mysql said to me ...</title>
    <published>2007-10-29T17:12:00Z</published>
    <updated>2007-10-29T17:12:00Z</updated>
    <link href="http://davidgurba.com/mysql_said_to_me/" rel="alternate"/>
    <content type="html">&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;MySQL said:  #2006 - MySQL server has gone away&lt;/em&gt; &lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Its been sweet. So long, I'm sorry I created so many temporary tables in my query and brought you down :(  you will be missed. It felt like just yesterday that we had our first SELECT * fiasco ... you were pretty dirty back then.  Then I learned I all that you could do; we aliased, joined and discretely selected what we wanted to do.&lt;/p&gt;

&lt;p&gt;I'm so sorry I didn't get to know you better recently before you left; we've both grown so much since we first met. I'd loved to trigger some more of your emotions and view you every-now-and-then when I pass you on the street.&lt;/p&gt;

&lt;p&gt;-dg &lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-10-16:/drupal_5x_critique/</id>
    <title type="html">Drupal 5.x Critique and Thoughts</title>
    <published>2007-10-17T05:39:00Z</published>
    <updated>2007-10-17T05:39:00Z</updated>
    <link href="http://davidgurba.com/drupal_5x_critique/" rel="alternate"/>
    <content type="html">&lt;p&gt;Below is a brief listing of current project details I am developing using Drupal.  Feel free to correct or comment on any items seen herein.&lt;/p&gt;

&lt;h3&gt; Types of Drupal Coversions and Creations&lt;/h3&gt;

&lt;p&gt;I have been developing with Drupal for the last 3-4 months. I have worked on Drupal Installations with the following properties:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;migrate an existing proprietary DB structure with ~10k of articles and ~40k of images into Drupal hand-coding node insertion thru custom php scripts and Drupal API calls.&lt;/li&gt;
&lt;li&gt;migrating 12 static filesystem based websites to be powered by 1 Drupal installation.&lt;/li&gt;
&lt;li&gt;Ported a classic php driven template website into Drupal.&lt;/li&gt;
&lt;li&gt;Empowering my friends that play &lt;a href="http://www.worldofwarcraft.com/index.xml"&gt;WoW&lt;/a&gt; with a simple guild website driven by Drupal. [ugg ... world of warcraft, I feel tainted] in which I turned on the key and let them design the look and feel of the site and its contents [I &lt;strong&gt;do not&lt;/strong&gt; play wow].&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;These works are either in-progress, or at the least for client privacy currently undisclosed.  In short, I'm an active web developer who uses Drupal [currently] in his day to day affairs.&lt;/p&gt;

&lt;h3&gt; The levels of Drupal Interactions and Experiences I have Had&lt;/h3&gt;

&lt;p&gt;I have dipped into the various layers of Drupal in creating these projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Customizing the layout and design of the front-facing site&lt;/li&gt;
&lt;li&gt;adding/creating custom content types for use by  users with a Role of &lt;em&gt;Editor&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;importing raw data into drupal&lt;/li&gt;
&lt;li&gt;Creating custom output for various content types.&lt;/li&gt;
&lt;li&gt;installing/researching Drupal module components&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt; Drupal Pros&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Sane DB Structure for content seperation (nodes) and internationalization.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;decent&lt;/em&gt; Hook System to alter Drupal's default behaviors. [Something about traffic congestions at freeway on-ramps and off-ramps still makes me queasy regarding this ... but in brief thought I dont have a better solution]&lt;/li&gt;
&lt;li&gt;High level module system with simple code architecture [typically 1 mammoth file and 1 description file]&lt;/li&gt;
&lt;li&gt;High level custom UI creation capabilities [blocks, views, panels, various allowed kinds of template files, function overrides]&lt;/li&gt;
&lt;li&gt;Modules a plenty for customization of Drupal without re-inventing the wheel.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Active&lt;/strong&gt;, On-going Development with turn around time between major releases at about 1 to 1.5 years.&lt;/li&gt;
&lt;/ol&gt;


&lt;h3&gt; Current Drupal 5.x Woes&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Near broken JS usage. &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; is nice, but the initial implementation within Drupal 4.7 and widespread usage of 5.x has 1 &lt;strong&gt;HUGE&lt;/strong&gt; snafu. The core developers failed to enforce the use of namespaces within Core or 3rd party modules which have jQuery usage:&lt;/li&gt;
&lt;/ol&gt;


&lt;ul&gt;
&lt;li&gt;Drupal's jQuery should play nice with MooTools, Prototype and all other JS Frameworks out of the box. As a developer I should be able to take my favorite open source JS-enabled slideshow, charting, gallery, todo-list applications drop them into a drupal Page (a built in content type) and have them work.

&lt;ul&gt;
&lt;li&gt;This &lt;a href="http://docs.jquery.com/Using_jQuery_with_Other_Libraries"&gt;jQuery DOC page: Using jQuery with other libraries&lt;/a&gt; created on January 25, 2007 shows jQuery has a mechanism to allow for cross framework mixing in a single web application.&lt;/li&gt;
&lt;li&gt;This &lt;a href="http://drupal.org/node/170418"&gt;Drupal Core Ticket Issue&lt;/a&gt; shows in Aug 2007 a solution was posed to add a top-level namespace to Drupals default JS installation. Which has been slated for Drupal 7 consumption. &lt;em&gt;A 1 year wait to play safe with other JS libraries!?&lt;/em&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://drupal.org/node/170418#comment-294725"&gt;This ticket also has a comment &amp;mdash; that this looks like a step back&lt;/a&gt;.  That scares me somewhat. Core developers not understanding how to safely place your js code into a namespace is akin to not understanding that polluting PHPs global space is bad. We have coding standards for PHP (followed well for the server-side php code Drupal is empowered by). Why weren't similar proper programming standards imposed for client-side js usage? ... So I'm busted on using myriads of other software components because people didn't know how to safely code js. Unless I fix various &lt;em&gt;Core&lt;/em&gt; and &lt;em&gt;Theme&lt;/em&gt; files by hand.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
&lt;li&gt;Drupals various mechanisms for creating "Views", its great there are many ways but seeing how these features have evolved over time has made knowing the best way to achieve your desired view somewhat clunky and almost miraculous when its finally in place. &lt;a href="http://drupal.org/project/views"&gt;Views&lt;/a&gt; makes generating simple blocks easy [its an inituative point and click interface]. But if you want your site to feel non-Drupal-like you have to create override functions to output html which you desire and not the default canned stuff. So its a dilemnia at times to say: Do I make it from scratch, or use Views as a starter. Generating views with: .tpl files, function overrides and core drupal-generated html is confusing. A &lt;strong&gt;designer&lt;/strong&gt; should be able to create the look and feel of the site and need not know PHP to create custom html for a View.&lt;/li&gt;
&lt;/ol&gt;


&lt;ul&gt;
&lt;li&gt;Good luck editing Drupal 5.x Menu CSS and layout.

&lt;ul&gt;
&lt;li&gt;This &lt;a href="http://video.google.com/videoplay?docid=-4603504844034540440"&gt;Google Tech Talk: Drupal&lt;/a&gt; says Drupal is not really at version 5 its at version 12. Somehow people have lived with this broken Menu css themeing capabilities and other poor useability issues for that many revisions of a codebase. That is not very comforting. Tooling a Drupal page is 1 thing. Designing is another, a web developer should not have a guru at both to get the lookandfeel and behavoir they want.&lt;/li&gt;
&lt;li&gt;The &lt;a href="http://drupal.org/project/views"&gt;Views&lt;/a&gt; module is not a &lt;em&gt;query builder&lt;/em&gt;, calling it such is such a misnomer. Please don't call it that. There is little room for &lt;strong&gt;any&lt;/strong&gt; complex SQL in Views 1.x.  Perhaps we will see that functionality in the &lt;a href="http://www.angrydonuts.com/getting-started-working-on-views-2"&gt;unreleased Views 2.x&lt;/a&gt;. You can make a list of items and sort them.  You cannot generate derived tables in a custom SQL query seeking the max() of aggregate fiscal income and extract a truly customized view. So far as I know thru the default Views admin interface, you just can't do that.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
&lt;li&gt;No bonified Asset Management.  Look at Joomla or Mambo (two other popular PHP based CMSs) and you see that they both have asset management built into the CMS.  A large scale CMS should track not only the data-content of a website, but the external assets like images and other forms of media.&lt;/li&gt;
&lt;/ol&gt;


&lt;h3&gt; Overall Feeling&lt;/h3&gt;

&lt;p&gt;Drupal still has leaps and bounds to go before it handles content &lt;em&gt;and&lt;/em&gt; asset management well.  As its evolving hopefully an easier way to generate  page areas is found and the current swiss-army knife approach to making pages is made more cohesive for developers and designers.  This is perhaps the 1 big drawback from Drupal not being very MVC architechured.  I cant just goto a Model in 1 place and request my data and lay it out as I see fit.&lt;/p&gt;

&lt;p&gt;I think that overall Drupal is a pleasure to get setup and using "out of the box" and get screens up for your site [which will feel Drupal-ish]. A far amount of [sometimes convoluted] has to go into a site to make it not feel like a cookie-cut Drupal site. Hopefully Drupal 6 and Drupal 7 address some of these issues. But, as it stands with the current stable release these issues are un-resolved.&lt;/p&gt;

&lt;h3&gt; addenda&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;I am aware that Drupal 6 has helped to address some of the issues regarding menu components and css skinning&lt;/li&gt;
&lt;/ul&gt;

</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-10-08:/relative_vs_absolute/</id>
    <title type="html">Relative Vs. Absolute</title>
    <published>2007-10-08T22:14:00Z</published>
    <updated>2007-10-08T22:14:00Z</updated>
    <link href="http://davidgurba.com/relative_vs_absolute/" rel="alternate"/>
    <content type="html">&lt;p&gt;This &lt;a href="http://webdesign.about.com/od/beginningtutorials/a/aa040502a.htm"&gt;About.com Article&lt;/a&gt; expresses as clearly as I could have stated, my thoughts on paths in html code.&lt;/p&gt;

&lt;p&gt;I was slightly ranted at today for placing: /css, /js and /images paths in my html [relative paths anchored to the webroot].&lt;/p&gt;

&lt;p&gt;I see anyone using relative paths for everything as a lunatic &gt;:)&lt;/p&gt;

&lt;p&gt;Web sites have specific file-structure layouts, and are typically designed to be hosted at a particular url:
&lt;em&gt; http://www.mysite.com/
&lt;/em&gt; http://www.mysite.com/test/&lt;/p&gt;

&lt;p&gt;An individual told me my site broke when he placed it under a /test directory for appraisal and testing. The site was &lt;strong&gt;destined&lt;/strong&gt; to live within a web_root and not a subdirectory. A directory structure and url structure were assumed, and enforced ... of course it broke.&lt;/p&gt;

&lt;h3&gt; So Why Not Use Relative Paths to Solve this Problem?&lt;/h3&gt;

&lt;p&gt;The issues involved are maintainability and ambiguity. If I have 3 css files which use the file background.jpg. If I have:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;/theme1/background.jpg&lt;/li&gt;
&lt;li&gt;/theme2/background.jpg&lt;/li&gt;
&lt;li&gt;/theme3/background.jpg&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I have to be exact as to which &lt;em&gt;background.jpg&lt;/em&gt; file I use for which theme.  This issue compounds itself when I have dozens of directories and themes! And more so when I have hundreds of HTML files.&lt;/p&gt;

&lt;p&gt;HTML should explicitly state its dependencies. All the information I should need to know for maintaining the site should be on the page.  No prior knowledge of the site's conventions need be known (are there multiple themes, and many similarly named files) to maintain the site.&lt;/p&gt;

&lt;p&gt;I should be able to open up a file and point to a path and say:&lt;/p&gt;

&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Image /images/voodoo_child.jpg is missing and breaking the site.&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;

&lt;p&gt;VS.&lt;/p&gt;

&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Image ../../../images/voodoo_child.jpg is broken. Ok, I'm in france_trip20007/ so thats up to /europe and then up thru /travel and into the images directory.&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;

&lt;p&gt;Its just much easier to always work down from the root of the tree, instead of starting in some obscure middle of the forest location :P&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-10-05:/programming_fonts_shootout/</id>
    <title type="html">Programming Fonts ShootOut</title>
    <published>2007-10-05T15:55:00Z</published>
    <updated>2007-10-05T15:55:00Z</updated>
    <link href="http://davidgurba.com/programming_fonts_shootout/" rel="alternate"/>
    <content type="html">&lt;p&gt;Back in my junior college days I spent about 1 week looking at programming fonts to do Ada programming in. Back then I think I settled on Courier. Over the time I have used Monospace, and more recently under Windows I have been using Consolas.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.codinghorror.com/blog/archives/000969.html"&gt;Coding Horror: Oct '07 Programmer Font Shootout&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I am currently testing out Inconsolata on the Mac.  I have known about Pragmata for the last ~6 years. I will probably buy a copy of it this year (its previously been too pricey to just purchase on a whim).&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-10-04:/tidbits/</id>
    <title type="html">tidbits</title>
    <published>2007-10-04T19:26:00Z</published>
    <updated>2007-10-04T19:26:00Z</updated>
    <link href="http://davidgurba.com/tidbits/" rel="alternate"/>
    <content type="html">&lt;p&gt;Mainly seen on Reddit and surfing about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://homepage.mac.com/kevinmarks/personality.html"&gt;Coding Personalities (examples in C)&lt;/a&gt; A good article showing various stages of a C programmer and their Personality as seen in their code. Good coding styles/examples and I learned the word &lt;em&gt;sprong&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.contactify.com"&gt;Contactify -- web 2.0 contact form service&lt;/a&gt; a web 2.0 contact form handler. Nice service idea ... but is their site down or service not working right?! It's not for me (and I have emailed them about it).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://betech.virginia.edu/index.php/2007/10/03/css-sitemap/"&gt;idea: CSS Sitemap&lt;/a&gt; Very nice idea which looks very useable and relatively accessible.  It will be neat to see where it can go.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;In other news I am working more and more with Drupal on a daily basis at work. I hope to shed some light on these developments in the coming days.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-28:/os_x_memory_readout_snafu/</id>
    <title type="html">os x memory readout ... snafu</title>
    <published>2007-09-28T21:12:00Z</published>
    <updated>2007-09-28T21:12:00Z</updated>
    <link href="http://davidgurba.com/os_x_memory_readout_snafu/" rel="alternate"/>
    <content type="html">&lt;p&gt;&lt;img alt="OS X memory readout after brief startup period" src="http://farm2.static.flickr.com/1165/1455003074_3f6e3b2982_m.jpg" title="OS X Memory Readout" style="float: top; margin: 5px 5px 5px 5px"/&gt;
Somebody please explain how there can be so much blue (Inactive Memory) when  there is very little Yellow (Active Memory) in the image to the left. Calling &lt;a href="http://www.hmug.org/man/1/top.php"&gt;top&lt;/a&gt; also reveals little  further useful information.&lt;/p&gt;

&lt;p&gt;From &lt;a href="http://docs.info.apple.com/article.html?artnum=107918"&gt;Apple's Doc page&lt;/a&gt; Inactive Memory is:&lt;/p&gt;

&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;This information is no longer being used and has been cached to disk, but it will remain in RAM until another application needs the space. Leaving this information in RAM is to your advantage if you (or a client of your computer) come back to it later.&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;

&lt;p&gt;Ok so it &lt;strong&gt;&lt;em&gt;was&lt;/em&gt;&lt;/strong&gt; used, but where? My Wired memory (Red) was a constant size, and my Active Memory was also fairly consistant. Its one thing to say "we used it" but in my opinion these graph readouts are fair too static to show any fine-grain meaningful detail and are ultimately slightly misleading.&lt;/p&gt;

&lt;p&gt;I guess my quandery is that I dont see how:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Yellow_Area + Red_Area = Blue_Area&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I'm familiar with Java and Unix memory models where I allocate memory needed for a datastructure (or perhaps a default size for every datastructure like a Hash size of 50 in Java) and only request as much as needed, and then reclaim it perdoically thru either GCing or usage of a desctructor through the lifecycle of my application.&lt;/p&gt;

&lt;p&gt;So, if  programs are humming along at a decent clip and doing work and freeing their allocations when completed I might expect:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Yellow_Area + Red_Area &amp;lt;= Blue_Area&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;If a program was consuming memory like crazy (!?!) I might expect:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Yellow_Area + Red_Area &gt;&gt; Blue_Area&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;with a bit of blue always being eaten up.&lt;/p&gt;

&lt;p&gt;I think it's somewhat illogical or confusing to see relatively static sizes for Red and Yellow and an &lt;strong&gt;&lt;em&gt;ever-increasing&lt;/em&gt;&lt;/strong&gt; slice of blue. If perhaps, another possibility is a series of applications constantly freeing their bottom frames of memory, I would expect to see quick fluxuations in the slices of Red and Yellow (such as a blitter effect).  But the readout of these images are so passively updated I just dont see valid trend data for the resulted graph output ...&lt;/p&gt;

&lt;p&gt;So, is the Blue area by default then always just going to bubble up and cover the whole graph similar to the oceans of the world? I question the usefulness of this rendered output if its not updated fast enough to be useful in tracking the overall system process(es) memory usage within the last few seconds. Perhaps it's only good as a measure of saying "at the end of the day ... my system is performing ok ... and it didn't grind to halt". But if thats the case ... why have the pie chart???&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-28:/jedit_gc_macro_snafu/</id>
    <title type="html">jedit GC macro snafu :D</title>
    <published>2007-09-28T16:42:00Z</published>
    <updated>2007-09-28T16:42:00Z</updated>
    <link href="http://davidgurba.com/jedit_gc_macro_snafu/" rel="alternate"/>
    <content type="html">&lt;h3&gt; Java/JEdit eats up my memory slowly&lt;/h3&gt;

&lt;p&gt;Java under Mac OS X is kinda chuggy and I think my memory footprint slowly walks away from me. So, my bright idea at 7am. Write a small script to live in /startup to call the GC every 3 minutes. No headache on my end and I dont care it does useless work every few minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;DO NOT RUN THE FOLLOWING MACRO IN JEDIT ... OR SET IT AS A STARTUP SCRIPT&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;:D&lt;/p&gt;

&lt;p&gt;&lt;code class="java"&gt;
import java.lang.Thread;
import java.lang.Runtime;&lt;/p&gt;

&lt;p&gt;// Simple cron-like GCing every few minutes for jEdit.&lt;/p&gt;

&lt;p&gt;try {&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;while (true) {
    second_unit = 1000; // unit of millisecond.
    rest_time = 300 * second_unit;
    Runtime r = Runtime.getRuntime();
    r.gc();
    Thread.sleep(rest_time);

}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}
catch (Exception e) {&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;System.out.println(e.getMessage());
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So its in /startup, and I debug the code in Jedit's Utilities -&gt; Beanshell -&gt; EvaluateSelection.  The next thing I know my selection won't unselect, the menus dont respond, and the OS X dashboard can't even close the application .... teh froze :(&lt;/p&gt;

&lt;p&gt;So I'm laughing at myself going ... &lt;em&gt;I put it to sleep ... for 3 minutes ... I have a 0.003 window to close it in 3 minutes!! :P&lt;/em&gt;.  Sigh, so I resort to OS Xs System Monitor and kill the application manually. JEdit restarts ... and immediately hangs :D hahahaha.&lt;/p&gt;

&lt;h3&gt; My Simpler solution&lt;/h3&gt;

&lt;p&gt;&lt;code class="java"&gt;
// David Gurba
// 28 Sept. 2007
// gc-cleanup-safe.bsh
//
// usage: place in ${jedit_home}/macros/misc/
//        tie a keyboard macro to it. I use: Ctrl+G+Ctrl+C.
Runtime.getRuntime().gc();
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now its up to me to GC. But I dont have to use the mouse to activate it, my hands can stay comfortablely on the keyboard.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-25:/programming_primer_1/</id>
    <title type="html">Programming Primer 1</title>
    <published>2007-09-25T17:35:00Z</published>
    <updated>2007-09-25T17:35:00Z</updated>
    <link href="http://davidgurba.com/programming_primer_1/" rel="alternate"/>
    <content type="html">&lt;h3&gt; Write a simple test summary tool in C.&lt;/h3&gt;

&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;Accept an input of test scores and output the highest testscore, lowest testscore and the average testscore.&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;

&lt;h3&gt;Solution&lt;/h3&gt;

&lt;p&gt;&lt;code class="c"&gt;
/&lt;em&gt;
  dgurba
  09/25/2007
  score.c -- a simple test score tool.
&lt;/em&gt;/&lt;/p&gt;

&lt;h1&gt;include &amp;lt;stdio.h&gt;&lt;/h1&gt;

&lt;h1&gt;include &amp;lt;stdlib.h&gt;&lt;/h1&gt;

&lt;h1&gt;define PREAMBLE "Test Tool\n\n"&lt;/h1&gt;

&lt;h1&gt;define PROMPT "Enter score: "&lt;/h1&gt;

&lt;h1&gt;define POSTAMBLE "\nTest Tool\n\nHigh Score: %g\nLow Score: %g\nAvg Score: %g\n"&lt;/h1&gt;

&lt;h1&gt;define SCORE_FORMAT "%e"&lt;/h1&gt;

&lt;p&gt;int main(int argc, const char* argv[]) {&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;float score, low_score, high_score, avg_score, cumulative_score;
int iterations;

iterations = 0;
score = 0.0;
low_score = 0.0;
high_score = 0.0;
avg_score = 0.0;
cumulative_score = 0.0;

printf(PREAMBLE);
do {
    printf(PROMPT);
    scanf(SCORE_FORMAT, &amp;amp;score);
    if (score != -1) {
            if (iterations &amp;gt; 0) {
                if (score &amp;lt; low_score) { low_score = score; }
                if (score &amp;gt; high_score) { high_score = score; }
            } else {
                low_score = score;
                high_score = score;
            }
            cumulative_score += score;
            iterations++;
    }
} while (score != -1);

if (iterations &amp;gt; 0) { avg_score = cumulative_score / iterations; }
printf(POSTAMBLE, high_score, low_score, avg_score);
exit(0);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}
&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt; Interesting Notes&lt;/h3&gt;

&lt;p&gt;Though this is a simple example of basic programming structures and logic. Many students get hung up on how to do the Online Search used throughout the program. The term &lt;em&gt;online search&lt;/em&gt; comes of Artificial Intelligence terminology. An Online Search is a dynamic search, real-time search while the user waits, for an answer.&lt;/p&gt;

&lt;p&gt;Many students think they will store all the inputs in an array or list and then use If/Else logic to find the solution, or sort the array and find the requested values.  Any of these methods are valid, but a simple program such as this is a good example of figuring out the best answer in real-time, at any iteration in the loop you have computed the correct value for low_score and high_score.&lt;/p&gt;

&lt;p&gt;An Offline Search would be gathering all the values and then inspecting them for the lowest, highest and average. An Offline Search is a search performed not from real time data, but from a store of data and rules.&lt;/p&gt;

&lt;p&gt;Always compile with at &lt;strong&gt;&lt;em&gt;least&lt;/em&gt;&lt;/strong&gt; the following options [-Wall is important for strict debugging in advanced C usage]:
&lt;code class="shell-unix-generic" numbers="no"&gt;
$ gcc score.c -Wall -o score
&lt;/code&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-24:/relationships_and_cash/</id>
    <title type="html">Relationships and Cash</title>
    <published>2007-09-24T14:37:00Z</published>
    <updated>2007-09-24T14:37:00Z</updated>
    <link href="http://davidgurba.com/relationships_and_cash/" rel="alternate"/>
    <content type="html">&lt;h3&gt; Intro&lt;/h3&gt;

&lt;p&gt;Smith and Frank were over with their wives Lisa and Mary for my roommates birthday celebration.  An interesting tale of marriage life arose.&lt;/p&gt;

&lt;p&gt;My friend Smith recently got a new computer chair for $350.00.  While at the store his wife Lisa said that he could get the new computer chair, IF she got a new computer desk.  Similarly, my friend Frank recently got some books for school, and his wife Mary said that he could get this library of books if she could get a few dvds at the store.&lt;/p&gt;

&lt;h3&gt; Question&lt;/h3&gt;

&lt;p&gt;Where does this idea of being owed cash / gifts / stuff come from when one partner is buying something at the store? We all see this happen every day around us.&lt;/p&gt;

&lt;h3&gt; Analysis&lt;/h3&gt;

&lt;p&gt;In these relationships I think that the income is 1-sided. One person makes the lions share of the monthly income:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;for Smith and Lisa the ratio is near 9:1&lt;/li&gt;
&lt;li&gt;for Frank and Mary the ratio is near 3:1&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The wives explained that their husbands were allowed to spend the cash as long as they were allowed equal-valued purchases when they went out.  This strikes me as odd for a few reasons:
1. marriage is a &lt;em&gt;equal&lt;/em&gt; union between 2 people.
  1. this includes financial equality -- that both parties must be equal contributors to the cost of living: rent, food and pleasures.
2. if the income earner owes the other person restitution for &lt;em&gt;their&lt;/em&gt; personal purchases; what can Mary do for Frank when she buys $100 cd player for herself?
  1. answer: &lt;em&gt;nothing?&lt;/em&gt; what can they give back if they hardly make enough money for their own spending?  Take this to an extreme. If Frank dies, then Mary inherits a large sum of money. &lt;strong&gt;what if&lt;/strong&gt; Mary dies first? What does Frank get??? ... a whole lot of nothing.  That is not fair. Mary is not considering in the long run her best actions for her partner.&lt;/p&gt;

&lt;h3&gt; Overview &lt;/h3&gt;

&lt;p&gt;The issues here are many. Marriage is between 2 adults.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Adults&lt;/em&gt;&lt;/strong&gt; should understand how to be self sufficient thru:
&lt;em&gt; gainful employment
&lt;/em&gt; being responsible and finding responsibilities to uphold within a household
&lt;em&gt; have good money management skills
&lt;/em&gt; be active in finding leisure activities and projects todo [even group activities in the community at large: tennis, swimming, art museums ... whatever]&lt;/p&gt;

&lt;p&gt;Being self sufficient is a good thing. Everyone needs some time to themselves at times. And, although no one wants to think about it ... your special someone will not always be there for you. People die, at some point &lt;strong&gt;&lt;em&gt;you will be alone&lt;/em&gt;&lt;/strong&gt;. Having these skills are crucial for yourself, and your partner to survive in this life (both when happily together, and eventually apart)!&lt;/p&gt;

&lt;p&gt;If a responsible adult doesn't consider these things &lt;em&gt;for themselves&lt;/em&gt; then they won't be able to consider these things when in a relationship with somebody else.  And then issues like money will make the relationship more one-sided. It's simply unfair for 1 person to do all the work, to do all the chores, to pay all the bills, do all the shopping. Relationships are about working together to &lt;em&gt;be together&lt;/em&gt;. Ignoring these issues can cause feelings to build up over time, and be bad in the long run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Adults&lt;/em&gt;&lt;/strong&gt; should plan for the future, including housing, kids, income level, educational opportunities, healthcare, life-insurance; and try to always think in the best interest of both parties (or the family).&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-23:/reading_the_wanders_tale/</id>
    <title type="html">Reading: The Wander's Tale</title>
    <published>2007-09-24T05:47:00Z</published>
    <updated>2007-09-24T05:47:00Z</updated>
    <link href="http://davidgurba.com/reading_the_wanders_tale/" rel="alternate"/>
    <content type="html">&lt;p&gt;Picked up a new book today at the bookstore. It is part 1 of a 2 part series by by an author I have never read named &lt;em&gt;David Bilsborough&lt;/em&gt;.  The title of the work is &lt;a href="http://www.tor-forge.com/thewandererstale"&gt;The Wanderer's Tale&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This title intrigued me because the title reminds of Diablo2 and the concept of &lt;em&gt;the wanderer&lt;/em&gt; found in Diablo 2 lore. Looking at the front and back cover I think I'm getting in a Lord of the Rings like book with a motley crew of heroes against an ancient, malevolent evil.  Sounds good to me!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;progress: I read the prologue, part of Chapter 1 and reviewed the Glossary.&lt;/li&gt;
&lt;li&gt;initial thoughts: a vast world with Giants, mythical creatures, magic, Dragons, a vast continent-based world.&lt;/li&gt;
&lt;li&gt;reading response:  I get the feeling I'm getting too much detail as I read the book thus far.  I like the details, but not so much detail on every little person, area, time of day, type of insects .... found under the sun! :P&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;It's good so far, and I hope I get into thick plot(line) shortly. I hope I'm setup ok for the second book due out in 2008.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-20:/neato/</id>
    <title type="html">neato</title>
    <published>2007-09-20T15:03:00Z</published>
    <updated>2007-09-20T15:03:00Z</updated>
    <link href="http://davidgurba.com/neato/" rel="alternate"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.yworks.com/en/products_yed_about.htm"&gt;yEd&lt;/a&gt; - The parent company &lt;a href="http://www.yworks.com"&gt;Yworks&lt;/a&gt; makes some pretty neat software. I will probably use their obfuscator in the future, and their graphing tool for diagrams (at least for a little while).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://homework.nwsnet.de/"&gt;Homework Productions&lt;/a&gt; ok, this guy has a really nice site, built on OSS tools (including yEd above) and also his own home-grown Python blogging engine, I think backed by &lt;a href="http://genshi.edgewall.org/"&gt;Genshi&lt;/a&gt;.  I may give it a whirl to re-theme this site into something more like his and use SimpleLog and its features to that end.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;... we will see :).  Really interesting links though.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-16:/k_thru_12_schooling/</id>
    <title type="html">What is the point of K-12 schooling?</title>
    <published>2007-09-16T21:23:00Z</published>
    <updated>2007-09-16T21:23:00Z</updated>
    <link href="http://davidgurba.com/k_thru_12_schooling/" rel="alternate"/>
    <content type="html">&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;NOTE: I think very highly of my friends (and their friends), and this post is not directed as an attack or rant towards anyone ... merely my thoughts on schooling.&lt;/strong&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;A friend of a friend of mine wrote this blog post, &lt;a href="http://www.jacobaaronbundren.com/2007/09/15/welcome-to-the-third-world/"&gt;Welcome to the Real World&lt;/a&gt;, discussing why we go to school, or whether we should be dropped directly into college level studies and forgo the rigmarole of kindergarten through 12th grade.&lt;/p&gt;

&lt;p&gt;A local cached copy of the article can be found in my &lt;a href="http://davidgurba.com/pages/cached_real_world"&gt;cached pages: why school&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt; What do we learn throughout school?&lt;/h3&gt;

&lt;p&gt;We learn a lot while at school. Our learning encompasses many areas, both social and scholastic. We develop (over many years) the capacity the build arguments and learn how to communicate with individuals and groups.&lt;/p&gt;

&lt;p&gt;Learning is a cumulative process akin to building a complex structure out of Legos.  We all need various little pieces of know-how to build grand structures. Various little pieces of such knowledge include:
&lt;em&gt; basic arithmatic
&lt;/em&gt; basis reading skills
&lt;em&gt; basic writing skills (printing and cursive)
  &lt;/em&gt; this ability alone takes years to become proficient in
&lt;em&gt; simple problem solving and deductive skills
&lt;/em&gt; time management skills &lt;/p&gt;

&lt;h3&gt; What purpose does schooling serve?&lt;/h3&gt;

&lt;p&gt;Schools give a child a place to learn the various minutia described above. A major benefit of schools are the many examples and methods a child is shown to complete a task. Very few people are savants at learning, we must each be shown how to complete a task, at least once, so that we may internalize the process and reproduce it later after having &lt;em&gt;learned&lt;/em&gt; it.&lt;/p&gt;

&lt;p&gt;So school is a huge pond to gather experiences and perform this learning in. We also learn about &lt;em&gt;past things&lt;/em&gt;. Take for instance someone who has not ever been to school and they stumble into a Native American ... in some place called a &lt;em&gt;reservation&lt;/em&gt;.  Without the basic historical knowledge of Native Americans learned as a child that person would not know who these people where, why they were in a certain area, or what had happened to them to be there now.&lt;/p&gt;

&lt;p&gt;Without this learned knowledge. Survival of the fittest simply would not apply.  Survival of the fittest comes from generations of individuals sharing and mingling their traits together. But, if everyone didn't go to school until college ... we would  all be starting from 0 and having to learn everything we should have learned as a child.  Over generations there would be not survival of the fittest because each generation would all be equally un-fit to begin with. People would go nowhere because they would not have learned what came before, how to interact with others, and how to approach solving problems.&lt;/p&gt;

&lt;h3&gt; What can I get out of school?&lt;/h3&gt;

&lt;p&gt;The short answer is: &lt;em&gt;whatever you wanted to get out of school&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;School is a bountiful resource to those fortunate enough to be able to attend one. If you wanted, or found a desire, to learn mathematics then you could have learned the building blocks of mathematics. And, in university taken that knowledge and explored original ideas and concepts never before thought of.&lt;/p&gt;

&lt;p&gt;You can get exposed to other ways of looking at a single math problem from your 5 friends you met while at school. Each of these friends would have a different way of attacking the exact same problem.&lt;/p&gt;

&lt;p&gt;School and Learning may not always be fun. Learning is a never-ending process in which we all continually learn, stumble and endeavor in areas of interest we are familiar with ... and at times completely alien to.&lt;/p&gt;

&lt;h3&gt; Whats the point of a degree?&lt;/h3&gt;

&lt;p&gt;A degree is a pole by which to measure your level of competence.  In point of fact, an interview process will ultimately decree whether or not you &lt;strong&gt;get&lt;/strong&gt; a job. The piece of paper that says '&lt;em&gt;i know this material&lt;/em&gt;' merely helps to confirm to a company or individual that you are an expert in your area of interest.&lt;/p&gt;

&lt;h3&gt; What about Real Life&amp;trade; at what point do we learn that?&lt;/h3&gt;

&lt;p&gt;At every point of your life you are learning and experiencing everything about &lt;em&gt;real life&lt;/em&gt;.  You are constantly in it and surrounded by it. It takes teachers, guides, family and friends to realize this small fact. Did you not realize that you were learning and experiencing things that would help you get a job, relate to people and solve problems all throughout your time in school and growing up? Maybe you didn't learn &lt;em&gt;enough&lt;/em&gt; up until now.&lt;/p&gt;

&lt;p&gt;You take what you &lt;em&gt;want&lt;/em&gt; from school and life, and nothing more. The &lt;em&gt;earlier&lt;/em&gt; one realizes this fact ... the better.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-16:/server_site_maintenance/</id>
    <title type="html">server + site maintenance</title>
    <published>2007-09-16T15:38:00Z</published>
    <updated>2007-09-16T15:38:00Z</updated>
    <link href="http://davidgurba.com/server_site_maintenance/" rel="alternate"/>
    <content type="html">&lt;p&gt;While I have been able to put up a post or two every few days. I have been unable to make &lt;em&gt;any&lt;/em&gt; progress on other projects outside of my day to work schedule.&lt;/p&gt;

&lt;p&gt;I intend to:
&lt;em&gt; rework the site layout with a little with Javascript.
&lt;/em&gt; add 1 or 2 Rails/PHP enabled sites to my server.
* enable SCM repository access from my server.&lt;/p&gt;

&lt;p&gt;As I work on these items over the next week (or so) you may find this site down for an hour or two ... it is nothing to fret. But probably better to be done now, rather than later.&lt;/p&gt;

&lt;p&gt;I am extremely please with &lt;a href="http://www.slicehost.com"&gt;Slicehost&lt;/a&gt; thus far.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-14:/me_upto/</id>
    <title type="html">me.upto?</title>
    <published>2007-09-14T19:01:00Z</published>
    <updated>2007-09-14T19:01:00Z</updated>
    <link href="http://davidgurba.com/me_upto/" rel="alternate"/>
    <content type="html">&lt;h3&gt; Quote of the day&lt;/h3&gt;

&lt;blockquote&gt;&lt;p&gt;&amp;quot;Learning how to use CSS for creating web sites is a pain in the ass. It&#8217;s not easy and it will hurt you.&amp;quot; &amp;mdash; &lt;em&gt;&lt;a href="http://particletree.com/features/an-overview-of-current-css-layout-techniques"&gt;Kevin Hale of Particletree&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;

&lt;h3&gt; Readings [Finished]&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.danbrown.com/novels/digital_fortress/"&gt;Digital Fortress&lt;/a&gt; by Dan Brown.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I just read this for the second time during last week.  I have a fun time with cryptography and computer science. It's a very good page-turning book.&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://www.richardpreston.net/books/hz.html"&gt;The Hot Zone&lt;/a&gt; by Richard Preston.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I finished this book yesterday. It's a good read about biological viruses (specifically &lt;a href="http://en.wikipedia.org/wiki/Filovirus"&gt;filovirus&lt;/a&gt;) and essentially of a threat that could wipe out ~90% of the human population on Earth.  Good read (not on a full stomache ... :/)&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Sleep is a good thing&amp;trade; ... and I need more of it during the week.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-12:/web_programming_with_php_rant/</id>
    <title type="html">web programming [with php rant]</title>
    <published>2007-09-13T05:01:00Z</published>
    <updated>2007-09-13T05:01:00Z</updated>
    <link href="http://davidgurba.com/web_programming_with_php_rant/" rel="alternate"/>
    <content type="html">&lt;p&gt;A long time good friend of mine asked me this over email this morning:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;hey, do you use Ruby? I remember you was talking about PHP sucks, which I am agree.  can you tell me little bit about whether Ruby is better than PHP?  Or what is the best language for web development in your mind?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;And he requested I make it a blog post.  I dont mean to rant or rave in this posting but I will lay out the facts as I know them in my 3-4 years of web development.&lt;/p&gt;

&lt;p&gt;I am familiar with: JSP, ASP, RoR, Camping, PHP, CakePHP, CodeIgniter and Coldfusion 7. I have either developed from scratch site(s) in the above languages, or maintained an existing codebase created in the above languages.  I am not necessarily an expert in either language, but am proficient in many of the languages/frameworks.&lt;/p&gt;

&lt;h3&gt; Is Ruby better than PHP?&lt;/h3&gt;

&lt;p&gt;As a programming language, yes, Ruby is much more robust and complete language that is more cohesive than PHP4 or PHP5. Ruby performs the job of scripting tasks better than PHP. My opinion is that Ruby's clearer syntax allows me to complete tasks quicker, and when I have to maintain a codebase 4 months after creation ... Rubys english-like syntax allows me to more easily digest what I previously wrote.&lt;/p&gt;

&lt;h4&gt; Examples where PHP seems less polished than other languages:&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Having only function or global scope with no form of namespaces in PHP really sucks. Since nothing &lt;strong&gt;should&lt;/strong&gt; be global (I have used Fortran77 and GLOBAL scope before), and we have no namespaces every single controller has to do something like&lt;code class="php"&gt;
&amp;lt;?php&lt;/li&gt;
&lt;/ol&gt;


&lt;h1&gt; source:  http://manual.cakephp.org/chapter/controllers&lt;/h1&gt;

&lt;p&gt;$this-&gt;set('users', $this-&gt;requestAction('/users/getUserList'));
?&gt;
&lt;/code&gt; the transparency of MVC is lost here. The variables I have created in my controller for the given action should be available to the view and having to explicity set them this way adds an un-necessary level of indirection.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;PHP frameworks may copy RoR (many do) but due to PHPs poor design will never really compete at &lt;em&gt;innovating&lt;/em&gt; web frameworks. RoR did it 1st and best. &lt;em&gt;(ok, seaside did it first ... but RoR won the popularity contest :P)&lt;/em&gt; &lt;strong&gt;[see point 1]&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;PHP5 may have added features to the language which make it more capable with Object Orientation. But overall, the language still feels tacked-together and will never fully have a similar power equal to Ruby in terms of expressiveness, capability, or elegance. Examples:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;C style functions suck. &lt;code class="php"&gt;
&amp;lt;?php
$ret = preg_match('/showmethemoney/i', $value, $matches);
?&gt;
&lt;/code&gt; If I wanted to code with the hardware and memory abstractions of C I would use C. For the love of god let me type: &lt;code class="ruby"&gt;matches = value.match /showmethemoney/i&lt;/code&gt; Let me worry about the problem at hand and how to solve it and not about mundane details regarding the memory implementation of the underlying hardware.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;poor heredoc support. Many languages support the heredoc syntax for a string. Ruby allows for:&lt;code class="ruby"&gt;
def foo
val =&amp;lt;&amp;lt;-EOFMSG
   I am a string.
EOFMSG
end
&lt;/code&gt; PHP does not allow for your end of heredoc marker to be anywhere but column 1 of the file. For example:&lt;code class="php"&gt;
&amp;lt;?php
function foo() {
$val =&amp;lt;&amp;lt;&lt;EOFMSG
   I am a string.
EOFMSG;
?&gt;
}
&lt;/code&gt; This breaks the visual lexical scope of the page when I print out sourcecode. The block structure of source files, and therefore proper indenting mean something for &lt;em&gt;readability&lt;/em&gt; of code. PHP goes out of its way to break the visible structure of my code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Stupid reference operator.  Ruby allows for . and :: as a resolution, dereference or scope operator.  PHP allows for :: or -&gt; to denote scope.  Why force me to type -&gt; when . will do just fine. I don't like typing extra characters and its annoying to have to read things like &lt;a href="http://www.loloyd.com/php_journey/chaining"&gt;found here&lt;/a&gt;: &lt;code class="php"&gt;
&amp;lt;?php
$refA = new ObjectA;
echo($refA-&gt;getObjectB()-&gt;getValueA()); //this is chaining
/&lt;em&gt; or another example &lt;/em&gt;/
$picasa&lt;em&gt;imageUrl = $picasaweb&lt;/em&gt;xpath-&gt;query('.//media:content/@url', $picasa_node)-&gt;item(0)-&gt;textContent; //deep chaining
?&gt;
&lt;/code&gt; I see this method chaining as a poor hack for not language not supporting closures. Method chaining will only abstract your code insofar as you can clearly define a method of every usage of the object you may have. Without closures doing critical in-between business logic you may as well make the code more readable and break everything up into normal linear function calls and save off the resulting values.&lt;code class="php"&gt;
&amp;lt;?php
$foo= Baz::value();
?&gt;
&lt;/code&gt;Closures let you &lt;strong&gt;NOT&lt;/strong&gt; have to have a million little methods so that you could chain them all together as needed. They let you place the glue code in-place ... but in a readable, English fashion [There are no $ -&gt; () symbols littering the code everywhere]. Ruby syntax is for the most part cleaner.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The governing body of PHP has allowed for a mass of inconsistently named function names in the core php library, come on we are at version 6 (nearly).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Complex string evaluation does not allow for easy function embedding withing a string (Ruby allows this).&lt;code class="php"&gt;
&amp;lt;?php&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;h1&gt; This wont work in heredoc format either.&lt;/h1&gt;

&lt;p&gt;echo "This wont work {my_magic_number()}";
?&gt;
&lt;/code&gt;I like heredoc syntax because it can make emitted xml/html code much cleaner to read, but sometimes I wish I could embed function calls into the string as well without first terminating the string and then concating.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;PHP allows for some akward syntax, which I think breaks readability. My coding standard is to put operators at the end of a expression if the expression would continue on more on than one line, as reading in English we go top to bottom and left to right. Seeing dangling commas is bad practice and &lt;em&gt;used&lt;/em&gt; to be frowned upon back when I did C.&lt;code class="php"&gt;
&amp;lt;?php&lt;/li&gt;
&lt;/ol&gt;


&lt;h1&gt;done in Drupal core all the time.&lt;/h1&gt;

&lt;p&gt;$foo = array(&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;'one' =&amp;gt; 'hihi',
'two' =&amp;gt; 'heyhey',
'three' =&amp;gt; 'neato',
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;);
?&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt; What is the best language for web development in your mind? &lt;em&gt;(woof, what a loaded question :P)&lt;/em&gt;&lt;/h3&gt;

&lt;p&gt;I think that dynamic languages are currently best suited for the web. I want to code something from scratch with the least amount of overhead. I don't want to generate a blob of skeleton code to get the task done (aka java) and I want immediate feedback on whether I broke the page or completed the task.  PHP, ASP, RoR allow for this instant feedback.&lt;/p&gt;

&lt;h3&gt; &lt;em&gt;So what is the best framework/language for a site?&lt;/em&gt;&lt;/h3&gt;

&lt;p&gt;This depends on the task at hand.  I have used Camping to write a handful of internal business tools to speedup our development processes.  Camping allows for a consistant application structure with very little pre-thought on design/implementation.  It just gives me a &lt;em&gt;clean&lt;/em&gt; way to to try and hack out a solution to a problem.&lt;/p&gt;

&lt;p&gt;In terms of readability and maintainability I think that nearly any MVC framework will buy you &lt;em&gt;maintainability&lt;/em&gt;.  But &lt;em&gt;readability&lt;/em&gt; is added by a clean syntax ... which in my opinion Ruby has in spades.  So I would opt for a Ruby based solution to designing and implementing a website (I actually really like Markarby even :P ... compiled checking of html!!! wooohooo!).&lt;/p&gt;

&lt;p&gt;Obviously when performance becomes an issue, "clever algorithms" or a more complex program/database structure may speed up your site.  But, I do not want to address performance in this post. I believe that a robust, performant solution to any problem will 99% of the time be more complex (and therefore harder to look back on in the future) than the initial &lt;em&gt;best guess&lt;/em&gt; solution/implementation initially used in the deployment of the system.&lt;/p&gt;

&lt;p&gt;So, that in brief on some thoughts on PHP and web the current state of web programming.&lt;/p&gt;

&lt;p&gt;happy coding :)&lt;/p&gt;

&lt;p&gt;EDIT: silly slapstick remark removed from post.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-11:/iterm_osx/</id>
    <title type="html">iterm for OSX</title>
    <published>2007-09-11T14:36:00Z</published>
    <updated>2007-09-11T14:36:00Z</updated>
    <link href="http://davidgurba.com/iterm_osx/" rel="alternate"/>
    <content type="html">&lt;p&gt;Having been using OSX at work for last few weeks.  The standard terminal has been &lt;strong&gt;really&lt;/strong&gt; bothering me. I just did a 5 minute Google and came up with &lt;a href="http://iterm.sourceforge.net/"&gt;iTerm&lt;/a&gt;. Its the classical terminal app &lt;em&gt;redefined&lt;/em&gt; ... teh omgz, they &lt;em&gt;redefined&lt;/em&gt; it :O&lt;/p&gt;

&lt;p&gt;30 seconds into its usage and I'm already a happy camper.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-09:/merb_sequel/</id>
    <title type="html">Merb + Sequel</title>
    <published>2007-09-09T20:09:00Z</published>
    <updated>2007-09-09T20:09:00Z</updated>
    <link href="http://davidgurba.com/merb_sequel/" rel="alternate"/>
    <content type="html">&lt;p&gt;I am currently looking into using &lt;a href="http://merb.rubyforge.org/"&gt;Merb&lt;/a&gt;, &lt;a href="http://sequel.rubyforge.org/"&gt;Sequel&lt;/a&gt; and &lt;a href="http://extjs.com"&gt;ExtJS&lt;/a&gt; for a project.  Resources for all these libraries are scattered around the net (especially for Merb docs).   &lt;a href="http://blog.inquirylabs.com/2007/09/08/magic-scaffold-for-merb/trackback/"&gt;Duane Johnson&lt;/a&gt; created a good video tutorial on Magic Scaffolding for the Marble application. Marble is a small Merb powered blog application which is also using Sequel for a backend.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.inquirylabs.com/2007/09/08/magic-scaffold-for-merb/"&gt;Magic Scaffold Video&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;More info to follow :)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-09-02:/javadb_podcast/</id>
    <title type="html">JavaDB external podcast</title>
    <published>2007-09-02T14:48:00Z</published>
    <updated>2007-09-02T14:48:00Z</updated>
    <link href="http://davidgurba.com/javadb_podcast/" rel="alternate"/>
    <content type="html">&lt;p&gt;One of the projects I am working on uses Derby/JavaDB for a database backend.&lt;/p&gt;

&lt;p&gt;I just found a good podcast on Derby/JavaDB history, CDC mobile/embedded system usage ... and general JavaDB facts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://today.java.net/pub/a/today/2007/08/27/javamobility-podcast17.html"&gt;Java Mobile Podcast 17: JavaDB, a database implementation for all the Java plaftorms&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-30:/balls_of_fury/</id>
    <title type="html">Balls of Fury [WJW]</title>
    <published>2007-08-31T05:10:00Z</published>
    <updated>2007-08-31T05:10:00Z</updated>
    <link href="http://davidgurba.com/balls_of_fury/" rel="alternate"/>
    <content type="html">&lt;p&gt;&lt;img src="http://davidgurba.com/themes/lovelycity/images/balls-of-fur[y]-1.gif" alt="Balls of Fur!!!" /&gt;&lt;br/&gt;A hilarious coicidence for the movie &lt;strong&gt;Balls of Fury&lt;/strong&gt;. This  movie was more fun that I thought it was going to be &amp;mdash; but the ticket stub was priceless :D.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-28:/osx_php_apache_mysql_setup_snafu/</id>
    <title type="html">OSX php+apache+mysql setup wtfs</title>
    <published>2007-08-28T19:45:00Z</published>
    <updated>2007-08-28T19:45:00Z</updated>
    <link href="http://davidgurba.com/osx_php_apache_mysql_setup_snafu/" rel="alternate"/>
    <content type="html">&lt;p&gt;So the OSX gui is nice and all, but on using the setup of php+apache provided to me that I found a few WTFs with regards to "the Mac Way" I've been exposed to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why is the install of PHP we're using provided by an external package called &lt;a href="http://www.entropy.ch/software/macosx/php/"&gt;Entropy&lt;/a&gt;.  Why does entropy decide to break the Apache mold and configure its Apache directives within its own .conf file included at the end of httpd.conf.  I've only ever seen approach on a Mac ... I guess Entropy is too good to just write in its directives &lt;strong&gt;inside&lt;/strong&gt; httpd.conf

&lt;ul&gt;
&lt;li&gt;why did the maintainer of Entropy decided to disable &lt;strong&gt;short_open_tags&lt;/strong&gt; by default.  I'm sorry but a developer is trying to configure something merely to function, and operate properly. Please don't make production mode settings for software upon install.  &lt;em&gt;The simplest valid php code block should work to test the LAMP stack:&lt;/em&gt;
&lt;code class="php"&gt;
&amp;lt;? phpinfo(); ?&gt;
&lt;/code&gt;
I know that code is not production ready, or standard, but if I goto the page expecting to see PHP output and all appears broken. I have to hunt down the LAMP stack for the culprit:&lt;/li&gt;
&lt;li&gt;.htaccess file&lt;/li&gt;
&lt;li&gt;included vhost entries appended to httpd.conf&lt;/li&gt;
&lt;li&gt;httpd.conf&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Since code delimiters can be any of the valid formats:
&lt;code class="shell-unix-generic"&gt;&amp;lt;?php ;?&gt;  or &amp;lt;? ;?&gt; or &amp;lt;% ;%&gt; or &lt;script language="php"&gt;;&lt;/script&gt;&lt;/code&gt;
don't force me to you yours by default. Thanks. I understand 1) standards 2) howto tune PHP+MySQL+Apache for any given project ... I'll get to the tuning later, not now when I'm just trying to configure everything to work.
&lt;em&gt; thank god for &lt;code class="shell-unix-generic"&gt;apachectl configtest&lt;/code&gt; and eventually seeing the parsed +entropy-php.conf file listed (who names their files with symbols anyways?)
  1. Apache said: &lt;/em&gt;Syntax OK&lt;em&gt;
  2. normally symboled filenames lead me to believe its a temporary, hidden file and unimportant.
&lt;/em&gt; of course LoadModule libexec/libphp4.so and its decendants are commented out.  So that when anyone sits down at a new system on which Apache or PHP has never been run ... its a mess to figure where relevant files and directives are located. Whether the system is php4 ready or php5 ready.
&lt;em&gt; MySQL OSX system preferences shows the username to startup the MySQL service is "David Gurba" and my root password. No its not, its really &lt;em&gt;root&lt;/em&gt; and my password. This was only a little wtf and I quickly fixed the problem ... but why does the Admin panel allow for "David Gurba" and his password to start the service, but a typical MySQL connection string not allow that username. Just Odd and wtf.
&lt;/em&gt; So it all works (Yea!) but where is &lt;em&gt;mysql.sock&lt;/em&gt; located?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-26:/reading_finished_the_book_of_the_dead/</id>
    <title type="html">Reading (finished): The Book of the Dead</title>
    <published>2007-08-26T14:20:00Z</published>
    <updated>2007-08-26T14:20:00Z</updated>
    <link href="http://davidgurba.com/reading_finished_the_book_of_the_dead/" rel="alternate"/>
    <content type="html">&lt;p&gt;I just completed reading &lt;em&gt;The Book of the Dead&lt;/em&gt;(from cover to cover) and must say the book was a great read. Having not read the second book of the trilogy there were a few instances I was curious for more information on the characters. But, as explained at the very end of the book each of works with contain Pendergast are not dependant on one another. Every book should be able to be read as a single piece.&lt;/p&gt;

&lt;p&gt;Some facts and pieces of the book I particularly enjoyed were:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NO SPOILERS BUT I SUGGEST READING THE BOOK BEFORE YOU READ MY NOTES&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Constance's deft determination and single-mindedness later in the story.  The description of her movements and utter focus to the task at hand is really breath-taking.&lt;/li&gt;
&lt;li&gt;The act by which Pendergast opens the book in the library hoping the book will open itself to the most previous page read.  I thought this was very interesting because on one occassion 3/4 of the way through the book I dropped it spine up. I quickly picked up the book and let the book open itself up before looking at the page, the book opened to a page approximately 5 to 10 pages of where I was (it was a little further).  In a book that contains 601 pages, thats not to shabby.&lt;/li&gt;
&lt;li&gt;Constance's long pursuit was a riveting journey and I really liked how we got her perspective of the task at hand. The realization she sees that a pursuit is nothing like the dramatization found in movies.&lt;/li&gt;
&lt;li&gt;I was really intrigued by the Tibetan references throughout the book and the teaser chapter to &lt;em&gt;The Wheel of Darkness&lt;/em&gt; found at the end of the novel.&lt;/li&gt;
&lt;li&gt;I wonder if Diogenes had similar martial fighting training as his brother (I suppose at this point I'll never know)&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I can understand how somebody like Pendergast is so great at many things (a genius) but yet fail so completely at a few key events/tasks at his life.  This theme can be seen in everyday life such as &lt;a href="http://www.time.com/time/world/article/0%2C8599%2C1655415%2C00.html"&gt;Mother Teresa's personal letters&lt;/a&gt;. I think its very real-world circumstances such as these that bring a practical, &lt;em&gt;everyday/anybody&lt;/em&gt;, aspect to these stories.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The suggested reading order for Pendergast books is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Relic&lt;/li&gt;
&lt;li&gt;Reliquary&lt;/li&gt;
&lt;li&gt;The Cabinet of Curiosities&lt;/li&gt;
&lt;li&gt;Still Life with Crows&lt;/li&gt;
&lt;li&gt;Brimstone&lt;/li&gt;
&lt;li&gt;Dance of Death&lt;/li&gt;
&lt;li&gt;Book of the Dead&lt;/li&gt;
&lt;li&gt;The Wheel of Darkness [TBR]

&lt;ul&gt;
&lt;li&gt;various supporting characters are built up throughout these books. Also a few of their non-Pendergast books contain yet more characters introduced later in the selected works (such as Nora). This reading order can be found at the end of &lt;em&gt;The Book of the Dead&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Perhaps I should go back to the beginning and read them all :D&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-24:/osx_status/</id>
    <title type="html">osx status</title>
    <published>2007-08-24T22:29:00Z</published>
    <updated>2007-08-24T22:29:00Z</updated>
    <link href="http://davidgurba.com/osx_status/" rel="alternate"/>
    <content type="html">&lt;p&gt;Well, I've been in front of OSX for about a week.  It's been a bit of a war so far :P&lt;/p&gt;

&lt;p&gt;After uses OSX all day at work I go home and APPLE+C and APPLE+V all over the place and kick myself for hours on end. Today Saeid was nice enough to give me about a 30 min walkthru of OSX. I know understand .dmg files, mouse gestures and the Finder (oh how I spite u ... little finder).&lt;/p&gt;

&lt;p&gt;My victory cry was the complete install of all dependancies and app install for:
&lt;code class="shell-unix-generic"&gt;
sudo port install mercurial
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;~15 mins later and it was installed.&lt;/p&gt;

&lt;p&gt;David +1
OSX +1000000000 ... Err: OVERFLOW.&lt;/p&gt;

&lt;p&gt;Onto Round 2 :D&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-24:/mercurial_at_work/</id>
    <title type="html">Mercurial at work</title>
    <published>2007-08-24T16:04:00Z</published>
    <updated>2007-08-24T16:04:00Z</updated>
    <link href="http://davidgurba.com/mercurial_at_work/" rel="alternate"/>
    <content type="html">&lt;p&gt;So I'm slowing beginning project(s) at my new job. Something I have not asked about is version control usage in the department.&lt;/p&gt;

&lt;p&gt;I tend to work iteratively. I create a base project with barebone features and then branch off between 2 or 3 ideas where the base project could be taken.&lt;/p&gt;

&lt;p&gt;I have done this for a site re-design I'm working on:
* get the base files from remote server
  - setup my own dev site of the live site&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; - do version of site template as-is replacing out the very little content I have to change with the new content (preserving current DOM structure 99%).

 - do version of site template with absolute position div'd content areas (heavy page rework)
 - do version of site template with all fluid div layout and very little images (heavy page rework)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In doing this I have essentialy created 1 project directory with 3 folders in it, a single folder for each attempt (essentially a branch for each case).&lt;/p&gt;

&lt;p&gt;Fooie.&lt;/p&gt;

&lt;p&gt;I'm used to jobs that have no existing version control infrastructure to work with, so I'm taking a stab and installing a SCM on my local work machine. I'm opting for &lt;a href="http://www.selenic.com/mercurial/wiki/"&gt;Mercurial&lt;/a&gt; this time around the SCM tree.  At my previous job posting myself and a another developer instigated the use of &lt;a href="http://subversion.tigris.org/"&gt;Subversion&lt;/a&gt; for all new and re-claimed projects (projects which M29 completed/shelved previously that upon new work need to be fully imported into SVN).&lt;/p&gt;

&lt;p&gt;SVN is very useful, relatively easy to setup with Apache and web access.  But, I think for a single developer my life may be slightly easier with Mercurial.  It contaminates the filesystem less and I think that fact alone will make deploying code that much quicker. Especially since TortoiseSVN is not available under MacOSX and I'm still getting the whole Apple thing under my belt. I think Mercurial will be as powerful as SVN but much more out of my way as a web site administrator/designer/developer.&lt;/p&gt;

&lt;p&gt;Depending on how my allergic reaction to Mercurial usage is ... I hope to still port my home SVN repo (yes, I use 1 biiig repo) into a Mercurial system ... and farther off making of that codebase accessible to the public (yea ... that last part is a bit of a pipe dream).&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-20:/dr_mario_ga/</id>
    <title type="html">Dr. Mario played by Genetic Algorithm</title>
    <published>2007-08-21T05:06:00Z</published>
    <updated>2007-08-21T05:06:00Z</updated>
    <link href="http://davidgurba.com/dr_mario_ga/" rel="alternate"/>
    <content type="html">&lt;p&gt;Ok, I really like GAs and especially nifty usages for them. I just stumbled across an example of playing Dr. Mario using a GA.
* &lt;a href="http://www.kuliniewicz.org/blog/archives/category/coding/wallace/"&gt;Wallace NES GA with video!!&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;On first thought I believe an area for improvement (I haven't read all Wallace Posts so this may be done in part) for this GA would be to place pills in such a fashion that they always delete bugs on the screen for the first few generations until the number of pills on the screen is greater than the generation you are on. By doing so the successive generations will have more search space to traverse and take longer to end the game.&lt;/p&gt;

&lt;p&gt;If you fight to make space in the beginning, due to the nature of the game (you lose if you hit the top of the screen) you're GA would be able to switch strategies to a "cleanup" function if the number of pills on the screen got too big.&lt;/p&gt;

&lt;p&gt;This tactic would be similar to how some humans play. Build areas of the screen towards being deleted and if things get out of control, work solely to clean up your mess.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-20:/ucsb_day_1/</id>
    <title type="html">UCSB: day 1</title>
    <published>2007-08-21T04:46:00Z</published>
    <updated>2007-08-21T04:46:00Z</updated>
    <link href="http://davidgurba.com/ucsb_day_1/" rel="alternate"/>
    <content type="html">&lt;p&gt;Today was my first day at my new position at UCSB. I was introduced to an awesome department with many talented individuals.  I hope to add my talent into the melting pot and bring their user experience to a new level.&lt;/p&gt;

&lt;p&gt;I had many thoughts throughout the day, it went something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shiny&lt;/strong&gt; iMac

&lt;ul&gt;
&lt;li&gt;specs: 2.16 Ghz Intel Core 2 Duo, 2GB Ram, ~250GB HHD, 24inch monitor (i think ... or 20?), Geforce 7300 MX w/256Ram&lt;/li&gt;
&lt;li&gt;&lt;em&gt;evil&lt;/em&gt; Apple Key of Doom ... why do you spite me!??!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;why does my mouse scroll so sloooww&lt;/strong&gt;!?!&lt;/li&gt;
&lt;li&gt;why does Ctrl+Home/End not goto the EOL in Camino/FF navigation bar. what gives??&lt;/li&gt;
&lt;li&gt;Ctrl+F5 does not refresh Firefox ... it spawns Stephen Hawkin's evil twin brother to tell me what menu item I just selected in the open application ... Ctrl+F5 returns the twin to heck :D&lt;/li&gt;
&lt;li&gt;BBEdit is notsogreat and Emacs in all blue is kind of an eyesore. TextMate is ok and I may slowly switch from jEdit to TextMate.&lt;/li&gt;
&lt;li&gt;Camino (?) may be nice, but nothing can beat Firefox+Firebug for web program debugging.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;walking to the Parking Services department was a "&lt;em&gt;bad idea&lt;/em&gt;". On the upside I met the friendly people at the Public Safety building on the faaarr faaaarr end of the campus, and also the Transportation Office. Why is the Parking Services office building hidden from all angles of view?? ... That was not a fun ~1 hour of walking :'(&lt;/li&gt;
&lt;li&gt;initial fiddlings with &lt;a href="http://www.mootools.org"&gt;MooTools&lt;/a&gt; today. Useful so far :D&lt;/li&gt;
&lt;li&gt;I am familiar with many tools and technologies for the position atm: Navicat, MySQL, PHP, Drupal.&lt;/li&gt;
&lt;li&gt;must brush up on CSS since I dont claim to be a designer but rather a programmer. But with a bit of effort I'm sure I can become proficient in designing (hopefully with web 2.0 Div goodness)&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I'm sure tommorow will be really fun and I'm gonna jump into my new CSS books asap!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-18:/reading_the_book_of_the_dead/</id>
    <title type="html">Reading: The Book of the Dead</title>
    <published>2007-08-19T05:29:00Z</published>
    <updated>2007-08-19T05:29:00Z</updated>
    <link href="http://davidgurba.com/reading_the_book_of_the_dead/" rel="alternate"/>
    <content type="html">&lt;p&gt;We went to Costco today and we picked up &lt;em&gt;The Book of the Dead&lt;/em&gt; by &lt;a href="http://www.prestonchild.com/"&gt;Douglas Preston and Lincoln Child&lt;/a&gt;. Preston is one of my favorite authors I very much enjoy reading.  Past works of his I have read include:
&lt;em&gt; &lt;a href="http://www.prestonchild.com/books/relic/index.html"&gt;Relic&lt;/a&gt; also a good movie :]
&lt;/em&gt; &lt;a href="http://www.prestonchild.com/books/reliquary/index.html"&gt;Reliquary&lt;/a&gt; Sequel to &lt;em&gt;Relic&lt;/em&gt;
* &lt;a href="http://www.prestonchild.com/books/brimstone/index.html"&gt;Brimstone&lt;/a&gt; I &lt;strong&gt;really&lt;/strong&gt; like this book because its very intriguing and complex in the areas of science and deduction. I was unawares that &lt;em&gt;Brimstone&lt;/em&gt;, &lt;em&gt;Dance of Death&lt;/em&gt; and &lt;em&gt;The Book of the Dead&lt;/em&gt; make up the "Diogenes Trilogy".  I will have to go back and read part 2 when I get a chance.&lt;/p&gt;

&lt;p&gt;Preston's works are full of vivid details and imagery which I find intoxicating. I really like the character of Pendergast because of his vast knowledge and intellect, along with the dichotomy of his evil brother. I am currently in chapter 3, but I hope to make short work of this novel over the next few days after work. I will post my thoughts on the piece with any questions I may have after I have completed reading it. But so far, I'd highly recommend it.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-13:/new_job_ucsb_web_developer/</id>
    <title type="html">New Job Position: UCSB web developer</title>
    <published>2007-08-13T16:30:00Z</published>
    <updated>2007-08-13T16:30:00Z</updated>
    <link href="http://davidgurba.com/new_job_ucsb_web_developer/" rel="alternate"/>
    <content type="html">&lt;p&gt;&lt;img src="http://davidgurba.com/themes/lovelycity/images/logo-ucsb-small-28.jpg" alt="ucsb.edu logo" class="floatLeft"/&gt; I'm please to say that after an interview process and submitting reference letters over the past few weeks I have been accepted on staff at the &lt;a href="http://www.id.ucsb.edu"&gt;Instructional Development Department of the University of California, Santa Barbara&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;My position at UCSB will be first and foremost that of &lt;em&gt;web programmer and developer&lt;/em&gt; for projects requested from UCSB staff, faculty and departments. I hope to bring my 2 years of experience at &lt;a href="http://www.m29.com"&gt;M29&lt;/a&gt; into good use at my new position at UCSB as I have experience: developing database backends, using MVC and more traditional procedural coding to develop a website, AJAX techniques and website, database and web server tuning.&lt;/p&gt;

&lt;p&gt;This position actually entails a 50/50 breakdown of my time during the day.  Fifty percent of the time I am to work for UCSB staff and faculty, the other fifty percent of the time I am to work as a consultant for UCSB on 3rd party contracts we have acquired.  This is in a nutshell very similar to my position at M29.&lt;/p&gt;

&lt;p&gt;I will also have auxiliary positions involving tech support and consultation work for UCSB clients. I will help troubleshoot hardware and software issues and ensure that faculty media is both productive and clear for the end user.&lt;/p&gt;

&lt;p&gt;The interviewing staff also mentioned that there would be hopes of expanding upon this position and hiring an additional 2 to 3 developers to meet UCSB demands in the coming years.  That sounded very interesting as I have experience as a leader on web based projects in my time at M29.&lt;/p&gt;

&lt;p&gt;I would like to say thank you to all my family, previous instructors, friends and co-workers that have helped me to get where I am today.  I could not have done as much as I have done already without all your persistent guidance, caring and motivation!&lt;/p&gt;

&lt;p&gt;My first day of work is August 20th 2007.  I'm eager to begin :]&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-12:/jedit_laf_true_crossplatform/</id>
    <title type="html">jEdit Look&amp;Feel (true crossplatform)</title>
    <published>2007-08-12T10:04:00Z</published>
    <updated>2007-08-12T10:04:00Z</updated>
    <link href="http://davidgurba.com/jedit_laf_true_crossplatform/" rel="alternate"/>
    <content type="html">As discussed in my previous post the default jEdit look and feel is kinda crummy. So fix it! :)  You can see my jedit+usb post that I use the windows look and feel in my day to day work.  It works great when I'm on windows and is just a JRE setting that doesn't affect loading times of jedit in any way.  If you not under windows you can also install the "look and feel" plugin via the PluginManager. Or (this is my option) install the look and feel yourself and strap it to jedit using a custom startup script. I like the fact that jEdit is just Java and XML so if you know what you're doing you can customize the application to your whim.


[JGoodies](http://www.jgoodies.com/), is an awesome company has a lookandfeel called **Looks**.  Looks has many themes and at least 1 is Windows-like.  I use it when i'm not on Windows.  To easily install it go and download the looks-x.x.x.jar from their website and place it in your _[jedit Home]/jars_ folder and then add the following to a script to your _[jedit Home]/startup/_ directory.
&lt;code class="java"&gt;
/** Example customLF.bsh file for /startup. */
com.jgoodies.plaf.plastic.PlasticXPLookAndFeel.setMyCurrentTheme(new com.jgoodies.plaf.plastic.theme.SkyBluer());
try {
    UIManager.setLookAndFeel(new com.jgoodies.plaf.plastic.PlasticXPLookAndFeel());
}
&lt;/code&gt;

This directs Java to override the set look and feel to the specified l&amp;f. I keep a tight grip on my installed plugins and jedit deployment size for usb usage, and because of that I opt to do this all manually. As I said previously the lookandfeel plugin can do all of this for you and more.
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-12:/jedit_icons/</id>
    <title type="html">jEdit Icons</title>
    <published>2007-08-12T09:48:00Z</published>
    <updated>2007-08-12T09:48:00Z</updated>
    <link href="http://davidgurba.com/jedit_icons/" rel="alternate"/>
    <content type="html">&lt;p&gt;Ok my &lt;strong&gt;1 huge gripe&lt;/strong&gt; about jEdit.  Its default look and feel and icons completely, utterly, 110% suck.  There I said it.
But like with all things jEdit related we can change that :).&lt;/p&gt;

&lt;p&gt;I have at least 2 icon packs I use with jEdit every now and then.  A Tango based theme pack and a KDE based theme pack ... either of these files will work wonders with jEdit.  Download the iconset of your choice and the add the following beanshell file to your &lt;em&gt;[jedit Home]/startup/&lt;/em&gt; directory and it will work on your next jEdit restart.
&lt;code class="java"&gt;
GUIUtilities.setIconPath("jeditresource:/nicons.jar!/icons/");
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Note, you can unpack the jEdit jar file and overwrite all the icon files and then not need the custom beanshell script when loading jEdit.  But to save yourself a bit of a headache migrating between jEdit versions its easier to use a seperate icons.jar file + startup script. Also, for the Tango iconset I just place the .jar in &lt;em&gt;[JRE Home]/lib/ext/&lt;/em&gt; to be loaded by JVM on boot.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://forum.ubuntuusers.de/topic/19591/"&gt;Tango icon theme location1&lt;/a&gt;
&lt;a href="http://community.jedit.org/?q=filestore/download/3487"&gt;Tango icon theme location2&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://community.jedit.org/?q=filestore/download/2039"&gt;Nicons jar file from jedit.org from the Nuvola1.0 icon theme&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-12:/jedit_php_mode_bug/</id>
    <title type="html">jEdit php-mode syntax bug</title>
    <published>2007-08-12T09:40:00Z</published>
    <updated>2007-08-12T09:40:00Z</updated>
    <link href="http://davidgurba.com/jedit_php_mode_bug/" rel="alternate"/>
    <content type="html">&lt;p&gt;Since release of jEdit4.3pre9 the PHP syntax mode slightly broke and long string literals would break PHP syntax coloring.  After a bit of rooting around in the jEdit forums I found this post recently: &lt;a href="http://community.jedit.org/?q=node/view/3501"&gt;jedit Forum Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The solution is to remove this attribute from line 184 of &lt;em&gt;php.xml&lt;/em&gt;:
&lt;code class="xml"&gt;ESCAPE=""&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So that the line reads like this:
&lt;code class="xml"&gt;
&lt;RULES SET="PHP_LITERAL1" DEFAULT="LITERAL1"&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Happy PHP coding (thats got to be an oxymoron).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:  This appears fixed in jEdit4.3pre10&lt;/strong&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-12:/jedit_via_usb/</id>
    <title type="html">jEdit via a USB stick</title>
    <published>2007-08-12T09:25:00Z</published>
    <updated>2007-08-12T09:25:00Z</updated>
    <link href="http://davidgurba.com/jedit_via_usb/" rel="alternate"/>
    <content type="html">&lt;p&gt;Since I have used &lt;a href="http://www.jedit.org"&gt;jEdit&lt;/a&gt; for about 7 years now I've had my run of playing of playing with superabbrev templates, macros, and look&amp;amp;feel changes.  Having jEdit available wherever you go really helps you to learn it. In CalPoly I developed a simple Windows batch file to invoke jEdit from anywhere (note: this jEdit deployment can depend on a host system JRE or one bundled on the usb device).&lt;/p&gt;

&lt;p&gt;For starters I'll explain that the script is easy to maintain you only have to edit 1 variable when you move from system to system.  To do so quickly I usually would do the following steps from Windows:
&lt;code class="shell-unix-generic"&gt;
cmd.exe
[installed usb path]
edit dev&lt;em&gt;shell.bat (changed MPATH= to correct path value)
ALT+F+S
dev&lt;/em&gt;shell.bat
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And you've got your developer shell up and running with all the paths/executables properly set.&lt;/p&gt;

&lt;p&gt;Here is a snapshot of the actual batchfile.&lt;/p&gt;

&lt;p&gt;&lt;code class="plain_text"&gt;
@echo off
REM ----------------------------------------------------------------------------
REM CONFIGURE PATHS AND JRE Settings
REM ----------------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;REM ----------------------------------------------------------------------------
REM Global paths used by device and apps
REM ----------------------------------------------------------------------------
set MPATH=F:
set APPS=%MPATH%\files\apps&lt;/p&gt;

&lt;p&gt;REM ----------------------------------------------------------------------------
REM ---- Java Runtime Enviroment Settings ----
REM ----------------------------------------------------------------------------
set JAVA&lt;em&gt;HOME=%APPS%\jre1.5.0&lt;/em&gt;05\bin
set JAVA&lt;em&gt;EXE=%JAVA&lt;/em&gt;HOME%\java.exe
set XBT=-Xbootclasspath/a:%APPS%\jEdit\jars\looks-1.2.2.jar
set GUI=-Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel
set SOPTS=-Xms8m -Xmx16m
set LOPTS=-Xms8m -Xmx64m
set JAntiA=-Dswing.aatext=true&lt;/p&gt;

&lt;p&gt;REM ----------------------------------------------------------------------------
REM ---- Configuration Variables for apps ----
REM ----------------------------------------------------------------------------&lt;/p&gt;

&lt;p&gt;set CNFG=^-settings=%MPATH%.jEdit&lt;/p&gt;

&lt;p&gt;REM ----------------------------------------------------------------------------
REM ---- DOSKEY shortcuts for applications ----
REM ----------------------------------------------------------------------------
PATH = %APPS%\PortableFirefox;%PATH%
doskey jedit = %JAVA_EXE% %GUI% %LOPTS% -jar %MPATH%\jEdit\jedit.jar %CNFG%
doskey pfox  = %APPS%\PortableFirefox\PortableFirefox.exe
doskey tbird = %APPS%\PortableThunderbird\PortableThunderbird.exe
doskey abiw  = %APPS%\PortableAbiWord\PortableAbiWord.exe&lt;/p&gt;

&lt;p&gt;REM ----------------------------------------------------------------------------
REM ---- Ruby Configuration Settings ----
REM ----------------------------------------------------------------------------
set RUBOPT=rubygems
set RUBY&lt;em&gt;HOME=%APPS%\ruby
set GEM&lt;/em&gt;INSTALL=%APPS%\rgems
set GEM&lt;em&gt;HOME=%APPS%\rgems\gem&lt;/em&gt;repos
REM make ruby callable from command line.
PATH=%APPS%\ruby\bin;%PATH%
REM so that the 'gem' command can be found.
PATH=%GEM_INSTALL%\bin;%PATH%
REM tell ruby to load rubygems on every script (yikes).
set RUBYOPT=rubygems&lt;/p&gt;

&lt;p&gt;REM ----------------------------------------------------------------------------
REM ---- Menu configuration and display ----
REM ----------------------------------------------------------------------------
set BATVER=1.7
REM 1.7 - adding support for full installation of ruby 1.9mswin, for eVault. tbc
cls&lt;/p&gt;

&lt;p&gt;title MuzioJM200(%MPATH%) DevShell %BATVER%
echo            +---------------------------------------------------------+
echo            :                 TECHNXs WinXP Shell                     :
echo            : muzio path [%MPATH%]                                         :
echo            : .bat  ver  [%BATVER%]                                        :
echo            :                                                         :
echo            : Options Available:                                      :
echo            :     abiw  - invoke AbiWord word processor               :
echo            :     jedit - invoke the jEdit text editor                :
echo            :     pfox  - run PortableFirefox web browser             :
echo            :     tbird - run PortableThunderbird email client        :
echo            :                                                         :
echo            : &lt;em&gt;note&lt;/em&gt;  Muzio Path should read the same as CMD below.   :
echo            +---------------------------------------------------------+
cmd
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;It is setup in a top-down fashion. I set paths and application dependencies as they are needed.  If you put a JRE install on your usb stick (I do ... who doesn't) be sure to define a JAVA value before applications that use it. In this way you can invoke nearly any Java application from a usb stick.&lt;/p&gt;

&lt;p&gt;I also currently override jEdit look and feel and iconset, but I will make a further post about those items shortly.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-10:/server_updates_1_999_2/</id>
    <title type="html">server updates 1.999 ~= 2</title>
    <published>2007-08-10T09:24:00Z</published>
    <updated>2007-08-10T09:24:00Z</updated>
    <link href="http://davidgurba.com/server_updates_1_999_2/" rel="alternate"/>
    <content type="html">&lt;p&gt;So it's incredibly late and I can't sleep.  What's a guy to do ..... hack of course!&lt;/p&gt;

&lt;p&gt;I fully completed my God config today and after a bit of testing this weekend will probably have the server live under Gods vigilance. Yay &lt;a href="http://god.rubyforge.org"&gt;God&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I am planning to try and do some brief hacking this weekend on a Rails app I am using and try to add a feature or two. Its pleasing to see I'm not the only person working with certain Gems on Slices:
&lt;a href="http://www.carmelyne.com/2007/7/27/freeimage-on-my-slice"&gt;FreeImage and Attachment_Fu on Slicehost&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Its funny I actually stumbled across the same .tgz listed in the above blog entry 1 google search before I found the above post. The builds up the confidence in what I want to do has been done before and therefore should be doable in 30 minutes flat. Bring on the sodas! [because the work will ultimately take hours of soul squishing time and forever leave a gapping baffling hole where my soul used to be]&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-09:/reading_hannibal_rising/</id>
    <title type="html">Reading: Hannibal Rising</title>
    <published>2007-08-09T15:46:00Z</published>
    <updated>2007-08-09T15:46:00Z</updated>
    <link href="http://davidgurba.com/reading_hannibal_rising/" rel="alternate"/>
    <content type="html">&lt;p&gt;I read books and articles very often and somtimes my reading sends me on a goose chase for deeper understanding of a topic.&lt;/p&gt;

&lt;p&gt;Today I was reading through pieces of &lt;em&gt;Hannibal Rising&lt;/em&gt;, by &lt;a href="http://www.randomhouse.com/features/thomasharris/"&gt;Thomas Harris&lt;/a&gt;, of which there is a copy floating around my workplace. And, I found a very interesting section&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Freed to sit alone in the very back of the classroom, he was able to manufacture ink and watercolor washes of birds in the style of Musashi Miyamoto, while listening to the lecture with half an ear.&lt;/p&gt;

&lt;p&gt;There was a vogue in Paris for things Japanese. The drawings were small, and suited to the limited wall space of Paris apartments, and they could be packed easily a tourist's suitcase. He signed them with a chop, the symbol called Eternity in Eight Strokes. [Ch 28, &amp;para;5]&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I was really intrigued by the mental image of this signature and decided to Google around. It turns out there is a concept of Stroke Order when writing Calligraphy (the Asian style).  The basic strokes in calligraphy are historically practiced using a simple character which requires all the 8 simple strokes in calligraphy. One of the Chinese characters used to teach this is the character for &lt;em&gt;Eternity&lt;/em&gt;.  You can find more information about this concept and more detail here at &lt;a href="http://en.wikipedia.org/wiki/Stroke_order"&gt;Wikipedia&lt;/a&gt;.  Here is a direct &lt;a href="http://en.wikipedia.org/wiki/Image:%25E8%25A8%2580-red.png"&gt;link&lt;/a&gt; to the character Hannibal signed his works with.&lt;/p&gt;

&lt;p&gt;I find this information very interesting.  The concept of &lt;em&gt;eight&lt;/em&gt; is prevalent also in techniques found in Aikido, swordsmanship, directions on a compass and target points on the body used in martial arts. Stroke Order, that is to say there is a natural ordering of movements for a sequence, also plays a part in these disciplines.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-07:/server_updates_1/</id>
    <title type="html">server updates 1</title>
    <published>2007-08-08T05:32:00Z</published>
    <updated>2007-08-08T05:32:00Z</updated>
    <link href="http://davidgurba.com/server_updates_1/" rel="alternate"/>
    <content type="html">&lt;p&gt;This website is now running using the following technology
&lt;em&gt; apache
&lt;/em&gt; mongrel_cluster (3 doggies)
* rails&lt;/p&gt;

&lt;p&gt;I had been previously using only mongrel up until 5 minutes ago.  I had some difficulty compiling Apache from scratch but ultimately I just needed to pass a switch to &lt;em&gt;configure&lt;/em&gt; to &lt;em&gt;--with-included-apr&lt;/em&gt;.  That allowed me to compile Apache 2.2.4 onto my server box.&lt;/p&gt;

&lt;p&gt;Mongrel was fairly easy to setup and ultimately for future reference the following guides were incredibly useful:
&lt;em&gt; &lt;a href="http://www.rustyrazorblade.com/index.php/2007/07/24/apache-compile-error/"&gt;Rusty Razor Blade&lt;/a&gt;
&lt;/em&gt; &lt;a href="http://wiki.slicehost.com/doku.php?id=slice_setup_from_onrails.org"&gt;Slicehost Wiki Page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To fix an Apache configuration discrepancy in the Slicehost Wiki the &lt;em&gt;Proxy&lt;/em&gt; block in this tutorial was helpful:
* &lt;a href="http://blog.codahale.com/2006/06/19/time-for-a-grown-up-server-rails-mongrel-apache-capistrano-and-you/"&gt;blog.codahale.com article&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Baring any hiccups over the next week one should also note:
&lt;code class="shell-unix-generic"&gt;
mongrel_rails start -d -p 4000 -e production
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To load up your doggies!  I'm looking forward to getting this site under the supervision of &lt;a href="http://god.rubyforge.org"&gt;God&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-06:/test_of_simplehighlight_plugin/</id>
    <title type="html">test of simplehighlight plugin</title>
    <published>2007-08-07T05:36:00Z</published>
    <updated>2007-08-07T05:36:00Z</updated>
    <link href="http://davidgurba.com/test_of_simplehighlight_plugin/" rel="alternate"/>
    <content type="html">&lt;p&gt;Here is a test of simplehighlight.&lt;/p&gt;

&lt;p&gt;&lt;code class="ruby"&gt;
def foo
  @name = 'david'
  @age = "26".to_i
end
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;whheee :]&lt;/p&gt;

&lt;h3&gt; Install Notes&lt;/h3&gt;

&lt;p&gt;It can be difficult installing the Oniguruma regex library.  Oniguruma is a regular expression library that allows every state of an regex to be encoded in a different character format.&lt;/p&gt;

&lt;p&gt;I have opted to use this plugin because I have experience using [at least] the following languages (in no particular order): javascript, html, assembly, php, ruby, ML, Prolog, Java, C, C++, Ada, Fortran77, windows batch files, Shell languages like Bash, Pascal. So, I would like to be able to put up pretty printed code snippets for you inquisitive visitors.&lt;/p&gt;

&lt;p&gt;This plugin is powered by the &lt;a href="http://ultraviolet.rubyforge.org/"&gt;Ultraviolet&lt;/a&gt; syntax engine. Ultimately it allows for pretty printing of all of &lt;a href="http://macromates.com/"&gt;TextMate's&lt;/a&gt; allowed syntax highlighters. The list of valid languages can be seen in the &lt;a href="http://macromates.com/svn/Bundles/trunk/Bundles/"&gt;TextMate repository&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Under ubuntu I had to
&lt;code class="shell-unix-generic"&gt;
apt-get install libonig2 libonig-dev
&lt;/code&gt;
in order to be able to
&lt;code class="shell-unix-generic"&gt;
gem install ultraviolet --include-dependencies
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The kicker is knowing you need &lt;em&gt;libonig-dev&lt;/em&gt; to get all the required header files for the native gem extension compilation.&lt;/p&gt;

&lt;p&gt;Also be aware that if you want to change the CSS theme you have to: place the CSS in your themes directory, update the SimpleHighlighter.rb file to set the THEME value to the desired theme name AND add the css in your site.rhtml file. whew!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidgurba.com,2007-08-06:/joy_from_vienna/</id>
    <title type="html">Joy from Vienna</title>
    <published>2007-08-07T04:34:00Z</published>
    <updated>2007-08-07T04:34:00Z</updated>
    <link href="http://davidgurba.com/joy_from_vienna/" rel="alternate"/>
    <content type="html">&lt;p&gt;My relatives from Vienna visited this weekend. Tony and Misho visited exactly 2 years ago and we went to McKlintock's again to celebrate his birthday.&lt;/p&gt;

&lt;p&gt;All in all I had an awesome weekend with my 2nd(?) cousins. I'm not very good with family genealogy stuff but we went to Boomer's, the sand dunes, Melodrama, the market, had a BBQ and drove them early Sunday morning before they left at 11am back to LA with my aunt.&lt;/p&gt;

&lt;p&gt;I think we did alot and had a fun time with friends. Nolan and Chesca made it to the BBQ and my godmother and her daughter who speaks 5 languages fluently were able to meet and talk with my relatives. I think that that was the best time of the whole weekend. I think my relatives had a great time talking to somebody in the USA in German and yet also be able to talk to everyone else in English. And my tortoise was the center of attention at the BBQ :).&lt;/p&gt;

&lt;p&gt;Lastly, sorry Tony if I hurt your hand :/ Maybe I should have given you a warning of what I was gonna do. No hard feelings.
Comments disabled for this post.&lt;/p&gt;
</content>
  </entry>
</feed>

