1. 4

    Are these certifications ever useful? When I was at AWS I thought about signing up and getting all their certifcates since it would be free working there, but I never found a strong case for it.

    1. 2

      I honestly have no idea. I imagine there’s some practical usage, but how much of it is just looking good on a resume?

    1. 2

      I’m always confused how things play with setup.py for installs vs. pip Looks good and will probably get a lot of traction mostly due to who the author is

      1. 2

        can’t wait for a physical book. Its been so long since I took my compilers course at University of Waterloo – we wrote a simplified Java. I would love to re-learn much of that knowledge again.

        1. 2

          Work:

          • Developer interviews! A long time overdue, IMO: collect individual feedback on what’s slowing everybody down and plan out some new tools to make things a bit easier for everyone. I get the impression it’s going to be “our logging system is terrible” but we’ll have to see what everyone actually thinks.

          • Found out why our load servers take so long to boot up. The good news is the fix will tenth their boot times. The bad news is that it involves writing a ruby gem.

          Fun:

          • Working on a TLA+ talk that I want to shop to local groups in Chicago.

          • Finally learn lisp and become a lisp weenie.

          • Carameltastrophe experiments.

          1. 4

            I just bought the TLA+ book & going through the hyperbook. I’m now having trouble applying it to some of the “algorithms”.

            Either they are too simple and it seems not useful or overly complex.

            1. 3

              Yeah I get that; it’s a really frustrating process. It took me several weeks of constant effort to get to a point where I could use it for anything practical.

              I don’t think that’s a problem with the language, though (although it also has a lot of warts). IMO the TLA+ book is really beginner-unfriendly. I’m in the process of writing a set of tutorials that I’m hoping will be more accessible, but those are still in the almost-rough-zeroth-draft stages.

            2. 2

              How much experience do you have using TLA+ on realistic software or protocols?

              1. 2

                I’ve been using it at work to spec out systems with gnarly business logic. Not gonna say I’ve done major things with it, but before I build something I usually dedicate an afternoon to modeling it first and have found that pretty helpful.

            1. 5

              I think its prudent if you are using any encryption library to have tests for failure cases. This blog post does a great example of proving why.

              1. 10

                I like the idea! although to be fair, it sounds like you can get just as far with a Makefile.

                I’ve been doing java development for a while, but with recent excursions into golang/python/typescript I’ve been writing a few more Makefiles, and find the consistency across projects great!

                1. 5

                  A friend of mine worked at a place where make was standard for everything. You want other people in the company to use your software? You’ve got a Makefile that at least executes a build, unit tests, and, when the right envvars are set, a deployment. It applied universally. They had Makefiles that called Rake, sbt, leiningen, maven, and host of others.

                  I’ve had some decent experiences with Gradle, such that I’d reach for it if presented with an edict or demand for such a thing. I like that Gradle can bootstrap itself, only needing a JVM. Make-based systems just need Make, technically, but the rest of the functionality that Gradle has OOTB exceeds what comes OOTB with Make. I guess a Make target that installs dependencies from a package manager would address what things the Make approach needs. To each their own preferences.

                  1. 4

                    I mean i like maven a lot (don’t shoot), but I’d even consider wrapping common maven commands in a Makefile. Its just a nicer standardized interface for all projects.

                    1. 3

                      this is pretty much what i do for my projects - the actual build tool will be whatever is most convenient for the language/ecosystem, but the invocation of that tool will be via make. it’s not only easier for other people, it’s easier for me - i can set up e.g. ocamlbuild with all the right options and command line args, put it in a make recipe and then just call make to build my project.

                    2. 4

                      One advantage to this approach as opposed to makefiles is that you can pass arguments to the tasks. The only way I’ve found in makefiles is “make test SHORT=true” as an environment or something like that. s/test -short is significantly easier, as is s/test -h

                      1. 3

                        It’s a good point. Being able to easily get some help output is pretty crucial to these types of commands. I’ve been involved in a few incidents where the remediation took longer as a result of not being able to figure out how a not so often used tool worked quickly, or invoking it incorrectly as a result of missing documentation on environment variables it required.

                        A simple -h as edict would have made my life so much better during those times, but at the time we took the 12factor principles a bit too far. Those same tools now demand command line args, but populate defaults with environment variables, and a -h provides you some help.

                        It’s kind of a shame there isn’t a better way to build better CLI interfaces on top of make’s powerful features…

                      2. 3

                        The main issue I’ve had with Makefiles is that they end up being shell scripts, so you have to deal with that.

                        I know a lot of people shame for not “getting” shell scripts, but give me fabric most days of the week over trying to write a clean conditional in bash that works for all inputs

                        1. 2

                          I thought the same. I almost always use a Makefile even in Clojure projects, but not everyone knows make (even though it is extremely simple, it’s still another DSL to learn).

                          1. 1

                            to be honest, i don’t know make or at least well. I doubt if the makefiles i’m writing make proper use of the dependency part of it, but i like the consistency nonetheless

                        1. 2

                          I tried to write a grafana datasource plugin. Very difficult! If someone has strong Typescript / prior experience writing one, please reach out. Would love to pick your brain.

                          1. 2

                            It’ll be a while. I think about how many companies are still on CVS/SVN etc..

                            The problem space is tough, tough to envision the next big paradigm shift.