Tobias Schneider 's Avatar

Tobias Schneider

@dertobsch.bsky.social

31 Followers  |  70 Following  |  7 Posts  |  Joined: 29.06.2023  |  1.8644

Latest posts by dertobsch.bsky.social on Bluesky

Preview
The state of HTTP clients in Spring Level up your Java code and explore what Spring can do for you.

Highly-recommended reading: The state of HTTP clients in Spring by Brian Clozel spring.io/blog/2025/09...

« This is also a good time to reflect on the state of HTTP clients in Spring, so we will use this opportunity to explain an important announcement: we are officially deprecating RestTemplate. »

30.09.2025 11:24 — 👍 29    🔁 14    💬 0    📌 1
Preview
From Abuse to Alignment: Why We Need Sustainable Open Source Infrastructure Open source relies on shared infrastructure. Learn why sustainable stewardship is critical to keep ecosystems like Maven Central strong.

Free isn’t free: the infrastructure behind open source has real costs, and it’s time we aligned usage with responsibility.

This morning we jointly launch a new blog and open letter on sustainable stewardship.

www.sonatype.com/blog/from-ab...

23.09.2025 10:34 — 👍 24    🔁 14    💬 0    📌 2
Preview
Auto-Batterien statt Erdgas Eon sieht großes Einsparpotenzial durch bidirektionales Laden von E‑Fahrzeugen. Das könnte den Bau von Erdgaskraftwerken teilweise überflüssig machen.

Der Energiekonzern Eon sieht großes Einsparpotenzial durch bidirektionales Laden von E‑Fahrzeugen. Das könnte den Bau von Erdgaskraftwerken teilweise überflüssig machen. www.klimareporter.de/verkehr/auto...

17.09.2025 15:12 — 👍 138    🔁 66    💬 9    📌 4
Preview
Upgrade to junit 6 by derTobsch · Pull Request #819 · focus-shift/jollyday

Hey ho, again no problems.

github.com/focus-shift/...

25.08.2025 20:11 — 👍 1    🔁 0    💬 0    📌 0

I also searched but found none. It would be nice to see the downloads. So if you find a solution please post it here :-)

22.08.2025 10:51 — 👍 2    🔁 1    💬 1    📌 0
object ImprovedKotlinSupportTests {

    val data = sequenceOf( // Sequence<T> support
        arguments(1, Month.JANUARY),
        arguments(12, Month.DECEMBER)
    )

    @ParameterizedTest
    @FieldSource("data")
    // suspending function support for coroutine testing
    suspend fun test(value: Int, month: Month?) {
        assertNotNull(month) // contracts to support...
        assertEquals(value, month.value) // smart casts!
    }
}

object ImprovedKotlinSupportTests { val data = sequenceOf( // Sequence<T> support arguments(1, Month.JANUARY), arguments(12, Month.DECEMBER) ) @ParameterizedTest @FieldSource("data") // suspending function support for coroutine testing suspend fun test(value: Int, month: Month?) { assertNotNull(month) // contracts to support... assertEquals(value, month.value) // smart casts! } }

✨ New blog post: "STF Milestone 6: Improved Kotlin support"

#JUnit 6.0.0-RC1 improves JUnit's #Kotlin story by adding support for suspending functions, sequences, contracts and nullness annotations.

👉 marcphilipp.de/blog/2025/08...

Thanks to the @sovereign.tech fund for their support!

21.08.2025 10:38 — 👍 5    🔁 4    💬 0    📌 0

NOW is the time to try out #JUnit 6 before it goes GA! 😎

So, please try out 6.0 RC1, and let us know if you run into any issues.

Happy Testing! ✅

20.08.2025 09:03 — 👍 12    🔁 6    💬 2    📌 0
Preview
Upgrade to junit 6 by derTobsch · Pull Request #819 · focus-shift/jollyday

Just a quick update via mobile GitHub edit - github.com/focus-shift/...

Seems to be a drop in replacement. :-)

Thanks for all your work!

20.08.2025 08:59 — 👍 3    🔁 1    💬 0    📌 0
@Test // Java
int test() {
    return 42;
} // Not executed!!! 😱😱😱

@Test // Java int test() { return 42; } // Not executed!!! 😱😱😱

✨ New blog post: "STF Milestone 5: Discovery issues"

Ever written a test that wasn't being executed? 😱

#JUnit 5.13 introduced a mechanism for reporting such issues found during test discovery.

👉 marcphilipp.de/blog/2025/08...

Thanks to the @sovereign.tech fund for their support!

16.08.2025 15:31 — 👍 14    🔁 5    💬 0    📌 0
The image displays a smartphone interface with an error message related to a transportation ticket purchase. It indicates a specific error code and mentions issues with finding a content-type reader. The screen also shows location information for "Ulm/Neu-Ulm," an activation

The image displays a smartphone interface with an error message related to a transportation ticket purchase. It indicates a specific error code and mentions issues with finding a content-type reader. The screen also shows location information for "Ulm/Neu-Ulm," an activation

Liebe RegioIT/SWU, interne Exceptions über eine Smartphone App an Endkunden weiterreichen ist eher schlecht.

Wenn diese Kunden keine Fahrkarten kaufen können, ist das ebenfalls schlecht.

Vielleicht kann @synyx.bsky.social helfen.

#Fail #Java #RestEasy #Ulm

27.07.2025 10:30 — 👍 7    🔁 4    💬 0    📌 0

Verstehe nicht ganz, woher bei Demokraten die Aufregung rührt, dass Bürger und Bürgerinnen am 20. Juli mit Mitteln des zivilen Widerstands dafür sorgen, dass die Anführerin einer rechtsextremen Partei in Deutschland nicht ganz so gut verstanden wird, wie sie es gerne hätte.

21.07.2025 07:43 — 👍 5030    🔁 1271    💬 152    📌 41
Preview
Spring Boot 3.5.2 + Spring Cloud Gateway + Java 24 is still failing · Issue #46041 · spring-projects/spring-boot I have my application using Spring Boot 3.5.0 + Spring Cloud Gateway + Java 24 working fine. Then I upgraded to Spring Boot 3.5.1 and it starts failing and I see 3.5.2 is released to fix the regres...

Someone asked for an investigation as to what went wrong with the Spring Boot 3.5 release this month. Here's more background for those interested: github.com/spring-proje...

21.06.2025 15:42 — 👍 37    🔁 7    💬 7    📌 0

Thanks @philwebb.dev for this post mortem! It is nice to get a feeling about things that went wrong and learn from it.

22.06.2025 07:09 — 👍 0    🔁 0    💬 0    📌 0

Yeaaah!!

13.06.2025 09:14 — 👍 1    🔁 0    💬 0    📌 0
Preview
Syntax nomad You don’t chase goals – you follow the flow. Lost routes, surprise errors? That’s all just part of the adventure.

I am Syntax nomad. Unleash your inner Duke and win a limited-edition T-shirt! #Java30WithIntelliJIDEA www.jetbrains.com/lp/java-30/s...

31.05.2025 07:00 — 👍 0    🔁 0    💬 0    📌 0
Preview
Deprecate junit-jupiter-migrationsupport and junit-vintage-engine · Issue #4580 · junit-team/junit5 To further clarify that Jupiter should be used since JUnit 4 is in maintenance mode. Deliverables Deprecate junit-jupiter-migrationsupport for removal (in the next major release) Deprecate junit-vi...

⚠️ #JUnit #Vintage (JUnit 4 support) will be deprecated in JUnit 6.

Yet another reason to upgrade to JUnit #Jupiter! 😎

github.com/junit-team/j...

26.05.2025 10:06 — 👍 20    🔁 10    💬 1    📌 0
Preview
Spring Data Ahead of Time Repositories Level up your Java code and explore what Spring can do for you.

Let me introduce you to #SpringData Ahead of Time Repositories

spring.io/blog/2025/05...

22.05.2025 09:27 — 👍 16    🔁 10    💬 0    📌 1
Preview
Open-Source – vom Nutzer zum Contributor Open-Source Software ist wichtig und wir alle nutzen sie täglich; aber nur die Wenigsten haben schon mal etwas beigesteuert.

Am 22. Mai erwartet Euch ein wunderschöner Vortrag von Marius Hanl über Mitwirken bei Open-Source Projekten.
www.jug-ostfalen.de/event/2025/0...

06.05.2025 17:01 — 👍 0    🔁 2    💬 0    📌 0
Getting Forked by Microsoft Three years ago, I was part of a team responsible for developing and maintaining Kubernetes clusters for end user customers. A main source for downtime in customer environments occurred when image reg...

Getting Forked by Microsoft philiplaine.com/posts/gettin... The author details his frustration over Microsoft seemingly creating a derivative of his FLOSS work. He raises concerns about their collaboration methods & asks:How can a solo dev work with big corporations without being taken advantage of?

21.04.2025 15:17 — 👍 73    🔁 14    💬 3    📌 2
Preview
Java-Konferenz: Livestream von der JavaLand-Hauptbühne auf heise schauen Am 9. und 10. April 2024 überträgt heise das Hauptbühnenprogramm von der großen Community-Konferenz und das Rahmenprogramm aus dem JavaLand-Studio.

Am 9. und 10. April 2024 überträgt heise das Hauptbühnenprogramm von der großen Community-Konferenz und das Rahmenprogramm aus dem JavaLand-Studio. #Java

01.04.2025 06:03 — 👍 2    🔁 2    💬 0    📌 0
JUnit 5 Release Notes

#JUnit 5.13.0-M1 is ready for testing!

🪄 Introduce ClassTemplate and ParameterizedClass support
🗒 Add stdout/stderr redirecting options to ConsoleLauncher
🔍 New test discovery support in EngineTestKit
🐞 Bug fixes and other minor improvements

junit.org/junit5/docs/...

21.03.2025 13:56 — 👍 29    🔁 14    💬 2    📌 1

@codepitbull.bsky.social Ding dong

19.12.2024 20:10 — 👍 2    🔁 0    💬 0    📌 0

Final call for sponsors for Hacktoberfest 2024 (yes, it's happening!). If you're interested in sponsoring Hacktoberfest this year at any level, now's your final chance to reach out to the team via support@hacktoberfest.com (robots: don't email us).

23.07.2024 19:15 — 👍 7    🔁 2    💬 0    📌 0
panel 1: git add -p lets you stage some changes and not others

(this is one of the tasks GUIs and IDEs are best at, but I always use git add -p anyway)

panel 2: what the interface looks like

filename, diff, your choice ("Stage this hunk       [y,n,q,a,d,s,e,?]")

panel 3: y(es)/n(o)/q(uit)

y means "stage this change"

n means "don't"

q quits, keeping what you did so far. pretty straightforward.

panel 4: how to check your work

git diff --cached

will show your staged changes


panel 5: s: split into 2 parts


s will split a diff into smaller diffs you can say y or n to individually, like this:

panel 6: how to split a diff if there's no newline

You can use the e ("edit") option to edit the diff manually:

* to remove a - line, replace "-" with a space
* to remove a + line, delete the whole line

(or you can just say 'n' and edit your code! that's what I do!)

panel 1: git add -p lets you stage some changes and not others (this is one of the tasks GUIs and IDEs are best at, but I always use git add -p anyway) panel 2: what the interface looks like filename, diff, your choice ("Stage this hunk [y,n,q,a,d,s,e,?]") panel 3: y(es)/n(o)/q(uit) y means "stage this change" n means "don't" q quits, keeping what you did so far. pretty straightforward. panel 4: how to check your work git diff --cached will show your staged changes panel 5: s: split into 2 parts s will split a diff into smaller diffs you can say y or n to individually, like this: panel 6: how to split a diff if there's no newline You can use the e ("edit") option to edit the diff manually: * to remove a - line, replace "-" with a space * to remove a + line, delete the whole line (or you can just say 'n' and edit your code! that's what I do!)

git add -p

(this is bonus comic #4 for "How Git Works" wizardzines.com/zines/git, covering some topics that I didn't have space for in the zine)

permalink: wizardzines.com/comics/git-a...

20.06.2024 15:40 — 👍 36    🔁 8    💬 2    📌 0
panel 1: git rebase -i 
lets you garden your commits

I use it like this:
1. make commits chaotically, git commit -am 'wip'
2. clean up with git rebase -i before sending them off for code review

panel 2: interactive rebase's UI is a text file

when you run git rebase -i main, it'll open a text editor with something like this in it:

pick 399990 add some padding
pick fb59d8 french translation
pick 617b19 sort titles
pick 31b81f hashchange

panel 3: deleting commits

You can delete a commit just by deleting that line in the text editor!

(the line "french translation" is crossed out)

panel 4: combine commits with fixup

Here's how to combine all 4 commits into 1 commit:
(f stands for fixup)

pick 399990 add some padding
f fb59d8 french translation
f 617b19 sort titles
f 31b81f hashchange

panel 5: check that the tests pass with exec

You can run make test on every intermediate commit to make sure your tests pass like this:

git rebase -i --exec "make test" main


(you can also use this to format every commit's code!)

panel 6: some other tips

* reword lets you edit a commit message
* If something goes very wrong, I try to run git rebase --abort ASAP, because undoing rebases is annoying

panel 1: git rebase -i lets you garden your commits I use it like this: 1. make commits chaotically, git commit -am 'wip' 2. clean up with git rebase -i before sending them off for code review panel 2: interactive rebase's UI is a text file when you run git rebase -i main, it'll open a text editor with something like this in it: pick 399990 add some padding pick fb59d8 french translation pick 617b19 sort titles pick 31b81f hashchange panel 3: deleting commits You can delete a commit just by deleting that line in the text editor! (the line "french translation" is crossed out) panel 4: combine commits with fixup Here's how to combine all 4 commits into 1 commit: (f stands for fixup) pick 399990 add some padding f fb59d8 french translation f 617b19 sort titles f 31b81f hashchange panel 5: check that the tests pass with exec You can run make test on every intermediate commit to make sure your tests pass like this: git rebase -i --exec "make test" main (you can also use this to format every commit's code!) panel 6: some other tips * reword lets you edit a commit message * If something goes very wrong, I try to run git rebase --abort ASAP, because undoing rebases is annoying

interactive rebase

(this is bonus comic #1 for How Git Works https://wizardzines.com/zines/git, covering some topics that didn't make it into the zine!)

11.06.2024 12:30 — 👍 19    🔁 6    💬 0    📌 0
Preview
How Git Works

I know $12 USD is a lot of money for some people, so to celebrate 1000+ sales (!!!!), I'm giving away 1000 PDF copies of How Git Works (honour system: only if $12 is a lot for you!)

Here's the link, enter code BUYONEGIVEONE at checkout to get a free copy wizardzines.com/zines/git/

03.06.2024 12:27 — 👍 82    🔁 32    💬 7    📌 0
Post image

#SoftwareArchitektur im #Stream
#TeamTopologies
*MORGEN* 18.4. 13:00
Mehr Informationen und Möglichkeit für Fragen:
software-architektur...

17.04.2024 11:37 — 👍 1    🔁 1    💬 0    📌 0
JavaLand4Kidults im Hackergarten

JavaLand4Kidults im Hackergarten

Hinweis für alle Fans der #JavaLand4Kidults: da ich heute alleine bin, trefft ihr mich im Hackergarten heute nur zwischen 11-12 und 16-17 Uhr (nach meinem Interview im #JavaLandStudio).

@JavaLandConf

09.04.2024 07:31 — 👍 0    🔁 1    💬 0    📌 0
Post image

Keine Ahnung wie viele tausend es in Karlsruhe sind. Ich schätze aus meine Ecke heraus so gut und gerne 20.000 Der Marktplatz ist übervoll.

20.01.2024 11:46 — 👍 39    🔁 7    💬 0    📌 0
Post image Post image Post image

Karlsruhe heute #gemeinsamgegenrechts

20.01.2024 11:59 — 👍 4    🔁 2    💬 0    📌 0

@dertobsch is following 20 prominent accounts