惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

A
About on SuperTechFans
C
Cybersecurity and Infrastructure Security Agency CISA
N
News and Events Feed by Topic
C
Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
A
Arctic Wolf
Scott Helme
Scott Helme
P
Palo Alto Networks Blog
S
Schneier on Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tor Project blog
量子位
G
Google Developers Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
B
Blog RSS Feed
NISL@THU
NISL@THU
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
AWS News Blog
AWS News Blog
爱范儿
爱范儿
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
L
LINUX DO - 最新话题
Security Archives - TechRepublic
Security Archives - TechRepublic
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
S
Secure Thoughts
Cloudbric
Cloudbric
aimingoo的专栏
aimingoo的专栏
L
Lohrmann on Cybersecurity
TaoSecurity Blog
TaoSecurity Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Hacker News: Ask HN
Hacker News: Ask HN
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
S
Security @ Cisco Blogs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Cyber Attacks, Cyber Crime and Cyber Security
G
GRAHAM CLULEY
P
Proofpoint News Feed
V
V2EX
Martin Fowler
Martin Fowler
C
CERT Recently Published Vulnerability Notes
Attack and Defense Labs
Attack and Defense Labs
C
CXSECURITY Database RSS Feed - CXSecurity.com
The Cloudflare Blog
SecWiki News
SecWiki News
罗磊的独立博客
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
小众软件
小众软件
The Last Watchdog
The Last Watchdog

Lobsters

Lunacy | Red Vice CIFSwitch: a non-universal Linux local root vulnerability RIPE NCC session fixation: poaching logins with an Atlas probe GNOME 2.20 but its Web Components Agentic Search for Context Engineering – Leonie Monigatti Garnix is shutting down [not OC] akashina.tngl.sh/jjc Nitpicking the shell history scene in ‘Tron: Legacy’ What's cooking on SourceHut? Q2 2026 The tenth OpenPGP email summit Package managers that package package managers Clojure on Fennel part three: parsing WordPress at 23 Finding Miscompiles for Fun, Not Profit GitHub - creusot-rs/creusot: Creusot helps you prove your Rust code is correct. Announcing Rust 1.96.0 | Rust Blog A Love Letter to Neovim sqlite AGENTS.md Am I a Bad Friend? CSS vs. JavaScript • Josh W. Comeau Erlang Ecosystem Foundation - Supporting the BEAM community A brief note about slot access cost in Common Lisp Keyboard latency probe Rethinking the GNOME clipboard issues Back to the Building Blocks’ Building Blocks Tech Notes: Theseus: translating win32 to wasm Fast is better than slow Content-addressed Rust builds (or, what kache actually caches) Intent to Prototype: Embedding API Canada’s Bill C-22 and the security cost of collecting more data 5 PostgreSQL locking behaviors that trip people up okmij.org Stop advertising in your commits! | AksDev GitHub - mplsllc/macsurf: A modern web browser for Classic Mac OS 9 PowerPC. Real CSS3, ES5 JavaScript, native HTTPS — built with CodeWarrior on the Carbon API. Introducing DoomBench - Can Your Data Stack Run DOOM? What are some of your favourite developer tools? Building a Scalable Ingestion Pipeline with Temporal (Part 1) Converting shallow Git bundles into normal repositories Are you a member of any professional associations? What is a harmonic? An interactive comic about additive synthesis How Virtual Tables Work in the Itanium C++ ABI Using SwiftUI to Build a Mac-assed App in 2026 Rust (and Slint) on a jailbroken Kindle. ~jack/lambda-on-lambda - Serverless Haskell on AWS - sourcehut git Human proof for FOSS contributions Extremely simple internet radio controlled via IRC Announcing BABLR Splitting Konsole views from Helix to run tools | AksDev GitHub - yugr/rust-slides Serving files over HTTP three ways: synchronous, epoll, and io_uring update docs with information about building with build.py (#979) · astral-sh/python-build-standalone@c9c40c5 A Simple Makefile Tutorial On C extensions, portability, and alternative compilers Switching to Colemak | Pedro Alves Just How Bad Was The Intel IAPX432? Nix's Substituter List Is Not a Routing Table Accelerating copy_if using SIMD Lambda on Lambda: Serverless Haskell on AWS | Blog Announcing feed-repeat v1.0 Scaling Akvorado BMP RIB with sharding EYG news: A host of CLI improvements, new guides and new effects The social contract of writing JS Crossword C array types are weird; and related topics Flatpak will depend on systemd – OSnews Migrating from Go to Rust | corrode Rust Consulting A portentous reunion Vivado Licensing Options How my minimal, memory-safe Go rsync steers clear of vulnerabilities the entropy layer of a wavelet codec, on its own GitHub - nferhat/fht-compositor: A dynamic tiling Wayland compositor. Debian SE Linux and PinTheft Does bulk memmove speed up std::remove_if? (No.) 声明式部分更新 | Blog | Chrome for Developers Fully in-browser container builds Dianne Skoll's Web Site - Remind The Architecture of Open Source Applications (Volume 1)Berkeley DB Pardon MIE? - ironPeak Blog “Long-Term Support” doesn’t mean what you think Jira IS Turing-Complete May I recommend thinking of Emacs as your Fortress of Solitude hershey Floodgap Gopher-HTTP gateway gopher://thelambdalab.xyz/1cuneiforth/ HP QuickWeb, Singular And Pointless That one time I used Go panics for flow control A new suite of modern tools coming for editing and publishing RFCs From the Tabletop… The Digital Antiquarian Building a Host-Tuned GCC to Make GCC Compile Faster Are we self-sovereign PKI yet? Claw Patrol: an open-source security firewall for agents | Deno Revised^7 Report on Scheme, Large: Procedural Fascicle Draft is now public A Network Allow-List Won't Stop Exfiltration — André Graf From AFSK to Goertzel – µArt.cz Software For My New Home Server Introducing Neptune: Direct3D virtualization for QEMU AI Agent Bankrupted Their Operator While Trying to Scan DN42 - Lan Tian @ Blog mimalloc: A new, high-performance, scalable memory allocator for the modern era Making wl_shm fast The Soul of Maintaining a New Machine - Third Draft | Books in Progress What is Git made of?
Concerning Emacs (and Jazz)
Omid Mashregh-Zamini · 2026-05-28 · via Lobsters

I have a Diplom1 in Jazz Guitar. One of the reasons for making such a questionable decision was the fact that I needed an artistic outlet. I have always been fascinated by music, and ever since I remember I wanted to make music. Now I wasn’t any good at it till I started studying it seriously, but it was through Jazz that I was able to express myself freely in a (quite literally) formal2 context.

This is something that I think defines me as a person. I don’t usually look for the easiest way, or the hardest way of doing things. I seek to do things in a way where I can express myself, in a way where I can be uniquely me. I find that satisfying: all humans are unique. There should not be one tool beyond the most basic simple tools that are perfect for ’everyone’. Whenever there is talk of such a thing, there is talk of compromise. Yes, I am not going to get artisanal screwdrivers that are perfect for the shape of my hands and are carved from the exotic woods of the branches of a binary tree, because that is expensive, cumbersome, and I don’t use screwdrivers 24/7 to justify such a purchase.

But do you know what I work with every day? Computers. You probably knew, but most people don’t know that customizing computers is a very easy task, if you have the right framework. I don’t need a riced setup where every window animates and phases in an out of existence. I run a bare and minimal i3 setup. It is highly functional, I am extremely fast and comfortable with it, I don’t need to think about what I am doing, and it is perfectly and completely personalized for me. I feel like I have mastered navigating my computer, just as learning Jazz guitar taught me how to master my instrument3.

I felt creative when I was setting up my environment. The idea was to see what my hands wanted to do when my brain wanted to do a task, for instance switching to the next workspace, and then just configure i3 to do that which my hands want to do by default. That’s really easy, it turns out I have strong preferences on how I want my shortcuts to work (especially considering my preference for the 34 key keyboards, but that’s a subject for a different time). Sometimes there is a little problem solving required, but nothing that a couple of nights of hacking won’t fix. That may sound like much, but it is a creative endeavor which (for me at least) is a lot of fun, because I get to tackle problems till I can achieve perfection. This is much easier to do with computers than is in music for instance. Maybe I need this program to open up on the right side of my chats workspace on launch, maybe I need my Weechat IRC session that tmuxes into my server to have a different terminal config. A little bit of creative work here and there, and in the end you have something that you can truly identify with and is uniquely yours.

Emacs enables me to take this approach and apply it to almost all of daily computing, but we are not talking only about customization. Emacs (and in my experience, evil-mode4) allow me to think about my text as music, with the instrument being not a guitar, but my trusty Ferris Sweep. Using Vim motions in this enormously powerful Elisp interpreter feels like magic. Now it’s not only about editing text, it’s about how I can do it being truly myself; how I can manipulate these letters that I see on the screen just in the same way I improvise in music.

Do I need to surround this integer in brackets, then add commas after every digit? Do I need to copy something from the inside of a quotation mark 20 lines up, and then paste it instead of every occurrence of the word occurrence? Or perhaps rename my files the same way I send my Emails? Of course those who use Emacs think that this is borderline too easy (except the last one), but I am not sure if is truly easy in the text editors that “normal”, “non-nerdy” people use5. The point is also not that these tasks are possible (or impossible) in other environments in the first place, the point is that there is a sense of creativity that flows into these tasks. For these two simple tasks (…and a weird one), I can think of at least three different solutions for each problem. The one I choose could depend on my mood, the day of the week, the weather in Alaska or the planetary alignment of Venus and Mars.

I get to choose, and I have a choice of doing it using method A or method B6. Ignoring the quantity of approaches where one can achieve a goal, some of these approaches require problem solving and the ability to think ahead. It’s just nice having your brain tickled when you are doing mundane tasks. I think it keeps me sharp. It’s not about doing things necessarily in the easiest way because of course using a mouse would be easier, but it’s also no fun at all, and doesn’t elicit any sense of joy in me.7