Sekitar 20 hasil (1.99 detik)
Komunitas piefed.social

Copilot is now injecting ads into GitHub pull requests. It's a disaster.

You do have to ask for permission. https://docs.codeberg.org/ci/ Asking permission involves creating an issue on the Codeberg-e.V./requests repo: https://codeberg.org/Codeberg-e.V./requests/issues/new?template=ISSUE_TEMPLATE%2FWoodpecker-CI.yaml Here’s an example issue asking permission for CI: https://codeberg.org/Codeberg-e.V./requests/issues/1663 They get back to you fairly quickly. I think the main thing they check for is if your project is FOSS. They don’t seem very strict otherwise. After you get permission, you can go to https://ci.codeberg.org/login to access CI. You’ll also need to create a .woodpecker folder in your repo. Woodpecker docs are here: https://woodpecker-ci.org/docs/usage/intro # .woodpecker/my-first-workflow.yaml when: - event: push branch: main steps: - name: build image: debian commands: - echo "This is the build step" - echo "binary-data-123" > executable - name: a-test-step image: golang:1.16 commands: - echo "Testing ..." - ./executable

Komunitas leminal.space

is it worth learning golang?

It’s hard to predict the future, but I can point to a couple of indexes. TIOBE measures language popularity according to a variety of factors. It has Java on a steady downward trend over the last couple of decades, but shows it as still very relevant. TIOBE does not show comparable growth for Golang. I don’t see much growth in the top 10 for languages that are especially suited to autoscaling. C# looks to be steady as a language in a similar niche as Java. OTOH another survey from devjobsscanner that looks purely at job postings shows Java openings as very steady over the last couple of years. It also shows Java as more popular than Golang. So I don’t know exactly what conclusion to draw from that. But learning a new language can be a helpful exercise regardless to broaden your perspective, and to keep your skills sharp. Personally for the purpose of producing resource-efficient binaries for scaling I prefer Rust. It’s design incorporates some correct-by-construction strategies that promote high-quality code. And it’s well-suited for compiling to WASM so you can do stuff like deploy small services to Cloudflare workers for wild scaling. But I guess Rust isn’t making a big showing in the popularity charts. And Golang is popular for its lower learning curve.

Komunitas programming.dev

DuckDB as the New jq

Love this. Always interesting to see novel ways of querying data in the terminal, and I agree that jq’s syntax is difficult to remember. I actually prefer nu(shell) for this though. On the lobste.rs thread for this blog, a user shared this: | get license.key -i | uniq --count | rename license This outputs the following: ╭───┬──────────────┬───────╮ │ # │ license │ count │ ├───┼──────────────┼───────┤ │ 0 │ bsd-3-clause │ 23 │ │ 1 │ apache-2.0 │ 5 │ │ 2 │ │ 2 │ ╰───┴──────────────┴───────╯

Komunitas awful.systems

Stubsack: weekly thread for sneers not worth an entire post, week ending Sunday 15 September 2024

dear fuck: From 2018 to 2022, I worked on the Go team at Google, where I was in charge of the Go Security team. Before that, I was at Cloudflare, where I maintained the proprietary Go authoritative DNS server which powers 10% of the Internet, and led the DNSSEC and TLS 1.3 implementations. Today, I maintain the cryptography packages that ship as part of the Go standard library (crypto/… and golang.org/x/crypto/…), including the TLS, SSH, and low-level implementations, such as elliptic curves, RSA, and ciphers. I also develop and maintain a set of cryptographic tools, including the file encryption tool age, the development certificate generator mkcert, and the SSH agent yubikey-agent. I don’t like go but I rely on go programs for security-critical stuff, so their crypto guy’s bluesky posts being purely overconfident “you can’t prove I’m using LLMs to introduce subtle bugs into my code” horseshit is fucking terrible news to me too but wait, mkcert and age? is that where I know the name from? mkcert’s a huge piece of shit nobody should use that solves a problem browsers created for no real reason, but I fucking use age in all my deployments! this is the guy I’m trusting? the one who’s currently trolling bluesky cause a fraction of its posters don’t like the unreliable plagiarization machine enough? that’s not fucking good! maybe I shouldn’t be taking this so hard — realistically, this is a Google kid who’s partially funded by a blockchain company; this is someone who loves boot leather so much that most of their posts might just be them reflexively licking. they might just be doing contrarian trolling for a technology they don’t use in their crypto work (because it’s fucking worthless for it) and maybe what we’re seeing is the cognitive dissonance getting to them. but boy fuck does my anxiety not like this being the personality behind some of the code I rely on

Komunitas programming.dev

I Don't Use Exceptions in C++ Anymore

Overall, I agree. Exceptions are messy and make it difficult to reason about code. That said, I think the macro at the bottom is even worse. I think a better solution to the one posted in the article is to use std::expected instead. This gives you a typed union that allows you to return either a successful result or an error type. What’s nice about it is that you don’t need to add endless amounts of if success {...} else {...} blocks. You can use the monadic operations (and_then, transform, etc.) to add your logic as normal while letting the compiler smoothly take care of doing the error checks. (In fact, I really wish golang has something similar to this, it would get rid of the endless error checking you have to write manually.) I wasn’t able to find an example using std::expected, and I tried writing one myself, but my version of g++ doesn’t seem to support it yet. But here is a nice std::optional example that should be pretty close to what you would do with std::expected.

Komunitas sh.itjust.works

Let's talk CLI/TUI and Developer Workflows!

@RareBird15 @programming @linux @selfhosted Ones I haven’t seen mentioned (unless it came in while I was typing this). https://github.com/kainctl/isd - Interactive systemd. https://github.com/zellij-org/zellij - tmux alternative. Built in which-key functionality. I initially switched to it because I like large scrollback buffers and tmux was super slow at resizing window panes. Can open buffers in nvim for better search. Nicer TUI if you don’t mind a little bloat / bling. https://github.com/arxanas/git-branchless - Work on stacked commits. Instead of opening PRs linerally you work on several commits at once with the expectation each commit will be a PR. Promotes smaller PRs that are easier to review to complete a feature. Often when doing that linerally you may discover a bad choice made earlier and have to reverse course and refactor. With a branchless workflow you go back and forth on commits so the final stack of PRs doesn’t include those reverse course refactors. git sl has some nice TUI graphs of your stack. https://github.com/mystor/git-revise - Split, rearrange commits. Works nicely with git-branchless. https://github.com/tummychow/git-absorb - Reflect changes from a commit backwards. Also works well with a branchless workflow. If I’m honest I just develop linerally and use an AI agent/skill to restack using the 3 programs above to erase pivot / refactor points and to group logical blocks into an easy to review PR. https://github.com/ymtdzzz/otel-tui - Open Telemetry viewer. https://github.com/brocode/fblog - JSON Lines viewer. https://github.com/aristocratos/btop - Better top. https://github.com/jandedobbeleer/oh-my-posh - Terminal prompt. My daily driver. https://starship.rs/ - Another terminal prompt. Played with a little but never got around to giving it my full attention to match my oh-my-posh setup. https://rclone.org/ - Remote backups using my own encryption key. Supports many cloud providers. https://github.com/Mic92/nix-fast-build - Not sure its really faster but has a nicer TUI. https://dircolors.com/ - Directory listing colors in terminal output to better distinguish file types. At a glance I can distinguish read-only, executables, symlinks, directories, etc. https://github.com/jesseduffield/lazygit - Git TUI. I only use in neovim though, don’t think I’ve ever run it directly. https://github.com/sindrets/diffview.nvim - Better merge conflict handling in neovim. https://www.lazyvim.org/ - Base neovim config with lots of TUI sugar. https://github.com/stevearc/oil.nvim - File tree explorer in neovim with editing capabilities. Hands down the most efficient way I’ve found to normallize torrent file names. Fixing 5+ seasons of a show takes a few minutes if you know the right vim keybinds. https://github.com/getsops/sops / https://github.com/mic92/sops-nix - Encrypt secrets in git repos. https://github.com/zdharma-continuum/fast-syntax-highlighting - Syntax highlighting as you type shell commands. https://github.com/luccahuguet/yazelix - Opinionated Yazi, Helix, Zellij setup with custom patches to integrate. Looks interesting but could never get to work with nix as it keeps trying to write to store paths. They even have a flake.nix in the repo… less - Less shitty more (terminal pager) with the options below. export LESS="-aRix2 --use-color --mouse --wheel-lines=3" export SYSTEMD_LESS="$LESS" # a = search from current position # i = case insensitive # x2 = tabstop # R = color control chars show color https://pnpm.io/ - Better monorepo support than npm. Faster too. Easy to patch dependencies. https://bun.sh/ / https://deno.com/ - Alternate node runtimes. Only have used bun, but its a faster cold start and uses less memory. https://oxc.rs/docs/guide/usage/linter.html - eslint clone in rust. Seconds versus minutes. Uses the golang TypeScript 7 preview version of typescript-eslint for type checking. https://rolldown.rs/ - Rust clone of the rollup JS/TS bundler. https://ast-grep.github.io/ - Grep AST patterns. Written in rust. https://dprint.dev/ - Formatter that unifies other formatters. Lots of fast rust plugins. https://biomejs.dev/ - Rust based node formatter. dprint support. https://github.com/astral-sh/ruff - Rust based python linter and formatter. dprint support. https://github.com/numtide/treefmt - Like dprint, forwards to other formatters, but intended for nix declarative setups (for use with devshell or devenv). https://direnv.net/ / https://github.com/nix-community/nix-direnv - Activate a virtual environment when you enter a directory. Common with nix devshell/devenv but can run any command. Auto reload based on certain files via watch patterns. https://github.com/mikesart/inotify-info - Debug why you’ve maxed out file watchers. https://github.com/lyonel/lshw / https://github.com/pciutils/pciutils - Detailed hardware info. https://github.com/wagoodman/dive - TUI to explore docker layers. https://github.com/containers/skopeo - Bunch of utilities for working with docker images and registries.

Komunitas lemmy.ml

Berty Messenger for iOS and Android - Zero Trust Open Source Peer-to-Peer Messenger based on IPFS protocol

Skimming their website, I noticed two issues with their dependencies. First, https://berty.tech/docs/protocol/ says *The only non-standard packages used in the Berty Protocol are the following two, although they have been written by experts are widely reviewed by the community: libp2p/go-libp2p-core/crypto agl/ed25519/extra25519 Clicking through to ed25519/extra25519, one can see that the upstream author replaced that code two years ago with a readme that says “This repository is unmaintained” and “Uncared for code is not a foundation to build upon”. (The part that was merged in to golang’s standard crypto library does not include the “extra25519” code that this project requires.) Second, I see that their Go-Tor-Transport relies on go-libtor which currently is using a year-old snapshot of the -dev branch of upstream tor. (I haven’t yet discerned if Tor is fundamental to their design or if it is an optional thing, but i suspect the latter?)

Komunitas lemmy.ca

Let futures be futures

Concluding paragraphs are a thinly veiled bash at Golang and its creators. Whatever. I like Go. I like C. I like lots of other languages, for different reasons. Haven’t learned Rust yet, but am already tired of the ivory-tower attitude of its proponents.

Komunitas lemmy.sdf.org

Upwards mobility

Golang is technical debt in language form. A language that gained limited and now sagging popularity, for good reason. I hate to work in Java but hate golang more. It’s the lightsaber of programming languages. I’ve got shit to do, give me blasters and all the rest. And I’m not interested in wanking myself off about how I did it all with channels. [edited for typo/clarity]