<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SameShirtEveryDay.com</title>
	<atom:link href="http://sameshirteveryday.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://sameshirteveryday.com</link>
	<description>Personal blog of the one called Alex Gorbatchev, from Toronto, Canada.</description>
	<lastBuildDate>Wed, 30 Dec 2009 20:00:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Discovering Erlang #1</title>
		<link>http://sameshirteveryday.com/2009/10/24/discovering-erlang-1/</link>
		<comments>http://sameshirteveryday.com/2009/10/24/discovering-erlang-1/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 23:03:02 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[Erlang]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[beginning]]></category>

		<guid isPermaLink="false">http://sameshirteveryday.com/?p=207</guid>
		<description><![CDATA[I&#8217;m starting to research Erlang as a possible language to go with for my future web development and so I will be posting occasional Erlang posts with links and thoughts. This first post will include a large-ish number of Erlang links that&#8217;s I&#8217;m aggregating mostly consisting of existing web frameworks. HTTP Servers These are servers commonly used [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="size-full wp-image-206 alignleft" title="erlan_logo" src="http://sameshirteveryday.com/wp-content/uploads/2009/10/erlan_logo.jpg" alt="erlan_logo" width="180" height="160" />I&#8217;m starting to research <a href="http://www.erlang.org" target="_blank">Erlang</a> as a possible language to go with for my future web development and so I will be posting occasional <a href="http://erlang.org/">Erlang</a> posts with links and thoughts.</p>
<p style="text-align: left;">This first post will include a large-ish number of <a href="http://erlang.org/">Erlang</a> links that&#8217;s I&#8217;m aggregating mostly consisting of existing web frameworks.</p>
<p style="text-align: left;">
<h2>HTTP Servers</h2>
<p>These are servers commonly used for deployment, similar to Ngnix, Lighttpd, Apache and so on.</p>
<ul>
<li><a href="http://code.google.com/p/mochiweb/" target="_blank">Mochiweb</a> is a very lightweight HTTP server written in Erlang.</li>
<li><a href="http://yaws.hyber.org/" target="_blank">Yaws</a> is a HTTP high perfomance 1.1 webserver particularly well suited for dynamic-content web applications.</li>
<li><a href="http://www.erlang.org/doc/apps/inets/part_frame.html" target="_blank">Inets</a> is a container for Internet clients and servers. Currently, an <a href="http://www.erlang.org/doc/apps/inets/part_term.html#HTTP">HTTP</a> client and server, a TFPT client and server, and a FTP client has been incorporated into Inets. The HTTP server and client is HTTP 1.1 compliant as defined in <a href="http://www.erlang.org/doc/apps/inets/part_term.html#RFC">RFC</a> 2616.</li>
</ul>
<h2>Web Frameworks</h2>
<p>These are actual web frameworks which make developer&#8217;s lives easier, similar to Ruby, Merb, Sinatra and so on.</p>
<ul>
<li><a href="http://nitrogenproject.com/" target="_blank">Nitrogen</a> uses an event-driven model built on top of <a href="http://erlang.org/">Erlang</a> pattern matching. Nitrogen allows you to tag elements with any <a href="http://erlang.org/">Erlang</a> term, and then act on the tag in server-side code when the user clicks on, hovers over, or otherwise interacts with the element. Catching the event is as simple as writing an <a href="http://erlang.org/">Erlang</a> function.</li>
<li><a href="http://bitbucket.org/justin/webmachine/wiki/Home" target="_blank">Webmachine</a> is not much like the Web frameworks you&#8217;re used to. It is an application layer that adds HTTP semantic awareness on top of the excellent bit-pushing and HTTP syntax-management provided by mochiweb, and provides a simple and clean way to connect that to your application&#8217;s behavior.</li>
<li><a href="http://erlyweb.org/" target="_self">ErlyWeb</a> is a component-oriented web development framework written in <a href="http://erlang.org/">Erlang</a> and designed to work with <a href="http://yaws.hyber.org/">Yaws</a>, a high-performance Erlang web server. ErlyWeb simplifies building database-driven webapps that follow the tried and true MVC pattern using a great language with many outstanding strengths.</li>
<li><a href="http://www.erlang-web.org/" target="_blank">The Erlang Web</a> is an open source framework for applications based on HTTP protocols, giving the developer better control of content management. With Erlang Web&#8217;s simple but extensible concept of including dynamic content in pages, libraries of reusable components can be built. Currently it supports <a href="http://www.erlang.org/doc/apps/inets/part_frame.html" target="_blank">INETS</a> and <a href="http://yaws.hyber.org/" target="_blank">Yaws</a> webservers, but others are planned in the future.</li>
<li><a href="http://www.chicagoboss.org/" target="_blank">Chicago Boss</a> is fully asynchronous, using one single process to handle hundreds or thousands of simultaneous requests, and thus it solves the classic c10k problem. All other web frameworks will break down and cry if you ask them to process more than a few dozen simultaneous requests on a single machine. <a href="http://www.chicagoboss.org/" target="_blank">Chicago Boss</a> is built with <a href="http://erlang.org/">Erlang</a>, the same platform used by banks and telecoms to achieve unprecendented scalability and (no exaggeration) 99.9999999% reliability.</li>
</ul>
<h2>Other Erlang Projects</h2>
<p>This is a list of interesting <a href="http://erlang.org/">Erlang</a> projects that i&#8217;ve found on the web so far.</p>
<ul>
<li><a href="http://github.com/KirinDave/fuzed" target="_blank">Fuzed</a> is an <a href="http://erlang.org/">Erlang</a>-based clustering system designed to let several single-threaded processes (which may or may not be reliable) form<br />
into a pool which can serve requests to remote hosts. These resources need not be homogeneous, Fuzed breaks them up into homogeneous pools<br />
internally and serves out requests without &#8220;crossing the streams&#8221; of different software/versions of software.</li>
<li><a href="http://code.google.com/p/erlydtl/" target="_blank">ErlyDTL</a> is an <a href="http://erlang.org/">Erlang</a> implementation of the <a href="http://www.djangoproject.com/documentation/templates/">Django Template Language</a>. The erlydtl module compiles Django Template source code into Erlang bytecode. The compiled template has a &#8220;render&#8221; function that takes a list of variables and returns a fully rendered document.</li>
<li><a href="http://www.erlang.org/doc/apps/eunit/chapter.html" target="_blank">EUnit</a> is a unit testing framework for <a href="http://erlang.org/">Erlang</a>. It is very powerful and flexible, is easy to use, and has small syntactical overhead.</li>
<li><a href="http://couchdb.apache.org/" target="_blank">Apache CouchDB</a> is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. CouchDB also offers incremental replication with bi-directional conflict detection and resolution.</li>
<li><a href="http://github.com/mujaheed/erlang-amf" target="_blank">Erlang-AMF</a> is an AMF0 and AMF3 library (ActionScript data exchange).</li>
</ul>
<h2>Interesting Reads</h2>
<ul>
<li><a href="http://highscalability.com/blog/2008/5/14/new-facebook-chat-feature-scales-to-70-million-users-using-e.html" target="_self">New Facebook chat feature scales to 70m users using Erlang</a></li>
<li><a href="http://www.sics.se/~joe/apachevsyaws.html" target="_blank">Apache vs. Yaws</a></li>
<li><a href="http://thestaticvoid.com/post/2009/08/04/replacing-apache-with-yaws/" target="_blank">Replacing Apache with Yaws</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2009/10/24/discovering-erlang-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HAML bug with :javascript filter and undefined local variable or method</title>
		<link>http://sameshirteveryday.com/2009/04/19/haml-bug-with-javascript-filter-and-undefined-local-variable-or-method/</link>
		<comments>http://sameshirteveryday.com/2009/04/19/haml-bug-with-javascript-filter-and-undefined-local-variable-or-method/#comments</comments>
		<pubDate>Sun, 19 Apr 2009 19:05:51 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[haml]]></category>

		<guid isPermaLink="false">http://sameshirteveryday.com/?p=204</guid>
		<description><![CDATA[http://github.com/nex3/haml/issues#issue/2 on haml 2.0.9 require 'haml/engine' template_broken = ' :javascript - [1, 2, 3, 4].each do &#124;item&#124; = "Hey #{item}" ' puts Haml::Engine.new(template_broken).to_html causes (haml):3:in `to_html': undefined local variable or method `item' for #&#60;Object:0x2bedf64&#62; (NameError) from c:/ruby/lib/ruby/gems/1.8/gems/haml-2.0.9/lib/haml/engine.rb:149:in `to_html' from c:/ruby/lib/ruby/gems/1.8/gems/haml-2.0.9/lib/haml/engine.rb:149:in `instance_eval' from c:/ruby/lib/ruby/gems/1.8/gems/haml-2.0.9/lib/haml/engine.rb:149:in `to_html' from haml.rb:9 Replacing :javascript filter with regular %script tag fixed the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/nex3/haml/issues#issue/2">http://github.com/nex3/haml/issues#issue/2</a></p>
<p>on haml 2.0.9</p>
<pre>require 'haml/engine'

template_broken = '
:javascript
  - [1, 2, 3, 4].each do |item|
    = "Hey #{item}"
'

puts Haml::Engine.new(template_broken).to_html</pre>
<p>causes</p>
<pre>(haml):3:in `to_html': undefined local variable or method `item' for #&lt;Object:0x2bedf64&gt; (NameError)
        from c:/ruby/lib/ruby/gems/1.8/gems/haml-2.0.9/lib/haml/engine.rb:149:in `to_html'
        from c:/ruby/lib/ruby/gems/1.8/gems/haml-2.0.9/lib/haml/engine.rb:149:in `instance_eval'
        from c:/ruby/lib/ruby/gems/1.8/gems/haml-2.0.9/lib/haml/engine.rb:149:in `to_html'
        from haml.rb:9</pre>
<p>Replacing <code>:javascript</code> filter with regular <code>%script</code> tag fixed the issue. It&#8217;s a workaround.</p>
<pre>require 'haml/engine'

template_broken = '
%script
  - [1, 2, 3, 4].each do |item|
    = "Hey #{item}"
'

puts Haml::Engine.new(template_broken).to_html</pre>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2009/04/19/haml-bug-with-javascript-filter-and-undefined-local-variable-or-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>False positives in rcov</title>
		<link>http://sameshirteveryday.com/2009/04/18/false-positives-in-rcov/</link>
		<comments>http://sameshirteveryday.com/2009/04/18/false-positives-in-rcov/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 19:05:14 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[blocks]]></category>
		<category><![CDATA[coverage]]></category>
		<category><![CDATA[rcov]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://sameshirteveryday.com/?p=194</guid>
		<description><![CDATA[I noticed that depending on the syntax used, rcov (0.8.1.2.0 win32) can give false positives. For example, when putting blocks on the same line as methods that execute them, if the method was called and block wasn&#8217;t, the line would still be colored as &#8220;covered&#8221;. In the image above you can see that line #23 isn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-195" title="rcov_false_positives" src="http://sameshirteveryday.com/wp-content/uploads/2009/04/rcov_false_positives.png" alt="rcov_false_positives" width="800" height="195" /></p>
<p>I noticed that depending on the syntax used, rcov (0.8.1.2.0 win32) can give <strong>false positives</strong>. For example, when putting blocks on the same line as methods that execute them, if the method was called and block wasn&#8217;t, the line would still be colored as &#8220;covered&#8221;.</p>
<p>In the image above you can see that line #23 isn&#8217;t covered, where as #28 is. Problem is, I don&#8217;t have any tests yet hitting XML portion.</p>
<p>What&#8217;s even more interesting is that using { } syntax on multiple lines gives false positives just the same &#8211; you have to use do/end syntax specifically. Only, and only then rcov will process the block correctly.</p>
<p>Something to keep in mind.</p>
<p><strong>Update</strong>: I have tested this on OSX and the issue is exactly the same.</p>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2009/04/18/false-positives-in-rcov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missing &#8216;a&#8217; character on Windows with rspec and cucumber</title>
		<link>http://sameshirteveryday.com/2009/04/18/missing-a-character-on-windows-with-rspec-and-cucumber/</link>
		<comments>http://sameshirteveryday.com/2009/04/18/missing-a-character-on-windows-with-rspec-and-cucumber/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 17:21:32 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://sameshirteveryday.com/?p=190</guid>
		<description><![CDATA[Trying to get a windows rails environment going this morning I stumbled upon something interesting &#8211; all &#8216;a&#8217; characters were missing from cucumber and rspec output. This has something to do with UTF-8 encoding and there&#8217;s a ticket and wiki post on cucumber about it, but no solution that I found acceptable. Everything comes down [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-192" title="cucumber_a_characters_missing" src="http://sameshirteveryday.com/wp-content/uploads/2009/04/cucumber_a_characters_missing.png" alt="cucumber_a_characters_missing" width="800" height="127" /></p>
<p>Trying to get a windows rails environment going this morning I stumbled upon something interesting &#8211; all &#8216;a&#8217; characters were missing from cucumber and rspec output.</p>
<p>This has something to do with UTF-8 encoding and there&#8217;s a <a href="https://rspec.lighthouseapp.com/projects/16211/tickets/81-windows-all-the-a-characters-in-the-output-have-gone-on-strike">ticket</a> and <a href="http://wiki.github.com/aslakhellesoy/cucumber/troubleshooting">wiki post</a> on cucumber about it, but no solution that I found acceptable.</p>
<p>Everything comes down to having change encoding in the current cmd window. This is achieved via a simple call to <code>chcp 1252</code>, but nobody want&#8217;s to do this every time, right?</p>
<p>To get this executed automaticaly and without resorting to serious registry editing, simply add this line to your <code>cucmber.bat</code> and any other batch files that are exhibiting this problem. You can find <code>cucumber.bat</code> in your <code>/ruby/bin</code> folder.</p>
<p>Here&#8217;s what it looks like:</p>
<pre>chcp 1252
@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby.exe" "c:/ruby/bin/cucumber" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby.exe" "%~dpn0" %*</pre>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2009/04/18/missing-a-character-on-windows-with-rspec-and-cucumber/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>SyntaxHighlighter 2.0.296 (maintenance release)</title>
		<link>http://sameshirteveryday.com/2009/03/01/syntaxhighlighter-20296-maintenance-release/</link>
		<comments>http://sameshirteveryday.com/2009/03/01/syntaxhighlighter-20296-maintenance-release/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 05:32:17 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[SyntaxHighlighter]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://sameshirteveryday.com/?p=183</guid>
		<description><![CDATA[Changes in 2.0.296 Added &#8220;current&#8221; to published folder which always points to latest version. Added rollover to the copy to clipboard button. Fixed OSX specific line wrapping image issue. Switched to LGPL v3. It was brought to my attention that donation clause isn&#8217;t compatible with LGPL, therefore I elected to sacrifice potential free beer to [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-187" title="syntaxhighlighter" src="http://sameshirteveryday.com/wp-content/uploads/2009/03/syntaxhighlighter.png" alt="syntaxhighlighter" width="800" height="200" /></p>
<h4>Changes in 2.0.296</h4>
<ul>
<li>Added &#8220;current&#8221; to published folder which always points to latest version.</li>
<li>Added rollover to the copy to clipboard button.</li>
<li>Fixed OSX specific line wrapping image issue.</li>
<li>Switched to LGPL v3.<br />
<blockquote><p><em>It was brought to my attention that donation clause isn&#8217;t compatible with LGPL, therefore I elected to sacrifice potential free beer to stay proper open source, which. This of course means that donations are no longer required, but desired just the same (or even more so now because even fewer people will donate).</em></p></blockquote>
</li>
</ul>
<ul>
<li>[<span style="text-decoration: line-through;"><a class="external text" title="http://alexgorbatchev.com/bugs/view.php?id=5" rel="nofollow" href="http://alexgorbatchev.com/bugs/view.php?id=5">0000005</a></span>] Locked down all CSS with <code>!important</code> property. If you need to override values, please use <code>!important</code> as well.</li>
<li>[<span style="text-decoration: line-through;"><a class="external text" title="http://alexgorbatchev.com/bugs/view.php?id=8" rel="nofollow" href="http://alexgorbatchev.com/bugs/view.php?id=8">0000008</a></span>] Added <a title="SyntaxHighlighter:Brushes:Scala" href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes:Scala">Scala</a> and <a title="SyntaxHighlighter:Brushes:Perl" href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes:Perl">Perl</a> brushes.</li>
<li>[<span style="text-decoration: line-through;"><a class="external text" title="http://alexgorbatchev.com/bugs/view.php?id=9" rel="nofollow" href="http://alexgorbatchev.com/bugs/view.php?id=9">0000009</a></span>] Fixed style in about page.</li>
<li>[<span style="text-decoration: line-through;"><a class="external text" title="http://alexgorbatchev.com/bugs/view.php?id=11" rel="nofollow" href="http://alexgorbatchev.com/bugs/view.php?id=11">0000011</a></span>] Fixed duplicate &#8220;empty&#8221; function in PHP.</li>
</ul>
<p>As always, you can grab the latest version <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Download" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2009/03/01/syntaxhighlighter-20296-maintenance-release/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perfect little server &#8211; Introduction (part 1)</title>
		<link>http://sameshirteveryday.com/2009/02/28/perfect-little-server-introduction-part-1/</link>
		<comments>http://sameshirteveryday.com/2009/02/28/perfect-little-server-introduction-part-1/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 16:37:32 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[dns323]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://sameshirteveryday.com/?p=173</guid>
		<description><![CDATA[Over the last 3 or so years I&#8217;ve been running a Windows Home Server and everything was well. Then, a few months ago, a very high pitch noise started coming out from one of the 7 hard drives in it. The problem was, there wasn&#8217;t an easy way of telling which one was making the [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-180" title="dns323" src="http://sameshirteveryday.com/wp-content/uploads/2009/02/dns323.jpg" alt="dns323" width="800" height="200" /></p>
<p>Over the last 3 or so years I&#8217;ve been running a Windows Home Server and everything was well. Then, a few months ago, a very high pitch noise started coming out from one of the 7 hard drives in it. The problem was, there wasn&#8217;t an easy way of telling which one was making the sound.</p>
<p>To stay on the safe side I decided to run to a store and grabbed me the cheapest 2 bay encolosure that was in stock. Turns out I got very lucky.</p>
<p>I ended up with <a href="http://www.dlink.com/products/?pid=509" target="_blank">Dlink DNS 323</a> which after a brief search online yielded complete <a href="http://wiki.dns323.info/" target="_blank">how-to hack wiki</a>. In just 10 minutes <a href="http://wiki.dns323.info/howto:fun_plug" target="_blank">following instructions</a> I converted a pretty dumb enclosure to a full linux box.</p>
<p>Once you SSH into 323, a world of possibilities opens up. First order of business was to install <a href="http://wiki.dns323.info/howto:optware" target="_blank">optware</a> and from there, <a href="http://www.nslu2-linux.org/wiki/Optware/Packages" target="_blank">most of the common software</a> is available in precompiled, ready to go form. I&#8217;m not a *nix expert by any means, but with help of the wiki and occasional googling 323 presented almost no trouble what so ever.</p>
<p>Here&#8217;s what I really like about 323:</p>
<ol>
<li>Efficient &#8211; 15-25 watt power consumption (<a href="http://techdigs.net/content/view/158/46/">reference</a>) makes running 24/7 essentially guilt free.</li>
<li>Very quite &#8211; can&#8217;t even hear the drives 5 feet away</li>
<li>Gigabit ethernet</li>
<li>Runs linux &#8211; fuck yeah!</li>
<li>Super easy to hack</li>
</ol>
<p>In the next post I&#8217;ll talk about what I have installed on 323 to transform it from an enclosure to a server.</p>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2009/02/28/perfect-little-server-introduction-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Skinning WordPress is easy</title>
		<link>http://sameshirteveryday.com/2009/02/22/skinning-wordpress-is-easy/</link>
		<comments>http://sameshirteveryday.com/2009/02/22/skinning-wordpress-is-easy/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 03:53:05 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[themes]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://sameshirteveryday.com/?p=166</guid>
		<description><![CDATA[This was my first more or less serious attempt at creating a new theme for WordPress and it turned out to be a pretty trivial task, or at least as far as WordPress itself is concerned.  I love the fact that it doesn&#8217;t get in the way and there&#8217;s very little PHP required to create [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-168" title="theme-thumbnail" src="http://sameshirteveryday.com/wp-content/uploads/2009/02/theme-thumbnail.jpg" alt="theme-thumbnail" width="800" height="202" /></p>
<p>This was my first more or less serious attempt at creating a new theme for WordPress and it turned out to be a pretty trivial task, or at least as far as WordPress itself is concerned.  I love the fact that it doesn&#8217;t get in the way and there&#8217;s very little PHP required to create a brand new theme. I took out most of the typical blog stuff like linkrolls, calendar, pages, etc and just left what it is &#8211; just a blog.</p>
<p>For this design I tried to use some <a href="http://en.wikipedia.org/wiki/Golden_ratio" target="_blank">golden ratio</a> here and there and it seems to do the trick. I found an <a href="http://www.markuswelz.de/software2/index.html" target="_blank">awesome freeware tool</a> by <a href="http://www.markuswelz.de/" target="_blank">Markus Slewz</a> which helped tremendously.</p>
<p>Overall this took about a day and a half, from design to launch, so a weekend well spent. And yes, I do love <a href="http://en.wikipedia.org/wiki/Damask" target="_blank">damask</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2009/02/22/skinning-wordpress-is-easy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Posting reasonable opinions under unreasonable titles</title>
		<link>http://sameshirteveryday.com/2009/02/18/posting-reasonable-opinions-under-unreasonable-titles/</link>
		<comments>http://sameshirteveryday.com/2009/02/18/posting-reasonable-opinions-under-unreasonable-titles/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 19:11:00 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[rant]]></category>

		<guid isPermaLink="false">http://www.sameshirteveryday.com/2009/02/18/posting-reasonable-opinions-under-unreasonable-titles/</guid>
		<description><![CDATA[Adobe Flex not ready for Enterprise applications &#8211; yup folks, that&#8217;s right. Apparently because Flex can&#8217;t render HTML and has spotty context menu support, it&#8217;s not ready. These days when recruiters and employers actually do bother to check on private blogs, these kind of posts could turn out to be career limiting. The actual issues [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.codeglide.com/2009/02/18/adobe-flex-not-ready-for-enterprise-applications/" target="_blank">Adobe Flex not ready for Enterprise applications</a> &#8211; yup folks, that&#8217;s right. Apparently because Flex can&#8217;t render HTML and has spotty context menu support, it&#8217;s not ready.</p>
<p>These days when recruiters and employers actually do bother to check on private blogs, these kind of posts could turn out to be career limiting.</p>
<p>The actual issues mentioned are valid, but the conclusion drawn just sounds like whining in my opinion. It&#8217;s a good practice to evaluate potential platforms and check if you are able to implement core requirements on said platforms. It isn&#8217;t like Flex&#8217;s inability to render HTML was a big secret and if your product calls for that, you know what &#8211; don&#8217;t use Flex. It&#8217;s that simple.</p>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2009/02/18/posting-reasonable-opinions-under-unreasonable-titles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YUI Compressor &#8211; JavaScript minification</title>
		<link>http://sameshirteveryday.com/2007/12/13/yui-compressor-javascript-minification/</link>
		<comments>http://sameshirteveryday.com/2007/12/13/yui-compressor-javascript-minification/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 14:52:11 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.sameshirteveryday.com/2007/12/13/yui-compressor-javascript-minification/</guid>
		<description><![CDATA[In my current Silverlight project the amount of JavaScript is growing exponentially. Everything that I took for granted in Flash which took years to build and &#8220;perfect&#8221; now needed to be converted to JavaScript. For the first beta release which is looming next week, the amount is about 130k. &#8220;Compressing&#8221; it with JSMin yields a [...]]]></description>
			<content:encoded><![CDATA[<p>In my current Silverlight project the amount of JavaScript is growing exponentially. Everything that I took for granted in Flash which took years to build and &#8220;perfect&#8221; now needed to be converted to JavaScript.</p>
<p>For the first beta release which is looming next week, the amount is about 130k. &#8220;Compressing&#8221; it with <a href="http://crockford.com/javascript/jsmin">JSMin </a>yields a file of 75kb in size. Yesterday I tried <a href="http://developer.yahoo.com/yui/compressor/">YUI Compressor</a> which managed to squeeze it down to 65kb.</p>
<p>I&#8217;m very happy I no longer have to look at JSMin code which induces gag reflex and makes my eyes bleed. The amount of effort and self restraint it took not to rewrite it can not be described in words.</p>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2007/12/13/yui-compressor-javascript-minification/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>RIO &#8211; wrong number of arguments on rmtree, mkpath etc</title>
		<link>http://sameshirteveryday.com/2007/12/12/rio-wrong-number-of-arguments-on-rmtree-mkpath-etc/</link>
		<comments>http://sameshirteveryday.com/2007/12/12/rio-wrong-number-of-arguments-on-rmtree-mkpath-etc/#comments</comments>
		<pubDate>Wed, 12 Dec 2007 17:11:22 +0000</pubDate>
		<dc:creator>Alex Gorbatchev</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.sameshirteveryday.com/2007/12/12/rio-wrong-number-of-arguments-on-rmtree-mkpath-etc/</guid>
		<description><![CDATA[It&#8217;s nice to do some Ruby once in a while. Lately I&#8217;ve been involved in a Silverlight project and haven&#8217;t touched Ruby in 2 months (hence the lack of activity on my Ruby blog). However, I&#8217;m making a build script in Ruby. I have run into a weird exception when using my favorite IO gem [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s nice to do some Ruby once in a while. Lately I&#8217;ve been involved in a Silverlight project and haven&#8217;t touched Ruby in 2 months (hence the lack of activity on my Ruby blog). However, I&#8217;m making a build script in Ruby.</p>
<p>I have run into a weird exception when using my favorite IO gem <a href="http://www.noobkit.com/show/ruby/gems/io/rio/rio.html">RIO</a> (btw, Noobkit page got beaten with the ugly stick and parser needs a spanking).</p>
<p>Exception occur when calling <code>rio(...).rmtree</code> or <code>rio(...).mkpath</code> or <code>rio(...).mkdir</code>. It reads as follows: &#8220;wrong number of arguments (0 for 1)&#8221;. I know for a fact that these methods don&#8217;t take any arguments, but just for kicks, passing a single random argument results in an ironic &#8220;wrong number of arguments (1 for 0)&#8221;.</p>
<p>Basically the problem came down to the fact that <strong>RIO doesn&#8217;t like Rake</strong>. I can live without Rake, but not without RIO.</p>
]]></content:encoded>
			<wfw:commentRss>http://sameshirteveryday.com/2007/12/12/rio-wrong-number-of-arguments-on-rmtree-mkpath-etc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
