worldofgeese

joined 1 year ago
[–] [email protected] 4 points 11 months ago

The original EverQuest theme song was mine. Captured the epic wide-eyed wonder of going on an adventure perfectly.

[–] [email protected] 2 points 11 months ago (1 children)

Hey there! And thank you for reading.

Let's take your example, as a Nomad cluster operator. The Acme Corporation may have a team for provisioning and maintaining this Nomad cluster. The organization wants to give customers the option for self-service. As a Nomad cluster operator on the Nomad team, because you are empowered with agency and visibility, you get to think of creative solutions to the problem of self-service. The billing team? They're doing that too. And your two teams may collaborate. But the onus is on you to be creative and work within your skillset to best deliver.

Maybe you decide to go sit with the billing team for a week to understand the provisioning flow from the moment a customer presses pay to the automatic creation of a new Nomad cluster. Because you are empowered, you act. You're happier because you don't have to go through seven layers of command to be effective.

Does that help?

 

I'm the author. With 5 years experience as a DevOps Engineer then Lead, I've wanted, for a very long time, to distill my critique and pave a way toward a healthier practice of DevOps. Before anyone jumps to tell me how DevOps Engineer is a misnomer, I address this in the article.

I wrote this piece because DevOps has all too often been misunderstood as a practice. Here I attempt to examine successful DevOps practice as a sociotechnical solution that weds culture and tools (the DevOps most are familiar with) with radical agency and visibility. I reference some stupendous thinkers in this space, like Jabe Bloom and Andrew Clay Shafer who were the first to argue for a sociotechnical approach to our work as IT professionals.

[–] [email protected] 1 points 11 months ago* (last edited 11 months ago)

I run Guix System on my personal laptop and Project Bluefin on my work machine.

Guix is even easier to get started with now thanks to the Guix Packager , a web UI for writing Guix package definitions.

Project Bluefin auto-updates thanks to its use of container images deliver system updates. It's also just a great platform to get started writing containerized apps, since it ships with rootless Podman by default and you can easily add new developer tools using just commands.

[–] [email protected] 3 points 11 months ago* (last edited 11 months ago) (1 children)

I deeply love the story of Grendel. He's left an invisible imprint on me since I was a young boy fishing issues from my father's oversized trunk that squatted tempestuously in our living room. Thank you for this summary! I learned a few things I hadn't known.

For those who grew up with Grendel and now work in tech, like me, I did a talk on mindfulness and conflict in the workplace using the leitmotif of Grendel. Matt Wagner was kind enough to allow me to use his art for the talk.

[–] [email protected] 2 points 11 months ago

Hey there, for a very simple start there's the compose.yaml file at the bottom of my comment here.

[–] [email protected] 3 points 11 months ago (3 children)

The Intel discrete cards are fantastic value for money. There's plenty of folks on the internet who can attest to this. Intel's support story in general (so not just graphics cards) on Linux has been nothing less than sterling. If you're using any Linux kernel you can expect Intel stuff to just work. It's been this way for at least a decade.

[–] [email protected] 1 points 11 months ago

WebOS powers TVs now and, from the article, Amazon intends this replacement to cover their Fire tablet line. WebOS ticks all their boxes, especially since apps in Amazon's new flavor are intended to be delivered as React Native web apps.

[–] [email protected] 6 points 11 months ago (2 children)

I'm devastated they didn't choose to pick up webOS for this.

[–] [email protected] 5 points 1 year ago

If you're looking for the GitLab version of Codeberg's hosted Forgejo Git forge, there's Framagit hosted by Framasoft.

[–] [email protected] 1 points 1 year ago* (last edited 11 months ago)

This sounds like something on your end as I get cached builds every time, rootlessly even. Podman also supports cache mounts.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

Check my comment history for an example of a simple bind mount compose.yaml I use for developing a small Python project. It's exactly the same as Docker Compose (since Podman Compose follows the Compose spec) but if you're just getting started, it might be a good skeleton to build on.

[–] [email protected] 4 points 1 year ago* (last edited 1 year ago)

There's real usability benefits too. I've collected some anecdotes from Reddit:

Rootless podman is my first choice for using containers now, it works fantastically well in my experience. It's so much nicer to have all my container related stuff like volumes, configs, the control socket, etc. in my home directory and standard user paths vs. scattered all over the system. Permission issues with bind mounts just totally disappear when you go rootless. It's so much easier and better than the root privileged daemon.

and,

If you are on Linux, there is the fantastic podman option "--userns keep-id" which will make sure the uid inside+the container is the same as your current user uid.+

and,

Yeah in my experience with rootless you don't need to worry about UID shenanigans anymore. Containers can do stuff as root (from their perspective at least) all they want but any files you bind mount into the container are still just owned/modified by your user account on the host system (not a root user bleeding through from the container).

finally,

The permissions (rwx) don't change, but the uid/gid is mapped. E.g. uid 0 is the running user outside the container, by uid 1 will be mapped to 100000 (configurable), and say 5000 inside the container is mapped to 105000. I don't remember the exact mapping but it works roughly like that.

 

I thought this was really cool: it's backed by a non-profit and one of their supported distros is Guix System!

 

OCI images that you can turn into a full-fledged developer workstation shipping Devbox, Nix, Homebrew, devcontainers and DevPod with one command. Pretty swanky!

 

Is it Apple's Magic Trackpad? If I dual-boot Windows (for work, I swear!) does it work equally as well across both?

 

My error message when trying to run minikube from a guix shell is bash: /gnu/store/ixry3pdrrb52mdiypmlrdn19c7gcc5r4-minikube-1.31.2/bin/minikube: No such file or directory

According to ldd and file, it looks like everything is hunky dory as far as where all my linkers are pointing. I'm also including an strace further below. I've run out of options for debugging this and would welcome any feedback and suggestions!

ldd shows what looks like clean RPATHs:

 /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libc.so.6 (0x00007f9299546000)
	libpthread.so.0 => /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libpthread.so.0 (0x00007f9299541000)
	libresolv.so.2 => /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/libresolv.so.2 (0x00007f929952e000)
	/lib64/ld-linux-x86-64.so.2 => /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/ld-linux-x86-64.so.2 (0x00007f9299744000)

Here's file:

/gnu/store/xhyv7k87gy9k368yrv6faray37z615cr-minikube-1.31.2/bin/minikube: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35/lib/ld-linux-x86-64.so.2, Go BuildID=aBEWfkldQzf4mlUsITym/a6aHGcy9omlZPRTvR8ta/1-lUpI-DPce979zTpJQy/jMuF_0TfmkRW2e3NFst2, not stripped

And strace:

Error:
strace /gnu/store/xhyv7k87gy9k368yrv6faray37z615cr-minikube-1.31.2/bin/minikube
execve("/gnu/store/xhyv7k87gy9k368yrv6faray37z615cr-minikube-1.31.2/bin/minikube", ["/gnu/store/xhyv7k87gy9k368yrv6fa"...], 0x7ffc5f304810 /* 109 vars */) = 0
brk(NULL)                               = 0x50b7000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f2daf26c000
***
SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x400318}
***
+++ killed by SIGSEGV +++
Segmentation fault
    (define-module (worldofguix packages minikube)
      #:use-module (guix packages)
      #:use-module (guix download)
      #:use-module ((guix licenses) :prefix license:)
      #:use-module (guix gexp)
      #:use-module (gnu packages gcc)
      #:use-module (gnu packages commencement)
      #:use-module (nonguix build-system binary))

    (define-public minikube
      (package
       (name "minikube")
       (version "1.31.2")
       (source (origin
                 (method url-fetch)
                 (uri (string-append "https://github.com/kubernetes/minikube/releases/download/v" version "/minikube-linux-amd64"))
                  (sha256
                   (base32
                    "16vi7b6vkapc2w3f2yx8mzany5qqvrgvlshc58dambcn2q2hra48"))))
        (build-system binary-build-system)
        (inputs `((,gcc "lib")
              ,gcc-toolchain))
        (arguments
         (list
          #:substitutable? #f
          #:patchelf-plan
           #~'(("./minikube"
              ("gcc" "gcc-toolchain")))
          #:install-plan
          #~'(("minikube" "bin/"))
          #:phases
          #~(modify-phases %standard-phases
              (replace 'unpack
                (lambda _
                  (copy-file #$source "./minikube")
                  (chmod "minikube" #o644)))
              (add-before 'install 'chmod
                (lambda _
                  (chmod "minikube" #o555))))))
        (home-page "https://minikube.sigs.k8s.io")
        (synopsis "minikube is a tool for running local Kubernetes clusters.")
        (description "minikube implements a local Kubernetes cluster. minikube's primary goals are to be the best tool for local Kubernetes application development and to support all Kubernetes features that fit.")
        (license license:asl2.0)))

    minikube
 

I just moved to a new phone and I just want all tabs bookmarked. Opening all of them on desktop won't work because that option usually only loads the first hundred or so before locking up.

view more: next ›