1. 19

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

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

  1.  

  2. 10

    I purchased a used Pixel 2 XL for my spouse and I shall back up her old phone and restore it to the new one. I will gain whatever administrative roles are required to remove the pre-installed carrier stuff (I bought the wrong used phone…). Then I will replace the motherboard/CPU/ram/GPU/PSU (“A”) in my main rig and put the my old parts in my son’s rig and his old parts into some case I probably have laying around for my spouse. (My son and I both like our current cases.) Then I will put another motherboard/CPU/ram/GPU (happens to be identical to “A” except for the PSU) in a case my brother-in-law has laying around and give it to my father-in-law for Christmas.

    I feel like Oprah… :) “You! get a device, and you! get a device and you! get a device!”

    1. 10

      Debian packages for Netdata, Domoticz https://www.domoticz.com/ and work on FreedomBox https://freedombox.org/

      1. 3

        Hooray for packagers! Thanks!

      2. 7

        I’m hoping to be doing some Rust learning, by writing a small new project:

        NixME (Nix Minimal Effector) aims to be a minimal binary, that can receive precompiled Nix derivations from nix copy --to ssh://$MACHINE, and unpack them to /nix/store/... as appropriate.

        I’d like to be able to use it in future as a “DevOps” agent, for NixOps or something custom, for remotely controlling a Linux box via SSH (ideally as an Ansible/Salt replacement).

        1. 6

          Doing another entry of my Zelda Starring Zelda screenshot-based Let’s Play:

          https://elekk.xyz/@ZeldaStarringZelda

          And working on polishing my FFVI fan screenplays. I found someone on Reddit who seems might collaborate with me! I am going to send him what I have so far and I hope he’ll help out. I think we’ve already found common ground on where we want the story to go.

          1. 5

            A list of things I want to in my free time:

            • organize content for first episode of a podcast I’d like to start in 2019
            • contact people to encourage them to attend or speak at the conference I’m excitedly attending next summer
            • write some code which communicates to programmers some different forms of logic
            • read some of the several math/logic/philosophy books I got in the last 1-2 months
            • add timings/bookmarks to a meetup video I uploaded months ago
            • plan a virtual conference event for a prog lang for the 2019 year
            • plan an organized effort for documenting a prog lang

            Ah, it’s nice to be relatively healthy again.

            1. 1

              What’s the podcast going to be about?

              I’d love to do one again but my day job leaves too little personal time and I really need to focus like hell on upping more core development skills.

              1. 4

                PureScript, but will likely be about FP in general with a bias towards Pure FP, type theory, algebra, logic, and maybe some other related things.

                1. 3

                  Is there a mailing list I can join to be notified if/when the first episode is released?

                  1. 2

                    No, I was planning on just posting to social media, like Twitter and Reddit and their Discourse for that lang. Is there anywhere else I should post? Or do you feel an email list is different enough that I should adopt one? I’ve never done an email list before.

                    1. 2

                      I’d love to be notified somehow, and I’m apt to miss it in the channels you mentioned unless I’m already following you there. At a minimum, setting up a Twitter account specifically for the show would be a start; but you can set up a free ‘subscribe to get info when I launch’ kind of email list page on the domain you’ll have for it, too, and that’d be grand.

                      1. 2

                        Basically I just want to be notified when it’s available, otherwise I’ll forget to listen. I don’t want to follow on Twitter because I closed my account months ago. It’s too toxic a platform.

                        1. 1

                          https://www.pure-pandemonium.club/ I can’t figure out how to get an email list, but I might do that if you can recommend an easy way to do it.

                          1. 1

                            I can’t give step-by-step instructions (because I don’t remember, and you’ll figure it out I think), but you could set up Feedburner. You’ll need a feed.xml file. I don’t remember whether or not you’ll need a sitemap.xml file, but you ought to have one anyway for SEO. Feedburner seems to have an “I am a podcaster” option, but I don’t know what it does.

                            I remember it being easy to set up. Any time I write a blog post on my own site, my subscribers get an email with the content of that post, and a link to view the original page.

                            1. 2

                              Here’s an RSS feed for the blog posts: https://www.pure-pandemonium.club/index.xml I’ll set up a separate RSS feed for the audio files.

                              As far as email notifications, it looks like ifttt.com makes it super easy to get an email notification for new RSS feed items. And mailchimp.com has an RSS-to-email thing, too: https://mailchimp.com/features/rss-to-email/ I’ll take a look at that and other options then post here the solution I find.

                              Looks like Hugo gave me a sitemap.xml file, too, FWIW: https://www.pure-pandemonium.club/sitemap.xml

                              It would be really nice to have RSS feed subscriber analytics, but I don’t know how to do that. I don’t want to use Feedburner for various reasons, so perhaps I can just set up something like https://github.com/portable-cto/rss-to-email on a FaaS…

                              1. 2

                                In the meantime, send an email to mgmt @ pure-pandemonium.club from the email you want to be notified at, then I’ll add it to the notification list when I’ve found one.

              2. 5

                I started watching Handmade Hero! It’s a total blast, Casey’s incredibly fun as a host and the info is dense. Gonna keep watching some episodes and working on a game this weekend.

                Also, playing Smash Bros. :D

                1. 4

                  I have to work on Saturday but I still have some things planned for this weekend:

                  • I bought a kobo clara HD and started to read my first book on it, it’s about golang. I would like to just get an ‘hello world’, something that will write to a file and something that will fetch the json of a url and ‘parse’ it. To be completely honest I have no idea if this is highly optimistic or not, but we’ll see.
                  • I went to Redhat’s Ansible Automates tour and decided I should stop maintaining my own playbooks. I did multiple tests during evenings this week and I like what I see. I also discovered a bug in ansible 2.5 or 2.6 was fixed and that allows me to dynamically include roles from a yaml I include on the fly. Still need to finetune more but it’s looking ok
                  • buying Christmas presents is also high on my list for this weekend, I hope to really finish that one.
                  1. 4

                    Go is not a great language for processing JSON. I have been banging my head against it for years. It might not be a great starting place.

                    1. 3

                      hmm, i was under the impression that Go is pretty good for processing JSON. Can you provide some examples?

                      I haven’t used Go in production yet but was going to use it for my next project, this might change things.

                      1. 5

                        Here’s some production example I have which is parsing Prometheus metrics return:

                                metricsMap := make(map[string]interface{})
                                if err := json.Unmarshal(body, &metricsMap); err != nil {
                                        return nil, err
                                }
                        
                                retMap := []map[string]interface{}{}
                        
                                metrics := metricsMap["data"].(map[string]interface{})["result"].([]interface{})
                                if len(metrics) == 0 {
                                        return &retMap, nil
                                }
                        
                                for _, m := range metrics {
                                        metric := m.(map[string]interface{})["metric"].(map[string]interface{})
                                        retMap = append(retMap, metric)
                                }
                        
                                return &retMap, nil
                        

                        It works, it’s all stdlib, but cludge-y sounds right.

                        1. 3

                          Yeah, i tried implementing it using the struct pattern(?) and am not sure if it looks any better

                          https://play.golang.org/p/hQFozwUjn7V

                          1. 3

                            You can remove the json:"..." annotations when fields are named the same (capital leter at front is matched when parsing), and in this case also inline more structs, and then you get: https://play.golang.org/p/9xWMnrjc9Hw. The structs is how it’s generally intended to be used. Anyway, static typing requires the types to be written at some point, so there’s no avoiding this, if you want to keep the advantage of a typed language. You can look at the types list as a “schema” for the JSON. In the end, I don’t really understand what’s “not looking any better” here.

                            1. 1

                              I found this helpful for quickly generating golang structs from example json: https://mholt.github.io/json-to-go/

                        2. 2

                          Go has standard library support for JSON, so I’m not sure how it’s lacking. Dealing with optional keys or variable structures is a bit cludge-y, but that’s a problem in most typed languages.

                          1. 3

                            I found Go’s JSON support to be great but potentially confusing for beginners due to Go’s weird mix of high and low level abstractions.

                            It’s not as simple as, say for example, Python’s JSON support where you load the file and it spits back a Python Dict you can use.

                            1. 2

                              To be honest I was kind of hoping it would be more python-like, but it is what it is. I want to give go a try at least and the use case I’m having in mind seemed perfect for it. Unfortunately it will require json that’s highly dynamic so I’m not sure how to tackle this but I’ll give it a a try.

                              1. 2

                                Yeah it’s absolutely NOT python-like, and its adherents see this as very much a feature, not a bug.

                                Not every programming language is for everyone, and it’s not exactly clear that Go is for me, at least for a lot of the work I do most of the time.

                            2. 1

                              I’m not sure how it’s lacking

                              exactly.

                              I generally use points for optional fields which are nil & use json.RawMessage for data that is structured like a tagged union.

                              1. 2

                                Have you tried implementing json.Unmarshaler for the tagged union fields? I’d expect it’s one of the use cases where it should be useful?

                                1. 1

                                  I use this pattern generally.

                                  I haven’t used Unmarshaler before but if I understand correctly, it would be helpful when there is only one ‘output’ struct.

                                  1. 2

                                    My idea, applied to your example, would be something more or less like this: https://play.golang.org/p/MKCosTwXa6N. Depending on how you’d want the data structures to look in the end, there’s some wiggle room for tweaking this/reframing somewhat differently.

                                    1. 1

                                      ah, thanks!

                                      this would have been perfect if we had sum types. type Error = NotFound | Denied

                          2. 1

                            You might enjoy this post: http://eagain.net/articles/go-dynamic-json/

                          3. 2

                            I don’t understand the bit about Ansible playbooks - what does it mean you’re not going to maintain them yourself? then who’s gonna do it for you?

                            1. 3

                              Ansible Galaxy is basically a place where you can publish roles and other people can download them. There are a lot more talented people maintaining playbooks and it always costs me time when a major new version comes out. After talking to some people at the event I just figured I’d at least try using one or 2 roles to see where I got, and I ended up migrating 70% of everything in an hour or 2. The geerlingguy’s roles are what I’m using.

                            2. 2

                              Regarding parsing JSON with Go, I agree that it can be difficult, but you can make your life much easier by using the GoJSON tool. It automatically generates struct definitions from the JSON that you provide for it. Hope you find this useful!

                            3. 4

                              If the postman delivers, I’ll be playing around some with the keyboard.io keyboard and firmware for LED<->Desktop Integration. Otherwise, I recently got a pair of BLE Vr Gloves that’s bin in the ‘closed source nonsense’ box. They deserve some reverse engineering.

                              1. 3

                                Busy weekend!

                                • We’re getting our Christmas tree on Saturday from a lot.
                                • I’m going to see Atmosphere on Saturday
                                • I’m helping a friend move on Sunday!

                                If I have any downtime I plan on flipping through Subliminal: How Your Unconscious Mind Rules Your Behavior by Leonard Mlodinow.

                                1. 3

                                  Still working my Exercism problem. My mentor on there crafted a positively gorgeous hint response that laid out the thought process behind solving the problem, including the use of truth tables and peeling apart the problem and solution with abstract logic.

                                  I look forward to digging in and applying that to my wetware in hopes of not just solving the problem, but growing the necessary machinery to get better at solving such problems in the future which is my goal.

                                  1. 1

                                    including the use of truth tables and peeling apart the problem and solution with abstract logic.

                                    That sounds very satisfying! What’s the problem in question?

                                    1. 2

                                      You’re gonna be totally disappointed :) It’s a leap year calculator. Yes I am very much a slow learner for this crowd :)

                                      I’d implemented my solution in the naive way using 3 conditionals, and my mentor wants me to implement it as a single conditional using nothing but boolean logic.

                                      I’m having trouble figuring out how to do that, so he picked the problem apart and expressed it in non syntactical terms using logic, with a supporting truth table.

                                      1. 3

                                        I’d implemented my solution in the naive way using 3 conditionals, and my mentor wants me to implement it as a single conditional using nothing but boolean logic.

                                        Yeah, this a thing I’ve been trying to give more and more notice to in my own code.

                                        I had the fortune of studying formal logic before really getting into programming. It’s nice to be able to fall back on those skills, esp. when refactoring complex conditionals, but sometimes it’s easy to just crank out the first thing that works.

                                  2. 3

                                    Learning to curl. Not the HTTP kind! I can’t say it has ever been on my “must do” list, but I think I have an OK chance of not being terrible at it.

                                    1. 3

                                      Work on a VM for a zero-operand CPU written in Haskell

                                      Also, learn the basic syntactic structure of Haskell, potentially a prerequisite to my initial goal

                                      1. 3

                                        Finding the courage to backup all my data, wipe my HD and install the new FreeBSD.

                                        1. 3

                                          My wife flew out to Utah to visit family for Christmas, so I’m left a bachelor until I fly out later this month. To celebrate the start of my alone time, I plan to hack on a few things this weekend:

                                          1. Take care of a few Pull Requests and bug tickets/feature requests in HardenedBSD.
                                          2. Compile and install Firefox on my Pinebook, which is running HardenedBSD as of today.
                                          3. Attempt to make more progress on porting SafeStack to HardenedBSD 13-CURRENT/arm64.
                                          4. Tack some LED strip lights in a dark hallway in my home.
                                          1. 2
                                            • Studying for my Statistics exam next Wednesday, the outcome looks bleak but I’ll try my luck.
                                            • Keep working on my C++/SFML game I started a couple of days ago, I’m forcing myself to work at least an hour or two in the game every day, I hope I can keep being this productive and arrive at something.
                                            • My usual procastination
                                            1. 2

                                              FunctionalConf in Bengaluru!

                                              1. 2

                                                I will try to clean and organise all my stuff.

                                                1. 2

                                                  ok now that advent of code day 15 question has dropped, i guess i will spend all my time trying to solve it instead.

                                                2. 2

                                                  A while ago I made a toy project: what’s the minimum amount of code I can deploy and still have a working blog? I ended up using Vue.js and AirTable. I think I’m going to pull my hard-coded Vue component out of the html and into a pluggable module system. I may be able to get the entire thing down to 100 or so lines of html/javascript. Fun stuff to play around with while binging on X-Files.

                                                  1. 2
                                                    • going to church as usual tomorrow
                                                    • reading The Fifth Season
                                                    • sleeping
                                                    • working to be kind to my kids and my wife even though I feel slightly miserable.

                                                    On that last note: burnout is bad, and recovering from it is hard. 😭

                                                    1. 2
                                                      1. 2

                                                        Packing up my apartment to move to the USA next week (from the UK). My furniture isn’t really fancy enough to be worth shipping transatlantically so this involves a bunch of selling stuff on Gumtree and Facebook Marketplace. Mildly stressful, but not too bad so far.

                                                        1. 2

                                                          Out of the frying pan into the fire :) Good luck! Where in the US will you land?

                                                          1. 3

                                                            Washington, DC, for a job as assistant professor in CS at American University.

                                                            And thanks! Will definitely be a change of scenery, pros and cons but hopefully good overall. Right now I live in a 20,000-person seaside town that’s 5 hours from London, while in a few weeks I’ll be living right in the Imperial Capital!

                                                            1. 2

                                                              Congratulations! DC is a fun town! If you drink beer the bar scene is rather lively (I’m a beer fan and so am rather fond of the U Street Saloon . Lots of great culture happening there.

                                                        2. 2

                                                          Studying for the last of my final exams, preparing for a phone interview, and getting ready to move out of my dorm. I’ll be in a new room with a new roommate next semester :)

                                                          1. 1

                                                            Just started the Andrew Ng Machine Learning course this week on Coursera, my second attempt. But I’m going to stick with it this time.

                                                            1. 1

                                                              My kid has chicken pox, so… that.

                                                              1. 1

                                                                I’ve been able to spend some of my free time on writing/recording music at home. I run Ubuntu, so I’ve been learning more about the audio ecosystem there.

                                                                I’ve been learning how to create drum beats with Hydrogen (http://hydrogen-music.org/). I’ve found it intuitive so far. Nice pattern-based UI lets you visualize the structure of the song. A lot of fun to use.

                                                                I’ve been trying to wrap my head around Ardour (https://ardour.org/) for recording. I find DAWs pretty intimidating in terms of sheer number of options/modes. This one’s no different in that regard. But there are good docs and there’s an activity user community, so that’s a boon.

                                                                1. 1

                                                                  Studying for final exams :’)

                                                                  1. 1

                                                                    Been working through “Software Foundations” and “Type Theory and Formal Proof”. Both are a lot of fun. Recommending them to anyone interested in the more theoretical aspects of CS and the connections to logic.

                                                                    1. 1

                                                                      Going to do some editing of my last livestream of code into a serialized video for playback. Planning to put it up at my video server then syndicate. Going to also do some hunting for clients for the agency then work on some side projects.

                                                                      Very busy!

                                                                      1. 1

                                                                        I’ll be putting the finishing touches on a standing desk that I’ve been building for the past two weeks. Someone here requested the design (there was no design, I was totally winging it), so I’m going to try to get a slideshow uploaded to imgur and posted here on Sunday.

                                                                        1. 1

                                                                          Polishing off the blog. After writing nothing in almost two years, it’s nice to start writing again.

                                                                          Otherwise, I’ll be hacking away at my backlog of project tasks, which is almost 100% writing Haskell.