I tweet about Regex, Python, Linux CLI one-liners, Vim and interesting tech nuggets. โœ Author of several programming ebooks and devourer of fantasy books ๐Ÿง™

๐Ÿง Want to get good at Linux CLI tools and Shell Scripting? Check out my "๐—Ÿ๐—ถ๐—ป๐˜‚๐˜… ๐—–๐—ผ๐—บ๐—บ๐—ฎ๐—ป๐—ฑ ๐—Ÿ๐—ถ๐—ป๐—ฒ ๐—–๐—ผ๐—บ๐—ฝ๐˜‚๐˜๐—ถ๐—ป๐—ด" ebook. ๐Ÿ’ป 500+ examples and 200+ exercises. ๐Ÿ”ฅ Free to read online! learnbyexample.github.io/cliโ€ฆ
1
2
187
Sundeep ๐ŸŒž retweeted
I am putting a lot of time into updating my Linux kernel posts - reading the source, experimenting, drawing diagrams, and trying to explain the internals in a way that is accessible to everyone. If you enjoy this kind of deep technical writing and would like to help me make more of it, you can support me on Patreon: patreon.com/cw/0xAX
I am working now on the next part of linux-insides! This time I decided to change the approach a bit. Instead of proceeding with the kernel initialization details, I decided to make a little stop and describe some fundamental things that will be useful on the way to exploring the kernel internals. The first such stop is the implementation of linked lists in the Linux kernel. New chapter soon, hopefully next week!
1
7
54
4,025
Sundeep ๐ŸŒž retweeted
The launch discount for Dinkus ends at the end of the month. Post Monday, it is full price. Dinkus is a visual Markdown editor for macOS. Author and edit Markdown files with an intuitive GUI. Switch to raw markdown when you need it. No account or subscription. Always local. ๐Ÿงต dinkus.textualize.io/
6
5
26
73,672
Sundeep ๐ŸŒž retweeted
New: Dinkus Markdown Studio for Mac. Visually author Markdown with a native app. Images, tables, code blocks, and more, are displayed in the editor (no preview pane necessary). Raw markdown is a keypress away. Try typewriter mode and paragraph or sentence focus for a distraction-free writing experience. No account or subscription. Your data stays local. dinkus.textualize.io/
14
14
137
231,694
Sundeep ๐ŸŒž retweeted
I cannot leave this app alone. I struggle with UI design. I feel like I've refined it enough one day, but then it looks like a pile of garbage to me the next day. I hope this is its final incarnation...
7
1
19
1,997
Sundeep ๐ŸŒž retweeted
Do you like to read about performance investigations? Me too! I'm fanatical about performance. Computers and software must be fast! Performance investigations are one of my favorite parts of how systems work because they rarely turn out to be what you expect at first. Just imagine. You are working on another feature. You squeezed the last details out of your project manager, thought it through from every possible angle, and wrote the initial code without O(n!) algorithms. You deploy your changes to staging, run your first tests, open Grafana expecting to see the graphs you anticipated, and... Does it sound familiar? You know how it ends, right? I have been in situations like this many times. Although these situations can be stressful, this is still one of my favorite parts of the profession. I have always had my nose buried in performance posts and have always been happy to see another one in my RSS feed - whether from Brendan Gregg, the ClickHouse Engineering Blog, the Percona Database Performance Blog, or many others. At some point, I thought, "hey, I also have a big collection of such stories. They might be interesting to other people too". So I have decided to start writing performance hunting stories from my own experience: what I saw, what I tried, what didn't work, and what the problem actually turned out to be. Interested? More performance hunting stories are coming here and at 0xax.dev.
2
42
295
12,308
I don't know why, but based on the past few years, I had expected my sales to drop to near zero this year. However, the past few months has seen decent income. Thanks to all the readers who continue to invest in books in this age of agents.
The bundle All books bundle by Sundeep Agarwal is on sale on Leanpub! Its suggested price is $144.00; get it for $18.00 with this coupon: leanpub.com/b/learnbyexampleโ€ฆ @learn_byexample #python #javascript #computer_programming #ruby
3
220
Sundeep ๐ŸŒž retweeted
Holy moly Ishmael is live! It's taken a week to be reviewed on the app store. So a new version will follow soon. I'm going to be giving away some free copies. But there is a two week trial, so no rush. ishmael.textualize.io/
9
9
56
6,386
Sundeep ๐ŸŒž retweeted
I've been playing with a feature for my prose editor, I call "ghost cut". Y'all know how to cut and paste. You hit ctrl+x, the text disappears and goes into the clipboard. Then you move the caret and ctrl+v to paste it into a new location. You've done that a bazillion times, I bet. An annoyance I have with this is that as soon as you cut, the text reflowsโ€”and you have to reorient yourself in the "page". The solution I'm playing with is to ghost the text that was just cut. It only disappears from view once you paste it. I'm kinda liking it so far. But there is more testing to be done. Does anyone know of any precedence for this? I've not seen this in any editor or word processor.
28
8
211
20,255
Sundeep ๐ŸŒž retweeted
I dreamt of writing a book for as long as I can remember, wrote many outlines, but none materialised. Then I started writing this article on virtual memory, which kept getting longer and longer and turned into an unplanned book. Based on all the positive feedback, I recently published it on Amazon as well. Somehow, it is showing up as the #1 bestseller in its category on Amazon India :D. Maybe it says something about how niche these categories are, but it still feels surreal.
Before jumping into books like DDIA or Database Internals, it helps to understand the systems layer these designs are built on. A lot of the design of such data-intensive systems is based on virtual memory: page tables, page faults, mmap, the page cache, swapping, NUMA placement, TLBs, and the tradeoffs between what the OS wants and what the database wants. My latest article is a ~25,000-word mini-book on virtual memory. It starts from first principles and goes all the way down to advanced topics like NUMA placement and performance debugging with tools like perf and /proc. I also wrote it differently: as a dialogue between a user-space process and the kernel. Most treatments of virtual memory are dry and fact-heavy. I wanted this one to feel more like a story, while still being technically deep. Link below.
10
58
500
30,608
Sundeep ๐ŸŒž retweeted
Writers, if I may have your attention... I am a solo software developer. I'm building a distraction free writing app for novelists. All the features of other distraction free apps, but it doesn't use Markdownโ€”so you can have beautiful typography and formatting. It manages chapters, with auto numbering. Front matter, back matter. And you can export to a variety of formats, including EPub and Word (in Shunn manuscript format). Mac initially, Windows and Linux to follow. Follow me if you want to be the first to try this out. ๐Ÿ™ #WritingCommunity
15
17
183
15,099
Sundeep ๐ŸŒž retweeted
๐Ÿง Want to get good at Linux CLI tools and Shell Scripting? Check out my "๐—Ÿ๐—ถ๐—ป๐˜‚๐˜… ๐—–๐—ผ๐—บ๐—บ๐—ฎ๐—ป๐—ฑ ๐—Ÿ๐—ถ๐—ป๐—ฒ ๐—–๐—ผ๐—บ๐—ฝ๐˜‚๐˜๐—ถ๐—ป๐—ด" ebook. ๐Ÿ’ป 500+ examples and 200+ exercises. ๐Ÿ”ฅ Free to read online! learnbyexample.github.io/cliโ€ฆ
1
2
187
Sundeep ๐ŸŒž retweeted
A quick update on the Ebook: - I've updated the PDF with better styling - great to read on devices. - And, there is also an EPUB version available now.
Before jumping into books like DDIA or Database Internals, it helps to understand the systems layer these designs are built on. A lot of the design of such data-intensive systems is based on virtual memory: page tables, page faults, mmap, the page cache, swapping, NUMA placement, TLBs, and the tradeoffs between what the OS wants and what the database wants. My latest article is a ~25,000-word mini-book on virtual memory. It starts from first principles and goes all the way down to advanced topics like NUMA placement and performance debugging with tools like perf and /proc. I also wrote it differently: as a dialogue between a user-space process and the kernel. Most treatments of virtual memory are dry and fact-heavy. I wanted this one to feel more like a story, while still being technically deep. Link below.
3
10
115
14,981
Sundeep ๐ŸŒž retweeted
These days whenever I need a database I reach out for sqlite that comes preinstalled with most Linux. But most Unix systems have always shipped with a (non-relational) database library called dbm. It was written by Ken Thompson in 1979 and has shipped with all Unix and Unix like systems ever since. It is a simple C based library to read/write key-value pairs. Under the hood it uses a hash-based index and a binary file format. When BSD was being opensourced, they rewrote it and also added b-tree indexing. This later became Berkely DB.
2
21
198
10,431
Sundeep ๐ŸŒž retweeted
Awesome reddit thread about "unexpectedly" useful Linux commands - teddit.net/r/linux/comments/โ€ฆ Have been using the CLI for years and I still keep finding small things that make me think how have I never seen this before... My favorites from the thread: - tac - namei -l - less +F/+G - fold
8
20
153
14,918
Sundeep ๐ŸŒž retweeted
crazy
1
10
3,144
Sundeep ๐ŸŒž retweeted
CLI text processing with GNU grep and ripgrep by Sundeep Agarwal is on sale on Leanpub! Its suggested price is $12.00; get it for $5.00 with this coupon: leanpub.com/gnugrep_ripgrep/โ€ฆ @learn_byexample #computer_programming
1
2
107