41554 blogs · [ { "id": "01a0b0d5-3664-7048-b212-cce2f82dc85c", "title": "Upcoming Landlock talk at LSS Europe 2026", "url": "https://blog.gnoack.org/post/landlock-update-2026-ann", "published_at": "2026-09-17T15:30:28+00:00" }, { "id": "01a08749-f335-7155-bf79-ac6f490f4faa", "title": "Landlock features in Linux 7.2", "url": "https://blog.gnoack.org/post/linux-7.2", "published_at": "2026-08-29T18:02:25+00:00" }, { "id": "01a08749-f335-7155-bf79-ac6f49825775", "title": "Go-Landlock talk about Multithreaded Policy Enforcement", "url": "https://blog.gnoack.org/post/go-landlock-v8-talk", "published_at": "2026-08-25T22:58:42+00:00" }, { "id": "01a08749-f335-7155-bf79-ac6f4a2e22b8", "title": "Splitting a git commit", "url": "https://blog.gnoack.org/post/git-history-split", "published_at": "2026-08-12T20:36:41+00:00" }, { "id": "01a08749-f335-7155-bf79-ac6f4a9ced21", "title": "Hyper-Customized One-Off Software for Cheap", "url": "https://blog.gnoack.org/post/hyper-customized-one-off-software", "published_at": "2026-07-05T09:53:19+00:00" }, { "id": "01a08749-f335-7155-bf79-ac6f4b342c6b", "title": "AI-authored projects have a lower lifespan, on average", "url": "https://blog.gnoack.org/post/lindy-effect", "published_at": "2026-06-30T21:59:32+00:00" }, { "id": "01a08749-f335-7155-bf79-ac6f4b417e3a", "title": "The Catholic Church on Transhumanism", "url": "https://blog.gnoack.org/post/the-catholic-church-on-transhumanism", "published_at": "2026-05-31T17:46:06+00:00" }, { "id": "01a08749-f335-7155-bf79-ac6f4bb4d64e", "title": "Landlock Path Walk Inversion Experiment", "url": "https://blog.gnoack.org/post/landlock-path-walk-inversion-experiment", "published_at": "2026-05-08T21:51:04+00:00" }, { "id": "01a08749-f336-7261-866c-b7d1c8bbceaf", "title": "Shell Tricks: Extract text between two regexes", "url": "https://blog.gnoack.org/post/extracting-between-two-regexes", "published_at": "2026-05-08T19:15:34+00:00" }, { "id": "01a08749-f336-7261-866c-b7d1c930dff7", "title": "Landlock Multithreaded Policy Enforcement", "url": "https://blog.gnoack.org/post/landlock-tsync", "published_at": "2026-04-13T18:44:37+00:00" }, { "id": "01a08749-f336-7261-866c-b7d1ca3003d0", "title": "Nutella is in space", "url": "https://blog.gnoack.org/post/nutella-in-space", "published_at": "2026-04-09T20:35:42+00:00" }, { "id": "01a08749-f336-7261-866c-b7d1caead3fa", "title": "Parameterized testing: You want Inputs and Outputs", "url": "https://blog.gnoack.org/post/parameterized-testing", "published_at": "2026-02-11T23:58:31+00:00" }, { "id": "01a08749-f336-7261-866c-b7d1cb5d7460", "title": "She sells Z-Shells at the Z-Shore", "url": "https://blog.gnoack.org/post/landlock-island", "published_at": "2026-02-11T23:49:43+00:00" }, { "id": "01a08749-f336-7261-866c-b7d1cb8ffd40", "title": "Martin Luther King Day", "url": "https://blog.gnoack.org/post/mlk-day-2026", "published_at": "2026-01-19T20:39:26+00:00" }, { "id": "01a08749-f336-7261-866c-b7d1cba7d12d", "title": "FOSDEM 2026: It is happening!", "url": "https://blog.gnoack.org/post/fosdem2026", "published_at": "2026-01-18T23:20:25+00:00" }, { "id": "01a08749-f336-7261-866c-b7d1cc5c6e66", "title": "Google Big Sleep: Linux Vulnerabilities", "url": "https://blog.gnoack.org/post/bigsleep-linux", "published_at": "2026-01-06T19:45:46+00:00" }, { "id": "01a08749-f337-72a1-8ed9-dbb1329fd6b6", "title": "Lore links in mutt", "url": "https://blog.gnoack.org/post/lore-links-in-mutt", "published_at": "2025-12-24T11:21:34+00:00" }, { "id": "01a08749-f337-72a1-8ed9-dbb132a43268", "title": "Listening on an ephemeral TCP port", "url": "https://blog.gnoack.org/post/ephemeral-listen", "published_at": "2025-11-14T19:26:44+00:00" }, { "id": "01a08749-f337-72a1-8ed9-dbb132bcd7e7", "title": "Integer overflow checking with C23", "url": "https://blog.gnoack.org/post/int_overflow_c23", "published_at": "2025-11-02T19:48:02+00:00" }, { "id": "01a08749-f337-72a1-8ed9-dbb132cd0530", "title": "Landlock Your Vibe Coding", "url": "https://blog.gnoack.org/post/landlock-your-vibe-coding", "published_at": "2025-08-02T18:08:48+00:00" }, { "id": "01a08749-f337-72a1-8ed9-dbb1339120d7", "title": "Argument passing adventures", "url": "https://blog.gnoack.org/post/argument-passing-adventures", "published_at": "2025-05-02T11:54:24+00:00" }, { "id": "01a08749-f337-72a1-8ed9-dbb133b0546c", "title": "I broke Emacs mouse support on the console", "url": "https://blog.gnoack.org/post/emacs-mouse-bug", "published_at": "2025-02-12T16:11:09+00:00" }, { "id": "01a08749-f337-72a1-8ed9-dbb1342613d1", "title": "Git without a hosted platform", "url": "https://blog.gnoack.org/post/git-over-ssh", "published_at": "2025-02-05T20:16:03+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba97f75952", "title": "Dan Bernstein on sandboxing", "url": "https://blog.gnoack.org/post/djb-sandboxing", "published_at": "2025-01-23T21:32:27+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba985c632f", "title": "Upcoming conferences 2025 Q1", "url": "https://blog.gnoack.org/post/upcoming-conferences-2025q1", "published_at": "2025-01-17T06:44:45+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba98bfe631", "title": "Talk: Update on Landlock: IOCTL support", "url": "https://blog.gnoack.org/post/landlock-ioctl-talk", "published_at": "2024-10-13T09:15:42+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9924c80d", "title": "Git: Multirepo patch set", "url": "https://blog.gnoack.org/post/git-multirepo-patch-set", "published_at": "2024-09-10T19:03:55+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba999f11be", "title": "Upcoming talk at LSS Europe 2024", "url": "https://blog.gnoack.org/post/landlock-ioctl-talk-ann", "published_at": "2024-08-29T20:33:24+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba99f364dc", "title": "Landlock IOCTL control in Linux 6.10", "url": "https://blog.gnoack.org/post/landlock-ioctl", "published_at": "2024-07-15T19:39:21+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9ad35dbe", "title": "LLM-generated docs are usually worthless", "url": "https://blog.gnoack.org/post/llm-generated-docs", "published_at": "2024-03-01T08:09:35+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9b7e0614", "title": "Opening /proc/self/fd/1 is not the same as dup(1)", "url": "https://blog.gnoack.org/post/proc-fd-is-not-dup", "published_at": "2024-02-19T19:45:12+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9bf19aac", "title": "Go-Landlock: Networking support", "url": "https://blog.gnoack.org/post/landlock-v4", "published_at": "2024-01-10T20:23:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9cd47eba", "title": "Public tweets are not public, haha!", "url": "https://blog.gnoack.org/post/social-media", "published_at": "2023-07-12T18:38:02+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9d293c4f", "title": "The Design of Mailprint", "url": "https://blog.gnoack.org/post/mailprint-design", "published_at": "2023-06-22T20:04:56+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9d420f46", "title": "Lei, the Local Email Interface", "url": "https://blog.gnoack.org/post/lei", "published_at": "2023-06-11T18:13:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9e0088ff", "title": "The empty Makefile is valid", "url": "https://blog.gnoack.org/post/empty-makefiles", "published_at": "2023-05-10T17:00:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9e49192e", "title": "Landlock: Best Effort mode", "url": "https://blog.gnoack.org/post/landlock-best-effort", "published_at": "2023-03-05T09:34:09+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9eeb183d", "title": "Landlock truncation support in Linux 6.2", "url": "https://blog.gnoack.org/post/landlock-truncate", "published_at": "2023-02-20T20:20:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9f84ec64", "title": "Why use Go-Landlock for sandboxing?", "url": "https://blog.gnoack.org/post/go-landlock-talk", "published_at": "2022-11-14T19:00:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9fb55466", "title": "The feasibility of pledge() on Linux", "url": "https://blog.gnoack.org/post/pledge-on-linux", "published_at": "2022-07-16T08:36:20+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2ba9fed013e", "title": "XKB With Sway", "url": "https://blog.gnoack.org/post/xkb-with-sway", "published_at": "2021-12-02T17:24:17+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa02a6122", "title": "Error Handling Links", "url": "https://blog.gnoack.org/post/error-handling-links", "published_at": "2021-09-10T14:54:54+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa0a04e16", "title": "Sandboxing with Landlock", "url": "https://blog.gnoack.org/post/landlock", "published_at": "2021-04-16T12:20:09+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa0aacc02", "title": "Writing Tests in Go", "url": "https://blog.gnoack.org/post/go-tests", "published_at": "2021-02-10T21:00:06+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa0e900a5", "title": "Don't check emptyness before loops", "url": "https://blog.gnoack.org/post/dont-check-emptyness-before-loops", "published_at": "2020-10-06T05:12:04+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa106b20a", "title": "Go-style coroutines in the FN language", "url": "https://blog.gnoack.org/post/coroutines-in-fn", "published_at": "2020-09-14T10:15:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa10fc8ea", "title": "Rendering drawings with tuhirender", "url": "https://blog.gnoack.org/post/tuhirender", "published_at": "2020-07-05T22:04:10+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa1e28247", "title": "Go: Test Cleanup in Go 1.14", "url": "https://blog.gnoack.org/post/go-testing-cleanup", "published_at": "2020-05-14T07:26:41+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa2361bf1", "title": "Why Software Design?", "url": "https://blog.gnoack.org/post/why-software-design", "published_at": "2020-05-13T19:10:10+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa32ef529", "title": "Go: Sharing templates across multiple pages", "url": "https://blog.gnoack.org/post/go_templates", "published_at": "2020-05-03T10:10:01+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa3a45598", "title": "Go: Path simplification library", "url": "https://blog.gnoack.org/post/path-simplification-lib", "published_at": "2020-04-05T12:13:52+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa48f1a16", "title": "Go: The lack of generics", "url": "https://blog.gnoack.org/post/go-lack-of-generics", "published_at": "2020-04-05T09:53:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa564f24b", "title": "The Setup-Cleanup problem", "url": "https://blog.gnoack.org/post/setup-cleanup", "published_at": "2020-01-08T20:37:28+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa5f1ac4b", "title": "Mutation Testing works", "url": "https://blog.gnoack.org/post/mutation-testing", "published_at": "2019-12-30T22:53:19+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa6bb1d1a", "title": "Wireguard is in the Linux kernel", "url": "https://blog.gnoack.org/post/wireguard", "published_at": "2019-12-09T20:59:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa77a2588", "title": "Go: Goroutines and Apis", "url": "https://blog.gnoack.org/post/go-goroutines-and-apis", "published_at": "2019-11-18T20:30:53+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa7d4fb1c", "title": "Go: Error handling", "url": "https://blog.gnoack.org/post/go-errors", "published_at": "2019-10-18T18:00:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa837251f", "title": "Dot Space Space", "url": "https://blog.gnoack.org/post/dot-space-space", "published_at": "2019-08-30T07:17:30+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa91569f0", "title": "Notes on Plan9's 9P protocol", "url": "https://blog.gnoack.org/post/9pnotes", "published_at": "2019-03-22T11:26:34+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa9917746", "title": "How to review code", "url": "https://blog.gnoack.org/post/code_reviews", "published_at": "2019-03-14T11:00:06+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa999b540", "title": "Procedurally generated trees", "url": "https://blog.gnoack.org/post/trees", "published_at": "2019-01-23T09:35:00+00:00" }, { "id": "01a08749-f338-7389-9bc6-e2baa9a25e5f", "title": "Internet of Things: Wifi Radio", "url": "https://blog.gnoack.org/post/wifi_radio", "published_at": "2019-01-09T11:05:01+00:00" }, { "id": "01a08749-f339-7218-be6b-a92aa866dfa0", "title": "Shared base fixture", "url": "https://blog.gnoack.org/post/base_fixture", "published_at": "2018-11-06T06:44:44+00:00" }, { "id": "01a08749-f339-7218-be6b-a92aa95661f2", "title": "No error left behind", "url": "https://blog.gnoack.org/post/error_handling", "published_at": "2018-09-03T20:36:41+00:00" }, { "id": "01a08749-f339-7218-be6b-a92aa9acf78c", "title": "There are my core dumps!", "url": "https://blog.gnoack.org/post/there-are-my-core-dumps", "published_at": "2016-10-02T15:45:00+00:00" }, { "id": "01a08749-f339-7218-be6b-a92aa9c33409", "title": "GPG with the CCID Driver", "url": "https://blog.gnoack.org/post/gpg-ccid", "published_at": "2016-08-15T11:00:00+00:00" }, { "id": "01a08749-f339-7218-be6b-a92aa9d259d1", "title": "Hexiamonds", "url": "https://blog.gnoack.org/post/hexiamonds", "published_at": "2016-06-05T11:00:00+00:00" }, { "id": "01a08749-f339-7218-be6b-a92aaa5677db", "title": "Python-like generator functions", "url": "https://blog.gnoack.org/post/generators", "published_at": "2014-11-16T18:41:00+00:00" } ] posts Claim your blog
Back to gnoack
Blog · corpus.blog/blogs/blog.gnoack.org/posts

gnoack

blog.gnoack.org

2026

2025

2024

2023

2022

2021

2020

2019

2018

2016

2014