{"id":55,"date":"2009-05-20T15:57:24","date_gmt":"2009-05-20T22:57:24","guid":{"rendered":"http:\/\/kai.mactane.org\/blog\/?p=55"},"modified":"2009-10-02T16:11:47","modified_gmt":"2009-10-02T23:11:47","slug":"site-updated-and-software-publication","status":"publish","type":"post","link":"https:\/\/kagan.mactane.org\/blog\/2009\/05\/20\/site-updated-and-software-publication\/","title":{"rendered":"Site Updated and Software Publication"},"content":{"rendered":"<p>Just updated <a href=\"http:\/\/kai.mactane.org\/software\/\">my software page<\/a> to bring it a little more up-to-date with what I&#8217;ve been doing in the past few years. It&#8217;s funny to see how my coding style has evolved and grown continually over that time. There were some things I used to be showing off that were almost totally procedural; even some of the things I&#8217;m still linking to (but which I wrote two or three years ago) make very little use of functional programming or anonymous functions in JavaScript.<\/p>\n<p>It&#8217;s really tempting to completely refactor some of that stuff, but I haven&#8217;t got the time. I actually have at least one more software project that I should really package up and publish&nbsp;&mdash; a thing that might be helpful for system administrators who are being annoyed by SSH dictionary attacks.<\/p>\n<p>Writing something that works on your own machine is one thing. Making a full release? That&#8217;s quite different! It needs documentation, and that documentation needs to explain all the things that you &#8220;just know&#8221;. It needs some kind of install mechanism, or else it needs to explain how to install the stuff manually&nbsp;&mdash; and you need to make absolutely sure that you haven&#8217;t forgotten any of the things you wrote, changed, or tweaked while you were making it work!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Just updated my software page to bring it a little more up-to-date with what I&#8217;ve been doing in the past few years. It&#8217;s funny to see how my coding style has evolved and grown continually over that time. There were some things I used to be showing off that were almost totally procedural; even some [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[28,52,38,15,51,53],"_links":{"self":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts\/55"}],"collection":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/comments?post=55"}],"version-history":[{"count":2,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts\/55\/revisions"}],"predecessor-version":[{"id":134,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/posts\/55\/revisions\/134"}],"wp:attachment":[{"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/media?parent=55"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/categories?post=55"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kagan.mactane.org\/blog\/wp-json\/wp\/v2\/tags?post=55"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}