1. 8
    What's your 2016? ask

2016 is coming to a close, so would you like to share your * archived in 2016 * failed in 2016 * plan in 2017


  2. 4

    Achieved in 2016:

    • Lost weight at sustainable rate according to plan (and maintained a level of activity I’m happy with, but that’s harder to measure)
    • Dressed in a way that I’m happy with
    • Enjoyed holidays and social occasions
    • Arranged future holidays and social occasions
    • Continued to get paid
    • Acquired Irish citizenship

    Not achieved in 2016:

    • Complete home purchase (may yet happen, likely to be January realistically)
    • Make paperdoll actually useful and documented. I made a release and will continue to work on it because I enjoy it (it gives me a chance to write some really polished code the way I think is right), but it’s been less of a priority since I found out about FreeK and various alternatives doing the same thing.
    • Save money according to plan. I made a conscious choice that I prefer taking more days off for holidays and events, and would rather spend fewer days/year working and delay my “financial security point” (which may mean retirement or something else) by a few years.
    • Write substantially. Accepted that I don’t actually enjoy writing as much as I sometimes like to think I do, and I’m ok with never writing a book.

    Failed in 2016:

    • Get paid a bit more.
    • Blog every month. Almost achieved, but fell at the last hurdle. I think it’s a good habit to keep writing at least a little.

    Plan in 2017:

    • Continue to lose weight according to plan (this is a multi-year project given how badly overweight I was/am and the rate I consider sustainable)
    • Continue to get paid
    • Enjoy holidays and events
    • Keep planning more holidays and events
    • Make some progress towards an implementation of a Noether-like language. (Possibly Noether itself, since what I thought was the implementation turns out to be an empty directory).
    • Blog every month
    1. 1


      I have tried to wade through https://www.infoq.com/presentations/noether, but left with a feeling of emptiness…. I don’t really know what it is. Or looks like. Or how to say “Hello World”. Or solve a toy problem.

      1. 1

        It looks to be more a design for a set of semantics than an actual language implementation. I think it’s the right design, but I think it needs an actual implementation, and ideally a cost model.

    2. 2


      • Bought house
      • Adopted Org-mode’s Capturing and Agenda for planning & organising my life
      • Fixed myriad of nearly 9-year-old UTF-8 bugs in my JSON parser (oops!), c.f. SBJson 4.0.4
      • Updated SBJson to target the most recent RFC , c.f.SBJson 5.0.0
      • Wrote my first Emacs lisp module, now starred by 20 people; c.f. ox-jira.el
      • Started, if a bit haltingly, Brazilian Jiu Jitsu. Two decades ago I used to do Judo, but we fell out
      • Gave a 45-min talk about my education and career to 15-18 year olds at a local school (transcript)
      • Sinking deeper into the Emacs cult by adopting it for mail (first gnus, now mu4e)
      • Migrated critical DBs & PCI-DSS infrastructure off of legacy architecture to AWS
      • Write 7 blog posts
      • Had Christmas cards in the post before my mother. Ding!
      • Picked up my guitar and started playing / practicing a bit again. (It’s been years…)
      • First full year of working remotely
      • Paid someone £20(?) to design a logo for my blog that I’m really happy with

      Failed at:

      • Move last work project from legacy DC to AWS. (It was one of my top priorities, but I couldn’t do it without help and it wasn’t their top priority.)
      • Take up hiking & camp out for at least 1 night in 2016. Didn’t even go hiking once!
      • Not buying any more guitars… :‘(
      • Reading Gödel, Escher, Bach: An Eternal Golden Braid. I read some of it, and learnt some stuff, but had to give up. I found it too long-winded and repetetive, and simply wasn’t making any progress. I gave it away to avoid it causing me guilt every time I saw it on the bookshelf.


      1. [Comment removed by author]

        1. 2

          Hmmm, is (Gnu) Emacs at the point where it works well for today’s “rich” messages?

          It does the job for me, at least. The shr renderer, used for the eww browser embedded in Emacs since v25(?), is pretty decent. You can configure your own “convert this HTML message to text” if you want, and if all else fails both Gnus and mu4e has the ability to dump HTML messages into a temporary file on disk and open in your system browser. (It would perhaps not be easy to respond to such messages, but they are usually informational I find.)

          Saying that, I may be able to simply because I don’t rely on email for work. (We are a distributed company but use email extremely sparingly, mostly communicating in Slack / issue trackers / pull requests.)

          Well, ignoring the fact that I want off of Linux

          I use https://emacsforosx.com/ ;-)

          BTW, first house, or just a new one?

          First house, though an old one. It’s the old coach house adjoining a derelict mansion (which I affectionately refer to as my “garage conversion”). I owned a flat in London in the past, but we rented for a year near here to figure out if we liked it before we commited to buy. I always wanted a castle when I was a kid, but now I have the next best thing: I live next to one and get to see it every day, but don’t have to maintain it :-)

          1. [Comment removed by author]

            1. 2

              Sorry, moving to Apple’s red headed stepchild is just not going to happen

              What does redheads have to do with anything?

              I like Apple hardware, for many of the same reasons jcs does but I also like their OS. I like that it just works with minimal customisation. Which leaves me more time to tinker with customisation where it really matters: my Emacs config ;-)

              Anyway, I’ve got at least two years until running Ubuntu 14.04 becomes nonviable,

              In what way? On that hardware? Or is it no longer supported beyond that point?

              I want to see where I can get in that time, as well as others following the @nickpsecurity direction.

              Which direction is this? Any links? I have been thinking about venturing outside Apple ecosystem for a while myself. For “future proofing”, “before it is too late” if you will. I don’t relish the idea, but I live almost exclusively in GNU Emacs, terminal with a unix-like shell (preferrably fish, zsh, bash, whatever), and a browser, so should be able to use practically anything that can run those three. Maybe one of the BSDs?

              I use email very heavily, any sort of real time messaging system like Slack is beyond the pale,

              I think for most people here Slack replaces people picking up the phone and interrupting me with a call (they simply can’t come over to my desk since most of us are working from home) and is thus much more async than the alternative.

      2. 1

        Used [coap][http://coap.technology/] in anger. Think of it as http over udp for very constrained devices over low bandwidth connections.

        • The reason for doing such a thing is to make it simpler to communicate with and control IoT with a much lower “barrier to entry”.
        • The WWW is the greatest “proof of concept” for the idea.
        • The current C/C++ libraries are not very friendly or easy to use, which really chews into the value. (Compared with doing http with ruby say)
        • We made the mistake of going with a schema required serialization (protobufs) instead of schema-optional serialization like CBOR. This makes the contents of your payloads opaque to middleware debug tools. Which is A Very Bad Thing.
        • Tools like Copper make you jump up and down and love coap.
        • Tools like tcpdump and Wireshark understand coap…. (and just about everything else on the planet). ps: If you don’t know what wireshark is, stop reading this NOW and play with it. It’s free. And wonderful.
        • Thinking RESTfully doesn’t come naturally if you haven’t been working in that space.
        • Thinking about caching and resource naming doesn’t come naturally it you haven’t been working in that space.

        Used protobufs in anger….

        • Surprisingly painfree to use.
        • Interestingly enough it’s data driven…. and the data schema is specified in, you guessed it, protobufs, which should open up quite a few possibilities.

        Refreshed my C++ knowledge.

        • My embedded environment had stuck me at pre C++11 levels.
        • Part of me is going “Wow! This is so so so much better than it was.”
        • Part of me is going “Too little, too late, I want to move to D”

        Failed at?

        Getting things changed that urgently need to be changed.

        Plan for 2017….

        • Changing things.
        • Getting deeper into D language.
        • Make IoT really simple to communicate with and control.