linux | go | |
---|---|---|
987 | 2,099 | |
172,917 | 120,631 | |
- | 0.9% | |
10.0 | 10.0 | |
5 days ago | 3 days ago | |
C | Go | |
GNU General Public License v3.0 or later | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
linux
- drm/panic: Add a drm panic handler
- NetBSD Bans AI-Generated Code from Commits
-
What even is a pidfd anyway?
>A pidfd does not let you hold a reference to an individual thread, only to a process
I think that's outdated: https://github.com/torvalds/linux/commit/64bef697d33b75fc06c...
-
SSD death, tricky read-only filesystems, and systemd magic?
For specific cases I can find ext4 explicitly checking for RO https://github.com/torvalds/linux/blob/8c06da67d0bd3139a97f3...
- Doyensec – OOB memory read in Linux kernel
- Memory is cheap, new structs are a pain
-
The File Filesystem
FFS predates FreeBSD and is in some capacity supported by all 3 major BSDs. I'm fairly confident that Linux actually supports it through the ufs driver ( https://github.com/torvalds/linux/tree/master/fs/ufs ); whether the use of different names in different places makes it better or worse is an exercise for the reader.
-
Linus Torvalds adds arbitrary tabs to kernel code
These are a bit easier to see what's going on:
https://github.com/torvalds/linux/commit/d5cf50dafc9dd5faa1e...
https://github.com/torvalds/linux/blob/d5cf50dafc9dd5faa1e61...
Unfortunately Github doesn't have a way to render symbols for whitespace, but you can tell by selecting the spaces that the previous version had leading tabs. Linus changed it so that the tokens `default` and the number e.g. `12` are also separated by a tab. This is tricky, because the token "default" is seven characters, it will always give this added tab a width of 1 char which makes it always layout the same as if it were a space no matter if you use tab widths of 1, 2, 4, or 8.
- Show HN: Running TempleOS in user space without virtualization
-
PfSense Software Embraces Change: A Strategic Migration to the Linux Kernel
There was also a Gentoo effort to run atop FreeBSD[0]. The challenge of course is that afaik none of the BSD kernel ABIs are considered stable. The stable interface is the BSD libc. That said, with binfmt_misc, I don't see a reason you couldn't just run (at least some) FreeBSD binaries on Linux with a thin syscall translation layer (rather something like qemu-system) and then your layer hooked via binfmt_misc. I'm not aware of anyone who has done this for FreeBSD, but prior efforts existed as alternate binfmts for SysVr4/5 ELF binaries[2]. Either way would take some elbow grease, but you *might* even be able just reuse binfmt_elf and just have a new interpreter for FreeBSD elf.
[0] https://wiki.gentoo.org/wiki/Gentoo_FreeBSD
[1] https://docs.kernel.org/admin-guide/binfmt-misc.html
[2] https://github.com/torvalds/linux/blob/master/fs/binfmt_elf....
go
-
Criando um modulo xk6 para k6
Go instalado
- Orbail proposal for go error handling
-
Swift Static Linux SDK
This melding of the sync and the async is actually kinda interesting to me. I know that at least in lots of environments, the sync and async paths are effectively separate for things like I/O[1]. I wondered (and still do for some cases) how Go handles this.
For those curious I looked at Windows and Linux, but not much else.
Linux: no io_uring support. There's debate on even whether to use it as people are discussing security implications[2]. It looks like (from perusing this issue, but could be wrong) AIO wasn't used.
Windows: it looks like they're using IOCP everywhere. Seems sensible enough.
General case: there seems to be an open issue regarding this[3].
[1]: For example, Windows has IOCPs, Linux has io_uring, FreeBSD has kqueue, POSIX has... POSIX AIO, etc.
[2]: https://github.com/golang/go/issues/31908
[3]: https://github.com/golang/go/issues/6817
-
Component Generation with Figma API: Bridging the Gap Between Development and Design
In today's fast-paced software development landscape, efficient workflows and clear responsibilities between development and design teams are crucial. One effective way to streamline these workflows is by automating component generation from design tools like Figma to code using powerful programming languages like Golang. This article will explore the process of converting Figma components to code, focusing on the clear differentiation of responsibilities between development and design teams.
- The Functional Programming Hiring Problem
-
A single ChatGPT mistake cost us $10k
> The Go database/sql package actually executes ROLLBACK in the SQL engine.
No: https://github.com/golang/go/blob/beaf7f3282c2548267d3c89441...
-
Go: Sentinel errors and errors.Is() slow your code down by 3000%
Nice write-up.
It's a shame that errors.Is is slow for general use, and at least some of that seems attributable to the Comparable change requiring reflection. Multi-errors seems to have bloated the switch. And of course the lack of a happy-path that was fixed in [1].
Since Go already has two ways of handling exceptional state: return or panic, it does feel like a stretch to also introduce a "not found" path too. All bets are off in tight inner loops, but I think as a general coding practice, it'll make the language (de facto) more complicated/ambiguous.
But my take away is that the question has been kicked off: can wrapped errors be made more efficient?
1. https://github.com/golang/go/commit/af43932c20d5b59cdffca454...
-
Fast Shadow Stacks for Go
I know that at least two engineers from the runtime team have seen the post in the #darkarts channel of gopher slack. One of them left a fire emoji :).
I'll probably bring it up in the by-weekly Go runtime diagnostics sync [1] next Thursday, but my guess is that they'll have the same conclusion as me: Neat trick, but not a good idea for the runtime until hardware shadow stacks become widely available and accessible.
[1] https://github.com/golang/go/issues/57175
-
Runtime code generation and execution in Go
I guess the meta programming that most often gets used with //go:generate ends up being text/template.
The Go sort algorithm (pdqsort) is implemented in this way so the same algorithm can be used to implement the various existing sort APIs.
https://github.com/golang/go/blob/master/src/sort/gen_sort_v...
-
Abusing Go's Infrastructure
it's a known issue https://github.com/golang/go/issues/31866
What are some alternatives?
zen-kernel - Zen Patched Kernel Sources
v - Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io
DS4Windows - Like those other ds4tools, but sexier
TinyGo - Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.
winapps - Run Windows apps such as Microsoft Office/Adobe in Linux (Ubuntu/Fedora) and GNOME/KDE as if they were a part of the native OS, including Nautilus integration.
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
Open and cheap DIY IP-KVM based on Raspberry Pi - Open and inexpensive DIY IP-KVM based on Raspberry Pi
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
serenity - The Serenity Operating System 🐞
Angular - Deliver web apps with confidence 🚀
DsHidMini - Virtual HID Mini-user-mode-driver for Sony DualShock 3 Controllers
golang-developer-roadmap - Roadmap to becoming a Go developer in 2020