Andrus Adamchik @andrus.adamchik.org · 09/03/2026Incidentally, 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/2026Talking 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/2026Oh 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/2026I'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/2026Just 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/2026This 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/2025A 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.comJJava 1.0-a6 released · dflib jjava · Discussion #101Happy 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/2025DFLib 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 · 01/07/2025DFLib 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.comDFLib 2.0.0-M3 release · dflib dflib · Discussion #505Happy 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/2025Wow, 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/2025My 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 AdamchikMathijs Vogelzang @thijser.bsky.social · 05/06/2025Just 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/2025The 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 AdamchikGiulio Cesare Solaroli @gcsolaroli.mastodon.clipperz.is.ap.brid.gy · 24/05/2025Request 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.isOriginal post on mastodon.clipperz.is 302
Andrus Adamchik @andrus.adamchik.org · 23/05/2025Try 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 · 22/05/2025Been 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/2025Ok, the first version of the docs just got published at the link above. 110
Reposted by Andrus AdamchikGergely Orosz @gergely.pragmaticengineer.com · 18/05/2025Every 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/2025Thanks! 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/2025Enjoyed 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.chBack to the Future of Software: How to Survive AI with Intent Integrity Chain by Baruch SadogurskyGreat 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 AdamchikReza Rahman ☮ @reza-rahman.bsky.social · 13/05/2025Today 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 AdamchikTriJUG @trijug.dev · 30/04/2025Tonight, @andrus.adamchik.org is giving us an overview of DFLib! 142
Andrus Adamchik @andrus.adamchik.org · 20/04/2025Server 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/2025Very 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 AdamchikMax Rydahl Andersen @maxandersen.xam.dk · 19/04/2025Ever 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.comRelease Introducing JBang Jash · jbangdev/jbang-jashJBang 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 AdamchikTriJUG @trijug.dev · 13/04/2025Join us on April 30, 2025 at Deutsche Bank to see @andrus.adamchik.org give a talk on DataFrame! www.meetup.com/triangle-jav...meetup.comDataFrame - 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/2025Just 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.comRelease 1.3.0 · dflib/dflibDFLib 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 AdamchikMaurice 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.scotjalba.scotJAlba – JAlba – An Open Space Conference in Edinburgh 042
Andrus Adamchik @andrus.adamchik.org · 11/03/2025Just 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/2025When 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/2025That’s assuming human developers catch up with all the new stuff in each Java version 🙂 010
Reposted by Andrus AdamchikKate Holterhoff, PhD @kateholterhoff.com · 03/03/2025Welcome @devnexus.bsky.social crew 🍑! Celebrating w @andrus.adamchik.org @jerdog.dev at Park Bar 1151
Andrus Adamchik @andrus.adamchik.org · 28/02/2025This 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/2025Those are like Docker containers - you need a dedicated one for every process 120
Andrus Adamchik @andrus.adamchik.org · 26/02/2025Great, going to try it. Learned something new today 👍 000
Andrus Adamchik @andrus.adamchik.org · 26/02/2025Yeah 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/2025Being 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 spendingjupyter.orgProject JupyterThe 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/2025As 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/2025The 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 AdamchikCay Horstmann @horstmann.com · 22/02/2025For 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/2025I 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/2025Pretty 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 · 13/02/2025Oops, 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