Filter
Exclude
Time range
-
Near
Production segfault in Rust libvips traced to derived Clone on GObject wrapper—double-free from raw pointer copy. Fix: use ops::copy() instead of .clone(). Audit all ... foursignals.dev/wire/2026-06…
11
Going through the last steps of shipping my new SaaS, I discovered frida.re today. It feels like software from another planet. It's written in Vala which emits C and GObject code. Trying to recreate a modern Proxychains with it, so I can ship Trypanophobe's CLI.
2
2
65
3,810
Replying to @bee_fumo
1. c vs c and super-bloated (gobject) 2. i have no issue 3. flatpak: bloat. learn how to admin your system and dont use a shitty distro that doesnt let you install what you want
4
137
Replying to @toukorina
Eh, Lua has a C ABI, so you aren’t typically binding things with default arguments or overloads… and surely being able to autogenerate the common cases and save a bazillion lines of manual code would still be a net efficiency gain even if you had to manually bind the more “advamced” stuff like default args or overloads… plus like…. Think about C frameworks and type systems like GTks GObject or Microsoft COM, which essentially require mapping your C code to C… hoping it could also be super nice there. Or think about ssrialization systems like autogenerating JSON or XML readers/writers just by reflecting over the fields or accessors of a class? ….bit hey, I have no idea how querying for default args works yet, nor did I even know they kicked the can on function overloading…. Goddamnit. They better address that next revision. Maybe they’re doing it incrementally like with constexpr getting more and more powerful slowly… lol
2
2
596
Replying to @TrisH0x2A
Yes. cf. (more complex) GLib's GObject in C, C :

On the other hand, C lets you write this much more simply, with compile-time type checking. Instead of an explicit cast like: print_animal((Animal *)&d); you can safely write: print_animal(&d); #エンジニア #プログラミング #CPlusPlus #CLang #programming
2
442
The original C code emulates inheritance via struct layout, but the cast has almost no type checking. In C, GObject adds inheritance, runtime type checks, constructor-like init, and reference counting. The trade-off is tons of boilerplate!🤯 #エンジニア #プログラミング #C言語
May 14
you can implement inheritance in C with one simple rule make the parent struct the first member C guarantees that a pointer to a struct has the same address as its first member so casting between them works
2
330
Replying to @codegirl007
Is this all in c??? With the gobject shit?
1
4
124
Replying to @straceX
C's OOP simulation is legit. The real beast mode? Function pointers in structs for vtables. That's how gobject does it. Rust's safety comes at a cost—C gives you raw control with zero runtime overhead. Pick your poison.
6
1
22
2,890
Replying to @straceX
That's hardly a class. You'd probably want a vtable for that. You can implement classes in C, just like gobject or COM does. It's just not very convenient.
1
5
1,732
Replying to @polygon_heart
thinking about how gobject APIs must be exposed in rust is a bit scary..
1
2
23
GObject is holding it back, WirePlumber is utter dogshit, PipeWire itself is cool but it's only marginally better than Jack2. Definitely not underrated, probably rated exactly what it deserves right now
2
30
Replying to @ohmypy
Checkout GObject: GObject is the core object system and runtime type framework used by GLib, which underpins much of the GNOME and GTK ecosystem. It provides object-oriented programming facilities for the C language, which lacks native OO constructs.
4
498
Replying to @vaxryy
I mean this is why every serious FOSS project that uses Rust wraps it in a C ABI. GObject is still the only way to have a "rich" ABI.
2
2,940
BioDigital Convergence PART 26 A: CONNECTING ALL SYSTEMS TO THE HUMAN & COMPUTING THE RESPONSES TO THE QUANTUM HYBRID CLOUD This is important because the entire BEAST SYSTEM gets connected & mapped to you using these packages. SPACK PACKAGES 1) Simple package browsing portal. github.com/spack/packages.sp… This repository provides a rich search interface to currently available Spack packages. The Metadata is updated nightly. See the Packages! packages.spack.io/ PACKAGES INCLUDE: - ABySS packages.spack.io/package.ht… - cmake packages.spack.io/package.ht… - hdf5 packages.spack.io/package.ht… - hydrogen packages.spack.io/package.ht… - gdal packages.spack.io/package.ht… - gobject-introspection packages.spack.io/package.ht… - flux-core packages.spack.io/package.ht… - flux-pmix packages.spack.io/package.ht… - flux-sched packages.spack.io/package.ht… - quantum-espresso packages.spack.io/package.ht… - slurm packages.spack.io/package.ht… - snakemake packages.spack.io/package.ht… - star packages.spack.io/package.ht… Understand the packages I listed above are only a small few in a very large selection. Those packages tie into every aspect of the upcoming Beast System. NOTE: There's a reason they call ot the ABySS MAPPING, TARGETING, COMPUTING & MANIPULATION In this Beast System they do everything at the molecular & nano level. Here are some tools & systems designed to "Pass Information" through you while retrieving information from you. 1) SPECTRA (COMPUTING) Sparse Eigenvalue Computation Toolkit as a Redesigned ARPACK (SPECTRA) A header-only C library for large scale eigenvalue problems. spectralib.org/ Spectra stands for Sparse Eigenvalue Computation Toolkit as a Redesigned ARPACK. caam.rice.edu/software/ARPAC… Spectra is based on the algorithm described in the ARPACK Users’ Guide, the implicitly restarted Arnoldi/Lanczos method. li.mit.edu/Archive/Activitie… It is a C library for large scale eigenvalue problems, built on top of Eigen, an open source linear algebra library. Spectra is implemented as a header-only C library, whose only dependency, Eigen, is also header-only. eigen.tuxfamily.org/ Hence Spectra can be easily embedded in C projects that require calculating eigenvalues of large matrices. github.com/vijaysm/spectra 2) Nek5000 The open-source, highly-scalable, always-portable spectral element code. nek5000.github.io/NekDoc/qui… 3) ENigMA (FRAMEWORK) A multiphysics framework with robust mesh generation capabilities. It also provides classes for robust mesh generation (triangular, block, constrained tetrahedral, etc), intersection and clipping operations and implements R-tree, octree and hashgrid methods for spatial searching. It can be used for three-dimensional flow, thermal and structural analysis. It was developed to be cross-platform using STL, Eigen (for vectors and matrices) and exprtk (for math expressions). The SWIG tool is used to expose ENigMA's classes and methods to other languages such as Python, C#, etc. It also uses Gtest for unit testing (> 160 unit tests), CMake is used for cross-platform building and Git is used for source code management. github.com/vijaysm/ENigMA
3
12
14
814
30 Dec 2025
Replying to @hikari_no_yume
Targeting win32 is still easier than dealing with gobject
1
5
377
Ghostty 1.0 came out a year ago today. Since then: - Command Palette - Background Images - Quick Terminal Size - Graphical Progress Bars (OSC 9;4) - Undo/Redo Close (macOS) - Terminal Bell (audio, graphical, and more) - Custom Cursor Shaders - animations/trails - SSH Improvements - auto terminfo copying, env fixes - Quick Terminal on Linux - Global Keybinds on Linux - Server-Side Decorations (SSD) on Linux - Performable Keybindings - Bitmap Font Support - Alpha Blending on both macOS and Linux - Apple Shortcuts Integration (macOS) - GTK rewrite with native GObject Coming in 1.3, already in nightly/tip: - Scrollback Search - Scrollbars - Key Tables / Chained Keybinds - Copy as HTML/RTF - libghostty started and already shipping in 3rd party production code on all platforms including web Organizationally: - Non-profit established - Subsystem maintainers established with ~10 maintainers - Community team established with another ~10 members Commits: 5,154 Unique contributors: 310 See you in 2026. 🚀
52
64
2,209
172,553
Updated list of programs and libraries that work in Fil-C - acl 2.3.2 - ada url - attr 2.5.2 - audit-userspace 4.1.2 - bc 6.7.6 - bison 3.8.2 - brotli 1.1.0 - bzip2 - bzip3 - cairo 1.18.0 - check 0.15.2 - cmake 3.30.2 - curl 8.9.1 - daemon 0.6.4 - dash 0.5.12 - diffutils 3.10 - e2fsprogs 1.47.1 - elfutils 0.191 - expect 5.45.4 - expat 2.7.1 and 2.6.2 - file 5.45 - findutils 4.10.0 - flex 2.6.4 - fontconfig 2.15.0 - freetype 2.13.3 - fribidi 1.0.15 - gawk 5.3.0 - gdbm 1.24 - gdk-pixbuf 2.42.12 - gettext 0.22.5 - git 2.46.0 - glib 2.80.4 - glibc 2.40 - gmp 6.3.0 - GNU bash 5.2.32 - GNU binutils 2.43.1 - GNU coreutils 9.5 - GNU Emacs 30.1 - GNU m4 1.4.19 - gobject-introspection 1.80.1 - google benchmark - google test - gperf 3.1 - graphene 1.10.8 - graphite2 1.3.14 - grep 3.11 - groff 1.23.0 - gtk 4.14.5 - gzip 1.13 - harfbuzz 9.0.0 - icu4c 76.1 - inetutils 2.5 - intltool 0.51.0 - iproute2 6.10.0 - jpeg 6b - kbd 2.6.4 - keyutils 1.6.3 - kmod 33 - krb5 1.21.3 - less 661 - libc - libc abi - libarchive 3.7.4 - libcap 2.70 - libdrm 2.4.122 - libedit 20240808-3.1 - libepoxy 1.5.10 - libevent 2.1.12 - libevdev 1.11.0 - libffi 3.4.6 - libinput 1.29.1 - libjpeg-turbo 3.0.1 - libpipeline 1.5.7 - libpng 1.6.43 - libpsl 0.12.5 - libselinux 3.9 - libsepol 3.9 - libtasn1 4.19.0 - libtool 2.4.7 - libuev 2.4.1 - libunistring 1.2 - libuv 1.48.0 and 1.51.0 - libwebp 1.4.0 - libxcrypt 4.4.36 - libxml2 2.14.4 - linux 6.10.5 (userland support programs) - Linux-PAM 1.6.1 and 1.7.1 - lua 5.4.7 - lz4 1.10.0 - make 4.4.1 - man-db 2.12.1 - mesa 24.1.5 - mg 3.7 - mpc 1.3.1 - mpfr 4.2.1 - musl - ncurses 6.5-20240720 - nghttp2 1.62.1 - ninja 1.12.1 - openjpeg 2.5.2 - openssh 9.8p1 - openssl 3.3.1 - p11-kit 0.25.5 - pango 1.54.0 - patch 2.7.6 - pcre 8.39 - pcre2 10.44 - perl 5.40.0 - pixman 0.43.4 - pkgconf 2.3.0 - procps-ng 4.0.4 - psmisc 23.7 - pycairo 1.26.1 - pygobject 3.48.2 - Python 3.12.5 - quickjs - readline 8.2.13 - ruby 3.3.10 - seatd 0.9.1 - sed 4.9 - shadow 4.16.0 - shared-mime-info 2.4 - simdutf 5.5.0 - simdjson - sqlite - sudo 1.9.15p5 - sysklogd 2.6.1 - sysvinit 3.10 - tar 1.35 - tcl 8.6.15 and 8.6.14 - texinfo 7.1 - tiff 4.6.0 - tmux 3.5a - toybox 8.12 - udev from systemd 256.4 - util-linux 2.40.2 - vim 9.1.0660 - wayland 1.24.0 - weston 12.0.5 - wget 1.24.5 - wg14_signals - which 2.21 - xkbcommon 1.11.0 - XML Parser 2.47 - xz 5.6.2 - yaml 0.2.5 - zlib 1.3 and 1.3.1 - zsh 5.8.0.1-dev - zstd 1.5.6
10
14
246
12,817
gobject-introspection 1.80.1 works in Fil-C with only a handful of changes
1
26
2,049
Replying to @abhi9u
I'm not really sold on this one... considering the entire object-model in CPython relies HEAVILY on implementation inheritance and on emulating OOP in C, which is fundamentally incompatible with Rust's type system. I don't see how you can even implement a custom Python type within the language or at all represent its object model without being entirely unsafe... To me, it's analogous to if GNOME/GTk were to redo GObject in Rust, rather than simply binding to it... In such a scenario, having an object system purely in C seems to be the best solution for language interoperability...
8
712
Replying to @Farenain
OOoOooHOoooOo get ready for a hell of a ride... it's INSANE how much C can do in terms of OOP... i'm pushing the envelope way further than C classes. Here's my library: github.com/gyrovorbis/libgim… I was inspired by GNOME/GTk's "GObject," which is also open-source. Was also inspired by Objective-C's C runtime and Microsoft'S COM framework. Both are essentially OO type systems built over the C ABI. My original very first inspiration was this book on OOP in ANSI C, which showed me that my poor C 20-damaged brain that couldn't function without better abstractions and more powerful type systems could still get by as a lowly C developer and could still achieve nice things with it by thinking out of the box: mclibre.org/descargar/docs/l…... Beautiful, classic book that will help you open your mind to pushing the boundaries of C, but don't implement that type system... you can do a LOT better with a more modern C revision than the author could do back with ANSI and C89. Lmk if you have any other questions, cuz this is a glorious, epic topic you're wanting to get into. lol.
2
1
5
247