IntelliJ IDEA
IntelliJ IDEA – the Leading Java and Kotlin IDE, by JetBrains
Java Annotated Monthly – May 2020
Well April sucked. May isn’t going to be much better, even if here in Spain they are actually letting us outside to exercise now. Hang on in there. Distract yourself with the articles in this month’s newsletter if you like, or focus on other things that matter more.
Take care of yourself and those you love. Stay safe. Stay home if you can.
Java News
Java turns 25 this month. Keep an eye out for a range of online events to celebrate! One advantage to fewer in-person events is that now more people should be able to “attend” celebrations like this.
-
25 Hours of Java—May 23rd, 2020 – featuring some of the very best people in the industry. And me.
-
Call for Discussion: New Project: Leyden – “whose primary goal will be to address the long-term pain points of Java’s slow startup time, slow time to peak performance, and large footprint.”
-
Java’s Missing Features: 5 Years Later – Quite Interesting
Java Tutorials & Tips
- Java Objects Inside Out – another of Aleksey’s extremely in depth pieces
-
Towards Better Serialization – this is from last year, but I’ve dug it out several times since then to remind myself of why Java Serialization is bad.
-
Scanner is a Weird but Useful Beast – I had forgotten all about Scanner until I read this.
-
Building Modern Web Apps with Spring Boot and Vaadin – using IntelliJ IDEA
-
Java – Write to File – I’ve been brushing up on my File IO lately, so I thought I’d include my resources here.
-
Modern Java IO – this is about IO in Java 7. Many of us may still not have realised that IO changed a lot in 7 and the way we’ve learnt to read and write files may have changed.
-
Improving G1 out-of-the-box performance – test results to show how Java 14 might give an application better performance
-
HTML5 Server-Sent Events with Micronaut.io and Java – ooh, I should read this, since I’ve used Spring for SSE in the past.
-
Migrating from JUnit 4 to JUnit 5: Important Differences and Benefits – I’m planning on a JUnit 5 TDD screencast for IntelliJ IDEA. If there’s a lot of demand for it I’ll make it higher priority
-
How to Select Dates from Date Pickers – if you’re not already following Angie, you should start right now
My next live stream is Wednesday @ 12 noon PST! We’ll explore Records, a new experimental feature in Java. Should be fun.
If you missed the last two live streams, you can catch up with text and/or video here.https://t.co/1ezOGnnWTJ
— Angie Jones (@techgirl1908) May 5, 2020
-
Manage Multiple JDKs on Mac OS, Linux and Windows WSL2 – I’m firmly in “the manual way”. Am I wrong?
-
Dynamic Proxies in Java Mini-Book (free download)
-
Java 14 Reference Card – from Azul
-
What is JDBC? – good timing, I’m due to do a databases video soon
-
Zip lookups – “…we’re now looking at a 7x speedup on hits and 12x speedup on misses in JDK 15 compared to JDK 8.”
-
Java Records – an introduction
-
Java After Eight (video) – excellent video from Nicolai Parlog (using IntelliJ IDEA!) showing features since Java 8 in action. I particularly like the demo of new Optional methods and the process API, neither of which I’ve seen used in anger like this before.
Languages, Frameworks, Libraries and Technologies
- Spring Security: Authentication and Authorization In-Depth – fun fact: I wrote one of my very first blog posts on Spring Security, because I had struggled so much to understand it. Marco’s in-depth piece has a lot of the context I was missing.
-
Migrating Duolingo’s Android app to 100% Kotlin – a case study. I love Duolingo, it has been a key resource for learning Spanish.
-
NYJavaSIG 20200326 Ken Kousen – Kotlin: The Basics and Beyond (video) – Ken’s talks were super useful for me to get into Groovy years ago, I expect he’s just as good at providing the right background for Kotlin. OK you got me, I didn’t watch this video. But I want to!
-
Spring and Kotlin: A Writing Combonation (video) – also by Ken. I really like the Kotlin/Spring combo.
- Ray Tsang – Docker Tips and Tricks (video) – also on my “must watch” list.
-
Nine ways to fail at cloud native – what do you mean when you say cloud native?
-
What Is Your Test Quality? – mutation testing is something I definitely want to understand better
-
Mutation Testing With SonarQube – a follow up to the previous post
-
Copying A Branch Name In Intellij – one of those features you didn’t know you needed
Whether you have a formal code review process or not, you’re going to want to look at this checklist of “Security Code Review Best Practices”, us developers should make sure we’re not letting some nasty things into our applications https://t.co/N3pFwA8chW
— Trisha Gee (@trisha_gee) April 21, 2020
These Uncertain Times
We’re all in different countries, different stages of concern about the global pandemic. And I don’t want to spend too much time dwelling on our current existence. But there’s no avoiding it for many, so here at the most interesting or useful articles I read this month. Note: I did not read much this month, because doing work and home life at the same time is actually impossible.
- The Parents Are Not All Right – “The particular struggle reflects the most privileged perspective” – this has been bothering me too. If my life is the “best” case for parents, how on earth is everyone else even getting through the day?
-
Women academics seem to be submitting fewer papers during coronavirus. ‘Never seen anything like it,’ says one editor – shocked, I am. Shocked. Oh wait. No, I’m not.
-
Coronavirus is giving us a glimpse of the future of work – and it’s a nightmare – related to above: “Women working at home are doing more childcare and housework, while virtual work has no knocking-off time”
- A Remote Work Guide, For Parents – note: this doesn’t really take into account the reality of a lockdown where one is genuinely having to take care of kids and work at the same time. But some tips still valid (a routine has been vital to me and my kids)
- Bond At A Distance With The Remote Team Cooking Challenge – I’ll be honest, I was gonna roll my eyes at yet more ideas of extra things to do while on lockdown. But actually this looks kinda fun.
-
Prepare for the Ultimate Gaslighting* – US-centric but certainly not unique to them
-
My virtual social life is exhausting: Turns out Zoom cocktail hours can burn you out, too – I dunno, I’m too tired to actually attend any of them
- ‘Zoom fatigue’ is taxing the brain. Here’s why that happens.
32 of us @jcp_org peers connecting, a full day of @java! I super miss hugging each one of you, no Singapore this week yet with health already looking forward to next opportunity to mee you. #vF2F is still wonderful! #sharingIScaring #javaCOMMUNITY #java pic.twitter.com/kuSLOwniLi
— Amelia Eiras (@ameliaeiras) April 23, 2020
(I’m in the photo above. I even put on makeup for that call and everything)
Culture & Community
- Radar retrospective: 10 years of ThoughtWorks Technology Radar
- WHY WON’T THIS WORK?! Coding Angry for Fun and Profit – while every developer will understand the feeling in this post, it seems even more prevalent when working within a framework like Android and/or working with hardware (like Android!).
-
Code Katas – an interesting look at what code katas are, and why they’re useful
-
Patterns for Managing Source Code Branches – by Martin Fowler
- Trisha Gee: Developers Should Invest More Time Into Learning Their Tools (podcast) – lucky you, I’m in two podcasts this month!
- Up with cohesion, down with coupling
-
Comment Only What the Code Cannot Say – another excellent piece by Kevlin Henney
-
How is it going? – “What is worth mentioning (or not) when meeting? How can you demonstrate you are still in control while being able to expose problems and get help?”
And Finally
A chance to catch up on the other IntelliJ IDEA videos and blog posts from this month. Mala and I have been working hard on creating a lot of new screencasts showcasing IntelliJ IDEA features, check them out!
- IntelliJ IDEA 2020.1 is out!
- What’s New for Java Developers in IntelliJ IDEA 2020.1 (video)
- Oh and IntelliJ IDEA 2020.1.1 is available too!
- 5 Reasons You’ll ❤️Using Micronaut and IntelliJ IDEA to Boost Your Productivity
-
Tips for Writing Code in IntelliJ IDEA – video and blog
-
Tutorial: Your First Java Application – video, tutorial, and blog of tips
-
IntelliJ IDEA. Code Completion (video)
#IntelliJTopShortcut: ⇧⌘⏎ or Shift+Ctrl+Enter. “Complete Statement” sometimes just adds a semi-colon to the line. It can be used to create the outline of for loops or if statements. It moves the cursor to the next place we’ll need it#TheDriveToDevelophttps://t.co/UEYle01RnY pic.twitter.com/HDTSySysqM
— IntelliJ IDEA (@intellijidea) May 5, 2020
We are hiring! I’m currently interviewing candidates for the Java/JVM Developer Advocate role in my team but it’s not too late to apply. I’m interested in talking to developers who are thinking of switching into an advocacy career, i.e. you don’t need to be an experienced speaker/blogger to apply. Want to work in a fully remote, remote-first team? That’s us!
If you have any interesting or useful Java / JVM news to share via Java Annotated Monthly, leave a comment or drop me a message via Twitter.