Andrus Adamchik
banner
andrus.adamchik.org
Andrus Adamchik
@andrus.adamchik.org
Java open-source & ObjectStyle

Making Java a viable option for data processing / analysis at DFLib.org

Apache Software Foundation member / ex VP
A new milestone of JJava Jupyter kernel is out. We had a community request for a more extensible lib to build custom extensions, distros or even kernels. We did just that. Thanks to @maxandersen.xam.dk
for providing feeback and PRs through the process! github.com/dflib/jjava/...
JJava 1.0-a6 released · dflib jjava · Discussion #101
Happy to announce a new a6 milestone of DFLib JJava 1.0. JJava is a Java / JVM kernel for Jupyter. This is a pretty significant update primarily focused on the "kernel-as-platform" aspect. What we ...
github.com
October 22, 2025 at 7:50 PM
DFLib 2, milestone 4 is out. Massive QL improvements. I finally switched all of my own projects to QL from the API-based expressions. Also some new ECharts stuff github.com/dflib/dflib/...
September 13, 2025 at 6:28 PM
Matches my experience
Using AI slows down experienced developers?
metr.org/blog/2025-07...
July 11, 2025 at 11:24 AM
DFLib just got a parsable expression grammar. Those expressions can be thought of as parts of SQL for the purpose of column transformation, filtering and (soon) DataFrame sorting

github.com/dflib/dflib/...
DFLib 2.0.0-M3 release · dflib dflib · Discussion #505
Happy to announce M3, a major new milestone of DFLib 2.0.0. The highlight of this release is a new "expression language" : df.cols("a").merge("int(a) * 35.") // instead of // df.cols("a").merge($in...
github.com
July 1, 2025 at 7:06 PM
Wow, just got a piece of decent code out of Gen AI - a deep clone method for an Open API descriptor tree. Still had to go line by line, adding missing properties, but the code was generally clean and meaningful. Unfortunately such success is a rare occasion
June 26, 2025 at 11:12 PM
My first time at @lu.voxxeddays.com. Pretty exciting!

In the meantime, working on getting the next DFLib milestone out of the door with the new parser of SQL-like expressions, making expressions more readable compared to the current Java DSL
Voxxed Days Luxembourg is proud to welcome Andrus Adamchik for the marvellous talk: "DataFrame - a Swiss Army Knife of Java Data Processing"!

Be sure to check the details on the schedule app:
mobile.devoxx.com/events/voxxe...

and favourite if you‘d like to see it! ⭐
June 10, 2025 at 7:56 PM
Reposted by Andrus Adamchik
Just updated my Java dataframe test & benchmark. @andrus.adamchik.org contributed an implementation for DFLib, which is now the fastest Java dataframe (not counting @duckdb.org which is much faster, but doesn't give you the dataframe syntax)

github.com/mathijs81/ja...
June 5, 2025 at 6:04 PM
The a5 version of the Jupyter kernel is officially released. Looking forward to feedback on the new Maven engine. I feel like adding a flag equivalent to "mvn -U" for snapshot refreshing may be the next logical step.

github.com/dflib/jjava/...
Been testing the soon-to-be-released DFLib JJava Jupyter kernel v1.0-a5. No more Ivy there, just pure Maven. Makes dependency management so much more reliable.
May 29, 2025 at 9:09 PM
Reposted by Andrus Adamchik
Request for name suggestions:
I am building a language to define data schema (similarly to what xsd and json-schema do) that is format independent, and thus it could be used to validate data serialized in multiple different formats.
It’s optimized for ergonomics, as I find current schema […]
Original post on mastodon.clipperz.is
mastodon.clipperz.is
May 24, 2025 at 9:45 PM
Been testing the soon-to-be-released DFLib JJava Jupyter kernel v1.0-a5. No more Ivy there, just pure Maven. Makes dependency management so much more reliable.
May 22, 2025 at 9:00 PM
Reposted by Andrus Adamchik
Every 10-20 years, a breakthrough technology promises non-developers to finally create software without needing to hire programmers.

So far, every such technology resulted in the need for more devs… expert in this NEW technology (or knowing how to fix it up).

Every. Time.
May 18, 2025 at 3:10 PM
Enjoyed the closing keynote at @geecon.bsky.social by @jbaru.ch and Leonid Igolnik. They tried to envision an "enterprise" version of vibe coding (that's not how they worded it 🙂) Though futuristic, it came out rather convincing speaking.jbaru.ch/DVCzoZ/back-...
Back to the Future of Software: How to Survive AI with Intent Integrity Chain by Baruch Sadogursky
Great Scott! The robots are coming for your job—and this time, they brought unit tests. Join Doc and Marty from the Software Future (Baruch and Leonid) as they race back in time to help you fight the ...
speaking.jbaru.ch
May 16, 2025 at 4:16 PM
Reposted by Andrus Adamchik
Today I learned that my position at Microsoft was discontinued, amongst many others. Please reach out if it makes sense for us to explore something new together. My bio is always up-to-date. reza-rahman.me/about/
May 13, 2025 at 6:35 PM
Reposted by Andrus Adamchik
Tonight, @andrus.adamchik.org is giving us an overview of DFLib!
April 30, 2025 at 10:17 PM
Server management approach is often described as "pets vs cattle". I think the same analogy might apply to data representation in apps: objects - "pets" 🐕, DataFrames - "cattle" 🐄 . Too brutal?
April 20, 2025 at 1:33 AM
Reposted by Andrus Adamchik
Ever been annoyed with how complex it is to execute processes in Java and handle stdin, stdout and stderr?

Me too - so Introducing JBang Jash - github.com/jbangdev/jba...
Release Introducing JBang Jash · jbangdev/jbang-jash
JBang Jash (pronounced Jazz, the music style) is a Java library to provide way to run process or shell scripts that is fluent, predictable and with a great developer experience. To use it add a dep...
github.com
April 19, 2025 at 9:38 PM
Reposted by Andrus Adamchik
Just published DFLib (#java DataFrame library) v1.3.0. This is a backwards-compatible maintenance release with a number of bug fixes, new statistical expressions, and an optimized vConcat operation github.com/dflib/dflib/...
Release 1.3.0 · dflib/dflib
DFLib 1.3.0 release Release notes #457 MissingFormatWidthException when printing Series with all empty strings #477 vConcat loses the type of the column #480 Add "NumExp.variance(..)" and "NumExp....
github.com
April 9, 2025 at 10:32 AM
Reposted by Andrus Adamchik
#JAlba is happening again in 3 months, registration is open! It will be our 6th edition, don't miss out on attending the #Java #unconference in Edinburgh Scotland, created on the model of #JCrete. Come and meet #Java champions and experts. Register now: jalba.scot
JAlba – JAlba – An Open Space Conference in Edinburgh
jalba.scot
March 14, 2025 at 12:07 PM
Just installed the newest toy - Claude Code. I like their CLI-first IDE-agnostic approach and decent “understanding” of your code base, but there are no miracles. It can can help with refactoring here and there, but it fails at “real” coding tasks.
March 11, 2025 at 10:46 PM
When iPhones first came out there were people bragging about writing novels on an iPhone 🤷‍♂️
March 6, 2025 at 1:37 PM
“Hu said that even if product builders rely heavily on AI, one skill they would have to be good at is reading the code and finding bugs”

Which will take more time than writing correct code from scratch
March 6, 2025 at 1:32 PM
Reposted by Andrus Adamchik
Welcome @devnexus.bsky.social crew 🍑! Celebrating w @andrus.adamchik.org @jerdog.dev at Park Bar
March 3, 2025 at 2:52 AM
This is where we need to improve Java DFLib charts. They show up beautifully in regular Jupyter, but GitHub notebook renderer prevents JS execution. So server-side chart creation will be needed
Being able to add Kotlin Notebooks to a KMP project in IntelliJ is a really nice option. Also cool that they get rendered in GithHub as shown below. Have following for example:

- FantasyPremierLeague github.com/joreilly/Fan...
- ClimateTrace github.com/joreilly/Cli...
February 28, 2025 at 11:17 PM