AI-Assisted Java Development: An 18-Part Series

I’m writing a series on what it actually takes to use AI well in Java development. Not the hype version. The engineering version. This series covers the full arc: how AI is changing the economics of software work, how it reshapes workflows and prompting, how to design agents and evaluate them properly, and how to … Read more

Homecoming Chronicles: Navigating Parenting, Flights, and New Beginnings

Toronto usually blanketed in snow,  hasn’t seen much this winter yet—El Nino effect. I was a bit surprised as well. Amidst this, I realized it’s been ages since my last newsletter.  A lot of events unfolded in the interim. The biggest thing? I went back to my homeland with my little baby girl, who is … Read more

Turning Over a New Leaf: Java Updates and Journeys as Summer Ends

Another month has flown by, leaving me amazed at how swiftly time passes. Initially, it seemed like an uneventful period, but upon reflection, I realize that’s not entirely true. Primarily, my focus has been on spending quality time with my 7-month-old daughter, who has been increasingly observant and expressive. Sometimes, the joy of fatherhood supersedes … Read more

The Java Landscape: A Month with Vaadin, OpenJDK Insights, and Java Enhancements

Dear Readers, August has arrived a bit early for me, and I find myself reflecting on a month that slipped away in a flurry of activity.  This unexpected pace resulted in my missing the chance to write last month’s newsletter. However, I’m making amends by writing this month’s edition early. Last week, a spark of inspiration … Read more

Code, Conferences, and the Swiss Alps: A Monthly Roundup

Apologies for the slight delay in delivering this month’s newsletter. The breathtaking allure of the Swiss Alps can make one lose track of time, and that’s precisely what happened to me last week during my travels. I had the honour of being a speaker at JCon 2023, a conference held in Cologne, Germany. The event was … Read more

Weekly Java Newsletter – Issue #4

Hi there,

I hope you had a wonderful weekend. This week was quite hectic, as usual. I gave a presentation on Project Loom to the Garden State Java User Group last week, and a similar talk is forthcoming for PhillyJUG. That’s why this week, I concentrated on currency-related articles.

Have fun reading them.

  1. Concurrency: Concurrency is an integral component of modern programming. Therefore, if we wish to be well-rounded engineers, an understanding of concurrency is crucial. Certainly, we wish to delve deeply into it, but if you are a beginner, you should take baby steps. This article provides a fundamental yet essential introduction to Java concurrency.
  2. Java Thread Programming (Part 1) | Foojay.io Today: Well, this is comparable to the above beginner threading series that I started on Fooja.io. If you are interested, please have a look and provide feedback while I continue to work on it.
  3. Concurrency in modern programming languages: Java | Technorage : This article is a part of a series where the author tries to compare the concurrency model with other programming models through benchmarking. A good read.
  4. Avoid multithreading bugs by using immutable Java records: Java concurrency works on top of the shared-memory model. Although this simplifies programming, it has side effects. It creates data races, race conditions, etc. One of the ways to deal with such a problem is to use an immutable data structure. This article explains how Java Records can help with immutability. By the way, Java Records are an essential and relatively recent addition to the Java programming language.
  5. Jakarta Concurrency: Present and Future: Jakarta EE is one of the areas of my interest. In this article, the author discusses the Concurrency Specification, it’s present and future under the umbrella of Jakarta EE. Give a read if that interests you.
  6. 5 Things You Probably Didn’t Know About Java Concurrency: If you are just beginning to learn about concurrency, or if you are a beginner or intermediate Java developer, you may find this article intriguing, as some of the concepts I present in it may be unfamiliar to you. Please let me know if this is the case.
  7. JEP 425: Using Java Virtual Threads to Deliver Improved Throughput: The virtual thread is, in fact, the next big thing in Java concurrency. It intends to revolutionize how we write concurrency code in the future. This aims to drastically reduce the effort required to write, manage, and observe high-throughput concurrent Java applications. I’m rather certain you already know about this, but in case you don’t, perhaps you should read on.
  8. JEP 428: Structured Concurrency to Simplify Java Multithreaded Programming: This is the second-best thing, in my opinion, on the Java platform to come. This aims to simplify multithreaded programming by introducing a library to treat multiple tasks running on different threads as an atomic operation. As a result, it will streamline error handling and cancellation, improve reliability, and enhance observability.
  9. Launching 10 million virtual threads with loom – Jep café #12 – Inside.java: Who doesn’t love demo? I certainly do. This brief YouTube video provides a live demonstration of the Java virtual threads included in JDK 19, and a peek at Project Loom. Have a look at it. I hope you’ll enjoy it.
  10. Project Loom and Thread Fairness: There is a lot of excitement about Project Loom. Having virtual threads, we will now be able to write blocking code confidently, aiming for higher throughput easily. However, although virtual threads are champions at blocking code, they are a terrible idea when we execute CPU-intensive work on them. This article discusses this issue, and I find it worth reading if you are interested in virtual threads.

Bonus:

Why should you read Staff Engineer: leadership beyond the management track: There is a track you could consider called the StuffPlus engineering path if you are a senior software engineer who is not yet prepared to enter management. I’m personally exploring this option.

That’s all for today!

Did you find the content valuable? Feel free to contribute by reaching out to me if you want to add or share your thoughts at @bazlur_rahman

Weekly Java Newsletter – Issue #3

Hi there, I hope you are doing great—Eid Mubarak. In case you are unaware, it means a blessed festival. We, Muslims, celebrate two major festivals, Eid-ul-Adha being one of them. It was on last Saturday. On this occasion, some of us who are capable financially go to perform the Hajj, a pilgrimage to Mecca, and … Read more

Weekly Java Newsletter – Issue #2

Hi there! I hope you are doing great and done with your morning coffee ☕ well, if this happens to be morning for you. If not, that’s okay too. You can always have another cup. After all, we are all Java developers here. This week I have read some great Java content. Of course, it … Read more