Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)A
Posts
2
Comments
18
Joined
3 yr. ago

  • Is there a course or a book that you are following or did you just dive in?

  • Thanks, the banking app works!

  • Learning Rust is a journey. I actually gave up twice before I learnt it properly. I built a simple interpreter as my first project and I found it challenging.

    I think that tutorials, and the support you get, is much better now though. Its also a language well worth learning.

  • I find daily is better than weekly because I can actually remember what I was doing. However, it is mostly just a few hours each weekend for me a the moment.

  • I like the look of SailfishOS but there is the Ryanair app and a Banking app that I am sure will not work on it. Sometime in the future, I will probably have two phones, one for difficult apps and one with an OS that respects the user.

  • I haven't used Kotlin for years but I did do a $WORK project in it once. I prefer co-routines in Kotlin to using async in Rust (which makes sense because it is a higher level language with a garbage collector). I also like how easy it is to write Domain Specific Languages (DSLs) in Kotlin.

    Good luck with the job search. Its hard out there at the moment.

  • I got interested in constraint programming, and I had NO idea how it worked. It seemed like magic.

    I have started on following the slides and code of MiniCP, and have started implementing the first steps in Rust. I find it very challenging but it is a great learning experience. I got such a thrill from solving the N-Queens problem in milliseconds from a program that I had written myself.

    I am continuing to develop the implementation for a few hours this weekend. Because writing a constraint system is hard, I am also learning some new parts of Rust that I have not touched before.

  • Programming @programming.dev

    What are you doing this weekend?

  • Rust @programming.dev

    Ergonomic errors in Rust: Stackerror

    gmcgoldr.github.io /2025/08/21/stackerror.html
  • Its not the solution that you are looking for but Woodpecker runs well on k8s and directly supports Forgejo. I use them together on k8s and I am happy enough not have tried runners.

  • I do this for sites where I don't care at all about security. One minor tip, that will protect against automated attacks if the password is cracked, is to add part of the website name into the password (e.g "mystrongp4ss!lemworld") .

    A human could easily crack it, but automated systems that replay the password on different sites would probably not bother to calculate the pattern.

  • I also use KeepassXC and Synthing together and I am very happy with this combination.

    One tip that I have, if you are worried about the security of the database file being shared, is to get 2 Yubikeys and use these, along with a strong passphrase, to protect the database file.

  • At $work we write closed source Rust but we do not use Kellnr.

    Instead we use a mono-repo, using a workspace, that contains most of our applications and libraries.

    Our setup is mostly OK but needs some workarounds for problems we have hit:

    • Slow cargo clean && cargo build, to speed this up we use sccache.
    • Very slow Docker builds. To speed these up we use cargo chef.
    • Slow CI/CD. To speed this up we use AWS instances as Github runners that we shutdown, but do not destroy, after use. This allows us to cache build dependencies for faster builds.

    I am generally happy with our setup, but I am a fan of mono-repos. If it ever becomes to difficult to keep compiles times reasonable, I think that we would definitely look at Kellnr.

  • I enjoyed reading the Phoenix Project and learnt a lot from it. It is a classic for very good reasons.

    There was another follow up book -- The DevOps Handbook that went into more detail about solutions to the problems raised in the Phoenix Project. I got a lot from the DevOps handbook but I found it quite a heavy read.

    Years later I found a smaller, but super practical book, that covered much of the same subject matter -- Operations Anti-Patterns, Dev Ops Solutions. I recommend this Manning book after the Phoenix Project.

    But then I haven't read the Unicorn Project yet, so that is a book for the list.

  • I think that Kreya is worth a mention:

    • It has more complete OAuth2 support than Insomnia.
    • Saves to human readable files.
    • Usable free tier.
    • Cheap Pro tier pricing.
  • If you deploy with Docker you need to attach to the external interface -- I bound to localhost in a Docker container once and its painful enough to debug that it is something I never forget.

    I expect that upload_handle() would need to change to 0.0.0.0 rather than axum to bind to localhost.

  • Despite using Tokio underneath, I think that Actix does NOT do work stealing and uses mostly separate threads:

    Given this architecture, I think the article might inaccurate when it says that Actix handlers must be Send + Sync. See also: https://www.reddit.com/r/rust/comments/14cbe1u/why_does_actixwebs_handler_not_require_send/

    Actix is a bit weird, but it has been around, and used in production, for a relatively long time.

  • Just to add to this point. I have been running a separate namespace for CI and it is possible to limit total CPU and memory use for each namespace. This saved me from having to run a VM. Everything (even junk) goes onto k8s isolated by separate namespaces.

    If limits and namespaces like this are interesting to you, the k8s resources to read up on are ResourceQuota and LimitRange.