CINXE.COM
Irregular Expression: January 2014
<!DOCTYPE html> <html class='v2' dir='ltr' lang='en'> <head> <link href='https://www.blogger.com/static/v1/widgets/3566091532-css_bundle_v2.css' rel='stylesheet' type='text/css'/> <meta content='width=1100' name='viewport'/> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/> <meta content='blogger' name='generator'/> <link href='http://blog.brentlaabs.com/favicon.ico' rel='icon' type='image/x-icon'/> <link href='http://blog.brentlaabs.com/2014/01/' rel='canonical'/> <link rel="alternate" type="application/atom+xml" title="Irregular Expression - Atom" href="http://blog.brentlaabs.com/feeds/posts/default" /> <link rel="alternate" type="application/rss+xml" title="Irregular Expression - RSS" href="http://blog.brentlaabs.com/feeds/posts/default?alt=rss" /> <link rel="service.post" type="application/atom+xml" title="Irregular Expression - Atom" href="https://www.blogger.com/feeds/1163079349106481731/posts/default" /> <!--Can't find substitution for tag [blog.ieCssRetrofitLinks]--> <meta content='http://blog.brentlaabs.com/2014/01/' property='og:url'/> <meta content='Irregular Expression' property='og:title'/> <meta content='Brent Laabs on programming and culture' property='og:description'/> <title>Irregular Expression: January 2014</title> <style id='page-skin-1' type='text/css'><!-- /* ----------------------------------------------- Blogger Template Style Name: Watermark Designer: Blogger URL: www.blogger.com ----------------------------------------------- */ /* Use this with templates/1ktemplate-*.html */ /* Content ----------------------------------------------- */ body { font: normal normal 14px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #333333; background: #c0a154 url(https://resources.blogblog.com/blogblog/data/1kt/watermark/body_background_birds.png) repeat scroll top left; } html body .content-outer { min-width: 0; max-width: 100%; width: 100%; } .content-outer { font-size: 92%; } a:link { text-decoration:none; color: #cc3300; } a:visited { text-decoration:none; color: #993322; } a:hover { text-decoration:underline; color: #ff3300; } .body-fauxcolumns .cap-top { margin-top: 30px; background: transparent url(https://resources.blogblog.com/blogblog/data/1kt/watermark/body_overlay_birds.png) no-repeat scroll top right; height: 121px; } .content-inner { padding: 0; } /* Header ----------------------------------------------- */ .header-inner .Header .titlewrapper, .header-inner .Header .descriptionwrapper { padding-left: 20px; padding-right: 20px; } .Header h1 { font: normal normal 60px Georgia, Utopia, 'Palatino Linotype', Palatino, serif; color: #ffffff; text-shadow: 2px 2px rgba(0, 0, 0, .1); } .Header h1 a { color: #ffffff; } .Header .description { font-size: 140%; color: #997755; } /* Tabs ----------------------------------------------- */ .tabs-inner .section { margin: 0 20px; } .tabs-inner .PageList, .tabs-inner .LinkList, .tabs-inner .Labels { margin-left: -11px; margin-right: -11px; background-color: transparent; border-top: 0 solid #ffffff; border-bottom: 0 solid #ffffff; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .3); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .3); -goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .3); box-shadow: 0 0 0 rgba(0, 0, 0, .3); } .tabs-inner .PageList .widget-content, .tabs-inner .LinkList .widget-content, .tabs-inner .Labels .widget-content { margin: -3px -11px; background: transparent none no-repeat scroll right; } .tabs-inner .widget ul { padding: 2px 25px; max-height: 34px; background: transparent none no-repeat scroll left; } .tabs-inner .widget li { border: none; } .tabs-inner .widget li a { display: inline-block; padding: .25em 1em; font: normal normal 20px Georgia, Utopia, 'Palatino Linotype', Palatino, serif; color: #cc3300; border-right: 1px solid #c0a154; } .tabs-inner .widget li:first-child a { border-left: 1px solid #c0a154; } .tabs-inner .widget li.selected a, .tabs-inner .widget li a:hover { color: #000000; } /* Headings ----------------------------------------------- */ h2 { font: normal normal 20px Georgia, Utopia, 'Palatino Linotype', Palatino, serif; color: #000000; margin: 0 0 .5em; } h2.date-header { font: normal normal 16px Arial, Tahoma, Helvetica, FreeSans, sans-serif; color: #997755; } /* Main ----------------------------------------------- */ .main-inner .column-center-inner, .main-inner .column-left-inner, .main-inner .column-right-inner { padding: 0 5px; } .main-outer { margin-top: 0; background: transparent none no-repeat scroll top left; } .main-inner { padding-top: 30px; } .main-cap-top { position: relative; } .main-cap-top .cap-right { position: absolute; height: 0; width: 100%; bottom: 0; background: transparent none repeat-x scroll bottom center; } .main-cap-top .cap-left { position: absolute; height: 245px; width: 280px; right: 0; bottom: 0; background: transparent none no-repeat scroll bottom left; } /* Posts ----------------------------------------------- */ .post-outer { padding: 15px 20px; margin: 0 0 25px; background: transparent url(https://resources.blogblog.com/blogblog/data/1kt/watermark/post_background_birds.png) repeat scroll top left; _background-image: none; border: dotted 1px #ccbb99; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .1); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .1); -goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .1); box-shadow: 0 0 0 rgba(0, 0, 0, .1); } h3.post-title { font: normal normal 30px Georgia, Utopia, 'Palatino Linotype', Palatino, serif; margin: 0; } .comments h4 { font: normal normal 30px Georgia, Utopia, 'Palatino Linotype', Palatino, serif; margin: 1em 0 0; } .post-body { font-size: 105%; line-height: 1.5; position: relative; } .post-header { margin: 0 0 1em; color: #997755; } .post-footer { margin: 10px 0 0; padding: 10px 0 0; color: #997755; border-top: dashed 1px #777777; } #blog-pager { font-size: 140% } #comments .comment-author { padding-top: 1.5em; border-top: dashed 1px #777777; background-position: 0 1.5em; } #comments .comment-author:first-child { padding-top: 0; border-top: none; } .avatar-image-container { margin: .2em 0 0; } /* Comments ----------------------------------------------- */ .comments .comments-content .icon.blog-author { background-repeat: no-repeat; background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEgAACxIB0t1+/AAAAAd0SU1FB9sLFwMeCjjhcOMAAAD+SURBVDjLtZSvTgNBEIe/WRRnm3U8RC1neQdsm1zSBIU9VVF1FkUguQQsD9ITmD7ECZIJSE4OZo9stoVjC/zc7ky+zH9hXwVwDpTAWWLrgS3QAe8AZgaAJI5zYAmc8r0G4AHYHQKVwII8PZrZFsBFkeRCABYiMh9BRUhnSkPTNCtVXYXURi1FpBDgArj8QU1eVXUzfnjv7yP7kwu1mYrkWlU33vs1QNu2qU8pwN0UpKoqokjWwCztrMuBhEhmh8bD5UDqur75asbcX0BGUB9/HAMB+r32hznJgXy2v0sGLBcyAJ1EK3LFcbo1s91JeLwAbwGYu7TP/3ZGfnXYPgAVNngtqatUNgAAAABJRU5ErkJggg==); } .comments .comments-content .loadmore a { border-top: 1px solid #777777; border-bottom: 1px solid #777777; } .comments .continue { border-top: 2px solid #777777; } /* Widgets ----------------------------------------------- */ .widget ul, .widget #ArchiveList ul.flat { padding: 0; list-style: none; } .widget ul li, .widget #ArchiveList ul.flat li { padding: .35em 0; text-indent: 0; border-top: dashed 1px #777777; } .widget ul li:first-child, .widget #ArchiveList ul.flat li:first-child { border-top: none; } .widget .post-body ul { list-style: disc; } .widget .post-body ul li { border: none; } .widget .zippy { color: #777777; } .post-body img, .post-body .tr-caption-container, .Profile img, .Image img, .BlogList .item-thumbnail img { padding: 5px; background: #fff; -moz-box-shadow: 1px 1px 5px rgba(0, 0, 0, .5); -webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, .5); -goog-ms-box-shadow: 1px 1px 5px rgba(0, 0, 0, .5); box-shadow: 1px 1px 5px rgba(0, 0, 0, .5); } .post-body img, .post-body .tr-caption-container { padding: 8px; } .post-body .tr-caption-container { color: #333333; } .post-body .tr-caption-container img { padding: 0; background: transparent; border: none; -moz-box-shadow: 0 0 0 rgba(0, 0, 0, .1); -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, .1); -goog-ms-box-shadow: 0 0 0 rgba(0, 0, 0, .1); box-shadow: 0 0 0 rgba(0, 0, 0, .1); } /* Footer ----------------------------------------------- */ .footer-outer { color:#ccbb99; background: #330000 url(https://resources.blogblog.com/blogblog/data/1kt/watermark/body_background_navigator.png) repeat scroll top left; } .footer-outer a { color: #ff7755; } .footer-outer a:visited { color: #dd5533; } .footer-outer a:hover { color: #ff9977; } .footer-outer .widget h2 { color: #eeddbb; } /* Mobile ----------------------------------------------- */ body.mobile { background-size: 100% auto; } .mobile .body-fauxcolumn-outer { background: transparent none repeat scroll top left; } html .mobile .mobile-date-outer { border-bottom: none; background: transparent url(https://resources.blogblog.com/blogblog/data/1kt/watermark/post_background_birds.png) repeat scroll top left; _background-image: none; margin-bottom: 10px; } .mobile .main-inner .date-outer { padding: 0; } .mobile .main-inner .date-header { margin: 10px; } .mobile .main-cap-top { z-index: -1; } .mobile .content-outer { font-size: 100%; } .mobile .post-outer { padding: 10px; } .mobile .main-cap-top .cap-left { background: transparent none no-repeat scroll bottom left; } .mobile .body-fauxcolumns .cap-top { margin: 0; } .mobile-link-button { background: transparent url(https://resources.blogblog.com/blogblog/data/1kt/watermark/post_background_birds.png) repeat scroll top left; } .mobile-link-button a:link, .mobile-link-button a:visited { color: #cc3300; } .mobile-index-date .date-header { color: #997755; } .mobile-index-contents { color: #333333; } .mobile .tabs-inner .section { margin: 0; } .mobile .tabs-inner .PageList { margin-left: 0; margin-right: 0; } .mobile .tabs-inner .PageList .widget-content { margin: 0; color: #000000; background: transparent url(https://resources.blogblog.com/blogblog/data/1kt/watermark/post_background_birds.png) repeat scroll top left; } .mobile .tabs-inner .PageList .widget-content .pagelist-arrow { border-left: 1px solid #c0a154; } .striped-table .odd { background-color: #DCCBA1; } --></style> <style id='template-skin-1' type='text/css'><!-- body { min-width: 960px; } .content-outer, .content-fauxcolumn-outer, .region-inner { min-width: 960px; max-width: 960px; _width: 960px; } .main-inner .columns { padding-left: 0px; padding-right: 310px; } .main-inner .fauxcolumn-center-outer { left: 0px; right: 310px; /* IE6 does not respect left and right together */ _width: expression(this.parentNode.offsetWidth - parseInt("0px") - parseInt("310px") + 'px'); } .main-inner .fauxcolumn-left-outer { width: 0px; } .main-inner .fauxcolumn-right-outer { width: 310px; } .main-inner .column-left-outer { width: 0px; right: 100%; margin-left: -0px; } .main-inner .column-right-outer { width: 310px; margin-right: -310px; } #layout { min-width: 0; } #layout .content-outer { min-width: 0; width: 800px; } #layout .region-inner { min-width: 0; width: auto; } body#layout div.add_widget { padding: 8px; } body#layout div.add_widget a { margin-left: 32px; } --></style> <link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=1163079349106481731&zx=c92d9171-713d-414c-963f-50bec28b445b' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://www.blogger.com/dyn-css/authorization.css?targetBlogID=1163079349106481731&zx=c92d9171-713d-414c-963f-50bec28b445b' rel='stylesheet'/></noscript> <meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/> <meta name='google-adsense-platform-domain' content='blogspot.com'/> </head> <body class='loading variant-birds'> <div class='navbar section' id='navbar' name='Navbar'><div class='widget Navbar' data-version='1' id='Navbar1'><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/platform.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar/1163079349106481731?origin\x3dhttp://blog.brentlaabs.com', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script><script type="text/javascript"> (function() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = '//pagead2.googlesyndication.com/pagead/js/google_top_exp.js'; var head = document.getElementsByTagName('head')[0]; if (head) { head.appendChild(script); }})(); </script> </div></div> <div class='body-fauxcolumns'> <div class='fauxcolumn-outer body-fauxcolumn-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </div> <div class='content'> <div class='content-fauxcolumns'> <div class='fauxcolumn-outer content-fauxcolumn-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </div> <div class='content-outer'> <div class='content-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left content-fauxborder-left'> <div class='fauxborder-right content-fauxborder-right'></div> <div class='content-inner'> <header> <div class='header-outer'> <div class='header-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left header-fauxborder-left'> <div class='fauxborder-right header-fauxborder-right'></div> <div class='region-inner header-inner'> <div class='header section' id='header' name='Header'><div class='widget Header' data-version='1' id='Header1'> <div id='header-inner'> <div class='titlewrapper'> <h1 class='title'> <a href='http://blog.brentlaabs.com/'> Irregular Expression </a> </h1> </div> <div class='descriptionwrapper'> <p class='description'><span>Brent Laabs on programming and culture</span></p> </div> </div> </div></div> </div> </div> <div class='header-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </header> <div class='tabs-outer'> <div class='tabs-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left tabs-fauxborder-left'> <div class='fauxborder-right tabs-fauxborder-right'></div> <div class='region-inner tabs-inner'> <div class='tabs no-items section' id='crosscol' name='Cross-Column'></div> <div class='tabs no-items section' id='crosscol-overflow' name='Cross-Column 2'></div> </div> </div> <div class='tabs-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <div class='main-outer'> <div class='main-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left main-fauxborder-left'> <div class='fauxborder-right main-fauxborder-right'></div> <div class='region-inner main-inner'> <div class='columns fauxcolumns'> <div class='fauxcolumn-outer fauxcolumn-center-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <div class='fauxcolumn-outer fauxcolumn-left-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <div class='fauxcolumn-outer fauxcolumn-right-outer'> <div class='cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left'> <div class='fauxborder-right'></div> <div class='fauxcolumn-inner'> </div> </div> <div class='cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <!-- corrects IE6 width calculation --> <div class='columns-inner'> <div class='column-center-outer'> <div class='column-center-inner'> <div class='main section' id='main' name='Main'><div class='widget Blog' data-version='1' id='Blog1'> <div class='blog-posts hfeed'> <div class="date-outer"> <h2 class='date-header'><span>Wednesday, January 1, 2014</span></h2> <div class="date-posts"> <div class='post-outer'> <div class='post hentry uncustomized-post-template' itemprop='blogPost' itemscope='itemscope' itemtype='http://schema.org/BlogPosting'> <meta content='1163079349106481731' itemprop='blogId'/> <meta content='1586096610639970993' itemprop='postId'/> <a name='1586096610639970993'></a> <h3 class='post-title entry-title' itemprop='name'> <a href='http://blog.brentlaabs.com/2014/01/first-sunrise-2014.html'>First Sunrise 2014</a> </h3> <div class='post-header'> <div class='post-header-line-1'></div> </div> <div class='post-body entry-content' id='post-body-1586096610639970993' itemprop='description articleBody'> This is the second entry in my series on watching the first sunrise of the year, which is known as <i>Hatsuhi no De</i> (初日の出, "first day's rising"), or simply <i>hatsuhi</i>. <a href="http://blog.brentlaabs.com/2013/12/first-sunrise-2012.html">Last year</a>, I tried out the ritual just as kind of a curiosity, but I thought it might be interesting to repeat this year as well. And I think I just may have learned something new.<br /> <br /> Being a habitual night owl, I woke up this morning to the sound of the alarm on my new iPhone. Last year, I used an old, original model iPhone, but my new job bought me a shiny new gold smartphone as part of the hiring package. This might seem like bragging, but it's actually an important part of the story.<br /> <br /> I pulled on some warm clothes, I had set aside last night, went outside, and scrambled once again up the ladder unto the roof. Unlike last year, this New Year's was a beautiful day, with a clear blue sky and nothing but the faintest wisps of cirriform clouds draped over the horizon. The weak Santa Ana winds of the past week had done their job, making me feel quite comfortable, even on the cold black roof.<br /> <br /> I looked to the south first, and paused to recognize that the giant ficus tree I mentioned last year is truly gone. A bowl of green tilted towards the afternoon sun, it had stood nearly six stories tall. The Friday before Christmas, a crew came and trimmed the tree down to a mere Mohawk-cut of leaves; they returned the following Monday to finish the job, working into the evening to remove even the stump. All that effort from sixty years of growth, gone in mere days, shredded into tiny chunks.<br /> <br /> And in the place of the giant tree, there was a void. It revealed small houses, small cars, and the tiniest bit more ocean view -- but mostly, empty sky. The crows that had been my companions the first time remained distant, their home destroyed by the saw. My closest companion this year was a lone pigeon, but he seemed interested in neither me nor the sunrise, and soon flapped away.<br /> <br /> The world, however, was still coming alive. I could hear plenty of crows' calls and finches' tweets all around. And the first few people started walking past, into the calm morning dawn. However, it was still quiet at my neighbor's, where the remains of last night's party littered the concrete-capped courtyard.<br /> <br /> Another neighbor had a mural painted on his backyard fence, and from this angle I could see the edge of the blue sky and verdant hills in the image. This couldn't be a bigger contrast to the actual hills to the north, which remain a stubborn, unseasonable brown, the result of three years of drought.<br /> <br /> Part of the hills were masked by brand-new, six-story structure of steel beams, with white work lights glowing dimly on four of the floors. The uppermost beam bears an American flag and a rather beaten-up Christmas tree, while another beam proudly proclaims in spray-painted letters, "HAPPY BIRTHDAY BABY OWEN".<br /> <br /> The building is still new enough that I can see through to the brown hillside behind, but I know that this can't last. Last year, the space was nothing but empty air; this year it is a bustling construction zone. Next year, it will be a new wing of a hospital. And every day will bring new stories to the building, of illnesses treated, lives saved, and lives lost. What was empty space will become a place where people get a new start on life, or will have to grieve for their loved ones.<br /> <br /> It is not that place yet. But as I took my first look around in the morning twilight, I couldn't help but be struck by how different things looked. Here I was, standing on the same roof in the same place, exactly one year ago, but the world around had changed. And in my own pocket was an iPhone, a token showing how much I had changed too. Brent the NEET had been transformed into Brent the Salaryman. And just like that hospital, I would continue to change.<br /> <br /> Even nature itself never stops changing -- the hills behind the hospital began to pick up patches of light and shadow. The sun was coming up, for real this time.<br /> <br /> Out of the northwest, a jet passed directly over my head (though I didn't notice the extra weight on my head). And in its wake, it left a lone contrail, a single straight line clear across the entire sky. And as the plane flew into the southwest, the Sun just began to peek over the mountains, with the first direct rays filtering through a star pine.<br /> <br /> And as the Sun rose to assume its full sphere, I let out a little cry of joy. I had seen the first sunrise this time! I had made it to this point in time and space once again, and there's something beautiful about that.<br /> <br /> I lingered a little longer, looking at the world bisected by the contrail. The lost giant tree and long shadows lingered to the southwest; the new hospital, drought-parched hills, and the rising sun lied in the northeast hemisphere. And here I was in the middle of it, my world divided in twain at the new year.<br /> <br /> It was clear I had only one way to go. And that was back towards the "past", because I sure as hell wasn't going to get off the roof without a ladder.<br /> <br /> Just as before, I crawled back into bed, and began to ponder what I had seen. Now, I finally get the point of staying up this early to see the first morning sun. I saw a reflection of Japanese concept of <i>mono no aware</i> (物の哀れ), the awareness of the impermanence of things. Sometimes, it's important to reflect on past and how things are always changing, and this ritual is but one way.<br /> <br /> Some changes are good, some are bad, but we must go on. The tree is lost, but the crows of last year, Phobos and Deimos, have hopefully found a new home. I've lost much of my free time, but found an excellent job. And somewhere out there, eventually, Baby Owen is going to have the time of his life. <div style='clear: both;'></div> </div> <div class='post-footer'> <div class='post-footer-line post-footer-line-1'> <span class='post-author vcard'> Posted by <span class='fn' itemprop='author' itemscope='itemscope' itemtype='http://schema.org/Person'> <meta content='https://www.blogger.com/profile/17518100165641296059' itemprop='url'/> <a class='g-profile' href='https://www.blogger.com/profile/17518100165641296059' rel='author' title='author profile'> <span itemprop='name'>Brent Laabs</span> </a> </span> </span> <span class='post-timestamp'> at <meta content='http://blog.brentlaabs.com/2014/01/first-sunrise-2014.html' itemprop='url'/> <a class='timestamp-link' href='http://blog.brentlaabs.com/2014/01/first-sunrise-2014.html' rel='bookmark' title='permanent link'><abbr class='published' itemprop='datePublished' title='2014-01-01T18:06:00-08:00'>6:06 PM</abbr></a> </span> <span class='post-comment-link'> <a class='comment-link' href='http://blog.brentlaabs.com/2014/01/first-sunrise-2014.html#comment-form' onclick=''> No comments: </a> </span> <span class='post-icons'> <span class='item-control blog-admin pid-758962430'> <a href='https://www.blogger.com/post-edit.g?blogID=1163079349106481731&postID=1586096610639970993&from=pencil' title='Edit Post'> <img alt='' class='icon-action' height='18' src='https://resources.blogblog.com/img/icon18_edit_allbkg.gif' width='18'/> </a> </span> </span> <div class='post-share-buttons goog-inline-block'> </div> </div> <div class='post-footer-line post-footer-line-2'> <span class='post-labels'> Labels: <a href='http://blog.brentlaabs.com/search/label/2014' rel='tag'>2014</a>, <a href='http://blog.brentlaabs.com/search/label/hatsuhi' rel='tag'>hatsuhi</a>, <a href='http://blog.brentlaabs.com/search/label/mono%20no%20aware' rel='tag'>mono no aware</a> </span> </div> <div class='post-footer-line post-footer-line-3'> <span class='post-location'> </span> </div> </div> </div> </div> </div></div> </div> <div class='blog-pager' id='blog-pager'> <span id='blog-pager-newer-link'> <a class='blog-pager-newer-link' href='http://blog.brentlaabs.com/' id='Blog1_blog-pager-newer-link' title='Newer Posts'>Newer Posts</a> </span> <span id='blog-pager-older-link'> <a class='blog-pager-older-link' href='http://blog.brentlaabs.com/search?updated-max=2014-01-01T18:06:00-08:00&max-results=7' id='Blog1_blog-pager-older-link' title='Older Posts'>Older Posts</a> </span> <a class='home-link' href='http://blog.brentlaabs.com/'>Home</a> </div> <div class='clear'></div> <div class='blog-feeds'> <div class='feed-links'> Subscribe to: <a class='feed-link' href='http://blog.brentlaabs.com/feeds/posts/default' target='_blank' type='application/atom+xml'>Posts (Atom)</a> </div> </div> </div></div> </div> </div> <div class='column-left-outer'> <div class='column-left-inner'> <aside> </aside> </div> </div> <div class='column-right-outer'> <div class='column-right-inner'> <aside> <div class='sidebar section' id='sidebar-right-1'><div class='widget BlogArchive' data-version='1' id='BlogArchive1'> <h2>Blog Archive</h2> <div class='widget-content'> <div id='ArchiveList'> <div id='BlogArchive1_ArchiveList'> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2018/'> 2018 </a> <span class='post-count' dir='ltr'>(1)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2018/01/'> January </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2017/'> 2017 </a> <span class='post-count' dir='ltr'>(1)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2017/01/'> January </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2015/'> 2015 </a> <span class='post-count' dir='ltr'>(2)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2015/11/'> November </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2015/05/'> May </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> ▼  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2014/'> 2014 </a> <span class='post-count' dir='ltr'>(2)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2014/02/'> February </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate expanded'> <a class='toggle' href='javascript:void(0)'> <span class='zippy toggle-open'> ▼  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2014/01/'> January </a> <span class='post-count' dir='ltr'>(1)</span> <ul class='posts'> <li><a href='http://blog.brentlaabs.com/2014/01/first-sunrise-2014.html'>First Sunrise 2014</a></li> </ul> </li> </ul> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2013/'> 2013 </a> <span class='post-count' dir='ltr'>(10)</span> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2013/12/'> December </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2013/07/'> July </a> <span class='post-count' dir='ltr'>(1)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2013/06/'> June </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2013/05/'> May </a> <span class='post-count' dir='ltr'>(3)</span> </li> </ul> <ul class='hierarchy'> <li class='archivedate collapsed'> <a class='toggle' href='javascript:void(0)'> <span class='zippy'> ►  </span> </a> <a class='post-count-link' href='http://blog.brentlaabs.com/2013/04/'> April </a> <span class='post-count' dir='ltr'>(2)</span> </li> </ul> </li> </ul> </div> </div> <div class='clear'></div> </div> </div><div class='widget Profile' data-version='1' id='Profile1'> <h2>About Me</h2> <div class='widget-content'> <dl class='profile-datablock'> <dt class='profile-data'> <a class='profile-name-link g-profile' href='https://www.blogger.com/profile/17518100165641296059' rel='author' style='background-image: url(//www.blogger.com/img/logo-16.png);'> Brent Laabs </a> </dt> <dd class='profile-data'>Ventura, California, United States</dd> <dd class='profile-textblock'>Programmer, writer, gamer, analyst, anime watcher, and wiki editor.</dd> </dl> <a class='profile-link' href='https://www.blogger.com/profile/17518100165641296059' rel='author'>View my complete profile</a> <div class='clear'></div> </div> </div></div> </aside> </div> </div> </div> <div style='clear: both'></div> <!-- columns --> </div> <!-- main --> </div> </div> <div class='main-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> <footer> <div class='footer-outer'> <div class='footer-cap-top cap-top'> <div class='cap-left'></div> <div class='cap-right'></div> </div> <div class='fauxborder-left footer-fauxborder-left'> <div class='fauxborder-right footer-fauxborder-right'></div> <div class='region-inner footer-inner'> <div class='foot no-items section' id='footer-1'></div> <table border='0' cellpadding='0' cellspacing='0' class='section-columns columns-2'> <tbody> <tr> <td class='first columns-cell'> <div class='foot no-items section' id='footer-2-1'></div> </td> <td class='columns-cell'> <div class='foot no-items section' id='footer-2-2'></div> </td> </tr> </tbody> </table> <!-- outside of the include in order to lock Attribution widget --> <div class='foot section' id='footer-3' name='Footer'><div class='widget Attribution' data-version='1' id='Attribution1'> <div class='widget-content' style='text-align: center;'> Watermark theme. Powered by <a href='https://www.blogger.com' target='_blank'>Blogger</a>. </div> <div class='clear'></div> </div></div> </div> </div> <div class='footer-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </footer> <!-- content --> </div> </div> <div class='content-cap-bottom cap-bottom'> <div class='cap-left'></div> <div class='cap-right'></div> </div> </div> </div> <script type='text/javascript'> window.setTimeout(function() { document.body.className = document.body.className.replace('loading', ''); }, 10); </script> <script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/2563766527-widgets.js"></script> <script type='text/javascript'> window['__wavt'] = 'AOuZoY7poYSWHgk9lbhtW3BqrRvFAX7eYg:1747229511050';_WidgetManager._Init('//www.blogger.com/rearrange?blogID\x3d1163079349106481731','//blog.brentlaabs.com/2014/01/','1163079349106481731'); _WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '1163079349106481731', 'title': 'Irregular Expression', 'url': 'http://blog.brentlaabs.com/2014/01/', 'canonicalUrl': 'http://blog.brentlaabs.com/2014/01/', 'homepageUrl': 'http://blog.brentlaabs.com/', 'searchUrl': 'http://blog.brentlaabs.com/search', 'canonicalHomepageUrl': 'http://blog.brentlaabs.com/', 'blogspotFaviconUrl': 'http://blog.brentlaabs.com/favicon.ico', 'bloggerUrl': 'https://www.blogger.com', 'hasCustomDomain': true, 'httpsEnabled': false, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': '', 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Irregular Expression - Atom\x22 href\x3d\x22http://blog.brentlaabs.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Irregular Expression - RSS\x22 href\x3d\x22http://blog.brentlaabs.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Irregular Expression - Atom\x22 href\x3d\x22https://www.blogger.com/feeds/1163079349106481731/posts/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/587e54c231041293', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': false, 'jumpLinkMessage': 'Read more', 'pageType': 'archive', 'pageName': 'January 2014', 'pageTitle': 'Irregular Expression: January 2014'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'Watermark', 'localizedName': 'Watermark', 'isResponsive': false, 'isAlternateRendering': false, 'isCustom': false, 'variant': 'birds', 'variantId': 'birds'}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Irregular Expression', 'description': 'Brent Laabs on programming and culture', 'url': 'http://blog.brentlaabs.com/2014/01/', 'type': 'feed', 'isSingleItem': false, 'isMultipleItems': true, 'isError': false, 'isPage': false, 'isPost': false, 'isHomepage': false, 'isArchive': true, 'isLabelSearch': false, 'archive': {'year': 2014, 'month': 1, 'rangeMessage': 'Showing posts from January, 2014'}}}]); _WidgetManager._RegisterWidget('_NavbarView', new _WidgetInfo('Navbar1', 'navbar', document.getElementById('Navbar1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'main', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/2487999795-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/3681588378-lightbox_bundle.css'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar-right-1', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull')); _WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar-right-1', document.getElementById('Profile1'), {}, 'displayModeFull')); _WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer-3', document.getElementById('Attribution1'), {}, 'displayModeFull')); </script> </body> </html>