<!DOCTYPE html><!--[if IE 6]><html id="ie6" lang="en-US" prefix="og: http://ogp.me/ns#"><![endif]--><!--[if IE 7]><html id="ie7" lang="en-US" prefix="og: http://ogp.me/ns#"><![endif]--><!--[if IE 8]><html id="ie8" lang="en-US" prefix="og: http://ogp.me/ns#"><![endif]--><!--[if !(IE 6) & !(IE 7) & !(IE 8)]><!--><html lang="en-US" prefix="og: http://ogp.me/ns#"><!--<![endif]--><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width" /><link rel="profile" href="http://gmpg.org/xfn/11" /><link rel="pingback" href="https://www.spicydog.org/blog/xmlrpc.php" /><!--[if lt IE 9]><script src="https://cdn.spicydog.org/blog/content/themes/twentyeleven/js/html5.js" type="text/javascript"></script><![endif]--><meta name="mobile-web-app-capable" content="yes"><script data-ref="https://goo.gl/C1gw96" data-abtf='[-1,[[[["https://cdn.spicydog.org/blog/includes/js/jquery/jquery.js",false,false,false],["https://cdn.spicydog.org/blog/includes/js/jquery/jquery-migrate.min.js",false,false,false],["https://cdn.spicydog.org/blog/content/plugins/crayon-syntax-highlighter/js/min/crayon.min.js",false,false,false],["https://cdn.spicydog.org/blog/content/plugins/above-the-fold-optimization/public/js/jquery.lazyloadxt.min.js",false,false,false],["https://cdn.spicydog.org/blog/content/plugins/above-the-fold-optimization/public/js/jquery.lazyloadxt.widget.min.js",false,false,false],["https://s0.wp.com/wp-content/js/devicepx-jetpack.js",false,6,[]],["https://secure.gravatar.com/js/gprofiles.js",false,7,[2]],["https://cdn.spicydog.org/blog/content/plugins/jetpack/modules/wpgroho.js",false,false,false],["https://cdn.spicydog.org/blog/includes/js/wp-embed.min.js",false,false,false],["https://stats.wp.com/e-201735.js",true,false,false]],{"2":[0,1]},["jquery-core","jquery-migrate","jquery","crayon_js","jquery-lazyloadxt","jquery-lazyloadxt-widget","devicepx","grofiles-cards","wpgroho","wp-embed"]],true],[[[&quot;all&quot;],&quot;https://cdn.spicydog.org/blog/content/themes/twentyeleven/style.css&quot;],[[&quot;all&quot;],&quot;https://cdn.spicydog.org/blog/content/plugins/jetpack/modules/simple-payments/simple-payments.css&quot;],[[&quot;all&quot;],&quot;https://cdn.spicydog.org/blog/content/plugins/crayon-syntax-highlighter/css/min/crayon.min.css&quot;],[[&quot;all&quot;],&quot;https://cdn.spicydog.org/blog/content/plugins/crayon-syntax-highlighter/themes/prism-like/prism-like.css&quot;],[[&quot;all&quot;],&quot;https://cdn.spicydog.org/blog/content/plugins/crayon-syntax-highlighter/fonts/monaco.css&quot;],[[&quot;all&quot;],&quot;https://fonts.googleapis.com/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&amp;subset=latin%2Clatin-ext&quot;],[[&quot;all&quot;],&quot;https://cdn.spicydog.org/blog/content/plugins/jetpack/css/jetpack.css&quot;]]]'>window.Abtf={};!function(e,d){function k(b){if((b=b.getAttribute("data-abtf"))&&"string"==typeof b)try{b=JSON.parse(b)}catch(p){}if(!(b&&b instanceof Array))throw Error("invalid config");for(var a=b.length,c=0;c<a;c++)void 0===e.Abtf[c]&&(e.Abtf[c]=-1===b[c]?void 0:b[c]);d[0](n,!0)}function n(b,a){function c(){f[2]?a[17](f[3],"webfont"):void 0!==b.WebFont&&b.WebFont.load(b.WebFontConfig)}var d=b.requestAnimationFrame||b.webkitRequestAnimationFrame||b.mozRequestAnimationFrame||b.msRequestAnimationFrame||function(a){b.setTimeout(a,1E3/60)};a[15]=function(){d.apply(b,arguments)};var e=!!b.requestIdleCallback&&b.requestIdleCallback;if(a[16]=!!e&&function(){e.apply(b,arguments)},a[7])var f=a[7];a[10]=function(){if(a[6]&&a[27](a[6]),a[1]&&!a[1][1]&&a[18](a[1][0]),a[7]){if(void 0===b.WebFontConfig&&(b.WebFontConfig={}),f[0]){b.WebFontConfig.google||(b.WebFontConfig.google={});b.WebFontConfig.google.families||(b.WebFontConfig.google.families=[]);for(var e=f[0].length,d=0;d<e;d++)b.WebFontConfig.google.families.push(f[0][d])}f[1]||
c()}a[12]&&!a[4]&&a[12]()};a[11]=function(){a[12]&&a[4]&&a[12]();a[1]&&a[1][1]&&a[18](a[1][0]);a[7]&&f[1]&&c()};a[14](a[11]);a[17]=function(a,b){var c=document.createElement("script");c.src=a;b&&(c.id=b);c.async=!0;var d=document.getElementsByTagName("script")[0];d?d.parentNode.insertBefore(c,d):(document.head||document.getElementsByTagName("head")[0]).appendChild(c);!0}}d[14]=function(b,a,c){(a=document)[c="addEventListener"]?a[c]("DOMContentLoaded",b):e.attachEvent("onload",b)};var l,g=[];d[0]=
function(b,a){if(l||a){if(b(e,e.Abtf,e.document,Object),!0===a){if(0<g.length)for(var c=g.shift();c;)d[0](c,1),c=g.shift();l=!0;m&&d[10]()}}else g.push(b)};if(document.currentScript&&document.currentScript.hasAttribute("data-abtf"))k(document.currentScript);else{var h=document.querySelector("script[data-abtf]");h?k(h):(e.console&&void 0!==console.error&&console.error("<script data-abtf> client missing"),d[14](function(){if(!(h=document.querySelector("script[data-abtf]")))throw Error("<script data-abtf> client missing");k(h)}))}var m;d[9]=function(){l?d[10]():m=!0}}(window,Abtf);Abtf[0](function(a,n,g,d){if(!a.jQuery){var h=[],k=[],l=!1,f=function(b,a){"ready"===b?k.push(a):h.push(b)},m={ready:f,bind:f};a.$=a.jQuery=function(b){if(b===g||void 0===b)return m;f(b)};a.$.noConflict=a.jQuery.noConflict=function(){l=!0};a.$.isStub=a.jQuery.isStub=!0;d.prototype.watch||d.defineProperty(d.prototype,"watch",{enumerable:!1,configurable:!0,writable:!1,value:function(b,a){var c=this[b],e=c;delete this[b]&&d.defineProperty(this,b,{get:function(){return e},set:function(d){return c=e,e=
a.call(this,b,c,d)},enumerable:!0,configurable:!0})}});d.prototype.unwatch||d.defineProperty(d.prototype,"unwatch",{enumerable:!1,configurable:!0,writable:!1,value:function(b){var a=this[b];delete this[b];this[b]=a}});a.watch("jQuery",function(b,d,c){if("function"!=typeof c||void 0===c.fn||void 0!==c.isStub)return c;l&&c.noConflict();var e=0;return c.each(h,function(a,b){c(b);e++}),c.each(k,function(b,a){c(g).bind("ready",a);e++}),a.unwatch("jQuery"),a.jQuery=c,c})}});Abtf[0](function(u,b){function q(a,c,g){void 0!==b[23]?b[23](a,c,g):b[21](a,c)}function r(a){var c=document.createElement("a");return c.href=a,c.href}function p(a,c,g){if(!1!==c&&c instanceof Array&&0!==c.length){for(var l=!0,d=c.length,h=0;h<d;h++)if(f&&f[c[h]]){for(var k=f[c[h]].length,t=0;t<k;t++)if(void 0===m[f[c[h]][t]]){l=!1;break}if(!l)break}else if(void 0===m[c[h]]){l=!1;break}!1===l?0===n?g():(void 0!==b[25]&&b[25](r(a)),e(p,[a,c,g])):g()}else g()}function e(a,c){k.push([a,c])}var n=0,k=
[],a=!1,f=[],m={};b[18]=function(d){if("object"==typeof d&&void 0!==d[0]&&d[0]){void 0!==b[6]&&b[6][1]&&(b[22]=!0);var c=d[0];!1===d[1]?a=!1:(a=!0,f=d[1]&&"object"==typeof d[1]?d[1]:[]);var g=function(b){if(void 0!==c[b]&&"object"==typeof c[b]){var d=c[b],h=d[0],f=!!d[1],e=void 0!==d[2]&&d[2],d=!!d[3]&&d[3],l=function(a,d,c,b){n++;q(r(a),function(){n--;!1!==c&&(m[c]=!0);for(var a=k.splice(0,k.length),f=a.length,e=0;e<f;e++)a[e][0].apply(null,a[e][1]);d||g(++b)},function(){})};a&&d?p(h,d,function(){l(h,f,e,b)}):l(h,f,e,b);f&&g(++b)}};g(0)}};b[20]=e});Abtf[0](function(u,b){function q(b){var e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(b,e)}var r=0;b[22]=!1;b[21]=function(p,e){function n(){f=Error(p||"EMPTY");k()}function k(){d||(d=!0,m(),e&&e(f))}var a=document.createElement("script");b[22]&&a.setAttribute("data-abtf","");var f,m,d=!1;if(!a.readyState||"async"in a)m=function(){a.onload=a.onerror=null},a.onerror=n,a.onload=k,a.async=!0,a.charset="utf-8",a.src=p,q(a);else{r++;var c={loaded:!0,complete:!0},g=!1;m=function(){a.onreadystatechange=
a.onerror=null};a.onreadystatechange=function(){var b=a.readyState;if(!f){if(!g&&c[b]&&(g=!0,q(a)),"loaded"===b&&(a.children,"loading"===a.readyState))return n();"complete"===a.readyState&&k()}};a.onerror=n;a.src=p}}});Abtf[0](function(d,b){b[12]=function(){var c,a=b[2];if(a&&"object"==typeof a)for(i in document.getElementById("AbtfCSS")&&document.getElementById("AbtfCSS").nextSibling,a)a.hasOwnProperty(i)&&"object"==typeof a[i]&&(c=a[i][0].join(","),b[19](a[i][1],c))}});Abtf[0](function(g,c){var b,d=g.document;c[19]=function(g,r,k){function l(m){if(!e){for(var b=a.href,c=n.length;c--&&!e;)if(n[c].href===b){m();return}setTimeout(function(){l(m)})}}function p(a){d.body?a():setTimeout(function(){p(a)})}function f(){function b(){c[15](function(){a.media=r||"all";k&&k()})}e||(e=!0,a.addEventListener&&a.removeEventListener("load",f),void 0!==c[5]&&0<parseInt(c[5])?setTimeout(b,c[5]):b())}var a=d.createElement("link");if(b||!1===b||(b=document.getElementById("AbtfCSS"))||
(b=!1),b)var h=b;else var q=(d.body||d.getElementsByTagName("head")[0]).childNodes,h=q[q.length-1];var n=d.styleSheets;a.rel="stylesheet";a.href=g;a.media="only x";var e=!1;return a.addEventListener?a.addEventListener("load",f):a.onload=f,p(function(){h.parentNode.insertBefore(a,h.nextSibling);l(f)}),a}});Abtf[9]();</script><style type="text/css" id="AbtfCSS" data-abtf>html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline}:focus{outline:0}body{background:#fff;line-height:1}ol,ul{list-style:none}table{border-collapse:separate;border-spacing:0}caption,th,td{font-weight:normal;text-align:left}blockquote:before,blockquote:after,q:before,q:after{content:""}blockquote,q{quotes:"" ""}a img{border:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{padding:0 2em}#page{margin:2em auto;max-width:1000px}#branding hgroup{margin:0 7.6%}#access div{margin:0 7.6%}#primary{float:left;margin:0 -26.4% 0 0;width:100%}#content{margin:0 34% 0 7.6%;width:58.4%}#secondary{float:right;margin-right:7.6%;width:18.8%}.singular #primary{margin:0}.singular #content,.left-sidebar.singular #content{margin:0 7.6%;position:relative;width:auto}.singular .entry-header,.singular .entry-content,.singular footer.entry-meta,.singular #comments-title{margin:0 auto;width:68.9%}.singular .image-attachment .entry-content{margin:0 auto;width:auto}.singular .image-attachment .entry-description{margin:0 auto;width:68.9%}.page-template-showcase-php #primary,.left-sidebar.page-template-showcase-php #primary{margin:0}.page-template-showcase-php #content,.left-sidebar.page-template-showcase-php #content{margin:0 7.6%;width:auto}.page-template-showcase-php section.recent-posts{float:right;margin:0 0 0 31%;width:69%}.page-template-showcase-php #main .widget-area{float:left;margin:0 -22.15% 0 0;width:22.15%}.error404 #primary{float:none;margin:0}.error404 #primary #content{margin:0 7.6%;width:auto}.alignleft{display:inline;float:left;margin-right:1.625em}.alignright{display:inline;float:right;margin-left:1.625em}.aligncenter{clear:both;display:block;margin-left:auto;margin-right:auto}.left-sidebar #primary{float:right;margin:0 0 0 -26.4%;width:100%}.left-sidebar #content{margin:0 7.6% 0 34%;width:58.4%}.left-sidebar #secondary{float:left;margin-left:7.6%;margin-right:0;width:18.8%}.one-column #page{max-width:690px}.one-column #content{margin:0 7.6%;width:auto}.one-column #nav-below{border-bottom:1px solid #ddd;margin-bottom:1.625em}.one-column #secondary{float:none;margin:0 7.6%;width:auto}.one-column .page-template-showcase-php section.recent-posts{float:none;margin:0;width:100%}.one-column .page-template-showcase-php #main .widget-area{float:none;margin:0;width:auto}.one-column .page-template-showcase-php .other-recent-posts{border-bottom:1px solid #ddd}.one-column section.featured-post .attachment-small-feature{border:none;display:block;height:auto;max-width:60%;position:static}.one-column article.feature-image.small{margin:0 0 1.625em;padding:0}.one-column article.feature-image.small .entry-title{font-size:20px;line-height:1.3em}.one-column article.feature-image.small .entry-summary{height:150px;overflow:hidden;padding:0;text-overflow:ellipsis}.one-column article.feature-image.small .entry-summary a{left:-9%}.one-column.singular .entry-header,.one-column.singular .entry-content,.one-column.singular footer.entry-meta,.one-column.singular #comments-title{width:100%}.one-column.singular blockquote.pull{margin:0 0 1.625em}.one-column.singular .pull.alignleft{margin:0 1.625em 0 0}.one-column.singular .pull.alignright{margin:0 0 0 1.625em}.one-column.singular .entry-meta .edit-link a{position:absolute;left:0;top:40px}.one-column.singular #author-info{margin:2.2em -8.8% 0;padding:20px 8.8%}.one-column .commentlist>li.comment{margin-left:102px;width:auto}.one-column #branding #searchform{right:40px;top:4em}.one-column .commentlist>li.comment{margin-left:0}.one-column .commentlist>li.comment .comment-meta,.one-column .commentlist>li.comment .comment-content{margin-right:85px}.one-column .commentlist .avatar{background:transparent;display:block;padding:0;top:1.625em;left:auto;right:1.625em}.one-column .commentlist .children .avatar{background:none;padding:0;position:absolute;top:2.2em;left:2.2em}.one-column #respond{width:auto}body,input,textarea{color:#373737;font:15px "Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;line-height:1.625}body{background:#e2e2e2}#page{background:#fff}h1,h2,h3,h4,h5,h6{clear:both}hr{background-color:#ccc;border:0;height:1px;margin-bottom:1.625em}p{margin-bottom:1.625em}ul,ol{margin:0 0 1.625em 2.5em}ul{list-style:square}ol{list-style-type:decimal}ol ol{list-style:upper-alpha}ol ol ol{list-style:lower-roman}ol ol ol ol{list-style:lower-alpha}ul ul,ol ol,ul ol,ol ul{margin-bottom:0}dl{margin:0 1.625em}dt{font-weight:bold}dd{margin-bottom:1.625em}strong{font-weight:bold}cite,em,i{font-style:italic}blockquote{font-family:Georgia,"Bitstream Charter",serif;font-style:italic;font-weight:normal;margin:0 3em}blockquote em,blockquote i,blockquote cite{font-style:normal}blockquote cite{color:#666;font:12px "Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:300;letter-spacing:0.05em;text-transform:uppercase}pre{background:#f4f4f4;font:13px "Courier 10 Pitch",Courier,monospace;line-height:1.5;margin-bottom:1.625em;overflow:auto;padding:0.75em 1.625em}code,kbd,samp,var{font:13px Monaco,Consolas,"Andale Mono","DejaVu Sans Mono",monospace}abbr,acronym,dfn{border-bottom:1px dotted #666;cursor:help}address{display:block;margin:0 0 1.625em}ins{background:#fff9c0;text-decoration:none}sup,sub{font-size:10px;height:0;line-height:1;position:relative;vertical-align:baseline}sup{bottom:1ex}sub{top:.5ex}small{font-size:smaller}input[type=text],input[type=password],input[type=email],input[type=url],input[type=number],textarea{background:#fafafa;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);border:1px solid #ddd;color:#888}input[type=text]:focus,input[type=password]:focus,input[type=email]:focus,input[type=url]:focus,input[type=number]:focus,textarea:focus{color:#373737}textarea{padding-left:3px;width:98%}input[type=text],input[type=password],input[type=email],input[type=url],input[type=number]{padding:3px}-moz-border-radius:2px;border-radius:2px;font-size:14px;height:22px;line-height:1.2em;padding:4px 10px 4px 28px}input#searchsubmit{display:none}a{color:#1982d1;text-decoration:none}a:focus,a:active,a:hover{text-decoration:underline}.assistive-text,.screen-reader-text{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px}#access a.assistive-text:focus,.screen-reader-text:hover,.screen-reader-text:active,.screen-reader-text:focus{background:#eee;border-bottom:1px solid #ddd;color:#1982d1;clip:auto!important;font-size:12px;height:auto;position:absolute;text-decoration:underline;top:0;left:7.6%;width:auto}#branding{border-top:2px solid #bbb;padding-bottom:10px;position:relative;z-index:9999}#site-title{margin-right:270px;padding:3.65625em 0 0}#site-title a{color:#111;font-size:30px;font-weight:bold;line-height:36px;text-decoration:none}#site-title a:hover,#site-title a:focus,#site-title a:active{color:#1982d1}#site-description{color:#7a7a7a;font-size:14px;margin:0 270px 3.65625em 0}#branding img{height:auto;display:block;width:100%}#access{background:#222;background:-moz-linear-gradient(#252525,#0a0a0a);background:-o-linear-gradient(#252525,#0a0a0a);background:-webkit-gradient(linear,0% 0%,0% 100%,from(#252525),to(#0a0a0a));background:-webkit-linear-gradient(#252525,#0a0a0a);-webkit-box-shadow:rgba(0,0,0,0.4) 0px 1px 2px;-moz-box-shadow:rgba(0,0,0,0.4) 0px 1px 2px;box-shadow:rgba(0,0,0,0.4) 0px 1px 2px;clear:both;display:block;float:left;margin:0 auto 6px;width:100%}#access ul{font-size:13px;list-style:none;margin:0 0 0 -0.8125em;padding-left:0}#access li{float:left;position:relative}#access a{color:#eee;display:block;line-height:3.333em;padding:0 1.2125em;text-decoration:none}#access ul ul{-moz-box-shadow:0 3px 3px rgba(0,0,0,0.2);-webkit-box-shadow:0 3px 3px rgba(0,0,0,0.2);box-shadow:0 3px 3px rgba(0,0,0,0.2);display:none;float:left;margin:0;position:absolute;top:3.333em;left:0;width:188px;z-index:99999}#access ul ul ul{left:100%;top:0}#access ul ul a{background:#f9f9f9;border-bottom:1px dotted #ddd;color:#444;font-size:13px;font-weight:normal;height:auto;line-height:1.4em;padding:10px 10px;width:168px}#access li:hover>a,#access ul ul:hover>a,#access a:focus{background:#efefef}#access li:hover>a,#access a:focus{background:#f9f9f9;background:-moz-linear-gradient(#f9f9f9,#e5e5e5);background:-o-linear-gradient(#f9f9f9,#e5e5e5);background:-webkit-gradient(linear,0% 0%,0% 100%,from(#f9f9f9),to(#e5e5e5));background:-webkit-linear-gradient(#f9f9f9,#e5e5e5);color:#373737}#access ul li:hover>ul{display:block}#access .current-menu-item>a,#access .current-menu-ancestor>a,#access .current_page_item>a,#access .current_page_ancestor>a{font-weight:bold}#branding #searchform{position:absolute;top:3.8em;right:7.6%;text-align:right}#branding #searchform div{margin:0}#branding #s{float:right;-webkit-transition-duration:400ms;-webkit-transition-property:width,background;-webkit-transition-timing-function:ease;-moz-transition-duration:400ms;-moz-transition-property:width,background;-moz-transition-timing-function:ease;-o-transition-duration:400ms;-o-transition-property:width,background;-o-transition-timing-function:ease;width:72px}#branding #s:focus{background-color:#f9f9f9;width:196px}#branding #searchsubmit{display:none}#branding .only-search #searchform{top:5px;z-index:1}#branding .only-search #s{background-color:#666;border-color:#000;color:#222}#branding .only-search #s,#branding .only-search #s:focus{width:85%}#branding .only-search #s:focus{background-color:#bbb}#branding .with-image #searchform{top:auto;bottom:-27px;max-width:195px}#branding .only-search+#access div{padding-right:205px}#main{clear:both;padding:1.625em 0 0}.page-title{color:#666;font-size:10px;font-weight:500;letter-spacing:0.1em;line-height:2.6em;margin:0 0 2.6em;text-transform:uppercase}.page-title a{font-size:12px;font-weight:bold;letter-spacing:0;text-transform:none}.hentry,.no-results{border-bottom:1px solid #ddd;margin:0 0 1.625em;padding:0 0 1.625em;position:relative}.hentry:last-child,.no-results{border-bottom:none}.blog .sticky .entry-header .entry-meta{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:absolute!important}.entry-title,.entry-header .entry-meta{padding-right:76px}.entry-title{clear:both;color:#222;font-size:26px;font-weight:bold;line-height:1.5em;padding-bottom:.3em;padding-top:15px}.entry-title,.entry-title a{color:#222;text-decoration:none}.entry-title a:hover,.entry-title a:focus,.entry-title a:active{color:#1982d1}.entry-meta{color:#666;clear:both;font-size:12px;line-height:18px}.entry-meta a{font-weight:bold}.single-author .entry-meta .by-author{display:none}.entry-content,.entry-summary{padding:1.625em 0 0}.entry-content .more-link{white-space:nowrap}.entry-content h1,.entry-content h2,.comment-content h1,.comment-content h2{color:#000;font-weight:bold;margin:0 0 .8125em}.entry-content h3,.comment-content h3{font-size:10px;letter-spacing:0.1em;line-height:2.6em;text-transform:uppercase}.entry-content table,.comment-content table{border-bottom:1px solid #ddd;margin:0 0 1.625em;width:100%}.entry-content th,.comment-content th{color:#666;font-size:10px;font-weight:500;letter-spacing:0.1em;line-height:2.6em;text-transform:uppercase}.entry-content td,.comment-content td{border-top:1px solid #ddd;padding:6px 10px 6px 0}.entry-content #s{width:75%}.comment-content ul,.comment-content ol{margin-bottom:1.625em}.comment-content ul ul,.comment-content ol ol,.comment-content ul ol,.comment-content ol ul{margin-bottom:0}dl.gallery-item{margin:0}.page-link{clear:both;display:block;margin:0 0 1.625em}.page-link a{background:#eee;color:#373737;margin:0;padding:2px 3px;text-decoration:none}.page-link a:hover{background:#888;color:#fff;font-weight:bold}.page-link span{margin-right:6px}.entry-meta .edit-link a,.commentlist .edit-link a{background:#eee;-moz-border-radius:3px;border-radius:3px;color:#666;float:right;font-size:12px;line-height:1.5em;font-weight:300;text-decoration:none;padding:0 8px}.entry-meta .edit-link a:hover,.commentlist .edit-link a:hover{background:#888;color:#fff}.entry-content .edit-link{clear:both;display:block}.entry-content img,.comment-content img,.widget img{max-width:100%}img[class*="align"],img[class*="wp-image-"],img[class*="attachment-"]{height:auto}img.size-full,img.size-large{max-width:97.5%;width:auto;height:auto}.entry-content img.wp-smiley{border:none;margin-bottom:0;margin-top:0;padding:0}img.alignleft,img.alignright,img.aligncenter{margin-bottom:1.625em}p img,.wp-caption{margin-top:0.4em}.wp-caption{background:#eee;margin-bottom:1.625em;max-width:96%;max-width:calc(100% - 18px);padding:9px}.wp-caption img{display:block;max-width:98%;max-width:calc(100% - 14px)}.wp-caption .wp-caption-text,.gallery-caption{color:#666;font-family:Georgia,serif;font-size:12px}.wp-caption .wp-caption-text{margin-bottom:0.6em;padding:10px 0 5px 40px;position:relative}.wp-caption .wp-caption-text:before{color:#666;content:'\2014';font-size:14px;font-style:normal;font-weight:bold;margin-right:5px;position:absolute;left:10px;top:7px}#content .gallery{margin:0 auto 1.625em}#content .gallery a img{border:none}img#wpstats{display:block;margin:0 auto 1.625em}#content .gallery-columns-4 .gallery-item{width:23%;padding-right:2%}#content .gallery-columns-4 .gallery-item img{width:100%;height:auto}img[class*="align"],img[class*="wp-image-"],#content .gallery .gallery-icon img{border:1px solid #ddd;padding:6px;max-width:97.5%;max-width:calc(100% - 14px)}.wp-caption img{border-color:#eee}a:focus img[class*="align"],a:hover img[class*="align"],a:active img[class*="align"],a:focus img[class*="wp-image-"],a:hover img[class*="wp-image-"],a:active img[class*="wp-image-"],#content .gallery .gallery-icon a:focus img,#content .gallery .gallery-icon a:hover img,#content .gallery .gallery-icon a:active img{background:#eee;border-color:#bbb}.wp-caption a:focus img,.wp-caption a:active img,.wp-caption a:hover img{background:#fff;border-color:#ddd}embed,iframe,object{max-width:100%}.entry-content .twitter-tweet-rendered{max-width:100%!important}.post-password-required .entry-header .comments-link{margin:1.625em 0 0}.post-password-required input[type=password]{margin:0.8125em 0}.post-password-required input[type=password]:focus{background:#f7f7f7}#author-info{font-size:12px;overflow:hidden}.singular #author-info{background:#f9f9f9;border-top:1px solid #ddd;border-bottom:1px solid #ddd;margin:2.2em -35.6% 0 -35.4%;padding:20px 35.4%}.archive #author-info{border-bottom:1px solid #ddd;margin:0 0 2.2em;padding:0 0 2.2em}#author-avatar{float:left;margin-right:-78px}#author-avatar img{background:#fff;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #bbb;-moz-box-shadow:0 1px 2px #bbb;box-shadow:0 1px 2px #bbb;padding:3px}#author-description{float:left;margin-left:108px}#author-description h2{color:#000;font-size:15px;font-weight:bold;margin:5px 0 10px}.entry-header .comments-link a{background:#eee url(images/comment-bubble.png) no-repeat;color:#666;font-size:13px;font-weight:normal;line-height:35px;overflow:hidden;padding:0 0 0;position:absolute;top:1.5em;right:0;text-align:center;text-decoration:none;width:43px;height:36px}.entry-header .comments-link a:hover,.entry-header .comments-link a:focus,.entry-header .comments-link a:active{background-color:#1982d1;color:#fff;color:rgba(255,255,255,0.8)}.entry-header .comments-link .leave-reply{visibility:hidden}.entry-header .entry-format{color:#666;font-size:10px;font-weight:500;letter-spacing:0.1em;line-height:2.6em;position:absolute;text-transform:uppercase;top:-5px}.entry-header hgroup .entry-title{padding-top:15px}article.format-aside .entry-content,article.format-link .entry-content,article.format-status .entry-content{padding:20px 0 0}article.format-status .entry-content{min-height:65px}.recent-posts .entry-header .entry-format{display:none}.recent-posts .entry-header hgroup .entry-title{padding-top:0}.singular .hentry{border-bottom:none;padding:4.875em 0 0;position:relative}.singular.page .hentry{padding:3.5em 0 0}.singular .entry-title{color:#000;font-size:36px;font-weight:bold;line-height:48px}.singular .entry-title,.singular .entry-header .entry-meta{padding-right:0}.singular .entry-header .entry-meta{position:absolute;top:0;left:0}blockquote.pull{font-size:21px;font-weight:bold;line-height:1.6125em;margin:0 0 1.625em;text-align:center}.singular blockquote.pull{margin:0 -22.25% 1.625em}.pull.alignleft{margin:0 1.625em 0 0;text-align:right}.singular .pull.alignleft{margin:0 1.625em 0 -22.25%}.pull.alignright{margin:0 0 0 1.625em;text-align:left}blockquote.pull.alignleft,blockquote.pull.alignright{width:33%}.singular .pull.alignright{margin:0 -22.25% 0 1.625em}.singular blockquote.pull.alignleft,.singular blockquote.pull.alignright{width:33%}.singular .entry-meta .edit-link a{bottom:auto;left:50px;position:absolute;right:auto;top:80px}.format-aside .entry-title,.format-aside .entry-header .comments-link{display:none}.singular .format-aside .entry-title{display:block}.format-aside .entry-content{padding:0}.singular .format-aside .entry-content{padding:1.625em 0 0}.format-link .entry-title,.format-link .entry-header .comments-link{display:none}.singular .format-link .entry-title{display:block}.format-link .entry-content{padding:0}.singular .format-link .entry-content{padding:1.625em 0 0}.format-gallery .gallery-thumb{float:left;display:block;margin:.375em 1.625em 0 0;max-width:100%}.format-status .entry-title,.format-status .entry-header .comments-link{display:none}.singular .format-status .entry-title{display:block}.format-status .entry-content{padding:0}.singular .format-status .entry-content{padding:1.625em 0 0}.format-status img.avatar{-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc;float:left;margin:4px 10px 2px 0;padding:0}.format-standard .wp-video,.format-standard .wp-audio-shortcode,.format-audio .wp-audio-shortcode,.format-standard .video-player{margin-bottom:24px}.format-quote blockquote{color:#555;font-size:17px;margin:0}.indexed.format-image .entry-header{min-height:61px}.indexed.format-image .entry-content{padding-top:0.5em}.indexed.format-image .entry-content p{margin:1em 0}.indexed.format-image .entry-content p:first-child,.indexed.format-image .entry-content p:first-child a,.indexed.format-image .entry-content p:first-child img{display:block;margin:0}.indexed.format-image .entry-content .wp-caption .wp-caption-text{margin:0;padding-bottom:1em}.indexed.format-image footer.entry-meta{background:#ddd;overflow:hidden;padding:4%;max-width:96%}.indexed.format-image div.entry-meta{display:inline-block;float:left;width:35%}.indexed.format-image div.entry-meta+div.entry-meta{float:none;width:65%}.indexed.format-image .entry-meta span.cat-links,.indexed.format-image .entry-meta span.tag-links,.indexed.format-image .entry-meta span.comments-link{display:block}.indexed.format-image footer.entry-meta a{color:#444}.indexed.format-image footer.entry-meta a:hover{color:#fff}#content .indexed.format-image img{border:none;max-width:100%;padding:0}.indexed.format-image .wp-caption{background:#111;margin-bottom:0;max-width:96%;padding:2% 2% 0}.indexed.format-image .wp-caption .wp-caption-text{color:#ddd}.indexed.format-image .wp-caption .wp-caption-text:before{color:#444}.indexed.format-image a:hover img{opacity:0.8}.error404 #main #searchform{background:#f9f9f9;border:1px solid #ddd;border-width:1px 0;margin:0 -8.9% 1.625em;overflow:hidden;padding:1.625em 8.9%}.error404 #main #s{width:95%}.error404 #main .widget{clear:none;float:left;margin-right:3.7%;width:30.85%}.error404 #main .widget_archive{margin-right:0}.error404 #main .widget_tag_cloud{float:none;margin-right:0;width:100%}.error404 .widgettitle{font-size:10px;letter-spacing:0.1em;line-height:2.6em;text-transform:uppercase}h1.showcase-heading{color:#666;font-size:10px;font-weight:500;letter-spacing:0.1em;line-height:2.6em;text-transform:uppercase}article.intro{background:#f9f9f9;border-bottom:none;margin:-1.855em -8.9% 1.625em;padding:0 8.9%}article.intro .entry-title{display:none}article.intro .entry-content{color:#111;font-size:16px;padding:1.625em 0 0.625em}article.intro .edit-link a{background:#aaa;-moz-border-radius:3px;border-radius:3px;color:#fff;font-size:12px;padding:0 8px;position:absolute;top:30px;right:20px;text-decoration:none}article.intro .edit-link a:hover,article.intro .edit-link a:focus,article.intro .edit-link a:active{background:#777}section.featured-post{float:left;margin:-1.625em -8.9% 1.625em;padding:1.625em 8.9% 0;position:relative;width:100%}section.featured-post .hentry{border:none;color:#666;margin:0}section.featured-post .entry-meta{clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);position:absolute!important}section.featured-post .attachment-small-feature{float:right;height:auto;margin:0 -8.9% 1.625em 0;max-width:59%;position:relative;right:-15px}section.featured-post.small{padding-top:0}section.featured-post .attachment-small-feature:hover,section.featured-post .attachment-small-feature:focus,section.featured-post .attachment-small-feature:active{opacity:.8}article.feature-image.small{float:left;margin:0 0 1.625em;width:45%}article.feature-image.small .entry-title{line-height:1.2em}article.feature-image.small .entry-summary{color:#555;font-size:13px}article.feature-image.small .entry-summary p a{background:#222;color:#eee;display:block;left:-23.8%;padding:9px 26px 9px 85px;position:relative;text-decoration:none;top:20px;width:180px;z-index:1}article.feature-image.small .entry-summary p a:hover{background:#1982d1;color:#eee;color:rgba(255,255,255,0.8)}section.feature-image.large{border:none;max-height:288px;padding:0;width:100%}section.feature-image.large .showcase-heading{display:none}section.feature-image.large .hentry{border-bottom:none;left:9%;margin:1.625em 9% 0 0;position:absolute;top:0}article.feature-image.large .entry-title a{background:#222;background:rgba(0,0,0,0.8);-moz-border-radius:3px;border-radius:3px;color:#fff;display:inline-block;font-weight:300;padding:.2em 20px}section.feature-image.large:hover .entry-title a,section.feature-image.large .entry-title:hover a{background:#eee;background:rgba(255,255,255,0.8);color:#222}article.feature-image.large .entry-summary{display:none}section.feature-image.large img{display:block;height:auto;max-width:117.9%;padding:0 0 6px}.featured-posts{border-bottom:1px solid #ddd;display:block;height:328px;margin:1.625em -8.9% 20px;max-width:1000px;padding:0;position:relative;overflow:hidden}.featured-posts .showcase-heading{padding-left:8.9%}.featured-posts section.featured-post{background:#fff;height:288px;left:0;margin:0;position:absolute;top:30px;width:auto}.featured-posts section.featured-post.large{max-width:100%;overflow:hidden}.featured-posts section.featured-post{-webkit-transition-duration:200ms;-webkit-transition-property:opacity,visibility;-webkit-transition-timing-function:ease;-moz-transition-duration:200ms;-moz-transition-property:opacity,visibility;-moz-transition-timing-function:ease}.featured-posts section.featured-post{opacity:0;visibility:hidden}.featured-posts #featured-post-1{opacity:1;visibility:visible}.featured-post .feature-text:after,.featured-post .feature-image.small:after{content:' ';background:-moz-linear-gradient(top,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(255,255,255,1)));background:-webkit-linear-gradient(top,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);background:-o-linear-gradient(top,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);background:-ms-linear-gradient(top,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff',endColorstr='#ffffff',GradientType=0);background:linear-gradient(top,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%);width:100%;height:45px;position:absolute;top:230px}.featured-post .feature-image.small:after{top:253px}#content .feature-slider{top:5px;right:8.9%;overflow:visible;position:absolute}.feature-slider ul{list-style-type:none;margin:0}.feature-slider li{float:left;margin:0 6px}.feature-slider a{background:#3c3c3c;background:rgba(60,60,60,0.9);-moz-border-radius:12px;border-radius:12px;-webkit-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.5),inset 0 0 2px rgba(255,255,255,0.5);-moz-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.5),inset 0 0 2px rgba(255,255,255,0.5);box-shadow:inset 1px 1px 5px rgba(0,0,0,0.5),inset 0 0 2px rgba(255,255,255,0.5);display:block;width:14px;height:14px}.feature-slider a.active{background:#1982d1;-webkit-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.4),inset 0 0 2px rgba(255,255,255,0.8);-moz-box-shadow:inset 1px 1px 5px rgba(0,0,0,0.4),inset 0 0 2px rgba(255,255,255,0.8);box-shadow:inset 1px 1px 5px rgba(0,0,0,0.4),inset 0 0 2px rgba(255,255,255,0.8);cursor:default;opacity:0.5}section.recent-posts{padding:0 0 1.625em}section.recent-posts .hentry{border:none;margin:0}section.recent-posts .other-recent-posts{border-bottom:1px solid #ddd;list-style:none;margin:0}section.recent-posts .other-recent-posts li{padding:0.3125em 0;position:relative}section.recent-posts .other-recent-posts .entry-title{border-top:1px solid #ddd;font-size:17px}section.recent-posts .other-recent-posts a[rel="bookmark"]{color:#373737;float:left;max-width:84%}section.recent-posts .other-recent-posts a[rel="bookmark"]:after{content:'-';color:transparent;font-size:11px}section.recent-posts .other-recent-posts a[rel="bookmark"]:hover{}section.recent-posts .other-recent-posts .comments-link a,section.recent-posts .other-recent-posts .comments-link>span{border-bottom:2px solid #999;bottom:-2px;color:#444;display:block;font-size:10px;font-weight:500;line-height:2.76333em;padding:0.3125em 0 0.3125em 1em;position:absolute;right:0;text-align:right;text-transform:uppercase;z-index:1}section.recent-posts .other-recent-posts .comments-link>span{border-color:#bbb;color:#888}section.recent-posts .other-recent-posts .comments-link a:hover{color:#1982d1;border-color:#1982d1}section.recent-posts .other-recent-posts li:after{clear:both;content:'.';display:block;height:0;visibility:hidden}.image-attachment div.attachment{background:#f9f9f9;border:1px solid #ddd;border-width:1px 0;margin:0 -8.9% 1.625em;overflow:hidden;padding:1.625em 1.625em 0;text-align:center}.image-attachment div.attachment img{display:block;height:auto;margin:0 auto 1.625em;max-width:100%}.image-attachment div.attachment a img{border-color:#f9f9f9}.image-attachment div.attachment a:focus img,.image-attachment div.attachment a:hover img,.image-attachment div.attachment a:active img{border-color:#ddd;background:#fff}.image-attachment .entry-caption p{font-size:10px;letter-spacing:0.1em;line-height:2.6em;margin:0 0 2.6em;text-transform:uppercase}audio,video{display:inline-block;max-width:100%}.attachment .entry-content .mejs-container{margin-bottom:24px}#content nav{clear:both;overflow:hidden;padding:0 0 1.625em}#content nav a{font-size:12px;font-weight:bold;line-height:2.2em}#nav-above{padding:0 0 1.625em}#nav-above{display:none}.paged #nav-above{display:block}.nav-previous{float:left;width:50%}.nav-next{float:right;text-align:right;width:50%}#content nav .meta-nav{font-weight:normal}#nav-single{float:right;position:relative;top:-0.3em;text-align:right;z-index:1}#nav-single .nav-previous,#nav-single .nav-next{width:auto}#nav-single .nav-next{padding-left:.5em}#nav-single .nav-previous{padding-right:.5em}.widget-area{font-size:12px}.widget{word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto;clear:both;margin:0 0 2.2em}.widget-title{color:#666;font-size:10px;font-weight:500;letter-spacing:0.1em;line-height:2.6em;text-transform:uppercase}.widget ul{font-size:15px;margin:0}.widget ul ul{margin-left:1.5em}.widget ul li{color:#777;font-size:13px}.widget a{font-weight:bold;text-decoration:none}.widget a:hover,.widget a:focus,.widget a:active{text-decoration:underline}.widget_search form{margin:0 0 1.625em}.widget_search #s{width:77%}.widget_search #searchsubmit{background:#ddd;border:1px solid #ccc;-webkit-box-shadow:inset 0px -1px 1px rgba(0,0,0,0.09);-moz-box-shadow:inset 0px -1px 1px rgba(0,0,0,0.09);box-shadow:inset 0px -1px 1px rgba(0,0,0,0.09);color:#888;font-size:13px;line-height:25px;position:relative;top:-2px}.widget_search #searchsubmit:active{background:#1982d1;border-color:#0861a5;-webkit-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.1);-moz-box-shadow:inset 0px 1px 1px rgba(0,0,0,0.1);box-shadow:inset 0px 1px 1px rgba(0,0,0,0.1);color:#bfddf3}section.ephemera ol,.widget_twentyeleven_ephemera ol{list-style:square;margin:5px 0 0}.widget_twentyeleven_ephemera .widget-entry-title{font-size:15px;font-weight:bold;padding:0}.widget_twentyeleven_ephemera .comments-link a,.widget_twentyeleven_ephemera .comments-link>span{color:#666;display:block;font-size:10px;font-weight:500;line-height:2.76333em;text-transform:uppercase}section.ephemera .entry-title .comments-link a:hover,.widget_twentyeleven_ephemera .entry-title .comments-link a:hover{}section.ephemera .entry-title a span{color:#29628d}.widget_twitter li{list-style-type:none;margin-bottom:14px}.widget_twitter .timesince{display:block;font-size:11px;margin-right:-10px;text-align:right}.widget_image img{border:0;padding:0;height:auto;max-width:100%}.widget_calendar #wp-calendar{color:#555;width:95%;text-align:center}.widget_calendar #wp-calendar caption,.widget_calendar #wp-calendar td,.widget_calendar #wp-calendar th{text-align:center}.widget_calendar #wp-calendar caption{font-size:11px;font-weight:500;padding:5px 0 3px 0;text-transform:uppercase}.widget_calendar #wp-calendar th{background:#f4f4f4;border-top:1px solid #ccc;border-bottom:1px solid #ccc;font-weight:bold}.widget_calendar #wp-calendar tfoot td{background:#f4f4f4;border-top:1px solid #ccc;border-bottom:1px solid #ccc}#comments-title{color:#666;font-size:10px;font-weight:500;line-height:2.6em;padding:0 0 2.6em;text-transform:uppercase}.nopassword,.nocomments{color:#aaa;font-size:24px;font-weight:100;margin:26px 0;text-align:center}.commentlist{list-style:none;margin:0 auto;width:68.9%}.content .commentlist,.page-template-sidebar-page-php .commentlist{width:100%}.commentlist>li.comment{background:#f6f6f6;border:1px solid #ddd;-moz-border-radius:3px;border-radius:3px;margin:0 0 1.625em;padding:1.625em;position:relative}.commentlist .pingback{margin:0 0 1.625em;padding:0 1.625em}.commentlist .children{list-style:none;margin:0}.commentlist .children li.comment{background:#fff;border-left:1px solid #ddd;-moz-border-radius:0 3px 3px 0;border-radius:0 3px 3px 0;margin:1.625em 0 0;padding:1.625em;position:relative}.commentlist .children li.comment .fn{display:block}.comment-meta .fn{font-style:normal}.comment-meta{color:#666;font-size:12px;line-height:2.2em}.commentlist .children li.comment .comment-meta{line-height:1.625em;margin-left:50px}.commentlist .children li.comment .comment-content{margin:1.625em 0 0;word-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto}.comment-meta a{font-weight:bold}.comment-meta a:focus,.comment-meta a:active,.comment-meta a:hover{}.commentlist .avatar{-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 2px #ccc;-moz-box-shadow:0 1px 2px #ccc;box-shadow:0 1px 2px #ccc;left:-102px;padding:0;position:absolute;top:0}.commentlist>li:before{content:url(images/comment-arrow.png);left:-21px;position:absolute}.commentlist>li.pingback:before{content:''}.commentlist .children .avatar{background:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;left:2.2em;padding:0;top:2.2em}a.comment-reply-link{background:#eee;-moz-border-radius:3px;border-radius:3px;color:#666;display:inline-block;font-size:12px;padding:0 8px;text-decoration:none}a.comment-reply-link:hover,a.comment-reply-link:focus,a.comment-reply-link:active{background:#888;color:#fff}a.comment-reply-link>span{display:inline-block;position:relative;top:-1px}.commentlist>li.bypostauthor{background:#ddd;border-color:#d3d3d3}.commentlist>li.bypostauthor .comment-meta{color:#575757}.commentlist>li.bypostauthor .comment-meta a:focus,.commentlist>li.bypostauthor .comment-meta a:active,.commentlist>li.bypostauthor .comment-meta a:hover{}.commentlist>li.bypostauthor:before{content:url(images/comment-arrow-bypostauthor.png)}.commentlist .children>li.bypostauthor{background:#ddd;border-color:#d3d3d3}.page-template-sidebar-page-php .commentlist>li.comment,.page-template-sidebar-page-php.commentlist .pingback{margin-left:102px;width:auto}.page-template-sidebar-page-php #respond{width:auto}#respond{background:#ddd;border:1px solid #d3d3d3;-moz-border-radius:3px;border-radius:3px;margin:0 auto 1.625em;padding:1.625em;position:relative;width:68.9%}#respond input[type="text"],#respond textarea{background:#fff;border:4px solid #eee;-moz-border-radius:5px;border-radius:5px;-webkit-box-shadow:inset 0 1px 3px rgba(204,204,204,0.95);-moz-box-shadow:inset 0 1px 3px rgba(204,204,204,0.95);box-shadow:inset 0 1px 3px rgba(204,204,204,0.95);position:relative;padding:10px;text-indent:80px}#respond .comment-form-author,#respond .comment-form-email,#respond .comment-form-url,#respond .comment-form-comment{position:relative}#respond .comment-form-author label,#respond .comment-form-email label,#respond .comment-form-url label,#respond .comment-form-comment label{background:#eee;-webkit-box-shadow:1px 2px 2px rgba(204,204,204,0.8);-moz-box-shadow:1px 2px 2px rgba(204,204,204,0.8);box-shadow:1px 2px 2px rgba(204,204,204,0.8);color:#555;display:inline-block;font-size:13px;left:4px;min-width:60px;padding:4px 10px;position:relative;top:40px;z-index:1}#respond input[type="text"]:focus,#respond textarea:focus{text-indent:0;z-index:1}#respond textarea{resize:vertical;width:95%}#respond .comment-form-author .required,#respond .comment-form-email .required{color:#bd3500;font-size:22px;font-weight:bold;left:75%;position:absolute;z-index:1}#respond .comment-notes,#respond .logged-in-as{font-size:13px}#respond p{margin:10px 0}#respond .form-submit{float:right;margin:-20px 0 10px}#respond input#submit{background:#222;border:none;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0px 1px 2px rgba(0,0,0,0.3);-moz-box-shadow:0px 1px 2px rgba(0,0,0,0.3);box-shadow:0px 1px 2px rgba(0,0,0,0.3);color:#eee;cursor:pointer;font-size:15px;margin:20px 0;padding:5px 42px 5px 22px;position:relative;left:30px;text-shadow:0 -1px 0 rgba(0,0,0,0.3)}#respond input#submit:active{background:#1982d1;color:#bfddf3}#respond #cancel-comment-reply-link{color:#666;margin-left:10px;text-decoration:none}#respond .logged-in-as a:hover,#respond #cancel-comment-reply-link:hover{text-decoration:underline}.commentlist #respond{margin:1.625em 0 0;width:auto}#reply-title{color:#373737;font-size:24px;font-weight:bold;line-height:30px}#cancel-comment-reply-link{color:#888;display:block;font-size:10px;font-weight:normal;line-height:2.2em;letter-spacing:0.05em;position:absolute;right:1.625em;text-decoration:none;text-transform:uppercase;top:1.1em}#cancel-comment-reply-link:focus,#cancel-comment-reply-link:active,#cancel-comment-reply-link:hover{color:#ff4b33}#respond label{line-height:2.2em}#respond input[type=text]{display:block;height:24px;width:75%}#respond p{font-size:12px}p.comment-form-comment{margin:0}.form-allowed-tags{display:none}#colophon{clear:both}#supplementary{border-top:1px solid #ddd;padding:1.625em 7.6%;overflow:hidden}#supplementary.two .widget-area{float:left;margin-right:3.7%;width:48.1%}#supplementary.two .widget-area+.widget-area{margin-right:0}#supplementary.three .widget-area{float:left;margin-right:3.7%;width:30.85%}#supplementary.three .widget-area+.widget-area+.widget-area{margin-right:0}#site-generator{background:#f9f9f9;border-top:1px solid #ddd;color:#666;font-size:12px;line-height:2.2em;padding:2.2em 0.5em;text-align:center}#site-generator a{color:#555;font-weight:bold}@-ms-viewport{width:device-width}@viewport{width:device-width}@media (max-width:800px){#main #content{margin:0 7.6%;width:auto}#nav-below{border-bottom:1px solid #ddd;margin-bottom:1.625em}#main #secondary{float:none;margin:0 7.6%;width:auto}.page-template-showcase-php .featured-posts{min-height:280px}.featured-posts section.featured-post{height:auto}.page-template-showcase-php section.recent-posts{float:none;margin:0;width:100%}.page-template-showcase-php #main .widget-area{float:none;margin:0;width:auto}.page-template-showcase-php .other-recent-posts{border-bottom:1px solid #ddd}section.featured-post .attachment-small-feature,.one-column section.featured-post .attachment-small-feature{border:none;display:block;float:left;height:auto;margin:0.625em auto 1.025em;max-width:30%;position:static}article.feature-image.small{float:right;margin:0 0 1.625em;width:64%}.one-column article.feature-image.small .entry-summary{height:auto}article.feature-image.small .entry-summary p a{left:0;padding-left:20px;padding-right:20px;width:auto}.singular .entry-header,.singular .entry-content,.singular footer.entry-meta,.singular #comments-title{width:100%}.singular blockquote.pull{margin:0 0 1.625em}.singular .pull.alignleft{margin:0 1.625em 0 0}.singular .pull.alignright{margin:0 0 0 1.625em}.singular .entry-meta .edit-link a{left:0;position:absolute;top:40px}.singular #author-info{margin:2.2em -8.8% 0;padding:20px 8.8%}.commentlist{width:100%}.commentlist > li.comment,.commentlist .pingback{margin-left:102px;width:auto}#respond{width:auto}#colophon #supplementary .widget-area{float:none;margin-right:0;width:auto}.error404 #main .widget{float:none;margin-right:0;width:auto}}@media (max-width:650px){body,input,textarea{font-size:13px}#site-title a{font-size:24px}#site-description{font-size:12px}#access ul{font-size:12px}#branding .only-search + #access div{padding-right:0}article.intro .entry-content{font-size:12px}.entry-title{font-size:21px}.featured-post .entry-title{font-size:14px}.singular .entry-title{font-size:28px}.entry-meta{font-size:12px}blockquote{margin:0}blockquote.pull{font-size:17px}#site-title{padding:5.30625em 0 0}#site-title,#site-description{margin-right:0}#branding #searchform{top:1.625em !important}.alignleft,.alignright{display:block;float:none;margin-left:0;margin-right:0}#nav-single{display:block;position:static}.singular .hentry{padding:1.625em 0 0}.singular.page .hentry{padding:1.625em 0 0}.singular .entry-header .entry-meta,.singular .entry-header .entry-format,.singular .entry-meta .edit-link a{position:static}.commentlist > li.comment,.commentlist > li.pingback{margin-left:0 !important}.commentlist .avatar{background:transparent;display:block;padding:0;position:static}.commentlist .children .avatar{background:none;left:2.2em;padding:0;position:absolute;top:2.2em}#respond input[type="text"]{width:95%}#respond .comment-form-author .required,#respond .comment-form-email .required{left:95%}#content .gallery-columns-3 .gallery-item{width:31%;padding-right:2%}#content .gallery-columns-3 .gallery-item img{width:100%;height:auto}}@media (max-width:450px){#content .gallery-columns-2 .gallery-item{width:45%;padding-right:4%}#content .gallery-columns-2 .gallery-item img{width:100%;height:auto}}@media only screen and (min-device-width:320px) and (max-device-width:480px){body{padding:0}#page{margin-top:0}#branding{border-top:none}}#primary{background:white}</style><title>SPICYDOG&#039;s Blog | sudo apt-get install vim</title><meta name="description" content="sudo apt-get install vim"/><link rel="canonical" href="https://www.spicydog.org/blog/" /><link rel="next" href="https://www.spicydog.org/blog/page/2/" /><meta property="og:locale" content="en_US" /><meta property="og:type" content="website" /><meta property="og:title" content="SPICYDOG&#039;s Blog | sudo apt-get install vim" /><meta property="og:description" content="sudo apt-get install vim" /><meta property="og:url" content="https://www.spicydog.org/blog/" /><meta property="og:site_name" content="SPICYDOG&#039;s Blog" /><meta name="twitter:card" content="summary" /><meta name="twitter:description" content="sudo apt-get install vim" /><meta name="twitter:title" content="SPICYDOG&#039;s Blog | sudo apt-get install vim" /><meta name="twitter:site" content="@spicydog" /><script type='application/ld+json'>{"@context":"http:\/\/schema.org","@type":"WebSite","@id":"#website","url":"https:\/\/www.spicydog.org\/blog\/","name":"SPICYDOG's Blog","potentialAction":{"@type":"SearchAction","target":"https:\/\/www.spicydog.org\/blog\/?s={search_term_string}","query-input":"required name=search_term_string"}}</script><script type='application/ld+json'>{"@context":"http:\/\/schema.org","@type":"Person","url":"https:\/\/www.spicydog.org\/blog\/","sameAs":["https:\/\/linkedin.com\/in\/spicydog","https:\/\/twitter.com\/spicydog"],"@id":"#person","name":"spicydog"}</script><link rel='dns-prefetch' href='//s0.wp.com' /><link rel='dns-prefetch' href='//secure.gravatar.com' /><link rel='dns-prefetch' href='//s.w.org' /><link rel="alternate" type="application/rss+xml" title="SPICYDOG&#039;s Blog &raquo; Feed" href="https://www.spicydog.org/blog/feed/" /><link rel="alternate" type="application/rss+xml" title="SPICYDOG&#039;s Blog &raquo; Comments Feed" href="https://www.spicydog.org/blog/comments/feed/" /><script type="text/javascript">window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/cdn.spicydog.org\/blog\/includes\/js\/wp-emoji-release.min.js"}};!function(a,b,c){function d(a){var b,c,d,e,f=String.fromCharCode;if(!k||!k.fillText)return!1;switch(k.clearRect(0,0,j.width,j.height),k.textBaseline="top",k.font="600 32px Arial",a){case"flag":return k.fillText(f(55356,56826,55356,56819),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,56826,8203,55356,56819),0,0),c=j.toDataURL(),b===c&&(k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447),0,0),b=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447),0,0),c=j.toDataURL(),b!==c);case"emoji4":return k.fillText(f(55358,56794,8205,9794,65039),0,0),d=j.toDataURL(),k.clearRect(0,0,j.width,j.height),k.fillText(f(55358,56794,8203,9794,65039),0,0),e=j.toDataURL(),d!==e}return!1}function e(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var f,g,h,i,j=b.createElement("canvas"),k=j.getContext&&j.getContext("2d");for(i=Array("flag","emoji4"),c.supports={everything:!0,everythingExceptFlag:!0},h=0;h<i.length;h++)c.supports[i[h]]=d(i[h]),c.supports.everything=c.supports.everything&&c.supports[i[h]],"flag"!==i[h]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[i[h]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(g=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1)):(a.attachEvent("onload",g),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),f=c.source||{},f.concatemoji?e(f.concatemoji):f.wpemoji&&f.twemoji&&(e(f.twemoji),e(f.wpemoji)))}(window,document,window._wpemojiSettings);</script><style type="text/css">img.wp-smiley,img.emoji{display:inline !important;border:none !important;box-shadow:none !important;height:1em !important;width:1em !important;margin:0 .07em !important;vertical-align:-0.1em !important;background:none !important;padding:0 !important}</style><script type='text/javascript'>
var CrayonSyntaxSettings = {"version":"_2.7.2_beta","is_admin":"0","ajaxurl":"https:\/\/www.spicydog.org\/blog\/wp-admin\/admin-ajax.php","prefix":"crayon-","setting":"crayon-setting","selected":"crayon-setting-selected","changed":"crayon-setting-changed","special":"crayon-setting-special","orig_value":"data-orig-value","debug":""};var CrayonSyntaxStrings = {"copy":"Press %s to Copy, %s to Paste","minimize":"Click To Expand Code"};
</script><link rel='https://api.w.org/' href='https://www.spicydog.org/blog/wp-json/' /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.spicydog.org/blog/xmlrpc.php?rsd" /><link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://cdn.spicydog.org/blog/includes/wlwmanifest.xml" /> <meta name="generator" content="WordPress 4.8.1" /><link rel='shortlink' href='https://wp.me/6agVC' /><link rel='dns-prefetch' href='//v0.wordpress.com'><style type='text/css'>img#wpstats{display:none}</style><style>a,#site-title a:focus,#site-title a:hover,#site-title a:active,.entry-title a:hover,.entry-title a:focus,.entry-title a:active,.widget_twentyeleven_ephemera .comments-link a:hover,section.recent-posts .other-recent-posts a[rel="bookmark"]:hover,section.recent-posts .other-recent-posts .comments-link a:hover,.format-image footer.entry-meta a:hover,#site-generator a:hover{color:#0c5f9e}section.recent-posts .other-recent-posts .comments-link a:hover{border-color:#0c5f9e}article.feature-image.small .entry-summary p a:hover,.entry-header .comments-link a:hover,.entry-header .comments-link a:focus,.entry-header .comments-link a:active,.feature-slider a.active{background-color:#0c5f9e}</style><style type="text/css" id="twentyeleven-header-css">#site-title a,#site-description{color:#ffffff}</style><style type="text/css" id="custom-background-css">body.custom-background{background-color:#e5e5e5}</style><link rel="icon" href="https://cdn.spicydog.org/blog/content/uploads/2017/07/cropped-logo-32x32.png" sizes="32x32" /><link rel="icon" href="https://cdn.spicydog.org/blog/content/uploads/2017/07/cropped-logo-192x192.png" sizes="192x192" /><link rel="apple-touch-icon-precomposed" href="https://cdn.spicydog.org/blog/content/uploads/2017/07/cropped-logo-180x180.png" /><meta name="msapplication-TileImage" content="https://cdn.spicydog.org/blog/content/uploads/2017/07/cropped-logo-270x270.png" /><style type="text/css" id="wp-custom-css">#branding{background-color:#171813;background-image:url('https://cdn.spicydog.org/images/logo/blog_header.jpg')}img[src='https://cdn.spicydog.org/blog/wp-content/uploads/2014/03/cropped-2014-02-28-spicydog.org-V5-Header.jpg']{display:none !important}#page{max-width:1200px}.entry-content{font-size:1.2em;line-height:180%}div.entry-content img{border:0px}.home div#content{width:80%;margin-left:10% margin-right:10%}.home .entry-title{padding-right:0 !important}.home .entry-content > p{margin-bottom:0}.home .comments-link{display:none}footer.entry-meta{display:none}a.more-link{margin-top:20px;display:block}.post-template-default .entry-header{width:100% !important}.post-template-default .entry-content{width:100% !important}</style></head><body class="home blog custom-background single-author two-column right-sidebar"><div id="page" class="hfeed"><header id="branding" role="banner"><hgroup><h1 id="site-title"><span><img title="SPICYDOG's Blog"
style="height:40px;max-height:40px;width: auto"
src="https://cdn.spicydog.org/blog/content/uploads/2017/07/logo-long-1x.png"
srcset="https://cdn.spicydog.org/blog/content/uploads/2017/07/logo-long-2x.png 2x, https://cdn.spicydog.org/blog/content/uploads/2017/07/logo-long-3x.png 3x"></span></h1><h2 id="site-description">sudo apt-get install vim</h2></hgroup><form method="get" id="searchform" action="https://www.spicydog.org/blog/"><label for="s" class="assistive-text">Search</label><input type="text" class="field" name="s" id="s" placeholder="Search" /><input type="submit" class="submit" name="submit" id="searchsubmit" value="Search" /></form><nav id="access" role="navigation"><h3 class="assistive-text">Main menu</h3><div class="skip-link"><a class="assistive-text" href="#content">Skip to primary content</a></div><div class="skip-link"><a class="assistive-text" href="#secondary">Skip to secondary content</a></div><div class="menu-main-menu-container"><ul id="menu-main-menu" class="menu"><li id="menu-item-65" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-65"><a href="http://www.spicydog.org/blog">Home</a></li><li id="menu-item-576" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-576"><a href="https://www.spicydog.org/blog/about/">About</a></li></ul></div></nav></header><div id="main"><div id="primary"><div id="content" role="main"><nav id="nav-above"><h3 class="assistive-text">Post navigation</h3><div class="nav-previous"><a href="https://www.spicydog.org/blog/page/2/" ><span class="meta-nav">&larr;</span> Older posts</a></div><div class="nav-next"></div></nav><article id="post-760" class="post-760 post type-post status-publish format-standard hentry category-experience category-general tag-conference tag-ecti-con-2016 tag-experience tag-thai-word-segmentation tag-thesis"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/my-first-international-conference-experience/" rel="bookmark">ประสบการณ์การไปงาน Conference ครั้งแรก</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/my-first-international-conference-experience/" title="1:24 am" rel="bookmark"><time class="entry-date" datetime="2017-07-09T01:24:52+00:00">9 July 2017</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/my-first-international-conference-experience/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="760 https://www.spicydog.org/blog/?p=760"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p><img class="alignright wp-image-797 size-full" src="https://cdn.spicydog.org/blog/content/uploads/2017/07/ecti-logo.jpg" alt="" width="200" height="200" srcset="https://cdn.spicydog.org/blog/content/uploads/2017/07/ecti-logo.jpg 200w, https://cdn.spicydog.org/blog/content/uploads/2017/07/ecti-logo-150x150.jpg 150w" sizes="(max-width: 200px) 100vw, 200px" />ความจริงจะต้องเขียนเรื่องนี้นานมากแล้ว ไม่รู้ว่าทำไมถึงลืมได้ เพิ่งมาเห็นว่ายังไม่ได้เขียน (เวลาผ่านไปปีกว่าแล้ว) ในขณะที่ยังพอมีความทรงจำเหลืออยู่บ้าง ก็จะขอเขียนเท่าที่จำได้ก็ละกัน อาจจะอ่านไม่มันเท่าไหร่สำหรับอันนี้เพราะว่าความทรงจำมันไม่สดละ</p><p>เรื่องนี้เป็นประสบการณ์การไปงาน Conference วิชาการครั้งแรก เป็นอีกหนึ่งความฝันของเด็กที่ไม่ได้เก่งอะไรมากมายอย่างผมที่ได้เขียน Paper เป็นภาษาอังกฤษ และได้ออกไปนำเสนอให้กับนักวิชาการ ซึ่งต้องบอกว่าเป็นช่วงเวลา 3 วันที่รู้สึกสนุกกับการผจญภัยอย่างมาก ไม่คิดว่าจะได้เจอประสบการณ์ดีๆ อะไรแบบนี้ <a href="https://www.spicydog.org/blog/my-first-international-conference-experience/#more-760" class="more-link">Continue reading <span class="meta-nav">&rarr;</span></a></p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/general/experience/" rel="category tag">Experience</a>, <a href="https://www.spicydog.org/blog/category/general/" rel="category tag">General</a></span><span class="sep"> | </span><span class="tag-links"><span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> <a href="https://www.spicydog.org/blog/tag/conference/" rel="tag">Conference</a>, <a href="https://www.spicydog.org/blog/tag/ecti-con-2016/" rel="tag">ECTI-CON 2016</a>, <a href="https://www.spicydog.org/blog/tag/experience/" rel="tag">Experience</a>, <a href="https://www.spicydog.org/blog/tag/thai-word-segmentation/" rel="tag">Thai Word Segmentation</a>, <a href="https://www.spicydog.org/blog/tag/thesis/" rel="tag">Thesis</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/my-first-international-conference-experience/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="760 https://www.spicydog.org/blog/?p=760"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><article id="post-699" class="post-699 post type-post status-publish format-standard hentry category-uncategorized"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/gitlab-ci-cd-2-gitlab-runner/" rel="bookmark">GitLab CI บทที่ 2 GitLab Runner</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/gitlab-ci-cd-2-gitlab-runner/" title="4:20 pm" rel="bookmark"><time class="entry-date" datetime="2017-06-10T16:20:28+00:00">10 June 2017</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/gitlab-ci-cd-2-gitlab-runner/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="699 https://www.spicydog.org/blog/?p=699"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p>ก่อนจะเริ่ม GitLab CI เราก็ต้องมารู้จักกับ <a href="https://docs.gitlab.com/runner/" target="_blank" rel="noopener">GitLab Runner</a> กันเสียก่อน GitLab Runner คือ Agent ที่จะคอยรันงานที่ส่งมาจาก GitLab นั่นเอง บางคนอาจคิดไปถึงว่า เราจะ Test โปรแกรมของเราได้อย่างไรในเมื่อ Environment ของเราไม่เหมือนกันคนอื่น บางคนเขียน Ruby บางคน Java บางคน Python อย่างนี้ก็ต้องสร้างเครื่องมาเฉพาะหมดเลยหรือเปล่า คำตอบก็คือ ใช่ และ ไม่ใช่ ที่บอกว่าใช่ ก็เพราะว่า เวลาจะทดสอบระบบอะไรนั้น เราก็ต้องทำ Environment ขึ้นมาแน่นอน อันนี้หลีกเลี่ยงไม่ได้ แต่ที่บอกว่าไม่ใช่ก็ตรงที่ว่า เราไม่ต้องสร้างเครื่องใหม่หลายๆ เครื่อง อย่าลืมว่ายุคนี้มี <a href="https://www.docker.com/" target="_blank" rel="noopener">Docker</a> แล้ว การจะตั้ง Containner ที่มี Environment อย่างที่เราต้องการเป็นเรื่องหมูๆ เอาจริงๆ แทบจะ Copy สคริปที่ชาวบ้านทำๆ กันเอาไว้มาใช้ ส่วนใหญ่ก็แทบจะใช้งานได้ทันทีถ้าเราพัฒนามาในรูปแบบที่คนส่วนใหญ่ทำกัน ซึ่ง GitLab Runner ก็อาศัยพวก VM เนี่ยล่ะในการในการทำให้เครื่องหนึ่งเครื่องเป็น Enviromment อะไรก็ได้ ซึ่งสำหรับผมจะเลือกใช้ Docker เป็นหลักครับ</p><p>อ่อ สำหรับคนที่ใช้ GitLab ที่มี Runner พร้อมใช้อยู่แล้ว อย่างเช่นคนที่จะใช้ Share Runner บน gitlab.com ก็สามารถข้ามบทนี้ไปได้เลยครับ <a href="https://www.spicydog.org/blog/gitlab-ci-cd-2-gitlab-runner/#more-699" class="more-link">Continue reading <span class="meta-nav">&rarr;</span></a></p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/uncategorized/" rel="category tag">Uncategorized</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/gitlab-ci-cd-2-gitlab-runner/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="699 https://www.spicydog.org/blog/?p=699"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><article id="post-698" class="post-698 post type-post status-publish format-standard hentry category-uncategorized"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/gitlab-ci-cd-1-introduction/" rel="bookmark">GitLab CI/CD บทที่ 1 Introduction</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/gitlab-ci-cd-1-introduction/" title="3:27 pm" rel="bookmark"><time class="entry-date" datetime="2017-06-10T15:27:35+00:00">10 June 2017</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/gitlab-ci-cd-1-introduction/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="698 https://www.spicydog.org/blog/?p=698"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p>กล่าวสวัสดีเพื่อนๆ ชาวโปรแกรมเมอร์ทั้งหลาย เมื่อไม่นานที่ผ่านมาผมได้มีโอกาสได้สัมผัสประสบการณ์การทำทำ CI/CD อย่างจริงๆ จังๆ ด้วย GitLab เนื่องด้วยส่วนตัวเป็นคนสนใจพยายามพัฒนาซอฟแวร์แบบเน้นคุณภาพมาแต่ต้นอยู่แล้ว สาเหตุเพราะความขี้เกียจมาตามแก้บั๊กในภายหลัง ก็เลยศึกษาหาหนทางที่ชาวบ้านเขาทำกันมานมนาน แต่ก็ด้วยความที่ก็ยังถือว่าเป็นเด็กน้อยในวงการและเป็นสายอินดี้ไม่ไปอยู่ บ.พัฒนาซอฟแวร์ใหญ่ๆ ก็เลยยังไม่ได้มีโอกาสสัมผัส CI/CD อย่างเพื่อนๆ เขา เพิ่งจะมาได้จับจริงๆ จังๆ ก็คราวนี้แหละ แล้วพอได้สัมผัสแล้วก็รู้สึกเห็นคุณค่าของมัน และอยากให้นักพัฒนาซอฟแวร์ที่มีแนวคิดแบบเดียวกันได้มีโอกาสพัฒนาตัวเองขึ้นๆ ไป จึงเกิดเป็นแรงอยากจะแบ่งปันประสบการณ์และเขียนเป็น Blog Series</p><h2>สารบัญ</h2><p><a href="https://www.spicydog.org/blog/gitlab-ci-cd-1-introduction/" target="_blank" rel="noopener">บทที่ 1 Introduction</a><br /><a href="https://www.spicydog.org/blog/gitlab-ci-cd-2-gitlab-runner/" target="_blank" rel="noopener">บทที่ 2 GitLab Runner</a></p><p> <a href="https://www.spicydog.org/blog/gitlab-ci-cd-1-introduction/#more-698" class="more-link">Continue reading <span class="meta-nav">&rarr;</span></a></p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/uncategorized/" rel="category tag">Uncategorized</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/gitlab-ci-cd-1-introduction/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="698 https://www.spicydog.org/blog/?p=698"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><article id="post-557" class="post-557 post type-post status-publish format-standard hentry category-computer category-programming category-software category-website tag-cloudflare tag-configuration tag-dns tag-internet tag-server tag-web"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/dns-server-for-basic/" rel="bookmark">การตั้งค่า DNS Server ฉบับผู้เริ่มต้น</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/dns-server-for-basic/" title="5:31 pm" rel="bookmark"><time class="entry-date" datetime="2017-01-15T17:31:32+00:00">15 January 2017</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/dns-server-for-basic/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="557 https://www.spicydog.org/blog/?p=557"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p><img class="alignright wp-image-570" src="https://cdn.spicydog.org/blog/content/uploads/2017/01/DNS_logo.jpg" alt="" width="150" height="149" />Domain Name System (DNS) คือระบบที่เอาไว้จัดการบริหารชื่อ Domain อย่างที่เราใช้ๆ กันบนอินเทอร์เน็ต การตั้งค่า DNS สำหรับคนที่เพิ่งจะเริ่มทำเว็บเป็นเรื่องน่างนงงมากเพราะว่ามีอะไรให้ตั้งเยอะแยะมากมาย วันนี้เลยจะมาเขียนแบบกระชัดสำหรับคนที่ยังงงๆ เอาแบบอ่านรวดเดียวรู้เรื่อง โดยสรุปสิ่งที่จะเล่าวันนี้ก็คือวิธีการตั้งค่า Domain Name ของเราว่า ถ้าเข้ามาที่ชื่อนี้ ให้ไปเรียกหา Server ที่ไหนต่อนั่นเอง ซึ่งเดี๋ยวจะอธิบายถึงชนิดของ record ที่จำเป็นต้องรู้แต่ละอัน <a href="https://www.spicydog.org/blog/dns-server-for-basic/#more-557" class="more-link">Continue reading <span class="meta-nav">&rarr;</span></a></p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/computer/" rel="category tag">Computer</a>, <a href="https://www.spicydog.org/blog/category/computer/programming/" rel="category tag">Programming</a>, <a href="https://www.spicydog.org/blog/category/computer/software/" rel="category tag">Software</a>, <a href="https://www.spicydog.org/blog/category/computer/website/" rel="category tag">Website</a></span><span class="sep"> | </span><span class="tag-links"><span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> <a href="https://www.spicydog.org/blog/tag/cloudflare/" rel="tag">cloudflare</a>, <a href="https://www.spicydog.org/blog/tag/configuration/" rel="tag">configuration</a>, <a href="https://www.spicydog.org/blog/tag/dns/" rel="tag">dns</a>, <a href="https://www.spicydog.org/blog/tag/internet/" rel="tag">internet</a>, <a href="https://www.spicydog.org/blog/tag/server/" rel="tag">server</a>, <a href="https://www.spicydog.org/blog/tag/web/" rel="tag">web</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/dns-server-for-basic/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="557 https://www.spicydog.org/blog/?p=557"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><article id="post-398" class="post-398 post type-post status-publish format-standard hentry category-computer category-software category-website tag-https tag-lets-encrypt tag-nginx tag-ssl"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/lets-encrypt-with-nginx/" rel="bookmark">การตั้งค่า NGINX ให้ใช้กับ Let&#8217;s Encrypt</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/lets-encrypt-with-nginx/" title="11:58 pm" rel="bookmark"><time class="entry-date" datetime="2016-12-29T23:58:23+00:00">29 December 2016</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/lets-encrypt-with-nginx/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="398 https://www.spicydog.org/blog/?p=398"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p><img class="alignright size-full wp-image-542" src="https://cdn.spicydog.org/blog/content/uploads/2016/12/Screen-Shot-2016-12-29-at-11.32.40-PM.png" alt="" width="143" height="146" />ช่วงหลังๆ มานี่ปริมาณเว็บไซต์ที่ใช้ HTTPS เพิ่มขึ้นอย่างมาก ทั้งด้วยปัจจัยเรื่องความเป็นส่วนตัวของผู้ใช้ การแอบดักข้อมูลของรัฐบาล การที่คอมพิวเตอร์เซิร์ฟเวอร์มันเร็วขึ้นมากจนรองรับการเข้ารหัสกับผู้ใช้ทุกคนได้ จนไปถึง SSL ไม่ต้องเสียเงินอีกต่อไป ด้วยเหตุผลที่กล่าวมาข้างต้น ดังนั้นเว็บไซต์ยุคใหม่ควรจะปรับตัวและใช้ HTTPS ให้เรียบร้อยได้แล้ว วันนี้จึงจะมาสอนตั้งค่า NGINX ให้ได้ HTTPS สวยๆ แบบไม่ต้องเสียค่า Certificate สำหรับ SSL กัน แต่ก่อนอื่นต้องบอกว่านี่ไม่ใช่โพสที่จะสอนว่าเปิด Web Server ยังไงนะครับ นี่เป็นระดับผู้ที่ใช้งานเป็นแล้วพอสมควร <a href="https://www.spicydog.org/blog/lets-encrypt-with-nginx/#more-398" class="more-link">Continue reading <span class="meta-nav">&rarr;</span></a></p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/computer/" rel="category tag">Computer</a>, <a href="https://www.spicydog.org/blog/category/computer/software/" rel="category tag">Software</a>, <a href="https://www.spicydog.org/blog/category/computer/website/" rel="category tag">Website</a></span><span class="sep"> | </span><span class="tag-links"><span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> <a href="https://www.spicydog.org/blog/tag/https/" rel="tag">https</a>, <a href="https://www.spicydog.org/blog/tag/lets-encrypt/" rel="tag">let's encrypt</a>, <a href="https://www.spicydog.org/blog/tag/nginx/" rel="tag">nginx</a>, <a href="https://www.spicydog.org/blog/tag/ssl/" rel="tag">ssl</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/lets-encrypt-with-nginx/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="398 https://www.spicydog.org/blog/?p=398"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><article id="post-491" class="post-491 post type-post status-publish format-standard hentry category-experience category-general tag-diary tag-experience"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/what-i-have-done-in-2016/" rel="bookmark">สรุปสิ่งที่ได้ทำในปี 2016</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/what-i-have-done-in-2016/" title="11:53 pm" rel="bookmark"><time class="entry-date" datetime="2016-12-01T23:53:10+00:00">1 December 2016</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/what-i-have-done-in-2016/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="491 https://www.spicydog.org/blog/?p=491"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p><img class="alignright size-full wp-image-492" src="https://cdn.spicydog.org/blog/content/uploads/2016/12/Screen-Shot-2016-12-01-at-11.52.19-PM.png" alt="2016" width="180" height="180" srcset="https://cdn.spicydog.org/blog/content/uploads/2016/12/Screen-Shot-2016-12-01-at-11.52.19-PM.png 180w, https://cdn.spicydog.org/blog/content/uploads/2016/12/Screen-Shot-2016-12-01-at-11.52.19-PM-150x150.png 150w" sizes="(max-width: 180px) 100vw, 180px" />กำลังจะสิ้นปี 2016 แล้ว นึกกลับไปถึงตอนต้นปีแล้วรู้สึกตกใจมาก ปีนี้เป็นปีที่พาตัวเองมาไกลมากจริงๆ น่าจะเกิดจากการได้มาอยู่ในสภาพแวดล้อมที่เหมาะสมแก่การพัฒนาตนเองและเลขอายุที่มากขึ้นเป็นแรงกดดันให้บริหารเวลาให้ดีขึ้น ปีนี้เป็นปีที่มีการพัฒนาทั้งการศึกษาและทักษะความรู้มากมายพอสมควรเลย และเป็นปีที่ต้องบอกว่าเข้าสู่แวดวงนักวิชาการอย่างจริงจังแล้ว <a href="https://www.spicydog.org/blog/what-i-have-done-in-2016/#more-491" class="more-link">Continue reading <span class="meta-nav">&rarr;</span></a></p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/general/experience/" rel="category tag">Experience</a>, <a href="https://www.spicydog.org/blog/category/general/" rel="category tag">General</a></span><span class="sep"> | </span><span class="tag-links"><span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> <a href="https://www.spicydog.org/blog/tag/diary/" rel="tag">Diary</a>, <a href="https://www.spicydog.org/blog/tag/experience/" rel="tag">Experience</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/what-i-have-done-in-2016/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="491 https://www.spicydog.org/blog/?p=491"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><article id="post-480" class="post-480 post type-post status-publish format-standard hentry category-uncategorized"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/how-to-git-pull-from-outside-working-directory/" rel="bookmark">How to Git Pull from Outside Working Directory</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/how-to-git-pull-from-outside-working-directory/" title="11:45 am" rel="bookmark"><time class="entry-date" datetime="2016-10-27T11:45:22+00:00">27 October 2016</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/how-to-git-pull-from-outside-working-directory/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="480 https://www.spicydog.org/blog/?p=480"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p>This is most useful when you want automatic git pull, eg. cron crontab.</p><p>The old way: <span id="crayon-59a433ef43d91791185938" class="crayon-syntax crayon-syntax-inline crayon-theme-prism-like crayon-theme-prism-like-inline crayon-font-monaco" style="font-size: 12px !important; line-height: 15px !important;font-size: 12px !important;"><span class="crayon-pre crayon-code" style="font-size: 12px !important; line-height: 15px !important;font-size: 12px !important; -moz-tab-size:2; -o-tab-size:2; -webkit-tab-size:2; tab-size:2;"><span class="crayon-r">sh</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">c</span><span class="crayon-h"> </span><span class="crayon-s">"cd /path/to/working/directory &amp;&amp; git pull"</span></span></span></p><p>The new way: <span id="crayon-59a433ef43d99429636190" class="crayon-syntax crayon-syntax-inline crayon-theme-prism-like crayon-theme-prism-like-inline crayon-font-monaco" style="font-size: 12px !important; line-height: 15px !important;font-size: 12px !important;"><span class="crayon-pre crayon-code" style="font-size: 12px !important; line-height: 15px !important;font-size: 12px !important; -moz-tab-size:2; -o-tab-size:2; -webkit-tab-size:2; tab-size:2;"><span class="crayon-v">git</span><span class="crayon-h"> </span><span class="crayon-o">-</span><span class="crayon-i">C</span><span class="crayon-h"> </span><span class="crayon-s">"/path/to/working/directory"</span><span class="crayon-h"> </span><span class="crayon-v">pull</span></span></span></p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/uncategorized/" rel="category tag">Uncategorized</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/how-to-git-pull-from-outside-working-directory/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="480 https://www.spicydog.org/blog/?p=480"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><article id="post-474" class="post-474 post type-post status-publish format-standard hentry category-computer category-programming tag-laravel tag-nginx tag-rewrite tag-url"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/rewrite-laravel-url-when-not-in-root-path-with-nginx/" rel="bookmark">Rewrite Laravel URL when not in root path with NGINX</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/rewrite-laravel-url-when-not-in-root-path-with-nginx/" title="11:36 pm" rel="bookmark"><time class="entry-date" datetime="2016-10-01T23:36:03+00:00">1 October 2016</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/rewrite-laravel-url-when-not-in-root-path-with-nginx/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="474 https://www.spicydog.org/blog/?p=474"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p>In the most cases, we place the Laravel in the root path /.</p><p>As a result, the nginx configuration becomes</p><div id="crayon-59a433ef43efb524435127" class="crayon-syntax crayon-theme-prism-like crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;"><div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:2; -o-tab-size:2; -webkit-tab-size:2; tab-size:2; font-size: 12px !important; line-height: 15px !important;">
location / {
    try_files $uri $uri/ /index.php?$args;
}</textarea></div><div class="crayon-main" style=""><table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show"><div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-59a433ef43efb524435127-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-59a433ef43efb524435127-2">2</div><div class="crayon-num" data-line="crayon-59a433ef43efb524435127-3">3</div></div></td><td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:2; -o-tab-size:2; -webkit-tab-size:2; tab-size:2;"><div class="crayon-line" id="crayon-59a433ef43efb524435127-1"><span class="crayon-e">location</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-59a433ef43efb524435127-2"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-v">try</span><span class="crayon-sy">_</span>files<span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-i">uri</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-v">uri</span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">index</span><span class="crayon-sy">.</span><span class="crayon-v">php</span><span class="crayon-sy">?</span><span class="crayon-sy">$</span><span class="crayon-v">args</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="crayon-59a433ef43efb524435127-3"><span class="crayon-sy">}</span></div></div></td></tr></table></div></div><p>However, if we want to move Laravel inside other directories, we must also change the location directive along with the public/index.php file.</p><p>Let&#8217;s say we want to move to the /app directory. Then the location directive would become</p><div id="crayon-59a433ef43f04565660799" class="crayon-syntax crayon-theme-prism-like crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" style=" margin-top: 12px; margin-bottom: 12px; font-size: 12px !important; line-height: 15px !important;"><div class="crayon-plain-wrap"><textarea wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly style="-moz-tab-size:2; -o-tab-size:2; -webkit-tab-size:2; tab-size:2; font-size: 12px !important; line-height: 15px !important;">
location ~ ^/app/. {
    try_files /$uri $uri/ /app/index.php$is_args$args;
}</textarea></div><div class="crayon-main" style=""><table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show"><div class="crayon-nums-content" style="font-size: 12px !important; line-height: 15px !important;"><div class="crayon-num" data-line="crayon-59a433ef43f04565660799-1">1</div><div class="crayon-num crayon-striped-num" data-line="crayon-59a433ef43f04565660799-2">2</div><div class="crayon-num" data-line="crayon-59a433ef43f04565660799-3">3</div></div></td><td class="crayon-code"><div class="crayon-pre" style="font-size: 12px !important; line-height: 15px !important; -moz-tab-size:2; -o-tab-size:2; -webkit-tab-size:2; tab-size:2;"><div class="crayon-line" id="crayon-59a433ef43f04565660799-1"><span class="crayon-v">location</span><span class="crayon-h"> </span><span class="crayon-o">~</span><span class="crayon-h"> </span><span class="crayon-o">^</span><span class="crayon-o">/</span><span class="crayon-v">app</span><span class="crayon-o">/</span><span class="crayon-sy">.</span><span class="crayon-h"> </span><span class="crayon-sy">{</span></div><div class="crayon-line crayon-striped-line" id="crayon-59a433ef43f04565660799-2"><span class="crayon-h">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="crayon-v">try_files</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-sy">$</span><span class="crayon-i">uri</span><span class="crayon-h"> </span><span class="crayon-sy">$</span><span class="crayon-v">uri</span><span class="crayon-o">/</span><span class="crayon-h"> </span><span class="crayon-o">/</span><span class="crayon-v">app</span><span class="crayon-o">/</span><span class="crayon-v">index</span><span class="crayon-sy">.</span><span class="crayon-v">php</span><span class="crayon-sy">$</span><span class="crayon-v">is_args</span><span class="crayon-sy">$</span><span class="crayon-v">args</span><span class="crayon-sy">;</span></div><div class="crayon-line" id="crayon-59a433ef43f04565660799-3"><span class="crayon-sy">}</span></div></div></td></tr></table></div></div><p>Since nginx indicates the root path already, so we have to always refer from the root path.</p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/computer/" rel="category tag">Computer</a>, <a href="https://www.spicydog.org/blog/category/computer/programming/" rel="category tag">Programming</a></span><span class="sep"> | </span><span class="tag-links"><span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> <a href="https://www.spicydog.org/blog/tag/laravel/" rel="tag">laravel</a>, <a href="https://www.spicydog.org/blog/tag/nginx/" rel="tag">nginx</a>, <a href="https://www.spicydog.org/blog/tag/rewrite/" rel="tag">rewrite</a>, <a href="https://www.spicydog.org/blog/tag/url/" rel="tag">url</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/rewrite-laravel-url-when-not-in-root-path-with-nginx/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="474 https://www.spicydog.org/blog/?p=474"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><article id="post-460" class="post-460 post type-post status-publish format-standard hentry category-experience category-general category-knowledge category-misc tag-experience tag-management"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/how-to-manage-life-as-master-student/" rel="bookmark">เทคนิคการการดำเนินชีวิตที่ได้จากการเรียน ป.โท</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/how-to-manage-life-as-master-student/" title="6:05 am" rel="bookmark"><time class="entry-date" datetime="2016-09-06T06:05:40+00:00">6 September 2016</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/how-to-manage-life-as-master-student/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="460 https://www.spicydog.org/blog/?p=460"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p>วันนี้มาต่อกันอีกหนึ่งหัวข้อที่จะว่าสำคัญที่สุดก็เป็นได้ นั่นก็คือการบริการชีวิตการทำงานควบคู่กับการเรียนต่อให้มีประสิทธิภาพ อย่างที่ได้<a href="https://www.spicydog.org/blog/post/421">เล่าไปแล้ว</a>ว่าชีวิตการเรียนไปทำงานไปนั้นโหดร้ายเอาการ ดังนั้นการบริหารเวลาจึงเป็นสิ่งที่สำคัญมากๆ เพราะเรามีเวลา 24 ชั่วโมงเท่ากันทุกคน แต่ภาระหน้าที่มากกว่าคนอื่น จึงมีความจำเป็นต้องใช้เวลาให้มีประสิทธิภาพมากขึ้น การใช้เวลาให้มีประสิทธิภาพไม่ได้หมายความว่าจะต้องทำงานตลอดเวลางานจะได้เสร็จเร็วๆ แต่หมายถึงการรักษาสมดุลระหว่าง  3 สิ่ง ได้แก่ หน้าที่การงาน (รวมถึงเรื่องเรียน) ความสัมพันธ์ (ทั้งครอบครัวและแฟน) และสุดท้ายที่สำคัญที่สุดก็คือตัวเอง ก็มีอยู่หลายประเด็นที่จะต้องพิจารณา ว่าแล้วก็มาลุยกันเลยดีกว่า <a href="https://www.spicydog.org/blog/how-to-manage-life-as-master-student/#more-460" class="more-link">Continue reading <span class="meta-nav">&rarr;</span></a></p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/general/experience/" rel="category tag">Experience</a>, <a href="https://www.spicydog.org/blog/category/general/" rel="category tag">General</a>, <a href="https://www.spicydog.org/blog/category/knowledge/" rel="category tag">Knowledge</a>, <a href="https://www.spicydog.org/blog/category/knowledge/misc/" rel="category tag">Misc</a></span><span class="sep"> | </span><span class="tag-links"><span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> <a href="https://www.spicydog.org/blog/tag/experience/" rel="tag">Experience</a>, <a href="https://www.spicydog.org/blog/tag/management/" rel="tag">Management</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/how-to-manage-life-as-master-student/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="460 https://www.spicydog.org/blog/?p=460"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><article id="post-457" class="post-457 post type-post status-publish format-standard hentry category-blather category-experience category-general tag-experience tag-life tag-unluckly"><header class="entry-header"><h1 class="entry-title"><a href="https://www.spicydog.org/blog/august-23-the-busy-day/" rel="bookmark">23 สิงหาคม วันแห่งความสำเร็จที่ต้องทุ่มสุดตัว</a></h1><div class="entry-meta"><span class="sep">Posted on </span><a href="https://www.spicydog.org/blog/august-23-the-busy-day/" title="10:51 pm" rel="bookmark"><time class="entry-date" datetime="2016-08-23T22:51:24+00:00">23 August 2016</time></a><span class="by-author"> <span class="sep"> by </span> <span class="author vcard"><a class="url fn n" href="https://www.spicydog.org/blog/author/spicydog/" title="View all posts by spicydog" rel="author">spicydog</a></span></span></div><div class="comments-link"><a href="https://www.spicydog.org/blog/august-23-the-busy-day/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="457 https://www.spicydog.org/blog/?p=457"><span class="leave-reply">Reply</span></span></a></div></header><div class="entry-content"><p>วันนี้เป็นวันที่ค่อนข้างจะบ้าระห่ำ แต่ทำอะไรก็สำเร็จเช่นกัน จึงอยากจะจดบันทึกเอาไว้</p><p>เรื่องเกิดตั้งแต่ขับรถออกไป ม. เพื่อจะไปส่งเล่มวิทยานิพนธ์ที่แก้ไขเสร็จแล้ว ความจริงต้องซื้อแผ่น CD ก็เลยเข้า 7-11 หน้าคอนโด ปรากฏว่าไม่มีขายซะงั้น จำได้ว่าปรกติ 7-11 จะมี CD ขาย ก็ช่างมัน ต่อมาระหว่างขับมอเตอร์ไซค์ตลอดทั้งทางก็เจอทั้งรถเบียด ติดไฟแดงอย่างนาน ขับตามรถควันดำบนถนนที่แซงไม่ได้ เจอรถสิบล้อขวางบนถนนเล็กๆ ที่โค้งเยอะ แต่สุดท้ายก็ไปถึง ม. ได้โดยสวัสดิภาพ <a href="https://www.spicydog.org/blog/august-23-the-busy-day/#more-457" class="more-link">Continue reading <span class="meta-nav">&rarr;</span></a></p></div><footer class="entry-meta"><span class="cat-links"><span class="entry-utility-prep entry-utility-prep-cat-links">Posted in</span> <a href="https://www.spicydog.org/blog/category/general/blather/" rel="category tag">Blather</a>, <a href="https://www.spicydog.org/blog/category/general/experience/" rel="category tag">Experience</a>, <a href="https://www.spicydog.org/blog/category/general/" rel="category tag">General</a></span><span class="sep"> | </span><span class="tag-links"><span class="entry-utility-prep entry-utility-prep-tag-links">Tagged</span> <a href="https://www.spicydog.org/blog/tag/experience/" rel="tag">Experience</a>, <a href="https://www.spicydog.org/blog/tag/life/" rel="tag">life</a>, <a href="https://www.spicydog.org/blog/tag/unluckly/" rel="tag">Unluckly</a></span><span class="sep"> | </span><span class="comments-link"><a href="https://www.spicydog.org/blog/august-23-the-busy-day/#disqus_thread"><span class="dsq-postid" data-dsqidentifier="457 https://www.spicydog.org/blog/?p=457"><span class="leave-reply">Leave a reply</span></span></a></span></footer></article><nav id="nav-below"><h3 class="assistive-text">Post navigation</h3><div class="nav-previous"><a href="https://www.spicydog.org/blog/page/2/" ><span class="meta-nav">&larr;</span> Older posts</a></div><div class="nav-next"></div></nav></div></div><div id="secondary" class="widget-area" role="complementary"><aside id="text-4" class="widget widget_text"><div class="textwidget"></div></aside></div></div><footer id="colophon" role="contentinfo"><div id="supplementary" class="one"><div id="first" class="widget-area" role="complementary"><aside id="text-5" class="widget widget_text"><div class="textwidget"></div></aside><aside id="text-2" class="widget widget_text"><div class="textwidget"><center><a target="_blank" href='http://www.catb.org/hacker-emblem/'><img src='//cdn.spicydog.org/images/etc/glider-small.png' /></a></center></div></aside><aside id="text-6" class="widget widget_text"><div class="textwidget"><script>if(navigator.userAgent.indexOf("Speed Insights") == -1) {(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-3741762-1', 'spicydog.org');ga('send', 'pageview');}</script></div></aside></div></div><div id="site-generator"><div id="privacy-policy"> <a style="font-weight:400;" href="https://www.spicydog.org/blog/privacy-policy/">Privacy Policy</a></div><a href="https://wordpress.org/" title="Semantic Personal Publishing Platform">Proudly powered by WordPress</a></div></footer></div><div style="display:none"></div><script type='text/javascript'>
var WPGroHo = {"my_hash":""};
</script><script type='text/javascript'>_stq = window._stq || [];_stq.push([ 'view', {v:'ext',j:'1:5.2.1',blog:'91106372',post:'0',tz:'7',srv:'www.spicydog.org'} ]);_stq.push([ 'clickTrackerInit', '91106372', '0' ]);</script></body></html>
<!-- Dynamic page generated in 0.128 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2017-08-28 22:17:03 -->

<!-- Compression = gzip -->