Avatar
😀

Organizations

Popular posts

  1. Building a plotter (part 3)

    The assembled plotter

    There is a problem I have been hinting at from part 1.

    FluidNC does not support the touch screen on the Makerbase MKS DLC32.

    There are good reasons for this. You are entitled to disagree with the reasons, but they are valid.

    The number one issue is that not all of the hardware that FluidNC wants to support are powerful enough to drive a display let alone drive one that has touch.

    hardware

  2. Building a plotter (part 2)

    So the Makerbase MKS DLC32 arrived. My challenge was how to mount it onto the frame and keep all the wires hidden.

    Normally I would fire up OpenSCAD and get my calipers out and risk the wrath of my family while I disappear for 3 days designing the enclosure to print.

    The second design

    This time I said, let’s see what the LLMs can do.

    hardware

  3. Building a plotter (part 1)

    Basic Drawbot Pen Drawing Robot

    About two years ago I finally pulled the trigger and purchased a 3D printer. Now I missed the Great Funâ„¢ part of the 3D printing hobby where you spent more time hardware hacking than actually printing. My 3D printer just works. It’s a utility. Sure I got to upgrade it from a bed slinger to a core-XY, but there was never any doubt that it would work at the end of the upgrade.

    hardware

  4. When a Kubernetes Operator Makes Sense

    Simplifying a tangled mess with a Kubernetes Operator

    Beyond YAML: Real-World Lessons from Managing Complex Infrastructure

    There are plenty of ways to deploy applications onto Kubernetes:

    • raw kubectl apply
    • Kustomize overlays
    • Helm charts
    • sidecars and init containers
    • and, at the far end of the spectrum, fully-fledged operators

    Most teams start at the simple end and stay there. And they should, most applications don’t need anything more complicated than a Deployment, a few ConfigMaps, and a kubectl apply -k.

    kubernetes operator-pattern vault devops platform-engineering

  5. About 19 years ago, I set up a blog on Google’s Blogger platform to track my adventures learning Java: https://javaadventure.blogspot.com/

    The platform has changed a lot since then, and not always for the better. Many posts no longer render the way they used to, and a few images have disappeared entirely.

    One feature I really loved, which is now broken, was the ability to email a special address and have the message automatically turned into a post. It made publishing effortless… though that was also before I discovered what was then X (née Twitter).

    general

  6. Another interesting tidbit:

    @Benchmark
    public void debug1Arg_date(Blackhole blackhole) {
        LOGGER.debug("Started at %s", new Date(time));
        time++;
        blackhole.consume(time);
    }
    
    @Benchmark
    public void guardedDebug1Arg_date(Blackhole blackhole) {
        if (LOGGER.isDebugEnabled()) {
            LOGGER.debug("Started at %s", new Date(time));
        }
        time++;
        blackhole.consume(time);
    }
    

    Gives the following benchmark results:

    Benchmark                            Mode  Cnt          Score         Error  Units
    Log4jBenchmark.debug1Arg_date         thrpt   20  179653191.248 ± 2731044.349  ops/s
    Log4jBenchmark.guardedDebug1Arg_date  thrpt   20  207001790.376 ± 2074020.617  ops/s
    

    We can also compare guarding with SLF4J over logback

    Java

    Post activity