Sign in

Andrus Adamchik

@andrus.adamchik.org
373 followers 186 following 180 posts

Java open-source & ObjectStyle Making Java a viable option for data processing / analysis at DFLib.org Apache Software Foundation member / ex VP

PostsRepliesMedia
Andrus Adamchik @andrus.adamchik.org · 09/03/2026
Incidentally, Bootique that was conceived 10 years ago is rather Claude-friendly out of the box. With "-h" describing in plain text how to run and "-H" - how to configure an app. The idea back then was to make each app self-explanatory in runtime. Little did we know 🙂
010
Andrus Adamchik @andrus.adamchik.org · 28/02/2026
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
010
Andrus Adamchik @andrus.adamchik.org · 28/02/2026
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
020
Andrus Adamchik @andrus.adamchik.org · 23/02/2026
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
010
Andrus Adamchik @andrus.adamchik.org · 22/02/2026
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.
160
Andrus Adamchik @andrus.adamchik.org · 12/02/2026
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
000
Andrus Adamchik @andrus.adamchik.org · 22/10/2025
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/...
github.com
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 ...
040
Andrus Adamchik @andrus.adamchik.org · 13/09/2025
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/...
030
Andrus Adamchik @andrus.adamchik.org · 11/07/2025
Matches my experience
031
Andrus Adamchik @andrus.adamchik.org · 01/07/2025
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/...
github.com
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...
031
Andrus Adamchik @andrus.adamchik.org · 27/06/2025
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
010
Andrus Adamchik @andrus.adamchik.org · 10/06/2025
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
000
Reposted by Andrus Adamchik
Mathijs Vogelzang @thijser.bsky.social · 05/06/2025
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...
062
Andrus Adamchik @andrus.adamchik.org · 29/05/2025
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/...
000
Reposted by Andrus Adamchik
Giulio Cesare Solaroli @gcsolaroli.mastodon.clipperz.is.ap.brid.gy · 24/05/2025
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 […]
mastodon.clipperz.is
Original post on mastodon.clipperz.is
302
Andrus Adamchik @andrus.adamchik.org · 23/05/2025
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.)
000
Andrus Adamchik @andrus.adamchik.org · 23/05/2025
The "TAB" key should do it.
210
Andrus Adamchik @andrus.adamchik.org · 22/05/2025
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.
030
Andrus Adamchik @andrus.adamchik.org · 21/05/2025
Ok, the first version of the docs just got published at the link above.
110
Reposted by Andrus Adamchik
Gergely Orosz @gergely.pragmaticengineer.com · 18/05/2025
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.
20468109
Andrus Adamchik @andrus.adamchik.org · 16/05/2025
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");
010
Andrus Adamchik @andrus.adamchik.org · 16/05/2025
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-...
speaking.jbaru.ch
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 ...
051
Reposted by Andrus Adamchik
Reza Rahman ☮ @reza-rahman.bsky.social · 13/05/2025
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/
1118
Reposted by Andrus Adamchik
TriJUG @trijug.dev · 30/04/2025
Tonight, @andrus.adamchik.org is giving us an overview of DFLib!
Andrus Adamchik presenting DFLib in a Jupyter notebook in front of a screen
142
Andrus Adamchik @andrus.adamchik.org · 20/04/2025
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?
000
Andrus Adamchik @andrus.adamchik.org · 19/04/2025
Very nice! I resisted the urge to make “$” a method name in DFLib for expression shortcuts, but here it looks very natural 🙂
120
Reposted by Andrus Adamchik
Max Rydahl Andersen @maxandersen.xam.dk · 19/04/2025
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...
github.com
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...
2289
Reposted by Andrus Adamchik
TriJUG @trijug.dev · 13/04/2025
Join us on April 30, 2025 at Deutsche Bank to see @andrus.adamchik.org give a talk on DataFrame! www.meetup.com/triangle-jav...
meetup.com
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
052
Andrus Adamchik @andrus.adamchik.org · 09/04/2025
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/...
github.com
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....
031
Reposted by Andrus Adamchik
Maurice Naftalin @mauricenaftalin.bsky.social · 14/03/2025
#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.scot
JAlba – JAlba – An Open Space Conference in Edinburgh
042
Andrus Adamchik @andrus.adamchik.org · 11/03/2025
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.
010
Andrus Adamchik @andrus.adamchik.org · 06/03/2025
When iPhones first came out there were people bragging about writing novels on an iPhone 🤷‍♂️
000
Andrus Adamchik @andrus.adamchik.org · 06/03/2025
“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
011
Andrus Adamchik @andrus.adamchik.org · 03/03/2025
That’s assuming human developers catch up with all the new stuff in each Java version 🙂
010
Reposted by Andrus Adamchik
Kate Holterhoff, PhD @kateholterhoff.com · 03/03/2025
Welcome @devnexus.bsky.social crew 🍑! Celebrating w @andrus.adamchik.org @jerdog.dev at Park Bar
1151
Andrus Adamchik @andrus.adamchik.org · 03/03/2025
DevNexus is off to a great start! 🙂
010
Andrus Adamchik @andrus.adamchik.org · 28/02/2025
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
010
Andrus Adamchik @andrus.adamchik.org · 26/02/2025
Those are like Docker containers - you need a dedicated one for every process
120
Andrus Adamchik @andrus.adamchik.org · 26/02/2025
Great, going to try it. Learned something new today 👍
000
Andrus Adamchik @andrus.adamchik.org · 26/02/2025
Yeah smth like this. Not fully sure how Binder works, but I assume it would require Java kernel install somewhere behind the scenes
110
Andrus Adamchik @andrus.adamchik.org · 24/02/2025
Being one of the Java kernel developers, I’d like to see better exposure of kernels for different language (well, Java in partcular 🙂) . Eg here jupyter.org/try#kernels and this won’t even require any noticeable dollar spending
jupyter.org
Project Jupyter
The Jupyter Notebook is a web-based interactive computing platform. The notebook combines live code, equations, narrative text, visualizations, interactive dashboards and other media.
100
Andrus Adamchik @andrus.adamchik.org · 22/02/2025
As weird as it sounds, I actually like refactoring legacy codebases. The result can be vary satisfying. But AI legacy codebases sound dreadful. Even much smaller AI-assisted PRs suck all the joy away from work.
150
Andrus Adamchik @andrus.adamchik.org · 22/02/2025
The reverse Moore's law - you can keep upgrading your laptop to the latest and greatest every two years, but it still takes 10 sec to open a web browser
030
Reposted by Andrus Adamchik
Cay Horstmann @horstmann.com · 22/02/2025
For anyone teaching Java: I posted a quick summary of new Java features that help beginners. horstmann.com/unblog/2025-...
0105
Andrus Adamchik @andrus.adamchik.org · 19/02/2025
I think all platforms turning into store fronts (a nicer term than "enshitification" but same phenomenon really) is a likelier reason than simply fragmentation.
110
Andrus Adamchik @andrus.adamchik.org · 15/02/2025
Pretty much, but if you are working in Java that has no culture of either REPL or notebooks, it is also a gateway drug to that style of programming
000
Andrus Adamchik @andrus.adamchik.org · 14/02/2025
Value objects ftw
010
Andrus Adamchik @andrus.adamchik.org · 13/02/2025
Oops, found a high-severity bug in the new BooleanSeries. It is fixed and released as 2.0.0-M2. So if you are evaluating (or already switched to) M1, please update the version to M2
000