Andrus Adamchik's Avatar

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

362
Followers
186
Following
179
Posts
14.11.2024
Joined
Posts Following

Latest posts by Andrus Adamchik @andrus.adamchik.org

Talking of fast data loaders, we replaced Apache "commons-csv" with hand-coded CSV parser in DFLib, and suddenly all my log processing is 6x faster! (about 4.7s for an 8GB CSV vs 29s before) πŸš€

And we have a chance to make it 12x or better based on early parallelization POCs

28.02.2026 15:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Oh nice. We just finished a set of Parquet optimizations in DFLib based on parquet-java. Looks like our reader is due for another facelift

28.02.2026 03:32 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

I'll see what I can do. The dataset is 50% PII / 50% company finances :) But I can probably share the code once I figure more complex UI scenarios, like nested dialog editors and such

23.02.2026 18:48 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Just hacked a simple table viewer for one of the company datasets with Tamboui / DFLib / Bootique. Looks promising to build internal business automation on the cheap with a single Java stack.

22.02.2026 00:03 πŸ‘ 6 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

This sounds pretty cool. I guess JJava kernel won’t work in the browser yet (WebAssembly and all), but I am curious what it would take to make it work

12.02.2026 20:19 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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 ...

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/...

22.10.2025 19:50 πŸ‘ 4 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

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/...

13.09.2025 18:28 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Matches my experience

11.07.2025 11:24 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
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...

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/...

01.07.2025 19:06 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

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

26.06.2025 23:12 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

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

10.06.2025 19:56 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

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...

05.06.2025 18:04 πŸ‘ 6 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

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/...

29.05.2025 21:09 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Original post on mastodon.clipperz.is

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 […]

24.05.2025 21:45 πŸ‘ 0 πŸ” 2 πŸ’¬ 3 πŸ“Œ 0

Try googling (or whatever the term is for ChatGPT πŸ™‚) for "Jupyter keyboard shortcuts". Notebook keyboard navigation is awesome and makes you very productive (inserting cells above and below, changing cell type between code and markdown, etc.)

23.05.2025 19:08 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

The "TAB" key should do it.

23.05.2025 19:03 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0

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.

22.05.2025 21:00 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1

Ok, the first version of the docs just got published at the link above.

20.05.2025 23:50 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

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.

18.05.2025 15:10 πŸ‘ 473 πŸ” 110 πŸ’¬ 20 πŸ“Œ 15

Thanks! Yeah, we'll prioritize filling this gap in the docs. For now, look up the class called "Excel" and its static methods. E.g.:

// load all sheets
Map<String, DataFrame> data = Excel.load("my.xlsx");

// load a single sheet
DataFrame df = Excel.loadSheet("my.xlsx", "Sheet 1");

16.05.2025 18:54 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
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 ...

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-...

16.05.2025 16:16 πŸ‘ 6 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

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/

13.05.2025 18:35 πŸ‘ 11 πŸ” 8 πŸ’¬ 1 πŸ“Œ 0
Andrus Adamchik presenting DFLib in a Jupyter notebook in front of a screen

Andrus Adamchik presenting DFLib in a Jupyter notebook in front of a screen

Tonight, @andrus.adamchik.org is giving us an overview of DFLib!

30.04.2025 22:17 πŸ‘ 5 πŸ” 2 πŸ’¬ 1 πŸ“Œ 1

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?

20.04.2025 01:33 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Very nice! I resisted the urge to make β€œ$” a method name in DFLib for expression shortcuts, but here it looks very natural πŸ™‚

19.04.2025 22:14 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
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...

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...

19.04.2025 21:38 πŸ‘ 29 πŸ” 9 πŸ’¬ 2 πŸ“Œ 1
Preview
DataFrame - A Swiss Army Knife of Java Data Processing, Wed, Apr 30, 2025, 5:30 PM | Meetup **Note:** Slightly earlier start time than usual! Let us know how you feel about 5:30pm vs 6:00pm start times! **Abstract** When implementing an ETL job, doing data analys

Join us on April 30, 2025 at Deutsche Bank to see @andrus.adamchik.org give a talk on DataFrame!

www.meetup.com/triangle-jav...

13.04.2025 21:40 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
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....

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/...

09.04.2025 10:32 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
JAlba – JAlba – An Open Space Conference in Edinburgh

#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

14.03.2025 12:07 πŸ‘ 4 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1