Pushkar N Kulkarni (@pushkar_nk) header
Pushkar N Kulkarni (@pushkar_nk) profile picture

Java for Ubuntu | Tweets are my own.

India
Joined July 2009
Photo by Pushkar N Kulkarni (@pushkar_nk)Photo by Pushkar N Kulkarni (@pushkar_nk)Photo by Pushkar N Kulkarni (@pushkar_nk)Photo by Pushkar N Kulkarni (@pushkar_nk)Photo by Pushkar N Kulkarni (@pushkar_nk)Photo by Pushkar N Kulkarni (@pushkar_nk)Photo by Pushkar N Kulkarni (@pushkar_nk)Photo by Pushkar N Kulkarni (@pushkar_nk)Photo by Pushkar N Kulkarni (@pushkar_nk)
Pushkar N Kulkarni retweeted
Java is a language that arrives late to things. Let me prove it: lambdas, records, virtual threads, generics. Many other languages had them long before. Now you might be thinking: - Elder, are you trashing Java? - Quite the opposite. To me this is one of Java's big advantages. Before I tell you why, think of a company that's an expert at arriving late: Apple. It wasn't the first to launch a tablet, or a smartphone like the iPhone, or an iPod. It always got there later. And what's the advantage of arriving later? You get to avoid the mistakes others made. A great friend of mine says Java has always been a production language. - Yeah, but every language is a production language. - True, every language is made to put things in production. But not every ecosystem has the culture of looking at production before shipping something. In Java that was always priority number zero. The practical consequence? Lambdas, records, virtual threads, generics, and plenty of others went in without bugs in production. You won't find stories of "wow, records blew up in prod because they got the implementation wrong." I've been at this for 27 years and I don't think Java will ever race to ship something before other ecosystems. And to me that's a career lesson too. Do I really need to rush to be the first to do something? I don't know. Looking at a language with over 30 years in the market, still evolving like no other, I think they know what they're doing.
30
67
5
488
32,187
Pushkar N Kulkarni retweeted
Build a fully local AI coding agent on Ubuntu using Canonical Workshop and the Qwen3-Coder Inference Snap. In this step-by-step demo, you'll set up an isolated development environment, connect your coding agent to a locally hosted LLM, and run coding tasks without an internet connection. Follow along to recreate the setup on your own machine, using CPU or GPU inference: youtu.be/u5Q149jlMQ8 #Ubuntu #Linux #AI #Agents #Workshop #OpenSource
44
128
8
864
42,847
Pushkar N Kulkarni retweeted
Claude is pretty useless when the code you're trying to write has never been written before.
271
129
36
3,834
239,301
#TIL Duck typing comes from "If it walks like a duck, swims like a duck, and quacks like a duck, then it probably is a duck."
44
Pushkar N Kulkarni retweeted
In September 1992, Unicode had a problem on Unix. Storing characters as 16-bit values could introduce zero bytes that C programs mistook for string terminators. Earlier encodings had compatibility problems of their own. One evening, Ken Thompson and Rob Pike went to a diner in New Jersey. Thompson sketched a new encoding on a paper placemat. ASCII stayed exactly as it was. Other characters used multiple bytes, without accidentally introducing null bytes or Unix path separators. They went back to Bell Labs and started coding. By Friday, their Plan 9 operating system was running entirely on the new encoding. They called it UTF-8. Today, it powers over 99% of websites with known character encodings.
34
156
28
1,605
76,307
Pushkar N Kulkarni retweeted
Ghostty 1.4 is now out! Full Kitty graphics with animation (the first terminal besides Kitty to do it), scrollback compression for much lower memory usage, macOS 27 support, a new OpenGL renderer on Linux, ghostty +ssh, big performance gains, and hundreds more changes. The highlights: - Scrollback compression: scrollback compresses ~90+% on average, meaning your terminals use that much less live memory - Huge memory savings across the board: no single large thing, just lots of good improvements lowers memory usage everywhere, netting anywhere from 50 to 90% less memory usage depending on workload - Kitty graphics is now 100% complete, including animation and relative placements, after a full conformance pass against the spec and Kitty itself - The Kitty clipboard protocol, with an image preview when a program asks to read your clipboard - Split drag and drop on Linux, including between windows - ghostty +ssh installs terminfo on remote hosts automatically, so things just work over SSH - Lots of terminal emulation accuracy fixes This release is 7 months of work from 172 contributors over 2,889 commits. It also fixes 10 security advisories, so please update. Full release notes: ghostty.org/docs/install/rel…
132
342
68
4,958
177,536
Pushkar N Kulkarni retweeted
Heaven is where the compile speed is from Go, the safety from Rust, the performance from C++, the libraries from Python, the macros from Lisp, the stability from Java, the types from Haskell, the ubiquity from JavaScript, and the error handling from Elm. Hell is where the compile speed is from Rust, the safety from C++, the performance from Python, the libraries from Lisp, the macros from Java, the stability from Haskell, the types from JavaScript, the ubiquity from Elm, and the error handling from Go.
53
116
14
1,172
50,719
Language wars are back. There is hope 🙏
If you care about performance, don't rewrite in Rust. Use Java instead? These folks took a popular open source word processor written in Rust and built the same in Java. It was faster, smaller, and used less memory! codenameone.com/blog/rewrite…
2
46
Pushkar N Kulkarni retweeted
Ubuntu 26.10 #StonkingStingray is now available. Read our announcement for more details: ubuntu.com/blog/canonical-re… #Ubuntu #Linux #OpenSource
16
94
10
864
26,367
Pushkar N Kulkarni retweeted
Java is also faster than Rust. I saw @axeng200's post and was curious about Java numbers. I asked Claude to do the migration, and even though the first version was faster, it was very far from idiomatic Java. I tried to close the gap, but some compromise had to be reached in order to make this work as a drop-in replacement. Also, some typical Java approaches were just slower. Probably both the Rust and Java implementations could probably do better in terms of performance and being closer to how idiomatic code is written by everyday developers Stack is Java + quarkus. Beside just Java migration I tested some new feature like AOT with training introduced in Java 28 (EA build). My main conclusion is - it's hard to beat a language that will adjust code to how your app is used. It's more about the JVM than Java. Repo: github.com/kgonia/once-campf…
When in doubt, just use C# and ASP.NET Core. It's blazing fast. .NET 11 RC2 is even faster. For me, it's the best overall major web framework - auth, config, logging, perf, modular middleware, DI, cross-plat, etc. But I didn't expect this:
7
9
3
76
10,559
Pushkar N Kulkarni retweeted
Replying to @OpenJDK
@OpenJDK The list of JDK 28 looks very intresting JEP 543 Structured Concurrency is now finalized (Status: Integrated) openjdk.org/projects/jdk/28/
11
2
44
1,775
".. the only true moat in existence was intelligence ..." Heard of the theory of multiple intelligences? The next few years, and I don't know how many, are going to be about other intelligences. Days of math/logic seem numbered for now.. but let's see.
people are starting to realize. there *are* no moats left. the only true moat in existence was intelligence, and now that's out of the equation.
1
20
I don't always agree with Sridhar Vembu, but when he said that "the future is about nature, nurture, culture and scripture", I went into denial first, but eventually ended up agreeing with it. Lets hope the transition is gradual🙏
5
Pushkar N Kulkarni retweeted
Due to a close collaboration with the team behind @intellijidea, we are proud to announce that the @springtools4 for VSCode work nicely together with this new Java tooling for VSCode. Just make sure to update to the latest 2.4.1 release of the Spring Tools for VSCode and enjoy!
1
7
1
83
4,606
Pushkar N Kulkarni retweeted
The new JetBrains IDE Intelligence is using a great architecture 🏆🚀: „Both the daemon and CLI are developed in Java and distributed as a 𝗚𝗿𝗮𝗮𝗹𝗩𝗠 executable, so there is no startup or runtime overhead from the JVM.“
5
8
1
121
8,995
Pushkar N Kulkarni retweeted
Ubuntu 26.10 Stonking Stingray has emerged with agility and grace. 🌊 “Earlier this year, we set out a roadmap for AI on Ubuntu. Stonking Stingray delivers the first milestone through the integration of Myna: a speech-to-text agent that utilizes on-device LLMs. We’ve led Ubuntu’s first AI integration with accessibility to ensure that cutting-edge features are available to all users from day one. Users will also benefit from enhanced security features. Ubuntu 26.10 completes the migration to Rust-based coreutils, and broadens device support for TPM-backed FDE. Stonking Stingray is symbolic of Ubuntu’s journey to not just build up, but also build out.” - Jon Seager, VP of Ubuntu Engineering at Canonical Learn more in our press release: ubuntu.com/blog/canonical-re…
14
42
4
319
7,730
Pushkar N Kulkarni retweeted
The JDK is getting its own JSON API 🤩
24
29
5
367
23,522
Pushkar N Kulkarni retweeted
JEP 544 (openjdk.org/jeps/544), the remaining part of Leyden has landed in JDK mainline. So now we can do this! This source launcher involves javac compilation, that is the bulk of the work here.
5
25
126
7,872