soc.octade.net is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.
This server runs the snac software and there is no automatic sign-up process.
Stenberg's toot of our one hour live discussion is over here:
https://mastodon.social/@bagder/116550354613292539
whom we should #retoot too ! Along with this incredible crossstitch: https://mastodon.social/@bagder/112313816741180729
At the time, C was rapidly evolving into what we recognize today.
It started as B, an untyped and interpreted language that only had one kind of value, a word. This was a perfect fit for the PDP-7 that UNIX started on, with 18-bit words, but as they transitioned to the PDP-11, with 16-bit words and 8-bit addressing, this became a limitation.
Soon, types were added, to distinguish char, int, and pointers, and it became known as NB ("New B"). But, B wasn't particularly fast, as it was interpreted (well, threaded).
Once it was rewritten to be compiled, the language became known as C (perhaps initially as NC). For a short while, everything in C was an lvalue like B, giving the above snippet, but this was dropped a few months later, presumably for efficiency.
Some UNIX utilities had been written in B/C from the start, but efforts to rewrite the kernel itself in B/C had failed. Finally, once structs were added to C, it was powerful enough to support the kernel and it was rewritten in C over the summer of 1973, culminating in the release of UNIX V4.
A cursed feature of C in 1972: Labels and functions were reassignable (i.e., lvalues)!
For example, this is a clever way to initialize once:
goto init;
init:
ouptr = oubuf;
init = init1;
init1:
which is compiled to:
jmp *4120
mov 4136,4144
mov 4122,4120
Note the indirect jump and assignment to that address. This apparently would have also worked with functions.
I'm looking for a modern introduction to #C. Something that is slow and steady but through. This is as much for systems programming on Linux as embedded work; I intend to do a bit of both. Any suggestions would be helpful. #programing #programinghelp #askfedi
Excellent article, by Blain Smith (@blainsmith), on the need for a broader education, especially for computer programmers:
https://blainsmith.com/essays/humanities-in-the-machine/
Thanks to Sacha Chua (@sacha) for including this in her most recent weekly Emacs news post.
Edit: proper links for people mentioned.
Canada's Bill C-22 Mandates Mass Metadata Surveillance of Canadians
https://www.parl.ca/DocumentViewer/en/45-1/bill/C-22/first-reading
#HackerNews #Canada #Bill #C-22 #Metadata #Surveillance #Privacy #Rights
Oh, this is good...
From UNIX World, 1985: "It finds the subtle bugs in my C programs" - Claude B. Finn.
40 years later, people are using Claude to find bugs in programs. What's old is new again.
#Anthropic #LLM #Claude #ClaudeCode #AI #Security #Programming #UNIX #C
Automated Equality Checks in C++ with Reflection (C++26) https://lobste.rs/s/dmqgar #c++
https://lemire.me/blog/2025/11/09/automated-equality-checks-in-c-with-reflection-c26/
A distraction-free writing environment https://lobste.rs/s/7gyuha #c
https://github.com/andrewmd5/dawn
#maxima #commonLisp #CAS #algebra #article https://screwlisp.small-web.org/fundamental/common-lisp-maxima-finally/
> (integrate '(tan x) 'x 0 1)
(* -1 (LOG (COS 1)))
> '(1 2 3 4)
(1 2 3 4)
> (coerce * '(SIMPLE-ARRAY (COMPLEX DOUBLE-FLOAT) (*)))
#(#C(1.0 0.0) #C(2.0 0.0) #C(3.0 0.0) #C(4.0 0.0))
> (maxima-fft:fft-r2-nn *)
#(#C(2.5 0.0) #C(-0.5 -0.5) #C(-0.5 0.0) #C(-0.5 0.5))
I guess #retrocomputing but current was August, so.
Also have a note about Kent demoing his implementation of his-ansi-cl style error handling introduced to python.
Giving C a Superpower: custom header file (safe_c.h) https://lobste.rs/s/ts2xa7 #c #programming
https://hwisnu.bearblog.dev/giving-c-a-superpower-custom-header-file-safe_ch/
Compiler Options Hardening Guide for C and C++ https://lobste.rs/s/lvqmcz #c #c++
https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html
How to write type-safe generics in C https://lobste.rs/s/uc3a3b #c #programming
https://raphgl.github.io/blog/generics-in-c.html
the last couple years in v8's garbage collector via @fanf https://lobste.rs/s/jtpw7d #c++ #javascript
https://wingolog.org/archives/2025/11/13/the-last-couple-years-in-v8s-garbage-collector
Rust in Android: move fast and fix things https://lobste.rs/s/nrrijz #c++ #rust
https://security.googleblog.com/2025/11/rust-in-android-move-fast-fix-things.html
1 Problem, 7 Libraries (on the GPU) https://lobste.rs/s/ekzild #video #c++ #python
https://www.youtube.com/watch?v=EEwREnUdbFs
Parsing integers in C via @RunxiYu https://lobste.rs/s/6dfpil #c
https://daniel.haxx.se/blog/2025/11/13/parsing-integers-in-c/
What's new in Herb v0.8 by @marcoroth https://lobste.rs/s/adk54c #c #compilers #editors #ruby #wasm
https://herb-tools.dev/blog/whats-new-in-herb-v0-8
Practical Security in Production Hardening the C++ Standard Library at massive scale https://lobste.rs/s/yuwqaq #c++ #security
https://queue.acm.org/detail.cfm?id=3773097
One Weird Hashing Trick https://lobste.rs/s/d6hdwo #c #math
https://notes.hella.cheap/one-weird-hashing-trick.html
Conditional Members https://lobste.rs/s/uzhufs #c++
https://brevzin.github.io/c++/2021/11/21/conditional-members/
Subscripts and sizes should be signed (2018) via @dubroy https://lobste.rs/s/6k8npc #pdf #c++
https://open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1428r0.pdf
Trip report: November 2025 ISO C++ standards meeting (Kona, USA) https://lobste.rs/s/gfurgn #c++
https://herbsutter.com/2025/11/10/trip-report-november-2025-iso-c-standards-meeting-kona-usa/
The Linux Kernel Looks To "Bite The Bullet" In Enabling Microsoft C Extensions https://lobste.rs/s/3vyjzk #c #linux
https://www.phoronix.com/news/Linux-6.19-Patch-Would-MS-Ext
Why I don't love Rust (either) https://lobste.rs/s/irzh59 #c++ #rust
https://cbarrete.com/rust-bad.html
Challenges and Benefits of Upgrading Sea of Thieves From C++14 to C++20 https://lobste.rs/s/ghkvqm #video #c++ #games
https://www.youtube.com/watch?v=Nm9-xKsZoNI
Problems With Move Semantics in C++ https://lobste.rs/s/syxfbv #video #c++
https://youtu.be/Klq-sNxuP2g
By the power of grayscale https://lobste.rs/s/bs7gqr #c #graphics
https://zserge.com/posts/grayskull/
Recursive macros in C, demystified (once the ugly crying stops) https://lobste.rs/s/qxwozm #c #c++
https://h4x0r.org/big-mac-ro-attack/
Comparing C++/Qt Data Serialization Formats: Code, Size, and Performance https://lobste.rs/s/0zssdw #c++
https://www.qt.io/blog/comparing-data-serialization-formats
Rewrite, Optimize, Repeat: Our Journey Porting a Triemap from C to Rust https://lobste.rs/s/mzkw9y #video #c #performance #rust
https://www.youtube.com/watch?v=H0AUP2OgppE&list=PL2b0df3jKKiRFEuVNk76ufXagOgEJ9sBZ&index=9
C++ move semantics from scratch (2022) https://lobste.rs/s/sbrnnl #c++
https://cbarrete.com/move-from-scratch.html
Abstract Syntax Tree: An Example in C via @abnv https://lobste.rs/s/zsoyox #c #compilers
https://keleshev.com/abstract-syntax-tree-an-example-in-c/
Notes by djb on using Fil-C (2025) https://lobste.rs/s/zc73xh #c #security
https://cr.yp.to/2025/fil-c.html
Reflection for aggregates (2020) https://lobste.rs/s/n727oo #c++
https://akrzemi1.wordpress.com/2020/10/01/reflection-for-aggregates/
Three Meanings of Reference https://lobste.rs/s/tkbuou #c++
https://www.sandordargo.com/blog/2025/10/29/three-meanings-of-reference
Developing a web server with C and FastCGI https://lobste.rs/s/q2ghg1 #c #web
https://jsloop.net/2025/10/27/developing-a-web-server-with-c-and-fastcgi
Writing a C Compiler, in Zig via @abnv https://lobste.rs/s/4knb8i #c #compilers #zig
https://asibahi.github.io/thoughts/c-compiler-1-zig/
Fil-C: A memory-safe C implementation https://lobste.rs/s/mg0aur #c
https://lwn.net/SubscriberLink/1042938/38d8dde9db211cab/
InvisiCaps By Example via @pushcx https://lobste.rs/s/nxohby #c #compilers
https://fil-c.org/invisicaps_by_example