1. 14

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

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

  1.  

  2. 5

    Over the weekend I bought and built an industrial sewing machine; a couple hours of drilling, tinkering with nuts and bolts, and it’s finally assembled. I have an iron on the way, along with fabric and thread, and this week is going to be spent familiarizing myself with it / learning to sew. Also passively looking for patterns for when I’m eventually ready to do work on jeans.

    I’ve also gotten really into Go the past few months and started going through some books / playing a game every night so want to continue doing that.

    And of course all the usual work-stuff :). I think this week is going to be a set of plumbing / automation / data challenges than front end feature work.

    1. 3

      Sewing is one of my most prized hobbies, the guaranteed path to be out of my worries for hours without end. Some years ago I even bought a sewing machine out of my meagre income at the time, and I still consider it to be one of my top three purchases if all time. Yes, that’s how much I’m into sewing. So I’m thrilled to know you bought an industrial sewing machine. That’s taking the whole thing to a different, more fascinating level!

      While wishing I was you, I wish you all the the best with your sewing experiences!

    2. 3

      Started a new job this week, so I’m trying to get my head around the business, the architecture and how it all hangs together, while learning a whole new stack (TypeScript + DynamoDB). Doesn’t leave much head space for anything else!

      1. 3

        Work:

        Our core product is distributed as an “appliance” (either virtual or physical) and I’m upgrading the underlying core operating system. This isn’t difficult, per se, but it’s non-trivial and the Devil’s in the details.

        Home:

        Working on Spanish and Rust. My goal is to get a ray-tracer written in Rust in the next few weeks, to get a good feel for the language.

        Doing lots of work on the house to get it better suited for the kids doing virtual school: a new ceiling fan in the playroom (that is now a classroom), a new chair for the desk in there, etc.

        Setting up a drum kit for my older son. He wants to learn to play drums and I’ve decided that I might as well stop pretending there’s any hope of having a calm and quiet life.

        1. 2

          On the work side I’ve done similar with our network based detection gear. While I feel like we have pretty good test coverage and a build process that should fail on major issues we’ve definitely hit some bugs in PROD post OS and hardware changes. I don’t like relying on metrics and monitoring to detect failures but that’s what I’ve been left with for the types of issues that only seem to crop up after seeing some time/traffic in the field. As much as we’ve tried to build out a test suite and lab to replicate our fleet, it is so large and varied there’s almost always inevitably some subtle bug that catches us off guard post-deployment. Luckily these have generally been isolated failures.

          1. 2

            One time I spent hours trying to figure out why some seemingly innocuous change to the stream reassembly code had started causing ~30% checksum failures in our tests. Finally found out that I was accidentally running the wrong traffic set through; I had been running the traffic that had ~30% bad packets in it…

            1. 2

              Sounds like there is some overlap in our work for sure 😅

          2. 2

            Heh, also doing basic futzing with Rust (trying to kinda-port my old Go project) and trying to learn more Spanish. If you find interesting people on Spanish-language/bilingual tech Twitter or something we likely have overlapping interests :)

          3. 2

            Advent of Code 2017 in Kotlin

            1. 2

              I just finished my entry to the Miziziziz game jam. So this week, I’ll be mostly focusing on the post-jam catching up around the house.

              Work continues, more documentation.

              1. 1

                Frontend work for once. It was sort of what I was actually hired for but I have been mostly on backed / DevOps.

                I had forgotten just how time consuming some Frontend tasks actually are.

                I am trying to add a sidebar expanding left to right, to another sidebar expanding left to right, using angular material components. I was pretty sure it would take me an hour or so, but I actually spend the entire day on trying to make it work, and I am not closer to having a working example.

                1. 1

                  I have been working on an “aeroponic” hydroponics growing system. I started with a low-pressure prototype which is currently sitting in my backyard. It leaks somewhat, and the clear plastic tote is growing algae in the reservoir, but the tomatoes I transplanted into it are having really phenomenal growth for a first attempt.

                  I’m currently constructing a high-pressure system in my garage, under 200W of white LEDs. I’m going to take greater care to ensure the tote doesn’t leak, the water is filtered, the nozzles don’t clog, and the system is generally more automated. I hope to grow tomatoes, peppers, strawberries, and lettuce.

                  These two guides have been invaluable. The designs are very simple and not too expensive:

                  1. 1

                    Non tech (guitar):

                    I’ll work on the CAGED system, also more and more exercises with the pick, I just got too used to use my fingers for strumming.

                    On the tech side:

                    I’ll keep working on my side project for a reasonable way of making diffs on tree-like data structures, notably instances of classes in Scala. The goal is a diff that is also a tree-like structure, so it is easier to manipulate. At work we are currently using the regular diff from unix, but I wasn’t able to make it work for data structures, only text. Which is important too for our use case, but not enough.

                    1. 1

                      At work I am completing an import of some legacy data held in flat files into our updated system. We had fun digging around in PL/B (also known as Databus) to figure out how the inner workings of this old system worked…now we’re close to retiring it!

                      At home I am continuing MVP work for a nonprofit based on React. It’s a data-viz application that will allow users to search for information about local law enforcement agencies and their activities.

                      1. 1

                        Earlier today, I sent an email to the Executive Board of Directors at ${DAYJOB} that officially and radically transforms the company, with the end goal of disrupting the entire infosec industry on the inside of six months.

                        They responded in support.

                        Now I need to deliver. This is gonna be a freakton of fun.

                        1. 1

                          $WORK: I made progress with the Python 2.7 -> Python 3 port, almost everything works. Remains some bugs related to jQuery.

                          !$WORK: I made a tiny release of a tool I call: “Common Crawl Search Engine”. It will go trough Common Crawl dataset and output the documents that contains the words you specified. The optimized build takes only 10 seconds to go through a file, which means scanning the whole archive takes more or less 10 days. See https://hyper.dev/blog/ccse.html

                          1. 1

                            On the fun side, I think I’ve come up with another example of an app that folks wouldn’t think could be written in a small amount of code but could be. I need to poke and play around a bit to verify some assumptions. If it works out as I think, I might have a fun new project in a week or two. If not, I’ll learn something. It’ll be fun either way.

                            On the work side, this is one of those weeks where I have a ton of little things to tend to. There are a couple of podcast interviews, both to give and receive. There’s another revision to the book. Little crap I shouldn’t have to worry about, like trying yet again to figure out what the hell is going on with the new version of Dropbox refusing to sync my Windows 8 machine. If it worked or didn’t work it would be fine, but instead it keeps starting up, working a little, then crashing out. A few minutes later it repeats. This leaves me not knowing what the heck it’s actually synchronized, completely defeating the purpose of the app.

                            On the family side, I hope to spend an evening with my grown daughter watching movies. Once your children become adults and leave the house, you tend to cherish and enjoy the time you get to spend together doing nothing important; after all, it’s a scheduling commitment on both sides.

                            1. 1

                              2D C99 Game Engine. (no recent LoC count, piping everything through wc -l gives ~10800). I’m working on “Systems”. I spent last week setting things up so systems can have option parsers for overrides, so this week I’m working on doing something similar for reading configuration values from INI files and making the system list loaded from [systemName, .dll(.so)] file pairs.

                              Once this is finished hooking up you’ll be able to dynamically load and configure systems at runtime in sharable components. Not every system is implemented this way since some core systems are required. Examples of dynamically loadable systems there might be a generic FPS counter, since systems have draw priorities, maybe another for physics integration (like Box2D), etc.

                              1. 1

                                Cool, are you using SDL2 or just raw OpenGL? Any extra libraries?

                                1. 1

                                  I’m using SDL2 only for input and getting a drawable surface up for my own OpenGL renderer. Part of the push for systems is to support GLFW for surface creation/input, make the OpenGL renderer swappable with Vulkan and also support Win32/DirectX backends.

                                  Long term I’m just using glew, libspng, and zlib. I’m not using FreeType–I wrote my own glyph/spritesheet generating fixed width UTF-8 font renderer, I just haven’t gotten to variable width fonts yet.

                                  I started in January and I was hoping to wrap everything up this year, but there’s still a bit to do: audio, scripting, etc.

                                  1. 1

                                    Thank you, that sounds great, I’ve wanted to do a simple game framework/engine for some time now, I have several prototypes but never advanced in any of them because I usually get stuck in analysis paralysis or fixing stuff instead of advancing new features.

                              2. 1

                                Deepen my understanding of the actualism method – which knocks the socks off mindfulness and meditation – by reading more about it, all the while applying it ever more consistently in life.

                                1. 1

                                  Why do you say it knocks the socks off mindfulness and meditation? What are you reading about it?

                                  1. 1

                                    Mindfulness / meditation is really only about acceptance[^1], waiting for the feeling to pass away on its own (sooner or later). And not about getting rid of it, or never having it occur again, so that you can spend increasingly more of your time enjoying and appreciating life.

                                    There are pages of correspondences on this topic, beginning from http://www.actualfreedom.com.au/richard/selectedcorrespondence/sc-buddhism.htm

                                    [^1]: And in Theravada school, it is about replacing “bad” feelings with the “good” feelings (whereas in actualism both get replaced by the felicitous/innocuous feelings). In an actual freedom (ultimate goal), all feelings are gone.

                                2. 1

                                  Work: Just chugging along, we had a successful hardware test for once so hopefully we can do another one this week.

                                  Nonwork: Hopefully playing around with etching metal. I want to make cool brass nameplates for our big tools at ye olde hackerspace. I’m no longer helping run the damn place, so finding the interest to improve it is way, way easier.

                                  Also, if I have some Programming Juice left, working on Garnet, my Rust-lite-ish programming language idea.
                                  My last little sprint-ish thing got nicer error messages and reporting in the parser, which is rad, but it would be nice to get the SSA intermediate representation actually working properly. Then I can start adding features again.