<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: edburns</title>
    <description>The latest articles on DEV Community by edburns (@edburns).</description>
    <link>https://dev.to/edburns</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F313208%2F43a30c1f-d2c3-46f5-84db-0c2418fe9d31.jpg</url>
      <title>DEV Community: edburns</title>
      <link>https://dev.to/edburns</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/edburns"/>
    <language>en</language>
    <item>
      <title>How well did Jakarta EE 11 respond to the needs of developers?</title>
      <dc:creator>edburns</dc:creator>
      <pubDate>Thu, 26 Sep 2024 21:20:57 +0000</pubDate>
      <link>https://dev.to/edburns/how-well-did-jakarta-ee-11-respond-to-the-needs-of-developers-1824</link>
      <guid>https://dev.to/edburns/how-well-did-jakarta-ee-11-respond-to-the-needs-of-developers-1824</guid>
      <description>&lt;p&gt;Crossposted on &lt;a href="https://www.ridingthecrest.com/blog/2024/09/23/jakarta-ee-11-incorporating-feedback.html" rel="noopener noreferrer"&gt;Ed Burns Blog&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Executive Summary
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://jakarta.ee/committees/steering/" rel="noopener noreferrer"&gt;Jakarta Steering Committee&lt;/a&gt; chartered the &lt;a href="https://jakartaee.github.io/platform/" rel="noopener noreferrer"&gt;Jakarta EE Platform project&lt;/a&gt; with the goal of incorporating developer feedback in the development of EE 11. This blog post reviews the performance of the Platform Project and awards a &lt;a href="https://gpacalculator.io/how-to-calculate-gpa/" rel="noopener noreferrer"&gt;GPA&lt;/a&gt; of 3.43 on a 4 point scale of achieving this goal. &lt;/p&gt;

&lt;h3&gt;
  
  
  Introduction
&lt;/h3&gt;

&lt;p&gt;I am humbled and honored to find myself in a position of helping to deliver the next iteration of Jakarta EE. I've held many roles in J2EE/Java EE/Jakarta EE over the decades: implementer, spec lead, advocate, author, tester, and more. My current role, however, is a new one for me release co-coordinator.&lt;/p&gt;

&lt;p&gt;In this role, I co-lead (along with Arjan Tijms) the Jakarta EE Platform project, which is responsible for delivering the finished Jakarta EE specification (and component specifications), the corresponding TCK, and at least on ratifying compatible implementation for all of the specifications. Importantly, there need not be one single monolithic implementation that satisfies all the component TCKs at the same time, but there must be one single monolithic implementation that passes the Platform TCK.&lt;/p&gt;

&lt;p&gt;In the spirit of transparency that I was fortunate enough to start over &lt;a href="https://www.ridingthecrest.com/blog/2004/06/28/welcome-javaserver-tm-faces-implementation-project.html" rel="noopener noreferrer"&gt;two decades ago&lt;/a&gt;, this blog post examines how well the &lt;a href="https://jakartaee.github.io/platform/" rel="noopener noreferrer"&gt;Jakarta EE Platform project&lt;/a&gt; did during EE 11 in meeting one of the goals set for the Platform project by the &lt;a href="https://jakarta.ee/committees/steering/" rel="noopener noreferrer"&gt;Steering Committee&lt;/a&gt;: incorporate developer feedback.&lt;/p&gt;

&lt;h3&gt;
  
  
  Underpromise and overdeliver
&lt;/h3&gt;

&lt;p&gt;Institutional memory is the way groups of humans learn from mistakes and avoid repeating them. By that definition, I hope we can all agree that institutional memory is important and worth preserving. Because software is &lt;a href="https://www.routledge.com/The-Laws-of-Software-Process-A-New-Model-for-the-Production-and-Management-of-Software/Armour/p/book/9780849314896" rel="noopener noreferrer"&gt;executable knowledge&lt;/a&gt;, a very long running open-source software project is a special kind of institutional memory. A project that is a long running ecosystem of long running open-source projects is pretty much the pinnacle of special. With all that specialness in mind, what does it mean to incorporate developer feedback?&lt;/p&gt;

&lt;p&gt;It is far easier to show responsiveness to developer feedback when the possible costs of a committing a mistake are contained within a single project. In light of the high possible costs, the Jakarta EE 11 platform project was intentionally modest with our goals for incorporating developer feedback. This is our implementation of the tried and true strategy of "underpromise and overdeliver".&lt;/p&gt;

&lt;p&gt;Leading up to Jakarta EE 11, we conducted an open community discussion on requirements for Jakarta EE 11 and captured them in this &lt;a href="https://docs.google.com/document/d/1m-dkvbL0iFFzitO4vt1SVq6GGSJyFdCDM2NU_FzGS10/edit#heading=h.il1isyaqw4eb" rel="noopener noreferrer"&gt;Jakarta EE 11 Discussion&lt;/a&gt; document. Let’s review the community input we received, which was primarily developer-driven, and see how we did in EE11.&lt;/p&gt;

&lt;h3&gt;
  
  
  Underpromise
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Jakarta Data&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jakarta NoSQL&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adopt Java SE 11, 17, 21 new features and Breaking Changes&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Virtual Threads&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;TCK Refactoring&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;CDI Centric&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CDI replacing managed beans&lt;/li&gt;
&lt;li&gt;CDI repleacing EJB&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Resolve redundant HTTP stacks: Servlet and REST&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;MicroProfile and Jakarta Alignment&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;CORS support&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Jakarta Config&lt;/p&gt;&lt;/li&gt;

&lt;li&gt;&lt;p&gt;Make it easier to migrate from one vendor to another&lt;/p&gt;&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Mixed delivery
&lt;/h3&gt;

&lt;p&gt;I'm going to group the delivery in four buckets: over-delivered, delivered, somewhat delivered, did not deliver.&lt;/p&gt;

&lt;h4&gt;
  
  
  Over-delivered
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Jakarta Persistence - programmatic configuration instead of persistence.xml and a lot more &lt;a href="https://gavinking.substack.com/p/a-summary-of-jakarta-persistence" rel="noopener noreferrer"&gt;Gavin King blog post&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Jakarta Security - dynamically choose an authentication mechanism &lt;a href="https://github.com/jakartaee/security/issues/311" rel="noopener noreferrer"&gt;security-311&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Delivered
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Jakarta Data&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Yes, this new specification is present in the platform.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Adopt Java SE 11, 17, 21 new features and Breaking Changes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Yes, there are numerous specs that take advantage of new language features from 11 - 21.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;TCK Refactoring (we will deliver this. We're holding the release for it).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The Jakarta EE Platform TCK is a vital software component for delivering the value proposition of IT investment stability on the scale of decades. The software of the TCK has been accruing technical debt due to lack of maintenance investment. In Jakarta EE 11 we are bringing the TCK up to date with the state of the art of testing tools. This investment will enable better compatibility testing and lower the barrier to adding more tests as the Jakarta EE platform evolves.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;API Flexibility, i.e. no more Umbrella JARs.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No more questions like "do I have to wait for Jakarta EE xx" to have this feature?&lt;/li&gt;
&lt;li&gt;Jakarta EE Platform APIs are now just a collection of default APIs.&lt;/li&gt;
&lt;li&gt;Individual specs can be excluded or upgraded by the users as they wish,&lt;/li&gt;
&lt;li&gt;New specs can be added as well.&lt;/li&gt;
&lt;li&gt;This makes Jakarta EE platform as flexible as Spring Boot, but without having the implementation baggage in your application, the best of both worlds!&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Somewhat delivered
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Virtual Threads&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The concurrency specification has rigorously specified annotation attribute that requires implementations to take advantage of virtual threads if it is available in the runtime. If you're running on Java 21 or higher, you get virtual threads when you use the annotation attribute. If you're running on 17, you don't.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;CDI Centric&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;CDI replacing managed beans.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We did 

&lt;ul&gt;
&lt;li&gt;remove the &lt;code&gt;@ManagedBean&lt;/code&gt; annotation.&lt;/li&gt;
&lt;li&gt;Move the "integration" parts of CDI from the CDI spec to the platform spec.&lt;/li&gt;
&lt;li&gt;Jakarta Concurrency adds scheduling to the &lt;code&gt;@Asynchronous&lt;/code&gt; annotation to replace the &lt;code&gt;@Scheduled&lt;/code&gt; annotation on EJBs &lt;a href="https://github.com/jakartaee/concurrency/pull/271" rel="noopener noreferrer"&gt;concurrency-271&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Injecting Concurrency resources into CDI beans instead of using &lt;code&gt;@Resource&lt;/code&gt; in an EJB &lt;a href="https://github.com/jakartaee/concurrency/pull/348" rel="noopener noreferrer"&gt;concurrency-348&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Removed managed beans support in Jakarta REST.&lt;/li&gt;
&lt;li&gt;Qualifiers for persistence units in Persistence - allow injecting persistence context in a CDI-idiomatic way.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;New Java features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;records as embeddables and IDs in Jakarta Persistence.&lt;/li&gt;
&lt;li&gt;records in Expression Language.&lt;/li&gt;
&lt;li&gt;records in Validation (formerly Bean Validation) &lt;a href="https://github.com/jakartaee/validation-spec/pull/275" rel="noopener noreferrer"&gt;validation-275&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Flow API in Concurrency &lt;a href="https://github.com/jakartaee/concurrency/pull/368" rel="noopener noreferrer"&gt;concurreny-368&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;MicroProfile and Jakarta Alignment&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We did

&lt;ul&gt;
&lt;li&gt;Create the Jakarta Security MicroProfile Security bridge spec.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;/li&gt;

&lt;/ul&gt;

&lt;h4&gt;
  
  
  Did not deliver
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Jakarta NoSQL&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This did not pass the ballot at the beginning of the EE 11 development cycle. In my opinion, the reasons were non-technical, and therefore can be resolved for EE 12.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Resolve redundant HTTP stacks: Servlet and REST&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This is a very big one. In my opinion, it would take a major vendor standing behind this idea and dedicating significant resources to make it happen, likely with donating work to competitors so they could also do the same.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;CORS support&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This one did not even emerge on my radar.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Jakarta Config&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This one seems to be stuck in a "MicroProfile Config is good enough", and thus is falling between the cracks. I think we'd have to convince the MicroProfile project to allow this to move from MicroProfile to the Jakarta EE Core Profile specification.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;p&gt;Make it easier to migrate from one vendor to another&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This one is antithetical to the business interests of each vendor, so I don't see this one getting much attention.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;

&lt;p&gt;Let's get quantitative. For each item in the &lt;strong&gt;Underpromise&lt;/strong&gt; list, I'll give us a letter grade. A for over-delivered or delivered, B for somewhat delivered, D for did not deliver.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;Feedback to incorporate&lt;/td&gt;
      &lt;td&gt;Grade&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
  &lt;tfoot&gt;
    &lt;tr&gt;
      &lt;td&gt;Jakarta Data&lt;/td&gt;
      &lt;td&gt;A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Jakarta NoSQL&lt;/td&gt;
      &lt;td&gt;D&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Adopt Java SE 11, 17, 21 new features and Breaking Changes&lt;/td&gt;
      &lt;td&gt;A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Virtual Threads&lt;/td&gt;
      &lt;td&gt;A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;TCK Refactoring&lt;/td&gt;
      &lt;td&gt;A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;CDI Centric&lt;/td&gt;
      &lt;td&gt;A&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Resolve redundant HTTP stacks: Servlet and REST&lt;/td&gt;
      &lt;td&gt;D&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;MicroProfile and Jakarta Alignment&lt;/td&gt;
      &lt;td&gt;B&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;CORS support&lt;/td&gt;
      &lt;td&gt;D&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Jakarta Config&lt;/td&gt;
      &lt;td&gt;D&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;Make it easier to migrate from one vendor to another&lt;/td&gt;
      &lt;td&gt;D&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tfoot&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;With this list, we only scored a 2.54 GPA. Not so great. If we strike from the list the developer feedback requests that I judge are not realistic to include (CORS, Redundant HTTP stacks, Jakarta Config, Make it easier to migrate from one vendor to another), we get a better grade: 3.43. Not bad, but we have room to grow.&lt;/p&gt;

</description>
      <category>java</category>
      <category>jakarta</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Ed's JavaLand 2024 Session Picks</title>
      <dc:creator>edburns</dc:creator>
      <pubDate>Wed, 06 Mar 2024 17:35:52 +0000</pubDate>
      <link>https://dev.to/edburns/eds-javaland-2024-session-picks-23cd</link>
      <guid>https://dev.to/edburns/eds-javaland-2024-session-picks-23cd</guid>
      <description>&lt;p&gt;Cross posted at &lt;a href="https://www.ridingthecrest.com/blog/2024/03/02/javaland-2024-picks.html"&gt;ridingthecrest.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I'm very blessed to have the opportunity to speak at the 10th anniversary JavaLand conference. It will be very different to not be at PhantasiaLand this year, but I am so fortunate to have been there all the previous years. It's just as well since I was starting to not be able to handle the Black Mamba roller coaster anymore.  Also, I'm hoping it takes less time to walk between sessions at this &lt;a href="https://thevendry.com/venue/197499/nurburgring-nurburg-germany"&gt;new venue&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Since this is the tenth anniversary of JavaLand, and I have had the extreme good fortune at presenting at every one of them, I dug up the links of all my previous session picks posts. See how far we've come together!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.ridingthecrest.com/blog/2022/02/15/javaland-2022-picks.html"&gt;2022&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ridingthecrest.com/blog/2019/03/11/javaland-2019-picks.html"&gt;2019&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ridingthecrest.com/blog/2018/03/12/javaland-holly-cummins.html"&gt;2018&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ridingthecrest.com/blog/2017/02/27/javaland-2017-picks.html"&gt;2017&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ridingthecrest.com/blog/2015/01/15/javaland-2015-conference-picks.html"&gt;2015&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.ridingthecrest.com/blog/2014/03/03/eds-javaland-2014-picks.html"&gt;2014&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All times in local time zone in JavaLand.  See &lt;a href="https://www.javaland.eu/de/programm/"&gt;the program&lt;/a&gt; for more details on each session.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tuesday, 09 April 2024
&lt;/h3&gt;

&lt;h4&gt;
  
  
  08:30 - 09:40 ring°academy REST vs. gRPC
&lt;/h4&gt;

&lt;p&gt;The first slot before Fried's famous Begrüßung is unenviable, from a speaker's perspective, but there were some great ones. I chose the REST vs gRPC talk from &lt;a href="https://www.linkedin.com/in/sebastian-tiemann-467206263/?originalSubdomain=de"&gt;Sebastian Tiemann&lt;/a&gt;. It looks hard core technical. Both REST and gRPC are venerable ancient technologies at this point, so it's amazing how absolutely essential they still are. Let's see what Sebastian has to say.&lt;/p&gt;

&lt;h4&gt;
  
  
  09:30 - 10:40 ring°arena Fried Begrüßung and opening Keynote
&lt;/h4&gt;

&lt;p&gt;I'm sure Fried will pull out all the stops for the 10th anniversary of JavaLand. The actual keynote looks great too. I don't know &lt;a href="https://www.linkedin.com/in/shelley-lambert-6120961/?originalSubdomain=ca"&gt;Shelly Lambert&lt;/a&gt;, but the philosophy of being self-aware and focusing on improvement is very good to learn and apply.&lt;/p&gt;

&lt;h4&gt;
  
  
  11:00 - 11:40 ring°arena Modern Java in Action
&lt;/h4&gt;

&lt;p&gt;When I spoke of the great job that advocates are doing in my &lt;a href="https://www.heise.de/hintergrund/Ed-Burns-Java-kann-jede-andere-aktuelle-Sprache-in-den-Schatten-stellen-9636703.html"&gt;pre-conference interview on Heise.de&lt;/a&gt;, &lt;a href="https://twitter.com/nipafx"&gt;Nicolai Parlog&lt;/a&gt;, was one of the ones I had in mind. It's so important to show only the bits of Java that represent current recommended usage, and gloss over, or even omit entirely the parts that still remain for backward compatibility rather than being correct to continue to use. I'm confident Nicolai will do this.&lt;/p&gt;

&lt;h4&gt;
  
  
  12:00 - 12:40 Bitburger Event-Center Teil B Prepare for Jakarta EE 11
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--h2VjeHV2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.ridingthecrest.com/blog/assets/20240302-bitburburger-edburns.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--h2VjeHV2--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://www.ridingthecrest.com/blog/assets/20240302-bitburburger-edburns.jpg" alt="Author enjoying Bitburger 0.0" width="800" height="640"&gt;&lt;/a&gt; As a longtime fan of Das gute Bitburger Pils, I'm excited that my first of three back-to-back talks on Tuesday is in the Bitburger Event Center. I'm confident that part B is the best part.&lt;/p&gt;

&lt;p&gt;My talk is Prepare for Jakarta EE 11. I am giving this talk on behalf of &lt;a href="https://twitter.com/ivar_grimstad"&gt;Ivar Grimstad&lt;/a&gt; due to Ivar being at the very poorly scheduled, from a JavaLand attendee's perspective, &lt;a href="https://devnexus.org/"&gt;DevNexus&lt;/a&gt;. However, I'm well qualified to give the talk because I'm the &lt;a href="https://projects.eclipse.org/content/project-lead-election-edward-burns-jakarta-ee-platform"&gt;release co-coordinator for Jakarta EE 11&lt;/a&gt;. Come to this talk to hear what's new in the very soon-to-be-released Jakarta EE 11.&lt;/p&gt;

&lt;p&gt;If I wasn't giving a talk in this timeslot, I'd attend visit &lt;strong&gt;Nürburgring Hotel Grid 1 - 3&lt;/strong&gt; for "The (Unknown) Nifty Details of Maven Plugin Configuration" by &lt;a href="https://twitter.com/khmarbaise"&gt;Karl Heinz Marbaise&lt;/a&gt;. Maven plugins are super powerful, and usable in both Maven and Gradle. But how much do you know about getting the most from the plugins you use? This talk has the answers.&lt;/p&gt;

&lt;h4&gt;
  
  
  13:00 - 14:30 Nürburgring Hotel Grid 4 Ist meine Java-Anwendung bereit für ide Cloud? Wass kann ich wie migrieren?
&lt;/h4&gt;

&lt;p&gt;I'm delighted to have the opportunity to present this session with my colleague and longtime collaborator &lt;a href="https://twitter.com/skriemhild"&gt;Sandra Ahlgrimm&lt;/a&gt;. In this new-to-JavaLand format 80-minute session. We'll cover how to get your Jakarta EE application into the cloud, on App Service, Container Apps, AKS, ARO, and VMs.&lt;/p&gt;

&lt;p&gt;If I wasn't giving a talk in this timeslot, I'd visit &lt;strong&gt;ring°arena&lt;/strong&gt; to attend Der Mensch in Mittlepunkt: Moderne Developer Experience im Enterprise-Context, by &lt;a href="https://www.f-i.de/Ueber-uns/mehralsTech/TeamFI/People-Stories/Nico-Enking"&gt;Nico Enking&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/jan-christoph-schlieker/?originalSubdomain=de"&gt;Jan-Christoph Schlieker&lt;/a&gt;. This session looks like it will introduce the role of a developer experience curator in the context of enterprise software development. This role seems like it can really help increase the success of software projects.&lt;/p&gt;

&lt;p&gt;Due to the 80-minute format of my session, there's time for another if you don't want to attend it. In this case, I'd recommend Philosophy4Devs by &lt;a href="https://twitter.com/ruezd"&gt;Rüdiger zu Dohna&lt;/a&gt;. Do any readers remember famous fluff talker &lt;a href="https://twitter.com/tedneward"&gt;Ted Neward&lt;/a&gt;? I recall Ted was very proud of his philosophy background. Considering how well he's done for himself, you may want to check out this talk.&lt;/p&gt;

&lt;h4&gt;
  
  
  15:00 - 15:40 ring°kino Pair Programming with GitHub Copilot
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://twitter.com/fbascheper"&gt;Frederieke Scheper&lt;/a&gt; promises to show us how well GitHub Copilot delivers on its promise to let you "focus on solving bigger problems by spending less time creating boilerplate and repetitive code." I've used it myself, and I can say it does pretty well at that, for many classes of problem. Also, no slides. Venkat style!&lt;/p&gt;

&lt;h4&gt;
  
  
  15:00 - 16:40 media°center Continuous Integration and Continuous Delivery (CI/CD) for Jakarta EE Applications or Nürburgring Hotel Grid 1 - 3 Going AOT: Everything you need to know about GraalVM for Java Applications
&lt;/h4&gt;

&lt;p&gt;This slot conflicts with my 16:00 talk "Developer Career Masterplan", but if I wasn't giving that talk, I'd absolutely go to one of these two.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Continuous Integration and Continuous Delivery (CI/CD) for Jakarta EE Applications&lt;/li&gt;
&lt;li&gt;Going AOT: Everything you need to know about GraalVM for Java Applications&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The CI/CD one from Jakarta EE expert &lt;a href="https://www.udemy.com/user/salmankhan"&gt;Luqman Saeed&lt;/a&gt;. In the nineteen years since the introduction of Hudson, CI/CD has gone from being the sign of a mature software development shop to an absolutely must-have way that work is done. Even so, it's still not easy to perform at scale. This talk promises to show how to do it with Jakarta EE applications.&lt;/p&gt;

&lt;p&gt;The GraalVM one from &lt;a href="https://twitter.com/alina_yurenko"&gt;Alina Yurenko&lt;/a&gt; is a hot topic and Alina is a great and very experienced speaker. I like how Alina will focus on the production aspects. If I was attending, I'd be keen to ask about Project Leyden and other aspects of how one handles debugging of a native Java app.&lt;/p&gt;

&lt;h4&gt;
  
  
  16:00 - 16:40 ring°arena Developer Career Masterplan: Build your path to senior level and beyond
&lt;/h4&gt;

&lt;p&gt;Way back in 2008, I wrote a book where I interviewed a bunch of successful programmers and asked them all about their professional journey. My pals Heather and Bruno have taken a similar approach but supplemented it with their own insights. I had the honor of being on the other side of the microphone for this new book. After having read it, I can say it's a great read. If you want to see what it's about, come to this talk.&lt;/p&gt;

&lt;p&gt;If I wasn't giving a talk at this time, I'd visit &lt;strong&gt;ring°academy&lt;/strong&gt; to attend NEWCOMER: C4 - Documentation to blow (up) your mind! The talk will introduce the C4 model for documentation. I'd love to see what "diagrams as code" is all about. I've seen the promise of similar systems since the late 1990s, but so far none of them have really had a lasting impact. Maybe this time it's different.&lt;/p&gt;

&lt;h4&gt;
  
  
  17:00 - 17:40 Bitburger Event-Center Teil B Was Jeder Java-Entwickler über Strings wissen Sollte
&lt;/h4&gt;

&lt;p&gt;Strings? In 2024? You bet! The humble String class is so ubiquitous yet has seen so many evolutions (especially for a final class) over the years it's worth a whole session. Also, this supports my point with Nicolai Parlog's session above. Yes, Java is old, but it is also getting better all the time. With this session from JSF Expert Group alumnus &lt;a href="https://www.ostfalia.de/cms/de/pws/bernd-mueller/index.html"&gt;Bernd Müller&lt;/a&gt; you can see how this applies to String.&lt;/p&gt;

&lt;h4&gt;
  
  
  18:00 - 18:40 ring°academy NEWCOMER: AI Ethics in Software Engineering
&lt;/h4&gt;

&lt;p&gt;After observing firsthand some of the impact of the roll out of GitHub copilot on secondary school computer science education, I'm keenly interested in this topic. &lt;a href="https://www.linkedin.com/in/moritz-schmidt-3a3131221/?originalSubdomain=de"&gt;Moritz Schmidt&lt;/a&gt; will explore the hoary topic of the ethical impact of AI.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wednesday, 10 April 2024
&lt;/h3&gt;

&lt;h4&gt;
  
  
  09:00 - 09:40 ring°kino Don't be afraid of the final boss: Explain ideas for improvement to management
&lt;/h4&gt;

&lt;p&gt;Don't miss this one. This touches on a topic I addressed on &lt;a href="https://www.ridingthecrest.com/blog/2019/04/21/tdc-floripa-career-tips-from-someone-who-knows-a-lot-of-rockstar-programmers.2019.html"&gt;2019-04-21&lt;/a&gt;: "Communicating your value add". That post was about communicating your value add as an individual contributor.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Working for big companies such as IBM, SGI, Sun, and Oracle, I’ve had the chance to sample many useful corporate trainings. Even the most mundane of these, such as “Insider Trading”, offer at least one nugget of novelty. The corporate training I want to talk about here is one I took at Sun at least twelve years ago. It was called “Communicating Your Value Add” and it was all about how to articulate your contribution to your company at performance review time. The class included a handout, “Behavior/Performance-Based Questions” whose complete text I reproduce below. For discussion and reference, let’s call this perf_handout.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This session from &lt;a href="https://www.linkedin.com/in/cn-seifert/?originalSubdomain=de"&gt;Christian Seifert&lt;/a&gt; shows how to do that for your entire team. Put the two together and you have a powerful technique for showing your contribution to the bottom line. Such efforts make it more painful for them to lay you off, and also make it easier for you to get a better job someplace else, should that be appropriate.&lt;/p&gt;

&lt;h4&gt;
  
  
  10:00 - 10:40 Nürburgring Hotel Grid 1 - 3 Improving your skills with the debugger
&lt;/h4&gt;

&lt;p&gt;The program committee did a great job this year. With Bernd's Strings talk and this one from &lt;a href="https://sessionize.com/bouke-nijhuis"&gt;Bourke Nijhuis&lt;/a&gt;, you really get some much needed fundamentals. Even if you are late-in-career like I am, continually reinforcing fundamentals is very important. &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YprTIIYJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://www.ridingthecrest.com/blog/assets/20240306-fundamentals.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YprTIIYJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_800/https://www.ridingthecrest.com/blog/assets/20240306-fundamentals.gif" alt="Spring training fundamentals" width="268" height="190"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  11:00 - 11:40 ring°arena Die unsichtbare Hand im Code
&lt;/h4&gt;

&lt;p&gt;Of course &lt;a href="https://twitter.com/hendrikEbbers"&gt;Hendrik Ebbers&lt;/a&gt; and &lt;a href="https://twitter.com/SandraParsick"&gt;Sandra Parsick&lt;/a&gt; will do an amazing job with the community keynote. I don't know how they are going to follow-up &lt;a href="https://www.doag.org/de/home/news/javaland-2023-community-keynote-teilt-eure-geschichte/"&gt;last year's impactful installment&lt;/a&gt;, which dealt with some weighty topics. As an insider at one of these IT-Giganten, I'll be curious to see what they think is really happening inside our "Geheime Räte" (hint, at least for my employer, it is always customer obsession).&lt;/p&gt;

&lt;h4&gt;
  
  
  12:00 - 12:40 Coca-Cola business°lounge A fun and absurd introduction to Vector Databases
&lt;/h4&gt;

&lt;p&gt;My day job is mostly about the prosaic, but critical revenue and generating legacy Java apps. It's far away from new stuff like Vector Databases. As such, I need to expend extra effort to stay up on such things. This talk from &lt;a href="https://www.crunchbase.com/person/alexander-chatzizacharias"&gt;Alexander Chatzizacharias&lt;/a&gt; is a great and time-efficient way to make me smarter about it.&lt;/p&gt;

&lt;h4&gt;
  
  
  13:00 - 13:40 Bitburger Event-Center Teil B Pimp your Jakarta EE Applications
&lt;/h4&gt;

&lt;p&gt;I view this talk as an essential supplement to my 12:00 - 12:40 Tuesday talk. &lt;a href="https://twitter.com/dirkweil"&gt;Dirk Weil&lt;/a&gt; looks like he's going to cover lots of great stuff, including migration with OpenRewrite. I hope my booth duty schedule permits me to attend.&lt;/p&gt;

&lt;h4&gt;
  
  
  14:00 - 14:40 ring°arena Prompt-Engineering für Entwickler
&lt;/h4&gt;

&lt;p&gt;When I first started using GPT for serious work questions, I thought the phrase "prompt engineering" was far too grand a term for what I was doing. However, after working more and more with it, I realize there is a skill to it, and it pays to develop the skill. Check out this talk from my old pal &lt;a href="https://twitter.com/RalfDMueller"&gt;Ralf Müller&lt;/a&gt; and become a prompt engineering pro.&lt;/p&gt;

&lt;h4&gt;
  
  
  15:00 - 15:40 Bitburger Event-Center Teil B Learn Pattern Matching Through Puzzlers
&lt;/h4&gt;

&lt;p&gt;This session from my old pal and JSF Expert Group alumnus &lt;a href="https://twitter.com/cayhorstmann"&gt;Cay Horstmann&lt;/a&gt; covers yet another amazing fundamental programming language technology brought to Java developers. I'm pretty sure &lt;a href="https://twitter.com/nipafx"&gt;Nicolai Parlog&lt;/a&gt; will have touched on it in his session on Tuesday, but Cay, as a professional educator, will give you a deep understanding of this powerful, yet tricky to use, feature.&lt;/p&gt;

&lt;h4&gt;
  
  
  16:00 - 16:40 Bitburger Event-Center Teil B IfC -- Infrastructure FROM code
&lt;/h4&gt;

&lt;p&gt;A lot of my job at Microsoft is working with Azure's Infrastructure As Code (IaC) technology, Bicep. This second session from &lt;a href="https://twitter.com/ruezd"&gt;Rüdiger zu Dohna&lt;/a&gt; promises to leverage that concept even further. Historically, I've noticed that techniques which build on top of powerful abstractions can really increase productivity. IaC is definitely a very powerful abstraction, so I want to see what this one's about.&lt;/p&gt;

&lt;h4&gt;
  
  
  17:00 - 17:40 ring°arena Open-Source Contribution - Why is it worth the hassle?
&lt;/h4&gt;

&lt;p&gt;My lived experience, and the experience of the authors and experts behind Heather and Bruno's book, testify that it's worth the hassle. If you needed any more evidence, come to this session from &lt;a href="https://www.payara.fish/teamblog/author/dominika/"&gt;Dominika Tarsarz-Sochacka&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thursday, 11 April 2024
&lt;/h3&gt;

&lt;h4&gt;
  
  
  09:00 - 17:00 Nürburgring Hotel Grid 3 Automated Code Refactoring with OpenRewrite
&lt;/h4&gt;

&lt;p&gt;I've seen lots of customers asking about the kind of thing being addressed in this full day workshop from &lt;a href="https://www.linkedin.com/in/sebastian-konieczek/?originalSubdomain=de"&gt;Sebastian Konieczek&lt;/a&gt;. The OpenRewrite framework, from &lt;a href="https://moderne.io/"&gt;Moderne&lt;/a&gt; (formerly of Netflix) is a powerful idea worth learning about.&lt;/p&gt;

</description>
      <category>java</category>
      <category>conference</category>
    </item>
    <item>
      <title>How to Check if Something in Azure Marketplace is Available in Azure Stack</title>
      <dc:creator>edburns</dc:creator>
      <pubDate>Fri, 10 Jan 2020 01:02:04 +0000</pubDate>
      <link>https://dev.to/edburns/how-to-check-if-something-in-azure-marketplace-is-available-in-azure-stack-1ip9</link>
      <guid>https://dev.to/edburns/how-to-check-if-something-in-azure-marketplace-is-available-in-azure-stack-1ip9</guid>
      <description>&lt;p&gt;I was recently asked if the &lt;a href="https://devblogs.microsoft.com/java/java-ee-on-azure-with-weblogic-and-linux-virtual-machines/"&gt;WebLogic on Azure Virtual Machines&lt;/a&gt; in Azure Marketplace Offers were available on &lt;a href="https://azure.microsoft.com/en-us/overview/azure-stack/"&gt;Azure Stack&lt;/a&gt;.  I was told the best way to discover this was to look at &lt;a href="https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-marketplace-azure-items?view=azs-1910"&gt;Azure Marketplace items available for Azure Stack&lt;/a&gt;.  Apparently this page is updated via syndication from Azure Marketplace, but I don't know exactly how.&lt;/p&gt;

&lt;p&gt;To answer the question: as of this writing, no, the offers are not available in Azure Stack.&lt;/p&gt;

</description>
      <category>azure</category>
      <category>java</category>
      <category>weblogic</category>
      <category>javaee</category>
    </item>
  </channel>
</rss>
