<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10titles.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemtitles.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;A0IGRXc6fip7ImA9WhBUE0U.&quot;"><id>tag:blogger.com,1999:blog-28371165</id><updated>2013-05-01T14:25:24.916+08:00</updated><category term="Python" /><category term="OpenShift" /><category term="Fedora" /><category term="Yum" /><category term="foss.my" /><category term="Buildout" /><category term="Postfix" /><category term="UTP-OSS" /><category term="Philosophy" /><category term="Misc" /><category term="PlanetPlone" /><category term="Security" /><category term="Diazo" /><category term="Bicycle" /><category term="Announcement" /><category term="Programming" /><category term="GNOME" /><category term="Web" /><category term="Psychology" /><category term="Anime" /><category term="KVM" /><category term="Plone" /><category term="Hakaze" /><category term="Compiz" /><category term="Framework" /><category term="OpenERP" /><category term="LXC" /><category term="UTPchat" /><category term="Zope" /><category term="Deen of God" /><category term="Virtualization" /><category term="Events" /><category term="Ideas" /><category term="News" /><category term="Funny" /><category term="Cloud" /><category term="HTML5" /><category term="HOWTO" /><category term="Reviews" /><category term="EventReport" /><category term="PlanetFedora" /><category term="FUDCon" /><category term="KDE" /><category term="Grok" /><category term="Javascript" /><category term="Debian" /><category term="Hacks" /><category term="Physics" /><category term="CentOS" /><category term="Pidgin" /><category term="Devices" /><category term="HiTB" /><category term="FreeBSD" /><category term="MyOSS" /><category term="Tips" /><category term="Blogger" /><category term="Java" /><category term="Geek Log" /><category term="Google" /><category term="QT/KDE" /><category term="Dovecot" /><category term="LDAP" /><category term="Open Source" /><category term="Zenoss" /><category term="AppRepo" /><category term="Firefox" /><category term="Guide" /><category term="Ruby" /><category term="Linux" /><category term="Obviel" /><category term="Inigo" /><category term="CampusCamp" /><category term="Tools" /><category term="Ubuntu" /><category term="Rant" /><category term="repoze.bfg" /><category term="Doppelganger" /><title type="text">Shadow Logs</title><subtitle type="html">A blog by a Information Communication Technology student from PETRONAS Technology University about what he discovered and learned. Mainly focuses on guides, howtos, and news related to Fedora, Linux, OpenSource and computing in general + some misc stuff.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.kagesenshi.org/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.kagesenshi.org/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default?start-index=6&amp;max-results=5&amp;redirect=false&amp;v=2" /><author><name>Izhar Firdaus</name><uri>https://plus.google.com/112593043474908198080</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-B2z2WWyASUA/AAAAAAAAAAI/AAAAAAAABfs/VZIi_ETTJws/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>360</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>5</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/KageSenshi" /><feedburner:info uri="kagesenshi" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><logo>http://bp0.blogger.com/_0DENAyCRujw/R4bhJxwdC_I/AAAAAAAAAIA/_qzdlgAknCM/s1600-h/hackergotchi.png</logo><feedburner:emailServiceId>KageSenshi</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;DUMCRn88fyp7ImA9WhNUFUo.&quot;"><id>tag:blogger.com,1999:blog-28371165.post-5077789941779747478</id><published>2013-01-07T20:59:00.004+08:00</published><updated>2013-01-08T00:51:07.177+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2013-01-08T00:51:07.177+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Bicycle" /><category scheme="http://www.blogger.com/atom/ns#" term="Reviews" /><category scheme="http://www.blogger.com/atom/ns#" term="Doppelganger" /><category scheme="http://www.blogger.com/atom/ns#" term="Geek Log" /><title>New Toy: Doppelganger 211 Folding Bicycle</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-o3UoMhr8O1I/UOq3B0b__RI/AAAAAAAABfM/8Fq9xmP5KuI/s1600/dp211-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="266" src="http://4.bp.blogspot.com/-o3UoMhr8O1I/UOq3B0b__RI/AAAAAAAABfM/8Fq9xmP5KuI/s400/dp211-1.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
So I just got myself a new toy : a &lt;a href="http://www.doppelganger.jp/en/product/211/"&gt;Doppelganger 211&lt;/a&gt; Folding Bicycle. I've been wanting to grab a folding bike ever since I got back from &lt;a href="http://conference.hitb.org/"&gt;HackInTheBox Amsterdam&lt;/a&gt; a few years ago, but due to random stuff happening regularly, I've been delaying on the plan. This is my first personal bicycle since about 10 years ago, where previously during primary school and lower secondary school, bicycle was my primary vehicle.&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-uAvg_aDWQ2M/UOrE0-7eYgI/AAAAAAAABfc/HAdnmUEAEj4/s1600/dp211-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="192" src="http://3.bp.blogspot.com/-uAvg_aDWQ2M/UOrE0-7eYgI/AAAAAAAABfc/HAdnmUEAEj4/s320/dp211-2.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Why?&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Why am I buying a folding bike?. Especially when I already have a car?. No solid reason, but there are several reasons which made it a nice-to-have:&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;I don't like driving for short distance, but walking consumes too much time. A bicycle is a nice middle point. &lt;/li&gt;
&lt;li&gt;I regularly switch between staying at office and home for a few days, so if I have a bicycle, I want it to not be confined in either of the 2 places, thus, the bicycle need to be able to be transportable in my car - therefore, it should be a folding bike.&lt;/li&gt;
&lt;li&gt;Sometimes when I need to travel, I keep finding myself wishing there's a bicycle with me so that I can cover more ground in short amount of time. Most of the time, when I'm travelling , it is for conferences, of which I don't have much free time, so being able to cover more ground quickly would put the free time to good use.&lt;/li&gt;
&lt;li&gt;When on random trip to local places, it's also nice to be able to park somewhere and explore the local vicinity on bicycle.&lt;/li&gt;
&lt;li&gt;I've been without a bicycle for 10years now, and I want a new bike!.&amp;nbsp; &lt;/li&gt;
&lt;/ul&gt;
&lt;b&gt;Why a Doppelganger?&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
The reason I picked the brand is quite straightforward - it is not too expensive, have a decent spec, and not to forget, the design is a beauty. I bought mine for less than MYR1.5k from the people at &lt;a href="http://www.esybike.com/"&gt;EsyBike&lt;/a&gt;. The 20" wheeled bicycle is equipped with 7-speed Shimano gears, front disc brake, and detachable LED torchlight. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Review&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
As I mentioned earlier, I have been without a bicycle for 10 years now, so some part of this review is mainly based on comparing with the stuff I had from back then.&lt;br /&gt;
&lt;ul style="text-align: left;"&gt;
&lt;li&gt;Design - For a folding bike at this price, this machine is a real beauty. When I was considering to buy a folding bike, I researched on various brands of folding bicycle. A lot of the bike designs goes somewhere along the line that it might look as if a panda riding a tiny bicycle when being ridden. There are a number of nice designs from ORiBike, Hummer and Montague, however, their prices are way beyond my budget.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;Rigidity and stability - The bike feels very solid and stable, giving a good confidence when riding it.&lt;/li&gt;
&lt;li&gt;Portability - The portability is decent enough, but not great. The bike barely fit into my car trunk (then again I have a &lt;a href="https://www.google.com.my/search?q=satria%20neo%20cps&amp;amp;tbm=isch"&gt;very small car&lt;/a&gt;) and I had to remove the pedals before it can fit in, horizontally. The bike folds to a small form, good for stowing, but a bit difficult to carry due to the parts doesn't lock together. I somewhat figured out how to roll the bike while it is folded, making it easier to walk it on a short distance, with a limitation that I can only push it in only a single direction as the other direction will cause the pedal to hit the front wheel. The stock pedal is also not foldable. I'm thinking of buying a foldable pedal and a carry bag and hopefully they'll aid in the portability of this bike.&lt;/li&gt;
&lt;li&gt;Performance - The 7 speed Shimano works quite well in aiding me climbing hilly roads. The disc brake is awesome, and that is quite important to me as I tend to be a fast cyclist. 12kg weight is light enough for me to pick up the bike onto pavements paths or small obstacles. However, probably due to I was primarily using 26" wheels during my childhood, getting used to 20" wheels takes a bit. 20 inchers have more sensitive steering, and more bumpy ride, so it takes a bit of effort to control and being comfortable on Malaysian roads.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
In summary,&amp;nbsp; the bike have a decent performance and great design, however, it need a bit of effort to bring around when folded. But for the price, it is still pretty impressive. I hope this machine will serve me well for the days to come.&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;
&lt;br/&gt;
- Izhar Firdaus -&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=H3gDfqD1af4:9a4mrtEo48Y:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=H3gDfqD1af4:9a4mrtEo48Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=H3gDfqD1af4:9a4mrtEo48Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=H3gDfqD1af4:9a4mrtEo48Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=H3gDfqD1af4:9a4mrtEo48Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=H3gDfqD1af4:9a4mrtEo48Y:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=H3gDfqD1af4:9a4mrtEo48Y:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=H3gDfqD1af4:9a4mrtEo48Y:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KageSenshi/~4/H3gDfqD1af4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.kagesenshi.org/feeds/5077789941779747478/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=28371165&amp;postID=5077789941779747478" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/5077789941779747478?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/5077789941779747478?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KageSenshi/~3/H3gDfqD1af4/new-toy-doppelganger-211-folding-bicycle.html" title="New Toy: Doppelganger 211 Folding Bicycle" /><author><name>Izhar Firdaus</name><uri>https://plus.google.com/112593043474908198080</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-B2z2WWyASUA/AAAAAAAAAAI/AAAAAAAABfs/VZIi_ETTJws/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-o3UoMhr8O1I/UOq3B0b__RI/AAAAAAAABfM/8Fq9xmP5KuI/s72-c/dp211-1.jpg" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.kagesenshi.org/2013/01/new-toy-doppelganger-211-folding-bicycle.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAHRXo9cCp7ImA9WhJVEkk.&quot;"><id>tag:blogger.com,1999:blog-28371165.post-3321818543091963833</id><published>2012-08-29T21:20:00.002+08:00</published><updated>2012-08-29T21:25:34.468+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-08-29T21:25:34.468+08:00</app:edited><title>Taking preorders for "I Am Root T-Shirt"</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
Hi All,&lt;br /&gt;
&lt;br /&gt;
I'm taking pre-order for this T-shirt: &lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://4.bp.blogspot.com/-CU0dsEbn4M0/UDuuDELUCgI/AAAAAAAAABo/rZwt--8DktE/s800/iamroot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="223" src="http://4.bp.blogspot.com/-CU0dsEbn4M0/UDuuDELUCgI/AAAAAAAAABo/rZwt--8DktE/s400/iamroot.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
"I Am Root, if you see me laughing... you'd better have a backup"&lt;br /&gt;&lt;br /&gt;Price : MYR 30&lt;br /&gt;
Shipping: MYR7 (Peninsular Malaysia), MYR9 (Sabah/Sarawak) , or free pickup at Puchong IOI / Subang Empire&lt;br /&gt;
&lt;br /&gt;
Available sizes : S, M, L, XL, XXL, XXXL&lt;br /&gt;
&lt;br /&gt;
If you are interested, email &lt;a class="ot-anchor" href="mailto:izhar@zashikiya.com"&gt;izhar@zashikiya.com&lt;/a&gt; to preorder now!&lt;br /&gt;
&lt;br /&gt;
Details needed:&lt;br /&gt;
1. Name&lt;br /&gt;
2. Sizes and amount&lt;br /&gt;
3. Email address&lt;br /&gt;
4. Phone number&lt;br /&gt;
5. Shipping address (if want to be shipped through postage)&lt;br /&gt;
&lt;br /&gt;
Pre-order closes on 5th of September 2012. &lt;br /&gt;
&lt;br /&gt;
Do follow/like Zashiki-Ya Google+ page at &lt;a href="http://gplus.to/zashikiya"&gt;http://gplus.to/zashikiya&lt;/a&gt; and Facebook page at &lt;a href="http://www.facebook.com/zashikiya"&gt;http://www.facebook.com/zashikiya&lt;/a&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;
&lt;br/&gt;
- Izhar Firdaus -&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=w5akPNI-9hg:fXWDVZt19yg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=w5akPNI-9hg:fXWDVZt19yg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=w5akPNI-9hg:fXWDVZt19yg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=w5akPNI-9hg:fXWDVZt19yg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=w5akPNI-9hg:fXWDVZt19yg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=w5akPNI-9hg:fXWDVZt19yg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=w5akPNI-9hg:fXWDVZt19yg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=w5akPNI-9hg:fXWDVZt19yg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KageSenshi/~4/w5akPNI-9hg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.kagesenshi.org/feeds/3321818543091963833/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=28371165&amp;postID=3321818543091963833" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/3321818543091963833?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/3321818543091963833?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KageSenshi/~3/w5akPNI-9hg/taking-preorders-for-i-am-root-t-shirt.html" title="Taking preorders for &quot;I Am Root T-Shirt&quot;" /><author><name>Izhar Firdaus</name><uri>https://plus.google.com/112593043474908198080</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-B2z2WWyASUA/AAAAAAAAAAI/AAAAAAAABfs/VZIi_ETTJws/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-CU0dsEbn4M0/UDuuDELUCgI/AAAAAAAAABo/rZwt--8DktE/s72-c/iamroot.png" height="72" width="72" /><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.kagesenshi.org/2012/08/taking-preorders-for-i-am-root-t-shirt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMNQnw7eCp7ImA9WhJVEE4.&quot;"><id>tag:blogger.com,1999:blog-28371165.post-5023114295924799637</id><published>2012-08-27T09:47:00.000+08:00</published><updated>2012-08-27T10:28:13.200+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-08-27T10:28:13.200+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="OpenShift" /><category scheme="http://www.blogger.com/atom/ns#" term="PlanetPlone" /><category scheme="http://www.blogger.com/atom/ns#" term="PlanetFedora" /><category scheme="http://www.blogger.com/atom/ns#" term="Hacks" /><category scheme="http://www.blogger.com/atom/ns#" term="HOWTO" /><title>Using OpenShift with a project on SVN repository</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
OpenShift uses GIT for the internal repo, however, you might have existing projects which are on SVN which you want to deploy into OpenShift but yet to have chance to migrate it to GIT (or for some reason, couldn't). So how do you approach this?.&lt;br /&gt;
&lt;br /&gt;
The simplest trick around is, to have a GIT+SVN combined directory to work on. Here's the quick steps:&lt;br /&gt;
&lt;br /&gt;
&lt;ol style="text-align: left;"&gt;
&lt;li&gt;Checkout/clone both the project SVN and OpenShift GIT repository into 2 separate directories. &lt;/li&gt;
&lt;li&gt;Copy .git directory from OpenShift GIT clone into the SVN checkout directory.&lt;/li&gt;
&lt;li&gt;Done.&lt;/li&gt;
&lt;/ol&gt;
This will setup a&amp;nbsp; directory which can be committed to both GIT and SVN. Whenever you want to deploy the code to OpenShift, git commit and git push it. Whenever you want to save the code into the code repository, svn commit it. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;
&lt;br/&gt;
- Izhar Firdaus -&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=9D2wsnjBAcg:zmjNgnaUK_E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=9D2wsnjBAcg:zmjNgnaUK_E:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=9D2wsnjBAcg:zmjNgnaUK_E:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=9D2wsnjBAcg:zmjNgnaUK_E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=9D2wsnjBAcg:zmjNgnaUK_E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=9D2wsnjBAcg:zmjNgnaUK_E:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=9D2wsnjBAcg:zmjNgnaUK_E:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=9D2wsnjBAcg:zmjNgnaUK_E:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KageSenshi/~4/9D2wsnjBAcg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.kagesenshi.org/feeds/5023114295924799637/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=28371165&amp;postID=5023114295924799637" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/5023114295924799637?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/5023114295924799637?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KageSenshi/~3/9D2wsnjBAcg/using-openshift-with-project-on-svn.html" title="Using OpenShift with a project on SVN repository" /><author><name>Izhar Firdaus</name><uri>https://plus.google.com/112593043474908198080</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-B2z2WWyASUA/AAAAAAAAAAI/AAAAAAAABfs/VZIi_ETTJws/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.kagesenshi.org/2012/08/using-openshift-with-project-on-svn.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DE8HQ3o_fCp7ImA9WhJQE08.&quot;"><id>tag:blogger.com,1999:blog-28371165.post-93221769662526718</id><published>2012-07-27T02:20:00.001+08:00</published><updated>2012-07-27T02:20:32.444+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-07-27T02:20:32.444+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Plone" /><category scheme="http://www.blogger.com/atom/ns#" term="PlanetPlone" /><category scheme="http://www.blogger.com/atom/ns#" term="Diazo" /><category scheme="http://www.blogger.com/atom/ns#" term="Announcement" /><category scheme="http://www.blogger.com/atom/ns#" term="Zope" /><title>diazotheme.bootstrap 0.2 released</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
I have been using diazotheme.bootstrap for a number of community sites for quite a while now. It was originally developed around &lt;a href="http://blog.kagesenshi.org/2011/11/plonethemebootstrap-twitter-bootstrap.html"&gt;November last year &lt;/a&gt;with Bootstrap 1, and have gone through some updates and enhancements to Bootstrap 2 , but it only remains in its &lt;a href="https://github.com/kagesenshi/diazotheme.bootstrap/"&gt;github repository,&lt;/a&gt; but never actually released properly.&lt;br /&gt;
&lt;br /&gt;
Anyway~ ... after long due, diazotheme.bootstrap 0.2 is now released in PyPi: &lt;a href="http://pypi.python.org/pypi/diazotheme.bootstrap/0.2"&gt;http://pypi.python.org/pypi/diazotheme.bootstrap/0.2&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;a href="http://3.bp.blogspot.com/-JomdGwePuPc/UBGKAk3oh-I/AAAAAAAABYQ/Tjl1GR-4qDA/s1600/diazothemebootstrap.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://3.bp.blogspot.com/-JomdGwePuPc/UBGKAk3oh-I/AAAAAAAABYQ/Tjl1GR-4qDA/s640/diazothemebootstrap.png" width="571" /&gt;&amp;nbsp;&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="separator" style="clear: both; text-align: left;"&gt;
Btw, should I fork this into collective github? &lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;
&lt;br/&gt;
- Izhar Firdaus -&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=TuA9BHP0FW4:e-fNwdNLjXE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=TuA9BHP0FW4:e-fNwdNLjXE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=TuA9BHP0FW4:e-fNwdNLjXE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=TuA9BHP0FW4:e-fNwdNLjXE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=TuA9BHP0FW4:e-fNwdNLjXE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=TuA9BHP0FW4:e-fNwdNLjXE:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=TuA9BHP0FW4:e-fNwdNLjXE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=TuA9BHP0FW4:e-fNwdNLjXE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KageSenshi/~4/TuA9BHP0FW4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.kagesenshi.org/feeds/93221769662526718/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=28371165&amp;postID=93221769662526718" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/93221769662526718?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/93221769662526718?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KageSenshi/~3/TuA9BHP0FW4/diazothemebootstrap-02-released.html" title="diazotheme.bootstrap 0.2 released" /><author><name>Izhar Firdaus</name><uri>https://plus.google.com/112593043474908198080</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-B2z2WWyASUA/AAAAAAAAAAI/AAAAAAAABfs/VZIi_ETTJws/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-JomdGwePuPc/UBGKAk3oh-I/AAAAAAAABYQ/Tjl1GR-4qDA/s72-c/diazothemebootstrap.png" height="72" width="72" /><thr:total>3</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.kagesenshi.org/2012/07/diazothemebootstrap-02-released.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUARH0ycSp7ImA9WhJQEkQ.&quot;"><id>tag:blogger.com,1999:blog-28371165.post-4508697796712561320</id><published>2012-07-26T16:42:00.001+08:00</published><updated>2012-07-26T16:44:05.399+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-07-26T16:44:05.399+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Plone" /><category scheme="http://www.blogger.com/atom/ns#" term="PlanetPlone" /><category scheme="http://www.blogger.com/atom/ns#" term="PlanetFedora" /><category scheme="http://www.blogger.com/atom/ns#" term="Grok" /><category scheme="http://www.blogger.com/atom/ns#" term="Zope" /><category scheme="http://www.blogger.com/atom/ns#" term="HOWTO" /><title>Virtual hosting on Grok (or Bluebream) - without a reverse proxy</title><content type="html">&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;
When I was poking at creating the &lt;a href="http://blog.kagesenshi.org/2012/07/grok-framework-quickstart-template-for.html"&gt;Grok template for OpenShift&lt;/a&gt;, I needed to add virtual hosting for the test application.&lt;br /&gt;
&lt;br /&gt;
However, OpenShift's DIY cartridge does not allow me to modify the reverse proxy settings as they are automatically generated by the cartridge. Naturally, I had to find another way. &lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Grok virtual hosting with WSGIRewrite&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
WSGIRewrite is a WSGI middleware which provide a facility for mod_rewrite compatible rewrite rules for WSGI applications. Using this middleware, we can rewrite the URL to force virtual hosting on the application server.&lt;br /&gt;
&lt;br /&gt;
Lets go straight to the meat, here is the howto.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Howto&lt;/b&gt; &lt;br /&gt;
&lt;br /&gt;
The first step is of course, to add WSGIRewrite into your buildout. Edit setup.py and add 'WSGIRewrite' into the install_requires list, and re-run buildout.&lt;br /&gt;
&lt;br /&gt;
Afterward, edit your WSGI INI file, (eg: etc/deploy.ini.in), and find a section called &lt;tt&gt;pipeline:main&lt;/tt&gt;, and add
&lt;tt&gt;rewrite&lt;/tt&gt; as the first item in the pipeline. The section should appear like
this now:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;[pipeline:main]
pipeline = rewrite accesslogging evalexception fanstatic grok&lt;/pre&gt;
&lt;br /&gt;
At the bottom of the file, add these lines. Replace &lt;tt&gt;examplesite&lt;/tt&gt;
with an identifier for the entry, replace &lt;tt&gt;app&lt;/tt&gt; with your application ID,
and replace &lt;tt&gt;www.example.com&lt;/tt&gt; with the virtual hosting domain: &lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;[filter:rewrite]
use = egg:WSGIRewrite
rulesets = examplesite-http examplesite-https

[wsgirewrite:examplesite-http]
cond1 = %{HTTP_HOST} ^www.example.com$
cond2 = %{HTTPS} off
rule1 = ^/(.*) app/++vh++http:www.example.com/++/$1

[wsgirewrite:examplesite-https]
cond1 = %{HTTP_HOST} ^www.example.com$
cond2 = %{HTTPS} on
rule1 = ^/(.*) app/++vh++https:www.example.com/++/$1&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;div style="text-align: left;"&gt;
Rerun buildout to regenerate your INI files, and start your paster/wsgi server. Access the server using the configured domain, and it should work.&lt;/div&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;
&lt;br/&gt;
- Izhar Firdaus -&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=SXxpOY89l0o:o3WtCrO6y74:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=SXxpOY89l0o:o3WtCrO6y74:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=SXxpOY89l0o:o3WtCrO6y74:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=SXxpOY89l0o:o3WtCrO6y74:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=SXxpOY89l0o:o3WtCrO6y74:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=SXxpOY89l0o:o3WtCrO6y74:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/KageSenshi?a=SXxpOY89l0o:o3WtCrO6y74:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/KageSenshi?i=SXxpOY89l0o:o3WtCrO6y74:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/KageSenshi/~4/SXxpOY89l0o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.kagesenshi.org/feeds/4508697796712561320/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=28371165&amp;postID=4508697796712561320" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/4508697796712561320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/28371165/posts/default/4508697796712561320?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/KageSenshi/~3/SXxpOY89l0o/virtual-hosting-on-grok-or-bluebream.html" title="Virtual hosting on Grok (or Bluebream) - without a reverse proxy" /><author><name>Izhar Firdaus</name><uri>https://plus.google.com/112593043474908198080</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh4.googleusercontent.com/-B2z2WWyASUA/AAAAAAAAAAI/AAAAAAAABfs/VZIi_ETTJws/s512-c/photo.jpg" /></author><thr:total>0</thr:total><gd:extendedProperty name="commentSource" value="1" /><gd:extendedProperty name="commentModerationMode" value="FILTERED_POSTMOD" /><feedburner:origLink>http://blog.kagesenshi.org/2012/07/virtual-hosting-on-grok-or-bluebream.html</feedburner:origLink></entry></feed>
