<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Power &amp; Light: Category Geek Speak</title>
    <link>http://blog.aidenbordner.com/articles/category/geek-speak</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Spiels, rants and occassional pieces of useful information from Aiden Bordner</description>
    <item>
      <title>Typo: The end is nigh // Job // Plagiarism // GM4.0</title>
      <description>&lt;p&gt;&lt;strong&gt;Typo: The end is nigh&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;Not for &lt;a href="http://www.typosphere.org/"&gt;Typo&lt;/a&gt; on a whole, mind you. Just here.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m preparing the first sketches on the long-overdue development of &lt;a href="http://www.aidenbordner.com/"&gt;my personal site&lt;/a&gt; and one of the major components is going to be a completely overhauled blog presentation. And, when that happens, I&amp;#8217;ll be switching to &lt;a href="http://www.mephistoblog.com"&gt;Mephisto&lt;/a&gt; due to the unnecessary weight of Typo and it&amp;#8217;s sluggishness on this shared server.&lt;/p&gt;


	&lt;p&gt;The new system will employ much &lt;span class="caps"&gt;AJAX&lt;/span&gt; and &lt;span class="caps"&gt;DHTML&lt;/span&gt; goodness. Don&amp;#8217;t worry: not a bunch of &lt;a href="http://script.aculo.us"&gt;useless crap&lt;/a&gt;. I&amp;#8217;m working on the wireframes now for a novel way to look at a blog. Admittedly, there&amp;#8217;s not a lot you can do with a blog, but I&amp;#8217;m asking questions of myself as to how people really interact with blogs, the differences between posts like this, which are dated and time-specific, and posts for longevity.  The result is I think that there should be more user control over what is on the screen at any time, and fortunately JavaScript, &lt;span class="caps"&gt;CSS&lt;/span&gt; and the &lt;span class="caps"&gt;DOM&lt;/span&gt; will let me do that to some extent (at least I hope).&lt;/p&gt;&lt;p&gt;I&amp;#8217;ll be using the &lt;a href="http://moofx.mad4milk.com."&gt;moo.fx animation framework&lt;/a&gt; due to it&amp;#8217;s &amp;#8220;superlightweight ultratiny&amp;#8221; footprint of 3kb, as well as prototype.js.
Best of all, I&amp;#8217;ll be releasing the finished product for everyone under Creative Commons, so feel free to port it to Typo and Wordpress and the like. I&amp;#8217;ll probably break out any custom Flikr or other modules as well.&lt;/p&gt;


	&lt;p&gt;Should be done sometime between now and the end of time. Stay tuned.&lt;/p&gt;


&lt;hr /&gt;

	&lt;p&gt;&lt;strong&gt;Job&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;I need a job. Full time. The fuller the better. The best looking opportunity I&amp;#8217;ve seen in some time just slipped away due to the cruel winds of fate.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m tired of freelancing (mostly because if I was as bad at making websites as I am at selling them I&amp;#8217;d be out of business). I&amp;#8217;m willing to relocate. Preferably to San Francisco or Seattle. &lt;u&gt;Hire me&lt;/u&gt;! ... &lt;a href="http://www.current.tv"&gt;current TV&lt;/a&gt;, this means you. :)&lt;/p&gt;


&lt;hr /&gt;
&lt;strong&gt;Plagiarism&lt;/strong&gt;

	&lt;p&gt;Although many of you may know this, Karthik Kastury of &lt;a href="http://www.33rockers.com"&gt;33rockers.com&lt;/a&gt; is a plagiarist, both of the written word and design. His site is ripped off from the Mephisto theme without credit and described as &amp;#8220;heavily modified&amp;#8221; (it is not), and he has ripped off &amp;#8211; &lt;strong&gt;&lt;em&gt;verbatim&lt;/em&gt;&lt;/strong&gt; &amp;#8211; several blog posts across the internet. I almost expect to see my seminal blog hit &amp;#8220;How to get Typo 4.0 running on Dreamhost&amp;#8221; on his blog soon.&lt;/p&gt;


	&lt;p&gt;For more information, see the &lt;a href="http://www.maxpower.ca/what-bloggers-can-learn-from-plagiarist-karthik-kastury-of-33rockerscom/2006/11/03/"&gt;very detailed expose&lt;/a&gt; on Kirk Montgomery&amp;#8217;s excellent &lt;a href="http://www.maxpower.ca/"&gt;MaxPower&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;Additional note: He&amp;#8217;s also a damn liar. Note his Nov. 30 post about how he&amp;#8217;s selling the site because of personal reasons. How about because the &lt;span class="caps"&gt;DMCA&lt;/span&gt; complaints cost him his Google AdSense. Thief!&lt;/em&gt;&lt;/p&gt;


&lt;hr/&gt;
&lt;strong&gt;GravityMusic 4.0 Continues&amp;#8230;&lt;/strong&gt;

	&lt;p&gt;For those who just love sneak peaks&amp;#8230; here&amp;#8217;s one.&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;img src="/files/Untitled-11.jpg" style="border: 1px sold #444;"&gt;&lt;/p&gt;


	&lt;p&gt;Simple is my business, and business is good. Backend dev starts tomorrow in Rails. We&amp;#8217;re only a week or so away from first launch. Hope it goes well!&lt;/p&gt;


&lt;hr /&gt;

	&lt;p&gt;&lt;strong&gt;&lt;em&gt;That&amp;#8217;s all she wrote for this night. See you all again soon!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 30 Nov 2006 22:50:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:71b8d4a7-e267-474c-bcdc-0c38bb9bd0e5</guid>
      <author>Aiden Bordner</author>
      <link>http://blog.aidenbordner.com/articles/2006/11/30/typo-the-end-is-nigh-job-plagiarism-gm4-0</link>
      <category>Geek Speak</category>
      <category>Outrage</category>
      <category>Art + Design</category>
    </item>
    <item>
      <title>Gravitymusic.com 4.0</title>
      <description>&lt;p&gt;First of all, allow me to make a brief announcement regarding my seemingly permanent absence from the blogosphere: I&amp;#8217;ve been really crazy busy and had no internet connection for a bit in Indianapolis, but now I am back.&lt;/p&gt;


	&lt;p&gt;Without further ado, the news at hand:&lt;/p&gt;


	&lt;p&gt;&lt;a href="www.gravitymusic.com"&gt;gravitymusic.com&lt;/a&gt; is getting it&amp;#8217;s third facelift! The site that is currently up is some of my oldest work that I still mention (circa 2002) and it&amp;#8217;s soon to be gone making way for a new Ruby on Rails powered web presence.&lt;/p&gt;


&lt;u&gt;Gone will be:&lt;/u&gt;

	&lt;p&gt;&amp;bull; Flash-based &lt;span class="caps"&gt;MP3&lt;/span&gt; player that intermittently decides not to work on XP&lt;br/&gt;
&amp;bull; Tables (&lt;em&gt;eek!&lt;/em&gt;)&lt;br/&gt;
&amp;bull; I-Frames (&lt;em&gt;&lt;strong&gt;&lt;span class="caps"&gt;EEGADS&lt;/span&gt;!&lt;/strong&gt;&lt;/em&gt;)&lt;br/&gt;&lt;/p&gt;


&lt;u&gt;New will be:&lt;/u&gt;

	&lt;p&gt;&amp;bull; Ruby on Rails (&lt;em&gt;oooh!&lt;/em&gt;)&lt;br/&gt;
&amp;bull; &lt;span class="caps"&gt;DHTML&lt;/span&gt; and &lt;span class="caps"&gt;AJAX&lt;/span&gt; [via prototype and moo.fx] in news and music display (&lt;em&gt;oooh la la!&lt;/em&gt;)&lt;br/&gt;
&amp;bull; &amp;#8220;Web 2.0&amp;#8221;-ie graphic shite, like reflections and starburst badges and a shitload of gradients (&lt;strong&gt;... em, &lt;span class="caps"&gt;TIRED&lt;/span&gt;?... yeah ok, but it looks hot.&lt;/strong&gt;)&lt;/p&gt;


	&lt;p&gt;Just see for yourself! (Warning: Spoiler alert.)&lt;/p&gt;&lt;p&gt;&lt;img src="/files/Untitled-1.jpg" style="border: 1px solid #dddddd;"&gt; &lt;br/&gt;(What&amp;#8217;s this? News&amp;#8230;?)&lt;br/&gt;&lt;br/&gt;
&lt;img src="/files/Untitled-2.jpg" style="border: 1px solid #dddddd;"&gt; &lt;br/&gt;(Hmm&amp;#8230; How &amp;#8220;Web 2.0&amp;#8221; (lol))&lt;br/&gt;&lt;br/&gt;
&lt;img src="/files/Untitled-3.jpg" style="border: 1px solid #dddddd;"&gt; &lt;br/&gt;(Hmm, Quicktime? Well That should be reliable&amp;#8230; is that a three-column navigation like the &lt;span class="caps"&gt;OS X&lt;/span&gt; finder I see?)&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;Tune in in a couple of weeks to find out. ;) &lt;/strong&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 27 Nov 2006 14:26:00 -0800</pubDate>
      <guid isPermaLink="false">urn:uuid:07fb478a-32d5-466f-86f5-0eefaf535ecc</guid>
      <author>Aiden Bordner</author>
      <link>http://blog.aidenbordner.com/articles/2006/11/27/gravitymusic-com-4-0</link>
      <category>Geek Speak</category>
      <category>Art + Design</category>
    </item>
    <item>
      <title>Getting Typo 4 running on DreamHost</title>
      <description>&lt;p&gt;This has been an interesting day, attempting to get a fresh build of &lt;a href="http://www.typosphere.org"&gt;Typo 4.0.1&lt;/a&gt; installed on a shared hosting account with &lt;a href="http://www.dreamhost.com"&gt;DreamHost&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;The reason for this, predominantly, was to practice deploying a Rails application on DreamHost in preparation for the launch of &lt;a href="http://www.witnessinglife.com"&gt;Witnessing Life&lt;/a&gt; which I&amp;#8217;m currently spending my days (and nights) thinking about.&lt;/p&gt;


	&lt;p&gt;Without further ado, here&amp;#8217;s the rundown of how I achieved my goal.
&lt;br/&gt;&lt;br/&gt;
&lt;hr&gt;
&lt;em&gt;Disclaimer: I am not well versed in server configuration, ruby, rails or typo. This is simply a documentation of the steps I took to get typo up and running on my page. I am a newbie with the intention of helping other newbies get their feet wet. If things go wrong, see the list of related links at the bottom and seek assistance at #typo on irc.freenode.net, but more importantly please let me know what went wrong so I can correct this information for the future.
&lt;br/&gt;&lt;br /&gt;
Another Note: This post is under the assumption you&amp;#8217;re installing your blog as a subdomain, like &lt;b&gt;this blog&lt;/b&gt;, e.g.: blog.yourdomain.com.)&lt;/em&gt;
&lt;hr&gt;
&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1. Install using Subversion (not gems)&lt;/strong&gt;&lt;/p&gt;


Although the Typo folks were kind enough to create a RubyGems installer, you can&amp;#8217;t install your own gems (easily) with DreamHost. (To do so requires creating your own gems install on your account. I followed the DreamHost &lt;a href="http://wiki.dreamhost.com/index.php/RubyGems"&gt;wiki&lt;/a&gt; to this effect, but it did not work properly; I think a misconfiguration in the bash_config).  Regardless. it proved easier to use &lt;strong&gt;subversion&lt;/strong&gt; and install from the typo trunk. Use your terminal to &lt;span class="caps"&gt;SSH&lt;/span&gt; to your server (&lt;em&gt;e.g., ssh yourusername@your.website.com&lt;/em&gt;) and enter the following into the command line at the dreamhost server.
&lt;pre&gt;&lt;code&gt;
svn checkout svn://typosphere.org/typo/trunk typo
&lt;/pre&gt;&lt;/code&gt;
&lt;br /&gt;
This is going to take a while. Bounce over to your browser and go on to step 2 (or get a sandwich).
&lt;br /&gt;&lt;br /&gt;

	&lt;p&gt;&lt;strong&gt;2. DreamHost Setup&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;You need to configure a subdomain for Typo. Under the &lt;a href="http://panel.dreamhost.com/"&gt;DreamHost Control Panel&lt;/a&gt; choose &amp;#8220;Domains &amp;gt; Manage Domains&amp;#8221; on the left hand side. Then configure a subdomain    with &lt;b&gt;blog.&lt;em&gt;yourdomain&lt;/em&gt;.com&lt;/b&gt; as the domain, &lt;b&gt;FastCGI enabled&lt;/b&gt; and a directory of &lt;b&gt;home/&lt;em&gt;username&lt;/em&gt;/typo/public&lt;/b&gt;. Save your settings.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;img src="/files/dreamhost1.jpg" width="500"&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;You also need to create a database where typo is going to store your posts, etc. I&amp;#8217;m using MySQL. Under &amp;#8220;Goodies &amp;gt; Manage MySQL&amp;#8221; you can create a new database, for instance &lt;b&gt;&amp;#8220;typo_db&amp;#8221;&lt;/b&gt; with a username of &lt;b&gt;typo&lt;/b&gt; and a subdomain of &lt;b&gt;mysql.&lt;em&gt;yourdomain&lt;/em&gt;.com&lt;/b&gt; Create an original and strong password and save it for the next step.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;img src="/files/dreamhost2.jpg" width="500"&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;It&amp;#8217;s going to take a 10 or so minutes for your new subdomains to propagate on the dreamhost &lt;span class="caps"&gt;DNS&lt;/span&gt; servers, and some of the following steps to work properly (namely for typo to find the database, since DreamHost wont accept localhost for a MySQL server). If you haven&amp;#8217;t already had that sandwhich, now might be the time.
&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt; 3. Configuring Typo&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;The next step is to configure typo to work with your account. Enter the following in the command line:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;cd ~/typo
pico config/database.yml.example&lt;/pre&gt;&lt;/code&gt;

	&lt;p&gt;This is an example version of the database.yml for mysql. You want to edit this file to match the settings you just created.&lt;/p&gt;


	&lt;p&gt;Under the &amp;#8216;login&amp;#8217; callout, change &lt;b&gt;host&lt;/b&gt; to &lt;b&gt;mysql.&lt;em&gt;yourdomain&lt;/em&gt;.com&lt;/b&gt;, change the &lt;b&gt;username&lt;/b&gt; to &lt;b&gt;typo&lt;/b&gt; (or whatever you set the mysql user to be in step 2) and enter the strong password from the end of step two where it says &lt;b&gt;password&lt;/b&gt;.&lt;/p&gt;


	&lt;p&gt;You also need to change the name of the database (marked &lt;b&gt;database&lt;/b&gt;) under each of the three application modes (development, test, production) to your newly created db, &lt;b&gt;typo_db&lt;/b&gt;.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;img src="/files/terminal1.jpg" width="500"&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Type &amp;#8216;&lt;b&gt;Control-X&lt;/b&gt;&amp;#8217; to exit. When it prompts you to &amp;#8220;save modified buffer&amp;#8221;, type Y. Pico will then prompt you for a name for the changed file. &lt;b&gt;Remove the .example&lt;/b&gt; from the end of the filename, naming the file &lt;b&gt;database.yml&lt;/b&gt;.&lt;/p&gt;


	&lt;p&gt;Next, at the command line, type:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;pico config/environment.rb&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;On the fifth line, uncomment the line that reads &amp;#8216;ENV[&amp;#8216;RAILS_ENV&amp;#8217;] = &amp;#8216;production&amp;#8217; (remove the &amp;#8216;&lt;b&gt;#&lt;/b&gt;&amp;#8217; from before the line). It should look like this:&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;img src="/files/terminal2.jpg" width="500"&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;This will force rails into production mode for DreamHost. When complete, type &amp;#8216;&lt;b&gt;Control-X&lt;/b&gt;&amp;#8217; to exit and save the file with the same name.&lt;/p&gt;


	&lt;p&gt;Finally, back at the command line, type:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;rake migrate RAILS_ENV=production&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;This will take a while, but it will get the database schema configured on the typo_db MySQL database. 
&lt;br/&gt;
&lt;hr&gt;
&lt;em&gt;Note: If you have problems here and the output indicates the rake script was looking for a typo_dev database, you need to restart your rails processes on your dreamhost account. To do this, try &amp;#8216;killall ruby&amp;#8217; and try again.&lt;/em&gt;
&lt;hr&gt;&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;4. DreamHost Tweaking&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;If everything has been going ok so far, there&amp;#8217;s just a few more things to do for you to be Typo Powered.&lt;/p&gt;


	&lt;p&gt;We need to edit a couple more documents:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;pico public/dispatch.fcgi&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;First of all, change the top line that reads &amp;#8217;#!/usr/bin/env ruby&amp;#8217; to &amp;#8216;&lt;b&gt;#!/usr/bin/ruby&lt;/b&gt;&amp;#8217;.  This, called the &amp;#8220;shebang&amp;#8221; line, is the path to ruby, and DreamHost&amp;#8217;s path is slightly different than the default.&lt;/p&gt;


	&lt;p&gt;Next, scroll down to the bottom of the document and look for the line that reads &amp;#8216;require fcgi_handler&amp;#8217;. Underneath that line, add the following code:&lt;/p&gt;


&lt;code&gt;&lt;pre&gt;class RailsFCGIHandler
  private
    def frao_handler(signal)
      dispatcher_log :info, "asked to terminate immediately" 
      dispatcher_log :info, "frao handler working its magic!" 
      restart_handler(signal)
    end
    alias_method :exit_now_handler, :frao_handler
end&lt;/pre&gt;&lt;/code&gt;

	&lt;p&gt;This is a &lt;a href="http://work.alexyoung.org/archives/102/dreamhost-and-rails-500-errors"&gt;method of dealing with intermittant 500 errors&lt;/a&gt; at DreamHost devised by Alex Young.  When you&amp;#8217;re done, the file should look like this:&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;img src="/files/terminal3.jpg" width="500"&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;Hit &amp;#8216;&lt;b&gt;Control-X&lt;/b&gt;&amp;#8217; and save your changes again. Now we do the same shebang line change to dispatch.rb:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;pico public/dispatch.rb&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Again, if the top line reads &amp;#8217;#!/usr/bin/env ruby&amp;#8217; change it to &amp;#8216;&lt;b&gt;#!/usr/bin/ruby&lt;/b&gt;&amp;#8217;.  Close and save.&lt;/p&gt;


	&lt;p&gt;Finally, we have just a few permissions to set. At the command line:&lt;/p&gt;


&lt;code&gt;&lt;pre&gt;chmod 755 public
chmod 755 public/dispatch.fcgi
chmod 755 public/dispatch.rb&lt;/pre&gt;&lt;/code&gt;

	&lt;p&gt;&lt;b&gt;And you&amp;#8217;re done!&lt;/b&gt; At this point you should be able to go to blog.&lt;em&gt;yourdomain&lt;/em&gt;.com and create your first user. Note that, at first, the response of the system may be a bit sluggish. This is because the first time the controllers are accessed they haven&amp;#8217;t yet been cached. You should notice a performance increase quickly through use.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
&lt;hr&gt;
&lt;em&gt;Again, I am a Ruby/Rails/Typo amature myself, so if these instructions don&amp;#8217;t work, my appologies. Please let me know and I&amp;#8217;ll revise them. Additionally if you &lt;b&gt;are&lt;/b&gt; a pro at this and notice I&amp;#8217;m doing something wrong, please let me know and I&amp;#8217;ll happily correct it.&lt;/p&gt;


	&lt;p&gt;That said, my experiences were based on trial and error and a lot of help from the following:
&lt;br /&gt;&lt;br /&gt;
&lt;a href="http://www.typosphere.org/trac/wiki/DreamHost"&gt;DreamHost 2.6 Installation on TypoTrac&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://wiki.dreamhost.com/index.php/Typo"&gt;Official DreamHost Wiki for Typo&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://work.alexyoung.org/archives/102/dreamhost-and-rails-500-errors"&gt;Alex Young&amp;#8217;s DreamHost 500-error fix&lt;/a&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 24 Jul 2006 16:37:00 -0700</pubDate>
      <guid isPermaLink="false">urn:uuid:f6bf81d8-a2d9-414d-a4d7-0a259a281953</guid>
      <author>Aiden Bordner</author>
      <link>http://blog.aidenbordner.com/articles/2006/07/24/getting-typo-4-0-0-running-on-dreamhost</link>
      <category>Geek Speak</category>
      <category>ruby</category>
      <category>rails</category>
      <category>dreamhost</category>
      <category>typo</category>
      <trackback:ping>http://blog.aidenbordner.com/articles/trackback/1</trackback:ping>
    </item>
  </channel>
</rss>
