Unpopular opinion:
In the most of spring boot projects, what folks call the "architecture" is just how files are located in packages
@hollandseuil.bsky.social
Software Engineer at JetBrains Work on Amper Was born in Siberia, live in Amsterdam
Unpopular opinion:
In the most of spring boot projects, what folks call the "architecture" is just how files are located in packages
blog.jetbrains.com/amper/2025/0...
We went to serverside:
- Native Spring Boot and Ktor support
- IDE support, intelligence works even in a broken build
- Extract to template
- You can create project/module without reading docs and using generators like start.spring.io
Just give it a try!
Have you been in the situation:
- you start a pet project
- you set up your build (spent whole evening or so)
- You're tired...
???
Please don't put AI into my terminal
28.04.2025 14:40 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0Geocoding is hard: did you know that Australia is constantly drifting by 7cm/year or something approximately like that? So you stored coordinates in the DB. Year after you're cooked
28.04.2025 14:39 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Screenshot of the paper "C is not a low-level language" https://dl.acm.org/doi/pdf/10.1145/3212477.3212479
An interesting paper on why C no longer maps well to modern hardware. Instead of continually optimizing hardware design to support legacy abstractions like the serial execution model of C, the paper points out it is time to rethink the programming model itself. ๐งต
queue.acm.org/detail.cfm?i...
Thanks to the newsmakers, my vocab surged and now Iโm capable of retaliating in a contentious debate
It make me feel smarter XD
Also it worth to note, that there are no as fast purely functional programming languages as you probably imagine in your reality not because there is some magical limitation on representation of the CPU (modern imperative langs don't comply long ago), but because it's quite hard to write on FP langs
11.04.2025 18:02 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0Profile-based optimization can make local optimizations in a very restricted use cases with aggressive invalidation, though, but in the most cases it works solid and skyrocket your performance like god
And this is where F# beats your Rust or whatever you consider as fast
If you write anything on "performant" languages, you probably gonna end up with a worse performance than undergraduate would have written the same code in Java
You very underestimated all the science which lies under VMs
Jit has benefit of having traces at the runtime
Look at the BEAM VM, btw Erlang is faster than Python for instance, or take a look at F# it has comparable speed with C# (they run on the same VM and translates to approx similar instructions)
The problem with FP is not performance and never has been
I completely can't buy that: it's an a abstraction layer, it shouln't somehow follow how CPU works, we can translate the code whatever we want, there is no problem with that
We also could write the whole runtime, which would know how to execute functional command the most effective way
The closest programming language that does that is Haskell. It's not C-like completely, it's statically typed though and very concise and expressive.
This is exactly where FP shines. Also, if transactional memory is introduced, you can semi-automatically parallelize some little things
You have to make sure that the functions you're calling are side-effect free, and then compiler actually can infer the execution graph itself, however, in real life, it's 1. very hard problem to verify that your function is actually pure, 2. parallelization isn't free, if using wrong could slow down
11.04.2025 15:37 โ ๐ 0 ๐ 0 ๐ฌ 1 ๐ 0Have you heard the story that VSCode started blocking extensions in forks, like Cursor?
This is what happens when you don't own the platform
But the problem is a bit deeper. The whole open-source isn't that open, in fact
There are companies behind most of the projects. They don't want to compete
Europapa, europapa!!! Welkom in Europa. Blijf hier tot ik dood ga
10.04.2025 22:47 โ ๐ 1 ๐ 0 ๐ฌ 0 ๐ 0Once again, I'm digging into classloading debugging, let's find out how deep is the rabbit hole
10.04.2025 10:26 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0Of course you can take roocode or cline and just add openai compatible custom api key
But what could be more customizable as anything written from scratch
For now itโs not to much to write
Besides it could be vibe-engineered, and then bootstrapped
Different levels of understanding some particular tech
1. I bruteforce until it works
2. I finally get how exactly it works, but why it is designed so poorly, couldn't they come up with a better solution?
3. They can't because life is hard and programming is hard
The quality of the software is deteriorating, and vibe coding is going to aggravate that
09.04.2025 09:10 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0Interesting thing, despite of MCP fetch doesn't prevent you from getting data from the websites, it turns out that without a jailbreak you can't bypass robots.txt
This is actually good news! So if you don't want LLMs to parse any content you serve, you can just easily forbid that
Context compaction is a brilliant idea
09.04.2025 07:41 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0I gonna share the project soon (I need to clean up creds from the git history)
09.04.2025 07:00 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0It turned out itโs not needed to upload the whole project to Gemini 2.5 pro
What is enough is to provide as broad toolset as you can, and it starts to perform comparably to Claude desktop
Okay, now I convinced that Gemini is a beast
Real talk: with spring boot itโs literally 3 files with 50 lines of code in total
Everyone can do that, even if your main language is Python
You can vibe-engineer UI later
What is the best at AI agent development is the fact that at some point when you bootstrap, agent starts writing itself
09.04.2025 06:51 โ ๐ 0 ๐ 0 ๐ฌ 0 ๐ 0But you get your coding AI agent in the end with ability to choose whatever model you want directly without these AI wrapper companies
Additional benefit: you control cost, you can upload the whole project into the context, or you can use caching or whatever technique
Use it!
All models support OpenAI compatibility. Besides you can use models with open router or other SaaS providers that also provides openAI compatibility
Yes, it will be a limitation, no thinking process available, no animation of letters during the dialog, just calling MCP tools and answer at the end
โฌ๏ธ
Itโs maybe obvious for everyone, but if you want to use a new shiny LLM with your favorite MCP and cursor/copilot/windsurf/jetbrains AI/etc doesnโt support this model yet (and maybe never)
Open start.spring.io
Chose spring-ai-mcp-client
Do annotation-driven development (itโs easy, trust me)
โฌ๏ธโฌ๏ธโฌ๏ธ
Is it a home office?
08.04.2025 12:17 โ ๐ 0 ๐ 0 ๐ฌ 2 ๐ 0