Opens profile photo
Follow
Click to Follow gunnarmorling
Gunnar Morling 🌍
@gunnarmorling
Software engineer · Ex-lead of Debezium · Spec lead of Bean Validation 2.0 · Creator of JfrUnit, kcctl and MapStruct · Java Champion · 🚴
Hamburg, Germanymorling.devJoined February 2014

Gunnar Morling 🌍’s Tweets

📺 Getting started in 2 min! #ApacheFlink #FlinkSQL
Quote Tweet
Curious to do you first steps with #ApacheFlink and Flink SQL? Then join the fabulous @hkdulay and me tomorrow for this demo-centered live webinar, where we'll do exactly that -- starting with Flink from the ground up! 🗓️ Jan 26, 10 am PST 🔗 info.decodable.co/webinar-gettin
A visual with date, time, and title of the webinar: "Getting Started with Flink and Flink SQL"
2
I hope as much people as possible get to read this! Please just tell me how to update a deprecated API🙏
Quote Tweet
Never deprecate an API (method, class, etc.) without clearly documenting the intended replacement. Failing to do so makes for a very frustrating experience for your users. Bonus points for providing executable migrations, e.g. using OpenRewrite.
5
I wished ergonomics around #Java records and optional components were a bit better. IIUC it was a non-goal, but usage right now is a bit cumbersome, as you can't change the type in the accessor, effectively requiring Optional<SomeComponentType> to be passed to the constructor.
7
15
Never deprecate an API (method, class, etc.) without clearly documenting the intended replacement. Failing to do so makes for a very frustrating experience for your users. Bonus points for providing executable migrations, e.g. using OpenRewrite.
6
121
A lesser known #GitHub feature: support for excluding specific commits from the blame view. Just add a file .git-blame-ignore-revs to your repo root, listing the SHAs e.g. of bulk formatting commits. Locally, use git blame with `--ignore-revs-file=...` to do the same.
Image
2
59
DBs are getting totally ripped apart right now and I love it. Query engines (trino, duck), storage (s3, gcs), and indexing (iceberg, hudi) all separate.
Quote Tweet
"Querying SQLite databases with DuckDB" Enjoyed watching this fast-paced video by @markhneedham demoing how to use #DuckDB's query engine to run analytics queries against data in a #SQLite file. 5:50 well spent 🦆! youtube.com/watch?v=ogge3k
15
215
Friday was my last day in my previous role, and while I'm having some very productive conversations already, I would be open to more introductions and chats about Developer/API experience, tools, open source, and other engineering-focused roles. DMs are open, RTs are appreciated
1
64
I wish there was a dictionary of sorts which explains key data science concepts, terms, and tools to software engineers: "notebooks", "data frames", "model building", etc. I'm sure that'd be super useful to many dev folks out there.
4
36
Playing around a bit with #DuckDB. First impression: being able to query local directories of CSV (or Parquet, or...) files is dope 🔥. I only wished data cleansing would be a bit easier; e.g. how about an inline editor for fixing/removing bad rows? Does that exist?
5
64
This is also a Lean strategy to make better product decisions: Last Responsible Moment. Always keep in mind that you may likely be wrong, may produce the wrong thing, and your early decision may cause rework.
Quote Tweet
A fair share of software design is professional procrastination: keeping options on the table, doors open for as long as you can, in order to avoid locking yourself into a corner by committing too early to abstractions which turn out poor later on.
1
2
When I work on OSS, I don't answer questions in private messages. Public channels only. No one gets preferential treatment, regardless of how discrete they consider their situation to be. That's a core tenet of my OSS philosophy & the terms under which I dedicate my time to it.
5
111
Show this thread
The one-way vs. two-way door analogy works great to approach design decisions.
Quote Tweet
A fair share of software design is professional procrastination: keeping options on the table, doors open for as long as you can, in order to avoid locking yourself into a corner by committing too early to abstractions which turn out poor later on.
3