Andrus Adamchik

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

373 followers186 following180 posts

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 🙂

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

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

Gunnar Morling@gunnarmorling.dev

📝 "Hardwood: A New Parser for Apache Parquet" Today is the day--beyond excited to share the first release of #Hardwood, a new parser for the Apache #Parquet file format, optimized for minimal dependencies and great performance. 👉 www.morling.dev/blog/hardwoo...

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.

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

Project Jupyter@jupyter.org

🎉 JupyterLite is now part of Project Jupyter! Run Jupyter notebooks directly in your browser: no server, no setup. Many thanks to the JupyterLite contributors and supporters like QuantStack, Bloomberg and the Gates Foundation. 🔗 blog.jupyter.org/jupyterlite-...

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

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@lu.voxxeddays.com

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! ⭐

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

Andrus Adamchik@andrus.adamchik.org

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.

Andrus Adamchik reposted

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.

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?

Andrus Adamchik reposted

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.

This post is unavailable.

“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

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

John O'Reilly@johnoreilly.dev

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

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.

This post is unavailable.

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

Andrus Adamchik@andrus.adamchik.org

The first milestone of DFLib 2 is out. Lots of improvements as described here: github.com/dflib/dflib/... A few examples: * 8x reduction of memory footprint of BooleanSeries * Major new capabilities in "window" expressions * Shortened aggregation syntax of "group" expressions * Heatmap charts

Apache Iceberg is certainly on the radar. Looking forward to attend this presentation (and luckily it doesn’t overlap with mine 🙂)

Danica Fine@thedanicafine.bsky.social

Thrilled to be heading back to Atlanta this year to speak at #devnexus where I'll be giving everyone a crash course in #apacheIceberg. Never been to @devnexus.bsky.social before? Now's your chance! Use code SPEAK40 for a 40% discount. Hope to see you there! 👉 devnexus.com

Just posted DFLib maintenance release 1.2.0. It has a number of bug fixes (math, resource management) and small API improvements. This is a drop-in replacement for any prior 1.*. A much bigger deal is the upcoming 2.0.0-M1 that is expected in a few days. github.com/dflib/dflib/...

github.comRelease 1.2.0 · dflib/dflibDFLib 1.2.0 release. Release Notes #430 CsvLoader.nullString(String) #435 ByteSources.process() exception for single-entry source #437 ByteSource doesn't close streams in internal methods #451 Dec...

Glad to see that Java community is waking up to notebooks. Suddenly turns out you can do data work, visualization, experimenting, learning without switching to Python. We went a different way deciding to support Java in Jupyter. Curious to see whether DFLib Jupyter hacks are portable to JTaccuino

Johan Vos@johanvos.bsky.social

This project is key to Java. We need a notebook to bring Java towards students, scientists,... and help them doing research/POC's in the same language that can later be used in production systems where performance/stability/scaling/security is key.

The more we talk about DataFrames, the better. Java needs DataFrames!

Donald Raab@thedonraab.bsky.social

I am excited to be speaking at #JavaOne with @zakhav.bsky.social. 🙏 I hope you'll attend our session "Are You Missing a Data Frame? The Power of Data Frames in Java". I look forward to meeting many folks from the amazing #Java community in person! reg.rf.oracle.com/flow/oracle/...

DFLib 2.0.0-M1 is approaching. It has 40 new tasks. Now I wanted to mention just one - a great improvement in "window" transforms. Window column functions are no longer just aggregation. Now you can do "rowNum()", "cumSum()", etc. Also, just finished "Window Ops" docs at dflib.org/dflib/docs/2...

dflib.orgDFLib DataFrame Documentation - v2 (alpha)Documentation for DFLib Java DataFrame library version 2. Provides a guide on how to create DataFrames from different data sources and how to use DataFrames for a variety of data transformation operat...

Andrus Adamchik reposted

love to be made a bagholder against my will

NBC News@nbcnews.com

President Trump announces his administration will move to evaluate the creation of a "national digital asset stockpile" — making good on a promise to support the use of cryptocurrencies like bitcoin.