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

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
人人都是产品经理
人人都是产品经理
博客园 - 聂微东
IT之家
IT之家
V
V2EX
Jina AI
Jina AI
V
Visual Studio Blog
有赞技术团队
有赞技术团队
博客园 - 司徒正美
博客园 - 叶小钗
The Cloudflare Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
腾讯CDC
Google Online Security Blog
Google Online Security Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
N
News and Events Feed by Topic
N
News and Events Feed by Topic
The Last Watchdog
The Last Watchdog
W
WeLiveSecurity
月光博客
月光博客
Security Archives - TechRepublic
Security Archives - TechRepublic
Webroot Blog
Webroot Blog
SecWiki News
SecWiki News
博客园_首页
罗磊的独立博客
量子位
Latest news
Latest news
I
Intezer
V
Vulnerabilities – Threatpost
A
Arctic Wolf
Last Week in AI
Last Week in AI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
S
SegmentFault 最新的问题
S
Security Affairs
阮一峰的网络日志
阮一峰的网络日志
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
N
News | PayPal Newsroom

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