KP's Avatar

KP

@prasanthkarri.dev.bsky.social

πŸ‘‹ KP here 🌐 Last decade was web development. πŸ¦€ This decade is systems programming. ✍ Writing about what I'm learning at prasanthkarri.dev

151 Followers  |  456 Following  |  236 Posts  |  Joined: 21.08.2023  |  2.1852

Latest posts by prasanthkarri.dev on Bluesky


different terminal emulators use different escape codes

terminal emulator 1: if you print out ESC[2J I’ll clear the screen!

terminal emulator 2: for me it’s ESC[HESC[J!
your system has a database called β€œterminfo” with escape codes in it

how if plays out when you press Ctrl+L to clear the screen:

program, with a little heart over it, thinking:
ah, she wants fo clear the screen! I’ll look up how to do that in the terminfo database…

(on my machine, the database is in /usr/share/terminfo)

program: ESC[HESC[J

terminal emulator, thinking: ok, clearing the screen!
how programs know what terminal you’re using: TERM

your terminal emulator sets the TERM environment variable when it starts

fun fact: terminal emulators often say they’re β€œxterm-256color” even if they’re not
this can break when SSHing into an old system with a new terminal emulator

(in a VERY annoying way)

happy little stick fiture: I am using ghostty

program, with a little heart over it: NOPE never heard of it
some ways to fix TERM

    install the terminfo file for your terminal emulator on the system
    use a different terminal emulator
    just set TERM=xterm-256color, it’ll often sort of work

different terminal emulators use different escape codes terminal emulator 1: if you print out ESC[2J I’ll clear the screen! terminal emulator 2: for me it’s ESC[HESC[J! your system has a database called β€œterminfo” with escape codes in it how if plays out when you press Ctrl+L to clear the screen: program, with a little heart over it, thinking: ah, she wants fo clear the screen! I’ll look up how to do that in the terminfo database… (on my machine, the database is in /usr/share/terminfo) program: ESC[HESC[J terminal emulator, thinking: ok, clearing the screen! how programs know what terminal you’re using: TERM your terminal emulator sets the TERM environment variable when it starts fun fact: terminal emulators often say they’re β€œxterm-256color” even if they’re not this can break when SSHing into an old system with a new terminal emulator (in a VERY annoying way) happy little stick fiture: I am using ghostty program, with a little heart over it: NOPE never heard of it some ways to fix TERM install the terminfo file for your terminal emulator on the system use a different terminal emulator just set TERM=xterm-256color, it’ll often sort of work

TERM

wizardzines.com/comics/term/

(from The Secret Rules of the Terminal, out now! wizardzines.com/zines/terminal)

14.10.2025 15:08 β€” πŸ‘ 101    πŸ” 10    πŸ’¬ 0    πŸ“Œ 2
F3: The Open-Source Data File Format for the Future
SIGMOD 2025

F3: The Open-Source Data File Format for the Future SIGMOD 2025

Our SIGMOD paper with our friends at Tsinghua + @wesmckinney.com + @pateljm.bsky.social on creating a next generation open-source data file format is out. F3 is a future-proof file format avoids the mistakes of Parquet.
πŸ“„ Paper: db.cs.cmu.edu/papers/2025/...
πŸ“ Code: github.com/future-file-...

01.10.2025 13:49 β€” πŸ‘ 67    πŸ” 21    πŸ’¬ 4    πŸ“Œ 5
Video thumbnail

Did you know your MacBook has a sensor that knows the exact angle of the screen hinge?

It’s not exposed as a public API, but I figured out a way to read it and make it sound like an old wooden door.

06.09.2025 20:44 β€” πŸ‘ 7651    πŸ” 1965    πŸ’¬ 114    πŸ“Œ 170
Preview
Readwise Reader: The first read-it-later app built for power readers. Save everything to one place to overcome content overload, search instantly, and highlight like a pro.

readwise.io/read

31.08.2025 09:19 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
CMU 15-445/645 :: Intro to Database Systems (Fall 2025) You want to know whether this is the premier course at Carnegie Mellon University on the design and implementation of database management systems? Well, it is. This course rips through data models (re...

Today is the new semester for @db.cs.cmu.edu's Intro to Database Systems! We're going harder into material than before. More challenging projects but you can use LLMs to help. We also have 10min talks each Wed from leading DB companies: 15445.courses.cs.cmu.edu/fall2025

25.08.2025 14:29 β€” πŸ‘ 64    πŸ” 18    πŸ’¬ 1    πŸ“Œ 0

The positive thing about AI tooling going mainstream and setting expectations high (e.g. "anyone can build software with AI") is that a large group will learn what us devs know already:

Creating good software is hard and it's hard to explain to outsiders in a way they understand

20.08.2025 17:51 β€” πŸ‘ 179    πŸ” 26    πŸ’¬ 6    πŸ“Œ 5

Engineering is the intersection of Curiosity and Capability

When your curiosity outstrips your capability, you expand your capability and grow

When your capability expands, it allows you to see farther and grows your curiosity

Don't allow your tools take away both your Curiosity and Capability

03.08.2025 03:43 β€” πŸ‘ 325    πŸ” 58    πŸ’¬ 7    πŸ“Œ 4

Good luck. Soon you’ll have a Lamborghini πŸŽ‰

27.07.2025 12:03 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Forget about others. But damn! Turbopuffer. It felt like they will be killed just when they started rising.

19.07.2025 02:19 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

SD25 online starts next week!

systemsdistributed.com/#agenda

17.07.2025 10:21 β€” πŸ‘ 6    πŸ” 5    πŸ’¬ 0    πŸ“Œ 0
Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - Updated
YouTube video by LambdaConf Jonathan Blow - Jai Demo and Design Explanation (KEYNOTE) - Updated

www.youtube.com/watch?v=IdpD.... Loved the tooling.

13.07.2025 07:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I think We should probably reply asking what exactly they liked about a particular project or experience and why and how they think it'll actually contribute to the new workplace/role/problems..etc.

Probably helps in identifying if genuine research or AI generated. I'll start doing this :D

13.07.2025 07:32 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Not surprised at all. AI’s default choice is React most of the times.

13.07.2025 06:06 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Quitting programming as a career right now because of LLMs would be like quitting carpentry as a career thanks to the invention of the table saw.

03.07.2025 14:36 β€” πŸ‘ 884    πŸ” 155    πŸ’¬ 63    πŸ“Œ 41

I have a friend looking for people using Clickhouse in production. They have some questions about usage/use cases. Mind shooting me a DM?

(please πŸ”ƒ for reach)

02.07.2025 16:35 β€” πŸ‘ 5    πŸ” 5    πŸ’¬ 3    πŸ“Œ 0

I'm glad I saw this tweet. I have it opened in one of my tabs. (I was half way through book and life happened, so paused it. Looks like need to wrap it up before the movie releases)

02.07.2025 07:52 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Andrej Karpathy: Software Is Changing (Again)
YouTube video by Y Combinator Andrej Karpathy: Software Is Changing (Again)

LLM is the new OS. English is the new programming language

19.06.2025 05:31 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

must be an AI related one πŸ€–

17.06.2025 01:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Kent Beck Kent Beckβ€”creator of Extreme Programming and co-author of the Agile Manifestoβ€”reflects on decades of coding, from the birth of TDD to his experiments with AI tools shaping software’s future.

This is a great interview. Kent Beck talks to @gergely.pragmaticengineer.com about how he's having more fun programming now with AI genies than he's had in ages. Also: the birth of Extreme Programming.

newsletter.pragmaticengineer.com/p/tdd-ai-age...

13.06.2025 21:05 β€” πŸ‘ 88    πŸ” 13    πŸ’¬ 0    πŸ“Œ 1
Preview
Meet Dia – the AI Browser Where You Can Chat with Your Tabs Dia is the AI browser from The Browser Company. Chat with your tabs, write in your own voice, learn and plan faster, shop, and more β€” all with privacy that you control.

www.diabrowser.com Is the future of browsing internet. This is so well executed. Kudos to the Browser Company

12.06.2025 05:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Agree. 4 Opus is already way powerful compared to 3.7 Sonnet IMO.

The scale and the pace at which this is happening. It’s like gentle singularity post mentioned by Sam.

12.06.2025 00:52 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
A tale of two Claudes Blog post: A tale of two Claudes by Steve Klabnik

A tale of two Claudes

steveklabnik.com/writing/a-ta...

10.06.2025 15:17 β€” πŸ‘ 58    πŸ” 7    πŸ’¬ 10    πŸ“Œ 2
Preview
Announcing Oxlint 1.0 The first stable version of Oxlint, a fast & easy-to-use Rust-powered linter for JavaScript and TypeScript, is out. Learn about its 50~100x speed advantage over ESLint, support for 500+ rules, real-wo...

We're thrilled to announce the first stable release of Oxlint - version 1.0!

Our Rust-powered JavaScript/TypeScript linter delivers 50~100x faster performance than ESLint with 500+ rules and zero configuration required.

Time to give it a try!

voidzero.dev/posts/announ...

10.06.2025 10:13 β€” πŸ‘ 309    πŸ” 62    πŸ’¬ 10    πŸ“Œ 9
Preview
LLMs are mirrors of operator skill This is a follow-up from my previous blog post: deliberate, intentional play. I didn't want to get into the distinction between skilled and unskilled work because people take offence to it, but AI is a matter of skill. Someone can be highly experienced as a software engineer in 2024, but that does not mean they're skilled as a software engineer in 2025, now that AI is here. In my view, LLMs are essentially mirrors. They mirror the skill of the operator. how do identify skill One of the most

πŸ“° LLMs are mirrors of operator skill

04.06.2025 14:31 β€” πŸ‘ 6    πŸ” 3    πŸ’¬ 0    πŸ“Œ 1

I’m a little worried that AI will lock in whatever best practices are most popular at this moment and we won’t evolve as easily from here

03.06.2025 14:15 β€” πŸ‘ 339    πŸ” 25    πŸ’¬ 32    πŸ“Œ 14
Preview
My AI Skeptic Friends Are All Nuts My smartest friends have bananas arguments about LLM coding.

I regret nothing yet! fly.io/blog/youre-a...

02.06.2025 21:07 β€” πŸ‘ 278    πŸ” 58    πŸ’¬ 48    πŸ“Œ 59
Preview
Progressive JSON β€” overreacted Why streaming isn't enough.

βš›οΈπŸ“ New on Overreacted: Progressive JSON

31.05.2025 16:41 β€” πŸ‘ 249    πŸ” 30    πŸ’¬ 25    πŸ“Œ 6
Post image

me: hey claude i want better error handling in my code

claude: very cool have you tried writing rust in typescript

31.05.2025 11:09 β€” πŸ‘ 118    πŸ” 8    πŸ’¬ 7    πŸ“Œ 1

If you find an OSS issue that calls your attention, go for it. You don't need to ask permission to start working or have it assigned to you. If someone else sends a PR before you, that's great. You can use your knowledge of the issue to help review the PR, add tests, and validate the approach.

27.05.2025 07:27 β€” πŸ‘ 103    πŸ” 18    πŸ’¬ 3    πŸ“Œ 2

I use Claude Code -> I miss Zed agentic AI interface
I use Zed agentic AI interface -> I miss Claude Max (Claude Code)

28.05.2025 10:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@prasanthkarri.dev is following 20 prominent accounts