<?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>aBinaryMind</title>
	<atom:link href="http://www.abinarymind.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.abinarymind.com</link>
	<description>Some thoughts, some info, some rants</description>
	<lastBuildDate>Wed, 30 Jun 2010 15:36:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Redmine installation guide</title>
		<link>http://www.abinarymind.com/2009/12/redmine-installation-guide-ubuntu/</link>
		<comments>http://www.abinarymind.com/2009/12/redmine-installation-guide-ubuntu/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 09:14:52 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[redmine]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=131</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>This is a guide to install Redmine (svn trunk) on Ubuntu 9.10.</p>
<p>The assumed location of Redmine is <em>/srv/redmine</em></p>
<h3>Phase 1: Setup Redmine</h3>
<p><strong>Step 1</strong><br />
Install required packages.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> ruby rake ruby-dev rubygems libmysqlclient-dev libopenssl-ruby</div></div>
<p><strong>Step 2</strong><br />
Check out Redmine trunk.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>srv<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">svn</span> <span style="color: #c20cb9; font-weight: bold;">co</span> http:<span style="color: #000000; font-weight: bold;">//</span>redmine.rubyforge.org<span style="color: #000000; font-weight: bold;">/</span>svn<span style="color: #000000; font-weight: bold;">/</span>trunk redmine</div></div>
<p><strong>Step 3</strong><br />
Install required ruby gems:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> gem <span style="color: #c20cb9; font-weight: bold;">install</span> rails mongrel mongrel_cluster daemons mysql actionmailer</div></div>
<p>Note 1: We may need to update Rails RAILS_GEM_VERSION in file <em>[redmine]/config/environment.rb</em> to reflect actual version of Rails gems installed.</p>
<p>Note 2: We may need to create soft link for rails &amp; mongrel executables for convenient</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.8</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>mongrel_rails <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.8</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>rails <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span><br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.8</span><span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>mongrel_cluster_ctl <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span></div></div>
<p><strong>Step 4</strong><br />
Create mysql database</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ mysql <span style="color: #660033;">-u</span> root <span style="color: #660033;">-p</span><br />
<span style="color: #666666; font-style: italic;"># Enter mysql root password when prompted</span></div></div>
<p>Run the following code in mysql, substitute your own database name, password, &#8230;</p>
<div class="codecolorer-container sql default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="sql codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #993333; font-weight: bold;">CREATE</span> <span style="color: #993333; font-weight: bold;">DATABASE</span> redmine character <span style="color: #993333; font-weight: bold;">SET</span> utf8;<br />
<span style="color: #993333; font-weight: bold;">CREATE</span> user <span style="color: #ff0000;">'redmine'</span>@<span style="color: #ff0000;">'localhost'</span> <span style="color: #993333; font-weight: bold;">IDENTIFIED</span> <span style="color: #993333; font-weight: bold;">BY</span> <span style="color: #ff0000;">'my_password'</span>;<br />
<span style="color: #993333; font-weight: bold;">GRANT</span> <span style="color: #993333; font-weight: bold;">ALL</span> privileges <span style="color: #993333; font-weight: bold;">ON</span> redmine<span style="color: #66cc66;">.*</span> <span style="color: #993333; font-weight: bold;">TO</span> <span style="color: #ff0000;">'redmine'</span>@<span style="color: #ff0000;">'localhost'</span>;</div></div>
<p><strong>Step 5</strong><br />
Create/Update database parameters in <em>[redmine]/config/database.yml</em> accordingly to prior step info.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">production:<br />
adapter: mysql<br />
database: redmine<br />
host: localhost<br />
username: redmine<br />
password: my_password<br />
encoding: utf8</div></div>
<p><strong>Step 6</strong><br />
Initialize the database</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># Initialize session hash</span><br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> rake config<span style="color: #000000; font-weight: bold;">/</span>initializers<span style="color: #000000; font-weight: bold;">/</span>session_store.rb</div></div>
<p># Load db schema<br />
$ sudo rake db:migrate RAILS_ENV=&#8221;production&#8221;</p>
<p>$ sudo rake redmine:load_default_data RAILS_ENV=&#8221;production&#8221;</p>
<p><strong>Step 7</strong><br />
Create redmine user &amp; setting up directory permission</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666; font-style: italic;"># Context: root:[redmine_dir]</span><br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> useradd redmine<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> tmp public<span style="color: #000000; font-weight: bold;">/</span>plugin_assets<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chown</span> <span style="color: #660033;">-R</span> redmine:redmine &nbsp;files log tmp<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> <span style="color: #660033;">-R</span> <span style="color: #000000;">755</span> files log tmp public</div></div>
<p><strong>Step 8</strong><br />
Testing the application server</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> ruby script<span style="color: #000000; font-weight: bold;">/</span>server <span style="color: #660033;">-e</span> production</div></div>
<p>The server is listening on [http://localhost:3000].</p>
<h3>Phase 2: Setup Apache &amp; Mongrel Cluster</h3>
<p><strong>Step 1</strong><br />
Create mongrel cluster configuration files for Redmine.</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> mongrel_rails cluster::configure <span style="color: #660033;">-e</span> production <span style="color: #660033;">-p</span> <span style="color: #000000;">3000</span> <span style="color: #660033;">-N</span> <span style="color: #000000;">3</span> <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">/</span>srv<span style="color: #000000; font-weight: bold;">/</span>redmine <span style="color: #660033;">-a</span> 127.0.0.1 <span style="color: #660033;">--user</span> redmine <span style="color: #660033;">--group</span> redmine</div></div>
<p># Test mongrel_installation<br />
$ sudo mongrel_rails cluster::start</p>
<p><strong>Step 2</strong><br />
Create apache virtual host file at <strong>/etc/apache/sites-available/</strong></p>
<div class="codecolorer-container apache default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="apache codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00007f;">ServerName</span> your.virtual-host.com<br />
<span style="color: #00007f;">DocumentRoot</span> /srv/redmine</div></div>
<p>AllowOverride FileInfo Indexes</p>
<p>RewriteEngine On</p>
<p># Redirect all non-static requests to Mongrel<br />
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f<br />
RewriteRule ^/(.*)$ balancer://redmine_cluster%{REQUEST_URI} [P,QSA,L]</p>
<p>ProxyPassReverse / balancer://redmine_cluster<br />
ProxyPreserveHost on<br />
BalancerMember http://localhost:3000<br />
BalancerMember http://localhost:3001<br />
BalancerMember http://localhost:3002<br />
Order deny,allow<br />
Allow from all</p>
<p># Block access to .svn directories</p>
<p>ErrorDocument 403 /404.html<br />
Order allow,deny<br />
Deny from all<br />
Satisfy All</p>
<p><strong>Step 3</strong><br />
Turn on the virtual host and required modules</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> a2enmod proxy<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> a2enmod proxy_http<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> a2enmod proxy_balancer<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> a2ensite</div></div>
<p># Restart web server<br />
$ sudo /etc/init.d/apache2 restart</p>
<h3>Phase 3: Surviving the reboot &amp; G!Mail SMTP</h3>
<h3><strong>Step 1</strong><br />
Create global mongrel_cluster configuration</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>mongrel_cluster<br />
$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>mongrel_cluster<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>srv<span style="color: #000000; font-weight: bold;">/</span>redmine<span style="color: #000000; font-weight: bold;">/</span>config<span style="color: #000000; font-weight: bold;">/</span>mongrel_cluster.yml <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>mongrel_cluster<span style="color: #000000; font-weight: bold;">/</span>redmine.yml</div></div>
<p><strong>Step 2</strong><br />
Update the services</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.8</span><span style="color: #000000; font-weight: bold;">/</span>gems<span style="color: #000000; font-weight: bold;">/</span>mongrel_cluster-1.0.5<span style="color: #000000; font-weight: bold;">/</span>resources<span style="color: #000000; font-weight: bold;">/</span>mongrel_cluster <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span><br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">chmod</span> +x <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>mongrel_cluster<br />
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin<span style="color: #000000; font-weight: bold;">/</span>update-rc.d <span style="color: #660033;">-f</span> mongrel_cluster defaults</div></div>
<p>Step 3<br />
Configure G!Mail</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> ruby script<span style="color: #000000; font-weight: bold;">/</span>plugin <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #c20cb9; font-weight: bold;">git</span>:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>collectiveidea<span style="color: #000000; font-weight: bold;">/</span>action_mailer_optional_tls.git</div></div>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># File: config/email.yml<br />
production:<br />
delivery_method: :smtp<br />
smtp_settings:<br />
tls: true<br />
address: &quot;smtp.gmail.com&quot;<br />
port: '587'<br />
domain: &quot;smtp.gmail.com&quot;<br />
authentication: :plain<br />
user_name: &quot;your_email@gmail.com&quot;<br />
password: &quot;your_password&quot;</div></div>
</h3>
<h3>References</h3>
<ol>
<li>http://www.redmine.org/wiki/redmine/RedmineInstall</li>
<li>http://ubuntuforums.org/showthread.php?t=674598</li>
<li>http://azureusonrails.rubyforge.org/wiki/wiki.pl?Install/Mongrel_Cluster_With_Apache_2.2</li>
<li>http://redmineblog.com/articles/setup-redmine-to-send-email-using-gmail/</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/12/redmine-installation-guide-ubuntu/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Nguyên Phó Chủ tịch nước: Quá bất công với Ba Sương!</title>
		<link>http://www.abinarymind.com/2009/11/nguyen-pho-ch%e1%bb%a7-t%e1%bb%8bch-n%c6%b0%e1%bb%9bc-qua-b%e1%ba%a5t-cong-v%e1%bb%9bi-ba-s%c6%b0%c6%a1ng-chinh-tr%e1%bb%8b-vietnamnet/</link>
		<comments>http://www.abinarymind.com/2009/11/nguyen-pho-ch%e1%bb%a7-t%e1%bb%8bch-n%c6%b0%e1%bb%9bc-qua-b%e1%ba%a5t-cong-v%e1%bb%9bi-ba-s%c6%b0%c6%a1ng-chinh-tr%e1%bb%8b-vietnamnet/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 06:54:38 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Vietnamese]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=126</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>Đọc những dòng này &#8230;</p>
<blockquote><p>Cô ấy duy trì quỹ đó không phải để cho riêng mình tiêu xài, cũng không hề có gì dấu giếm để phục vụ cho những lợi ích cá nhân</p></blockquote>
<p>&#8230; và những dòng này&#8230;</p>
<blockquote><p>Tôi biết cô ấy không lập gia đình, cả cuộc đời dành mọi tâm huyết lo lắng cho Nông trường, cho cuộc sống biết bao người nông dân, nguyên cái đó thôi cũng khiến chúng ta phải suy nghĩ về động cơ việc làm của cô ấy</p></blockquote>
<p>&#8230;liệu chúng ta có thể làm ngơ?</p>
<p>via <a href="http://vietnamnet.vn/chinhtri/200911/Nguyen-Pho-Chu-tich-nuoc-Qua-bat-cong-voi-Ba-Suong-879960/">Nguyên Phó Chủ tịch nước: Quá bất công với Ba Sương! &#8211; Chính trị &#8211; VietNamNet</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/11/nguyen-pho-ch%e1%bb%a7-t%e1%bb%8bch-n%c6%b0%e1%bb%9bc-qua-b%e1%ba%a5t-cong-v%e1%bb%9bi-ba-s%c6%b0%c6%a1ng-chinh-tr%e1%bb%8b-vietnamnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When to Choose Drupal &#124; PracticalWeb Ltd</title>
		<link>http://www.abinarymind.com/2009/11/when-to-choose-drupal-practicalweb-ltd/</link>
		<comments>http://www.abinarymind.com/2009/11/when-to-choose-drupal-practicalweb-ltd/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 01:25:32 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=116</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>A very informative post about when to choose Drupal for a combination of project &amp; people.</p>
<blockquote><p>Drupal is a very flexible CMS which can be extended to provide the functionality needed for may different types of website.</p>
<p>I&#8217;ve worked on a few projects where I was brought in for my Drupal expertise, but in the end felt that Drupal wasn&#8217;t a good solution in these particular circumstances. So I&#8217;ve been pondering what sorts of projects is Drupal best suited to.</p>
<p>I&#8217;m not thinking about small brochureware websites that might be best managed using WordPress, Joomla or the like as almost all my experience is of larger projects where the alternatives are frameworks such as Symfony, Rails, Struts etc – or pure custom code.</p>
<p>I&#8217;m know it&#8217;s possible to run a successful Drupal project that doesn&#8217;t have all the good points and does have some bad points from the lists below – I&#8217;ve done it.</p>
<p>But if anyone has successfully delivered a regularly upgraded, high traffic, fully tested web application with inflexible requirements using a large team of OO programmers with little prior Drupal experience – well I&#8217;d love to hear about it.<br />
via <a href="http://www.practicalweb.co.uk/blog/09/11/03/when-choose-drupal">When to Choose Drupal | PracticalWeb Ltd</a>.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/11/when-to-choose-drupal-practicalweb-ltd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatic virtual host with Apache</title>
		<link>http://www.abinarymind.com/2009/10/automatic-virtual-host-with-apache/</link>
		<comments>http://www.abinarymind.com/2009/10/automatic-virtual-host-with-apache/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 04:35:02 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[virtualhost]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=95</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>When developing with CakePHP, we can setup Apache to automatically redirect a domain to a specific CakePHP application.</p>
<p>We can set computer&#8217;s aliases using <a href="http://en.wikipedia.org/wiki/Hosts_file">hosts file</a>. Apache will automatically map aliases to different DocumentRoot:</p>
<p><strong>app1.mybox.com</strong> -&gt; /var/www/cakephp/<strong>app1.mybox.com</strong>/webroot<br />
<strong>app2.somewhere.com</strong> -&gt; /var/www/cakephp/<strong>app2.somewhere.com</strong>/webroot</p>
<p><strong>Step 1:</strong> Enable the mod_vhost_alias:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ sudo a2enmod vhost_alias</div></div>
<p><strong>Step 2:</strong> Replace the DocumentRoot statement in <em>default</em> virtualhost configuration file with two lines:</p>
<div class="codecolorer-container apache default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="apache codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #00007f;">UseCanonicalName</span> &nbsp; &nbsp;<span style="color: #0000ff;">Off</span><br />
<span style="color: #00007f;">VirtualDocumentRoot</span> /var/www/cakephp/%0/webroot</div></div>
<p>(If you use a different virtualhost, make sure that you&#8217;re editing the right configuration file)</p>
<p><strong>Step 3:</strong> However, the mod_rewrite doesn&#8217;t play nice with mod_vhost_alias. We need to edit the .htaccess file in {APP}/webroot folder.</p>
<div class="codecolorer-container apache default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="apache codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #00007f;">RewriteEngine</span> <span style="color: #0000ff;">On</span><br />
&nbsp; &nbsp; <span style="color: #00007f;">RewriteBase</span> / &nbsp; <span style="color: #adadad; font-style: italic;"># &lt;&lt; Add this line</span><br />
&nbsp; &nbsp; <span style="color: #00007f;">RewriteCond</span> %{REQUEST_FILENAME} !-d</div></div>
<p><strong>Step 4:</strong> Restart Apache.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">sudo service apache2 restart</div></div>
<p>Below is my default virtual host configuration for your reference:</p>
<div class="codecolorer-container apache default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="apache codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;<span style="color: #000000; font-weight:bold;">VirtualHost</span> *:<span style="color: #ff0000;">80</span>&gt;<br />
&nbsp; &nbsp; <span style="color: #00007f;">ServerAdmin</span> webmaster@localhost<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">UseCanonicalName</span> <span style="color: #0000ff;">Off</span><br />
&nbsp; &nbsp; <span style="color: #00007f;">VirtualDocumentRoot</span> /var/www/cakephp/%0/webroot<br />
<br />
&nbsp; &nbsp; &lt;<span style="color: #000000; font-weight:bold;">Directory</span> /&gt;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">Options</span> <span style="color: #0000ff;">FollowSymLinks</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #00007f;">AllowOverride</span> <span style="color: #0000ff;">All</span><br />
&nbsp; &nbsp; &lt;/<span style="color: #000000; font-weight:bold;">Directory</span>&gt;<br />
<br />
&nbsp; &nbsp; <span style="color: #00007f;">ErrorLog</span> /var/log/apache2/error.log<br />
<br />
&nbsp; &nbsp; <span style="color: #adadad; font-style: italic;"># Possible values include: debug, info, notice, warn, error, crit,</span><br />
&nbsp; &nbsp; <span style="color: #adadad; font-style: italic;"># alert, emerg.</span><br />
&nbsp; &nbsp; <span style="color: #00007f;">LogLevel</span> warn<br />
<br />
&nbsp; &nbsp; <span style="color: #00007f;">CustomLog</span> /var/log/apache2/access.log combined<br />
&lt;/<span style="color: #000000; font-weight:bold;">VirtualHost</span>&gt;</div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/10/automatic-virtual-host-with-apache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to hide files in Nautilus</title>
		<link>http://www.abinarymind.com/2009/09/how-to-hide-files-in-nautilus/</link>
		<comments>http://www.abinarymind.com/2009/09/how-to-hide-files-in-nautilus/#comments</comments>
		<pubDate>Wed, 16 Sep 2009 16:05:25 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[hidden]]></category>
		<category><![CDATA[lost+found]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=86</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>In Linux, files which name start by a dot &#8216;.&#8217; are hidden by default in most file managers. However, there are cases when we want to hide dot-file from our view. For examples:</p>
<ul>
<li> Desktop folder in our home folder.</li>
<li>Dropbox</li>
<li>lost+found directory at the partition root</li>
<li>&#8230;</li>
</ul>
<p>In Nautilus (default GNOME file manager) there&#8217;s a way. Add a file named</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">.hidden</div></div>
<p>with each line is the name of the file/folder you want to hide.</p>
<p>For example, if you want to hide Desktop from home folder you may type this command in the terminal:</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Desktop&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> ~<span style="color: #000000; font-weight: bold;">/</span>.hidden</div></div>
<p>Note: This trick only works in Nautilus. It won&#8217;t work in Konqueror or Dolphin. I don&#8217;t know if it works in other file managers or not.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/09/how-to-hide-files-in-nautilus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The natural evolution from side project to full-time business</title>
		<link>http://www.abinarymind.com/2009/06/the-natural-evolution-from-side-project-to-full-time-business/</link>
		<comments>http://www.abinarymind.com/2009/06/the-natural-evolution-from-side-project-to-full-time-business/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 04:20:54 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[startup]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=80</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>Some have doubted our advice that you should hold on to your day job and start something on the side. They argue building a business requires such persistent effort that you need to devote all your time to it to do it right.</p>
<p>And it’s true that building a business requires plenty of time and effort. But the idea that you need to quit your job to do it right is misguided. If you quit your job, you shift everything. You don’t gain time, you lose it. You put a shot clock on your business. You box yourself into a position where you have to profit immediately or the whole thing goes under. You’ve got to make it work now or give up forever.</p>
<p>Hanging on to your day job gives you a longer period of time to build your idea. It lets you give a sustained effort over time. There’s no get rich quick option. You build it slowly, one day at a time.</p>
<p>Yes, you need to find time to do both your side business and your normal gig. But there’s always enough time if you spend it right. Instead of watching TV or playing Grand Theft Auto, work on your idea. Instead of going to bed at 10, go to bed at 11. We’re not talking about all-nighters or 16 hour days – we’re talking about squeezing out a few extra hours a week. That’s enough time to get something going and then keep giving it gas.</p>
<p>Let your side business evolve into a full-time business naturally. Go for organic growth. Start as a side project. Build it slowly. Keep putting time into it. As pickup of your project grows, then you can justify devoting more resources to it. Eventually, if everything goes according to plan, you’ll be able to quit your job and devote all your time to it (if that’s what you want). But doing so right out of the gate is putting the cart before the horse.</p>
<p>Think how evolution happens in nature. There aren’t huge leaps. Things incrementally change. That’s the model to shoot for.</p>
<p>via <a href="http://www.37signals.com/svn/posts/1764-the-natural-evolution-from-side-project-to-full-time-business">The natural evolution from side project to full-time business &#8211; (37signals)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/06/the-natural-evolution-from-side-project-to-full-time-business/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>parsedatetime</title>
		<link>http://www.abinarymind.com/2009/06/parsedatetime/</link>
		<comments>http://www.abinarymind.com/2009/06/parsedatetime/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 07:27:48 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[datetime]]></category>
		<category><![CDATA[natural language]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[processing]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=55</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>parsedatetime is able to parse, for example, the following:</p>
<ul>
<li>August 25th, 2008</li>
<li>25 Aug 2008</li>
<li>Aug 25 5pm</li>
<li>5pm August 25</li>
<li>next saturday</li>
<li>tomorrow</li>
<li>next thursday at 4pm</li>
<li>at 4pm</li>
<li>eod</li>
<li>tomorrow eod</li>
<li>eod tuesday</li>
<li>eoy</li>
<li>eom</li>
<li>in 5 minutes</li>
<li>5 minutes from now</li>
<li>5 hours before now</li>
<li>2 hours before noon</li>
</ul>
<p>via <a href="http://code.google.com/p/parsedatetime/">parsedatetime &#8211; Google Code</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/06/parsedatetime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gnome-colors</title>
		<link>http://www.abinarymind.com/2009/06/gnome-colors/</link>
		<comments>http://www.abinarymind.com/2009/06/gnome-colors/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 04:30:34 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[colors]]></category>
		<category><![CDATA[GDM]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=53</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>The GNOME-Colors is a project that aims to make the GNOME desktop as elegant, consistent and colorful as possible.</p>
<p>The current goal is to allow full color customization of themes, icons, GDM logins and splash screens. There are already five full color-schemes available; Brave (Blue), Human (Orange), Wine (Red), Noble (Purple) and Wise (Green).</p>
<p>GNOME-Colors is mostly inspired/based on Tango, GNOME, Elementary, Tango-Generator and many other open-source projects.</p>
<p>via <a href="http://code.google.com/p/gnome-colors/">gnome-colors &#8211; Google Code</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/06/gnome-colors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>P2: The New Prologue</title>
		<link>http://www.abinarymind.com/2009/06/p2-the-new%c2%a0prologue/</link>
		<comments>http://www.abinarymind.com/2009/06/p2-the-new%c2%a0prologue/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 02:10:38 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Web Application]]></category>
		<category><![CDATA[clean]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[white]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=51</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>Today we’re extra-pleased to introduce you to a new theme that reinvents what it means to group blog on WordPress.com.</p>
<p>We call it P2 (in the style of K2, the update on the classic Kubrick theme), and it’s an extensive revamp of Prologue, the brainchild of last year’s winter retreat.</p>
<p>Prologue broke ground when it brought microblogging to WordPress.com. Now it’s cooler, faster, sleeker, and ready for 2009 and beyond:</p>
<p>via <a href="http://en.blog.wordpress.com/2009/03/11/p2-the-new-prologue/">P2: The New Prologue « Blog « WordPress.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/06/p2-the-new%c2%a0prologue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rename files from upper case filename to lower case (in bash)</title>
		<link>http://www.abinarymind.com/2009/06/rename-files-from-upper-case-filename-to-lower-case-in-bash/</link>
		<comments>http://www.abinarymind.com/2009/06/rename-files-from-upper-case-filename-to-lower-case-in-bash/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 03:10:38 +0000</pubDate>
		<dc:creator>lexhung</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Linux/Unix]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[lowercase]]></category>
		<category><![CDATA[rename]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[uppercase]]></category>

		<guid isPermaLink="false">http://www.abinarymind.com/?p=49</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>Here is a way to rename files in bash, from upper case filenames to lowercase ones</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">for i in *; do mv $i `echo $i | tr [:upper:] [:lower:]`; done</div></div>
<p>via <a href="http://blog.mc-thias.org/?c=1&amp;more=1&amp;pb=1&amp;tb=1&amp;title=rename-files-from-upper-case-filename-to">Rename files from upper case filename to lower case (in bash)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.abinarymind.com/2009/06/rename-files-from-upper-case-filename-to-lower-case-in-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
