Komunitas
lemm.ee
Maybe I’m wrong, but I thought that Matrix was a protocol, while mautrix was a client framework for the Matrix protocol written in Golang. Mautrix bridges are bridges for Matrix based on the mautrix framework. Beeper uses the Matrix protocol with some bridges (and maybe other components) based on mautrix; it’s basically a proprietary commercial fork of Synapse and Element with better-integrated bridges. I have several mautrix bridges on my Matrix server, and every mautrix bridge I see (including gmessages) says it’s for Matrix.
Komunitas
lemmy.world
I run two local physical servers, one production and one dev (and a third prod2 kept in case of a prod1 failure), and two remote production/backup servers all running Proxmox, and two VPSs. Most apps are dockerised inside LXC containers (on Proxmox) or just docker on Ubuntu (VPSs). Each of the three locations runs a Synology NAS in addition to the server. Backups run automatically, and I manually run apt updates on everything each weekend with a single ansible playbook. Every host runs a little golang program that exposes the memory and disk use percent as a JSON endpoint, and I use two instances of Uptime Kuma (one local, and one on fly.io) to monitor all of those with keywords. So - weekly: 10 minutes to run the update playbook, and I usually ssh into the VPS’s, have a look at the Fail2Ban stats and reboot them if needed. I also look at each of the Proxmox GUIs to check the backs have been working as expected. Monthly: stop the local prod machine and switch to the prod2 machine (from backups) for a few days. Probably 30 minutes each way, most of it waiting for backups. From time to time (if I hear of a security update), but generally every three months: Look through my container versions and see if I want to update them. They’re on docker compose so the steps are just backup the LXC, docker down, pull, up - probs 5 minutes per container. Yearly: consider if I need to do operating systems - eg to Proxmox 8, or a new Debian or Ubuntu LTS Yearly: visit the remotes and have a proper check/clean up/updates
Komunitas
lemmy.ml
The OpenPGP format was designed in the 90’ and never really changed since then. It was documented in RFC4880 in 2008. Unfortunately, in the 90’, people had really no good understanding of crypto yet, and the choices made were poor. Envelope design is poor. Some crypto algorithms are clearly outdated. Some default options are plain wrong. Have you ever noticed that so many crypto attacks target OpenPGP and GnuPG? That’s not a surprise: it’s a popular crypto solution and it’s a relatively easy target, comparatively to some other mainstream crypto implementations. The Go langage maintainers even deprecated the OpenPGP implementation in their crypto standard library because they think OpenPGP is dangerous OpenPGP is incompatible with https://golang.org/design/cryptography-principles, it’s complex, fragile, and unsafe, and using it exposes applications to a dangerous ecosystem. Basically, I would say that the only thing that OpenPGP has for itself is the deployed infrastructure. Or has it? Web of trust is mostly dead, since keyservers are out-of-service. And OpenPGP adoption was never really that high to begin with. SSH keys are much more widely deployed and used than OpenPGP keys. The format is dead simple, and the crypto implementation from OpenSSH is up-to-date. I am very happy that git made SSH signing possible; it means I can delete my OpenPGP keys for good. I just hope linux distros will make the switch soon, to a more modern crypto approach: ssh signing or minisign.
Komunitas
lemmy.one
For one - the error handling. Every codebase is filled with messy, hard to type: if err != nil { ... } And it doesn’t even give you a stack trace to debug the problem when an error happens, apparently. Second reason - it lacks many features that are generally available in most other languages. Generics is the big one, but thankfully they added them in last half a year or so. In general Golang’s design principle is to implement only the required minimum. And probably most important - Go is owned by Google, aka the “all seeing eye of Sauron”. There was recently a big controversy with them proposing adding an on-by-default telemetry to the compiler. And with the recent trend of enshittification, I wouldn’t trust google or any other mega-corporation.
Komunitas
lemmy.ml
Lihat kiriman asli pada platform media sosial terkait.
Komunitas
sh.itjust.works
I have a System76 laptop with Pop-OS LTS that I’ve been using for about 2 years now. It’s very stable. It’s gnome based with customizations by System76. I was allowed to choose any laptop I wished with a budget of $3k. I chose this system because I knew I’d heavily be working with many docker containers. It allowed me to purchase a system with support that had more ram and nvme storage than what a mac offered. I use it mostly for writing backend golang and python services. I used emacs for many years to do this kind of work, but have switched to vscode for code navigation convenience and parity with others on my team if we have to pair program.
Komunitas
programming.dev
In applications where I’ve needed this, I’ve taken a manual approach. Structure the function to return a single Result struct (including an error field), develop a convention for mapping function inputs to a string, then add reads & writes to a map[string]*Result which allows me to return cached values as a shortcut. No idea if it’s the most efficient way, I’ve not actually considered finding a package to handle the process. Edit: For more advanced behavior, what are your thoughts on the official memoize package?
Komunitas
hexbear.net
You have to just stay in their ecosystem and you’re forced to use their tooling, and their stupid decisions. To use Go as an example, Google wants Go developers to use boringcrypto. 2 years ago, a Red Hat developer added OpenSSL support to boringcrypto and submitted a CR, which was outright ignored. Months later, Google explained that they’re ignoring it because “I don’t think OpenSSL support is on our roadmap for boringcrypto”. Google wants so badly for boringcrypto to not support OpenSSL that they ignore code reviews, even when multiple people followed up afterwards saying that they really wanted OpenSSL support to be added. That’s not open source, it’s just writing proprietary software where other people can see it.
Komunitas
lemmy.world
I had the impression Rust doesn’t handle concurrency particularly well, at least no better than Python, which does it badly (i.e. with colored functions). Golang, Erlang/Elixir, and GHC (Haskell) are way better in that regard, though they each have their own unrelated issues. I had believed for a while that Purescript targeting the Erlang VM and with all the JS tooling extirpated might be the answer, but that was just a pipe dream and I don’t know if it was really workable.
Komunitas
suppo.fi
The PS2 is more than capable of doing some wild things, including running Linux. I always wondered if we could just write baremetal Go code on it, so I decided to give it a try. kind of crossposted from https://lemmy.world/post/27658407
Komunitas
lemmy.world
Lihat kiriman asli pada platform media sosial terkait.
Komunitas
rss.ponder.cat
Lihat kiriman asli pada platform media sosial terkait.
Komunitas
lemmy.bestiver.se
Comments
Komunitas
sopuli.xyz
URL: https://www.linkedin.com/posts/michelesollecito_in-my-own-company-i-wouldnt-hire-anyone-activity-7309491565603835904-uBhX
Komunitas
lemmy.bestiver.se
Comments
Komunitas
lemmy.bestiver.se
Comments
Komunitas
lemmy.world
Apparently there’s a bunch of projects getting hit with this, fairly obscure ones though. Project gets forked, suddenly get a pile of stars more than the original, and then there’s a curl-bash pipe inserted into it that runs some ransomeware that encrypts ~/Documents. About a dozen other projects linked in here from another developer (excuse the Reddit link): https://old.reddit.com/r/golang/comments/1jbzuot/someone_copied_our_github_project_made_it_look/
Komunitas
lemmy.today
What I find hilarious is all these companies doing this shit after all the advancements in programming languages and paradigms in the last few years. Thanks to tools like Node.js, React, Flask, Reflex, OpenAPI Gen, GoLang, and more, people that are fed-up and have the know-how can stand up competing technology in record time. I look forward to see what comes out of this corporate power grab. Hopefully there’s not a lot of pain and suffering alkng the way.
Komunitas
toot.io
Applying Hexagonal Architecture to a Mid-Size Go Backend https://samsm.ch/go-project-layout/ I put this post together to organise some thoughts I’ve been having about software architecture when it comes to Go web backends. #golang @golang
Komunitas
beehaw.org
At work it’s mostly python, .net core and javascript (regrettably). Personally, I used to write a lot in C and C++ for embedded, but recently diving more into other areas. Developing quite the love for Golang (GO) and it’s simplicity.