1. 16

What are you doing this week? Feel free to share!

Keep in mind it’s OK to do nothing at all, too.

  1.  

  2. 8

    Started the MIT Distributed Systems course with a former colleague: https://pdos.csail.mit.edu/6.824/schedule.html

    We’re going through papers, making notes and doing exercises. :D

    1. 6

      I am still learning Haskell. I expected to fail spectacularly for the third time, but I wrote my first two working programs over Thanksgiving weekend! I’m a polyglot (production code in 6+ languages) but I’ve never worked in a language which required so much mental boilerplate to understand how to make real programs work before.

      Overall, I’ve learned a bunch (Monad, Applicative, Type Classes) and I’m going to try to port one of my larger C++ projects over to Haskell. The ecosystem of Haskell is also a lot more impressive that I thought it would be: stack, stackage, haddock, hoogle, etc. The other thing which surprises me is how terse Haskell code ends up.

      1. 1

        I’ve tried to learn Haskell over and over and over again but can’t seem to get the concepts to stick. It’s a tough language.

        1. 1

          I’ll write a blog post or something when I get more comfortable. It probably helps that I’m ticked this is the only language other than my first I’ve had real issues learning, so I’m slogging through it. You have to read Haskell a lot more like math than any other programming language I’ve come across in terms of symbology being very explicit (and different) and knowing the definitions of things inside and out (use analogies) is ridiculously important. I really have to take a lot of time to read through the definitions of things. The wikibooks on it have worked the best for me.

          1. 1

            Sounds good. Please keep me updated!

        2. 1

          I also have a real mental block with Haskell – there is a lot there that I like the theory of, but I continually founder on the same damn rocks. The leap from Haskell babytalk to competence just seems more unbridgeable than that between any of the other languages I’ve learned. Still, I keep plugging away at it.

        3. 4

          Now that NaNoGenMo 2019 is over I’m going back to poking around making a roguelike in JS - this project’s been sitting on a shelf for a 7 months, looked at it last night and for some reason when a new dungeon is generated the player doesn’t get placed properly inside the map, but in some semblance of their location on the old map… oh, and also my day-job doing React-type stuff.

          1. 4

            Getting onto a much earlier schedule, and starting to run the house more proactively than I had in the past. My wife is currently battling a couple of chronic diseases, so I’m trying to learn how to take care of both of us and hold down a job. The plan is to try to get as many work hours in while she’s sleeping as I can, so I don’t have to do so many while also trying to make sure she’s taken care of.

            Been playing Slay the Spire quite a bit, it’s proved to be a really fun game to play while something else is going on in the background.

            For side projects, I started on a Web-based spreadsheet idea over thanksgiving, but it’s more idea than anything right now. I was able to start on a stack-based scripting language for it.

            1. 1

              I loved Slay the Spire. Looking forward to the 4th character DLC?

              1. 1

                I am, dunno when it’ll come out on the Switch. Right now, I’m working on grinding out Ascensions with each of the characters. I’ve not been able to be 100% consistent with any of the characters yet, I just unlocked Ascension Level 2 for the Silent.

                For me, getting lucky/broken enough to get an ascension seems easiest with the Defect, then the Ironclad, and then the Silent. My wins so far have been Defect -> Silent -> Ironclad -> Defect (Asc 1) -> Ironclad (Asc 1) -> Silent (Asc 1).

                It’s fun to see what different ways things can combo into each other, though it seems like artifacts can have a rather strong effect on what does or doesn’t work as well.

            2. 4

              Personally:

              Professionally:

              • Demo command line completion in a program I’ve been writing
              • Facilitate teammates
              1. 3
                • Practice my Rust via Advent of Code
                • Continue writing 400 words/day of content for my visual novel
                • Post a Patreon update for said visual novel
                • Get work moving on my (regular) novel again
                • And file my expenses at work. (I have a frustrating amount of anxiety around this, despite Expensify making this so easy)
                1. 3

                  Greetings from Australia! I’m speaking at YOW, so will be spending my time revising the talk, giving the talk, and skipping out on conf events to hide in zoos

                  1. 2

                    I’m attempting a crash course of J by doing some AoC problems with it. So far I managed to do day 1. I’ve never even looked at the language (or any language like it) prior to yesterday so most of the time I have no idea what I’m doing, but I think it’s gonna be fun.

                    Other than that, maybe I’ll try to improve receptor or start my own client. I set up synapse on the raspberry pi I bought a few weeks ago and it seems to work well enough, but receptor is its only client and it’s pretty clunky. I’m also looking for ideas on what else to run on the pi.

                    1. 2

                      I’m on a long vacation, so that means only one thing: solving AoC 2019! (Here’s a link to my solutions in OCaml)

                      1. 2

                        setting up a new laptop! Bought a Dell XPS13 from a coworker for very cheap and finally got arch installed on it (took me like 4 tries but I’m finally done with that. Currently typing this from the new laptop :)

                        firefox is slow though so I’m looking through the docs and forums trying to figure out how to make it act normal.

                        1. 1

                          Which version/year of the XPS13? I have a 9370 and after a couple of months still ashamedly running WIndows because I like the idea of properly optimised battery/power management and video drivers, but I haven’t done any work yet to figure out how close Linux is to Windows. My last XPS 13 (the first one they produced) killed batteries pretty regularly, but no idea if this could have been driver issue.

                          1. 1

                            I run Arch Linux on my 9370 without any problems. The battery lasts all day, and the display is beautiful. I strongly suggest giving the switch to Linux an honest try.

                        2. 2

                          Work:

                          • We’re partially code-frozen for the holidays, so only super critical stuff is allowed to go in before the new year. So, a few small fixes (pushing to get most of them out tonight, sigh), but otherwise mostly planning and prototyping improvements that won’t land until after the holidays.

                          Personal:

                          • I reformatted an old Ubuntu server I built at home, hooked it up to a monitor and keyboard, installed the latest version of Pop_OS! on it and am using it as a desktop. Pop is really nice! But that kicked off a yak-shave project of rewriting my config management setup on Linux (e.g. installing + configuring packages, not just symlinking dotfiles), so still tinkering with that this week.
                          • Planning winter travel — I’m meeting a friend in Flores, Indonesia for about a week, and working remotely from Tokyo for a week as well. This is somewhat complicated by the fact that my sister is due to have a son sometime in the next couple weeks; most of my family is Orthodox Jewish (I’m an atheist), so they’re hoping I could make it to the bris.
                          1. 2

                            I will be continuing working on changing the top level syntax in Next Generation Shell.

                            The initial idea that a simple script should look like

                            ls -l
                            some_prog
                            my_other_prog
                            

                            clashed with the reality, where most scripts that we wrote (at work) in NGS are actually comprised of mostly other things and not running external programs. After this realization, I looked into random bash scripts and confirmed: lots of

                            • variables assignments
                            • ifs
                            • cases
                            • loops

                            In addition, considering the built-in functionality of Next Generation Shell, it will be calling less external programs than bash.

                            Now, the change.

                            Old style (top level is commands syntax):

                            touch xyz # example of external prog
                            {
                              big_chunks.of_code() 
                            }
                            

                            New style (top level is expressions syntax):

                            $(touch xyz)
                            big_chunks.of_code()
                            
                            1. 1

                              So far for $client:

                              • Finally got the prod db cluster nodes backing up directly, thus allowing decomm of a legacy machine that was doing backups of the db.
                              • Finally got GoAccess (log based analytics) setup with combined access logs from the load balanced varnish instances

                              The rest of the week will likely be taken up with:

                              • Introducing the other full time dev to the various parts of the ever more complex stack that makes the whole thing work
                              • More planning for multi-site operation.

                              Also, for $company, I’d like to:

                              At $home I have more plumbing to finish and it seems, a trip to Singapore to plan.

                              1. 1

                                Catching up on what I missed on vacation. Otherwise, writing a bunch of “what if” scenarios to extend an existing codebase for the needs of my team.

                                Otherwise… not much outside the day job because I’ve got too much life stuff going on.

                                1. 1

                                  I gave a lightning talk (~8m) about contributing to OSS from the workplace, specifically about the experiences of my team. The rest of the week I will be rolling out a new solution for improved logging from our orchestrator. We use Nomad (from Hashicorp) for running our internal cloud services and we endedup building a custom module for filebeat to improve the logs that we gather about the different jobs. It is built on top of filebeat and we will be deploying it as a system job to all of our datacenters.

                                  Other than that, bootstrap a new M3 cluster for the LTS of our prometheus metrics.

                                  1. 1

                                    Working on folding my little OpenGL 2D graphics engine into ggez. Not sure quite how it’ll look in the end but I think it’ll be at least vaguely useful.

                                    Also, working on work. A project needs me to rescue it from itself. Of course if I’d done that two weeks ago it’d be done by now, but, brains are tricky beasts.