JetBrains' company blog, covering IDE and Kotlin updates, product history, and statements on events like the war in Ukraine.
HN links it for product and language news, such as Kotlin context parameters, and for company history like the origin of the Rider name.
I hear you about debugging cmake (although in this specific case JetBrains has a CMake debugger: https://blog.jetbrains.com/clion/2022/10/clion-2022-3-eap-cmake-debugger/ ) but one can also concede that the magnitude of code one even needs to consider are not in the same universe as each other:
$ cd mozilla-central
$ find python/mach python/mozbuild/mozbuild -name '*.py' -exec cat '
{}' ';' | wc -l
83088
$ find keepassxc -name CMakeLists.txt -o -name '*.cmake' -type f -exec cat '
{}' ';' | wc -l
866
I am on-board with something like Starlark, which is allowed to make reasonable build decisions with the information available to it, but is prevented from mutating my system. I try to be very disciplined about reading every .gradle file carefully, because jokers love to do whatever they want when they have a full-blown programming language available to them
The link about Stiver has some details:
> Stiver decided to write his own decompiler as a side project. To overcome the weaknesses of existing alternatives, he took a different approach. After reading the bytecode, he constructed a control-flow graph in static single-assignment form, which is much better to express the program semantics abstracting the particular shape of bytecode. At the beginning of this project, Stiver knew little about static analysis and compiler design and had to learn a lot, but the effort was worth it. The resulting decompiler produced much better results than anything available at that time. It could even decompile the bytecode produced by some obfuscators without any explicit support.
https://blog.jetbrains.com/idea/2024/11/in-memory-of-stiver/
I have a client who was using JetBrains' TeamCity CI product. Was a clown show of vulnerabilities that allowed attackers access to internals.
Do not use their products. If you must for some reason, be sure you subscribe to critical CVEs of the products you are using and update them immediately and rotate your credentials. Ideally re-install on a fresh server. Never have the service available via the public web, it will be hacked - only use their products behind a VPN.
https://blog.jetbrains.com/teamcity/2024/02/critical-security-issue-affecting-teamcity-on-premises-cve-2024-23917/ https://blog.jetbrains.com/teamcity/2024/03/additional-critical-security-issues-affecting-teamcity-on-premises-cve-2024-27198-and-cve-2024-27199-update-to-2023-11-4-now/
JetBrains | Tech Lead / Senior for Bazel plugin | REMOTE or onsite (Germany, Poland, Netherlands, Czechia, Cyprus, Armenia)
About us: we make devtools. Our team is working on Bazel integration for all our IDEs, primarily IntelliJ IDEA. We recently announced GA[1] of our new plugin and looking to make it the best build tool experience you can get in an IDE. You'll be taking a key role in shaping the technical direction of the product.
Learn more and apply for Tech Lead: https://www.jetbrains.com/careers/jobs/technical-lead-idea-bazel-1756/ Senior: https://www.jetbrains.com/careers/jobs/senior-software-developer-intellij-idea-bazel-1788/
[1] https://blog.jetbrains.com/idea/2025/07/bazel-ga-release/
With the right tooling, this is a non-issue. Compare with Scala, a language that also allows you to omit return types (except for recursive functions).
IntelliJ (the best Scala IDE) now has something called X-Ray mode, see the videos here: https://blog.jetbrains.com/scala/2023/12/21/the-x-ray-mode/
Alternatively, it also allows you to configure it to always show the inferred types on functions.
Before, I annotated things a lot, but after having this I've never felt the need to annotate functions ever again. I still do it for certain things though but for other reasons than readability (e.g. for type-driven development).
Nobody should still use the awful legacy vue component syntax, it is trivial and much cleaner to migrate to script setup components, which do provide properly type checked props easily
https://v3.vuejs.org/api/sfc-script-setup.html#defineprops-and-defineemits
https://v3.vuejs.org/api/sfc-script-setup.html#typescript-only-features
(although vue class component is still the best API of all VDOMs, it's unfortunate its development has stalled)
Webstorm now properly supports template type checking too
https://blog.jetbrains.com/webstorm/2021/11/webstorm-2021-3/#type_checking_for_vue_and_react_properties