1. 16

This is the weekly thread to discuss what you have done recently and are working on this week.

Be descriptive, and don’t hesitate to ask for help!


  2. 5

    Making a Lisp for writing LLVM assembly. I was working on another language, but kept thinking about this, so now I’m thinking I’ll implement the other one on top of this. Maybe I’ll find that it’s fine on its own, M-expressions all over again.

    1. 4

      Getting annoyed with myself for using my Apple Watch to track gym/swim sessions instead of my sports watch - as it means the data is persisted in the health data stored on my phone. (Sport watch exports .fit files, which I store on Dropbox & upload to Strava for tracking.) It’s annoying me so much I’m going to work on my prototype app to export the workout data from the phone to .tcx files, so I can store/upload them as I would .fit.

      Also picked up a new car at the weekend (Ford S-Max - 7 seats!) which I feel needs connecting to a computer and turning on a bunch of software knobs that only the stealerships can usually fiddle with. (Three cheers for forscan!). Also need to sell the old car ?

      1. 3

        My buddy got a new car, hooked up the tuning computer, tuned things, tuned them wrong, threw a rod, and had four years left on a car note for a car he only drove for two months. He ended up getting it fixed, but I don’t think I’d ever seen his wife so angry.

        So, you know, good luck.

        1. 1

          Hah, wow. That’s … certainly a horror story. I’m always a little cautious with fiddling around in car electronics, simply because of the potential of something simple going wrong causing a horrific accident.

          Mostly I want to see what of the “extra” settings I can turn on that the original buyer didn’t spec from Ford, rather than engine tuning. (I’ll pay someone else to remap it when/if I want more oomph, then it’s their fault for breaking it ;-) )

      2. 4
        • An XML parser for Elm, which currently doesn’t exist. https://github.com/eeue56/elm-xml
        • Managing the migration of a few big Elm packages to elm-commmunity and finding maintainers for those
        • Writing an “about me” in four different languages (Welsh, English, Swedish, Norwegian) to both practice my translations and to document my favourite projects.
        • Getting ready for my job change, as I’m leaving NoRedInk at the end of this week
        1. 3

          This week I am finishing up slides for my two FOSDEM talks(hopefully) and filling reports for the EU ahead of a review. I need to do some prep for a hackathon next week in there too.

          I made some real progress in bringing up wifi on a MediaTek MT76x0 driver at the weekend. This week I am hoping to figure out the firmware differences so I can start loading that correctly.

          1. 3

            Set up Syncthing and Simpletask for todo tracking, it’s a very nice combination using the todo.txt format. Simpletask’s UI is a bit programmery, but I’m a programmer so it works out OK. I’d been using Trello a few years, but the UI is painfully clunky on mobile (I don’t have Google Play Services, so there’s no app) and Atlassian buying Trello was a nudge to get off it. I also use Habits for the daily checklist.

            Finished the homepage for my new consulting company. I’m really happy with the tweaks I made to tufte css and Hakyll has been decent for generating a site without spending an infinite amount of time tinkering with details. This week is a whole lot of tedious setup like bank account, ein, templates for reports and invoices, etc.

            1. 2

              This actually looks like a promising solution! How do you like it so far?

              Are you planning on doing a write-up for that setup, too? I really like reading about workflows/personal organization.

              1. 3

                It’s been solid, my only gripe is that I can’t manually order tasks on the phone. There’s a lot of clever sorting options, but “what I tell you” is really the only sane one. I plan on blogging it in a few weeks or months when it’s a comfortable routine. A workflow post of something I’ve been doing for a week is probably not going to stand the test of time - both because I haven’t found all the little tweaks and because sometimes these systems fail entirely after the initial burst of enthusiasm fades.

                1. 1

                  Sounds good, maybe I will try it out before.

                  Still looking forward to the post!

              2. 2

                Set up Syncthing and Simpletask for todo tracking

                Careful there. Syncthing isn’t doing anything fancy when the textfiles have been updated on both sides (it will pick one version and upload it to both sides), so in cases where you’re editing both sides offline, you’re bound to loose some tasks you’ve created. Of course syncthing has versioning, but recovering your tasks from history is a non-solution.

                Generally I’d be vary of any “simple” programs that tell you to “just” sync over Syncthing, Dropbox or similar. Many of them haven’t thought this through.

                1. 1

                  Thanks for the word of warning. So far I’m doing everything but sorting on my phone, so it’s a non-issue, but I hadn’t thought to test that failure mode.

              3. 3

                On the work side, same-old, same-old: working on our extremely fast embedded realtime traffic-capture-and-reassembly code to make it even faster, all while dealing with requests from upper management to fix bugs that are caused by management’s decisions to maintain extreme backwards compatibility (even after pointing out via our telemetry that not a single paying customer has a version that old…)

                On the personal side, I got a bug in my ear about terminal emulation last week, and as an experiment tried to find the simplest, smallest set of terminal capabilities that are supported out-of-the-box on every system I looked at. Turns out good old ANSI.SYS, known as “pcansi”, still ships by default in most termcap databases and has only 16 escape sequences (two of which are meaningless on modern *nix systems).

                So I’m writing what will be may be the world’s smallest usable-out-of-the-box terminal emulation library, just for kicks. Right now it’s feature-complete and about 500 lines of C. I think I can shrink that down a bit more. After that, maybe roll a tmux-alike without so many features? Minimalism FTW…

                1. 3


                  http://lorepub.com (storefront stuff)

                  Haskell Almanac (http://lorepub.com/product/cookbook)

                  Training material for Lambda Conf ‘17 (https://www.surveymonkey.com/r/FW57FF3)

                  Whatever the usual Github OSS chores happen to be.

                  1. 2

                    For work, I’m going to be doing the usual. No rocket science, some unresolved dependencies to other teams, some cringing execs that wish i also could bend time and space.

                    Outside the office, in getting close to a satisfactory implementation of the jira api on the command line. I have fairly good support for custom fields on reading, and I’ll add in custom fields on writing as well (matching on name). I’m missing a command to attach and retrieve files, and i think I’m pretty much done. I might implement the dev-status api because it gives access to branch names and PR numbers.

                    If i also get something set up for Github, i won’t have to leave the command line for 95% of my work, the remaining 5% of which could be captured in mutt.

                    1. 2

                      I’ve been thinking a lot about Vim and flow.

                      Vim is all about efficiency of edit, which explains 1) why people use hjkl instead of the arrow keys (‘because you don’t need to leave the homerow!’), 2) why people dislike the mouse (‘you don’t need to leave your keyboard’), and 3) why people prize minimizing keystrokes so much. Except that I regularly use the mouse for browsing and still prefer jjjjjjjjj to nfoo<cr>. In fact, the former feels inefficient, but the latter feels downright frustrating.

                      I think, for me at least, the context switch problems goes much deeper than “keyboard to mouse”. It’s about having to think about something other than the text transformations I need to make on my code. I can hammer j without paying attention to it, but for searching and f I have to think about the search. It’s a small difference, but it’s enough to make the latter ‘easier’ to do. And where that really becomes a big deal is when I need to repeat a complex edit: doing it each time is slow and tedious, while writing a macro breaks the flow.

                      What I really want is code transformations that are mindless enough that I don’t get distracted and are fast enough that I don’t get bored. I poked at a few IDEs to see what they do differently but didn’t find them too interesting. So I’m digging through obscure vim plugins for ideas and logging data on how I use vim commands. Then I’ll try to gouge out my eyes with a spoon to procrastinate having to write a Vim plugin.

                      Also, setting up slate.

                      1. 2

                        I realize this post is full of buzz words, but:

                        Since Tokio released version 0.1 last week, I have been writing a StatsD clone in Rust. I wanted to dive into asynchronous servers and this seemed like an achievable project.

                        Outside of work and programming, I am trying to get myself into the habit of exercising again. It’s hard to get motivated after work to go to the gym and especially hard to do it alone. I have also been thinking of getting into juicing. One of my coworkers has suggested an Omega brand model but I don’t know if I want to spend over $300 for my first juicer. It may be worthwhile though in the long run.

                        1. 1

                          A couple of weeks ago I planned to work on my Sokoban on a TV project. That’s still going, but I’ve been fighting off a cold, which meant I’ve had to put it mostly on hold. I’ve made a little progress, though. I’ve now figured out button debouncing and have a diagram to wire up a muxer to make a 6 button controller (up, down, left, right and a, b), which for Sokoban will be level selectors. As soon as I have that working, I’ll try to start sending a signal to my TV over an RCA cable. THEN, I can put it all together, and move some boxes around.