1. 13

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

Please be descriptive and don’t hesitate to champion your accomplishments or ask for help, advice or other guidance.

  1. 7

    I hit a few snags documenting my low-budget PBX setup when we had a series of power outages last week. Everything came back online, but I couldn’t get any audio through the phones when placing/receiving calls. Rebooted, and the web interface wouldn’t come up. So I upgraded the host to a Raspberry Pi 2 and things work perfectly and much faster. I hope to continue with documentation this week!

    I’m also reading Ingrid Burrington’s wonderful Networks of New York book, which explores a lot of the interesting network infrastructure within our cities that you might not notice just walking by. I could see myself working on something similar for Philly, though currently I’m very focused on one piece of this: determining what each manhole around me is used for.

    1. 6
      • Got stranded in the burbs when my motorcycle battery died. Bought a replacement dry-charged battery and activated it by the standard process of pouring sulfuric acid onto toxic waste. I avoided several very exciting failure modes to produce a working battery and got home. Then a parallel parking car knocked it over, so now I have some more things to fix. Much like a community website, a vintage motorcycle is a gift that keeps on giving (ctrl-f for “living thing”).
      • Took a run at learning nix and nixos and got stuck on documentation, but got a decent blog post out of it. Scheduled a calendar reminder for a year from now to check the manual for improvements or see if Luc Perkins’ book is out.
      • This week I’m practicing multitrack audio editing in Ardour, which looks a lot shmancier than audacity.
      1. 2

        I ride a 1980 GS850 in the summer. It’s ugly but damn it was cheap to buy. It took a long time to get it road-worthy but now it’s pretty reliable. The only time it has failed me was when the throttle cable broke 1/2 mile away from work. I managed to get it home by replacing the throttle tube with vice grips. That ended up working way better than it should have.

      2. 5

        For work I’m making a nicer API to combine and filter streams of numbers so they can be easily visualized (in d3). After some experimenting I’ve finally got something that doesn’t requires much boilerplate code when using it. Besides that I’m wrestling with d3 to get something on the screen.

        For otherwork I’ve been figuring out how to print receipts with Chinese characters on a receipt printer using the Windows API. After some days of looking through the incomplete API docs and Notepad++ source I’ve got it working. There must be an easier or better way, but I’m not familiar with Windows.

        For fun I’m reading through Clean Code.

        1. 5

          I had some fun last week creating a small interactive checklist program with a curses interface, which I gave an Elm-style architecture. Only thing is: curses can only create interfaces that take over the entire terminal screen. I’d quite like the checklist to take only as many lines as it needs, and to remain visible like any other program output when I exit.

          If I feel like it this week, I might look into creating a takes-up-only-a-few-lines TUI using prompt_toolkit. On the other hand, I might bypass prompt_toolkit and figure out which VT100 codes to send. One, the other, or something else, as my whimsy takes me.

          My long-term thing I’d quite like to do, by the way, is to create GTK or Qt programs for the desktop; but every library I’ve found so far has been unappetizingly imperative in style. If anybody knows a desktop GUI framework they’d like to recommend (especially if it’s Elm-like!), my ears are open.

          1. 4

            Just got internet hooked up to my new appartment!

            So $work wise I’m looking for a new one, I have a dedicated office in my new home which will be very pleasant to use (once it’s clean), so I’d like to find some remote work. I’d like to do stuff that’s not web related, but I’m not going to push away web backend jobs if they come my way.

            I’m also taking care of my parent’s dog for the week, as they’re off on vacation, playing around with my personal server and cleaning the appartment.

            Towards the weekend I’ll be helping out at the Laval beer festival, if any of you are around the montreal region do come around, it’s going to be a blast.

            1. 4

              I wrote an article about taking an now-unsupported (but still working) energy monitoring device and graphing its output in Graphite: http://blog.bityard.net/articles/2018/July/graphite-and-the-energy-bridge-to-nowhere.html

              I almost submitted it to lobsters but I don’t think anything in there is novel enough to warrant placement on the front page.

              1. 4

                Last week’s bike trip was even more awesome than I had hoped. We had a few mechanical issues, but we were prepared and everything worked out. We circled the Holy Cross Wilderness area, and the scenery was absolutely beautiful. Now I need to go through the roughly 800 pictures I took during the trip, and I’m hoping to get them posted to SmugMug later this week.

                Besides the pictures, I need to catch up on the SWI Prolog course I’m taking. I read a little bit during the trip, but I’ve fallen far behind on the course work :-/

                At my job I’m finishing up a couple small features and a couple bug fixes before our next release.

                1. 4

                  I’m taking on the algorithms on strings coursera course

                  1. 4

                    Nothing specific! My app has been finished and as of $work, my bureaucracy filled vacation starts. Considering to finally add progressive image support to Common Lisp JPEG library. Long overdue really but not sure I’ll even have time to look until Friday.

                    1. 4

                      For $career, I’ve started using Linkedin Learning. It’s provided for free by $employer, and since course completion can be “advertised” on your LinkedIn profile, I’m throwing myself at a few different learning tracks centered around DevOps, Data Science (and ML and stuff), and leadership/management. I learned a bit about k8s, I didn’t know jack before; hopefully this is good for my career and good for my brain. And I mean, good for fun too. The k8s stuff was fun.

                      For $work, we’re still in “groundskeeper mode”, in the sense that it’s not very exciting, we’re just making sure that nothing blows up and that the damn kids stay off our lawn. Fiddling with config files in order to tweak a timeout isn’t especially stimulating (at least in this case). We should be getting a brand new pile of fun soon, meanwhile I’m softly murdering a legacy app that has no maintainers (I actually had to volunteer to get it. Which reminds me, the manager who granted me authorization to work on that has left on Friday. I gotta work faster before I lose the permission to fix it.)

                      For $fun, I’ve been bringing back to life an old-ish ATx box that has a RAID card in it. I tried installing Void Linux on top a few times, but I am pretty sure that the RAID array doesn’t like it when I don’t talk to it like a RAID array, even when I try to disable it. So after a bit of clever googling I found out that I probably need to use mdadm. I found a few things about that anyway. Hopefully, I get to throw this machine on my ridiculous server network of 3 (soon to be 5) laptops, running all-of-my-private-stuffs-and-experimentations, ranging from upspin to gitea to radicale (and even more!) I like my “cluster”. Batteries act as a free UPS, to boot!

                      1. 4


                        • Understanding a legacy application and mapping out its data flow to understand the cost/risk of reimplementing it. It’s not hard or complex, but there is a lot of it and the bits that have been abstracted do not always match the bits that needed abstraction.
                        • Supporting an experiment in the company to replace “filling in a big form” with “asking data aggregators for the contents of the form”.
                        • Building visualisations of the micro service map and data flow in our not-yet-legacy applications by mixing our automated tests with our ELK-based event logs.
                        • Theoretically replacing some hard-to-manage encryption with easier-to-manage encryption, though I doubt I will have time.

                        !Work: I have a couple of projects on the go which I need to get to releasable state so I can both get some feedback on them and stop fretting about them! One is a book, one is an app. Unfortunately neither has moved much lately because I’ve been either low on energy or concentrating on other things. While we talk about other things, I have a choir practice, a dance-out, a band practice, and a music session to run this week.

                        1. 2

                          I’ve recently started a new job, super tiny company (I’m the second programmer) and it’s been a blast. We are working in the programming education sector. This week I’m investigating moving part of our renderer from typescript to wasm (compiled from rust), if that proved to be too much effort for what is worth I will be working on reducing GC of the current renderer to the minimum (same as last week).

                          1. 1

                            Setting up a second microserver as NAS for a family member, debating whether just go with FreeNAS or put something like Ubuntu & LXD on it. (Probably just FreeNAS. ZFS & everything else installed for sharing to Mac basically equals winner here.)

                            Really need to migrate my physical server back onto a couple of VMs - I’ve just not ended up running the services on it that I expected, which means it’s a very expensive static web server right now. Also sorting out infrastructure for $newjob whilst still working $currentjob and seeing the family.