<?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>Web Technologist</title>
	<atom:link href="http://www.shinstudio.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.shinstudio.com/blog</link>
	<description>automation, cloud, backend, frontend, javascript, nodejs</description>
	<lastBuildDate>Thu, 22 Sep 2016 15:17:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.6.1</generator>
	<item>
		<title>RancherOS</title>
		<link>http://www.shinstudio.com/blog/backend-tech/rancheros/</link>
		<comments>http://www.shinstudio.com/blog/backend-tech/rancheros/#respond</comments>
		<pubDate>Thu, 22 Sep 2016 15:17:13 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[Backend Tech]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[rancheros]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=1038</guid>
		<description><![CDATA[Recently I got to know about RancherOS, which is an OS that provides pretty much only Docker host environment so that you can launch Docker containers. My test environment is Mac OS Sierra with VMWare Fusion 8.5. What I did was as follows: Download ISO file for RancherOS Launch ISO via VMWare Fusion with 1GB [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Recently I got to know about RancherOS, which is an OS that provides pretty much only Docker host environment so that you can launch Docker containers.</p>
<p>My test environment is Mac OS Sierra with VMWare Fusion 8.5. What I did was as follows:</p>
<ol>
<li><a href="https://releases.rancher.com/os/latest/rancheros.iso">Download ISO file</a> for RancherOS</li>
<li>Launch ISO via VMWare Fusion with 1GB ram and 10GB disk space (That&#8217;s normally what I use for linux distribution guest environment)</li>
<li>Once I was on RancherOS terminal, I created cloud-config.yml file with ssh publick key in it. (Refer to the <a href="http://docs.rancher.com/os/running-rancheros/server/install-to-disk/">instruction</a>)</li>
<li>I made a note of IP address for the step #5</li>
<li>After installing to the disk, I chose to reboot. From Mac terminal, I ssh&#8217;ed to the IP address of the RancherOS guest after RancherOS guest became available.</li>
</ol>
<p>Pretty straightforward to install RancherOS on my mac.</p>
<p>RancherOS provides its own command line tool called &#8216;ros&#8217; and this is the tool to configure the system, docker, etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/backend-tech/rancheros/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sync up Docker container time with Host&#8217;s</title>
		<link>http://www.shinstudio.com/blog/backend-tech/sync-up-docker-container-time-with-hosts/</link>
		<comments>http://www.shinstudio.com/blog/backend-tech/sync-up-docker-container-time-with-hosts/#respond</comments>
		<pubDate>Thu, 18 Aug 2016 19:29:19 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[Backend Tech]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=1035</guid>
		<description><![CDATA[I&#8217;ve had some issues with my application&#8217;s user session being expired as soon as it got created. After further investigation, it was due to the fact that docker container&#8217;s time was far behind the current PDT(which is where I am and a default timezone for all my servers). Easiest solution was to mount these two [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve had some issues with my application&#8217;s user session being expired as soon as it got created. After further investigation, it was due to the fact that docker container&#8217;s time was far behind the current PDT(which is where I am and a default timezone for all my servers).</p>
<p>Easiest solution was to mount these two files from host to any containers:</p><pre class="crayon-plain-tag">volumes:
  - /etc/timezone:/etc/timezone
  - /etc/localtime:/etc/localtime</pre><p>After the two lines of docker volume, viola. Time synced between host and container.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/backend-tech/sync-up-docker-container-time-with-hosts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bye bye data-only container! Hello named volume!</title>
		<link>http://www.shinstudio.com/blog/backend-tech/bye-bye-data-only-container-hello-named-volume/</link>
		<comments>http://www.shinstudio.com/blog/backend-tech/bye-bye-data-only-container-hello-named-volume/#respond</comments>
		<pubDate>Wed, 06 Jul 2016 18:59:13 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[Backend Tech]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[data-only container]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[named volume]]></category>
		<category><![CDATA[volume]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=1030</guid>
		<description><![CDATA[Persistent data practice that I&#8217;ve been using with Docker has been the host volume although I knew that data-only container pattern existed. So this time around, I was going to start utilizing data-only container pattern for some of db containers. However, I got to know that after docker version 1.9.0. For example with data-only container [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Persistent data practice that I&#8217;ve been using with Docker has been the host volume although I knew that data-only container pattern existed.</p>
<p>So this time around, I was going to start utilizing data-only container pattern for some of db containers. However, I got to know that after docker version 1.9.0.</p>
<p>For example with data-only container pattern, we would have a docker-compose file like this:</p>
<p></p><pre class="crayon-plain-tag"># version 1 docker-compose
db:
  image: "mysql:5.6.28"
  expose: 
    - "3306"
  volumes-from:
    - dbdataonly:rw
  ...
dbdataonly:
  image: "ubuntu:14.04"
  volume:
    - /var/lib/mysql</pre><p> </p>
<p>However, a better approach would be:</p>
<p></p><pre class="crayon-plain-tag">version: "2"
services:
  db:
    image: "mysql:5.6.28"
    expose:
      - "3306"
    volumes:
      - dbdataonly:/var/lib/mysql
    ...
volumes:
  dbdataonly:
    driver: local</pre><p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/backend-tech/bye-bye-data-only-container-hello-named-volume/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Docker tips by datawire</title>
		<link>http://www.shinstudio.com/blog/technology_news/docker-tips-by-datawire/</link>
		<comments>http://www.shinstudio.com/blog/technology_news/docker-tips-by-datawire/#respond</comments>
		<pubDate>Tue, 10 May 2016 08:33:20 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[technology news]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=1026</guid>
		<description><![CDATA[Pretty good articles]]></description>
				<content:encoded><![CDATA[<p><a href="https://www.datawire.io/not-engineer-running-3-5gb-docker-images/">Pretty good articles</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/technology_news/docker-tips-by-datawire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sia&#8217;s Coachella Performance</title>
		<link>http://www.shinstudio.com/blog/personal/sias-coachella-performance/</link>
		<comments>http://www.shinstudio.com/blog/personal/sias-coachella-performance/#respond</comments>
		<pubDate>Tue, 19 Apr 2016 05:08:39 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=1020</guid>
		<description><![CDATA[Sia is my favorite pop artist and her performance at Coachella was super awesome.]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.dailymotion.com/video/x45dvua_sia-coachella-full-17-04-2016_music">Sia is my favorite pop artist and her performance at Coachella was super awesome.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/personal/sias-coachella-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New way of web application deployment: &#8220;Bakery&#8221; process</title>
		<link>http://www.shinstudio.com/blog/backend-tech/new-way-of-web-application-deployment/</link>
		<comments>http://www.shinstudio.com/blog/backend-tech/new-way-of-web-application-deployment/#respond</comments>
		<pubDate>Wed, 09 Mar 2016 09:30:13 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[Backend Tech]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=987</guid>
		<description><![CDATA[I have been quite interested in continuous deployment and working on &#8216;bakery&#8217; process using OpenStack (which is another cloud environment comparable to AWS). A traditional way of deployment is normally: pull source code from source management on production env create a tar file and then scp it &#038; remote execute a script to untar create [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I have been quite interested in continuous deployment and working on &#8216;bakery&#8217; process using OpenStack (which is another cloud environment comparable to AWS).</p>
<p>A traditional way of deployment is normally:</p>
<ul>
<li>pull source code from source management on production env</li>
<li>create a tar file and then scp it &#038; remote execute a script to untar</li>
<li>create a debian or rpm package, and then remote install it</li>
</ul>
<p>They are ok ways, but main issue with them seems to be ability to keep multiple environment consistent and slow deployment processes.</p>
<p><span id="more-987"></span></p>
<p>Often times, developers/ops find their application non-functioning after pushing to stage or production environment. Later they find some packages were missing. I&#8217;ve encountered such situations so many times in the past.</p>
<p><strong>What improvements can be made to improve the consistency issue?</strong></p>
<p>Well, virtual machines on openstack/AWS or even container image such as Docker can be created and then deployed instead to minimize human error as much as possible. With that notion, worst thing that can happen is some environment info is still development. However, every single package, application code, and config files are moving to one environment (dev) to another (stage or production). See? We are seeing the consistency here already.</p>
<p><strong>What are cool things about having such system?</strong></p>
<ol>
<li>Consistency</li>
<li>Faster deployment</li>
<li>Rollback is super easy because entire os including application code and dependent packages are already embedded to the virtual machine. Just create a new instance using previous virtual machine image and then put it in use. BAM! You have an old version of application up and running</li>
</ol>
<p><strong>So what are steps to make that happen?</strong></p>
<p>To be frank, it is not simple to implement a such system. The very foundation is a well established continuous integration. On top of that automated functional/integration/regression tests are required as well (technically, they are not. However, they will make things smooth in the long run).</p>
<p>At a high level, these are the steps:</p>
<ol>
<li>New Code gets checked in</li>
<li>Triggers CI job : compilation, unit tests, and packaging</li>
<li>When everything looks good, a new virtual machine image (Openstack/AWS/Docker) with the latest application package on it gets created and called <strong>Bakery</strong> process.</li>
<li>A new instance gets spun up using the newly made virtual machine</li>
<li>functional/integration tests are done against the new instance</li>
<li>When tests are all green, the new image gets promoted as production ready and wait for developer&#8217;s final OK</li>
<li>Developer gives OK and the new instance gets spun up and goes under production load balancer starting to take live traffic</li>
<li>At that point, old instance and new instance are both up and running. New instance is expected be completely backward compatible</li>
<li>Developer kills old instance when the new instance does not cause any issues</li>
</ol>
<p>In the next post, I will write about some details on step #1, #2, and #3.</p>
<p>UPDATE: Netflix tech blog posted the same thing pretty much today (Mar 9th, 2016) &#8211; <a href="http://techblog.netflix.com/2016/03/how-we-build-code-at-netflix.html">http://techblog.netflix.com/2016/03/how-we-build-code-at-netflix.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/backend-tech/new-way-of-web-application-deployment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekend Project &#8211; Backyard Makeover #2</title>
		<link>http://www.shinstudio.com/blog/backyard-makeover/weekend-project-backyard-makeover-2/</link>
		<comments>http://www.shinstudio.com/blog/backyard-makeover/weekend-project-backyard-makeover-2/#respond</comments>
		<pubDate>Wed, 09 Mar 2016 03:50:04 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[Backyard Makeover]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=1010</guid>
		<description><![CDATA[After some researching, I made a list of tools that I need for the makeover. List is as follows: (Capri Tools C098 3lb Dead Blow Hammer, Orange PU) (Stanley 42-324 24-Inch I-Beam 180 Level) (Steel Grip Mallet 16 Oz Hardwood) (Safety Ear Muffs) (Fluorescent 135 Feet Line Reel) (MSA Safety Glasses) (Comfy Mask &#8211; Lawn [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>After some researching, I made a list of tools that I need for the makeover.</p>
<p>List is as follows:</p>
<ul style="border: 1px solid #aaa; border-radius: 10px; padding: 10px;">
<li style="border-bottom: 1px solid #aaa; padding-bottom: 15px;margin-bottom: 15px;"><a href="http://www.amazon.com/gp/product/B016CB4RV8/ref=as_li_ss_il?psc=1&#038;redirect=true&#038;ref_=od_aui_detailpages00&#038;linkCode=li2&#038;tag=shinstudiocom-20&#038;linkId=c191b031bdfb9e480e4a8aab7f1f1f0a" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B016CB4RV8&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=US&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=shinstudiocom-20" >(Capri Tools C098 3lb Dead Blow Hammer, Orange PU)</a><img src="//ir-na.amazon-adsystem.com/e/ir?t=shinstudiocom-20&#038;l=li2&#038;o=1&#038;a=B016CB4RV8" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> </li>
<li style="border-bottom: 1px solid #aaa; padding-bottom: 15px;margin-bottom: 15px;"><a href="http://www.amazon.com/gp/product/B000NIFC7K/ref=as_li_ss_il?psc=1&#038;redirect=true&#038;ref_=od_aui_detailpages00&#038;linkCode=li2&#038;tag=shinstudiocom-20&#038;linkId=507415f67c513050a8f05d7e95d8f145" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B000NIFC7K&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=US&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=shinstudiocom-20" >(Stanley 42-324 24-Inch I-Beam 180 Level)</a><img src="//ir-na.amazon-adsystem.com/e/ir?t=shinstudiocom-20&#038;l=li2&#038;o=1&#038;a=B000NIFC7K" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> </li>
<li style="border-bottom: 1px solid #aaa; padding-bottom: 15px;margin-bottom: 15px;"><a href="http://www.amazon.com/gp/product/B015X6J6PU/ref=as_li_ss_il?psc=1&#038;redirect=true&#038;ref_=od_aui_detailpages01&#038;linkCode=li2&#038;tag=shinstudiocom-20&#038;linkId=7303d89fad805a7020700ac71f061849" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B015X6J6PU&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=US&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=shinstudiocom-20" > (Steel Grip Mallet 16 Oz Hardwood)</a><img src="//ir-na.amazon-adsystem.com/e/ir?t=shinstudiocom-20&#038;l=li2&#038;o=1&#038;a=B015X6J6PU" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
<li style="border-bottom: 1px solid #aaa; padding-bottom: 15px;margin-bottom: 15px;"><a href="http://www.amazon.com/gp/product/B00NKSMPZW/ref=as_li_ss_il?psc=1&#038;redirect=true&#038;ref_=od_aui_detailpages01&#038;linkCode=li2&#038;tag=shinstudiocom-20&#038;linkId=ceade5ae3508cf7cf0195641ce90a953" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B00NKSMPZW&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=US&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=shinstudiocom-20" > (Safety Ear Muffs)</a><img src="//ir-na.amazon-adsystem.com/e/ir?t=shinstudiocom-20&#038;l=li2&#038;o=1&#038;a=B00NKSMPZW" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
<li style="border-bottom: 1px solid #aaa; padding-bottom: 15px;margin-bottom: 15px;"><a href="http://www.amazon.com/gp/product/B000A22I9E/ref=as_li_ss_il?psc=1&#038;redirect=true&#038;ref_=od_aui_detailpages01&#038;linkCode=li2&#038;tag=shinstudiocom-20&#038;linkId=353b76df17e5d9376c43fa4883bb8414" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B000A22I9E&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=US&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=shinstudiocom-20" > (Fluorescent 135 Feet Line Reel)</a><img src="//ir-na.amazon-adsystem.com/e/ir?t=shinstudiocom-20&#038;l=li2&#038;o=1&#038;a=B000A22I9E" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
<li style="border-bottom: 1px solid #aaa; padding-bottom: 15px;margin-bottom: 15px;"><a href="http://www.amazon.com/gp/product/B000BO6RWK/ref=as_li_ss_il?psc=1&#038;redirect=true&#038;ref_=od_aui_detailpages01&#038;linkCode=li2&#038;tag=shinstudiocom-20&#038;linkId=ae85ea4cedbc5df82261c5a53d9d8924" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B000BO6RWK&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=US&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=shinstudiocom-20" > (MSA Safety Glasses)</a><img src="//ir-na.amazon-adsystem.com/e/ir?t=shinstudiocom-20&#038;l=li2&#038;o=1&#038;a=B000BO6RWK" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> </li>
<li style="border-bottom: 1px solid #aaa; padding-bottom: 15px;margin-bottom: 15px;"><a href="http://www.amazon.com/gp/product/B00LT1SSU8/ref=as_li_ss_il?psc=1&#038;redirect=true&#038;ref_=od_aui_detailpages01&#038;linkCode=li2&#038;tag=shinstudiocom-20&#038;linkId=e1592e6e63d9c77fd1758174d871cd2a" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B00LT1SSU8&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=US&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=shinstudiocom-20" > (Comfy Mask &#8211; Lawn &#038; Garden, Woodworking, Dust, Drywall &#038; Sanding)</a><img src="//ir-na.amazon-adsystem.com/e/ir?t=shinstudiocom-20&#038;l=li2&#038;o=1&#038;a=B00LT1SSU8" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
<li><a href="http://www.amazon.com/gp/product/B000NNFQEY/ref=as_li_ss_il?psc=1&#038;redirect=true&#038;ref_=od_aui_detailpages01&#038;linkCode=li2&#038;tag=shinstudiocom-20&#038;linkId=097eb7c291614d98ac1d1f90ca44426b" target="_blank"><img border="0" src="//ws-na.amazon-adsystem.com/widgets/q?_encoding=UTF8&#038;ASIN=B000NNFQEY&#038;Format=_SL160_&#038;ID=AsinImage&#038;MarketPlace=US&#038;ServiceVersion=20070822&#038;WS=1&#038;tag=shinstudiocom-20" > (Stanley 16-294 Mason&#8217;s Chisel)</a><img src="//ir-na.amazon-adsystem.com/e/ir?t=shinstudiocom-20&#038;l=li2&#038;o=1&#038;a=B000NNFQEY" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/backyard-makeover/weekend-project-backyard-makeover-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weekend Project &#8211; Backyard Makeover #1</title>
		<link>http://www.shinstudio.com/blog/backyard-makeover/weekend-project-backyard-makeover/</link>
		<comments>http://www.shinstudio.com/blog/backyard-makeover/weekend-project-backyard-makeover/#respond</comments>
		<pubDate>Tue, 08 Mar 2016 01:58:44 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[Backyard Makeover]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=997</guid>
		<description><![CDATA[I&#8217;ve been living in my place for little more than 3 years and have not done anything to my backyard except regular mowing and trimming some branches. Now California weeds took over my grass and it got already out of my hand. Facing the backyard challenging, I&#8217;ve set a resolution for 2016 although it&#8217;s already [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been living in my place for little more than 3 years and have not done anything to my backyard except regular mowing and trimming some branches.</p>
<p>Now California weeds took over my grass and it got already out of my hand. Facing the backyard challenging, I&#8217;ve set a resolution for 2016 although it&#8217;s already past the new year: Backyard Makeover!</p>
<p>Without further due, this is the current state of my backyard.<br />
<span id="more-997"></span></p>
<p><a href="http://www.shinstudio.com/blog/wp-content/uploads/2016/03/IMG_5107.jpg" rel="lightbox|backyard makeover"><img src="http://www.shinstudio.com/blog/wp-content/uploads/2016/03/IMG_5107-290x220.jpg" alt="full of weeds" width="290" height="220" class="alignnone size-medium wp-image-998" /></a></p>
<p><a href="http://www.shinstudio.com/blog/wp-content/uploads/2016/03/IMG_5108.jpg" rel="lightbox|backyard makeover"><img src="http://www.shinstudio.com/blog/wp-content/uploads/2016/03/IMG_5108-290x220.jpg" alt="Oxalis pes-caprae #2" width="290" height="220" class="alignnone size-medium wp-image-999" /></a></p>
<p><a href="http://www.shinstudio.com/blog/wp-content/uploads/2016/03/IMG_5109.jpg" rel="lightbox|backyard makeover"><img src="http://www.shinstudio.com/blog/wp-content/uploads/2016/03/IMG_5109-290x220.jpg" alt="Oxalis pes-caprae #!" width="290" height="220" class="alignnone size-medium wp-image-1000" /></a></p>
<p><a href="http://www.shinstudio.com/blog/wp-content/uploads/2016/03/IMG_5106.jpg" rel="lightbox|backyard makeover"><img src="http://www.shinstudio.com/blog/wp-content/uploads/2016/03/IMG_5106-290x220.jpg" alt="Start digging up." width="290" height="220" class="size-medium wp-image-1001" /> Started digging up.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/backyard-makeover/weekend-project-backyard-makeover/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>merging two git repos with history</title>
		<link>http://www.shinstudio.com/blog/programming/merging-two-git-repos-with-history/</link>
		<comments>http://www.shinstudio.com/blog/programming/merging-two-git-repos-with-history/#respond</comments>
		<pubDate>Fri, 08 Jan 2016 01:07:17 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=983</guid>
		<description><![CDATA[I needed to merge two repos with history so that the target repo has merging repo&#8217;s history. This answer at stackoverflow had solved my issue. [crayon-57e41544b7443995909432/] So that was to merge project-a into project-b. One thing I need to note is that project-b and project-a have to be git-cloned already, so prerequisite for the above [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I needed to merge two repos with history so that the target repo has merging repo&#8217;s history. <a href="http://stackoverflow.com/questions/1425892/how-do-you-merge-two-git-repositories#answer-10548919">This answer at stackoverflow</a> had solved my issue.</p>
<p></p><pre class="crayon-plain-tag">cd path/to/project-b
git remote add project-a path/to/project-a
git fetch project-a
git merge project-a/master # or whichever branch you want to merge
git remote remove project-a</pre><p></p>
<p>So that was to merge project-a into project-b.</p>
<p>One thing I need to note is that project-b and project-a have to be git-cloned already, so prerequisite for the above the order of execution was as follows:</p>
<p></p><pre class="crayon-plain-tag">cd path/to/project-b
git clone https://github.com/blahblah/project-b
cd path/to/project-a
git clone https://github.com/blahblah/project-b</pre><p></p>
<p>Also, don&#8217;t forget to commit your changes after the merge.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/programming/merging-two-git-repos-with-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple Http Server on Mac</title>
		<link>http://www.shinstudio.com/blog/tips/simple-http-server-on-mac/</link>
		<comments>http://www.shinstudio.com/blog/tips/simple-http-server-on-mac/#respond</comments>
		<pubDate>Tue, 01 Dec 2015 23:42:04 +0000</pubDate>
		<dc:creator><![CDATA[sh.kim]]></dc:creator>
				<category><![CDATA[Tips]]></category>

		<guid isPermaLink="false">http://www.shinstudio.com/blog/?p=972</guid>
		<description><![CDATA[While working on html/css/js, it&#8217;s convenient to view those pages from http server. However, I don&#8217;t want to use MAMP or Virtual machine to set up nginx/apache. I found this pro tip from this. So I ended up with adding an alias to my .bash_profile file as follows: [crayon-57e41544b76da135561652/] Note that port number below 1024 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>While working on html/css/js, it&#8217;s convenient to view those pages from http server. However, I don&#8217;t want to use MAMP or Virtual machine to set up nginx/apache.</p>
<p>I found this pro tip from <a href="http://lifehacker.com/start-a-simple-web-server-from-any-directory-on-your-ma-496425450">this</a>.</p>
<p>So I ended up with adding an alias to my .bash_profile file as follows:</p>
<p></p><pre class="crayon-plain-tag">## in .bash_profile
alias http=&quot;python -m SimpleHTTPServer&quot;

## run it like this
http 8000</pre><p></p>
<p>Note that port number below 1024 cannot be bound as a normal user. This is meant to simply run a http server for development purpose. Do not use it to run your web application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.shinstudio.com/blog/tips/simple-http-server-on-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
