diff --git a/about.md b/about.md
new file mode 100644
index 0000000..a3d9354
--- /dev/null
+++ b/about.md
@@ -0,0 +1,15 @@
+---
+title: About This Site
+date: 2020-07-24
+layout: page
+slug: about-this-site
+
+---
+
+This site is built with [Gulp](https://gulpjs.com) and [Eleventy](https://www.11ty.dev) and served via [nginx](https://www.nginx.org) on [Ubuntu](https://ubuntu.com). It is written with [vim](https://www.vim.org).
+
+I'm working on [indieweb](https://indieweb.org) compatibility.
+
+The header image was taken by me, at the [Botanical Gardens at Asheville](https://ashevillebotanicalgardens.org). Just out of frame are my children, running in circles hollering at each other about Voldemort. Isn't that butterfly just *so* peaceful? The sidebar image of me is not my creation, and while I have permission to use it, you do not have permission to reproduce or distribute it.
+
+All of my content and code here, unless otherwise noted, is licensed under the Cooperative Non-violent Public License v4+ (CNPLv4+). View the [license text here](/license.txt) or its [official website](https://thufie.lain.haus/NPL.html). If you're interested in alternative licensing (for commercial use, for example), [email me](mailto:noah@nthall.com).
diff --git a/css/style.css b/css/style.css
index 62566ee..3ba7a2f 100644
--- a/css/style.css
+++ b/css/style.css
@@ -1 +1 @@
-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,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}h1{font-size:2em}a,p,span,div{font-size:14px}a{color:#268bd2}a::visited{color:#6c71c4}a::hover{text-decoration:none}.space{color:rgba(0,0,0,0);-webkit-background-clip:text;background-clip:text;background-image:url("/static/rad_nebula.jpg");background-position:center}@media (prefers-color-scheme: light){body{background-color:#fdf6e3;color:#657b83}a::selection,p::selection,h1::selection,h2::selection,h3::selection,h4::selection,h5::selection,h6::selection,span::selection,em::selection,kbd::selection,li::selection,i::selection,b::selection{background-color:#eee8d5}code::selection{background-color:#657b83}}@media (prefers-color-scheme: dark){body{background-color:#002b36;color:#839496}a::selection,p::selection,h1::selection,h2::selection,h3::selection,h4::selection,h5::selection,h6::selection,span::selection,em::selection,kbd::selection,li::selection,i::selection,b::selection,code::selection{background-color:#073642}code::selection{background-color:#002b36}}div.thumb-container{display:flex;flex-direction:row;padding-top:1em;position:relative;flex-wrap:wrap}div.thumbnail{max-width:240px;flex:1 1 20px;padding:1em}div.thumbnail img{max-width:100%}div.carousel{border-radius:.5em}@media (prefers-color-scheme: light){div.carousel{background-color:rgba(253,246,227,0.75)}}@media (prefers-color-scheme: dark){div.carousel{background-color:rgba(0,43,54,0.75)}}div.carousel div.next,div.carousel div.prev{border-radius:2em}@media (prefers-color-scheme: light){div.carousel div.next:focus,div.carousel div.prev:focus{background-color:rgba(42,161,152,0.75)}div.carousel div.next:focus span,div.carousel div.prev:focus span{color:#fdf6e3}}@media (prefers-color-scheme: dark){div.carousel div.next:focus,div.carousel div.prev:focus{background-color:rgba(42,161,152,0.75)}div.carousel div.next:focus span,div.carousel div.prev:focus span{color:#002b36}}div.carousel div.next span,div.carousel div.prev span{color:#2aa198;size:4em}body{min-height:480px;font-size:20px;line-height:24px;padding-bottom:1.5em;position:relative}a,p,span,div{font-size:16px;line-height:24px}code,kbd{border:1px solid;padding:2px;border-radius:5px;font-family:monospace}@media (prefers-color-scheme: dark){code,kbd{background-color:#073642;border-color:#657b83;color:#93a1a1}}@media (prefers-color-scheme: light){code,kbd{border-color:#839496;background-color:#eee8d5;color:#586e75}}h1{font-size:2em}h2{font-size:1.8em}h3{font-size:1.6em}h4{font-size:1.4em}h5{font-size:1.3em}h6{font-size:1.2em}h1,h2,h3,h4,h5,h6{line-height:3rem}i,em{font-style:italic}.container{display:flex;flex-direction:row;padding-top:2em;position:relative}main{flex:3 1 70%;margin-left:6em;padding-right:1.5em;width:30px;order:1;height:100%}main article p{margin-bottom:.5em;text-indent:1.5em}#sidebar{flex:1 6 25%;width:30px;order:2;padding-left:1em;height:100% p;height-margin-bottom:.5em}@media (prefers-color-scheme: light){#sidebar{border-left:1px dashed #839496}}@media (prefers-color-scheme: dark){#sidebar{border-left:1px dashed #657b83}}#sidebar ul{margin-bottom:.5em}#sidebar ul li{list-style-type:none;margin-left:1rem}header{height:12em;background-image:url("/img/rad_nebula.jpg");background-size:cover;background-position:center;padding-top:3em;text-align:center}header .title-wrap{padding-top:4em}header h1>a{font-size:2em;text-decoration:none}header h2{font-size:2em}header #nav{margin:0}header #nav ul li{float:left;display:inline;list-style-type:none}header #nav ul li:after{clear:both}footer{width:100%;margin:0px 0px .5em 0px;position:absolute;bottom:0px;clear:both}footer *{display:block;margin:auto;width:max-content}.title-wrap{border-radius:.5em;width:40%;margin-left:30%;padding:3em 1em}@media (prefers-color-scheme: light){.title-wrap{background-color:rgba(253,246,227,0.75)}}@media (prefers-color-scheme: dark){.title-wrap{background-color:rgba(0,43,54,0.75)}}ol{list-style-type:decimal;list-style-position:inside;line-height:2rem;margin-left:1.5em}ul.menu li{display:inline-block;margin:1em .5em}ul.menu li a{color:#d33682;text-decoration:none}.post-date{font-style:italic;font-size:16px}.hidden{display:none}
+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,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}h1{font-size:2em}a,p,span,div{font-size:14px}a{color:#268bd2}a::visited{color:#6c71c4}a::hover{text-decoration:none}.space{color:rgba(0,0,0,0);-webkit-background-clip:text;background-clip:text;background-image:url("/static/rad_nebula.jpg");background-position:center}@media (prefers-color-scheme: light){body{background-color:#fdf6e3;color:#657b83}a::selection,p::selection,h1::selection,h2::selection,h3::selection,h4::selection,h5::selection,h6::selection,span::selection,em::selection,kbd::selection,li::selection,i::selection,b::selection{background-color:#eee8d5}code::selection{background-color:#657b83}}@media (prefers-color-scheme: dark){body{background-color:#002b36;color:#839496}a::selection,p::selection,h1::selection,h2::selection,h3::selection,h4::selection,h5::selection,h6::selection,span::selection,em::selection,kbd::selection,li::selection,i::selection,b::selection,code::selection{background-color:#073642}code::selection{background-color:#002b36}}div.thumb-container{display:flex;flex-direction:row;padding-top:1em;position:relative;flex-wrap:wrap}div.thumbnail{max-width:240px;flex:1 1 20px;padding:1em}div.thumbnail img{max-width:100%}div.carousel{border-radius:.5em}@media (prefers-color-scheme: light){div.carousel{background-color:rgba(253,246,227,0.75)}}@media (prefers-color-scheme: dark){div.carousel{background-color:rgba(0,43,54,0.75)}}div.carousel div.next,div.carousel div.prev{border-radius:2em}@media (prefers-color-scheme: light){div.carousel div.next:focus,div.carousel div.prev:focus{background-color:rgba(42,161,152,0.75)}div.carousel div.next:focus span,div.carousel div.prev:focus span{color:#fdf6e3}}@media (prefers-color-scheme: dark){div.carousel div.next:focus,div.carousel div.prev:focus{background-color:rgba(42,161,152,0.75)}div.carousel div.next:focus span,div.carousel div.prev:focus span{color:#002b36}}div.carousel div.next span,div.carousel div.prev span{color:#2aa198;size:4em}body{min-height:480px;font-size:20px;line-height:24px;padding-bottom:1.5em;position:relative}a,p,span,div{font-size:16px;line-height:24px}code,kbd{border:1px solid;padding:2px;border-radius:5px;font-family:monospace}@media (prefers-color-scheme: dark){code,kbd{background-color:#073642;border-color:#657b83;color:#93a1a1}}@media (prefers-color-scheme: light){code,kbd{border-color:#839496;background-color:#eee8d5;color:#586e75}}h1{font-size:2em}h2{font-size:1.8em}h3{font-size:1.6em}h4{font-size:1.4em}h5{font-size:1.3em}h6{font-size:1.2em}h1,h2,h3,h4,h5,h6{line-height:3rem}i,em{font-style:italic}.container{display:flex;flex-direction:row;padding-top:2em;position:relative}main{flex:3 1 70%;margin-left:6em;padding-right:1.5em;width:30px;order:1;height:100%}main figure{margin:1.5em}main figure img{width:100%}main figure.thumbnail{width:212px;display:inline-block}main figure.thumbnail:hover{cursor:zoom-in}main figure.fullsize{position:fixed;top:10%;left:50%;margin-right:-50%;transform:translate(-50%);z-index:101}main figure.fullsize img{max-height:80vh;max-width:80vw;width:auto;height:auto}main figure.full{display:block;width:100%}main figure.inline{float:left;display:inline-block;width:33%}main figure.inline:nth-of-type(2n){float:right}main figcaption{font-style:italic;text-align:center}main article p{margin-bottom:.5em;text-indent:1.5em}main article ul{margin-left:1.5em;list-style:inside '‣ ';margin-bottom:.5em}main article blockquote{border-left:4px solid #6c71c4;padding-left:.5em}@media (prefers-color-scheme: dark){main article blockquote{background-color:#073642;color:#93a1a1}}@media (prefers-color-scheme: light){main article blockquote{border-color:#839496;color:#586e75}}main article blockquote p{text-indent:0;margin-left:1.5em}main article blockquote em:before{content:"\27e1";display:inline-block;color:#6c71c4;margin-right:.5em}#sidebar{flex:1 6 25%;width:30px;order:2;padding-left:1em;height:100% p;height-margin-bottom:.5em}@media (prefers-color-scheme: light){#sidebar{border-left:1px dashed #839496}}@media (prefers-color-scheme: dark){#sidebar{border-left:1px dashed #657b83}}#sidebar ul{margin-bottom:.5em}#sidebar ul li{list-style-type:none;margin-left:1rem}header{height:12em;background-image:url("/img/swallowtail.jpg");background-size:cover;background-position:center;padding-top:3em}header .title-wrap{padding-top:4em}header h1>a{font-size:1.2em;text-decoration:none}header h2{font-size:1em}header #nav{margin:0}header #nav ul li{float:left;display:inline;list-style-type:none}header #nav ul li:after{clear:both}footer{width:100%;margin:0px 0px .5em 0px;position:absolute;bottom:0px;clear:both}footer *{display:block;margin:auto;width:max-content}.title-wrap{border-radius:.5em;width:35%;margin-left:6em;padding:3em 1.5em}@media (prefers-color-scheme: light){.title-wrap{background-color:rgba(253,246,227,0.85)}}@media (prefers-color-scheme: dark){.title-wrap{background-color:rgba(0,43,54,0.85)}}ol{list-style-type:decimal;list-style-position:inside;line-height:2rem;margin-left:1.5em}ul.menu li{display:inline-block;margin:1em .5em}ul.menu li a{color:#d33682;text-decoration:none}.post-date{font-style:italic;font-size:16px}.hidden{display:none}div#backdrop{width:100%;height:100%;background-color:rgba(0,0,0,0.667);position:fixed;top:0;left:0;overflow-x:hidden;overflow-y:auto;z-index:100}
diff --git a/img/buddies.jpg b/img/buddies.jpg
new file mode 100644
index 0000000..760c58a
Binary files /dev/null and b/img/buddies.jpg differ
diff --git a/img/noah.jpg b/img/noah.jpg
new file mode 100644
index 0000000..07f75e4
Binary files /dev/null and b/img/noah.jpg differ
diff --git a/img/swallowtail.jpg b/img/swallowtail.jpg
new file mode 100644
index 0000000..a21464f
Binary files /dev/null and b/img/swallowtail.jpg differ
diff --git a/index.md b/index.md
index 0c995b2..47dc327 100644
--- a/index.md
+++ b/index.md
@@ -5,10 +5,10 @@ eleventyNavigation:
order: 1
---
-Hi, I'm Noah Hall, a parent, organic gardener, birdwatcher, [political organizer](https://avldsa.org), [Unitarian Universalist](https://uuasheville.org), [web developer](https://github.com/nthall), and many other things. I'm interested in music, community, ecology, interconnectedness, the absurd and the ineffable.
+Hi, I'm Noah Hall. I'm a [web developer](/work), but I'm also a parent, organic gardener, birdwatcher, [political organizer](https://avldsa.org), [Unitarian Universalist](https://uuasheville.org), and many other things. I'm interested in music, community, ecology, interconnectedness, the absurd and the ineffable.
-This is my website. It's got some [writing](/blog/) (mostly about software), some [pictures](/photos/) (mostly of birds), some links to other things I've worked on, written, spent time doing, etc., and... I'm not sure what else! Honestly I've never been great at maintaining a personal *or* professional website, and I'm giving it an honest try for the first time now. So, this is very much an evolving and developing place, more than a static artifact.
+This is my website. I've never been great at maintaining a personal *or* professional website, but I'm giving it an honest try for the first time now. So, this is very much an evolving and developing place, more than a static artifact. I hope to add more [writing about software](/tags/software/) and maybe other topics, more [bird photography](/photos/), and... beyond that, I'm not sure yet! If you'd like to know a bit more about how I'm building & publishing it, there's a [page for that](/about/).
-I am currently working as a web consultant, leveraging over a decade of experience in software development to plan, build, and maintain web applications for a wide variety of clients. I aim to practice a humane, ethical software development that gives consideration to maintainability, accessibility, and privacy. I'm available for planning, project management, software development, system administration, and other services. Please [email me](mailto:noah@nthall.com) to discuss your needs.
+I am currently working as a web consultant, leveraging over a decade of experience in software development to plan, build, and maintain web applications for a wide variety of clients. I aim to practice a humane, ethical software development that gives consideration to maintainability, accessibility, and privacy. I'm available now to assess your needs or discuss your project. Please [read more about my work](/work) or [email me](mailto:noah@nthall.com) to schedule an initial consultation.
I am also interested in talking to like-minded developers, technologists, writers, community managers, and any others who may be interested in forming a cooperative for either software consulting/agency work or product development, or both!
diff --git a/license.txt b/license.txt
new file mode 100644
index 0000000..49f49ca
--- /dev/null
+++ b/license.txt
@@ -0,0 +1,507 @@
+Content on this site Copyright Noah Hall 2020
+
+COOPERATIVE NON-VIOLENT PUBLIC LICENSE v4
+
+Preamble
+
+The Cooperative Non-Violent Public license is a freedom-respecting sharealike
+license for both the author of a work as well as those subject to a work.
+It aims to protect the basic rights of human beings from exploitation,
+the earth from plunder, and the equal treatment of the workers involved in the
+creation of the work. It aims to ensure a copyrighted work is forever
+available for public use, modification, and redistribution under the same
+terms so long as the work is not used for harm. For more information about
+the CNPL refer to the official webpage
+
+Official Webpage: https://thufie.lain.haus/NPL.html
+
+Terms and Conditions
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
+COOPERATIVE NON-VIOLENT PUBLIC LICENSE v4 ("LICENSE"). THE WORK IS
+PROTECTED BY COPYRIGHT AND ALL OTHER APPLICABLE LAWS. ANY USE OF THE
+WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS
+PROHIBITED. BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED IN THIS
+LICENSE, YOU AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE.
+TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT,
+THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN AS CONSIDERATION
+FOR ACCEPTING THE TERMS AND CONDITIONS OF THIS LICENSE AND FOR AGREEING
+TO BE BOUND BY THE TERMS AND CONDITIONS OF THIS LICENSE.
+
+1. DEFINITIONS
+
+ a. "Act of War" means any action of one country against any group
+ either with an intention to provoke a conflict or an action that
+ occurs during a declared war or during armed conflict between
+ military forces of any origin. This includes but is not limited
+ to enforcing sanctions or sieges, supplying armed forces,
+ or profiting from the manufacture of tools or weaponry used in
+ military conflict.
+
+ b. "Adaptation" means a work based upon the Work, or upon the
+ Work and other pre-existing works, such as a translation,
+ adaptation, derivative work, arrangement of music or other
+ alterations of a literary or artistic work, or phonogram or
+ performance and includes cinematographic adaptations or any
+ other form in which the Work may be recast, transformed, or
+ adapted including in any form recognizably derived from the
+ original, except that a work that constitutes a Collection will
+ not be considered an Adaptation for the purpose of this License.
+ For the avoidance of doubt, where the Work is a musical work,
+ performance or phonogram, the synchronization of the Work in
+ timed-relation with a moving image ("synching") will be
+ considered an Adaptation for the purpose of this License.
+
+ c. "Bodily Harm" means any physical hurt or injury to a person that
+ interferes with the health or comfort of the person and that is more
+ more than merely transient or trifling in nature.
+
+ d. "Collection" means a collection of literary or artistic
+ works, such as encyclopedias and anthologies, or performances,
+ phonograms or broadcasts, or other works or subject matter other
+ than works listed in Section 1(i) below, which, by reason of the
+ selection and arrangement of their contents, constitute
+ intellectual creations, in which the Work is included in its
+ entirety in unmodified form along with one or more other
+ contributions, each constituting separate and independent works
+ in themselves, which together are assembled into a collective
+ whole. A work that constitutes a Collection will not be
+ considered an Adaptation (as defined above) for the purposes of
+ this License.
+
+ e. "Distribute" means to make available to the public the
+ original and copies of the Work or Adaptation, as appropriate,
+ through sale, gift or any other transfer of possession or
+ ownership.
+
+ f. "Incarceration" means confinement in a jail, prison, or any
+ other place where individuals of any kind are held against
+ either their will or the will of their legal guardians.
+
+ g. "Licensor" means the individual, individuals, entity or
+ entities that offer(s) the Work under the terms of this License.
+
+ h. "Original Author" means, in the case of a literary or
+ artistic work, the individual, individuals, entity or entities
+ who created the Work or if no individual or entity can be
+ identified, the publisher; and in addition (i) in the case of a
+ performance the actors, singers, musicians, dancers, and other
+ persons who act, sing, deliver, declaim, play in, interpret or
+ otherwise perform literary or artistic works or expressions of
+ folklore; (ii) in the case of a phonogram the producer being the
+ person or legal entity who first fixes the sounds of a
+ performance or other sounds; and, (iii) in the case of
+ broadcasts, the organization that transmits the broadcast.
+
+ i. "Work" means the literary and/or artistic work offered under
+ the terms of this License including without limitation any
+ production in the literary, scientific and artistic domain,
+ whatever may be the mode or form of its expression including
+ digital form, such as a book, pamphlet and other writing; a
+ lecture, address, sermon or other work of the same nature; a
+ dramatic or dramatico-musical work; a choreographic work or
+ entertainment in dumb show; a musical composition with or
+ without words; a cinematographic work to which are assimilated
+ works expressed by a process analogous to cinematography; a work
+ of drawing, painting, architecture, sculpture, engraving or
+ lithography; a photographic work to which are assimilated works
+ expressed by a process analogous to photography; a work of
+ applied art; an illustration, map, plan, sketch or
+ three-dimensional work relative to geography, topography,
+ architecture or science; a performance; a broadcast; a
+ phonogram; a compilation of data to the extent it is protected
+ as a copyrightable work; or a work performed by a variety or
+ circus performer to the extent it is not otherwise considered a
+ literary or artistic work.
+
+ j. "You" means an individual or entity exercising rights under
+ this License who has not previously violated the terms of this
+ License with respect to the Work, or who has received express
+ permission from the Licensor to exercise rights under this
+ License despite a previous violation.
+
+ k. "Publicly Perform" means to perform public recitations of the
+ Work and to communicate to the public those public recitations,
+ by any means or process, including by wire or wireless means or
+ public digital performances; to make available to the public
+ Works in such a way that members of the public may access these
+ Works from a place and at a place individually chosen by them;
+ to perform the Work to the public by any means or process and
+ the communication to the public of the performances of the Work,
+ including by public digital performance; to broadcast and
+ rebroadcast the Work by any means including signs, sounds or
+ images.
+
+ l. "Reproduce" means to make copies of the Work by any means
+ including without limitation by sound or visual recordings and
+ the right of fixation and reproducing fixations of the Work,
+ including storage of a protected performance or phonogram in
+ digital form or other electronic medium.
+
+ m. "Software" means any digital Work which, through use of a
+ third-party piece of Software or through the direct usage of
+ itself on a computer system, the memory of the computer is
+ modified dynamically or semi-dynamically. "Software",
+ secondly, processes or interprets information.
+
+ n. "Source Code" means the human-readable form of Software
+ through which the Original Author and/or Distributor originally
+ created, derived, and/or modified it.
+
+ o. "Surveilling" means the use of the Work to either
+ overtly or covertly observe and record persons and or their
+ activities.
+
+ p. "Web Service" means the use of a piece of Software to
+ interpret or modify information that is subsequently and directly
+ served to users over the Internet.
+
+ q. "Discriminate" means the use of a work to differentiate between
+ humans in a such a way which prioritizes some above others on the
+ basis of percieved membership within certain groups.
+
+ r. "Hate Speech" means communication or any form
+ of expression which is solely for the purpose of expressing hatred
+ for some group or advocating a form of Discrimination
+ (to Discriminate per definition in (q)) between humans.
+
+2. FAIR DEALING RIGHTS
+
+ Nothing in this License is intended to reduce, limit, or restrict any
+ uses free from copyright or rights arising from limitations or
+ exceptions that are provided for in connection with the copyright
+ protection under copyright law or other applicable laws.
+
+3. LICENSE GRANT
+
+ Subject to the terms and conditions of this License, Licensor hereby
+ grants You a worldwide, royalty-free, non-exclusive, perpetual (for the
+ duration of the applicable copyright) license to exercise the rights in
+ the Work as stated below:
+
+ a. to Reproduce the Work, to incorporate the Work into one or
+ more Collections, and to Reproduce the Work as incorporated in
+ the Collections;
+
+ b. to create and Reproduce Adaptations provided that any such
+ Adaptation, including any translation in any medium, takes
+ reasonable steps to clearly label, demarcate or otherwise
+ identify that changes were made to the original Work. For
+ example, a translation could be marked "The original work was
+ translated from English to Spanish," or a modification could
+ indicate "The original work has been modified.";
+
+ c. to Distribute and Publicly Perform the Work including as
+ incorporated in Collections; and,
+
+ d. to Distribute and Publicly Perform Adaptations. The above
+ rights may be exercised in all media and formats whether now
+ known or hereafter devised. The above rights include the right
+ to make such modifications as are technically necessary to
+ exercise the rights in other media and formats. Subject to
+ Section 8(g), all rights not expressly granted by Licensor are
+ hereby reserved, including but not limited to the rights set
+ forth in Section 4(i).
+
+4. RESTRICTIONS
+
+ The license granted in Section 3 above is expressly made subject to and
+ limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under
+ the terms of this License. You must include a copy of, or the
+ Uniform Resource Identifier (URI) for, this License with every
+ copy of the Work You Distribute or Publicly Perform. You may not
+ offer or impose any terms on the Work that restrict the terms of
+ this License or the ability of the recipient of the Work to
+ exercise the rights granted to that recipient under the terms of
+ the License. You may not sublicense the Work. You must keep
+ intact all notices that refer to this License and to the
+ disclaimer of warranties with every copy of the Work You
+ Distribute or Publicly Perform. When You Distribute or Publicly
+ Perform the Work, You may not impose any effective technological
+ measures on the Work that restrict the ability of a recipient of
+ the Work from You to exercise the rights granted to that
+ recipient under the terms of the License. This Section 4(a)
+ applies to the Work as incorporated in a Collection, but this
+ does not require the Collection apart from the Work itself to be
+ made subject to the terms of this License. If You create a
+ Collection, upon notice from any Licensor You must, to the
+ extent practicable, remove from the Collection any credit as
+ required by Section 4(h), as requested. If You create an
+ Adaptation, upon notice from any Licensor You must, to the
+ extent practicable, remove from the Adaptation any credit as
+ required by Section 4(h), as requested.
+
+ b. Subject to the exception in Section 4(e), you may not
+ exercise any of the rights granted to You in Section 3 above in
+ any manner that is primarily intended for or directed toward
+ commercial advantage or private monetary compensation. The
+ exchange of the Work for other copyrighted works by means of
+ digital file-sharing or otherwise shall not be considered to be
+ intended for or directed toward commercial advantage or private
+ monetary compensation, provided there is no payment of any
+ monetary compensation in connection with the exchange of
+ copyrighted works.
+
+ c. If the Work meets the definition of Software, You may exercise
+ the rights granted in Section 3 only if You provide a copy of the
+ corresponding Source Code from which the Work was derived in digital
+ form, or You provide a URI for the corresponding Source Code of
+ the Work, to any recipients upon request.
+
+ d. If the Work is used as or for a Web Service, You may exercise
+ the rights granted in Section 3 only if You provide a copy of the
+ corresponding Source Code from which the Work was derived in digital
+ form, or You provide a URI for the corresponding Source Code to the
+ Work, to any recipients of the data served or modified by the Web
+ Service.
+
+ e. You may exercise the rights granted in Section 3 for
+ commercial purposes only if you satisfy any of the following:
+
+ i. You are a worker-owned business or worker-owned
+ collective; and
+ ii. after tax, all financial gain, surplus, profits and
+ benefits produced by the business or collective are
+ distributed among the worker-owners unless a set amount
+ is to be allocated towards community projects as decided
+ by a previously-established consensus agreement between the
+ worker-owners where all worker-owners agreed
+ iii. You are not using such rights on behalf of a business
+ other than those specified in 4(e.i) and elaborated upon in
+ 4(e.ii), nor are using such rights as a proxy on behalf of a
+ business with the intent to circumvent the aforementioned
+ restrictions on such a business.
+
+ f. Any use by a business that is privately owned and managed,
+ and that seeks to generate profit from the labor of employees
+ paid by salary or other wages, is not permitted under this
+ license.
+
+ g. You may exercise the rights granted in Section 3 for
+ any purposes only if:
+
+ i. You do not use the Work for the purpose of inflicting
+ Bodily Harm on human beings (subject to criminal
+ prosecution or otherwise) outside of providing medical aid.
+ ii.You do not use the Work for the purpose of Surveilling
+ or tracking individuals for financial gain.
+ iii. You do not use the Work in an Act of War.
+ iv. You do not use the Work for the purpose of supporting
+ or profiting from an Act of War.
+ v. You do not use the Work for the purpose of Incarceration.
+ vi. You do not use the Work for the purpose of extracting
+ oil, gas, or coal.
+ vii. You do not use the Work for the purpose of
+ expediting, coordinating, or facilitating paid work
+ undertaken by individuals under the age of 12 years.
+ viii. You do not use the Work to either Discriminate or
+ spread Hate Speech on the basis of sex, sexual orientation,
+ gender identity, race, age, disability, color, national origin,
+ religion, or lower economic status.
+
+ h. If You Distribute, or Publicly Perform the Work or any
+ Adaptations or Collections, You must, unless a request has been
+ made pursuant to Section 4(a), keep intact all copyright notices
+ for the Work and provide, reasonable to the medium or means You
+ are utilizing: (i) the name of the Original Author (or
+ pseudonym, if applicable) if supplied, and/or if the Original
+ Author and/or Licensor designate another party or parties (e.g.,
+ a sponsor institute, publishing entity, journal) for attribution
+ ("Attribution Parties") in Licensor!s copyright notice, terms of
+ service or by other reasonable means, the name of such party or
+ parties; (ii) the title of the Work if supplied; (iii) to the
+ extent reasonably practicable, the URI, if any, that Licensor
+ specifies to be associated with the Work, unless such URI does
+ not refer to the copyright notice or licensing information for
+ the Work; and, (iv) consistent with Section 3(b), in the case of
+ an Adaptation, a credit identifying the use of the Work in the
+ Adaptation (e.g., "French translation of the Work by Original
+ Author," or "Screenplay based on original Work by Original
+ Author"). The credit required by this Section 4(h) may be
+ implemented in any reasonable manner; provided, however, that in
+ the case of an Adaptation or Collection, at a minimum such credit
+ will appear, if a credit for all contributing authors of the
+ Adaptation or Collection appears, then as part of these credits
+ and in a manner at least as prominent as the credits for the
+ other contributing authors. For the avoidance of doubt, You may
+ only use the credit required by this Section for the purpose of
+ attribution in the manner set out above and, by exercising Your
+ rights under this License, You may not implicitly or explicitly
+ assert or imply any connection with, sponsorship or endorsement
+ by the Original Author, Licensor and/or Attribution Parties, as
+ appropriate, of You or Your use of the Work, without the
+ separate, express prior written permission of the Original
+ Author, Licensor and/or Attribution Parties.
+
+ i. For the avoidance of doubt:
+
+ i. Non-waivable Compulsory License Schemes. In those
+ jurisdictions in which the right to collect royalties
+ through any statutory or compulsory licensing scheme
+ cannot be waived, the Licensor reserves the exclusive
+ right to collect such royalties for any exercise by You of
+ the rights granted under this License;
+
+ ii. Waivable Compulsory License Schemes. In those
+ jurisdictions in which the right to collect royalties
+ through any statutory or compulsory licensing scheme can
+ be waived, the Licensor reserves the exclusive right to
+ collect such royalties for any exercise by You of the
+ rights granted under this License if Your exercise of such
+ rights is for a purpose or use which is otherwise than
+ noncommercial as permitted under Section 4(b) and
+ otherwise waives the right to collect royalties through
+ any statutory or compulsory licensing scheme; and,
+ iii.Voluntary License Schemes. The Licensor reserves the
+ right to collect royalties, whether individually or, in
+ the event that the Licensor is a member of a collecting
+ society that administers voluntary licensing schemes, via
+ that society, from any exercise by You of the rights
+ granted under this License that is for a purpose or use
+ which is otherwise than noncommercial as permitted under
+ Section 4(b).
+
+ j. Except as otherwise agreed in writing by the Licensor or as
+ may be otherwise permitted by applicable law, if You Reproduce,
+ Distribute or Publicly Perform the Work either by itself or as
+ part of any Adaptations or Collections, You must not distort,
+ mutilate, modify or take other derogatory action in relation to
+ the Work which would be prejudicial to the Original Author's
+ honor or reputation. Licensor agrees that in those jurisdictions
+ (e.g. Japan), in which any exercise of the right granted in
+ Section 3(b) of this License (the right to make Adaptations)
+ would be deemed to be a distortion, mutilation, modification or
+ other derogatory action prejudicial to the Original Author's
+ honor and reputation, the Licensor will waive or not assert, as
+ appropriate, this Section, to the fullest extent permitted by
+ the applicable national law, to enable You to reasonably
+ exercise Your right under Section 3(b) of this License (right to
+ make Adaptations) but not otherwise.
+
+ k. Do not make any legal claim against anyone accusing the
+ Work, with or without changes, alone or with other works,
+ of infringing any patent claim.
+
+5. REPRESENTATIONS, WARRANTIES AND DISCLAIMER
+
+ UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
+ OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
+ KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
+ INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
+ FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
+ LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF
+ ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW
+ THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO
+ YOU.
+
+6. LIMITATION ON LIABILITY
+
+ EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL
+ LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL,
+ INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF
+ THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED
+ OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. TERMINATION
+
+ a. This License and the rights granted hereunder will terminate
+ automatically upon any breach by You of the terms of this
+ License. Individuals or entities who have received Adaptations
+ or Collections from You under this License, however, will not
+ have their licenses terminated provided such individuals or
+ entities remain in full compliance with those licenses. Sections
+ 1, 2, 5, 6, 7, and 8 will survive any termination of this
+ License.
+
+ b. Subject to the above terms and conditions, the license
+ granted here is perpetual (for the duration of the applicable
+ copyright in the Work). Notwithstanding the above, Licensor
+ reserves the right to release the Work under different license
+ terms or to stop distributing the Work at any time; provided,
+ however that any such election will not serve to withdraw this
+ License (or any other license that has been, or is required to
+ be, granted under the terms of this License), and this License
+ will continue in full force and effect unless terminated as
+ stated above.
+
+8. REVISED LICENSE VERSIONS
+
+ a. This License may receive future revisions in the original
+ spirit of the license intended to strengthen This License.
+ Each version of This License has an incrementing version number.
+
+ b. Unless otherwise specified like in Section 8(c) The Licensor
+ has only granted this current version of This License for The Work.
+ In this case future revisions do not apply.
+
+ c. The Licensor may specify that the latest available
+ revision of This License be used for The Work by either explicitly
+ writing so or by suffixing the License URI with a "+" symbol.
+
+ d. The Licensor may specify that The Work is also available
+ under the terms of This License's current revision as well
+ as specific future revisions. The Licensor may do this by
+ writing it explicitly or suffixing the License URI with any
+ additional version numbers each separated by a comma.
+
+9. MISCELLANEOUS
+
+ a. Each time You Distribute or Publicly Perform the Work or a
+ Collection, the Licensor offers to the recipient a license to
+ the Work on the same terms and conditions as the license granted
+ to You under this License.
+
+ b. Each time You Distribute or Publicly Perform an Adaptation,
+ Licensor offers to the recipient a license to the original Work
+ on the same terms and conditions as the license granted to You
+ under this License.
+
+ c. If the Work is classified as Software, each time You Distribute
+ or Publicly Perform an Adaptation, Licensor offers to the recipient
+ a copy and/or URI of the corresponding Source Code on the same
+ terms and conditions as the license granted to You under this License.
+
+ d. If the Work is used as a Web Service, each time You Distribute
+ or Publicly Perform an Adaptation, or serve data derived from the
+ Software, the Licensor offers to any recipients of the data a copy
+ and/or URI of the corresponding Source Code on the same terms and
+ conditions as the license granted to You under this License.
+
+ e. If any provision of this License is invalid or unenforceable
+ under applicable law, it shall not affect the validity or
+ enforceability of the remainder of the terms of this License,
+ and without further action by the parties to this agreement,
+ such provision shall be reformed to the minimum extent necessary
+ to make such provision valid and enforceable.
+
+ f. No term or provision of this License shall be deemed waived
+ and no breach consented to unless such waiver or consent shall
+ be in writing and signed by the party to be charged with such
+ waiver or consent.
+
+ g. This License constitutes the entire agreement between the
+ parties with respect to the Work licensed here. There are no
+ understandings, agreements or representations with respect to
+ the Work not specified here. Licensor shall not be bound by any
+ additional provisions that may appear in any communication from
+ You. This License may not be modified without the mutual written
+ agreement of the Licensor and You.
+
+ h. The rights granted under, and the subject matter referenced,
+ in this License were drafted utilizing the terminology of the
+ Berne Convention for the Protection of Literary and Artistic
+ Works (as amended on September 28, 1979), the Rome Convention of
+ 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances
+ and Phonograms Treaty of 1996 and the Universal Copyright
+ Convention (as revised on July 24, 1971). These rights and
+ subject matter take effect in the relevant jurisdiction in which
+ the License terms are sought to be enforced according to the
+ corresponding provisions of the implementation of those treaty
+ provisions in the applicable national law. If the standard suite
+ of rights granted under applicable copyright law includes
+ additional rights not granted under this License, such
+ additional rights are deemed to be included in the License; this
+ License is not intended to restrict the license of any rights
+ under applicable law.
diff --git a/package.json b/package.json
index c5e0d4e..0e93330 100644
--- a/package.json
+++ b/package.json
@@ -38,6 +38,7 @@
"gulp-image-resize": "^0.13.1",
"gulp-rename": "^2.0.0",
"gulp-sass": "^4.1.0",
+ "node-path": "0.0.3",
"node-sass": "^4.14.1"
}
}
diff --git a/pages/my-photography-gear.md b/pages/my-photography-gear.md
deleted file mode 100644
index b37cdc0..0000000
--- a/pages/my-photography-gear.md
+++ /dev/null
@@ -1,19 +0,0 @@
----
-layout: post
-title: My Photography Gear
-
----
-
-This is the gear I'm currently using for photography.
-
-Cameras:
-- Canon 7d Mark II (primary)
-- Canon Rebel T3i (backup)
-
-Lenses:
-- Sigma Contemporary 150-600mm
-- Canon EF-S 75-300mm
-- Canon EF-S 24mm
-
-Other:
-- Topo Designs Camera Cube
diff --git a/pages/photo-gear.md b/pages/photo-gear.md
new file mode 100644
index 0000000..5d5b77d
--- /dev/null
+++ b/pages/photo-gear.md
@@ -0,0 +1,21 @@
+---
+layout: page
+title: My Photography Gear
+slug: photo-gear
+date: 2020-07-17
+
+---
+
+This is the stuff I'm currently using for photography. This is not authoritative in any way, about anything!
+
+#### Cameras:
+- Canon 7d Mark II (primary)
+- Canon Rebel T3i (backup)
+
+#### Lenses:
+- Sigma Contemporary 150-600mm f/5-6.3
+- Canon EF 75-300mm f/4-5.6 II
+- Canon EF-S 24mm f/2.8 STM
+
+#### Processing:
+- [Darktable](https://www.darktable.org)
diff --git a/photos/yard_birds_early_summer.md b/photos/yard_birds_early_summer.md
index 19bc1ba..b825de3 100644
--- a/photos/yard_birds_early_summer.md
+++ b/photos/yard_birds_early_summer.md
@@ -2,19 +2,19 @@
layout: "photos"
title: "Yard Birds of Early Summer 2020"
photos:
- -
+ 0:
file: "/img/20200629_phoebe-with-food.jpg"
title: "Phoebe perched with food"
alt: "an eastern phoebe perches on a piece of cattle panel, holding a bug in its beak."
- -
+ 1:
file: "/img/20200629_song-sparrow.jpg"
title: "Song Sparrow"
alt: "a song sparrow perches in a bush, partially obscured by the leaves and looking at the camera."
- -
+ 2:
file: "/img/20200629_fledgling-tree-swallow.jpg"
title: "Fledgling Tree Swallow"
alt: "a young tree swallow peers out from its nest box towards the camera."
- -
+ 3:
file: "/img/20200629_tree-swallow-feeding.jpg"
title: "Tree Swallow Feeding"
alt: "one of the fledgling's parents have returned to share some food with the young bird!"
diff --git a/posts/_drafts/sandboxing.md b/posts/_drafts/sandboxing.md
new file mode 100644
index 0000000..bb2634f
--- /dev/null
+++ b/posts/_drafts/sandboxing.md
@@ -0,0 +1,12 @@
+---
+title: Sandboxing Javascript in a Django Site
+date: 2020-07-25
+layout: post
+tags:
+ - software
+ - django
+ - javascript
+
+---
+
+
diff --git a/posts/_drafts/taking-notes.md b/posts/_drafts/taking-notes.md
new file mode 100644
index 0000000..124f2c9
--- /dev/null
+++ b/posts/_drafts/taking-notes.md
@@ -0,0 +1,21 @@
+---
+Title: My Note-taking Habits
+layout: post
+
+---
+
+Some time back, a [Hacker News](https://news.ycombinator.com) submission about keeping a lab notebook sparked my interest in improving my note-taking for software development. This post gives a rundown on what I've tried in the past, how I currently keep notes and attempt to stay organized in my projects and scheduling, and what I've learned from it. It also includes some ideas for how to continue to improve, which I write mainly for purposes of brainstorming and internal clarification.
+
+---
+
+For a long time I struggled to keep track of what I needed to get done and when. I was at times a terrible procrastinator. In high school I temporarily "solved" this problem by trying to do as much homework as I could before I left school for the day. Of course, "if it's easy, do it right away" is a classic productivity lesson from systems like GTD, but for us it was just a challenge we gave ourselves so we'd have more time at home for video games.
+
+Unfortunately that didn't work in college; assignments became less frequent, larger, and more complex. I wish I could say that here I learned the value of breaking a task into small concrete steps, but instead I mostly muddled through, fueled by heroic amounts of bad coffee and worse energy drinks.
+
+My goals were initially quite simple; I wanted to make it easier to keep track of various work-related information. For example, I keep track of code snippets, recipes for repeating tasks, conversations with clients and stakeholders,
+
+I was briefly tempted by [Org-mode](https://orgmode.org/) in [Spacemacs](https://www.spacemacs.org/), but instead started with a simpler and more accessible approach - [Standard Notes](https://standardnotes.org). I created some personal cheat-sheets, to-do lists for various projects or timeframes, and I started taking notes on meetings/calls.
+
+If I could earmark just one thing for remote workers to take away from this post, that's it - take notes on every work discussion that happens via voice or video. The *most important thing* that I gained from this stage was making a regular habit of taking a few minutes before and after a call to organize my thoughts, be prepared for the discussion, and process any notes I couldn't get down during the call, action items, or concluding thoughts. I think it's made me more concise and focused during calls, and also dramatically improved my organization and follow-through with tasks discussed outside of email - major boosts to my professionalism and dependability. And it flowed naturally from building the habit of taking notes on any business interaction that wasn't already written down.
+
+
diff --git a/posts/django-migration-hiccup.md b/posts/django-migration-hiccup.md
index 60d065c..6123850 100644
--- a/posts/django-migration-hiccup.md
+++ b/posts/django-migration-hiccup.md
@@ -2,10 +2,8 @@
title: Django DB Migration Hiccup
date: 2017-03-14 01:28:43
tags:
+ - software
- django
- - django-rest-framework
- - postgresql
- - sqlite
- watershed
category:
- development
diff --git a/posts/the-night-i-aged-a-year.md b/posts/the-night-i-aged-a-year.md
new file mode 100644
index 0000000..864b7bf
--- /dev/null
+++ b/posts/the-night-i-aged-a-year.md
@@ -0,0 +1,34 @@
+---
+title: The Night I Aged A Year
+tags:
+ - health
+ - personal
+date: 2016-09-23
+layout: post
+
+---
+
+Birthdays are not a big deal to me. Never have been, really. Yesterday was my 31st. I don’t have a lot of friends, family, or acquaintances living nearby, so I appreciate the calendrical mandate for social grooming more than ever, even if it mostly comes about because of Facebook’s insatiable hunger for our Content. But how can the discrete progression of whole numbers compare to the inner weight of lived experience?
+
+---
+
+Sometimes a moment of Real Aging coincides with an arbitrary one. Two nights ago, we were sitting down for dinner. Miles was feeling warm and looked sluggish, and on top of all that had bonked his head pretty good on the porch in the afternoon, so we had already planned a dose of liquid ibuprofen and a quick bedtime. I put him in his high chair, Ash presented his plate of food, and he started in on a slice of cucumber. I turned away to get a glass of water.
+
+
+
+ The outer weight of lived experience is about 28 pounds, when he wants Up
+
+
+Ash sounded mildly but not urgently concerned. When you have a toddler you grow quite accustomed to the sound of your wife asking them if something is wrong. You don’t panic, but you do stop and check in. I never got my glass of water. I turned around to see Miles doubled over in his chair, beginning to shake. She, or I, or both of us tried to help him sit up straight, and it was instantly, unmistakably obvious that something was wrong. He was twitching, shuddering, his eyes unfocused. His mouth was moving rhythmically, almost idly, as if he wanted to speak — or breathe — but couldn’t.
+
+Before I knew that I knew what was happening, I managed to say it out loud. “He’s having a seizure. We need to call 911.”
+
+You know how sometimes TouchID doesn’t recognize your thumbprint, and since you’re just idly checking whether anyone Liked your stuff, it’s ok? You barely even register that there’s been an error. I’m sure at some point when this episode is less of a wild, helpless feeling in my gut and more of a digested set of memories, I’ll have some new thoughts about the role of technology in our lives, or whatever. But standing there with one finger in Miles’ mouth (this is not what one is supposed to do in this situation, as the EMS operator soon told me, but more on that later), the other hand fumbling with my damn precious phone, I’d never felt more frustrated with my manifest clumsiness or the shortcomings of human-computer interaction.
+
+My mother-in-law is an operator for the California Highway Patrol, so I understand that the man on the other end of the phone call was following correct, professional procedure. I still almost lost my shit as he patiently and deliberately asked for our cross street. “Don’t you understand that I need to shout about the horrific emergency my sweet, beautiful son is having??? don’t you have maps? the fucking internet???” are a few things that I’m really glad I didn’t say out loud. Miles’s lips were turning purple and bubbling with a very viscous drool. I have no idea where Ash was. Probably right next to me. The only thing that existed for me in that moment was my dearest love and joy suffocating from a brain malfunction.
+
+We’re fortunate to live a very short distance from: my parents, who were helpful even though I was too wound up to be reassured or to know how to ask for help; a small fire station, who sent the first responders to the scene (when I went outside to show them in, I saw a rabbit in the yard and, dumbly, pointed it out to them); and a hospital that I understand is well rated, and has treated us well in our few times of need. The children’s wing of the ER has a couple of staff dedicated solely to helping your kid stay calm and entertained while they’re confined to a strange harshly-lit curtain-room hours past bedtime with no supper and a thermometer in their ass, and bless them for it.
+
+As I now understand, febrile seizures happen to between 2 and 5 percent of children, usually between the ages of 6 months and 5 years. The proper response is to lay them on their side if possible, and do what you can to keep their airway open (by keeping their head tilted up, not by putting your finger in their mouth, good god, I was part of the problem!), without restraining them. It seems that the cause of most of these seizures is a rapid change in body temperature, so a good preventative measure is liquid acetaminophen as soon as you suspect a fever is coming on. This is worth remembering after the first seizure (who could forget?), because about 2 in 5 kids who have one will have another at some point. Especially if the seizure doesn’t last long — Miles’s lasted 3 or 4 minutes, which in spite of how it felt to watch, qualifies as short — there appears to be very little risk of long-term damage. Again, we are very fortunate.
+
+We got home around 11 and finally got some reheated dinner after putting an exhausted, medicated toddler in bed. Aside from the fever, he’s fine as far as we can tell. He popped bubble wrap for the first time yesterday afternoon, and giggled like there’s nothing to fear in the universe. I can admit to you that I spent 3 or 4 minutes staring in the mirror this morning, trying to see if I had any new gray hairs at my temples or in my beard. It’s got nothing to do with the number of years I’ve been lucky enough for my fool head to stay on my shoulders.
diff --git a/scss/style.scss b/scss/style.scss
index 56a3c92..5b5e8e1 100644
--- a/scss/style.scss
+++ b/scss/style.scss
@@ -75,11 +75,98 @@ main {
order: 1;
height: 100%;
+ figure {
+ margin: 1.5em;
+ img {
+ width: 100%;
+ }
+
+ &.thumbnail {
+ width: 212px;
+ display: inline-block;
+ &:hover {
+ cursor: zoom-in;
+ }
+ }
+
+ &.fullsize {
+ position: fixed;
+ top: 10%;
+ left: 50%;
+ margin-right: -50%;
+ transform: translate(-50%);
+ z-index: 101;
+
+ img {
+ max-height: 80vh;
+ max-width: 80vw;
+ width: auto;
+ height: auto;
+ }
+ }
+
+ &.full {
+ display: block;
+ width: 100%;
+ }
+
+ &.inline {
+ float: left;
+ display: inline-block;
+ width: 33%;
+ &:nth-of-type(2n) {
+ float: right;
+ }
+
+ }
+
+ }
+
+ figcaption {
+ font-style: italic;
+ text-align: center;
+ }
+
article {
p {
margin-bottom: .5em;
text-indent: 1.5em;
}
+ ul {
+ margin-left: 1.5em;
+ list-style: inside '‣ ';
+ margin-bottom: .5em;
+ }
+
+
+ blockquote {
+ border-left: 4px solid $violet;
+ padding-left: .5em;
+
+ @media(prefers-color-scheme: dark) {
+ background-color: $base02;
+ color: $base1;
+ }
+ @media(prefers-color-scheme: light) {
+ border-color: $base0;
+ color: $base01;
+ }
+
+ p {
+ text-indent: 0;
+ margin-left: 1.5em;
+ }
+
+ em {
+ &:before {
+ content: "\27e1";
+ display: inline-block;
+ color: $violet;
+ margin-right: .5em;
+ }
+ }
+ }
+
}
}
@@ -110,22 +197,21 @@ main {
header {
height: 12em;
- background-image: url('/img/rad_nebula.jpg');
+ background-image: url('/img/swallowtail.jpg');
background-size: cover;
background-position: center;
padding-top: 3em;
- text-align: center;
.title-wrap {
padding-top: 4em;
}
h1 > a {
- font-size: 2em;
+ font-size: 1.2em;
text-decoration: none;
}
h2 {
- font-size: 2em;
+ font-size: 1em;
}
#nav {
@@ -161,14 +247,14 @@ footer {
.title-wrap {
border-radius: .5em;
@media (prefers-color-scheme: light) {
- background-color: rgba($base3, .75);
+ background-color: rgba($base3, .85);
}
@media (prefers-color-scheme: dark) {
- background-color: rgba($base03, .75);
+ background-color: rgba($base03, .85);
}
- width: 40%;
- margin-left: 30%;
- padding: 3em 1em;
+ width: 35%;
+ margin-left: 6em;
+ padding: 3em 1.5em;
}
ol {
@@ -197,3 +283,15 @@ ul.menu {
.hidden {
display: none;
}
+
+div#backdrop {
+ width: 100%;
+ height: 100%;
+ background-color: rgba(0, 0, 0, .667);
+ position: fixed;
+ top: 0;
+ left: 0;
+ overflow-x: hidden;
+ overflow-y: auto;
+ z-index: 100;
+}
diff --git a/static/resume.pdf b/static/resume.pdf
new file mode 100644
index 0000000..3e29468
Binary files /dev/null and b/static/resume.pdf differ
diff --git a/static/umbrella-3.2.2.min.js b/static/umbrella-3.2.2.min.js
new file mode 100644
index 0000000..52a617c
--- /dev/null
+++ b/static/umbrella-3.2.2.min.js
@@ -0,0 +1,3 @@
+/* Umbrella JS 3.2.2 umbrellajs.com */
+
+var u=function(t,e){return this instanceof u?t instanceof u?t:("string"==typeof t&&(t=this.select(t,e)),t&&t.nodeName&&(t=[t]),void(this.nodes=this.slice(t))):new u(t,e)};u.prototype={get length(){return this.nodes.length}},u.prototype.nodes=[],u.prototype.addClass=function(){return this.eacharg(arguments,function(t,e){t.classList.add(e)})},u.prototype.adjacent=function(i,t,n){return"number"==typeof t&&(t=0===t?[]:new Array(t).join().split(",").map(Number.call,Number)),this.each(function(r,o){var e=document.createDocumentFragment();u(t||{}).map(function(t,e){var n="function"==typeof i?i.call(this,t,e,r,o):i;return"string"==typeof n?this.generate(n):u(n)}).each(function(t){this.isInPage(t)?e.appendChild(u(t).clone().first()):e.appendChild(t)}),n.call(this,r,e)})},u.prototype.after=function(t,e){return this.adjacent(t,e,function(t,e){t.parentNode.insertBefore(e,t.nextSibling)})},u.prototype.append=function(t,e){return this.adjacent(t,e,function(t,e){t.appendChild(e)})},u.prototype.args=function(t,e,n){return"function"==typeof t&&(t=t(e,n)),"string"!=typeof t&&(t=this.slice(t).map(this.str(e,n))),t.toString().split(/[\s,]+/).filter(function(t){return t.length})},u.prototype.array=function(o){o=o;var i=this;return this.nodes.reduce(function(t,e,n){var r;return o?((r=o.call(i,e,n))||(r=!1),"string"==typeof r&&(r=u(r)),r instanceof u&&(r=r.nodes)):r=e.innerHTML,t.concat(!1!==r?r:[])},[])},u.prototype.attr=function(t,e,r){return r=r?"data-":"",this.pairs(t,e,function(t,e){return t.getAttribute(r+e)},function(t,e,n){t.setAttribute(r+e,n)})},u.prototype.before=function(t,e){return this.adjacent(t,e,function(t,e){t.parentNode.insertBefore(e,t)})},u.prototype.children=function(t){return this.map(function(t){return this.slice(t.children)}).filter(t)},u.prototype.clone=function(){return this.map(function(t,e){var n=t.cloneNode(!0),r=this.getAll(n);return this.getAll(t).each(function(t,e){for(var n in this.mirror)this.mirror[n]&&this.mirror[n](t,r.nodes[e])}),n})},u.prototype.getAll=function(t){return u([t].concat(u("*",t).nodes))},u.prototype.mirror={},u.prototype.mirror.events=function(t,e){if(t._e)for(var n in t._e)t._e[n].forEach(function(t){u(e).on(n,t.callback)})},u.prototype.mirror.select=function(t,e){u(t).is("select")&&(e.value=t.value)},u.prototype.mirror.textarea=function(t,e){u(t).is("textarea")&&(e.value=t.value)},u.prototype.closest=function(e){return this.map(function(t){do{if(u(t).is(e))return t}while((t=t.parentNode)&&t!==document)})},u.prototype.data=function(t,e){return this.attr(t,e,!0)},u.prototype.each=function(t){return this.nodes.forEach(t.bind(this)),this},u.prototype.eacharg=function(n,r){return this.each(function(e,t){this.args(n,e,t).forEach(function(t){r.call(this,e,t)},this)})},u.prototype.empty=function(){return this.each(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)})},u.prototype.filter=function(e){var t=function(t){return t.matches=t.matches||t.msMatchesSelector||t.webkitMatchesSelector,t.matches(e||"*")};return"function"==typeof e&&(t=e),e instanceof u&&(t=function(t){return-1!==e.nodes.indexOf(t)}),u(this.nodes.filter(t))},u.prototype.find=function(e){return this.map(function(t){return u(e||"*",t)})},u.prototype.first=function(){return this.nodes[0]||!1},u.prototype.generate=function(t){return/^\s*
{% set postslist = collections.posts %}
{% include "postslist.njk" %}
diff --git a/templates/photoblog.njk b/templates/photoblog.njk
index a9b4f8d..33bf208 100644
--- a/templates/photoblog.njk
+++ b/templates/photoblog.njk
@@ -8,11 +8,11 @@ eleventyNavigation:
Photography
-
My photography isn't particularly artful or unique, but it is part of my personal practice of mindfulness and deepening connection with nature. I maintain a list of my gear for anyone interested in that sort of thing.
+
My photography isn't particularly artful or unique, but it is part of my personal practice of mindfulness and deepening connection with nature. I maintain a list of my gear for anyone interested in that sort of thing.
{% set postslist = collections.photos %}
{% include "postslist.njk" %}
-
My photography, like everything else on this site, is licensed under the Cooperative Non-violent Public License. Please email me to inquire about alternative licensing.
+
My photography, like everything else on this site, is licensed under the Cooperative Non-violent Public License v4+. Please email me to inquire about alternative licensing.
diff --git a/work/index.md b/work/index.md
new file mode 100644
index 0000000..f23ac3c
--- /dev/null
+++ b/work/index.md
@@ -0,0 +1,26 @@
+---
+title: My Work
+layout: page
+
+---
+
+In roughly a decade of work on the web, I've built social games, created customer-support workflows, modernized outdated systems, and developed data reporting dashboards. Now I use [this breadth and depth of experience](/static/resume.pdf "My Resume") to help small-to-medium businesses and non-profits reach new audiences, streamline processes, and stay secure online.
+
+My resume is available [here](/static/resume.pdf "My Resume").
+
+I'm available for short or long-term contracting, with services including:
+- project planning
+- custom web applications from scratch
+- modernizing aging sites
+- ongoing maintenance
+- assessing your systems for technical debt, security risks, accessibility, and more
+
+Please [email me](mailto:noah@nthall.com) for more information or to schedule a preliminary consultation.
+
+## Testimonials
+
+> Noah was a huge help in launching my games. His expertise and persistence made short work of routine tasks, and challenging problems were no match for his creativity and can-do attitude. He's an effective communicator and a pleasure to work with. He also has the rare ability to both follow instructions to the letter, and self direct his work, as needed.
+*Nick Shapiro, CEO, [Game Craftsmen](https://www.gamecraftsmen.com)*
+
+> Our business is built on serving families and children, but we can't do it without our software infrastructure. Noah has not only kept our systems running reliably, but improved them over time, while showing care and consideration for all of our stakeholders. Noah’s skill with devising multiple solutions to achieve our business goals—and then implementing them—significantly improved our business execution success. I implicitly trust Noah with our software platform.
+*Reed Bilbray, Founder & CEO, [Zaniac Holdings, LLC](https://www.zaniaclearning.com)*