CINXE.COM

Podcast with Adam Bien about Java and Web

<!DOCTYPE html> <html> <head> <title>Podcast with Adam Bien about Java and Web</title> <meta name="copyright" content="Adam Bien"> <meta name="author" content="Adam Bien"> <meta name="robots" content="index,follow"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="twitter:card" content="summary" /> <meta name="twitter:site" content="@AdamBien" /> <meta name="twitter:title" content="airhacks.fm podcast" /> <meta name="twitter:description" content="podcast with adam bien" /> <meta name="twitter:image" content="https://airhacks.fm/images/airhacksfm.jpg" /> <link href="https://fonts.googleapis.com/css?family=Rubik" rel="stylesheet"> <link rel="alternate" type="application/rss+xml" title="Episodes (RSS)" href="https://pcr.apple.com/id1296655154"> <link rel="stylesheet" href="style.css"> </head> <body> <div class="panel"> <header> <div class="title"> <h1>airhacks.<span class="fm">fm</span> podcast </h1> <small> podcast with <a href="http://www.adam-bien.com">Adam Bien</a> / <a href="https://twitter.com/AdamBien">@AdamBien</a> </small> </div> <nav> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2.5em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2.5em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2.5em;"></a> <a href="https://pcr.apple.com/id1296655154">RSS</a> </nav> <details> <summary>episode numbers</summary> <nav> <a href="#episode_340">#340</a> <a href="#episode_339">#339</a> <a href="#episode_338">#338</a> <a href="#episode_337">#337</a> <a href="#episode_336">#336</a> <a href="#episode_335">#335</a> <a href="#episode_334">#334</a> <a href="#episode_333">#333</a> <a href="#episode_332">#332</a> <a href="#episode_331">#331</a> <a href="#episode_330">#330</a> <a href="#episode_329">#329</a> <a href="#episode_328">#328</a> <a href="#episode_327">#327</a> <a href="#episode_326">#326</a> <a href="#episode_325">#325</a> <a href="#episode_324">#324</a> <a href="#episode_323">#323</a> <a href="#episode_322">#322</a> <a href="#episode_321">#321</a> <a href="#episode_320">#320</a> <a href="#episode_319">#319</a> <a href="#episode_318">#318</a> <a href="#episode_317">#317</a> <a href="#episode_316">#316</a> <a href="#episode_315">#315</a> <a href="#episode_314">#314</a> <a href="#episode_313">#313</a> <a href="#episode_312">#312</a> <a href="#episode_311">#311</a> <a href="#episode_310">#310</a> <a href="#episode_309">#309</a> <a href="#episode_308">#308</a> <a href="#episode_307">#307</a> <a href="#episode_306">#306</a> <a href="#episode_305">#305</a> <a href="#episode_304">#304</a> <a href="#episode_303">#303</a> <a href="#episode_302">#302</a> <a href="#episode_301">#301</a> <a href="#episode_300">#300</a> <a href="#episode_299">#299</a> <a href="#episode_298">#298</a> <a href="#episode_297">#297</a> <a href="#episode_296">#296</a> <a href="#episode_295">#295</a> <a href="#episode_294">#294</a> <a href="#episode_293">#293</a> <a href="#episode_292">#292</a> <a href="#episode_291">#291</a> <a href="#episode_290">#290</a> <a href="#episode_289">#289</a> <a href="#episode_288">#288</a> <a href="#episode_287">#287</a> <a href="#episode_286">#286</a> <a href="#episode_285">#285</a> <a href="#episode_284">#284</a> <a href="#episode_283">#283</a> <a href="#episode_282">#282</a> <a href="#episode_281">#281</a> <a href="#episode_280">#280</a> <a href="#episode_279">#279</a> <a href="#episode_278">#278</a> <a href="#episode_277">#277</a> <a href="#episode_276">#276</a> <a href="#episode_275">#275</a> <a href="#episode_274">#274</a> <a href="#episode_273">#273</a> <a href="#episode_272">#272</a> <a href="#episode_271">#271</a> <a href="#episode_270">#270</a> <a href="#episode_269">#269</a> <a href="#episode_268">#268</a> <a href="#episode_267">#267</a> <a href="#episode_266">#266</a> <a href="#episode_265">#265</a> <a href="#episode_264">#264</a> <a href="#episode_263">#263</a> <a href="#episode_262">#262</a> <a href="#episode_261">#261</a> <a href="#episode_260">#260</a> <a href="#episode_259">#259</a> <a href="#episode_258">#258</a> <a href="#episode_257">#257</a> <a href="#episode_256">#256</a> <a href="#episode_255">#255</a> <a href="#episode_254">#254</a> <a href="#episode_253">#253</a> <a href="#episode_252">#252</a> <a href="#episode_251">#251</a> <a href="#episode_250">#250</a> <a href="#episode_249">#249</a> <a href="#episode_248">#248</a> <a href="#episode_247">#247</a> <a href="#episode_246">#246</a> <a href="#episode_245">#245</a> <a href="#episode_244">#244</a> <a href="#episode_243">#243</a> <a href="#episode_242">#242</a> <a href="#episode_241">#241</a> <a href="#episode_240">#240</a> <a href="#episode_239">#239</a> <a href="#episode_238">#238</a> <a href="#episode_237">#237</a> <a href="#episode_236">#236</a> <a href="#episode_235">#235</a> <a href="#episode_234">#234</a> <a href="#episode_233">#233</a> <a href="#episode_232">#232</a> <a href="#episode_231">#231</a> <a href="#episode_230">#230</a> <a href="#episode_229">#229</a> <a href="#episode_228">#228</a> <a href="#episode_227">#227</a> <a href="#episode_226">#226</a> <a href="#episode_225">#225</a> <a href="#episode_224">#224</a> <a href="#episode_223">#223</a> <a href="#episode_222">#222</a> <a href="#episode_221">#221</a> <a href="#episode_220">#220</a> <a href="#episode_219">#219</a> <a href="#episode_218">#218</a> <a href="#episode_217">#217</a> <a href="#episode_216">#216</a> <a href="#episode_215">#215</a> <a href="#episode_214">#214</a> <a href="#episode_213">#213</a> <a href="#episode_212">#212</a> <a href="#episode_211">#211</a> <a href="#episode_210">#210</a> <a href="#episode_209">#209</a> <a href="#episode_208">#208</a> <a href="#episode_207">#207</a> <a href="#episode_206">#206</a> <a href="#episode_205">#205</a> <a href="#episode_204">#204</a> <a href="#episode_203">#203</a> <a href="#episode_202">#202</a> <a href="#episode_201">#201</a> <a href="#episode_200">#200</a> <a href="#episode_199">#199</a> <a href="#episode_198">#198</a> <a href="#episode_197">#197</a> <a href="#episode_196">#196</a> <a href="#episode_195">#195</a> <a href="#episode_194">#194</a> <a href="#episode_193">#193</a> <a href="#episode_192">#192</a> <a href="#episode_191">#191</a> <a href="#episode_190">#190</a> <a href="#episode_189">#189</a> <a href="#episode_188">#188</a> <a href="#episode_187">#187</a> <a href="#episode_186">#186</a> <a href="#episode_185">#185</a> <a href="#episode_184">#184</a> <a href="#episode_183">#183</a> <a href="#episode_182">#182</a> <a href="#episode_181">#181</a> <a href="#episode_180">#180</a> <a href="#episode_179">#179</a> <a href="#episode_178">#178</a> <a href="#episode_177">#177</a> <a href="#episode_176">#176</a> <a href="#episode_175">#175</a> <a href="#episode_174">#174</a> <a href="#episode_173">#173</a> <a href="#episode_172">#172</a> <a href="#episode_171">#171</a> <a href="#episode_170">#170</a> <a href="#episode_169">#169</a> <a href="#episode_168">#168</a> <a href="#episode_167">#167</a> <a href="#episode_166">#166</a> <a href="#episode_165">#165</a> <a href="#episode_164">#164</a> <a href="#episode_163">#163</a> <a href="#episode_162">#162</a> <a href="#episode_161">#161</a> <a href="#episode_160">#160</a> <a href="#episode_159">#159</a> <a href="#episode_158">#158</a> <a href="#episode_157">#157</a> <a href="#episode_156">#156</a> <a href="#episode_155">#155</a> <a href="#episode_154">#154</a> <a href="#episode_153">#153</a> <a href="#episode_152">#152</a> <a href="#episode_151">#151</a> <a href="#episode_150">#150</a> <a href="#episode_149">#149</a> <a href="#episode_148">#148</a> <a href="#episode_147">#147</a> <a href="#episode_146">#146</a> <a href="#episode_145">#145</a> <a href="#episode_144">#144</a> <a href="#episode_143">#143</a> <a href="#episode_142">#142</a> <a href="#episode_141">#141</a> <a href="#episode_140">#140</a> <a href="#episode_139">#139</a> <a href="#episode_138">#138</a> <a href="#episode_137">#137</a> <a href="#episode_136">#136</a> <a href="#episode_135">#135</a> <a href="#episode_134">#134</a> <a href="#episode_133">#133</a> <a href="#episode_132">#132</a> <a href="#episode_131">#131</a> <a href="#episode_130">#130</a> <a href="#episode_129">#129</a> <a href="#episode_128">#128</a> <a href="#episode_127">#127</a> <a href="#episode_126">#126</a> <a href="#episode_125">#125</a> <a href="#episode_124">#124</a> <a href="#episode_123">#123</a> <a href="#episode_122">#122</a> <a href="#episode_121">#121</a> <a href="#episode_120">#120</a> <a href="#episode_119">#119</a> <a href="#episode_118">#118</a> <a href="#episode_117">#117</a> <a href="#episode_116">#116</a> <a href="#episode_115">#115</a> <a href="#episode_114">#114</a> <a href="#episode_113">#113</a> <a href="#episode_112">#112</a> <a href="#episode_111">#111</a> <a href="#episode_110">#110</a> <a href="#episode_109">#109</a> <a href="#episode_108">#108</a> <a href="#episode_107">#107</a> <a href="#episode_106">#106</a> <a href="#episode_105">#105</a> <a href="#episode_104">#104</a> <a href="#episode_103">#103</a> <a href="#episode_102">#102</a> <a href="#episode_101">#101</a> <a href="#episode_100">#100</a> <a href="#episode_99">#99</a> <a href="#episode_98">#98</a> <a href="#episode_97">#97</a> <a href="#episode_96">#96</a> <a href="#episode_95">#95</a> <a href="#episode_94">#94</a> <a href="#episode_93">#93</a> <a href="#episode_92">#92</a> <a href="#episode_91">#91</a> <a href="#episode_90">#90</a> <a href="#episode_89">#89</a> <a href="#episode_88">#88</a> <a href="#episode_87">#87</a> <a href="#episode_86">#86</a> <a href="#episode_85">#85</a> <a href="#episode_84">#84</a> <a href="#episode_83">#83</a> <a href="#episode_82">#82</a> <a href="#episode_81">#81</a> <a href="#episode_80">#80</a> <a href="#episode_79">#79</a> <a href="#episode_78">#78</a> <a href="#episode_77">#77</a> <a href="#episode_76">#76</a> <a href="#episode_75">#75</a> <a href="#episode_74">#74</a> <a href="#episode_73">#73</a> <a href="#episode_72">#72</a> <a href="#episode_71">#71</a> <a href="#episode_70">#70</a> <a href="#episode_69">#69</a> <a href="#episode_68">#68</a> <a href="#episode_67">#67</a> <a href="#episode_66">#66</a> <a href="#episode_65">#65</a> <a href="#episode_64">#64</a> <a href="#episode_63">#63</a> <a href="#episode_62">#62</a> <a href="#episode_61">#61</a> <a href="#episode_60">#60</a> <a href="#episode_59">#59</a> <a href="#episode_58">#58</a> <a href="#episode_57">#57</a> <a href="#episode_56">#56</a> <a href="#episode_55">#55</a> <a href="#episode_54">#54</a> <a href="#episode_53">#53</a> <a href="#episode_52">#52</a> <a href="#episode_51">#51</a> <a href="#episode_50">#50</a> <a href="#episode_49">#49</a> <a href="#episode_48">#48</a> <a href="#episode_47">#47</a> <a href="#episode_46">#46</a> <a href="#episode_45">#45</a> <a href="#episode_44">#44</a> <a href="#episode_43">#43</a> <a href="#episode_42">#42</a> <a href="#episode_41">#41</a> <a href="#episode_40">#40</a> <a href="#episode_39">#39</a> <a href="#episode_38">#38</a> <a href="#episode_37">#37</a> <a href="#episode_36">#36</a> <a href="#episode_35">#35</a> <a href="#episode_34">#34</a> <a href="#episode_33">#33</a> <a href="#episode_32">#32</a> <a href="#episode_31">#31</a> <a href="#episode_30">#30</a> <a href="#episode_29">#29</a> <a href="#episode_28">#28</a> <a href="#episode_27">#27</a> <a href="#episode_26">#26</a> <a href="#episode_25">#25</a> <a href="#episode_24">#24</a> <a href="#episode_23">#23</a> <a href="#episode_22">#22</a> <a href="#episode_21">#21</a> <a href="#episode_20">#20</a> <a href="#episode_19">#19</a> <a href="#episode_18">#18</a> <a href="#episode_17">#17</a> <a href="#episode_16">#16</a> <a href="#episode_15">#15</a> <a href="#episode_14">#14</a> <a href="#episode_13">#13</a> <a href="#episode_12">#12</a> <a href="#episode_11">#11</a> <a href="#episode_10">#10</a> <a href="#episode_9">#9</a> <a href="#episode_8">#8</a> <a href="#episode_7">#7</a> <a href="#episode_6">#6</a> <a href="#episode_5">#5</a> <a href="#episode_4">#4</a> <a href="#episode_3">#3</a> <a href="#episode_2">#2</a> <a href="#episode_1">#1</a> </nav> </details> <span itemprop="image" itemscope itemtype="http://schema.org/ImageObject"> <meta itemprop="url" content="https://airhacks.fm/images/airhacksfm.jpg"> </span> <div class="player"> <iframe src="https://embed.podcasts.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?itsct=podcast_box&amp;itscg=30200&amp;theme=auto" height="450px" frameborder="0" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation-by-user-activation" allow="autoplay *; encrypted-media *;" style="width: 100%; max-width: 660px; overflow: hidden; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-right-radius: 10px; border-bottom-left-radius: 10px; background-color: transparent; background-position: initial initial; background-repeat: initial initial;"></iframe> </div> </header> <main> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_340"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_340">#<span itemprop="episodeNumber">340</span></a> High-Performance Load Testing</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_340">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Francesco Nigro (<a href="https://twitter.com/forked_franz">@forked_franz</a>) about: <blockquote>discussion about the importance of stress testing over <a href="https://en.wikipedia.org/wiki/System_testing">System Tests</a> and unit tests, <a href="https://redhatperf.github.io/post/coordinated-omission/">Coordinated Omission Problem</a> in load generators where they don't accurately measure server performance during slowdowns, introduction to <a href="https://github.com/Hyperfoil/Hyperfoil">HyperFoil</a> as a high-performance load generator capable of generating millions of requests per second with just two cores, explanation of how HyperFoil avoids GC overhead by pre-allocating resources, the architecture of HyperFoil using <a href="https://netty.io">Netty</a> event loops and a graph-based execution model, comparison with other load testing tools like JMeter, <a href="https://k6.io">K6</a>, Apache Benchmark and <a href="https://github.com/tsenart/vegeta">Vegeta</a>, introduction to <a href="https://github.com/Hyperfoil/qDup">QDUP</a> as a shell automation tool for distributed testing, overview of <a href="https://github.com/Hyperfoil/Horreum">Horreum</a> for performance test results storage and analysis, explanation of how these tools work together in Red Hat's performance testing pipeline, discussion of <a href="https://github.com/JCTools/JCTools">JCTools</a> and its importance for GC-free concurrent data structures, the <a href="https://en.wikipedia.org/wiki/Neil_J._Gunther#Universal_Scalability_Law">Universal Scalability Law</a> and its application to load balancing algorithms, the pick-two-random algorithm for efficient resource allocation, the benefits of using <a href="https://github.com/maxandersen/jbang">JBang</a> for easy one-line execution of HyperFoil, potential drawbacks of HyperFoil including ergonomics and <a href="https://en.wikipedia.org/wiki/Just-in-time_compilation">JIT</a> compilation warm-up issues, the possibility of using <a href="https://www.graalvm.org">GraalVM</a> <a href="https://www.graalvm.org/docs/reference-manual/native-image/">native image</a> to avoid JIT compilation delays</blockquote> <p> Francesco Nigro on twitter: <a href="https://twitter.com/forked_franz">@forked_franz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 06 Apr 2025 11:39:45 GMT">Sun, 06 Apr 2025 11:39:45 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_340.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_339"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_339">#<span itemprop="episodeNumber">339</span></a> Enterprise LLM Integration: Bridging Java and AI in Business Applications</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_339">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Burr Sutter (<a href="https://twitter.com/burrsutter">@burrsutter</a>) about: <blockquote>discussion about integrating LLMs into enterprise <a href="https://www.java.com/en/">Java</a> applications, challenges with non-deterministic LLM outputs in deterministic code environments, limitations of chat interfaces for power users in enterprise settings, preference for form-based applications with prompts running behind the scenes, using LLMs to understand unstructured data while providing structured interfaces, maintaining existing CRUD systems while using LLMs for unstructured data like emails and support tickets, practical examples of using LLMs to generate code from business requirements, creating assistants with system messages and short user prompts, potential for embeddings to replace text prompts in the future, developer journey in learning LLM integration including prompts, tools, <a href="https://en.wikipedia.org/wiki/Retrieval-augmented_generation">RAG</a>, and agentic workflows, benefits of specialized agents over one general agent, using LLMs for code generation with limitations for complex use cases, hybrid approaches combining LLMs with human oversight, using LLMs for email routing and support case classification, potential for extracting knowledge from enterprise data sources like Confluence and SharePoint, quality assurance with LLM judges, discussion of small language models versus large ones, model distillation and fine-tuning for specific enterprise use cases, cost considerations for model training versus using off-the-shelf models with better tool invocation, prediction that models will become more efficient and run on commodity hardware in the future, focus on post-training inference and reliable results</blockquote> <p> Burr Sutter on twitter: <a href="https://twitter.com/burrsutter">@burrsutter</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 30 Mar 2025 12:34:20 GMT">Sun, 30 Mar 2025 12:34:20 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_339.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_338"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_338">#<span itemprop="episodeNumber">338</span></a> From Predator Plants to Concordance with Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_338">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Volker Simonis (<a href="https://twitter.com/volker_simonis">@volker_simonis</a>) about: <blockquote>early computing experiences with Schneider <a href="https://de.wikipedia.org/wiki/Amstrad_CPC">CPC</a> (Amstrad in UK) with Z80 CPU, <a href="https://en.wikipedia.org/wiki/CP/M">CP/M</a> operating system as an add-on that provided a real file system, programming in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> and <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a> on early computers, discussion about gaming versus programming interests, using a 9-pin needle printer for school work, programming on pocket computers with BASIC in school, memories of Digital Research's CP/M and DR-DOS competing with <a href="https://en.wikipedia.org/wiki/MS-DOS">MS-DOS</a>, HiMEM memory management in early operating systems, programming in <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">Logo</a> language with turtle graphics and fractals, fascination with Lindenmayer systems (L-systems) for simulating biological growth patterns, interest in biology and carnivorous plants, transition to PCs with floppy disk drives, using SGI Iris workstations at university with IRIX operating system, early experiences with Linux installed from floppy disks, challenges of configuring X Window System, programming graphics on interlaced monitors, early work with HP using Tickle/Tk and <a href="https://www.python.org">python</a> around 1993, first experiences with Java around version 0.8/0.9, attraction to Java's platform-independent networking and graphics capabilities, using <a href="https://en.wikipedia.org/wiki/Blackdown_Java">Blackdown Java</a> for Linux created by <a href="http://airhacks.fm/#episode_6">Johan Vos</a>, freelance work creating Java applets for accessing databases of technical standards, PhD work creating software for analyzing parallel text corpora in multiple languages, developing internationalization and XML capabilities in Java Swing applications, career at Sun Microsystems porting <a href="https://en.wikipedia.org/wiki/MaxDB">MaxDB</a> to Solaris, transition to SAP to work on JVM development, <a href="https://en.wikipedia.org/wiki/Adabas">Adabas</a> and MaxDB, reflections on <a href="https://en.wikipedia.org/wiki/ABAP">ABAP</a> programming language at SAP and its database-centric nature</blockquote> <p> Volker Simonis on twitter: <a href="https://twitter.com/volker_simonis">@volker_simonis</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 23 Mar 2025 10:19:37 GMT">Sun, 23 Mar 2025 10:19:37 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_338.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_337"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_337">#<span itemprop="episodeNumber">337</span></a> The Database Cloud</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_337">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alvaro Hernandez (<a href="https://twitter.com/ahachete">@ahachete</a>) about: <blockquote>discussion about <a href="https://stackgres.io">stackgres</a> as a complete database cloud solution for <a href="https://www.postgresql.org">PostgreSQL</a>, <a href="https://kubernetes.io/">kubernetes</a> as an abstraction layer over infrastructure providing a programmable API, Stackgres offering high availability with primary and replica nodes using <a href="https://github.com/patroni/patroni">patroni</a>, integrated connection pooling with <a href="https://www.pgbouncer.org/">PgBouncer</a>, <a href="https://kubernetes.io/docs/concepts/extend-kubernetes/operator/">kubernetes operators</a> and Custom Resource Definitions (CRDs) as a powerful way to extend Kubernetes, day two operations automated through CRDs including benchmarks and version upgrades, Stackgres supporting sharding with <a href="https://www.citusdata.com/">Citus</a> for horizontal scaling similar to <a href="https://aws.amazon.com/dynamodb">DynamoDB</a>, <a href="https://en.wikipedia.org/wiki/Change_data_capture">Change Data Capture</a> capabilities using embedded <a href="https://debezium.io/">debezium</a>, failover mechanisms taking typically 30 seconds with DNS updates, synchronous vs asynchronous replication options affecting data loss during failover, Stackgres being implemented in <a href="https://www.java.com/en/">Java</a> using <a href="https://quarkus.io">quarkus</a>, <a href="https://containerd.io/">ContainerD</a> as a programmable container runtime that can be used without Kubernetes, Stackgres offering multiple interfaces including CRDs, <a href="https://www.keycloak.org/docs-api/5.0/rest-api/index.html">REST</a> API, and a web console, considerations for running databases on Kubernetes vs cloud-managed services, the advantages of containerization for infrastructure, the challenges of multi-leader setups in PostgreSQL requiring conflict resolution, the value of Kubernetes for on-premises deployments vs cloud environments</blockquote> <p> Alvaro Hernandez on twitter: <a href="https://twitter.com/ahachete">@ahachete</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 16 Mar 2025 08:03:24 GMT">Sun, 16 Mar 2025 08:03:24 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_337.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_336"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_336">#<span itemprop="episodeNumber">336</span></a> From OCCAM and CSP to Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_336">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Kevlin Henney (<a href="https://twitter.com/KevlinHenney">@KevlinHenney</a>) about: <blockquote>first computer was a Sinclair <a href="https://en.wikipedia.org/wiki/ZX81">ZX81</a> with 1K of memory, programming in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> and later Z80 <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> language, creating simulations like volcano explosions and n-body problems as a teenager, transitioning to the <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a> and other early home computers, studying physics at university but becoming more interested in programming, learning <a href="https://en.wikipedia.org/wiki/Fortran">fortran</a>, getting his first programming job at a small software house in Bristol where his boss had a wall of books on programming languages and paradigms, becoming self-taught through reading these books, developing an interest in AI and philosophy of mind which led to pursuing a master's degree in parallel computer systems, creating a virtual machine for a Lisp-based actor model, learning about the <a href="https://en.wikipedia.org/wiki/Occam_(programming_language)#:~:text=occam%20is%20a%20programming%20language, Imperative%2C%20procedural%2C%20concurrent">occam</a> programming language based on <a href="https://en.wikipedia.org/wiki/Communicating_sequential_processes">Communicating sequential processes</a> (CSP) for transputers, discovering <a href="https://en.wikipedia.org/wiki/Object-oriented_programming">Object-oriented programming</a> and being fascinated by modularity and encapsulation, encountering Java in the mid-90s as a free downloadable language with platform independence, appreciating Java's familiar C-like syntax while offering object orientation without low-level concerns, using Java primarily for training and consultancy work rather than application development, discussing the evolution of Java features like <a href="https://courses.cs.washington.edu/courses/cse341/99wi/java/tutorial/java/javaOO/_1_1InnerClasses.html">inner classes</a> (Java 1.1) and interfaces, explaining his unique perspective on interfaces coming from distributed systems experience with IDLs, reflecting on his work with various distributed Java technologies like RMI, <a href="https://river.apache.org">Jini</a> and <a href="https://en.wikipedia.org/wiki/Tuple_space#JavaSpaces">JavaSpaces</a>, continuing his career as an independent consultant, trainer and speaker with strong involvement in the patterns community</blockquote> <p> Kevlin Henney on twitter: <a href="https://twitter.com/KevlinHenney">@KevlinHenney</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 09 Mar 2025 13:23:45 GMT">Sun, 09 Mar 2025 13:23:45 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_336.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_335"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_335">#<span itemprop="episodeNumber">335</span></a> Java Scalability Considerations</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_335">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Francesco Nigro (<a href="https://twitter.com/forked_franz">@forked_franz</a>) about: <blockquote><a href="https://netty.io">Netty</a> committer and performance engineer at Red Hat, discussion of Netty's history, focus on low-level core components like buffers and allocators in Netty, relationship between <a href="https://Vert.x">Vert.x</a> and Netty where Vert.x provides a more opinionated and user-friendly abstraction over Netty, explanation of reactive back pressure implementation in Vert.x, performance advantages of Vert.x over Netty due to batching and reactive design, detailed explanation of <a href="https://en.wikipedia.org/wiki/Io_uring">IO_uring</a> as a Linux-specific asynchronous I/O mechanism, comparison between event loop architecture and <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a> for scalability, limitations of <a href="https://wiki.openjdk.java.net/display/loom/Main">Loom</a> when working with IO_uring due to design incompatibilities, discovery of a major Java type system scalability issue related to instance-of checks against interfaces, explanation of how this issue affected <a href="https://hibernate.org">Hibernate</a> performance, deep investigation using assembly-level analysis to identify the root cause, collaboration with Andrew Haley to fix the 20-year-old JDK issue, performance improvements of 2-3x after fixing the issue, discussion of CPU cache coherency problems in <a href="https://de.wikipedia.org/wiki/Non-Uniform_Memory_Access">NUMA</a> architectures, explanation of how container environments like <a href="https://kubernetes.io/">kubernetes</a> can worsen performance issues due to CPU scheduling, insights into how modern CPUs handle branch prediction and speculation, impact of branch misprediction on performance especially with memory access patterns, discussion of memory bandwidth limitations in AI/ML workloads, advantages of unified memory architectures like Apple M-series chips for AI inference</blockquote> <p> Francesco Nigro on twitter: <a href="https://twitter.com/forked_franz">@forked_franz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 02 Mar 2025 10:37:19 GMT">Sun, 02 Mar 2025 10:37:19 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_335.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_334"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_334">#<span itemprop="episodeNumber">334</span></a> From Kona Coffee Beans to Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_334">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Burr Sutter (<a href="https://twitter.com/burrsutter">@burrsutter</a>) about: <blockquote>first computer: <a href="https://en.wikipedia.org/wiki/IBM_PS/2">IBM PS/2</a> 386SX funded by grandparents' Kona coffee sales, early passion for programming and problem-solving, self-taught C programming, database engine development as a student, transition from theater aspirations to computer science, work with Progress 4GL and <a href="https://en.wikipedia.org/wiki/Novell_exteNd">Silverstream</a>, shift to <a href="https://dotnet.microsoft.com">.net</a> development, joining <a href="https://www.jboss.org">JBoss</a> and Red Hat through acquisition, Mark Fleury's impactful "free don't suck" presentation, evolution of <a href="https://www.java.com/en/">Java</a> application servers and middleware technologies, enterprise service bus and SOA, impact of <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a> and <a href="https://kubernetes.io/">kubernetes</a> on the industry, Red Hat's adaptation to cloud-native technologies, development of <a href="https://quarkus.io">quarkus</a>, current interest in language models and <a href="https://en.wikipedia.org/wiki/Generative_artificial_intelligence">GenAI</a>, Java's longevity and adaptability, Quarkus' fast startup time and compatibility with legacy <a href="https://javaee.github.io">Java EE</a> applications, work on Kubernetes and Quarkus, the importance of Java's "write once, run anywhere" principle, Java's performance compared to other languages</blockquote> <p> Burr Sutter on twitter: <a href="https://twitter.com/burrsutter">@burrsutter</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 23 Feb 2025 15:19:55 GMT">Sun, 23 Feb 2025 15:19:55 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_334.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_333"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_333">#<span itemprop="episodeNumber">333</span></a> Pure Java Inception</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_333">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Christian Humer (<a href="https://twitter.com/grashalm_">@grashalm_</a>) about: <blockquote>early programming experiences with DOS text <a href="https://en.wikipedia.org/wiki/The_Adventures_of_Captain_Comic">Adventures and Captain Comic</a>, transition from graphics design to computer science, work on <a href="https://www.java.com/en/">Java</a> Server Pages (JSPs) and point-of-sale systems, development of Swing GUI for touchscreens, introduction to <a href="https://www.graalvm.org">GraalVM</a> and <a href="https://github.com/oracle/graal/blob/master/truffle/README.md">Truffle</a> framework, <a href="https://en.wikipedia.org/wiki/ActionScript">ActionScript</a>, Adobe <a href="https://en.wikipedia.org/wiki/Adobe_Flash">Flash</a> and <a href="https://en.wikipedia.org/wiki/Apache_Flex">Adobe Flex</a>, explanation of <a href="https://en.wikipedia.org/wiki/Partial_evaluation">Futamura projections</a> and partial evaluation in Truffle, discussion on the challenges of implementing dynamic language runtimes, de-optimization in <a href="https://en.wikipedia.org/wiki/Just-in-time_compilation">JIT</a> compilers, <a href="https://en.wikipedia.org/wiki/Nashorn_(JavaScript_engine)">Nashorn</a> JavaScript engine vs. <a href="https://www.graalvm.org/latest/reference-manual/js/">GraalJS</a>, language interoperability in GraalVM, reuse of libraries across different programming languages, embedding of JavaScript and <a href="https://reactjs.org">React</a> in Java applications, comparison with <a href="https://www.pypy.org">PyPy</a> in the <a href="https://www.python.org">python</a> ecosystem, current work on bytecode DSL for generating bytecode interpreters, the importance of math in computer science and its relation to programming concepts</blockquote> <p> Christian Humer on twitter: <a href="https://twitter.com/grashalm_">@grashalm_</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 16 Feb 2025 13:41:54 GMT">Sun, 16 Feb 2025 13:41:54 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_333.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_332"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_332">#<span itemprop="episodeNumber">332</span></a> From Swing to Blockchain</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_332">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Richard Bair (<a href="https://twitter.com/RichardBair">@RichardBair</a>) about: <blockquote>early programming experiences with <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> and building computers, his first production app at 17 for his father's auto repair shop, starting computer science degree at 16 and completing it at 43, joining Sun Microsystems' Swing team, working on <a href="https://openjfx.io">JavaFX</a> from its inception as <a href="https://en.wikipedia.org/wiki/JavaFX_Script">F3</a> through its evolution, becoming lead of JavaFX team and chief architect for client Java, moving to Oracle's IoT team, current role as VP of Engineering at Hedera <a href="https://en.wikipedia.org/wiki/Blockchain">blockchain</a> company, explanation of Hedera's Hashgraph algorithm solving the Byzantine Generals Problem, implementation of Hedera's technology in Java, open-source nature of Hedera's codebase, resources for learning about and developing with Hedera including documentation, Hedera Improvement Proposals - <a href="https://hips.hedera.com">hips</a>, and developer <a href="https://portal.hedera.com/playground">hedera playground</a>, discussion of blockchain technology and its potential impact on open protocols and decentralized networks, comparison of blockchain to distributed databases, explanation of consensus mechanisms in distributed ledgers, tokenization of real-world assets</blockquote> <p> Richard Bair on twitter: <a href="https://twitter.com/RichardBair">@RichardBair</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 09 Feb 2025 13:36:30 GMT">Sun, 09 Feb 2025 13:36:30 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_332.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_331"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_331">#<span itemprop="episodeNumber">331</span></a> Postgres Performance Optimization: Connection Pooling, JDBC, and Distributed Databases</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_331">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alvaro Hernandez (<a href="https://twitter.com/ahachete">@ahachete</a>) about: <blockquote>discussion on <a href="https://coreos.com/blog/introducing-operators.html">Postgres</a> <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a> driver contributions, <a href="https://en.wikipedia.org/wiki/Salted_Challenge_Response_Authentication_Mechanism">SCRAM</a> authentication library implementation, importance of connection pooling for Postgres performance, tuning Postgres configuration, <a href="https://www.pgbouncer.org/">PgBouncer</a> as a popular connection pooler, challenges with <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> and database connections, benefits of using connection poolers at multiple levels, the need for an HTTP-based protocol for <a href="https://www.postgresql.org">PostgreSQL</a>, <a href="https://postgresqlco.nf">PostgresSQL Configuration Tool</a> by <a href="https://stackgres.io">StackGres</a>, distributed SQL databases like <a href="https://aws.amazon.com/rds/aurora/dsql/">DSQL</a> and their trade-offs, optimistic vs pessimistic locking in distributed databases, comparison of <a href="https://helidon.io/docs/latest/#/mp/guides/09_jpa">JPA</a> optimistic locking to distributed database conflicts, the power of using SQL directly vs ORM frameworks, the evolution of Java and JDBC making direct database queries more convenient, the potential benefits of using stored procedures in databases, the importance of understanding database internals for optimal performance, the need for careful consideration when choosing between ORM and direct SQL queries, the complexities of distributed databases and their impact on application design</blockquote> <p> Alvaro Hernandez on twitter: <a href="https://twitter.com/ahachete">@ahachete</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 02 Feb 2025 13:50:19 GMT">Sun, 02 Feb 2025 13:50:19 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_331.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_330"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_330">#<span itemprop="episodeNumber">330</span></a> Natural Born Breaker</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_330">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Francesco Nigro (<a href="https://twitter.com/forked_franz">@forked_franz</a>) about: <blockquote>starting with a used <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a> without display, breakdancing as a hobby and its influence on his learning approach, studying computer science at university with a focus on AI and compilers, pursuing a PhD in reinforcement learning, transitioning to IoT and embedded system work, discovering high-performance computing and concurrency patterns like the Disruptor, contributing to open-source projects, persistence in joining Red Hat despite initial rejection, rewriting <a href="https://activemq.apache.org">ActiveMQ</a> Artemis journal, considering <a href="https://hazelcast.org">Hazelcast</a> before ultimately choosing Red Hat, working on messaging and performance optimization at Red Hat, becoming the performance expert for <a href="https://quarkus.io">quarkus</a>, journey from <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> and C programming to <a href="https://www.java.com/en/">Java</a> performance optimization, the importance of understanding low-level details in high-level languages, the impact of container resources on Java JVM performance, the value of deep technical knowledge in the age of AI and LLMs, Francesco's current role at Red Hat focusing on Quarkus performance and scalability issues</blockquote> <p> Francesco Nigro on twitter: <a href="https://twitter.com/forked_franz">@forked_franz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 26 Jan 2025 11:31:26 GMT">Sun, 26 Jan 2025 11:31:26 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_330.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_329"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_329">#<span itemprop="episodeNumber">329</span></a> Just Another CDI Committer</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_329">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ladislav Thon (<a href="https://github.com/ladicek">@ladicek</a>) about: <blockquote><a href="http://www.cdi-spec.org">CDI</a> history and evolution, transition from XML-based configuration to annotation-based dependency injection, introduction of <a href="http://www.cdi-spec.org/news/2020/03/09/CDI_for_the_future/">CDI lite</a> in version 4.0, differences between portable extensions and build-compatible extensions, Arc as Quarkus CDI implementation, challenges in implementing CDI at build time, new features in CDI 4.0 and 4.1 including lifecycle events and method invokers, comparison of CDI with other dependency injection frameworks, discussion on decorators, interceptors, and stereotypes in CDI, performance implications of CDI in Quarkus, <a href="https://www.adam-bien.com/roller/abien/entry/ioc_and_convention_over_configuration">Convention over Configuration</a> in CDI, upcoming changes in CDI 5, removal of expression language dependency from CDI API, benefits of build-time oriented implementations like Quarkus, challenges in migrating portable extensions to build-compatible extensions, introduction of synthetic beans and observers, addition of priority support for stereotypes, improvements in invocation context API, ability to declare priority on producers in CDI 4.1, integration of CDI with application programming models, Convention over Configuration paired with dependency injection, performance considerations of CDI in Quarkus compared to manual dependency management</blockquote> <p> Ladislav Thon on github: <a href="https://github.com/ladicek">@ladicek</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 19 Jan 2025 15:16:10 GMT">Sun, 19 Jan 2025 15:16:10 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_329.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_328"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_328">#<span itemprop="episodeNumber">328</span></a> Prepared Statements, Connection Pooling, Sharding, Partitioning and Serverless Workloads with Oracle Database</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_328">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Gerald Venzl (<a href="https://twitter.com/GeraldVenzl">@GeraldVenzl</a>) about: <blockquote>discussion on prepared statements and their benefits in Oracle databases, explanation of hard parsing vs soft parsing in database queries, overview of connection pooling and its importance in database performance, introduction to Oracle's Database Resident Connection Pool (DRCP), exploration of Oracle's support for <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> workloads, discussion on <a href="https://en.wikipedia.org/wiki/PL/SQL">PL/SQL</a> and JavaScript support in Oracle databases, brief mention of ADA programming language and its influence on PL/SQL, introduction to <a href="https://www.graalvm.org">GraalVM</a> and its role in Oracle databases, comparison of performance between PL/SQL and JavaScript in Oracle, mention of Oracle database support for ARM architecture including M1 Macs and Raspberry Pi 5, explanation of database sharding vs partitioning, discussion on the benefits of stored procedures for data-intensive operations</blockquote> <p> Gerald Venzl on twitter: <a href="https://twitter.com/GeraldVenzl">@GeraldVenzl</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 12 Jan 2025 10:24:54 GMT">Sun, 12 Jan 2025 10:24:54 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_328.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_327"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_327">#<span itemprop="episodeNumber">327</span></a> From Enterprise Java to Cloud-Native PostgreSQL</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_327">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alvaro Hernandez (<a href="https://twitter.com/ahachete">@ahachete</a>) about: <blockquote>first computer experiences with <a href="https://en.wikipedia.org/wiki/Amstrad_CPC_464">Amstrad CPC 464</a>, early programming with <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, university studies in Telecommunication Engineering, transition from <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> to <a href="https://www.java.com/en/">Java</a> development, creating an ERP system, attending <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> conferences, failed startup attempt with a mobile phone bill analysis app, specialization in <a href="https://www.postgresql.org">PostgreSQL</a>, founding <a href="https://ongres.com">ongres</a> company, developing <a href="https://stackgres.io">stackgres</a> as a <a href="https://kubernetes.io/">kubernetes</a> operator for PostgreSQL, discussion about the benefits of open-source software and the "My Server, My Rules" philosophy, comparison of cloud-managed services vs. self-managed solutions, the importance of control and transparency in database management, Stackgres as a solution for running PostgreSQL as a service with full control, the use of Java in developing <a href="https://kubernetes.io/docs/concepts/extend-kubernetes/operator/">kubernetes operators</a>, the shift from on-premises to cloud deployments and its implications for developers, the challenges of setting up and managing databases in the cloud, the benefits of <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> and managed services, the importance of understanding the underlying infrastructure in cloud deployments, the evolution of database management from dedicated teams to self-service models, the potential for new container-related products from Ongress, the recent popularity of Bluesky as a social media platform for the Java community</blockquote> <p> Alvaro Hernandez on twitter: <a href="https://twitter.com/ahachete">@ahachete</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 06 Jan 2025 17:45:18 GMT">Mon, 06 Jan 2025 17:45:18 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_327.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_326"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_326">#<span itemprop="episodeNumber">326</span></a> From Didaktik Gama to Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_326">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ladislav Thon (<a href="https://github.com/ladicek">@ladicek</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Didaktik">Didaktik</a> m to Red Hat, early programming experiences with <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> and <a href="https://cs.stanford.edu/people/eroberts/karel-the-robot-learns-java.pdf">Karel</a>, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> and C in school, working with Java in university and early career, joining Red Hat as a quality engineer for <a href="https://www.jboss.org">JBoss</a> Enterprise Application Platform, testing clustering and load balancing with <a href="https://en.wikipedia.org/wiki/SmartFrog">SmartFrog</a>, transitioning to <a href="https://thorntail.io/">WildFly Swarm</a> / Thorntail development, becoming Thorntail project lead, moving to <a href="https://quarkus.io">quarkus</a> development, involvement in <a href="http://www.cdi-spec.org">CDI</a> specification improvements, discussion about portable extensions in CDI, interest in science fiction literature, mention of favorite authors and books including Neal Stephenson's Anathem and The Expanse series</blockquote> <p> Ladislav Thon on github: <a href="https://github.com/ladicek">@ladicek</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 21 Dec 2024 11:03:26 GMT">Sat, 21 Dec 2024 11:03:26 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_326.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_325"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_325">#<span itemprop="episodeNumber">325</span></a> Espresso: Java on GraalVM</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_325">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alfonso Peterssen (<a href="https://twitter.com/TheMukel">@TheMukel</a>) about: <blockquote>updates on Lama 3 <a href="https://www.java.com/en/">Java</a> project and performance improvements, <a href="https://www.graalvm.org/">GraalVM</a> <a href="https://openjdk.org/jeps/338">Vector API</a> support and performance enhancements, Espresso's ability to run Java code within GraalVM, implementation of <a href="https://en.wikipedia.org/wiki/Continuation">Continuations</a> and serializable continuations in Espresso, development of a debugger for <a href="https://www.graalvm.org/docs/reference-manual/native-image/">native image</a> using Espresso, potential for adding dynamism to native image, Espresso's use in sandboxing and isolating Java code execution, potential applications in cloud environments and <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> computing, possibility of using Espresso for LLM-generated code execution, potential for Espresso as a replacement for the deprecated SecurityManager, discussion of Espresso's performance compared to full virtualization stacks, class reloading capabilities in Espresso, invitation for future discussions on debugging and Espresso deep dive</blockquote> <p> Alfonso Peterssen on twitter: <a href="https://twitter.com/TheMukel">@TheMukel</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 15 Dec 2024 19:35:17 GMT">Sun, 15 Dec 2024 19:35:17 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_325.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_324"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_324">#<span itemprop="episodeNumber">324</span></a> From Enterprise Java over Scala to Drools</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_324">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Mario Fusco (<a href="https://twitter.com/mariofusco">@mariofusco</a>) about: <blockquote>early programming on <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a> and <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a>, father's computer shop in South Italy, work experiences with Olivetti and IBM, the <a href="https://en.wikipedia.org/wiki/TRS-80_Model_100">Olivetti M10</a> laptop, introduction to <a href="https://www.java.com/en/">Java</a> and aspect-oriented programming, project on advertisement optimization for Berlusconi's company, experience with Scala and presenting at Scala Days, joining Red Hat to work on <a href="https://www.drools.org">Drools</a> rule engine, current work on <a href="https://quarkus.io">quarkus</a> and <a href="https://github.com/langchain4j/langchain4j">langchain4j</a> integration, importance of open source contribution and conference participation for career growth, evolution of programming languages and technologies, thoughts on AI and rule engines, social aspects of software development, importance of community involvement in tech industry</blockquote> <p> Mario Fusco on twitter: <a href="https://twitter.com/mariofusco">@mariofusco</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 08 Dec 2024 15:43:41 GMT">Sun, 08 Dec 2024 15:43:41 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_324.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_323"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_323">#<span itemprop="episodeNumber">323</span></a> From .mobi Over GraphQL to Quarkus Dev UI</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_323">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Phillip Krueger (<a href="https://twitter.com/phillipkruger">@phillipkruger</a>) about: <blockquote>early programming experiences with <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a> and <a href="https://www.java.com/en/">Java</a>, transition from actuarial science to computer science, first job at a bank working with Java Swing and RMI over <a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture">CORBA</a>, experience with <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a> and XML technologies, working with XML and <a href="https://en.wikipedia.org/wiki/XSLT">XSLT</a>, development of open-source Swing components, work on <a href="https://en.wikipedia.org/wiki/.mobi">dotMobi</a> sites for mobile phones in Africa, creation of API extensions for <a href="https://javaee.github.io">Java EE</a> and <a href="https://microprofile.io">MicroProfile</a>, involvement in the <a href="https://github.com/eclipse/microprofile-graphql">MicroProfile GraphQL</a> specification, joining Red Hat and working on <a href="https://quarkus.io">quarkus</a>, development of <a href="https://smallrye.io">SmallRye</a> <a href="https://graphql.org/">GraphQL</a>, improvements to <a href="https://www.openapis.org">OpenAPI</a> support in Quarkus, work on Quarkus Dev UI, discussion about the evolution of Java application servers and frameworks, comparison of <a href="https://en.wikipedia.org/wiki/REST">REST</a> and GraphQL, thoughts on Java development culture in South Africa</blockquote> <p> Phillip Krueger on twitter: <a href="https://twitter.com/phillipkruger">@phillipkruger</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 01 Dec 2024 07:33:22 GMT">Sun, 01 Dec 2024 07:33:22 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_323.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_322"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_322">#<span itemprop="episodeNumber">322</span></a> ChatGPT for Java Development: Insights and Best Practices</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_322">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Bruce Hopkins about: <blockquote>discussion on using <a href="https://en.wikipedia.org/wiki/ChatGPT">ChatGPT</a> for <a href="https://www.java.com/en/">Java</a> development, challenges and benefits of AI-assisted coding, importance of understanding and reviewing AI-generated code, bootstrapping approach in Bruce's book, using ChatGPT as a pair programmer, limitations of AI in making architectural decisions, potential pitfalls of relying too heavily on AI-generated code, multi-modal capabilities of AI models, creating a podcast visualizer project, integrating with Slack and Discord APIs, hallucination issues in AI responses, importance of prompt engineering, potential for Java in AI and LLM integration, advantages of Java in enterprise environments, energy efficiency and performance of Java compared to other languages, upcoming trends in Java development including <a href="https://openjdk.java.net/projects/valhalla/">project valhalla</a> and <a href="https://openjdk.org/jeps/338">Vector API</a>, potential for a follow-up book on <a href="https://quarkus.io">quarkus</a> and <a href="https://github.com/langchain4j/langchain4j">langchain4j</a>, modern Java syntax and features making it competitive with other languages, challenges of translating technical books to other languages, the <a href="https://chatgptforjavabook.com">ChatGPT for Java book</a></blockquote></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 24 Nov 2024 14:32:01 GMT">Sun, 24 Nov 2024 14:32:01 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_322.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_321"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_321">#<span itemprop="episodeNumber">321</span></a> From Java VMs and GPU Acceleration to Motorcycle Electronics</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_321">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Christos Kotselidis (<a href="https://twitter.com/CKotselidis">@CKotselidis</a>) about: <blockquote>early experiences with computers and programming, transition to studying <a href="https://www.java.com/en/">Java</a> and virtual machines at university, work on <a href="https://en.wikipedia.org/wiki/Jikes">Jikes</a> compiler and distributed software transactional memory for PhD, current roles as professor at University of Manchester and working on motorcycle electronics at KTM, overview of <a href="https://www.tornadovm.org">tornadovm</a> project for accelerating Java on GPUs and other hardware, discussion of recent Java implementations of LLMs like <a href="https://github.com/tjake/Jlama">jlama</a> and <a href="https://github.com/mukel/llama3.java">llama3 java</a>, potential for TornadoVM to accelerate model inference, challenges around quantized types for large models, integration with Project <a href="https://openjdk.java.net/projects/panama/">Panama</a> for improved native interop, importance of performance and energy efficiency for enterprise Java applications, potential for <a href="https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/about.htm#JFRUH170">Java Flight Recorder</a> to provide power consumption metrics, need for standardized quantized types in Java, opportunities for Java in AI/ML workloads, invitation for companies to reach out about using Tornado VM for their use cases</blockquote> <p> Christos Kotselidis on twitter: <a href="https://twitter.com/CKotselidis">@CKotselidis</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 Nov 2024 13:54:01 GMT">Sun, 17 Nov 2024 13:54:01 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_321.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_320"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_320">#<span itemprop="episodeNumber">320</span></a> From XML-Driven Enterprise Java to Serverless AWS Lambdas</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_320">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Vadym Kazulkin (<a href="https://twitter.com/VKazulkin">@VKazulkin</a>) about: <blockquote>journey as a <a href="https://www.java.com/en/">Java</a> developer from the late 1990s to present, early experiences with Java and <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a> development, transition to cloud and <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> technologies, particularly <a href="https://aws.amazon.com/lambda/">AWS Lambda</a>, discussion of Java performance on <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> compared to <a href="https://node.js">node.js</a>, detailed explanation of AWS SnapStart technology for improving Java cold starts, pros and cons of "fat" Lambda functions versus microservices, challenges of using <a href="https://www.graalvm.org">GraalVM</a> with Lambda, importance of optimizing Lambda package size and dependencies, comparison of <a href="https://quarkus.io">quarkus</a> and Spring Boot on Lambda, benefits of serverless architecture for business logic focus, involvement with Java User Group Bonn and AWS Community Builder program, brief mention of asynchronous patterns in serverless architectures, importance of staying technically hands-on as a manager in the rapidly evolving cloud world</blockquote> <p> Vadym Kazulkin on twitter: <a href="https://twitter.com/VKazulkin">@VKazulkin</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 10 Nov 2024 14:24:07 GMT">Sun, 10 Nov 2024 14:24:07 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_320.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_319"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_319">#<span itemprop="episodeNumber">319</span></a> JDBC with Oracle Deeper Dive: From OCI to Thin Drivers and Beyond</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_319">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Gerald Venzl (<a href="https://twitter.com/geraldvenzl">@geraldvenzl</a>) about: <blockquote>discussion about the evolution of Oracle's annual conference from OpenWorld to CloudWorld, the <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> conference, explanation of <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a> driver types and their evolution, Oracle's thin JDBC driver becoming the preferred option, availability of Oracle JDBC drivers on <a href="https://maven.apache.org">Maven</a> Central, proprietary features of Oracle's JDBC driver including Continuous Query Notification (CQN) and Application Continuity, comparison of CQN to <a href="https://en.wikipedia.org/wiki/Change_data_capture">Change Data Capture (CDC)</a> and CQRS patterns, Oracle's Flashback Data Archive for auditing and time travel capabilities, Oracle's Advanced Queuing and Transactional Event Queues, <a href="https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/24.3/orrst/api-ords-rest-services.html">ORDS REST APIs</a>, <a href="https://www.oracle.com/database/technologies/appdev/rest.html">Oracle product page</a>, <a href="https://blogs.oracle.com/developers/post/oracle-database-client-libraries-for-java-now-on-maven-central">Oracle JDBC client libraries</a>, the plug-in mechanism implemented in early Java versions for JDBC drivers using <a href="https://Class.forName">Class.forName</a> and static initializers, Gerald Venzl's online presence and recent blog post about running Oracle database on Raspberry Pi</blockquote> <p> Gerald Venzl on twitter: <a href="https://twitter.com/geraldvenzl">@geraldvenzl</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 03 Nov 2024 14:59:34 GMT">Sun, 03 Nov 2024 14:59:34 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_319.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_318"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_318">#<span itemprop="episodeNumber">318</span></a> Java, LLMs, and Seamless AI Integration with langchain4j, Quarkus and MicroProfile</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_318">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dmytro Liubarsky (<a href="https://twitter.com/langchain4j">@langchain4j</a>) about: <blockquote>discussion on recent developments in <a href="https://www.java.com/en/">Java</a> and LLM integration, new features in <a href="https://github.com/langchain4j/langchain4j">langchain4j</a> including Easy RAG for simplified setup, SQL database retrieval with LLM-generated queries, integration with graph databases like <a href="https://neo4j.com">Neo4j</a>, Neo4j and <a href="https://github.com/microsoft/graphrag">graphrag</a>, metadata filtering for improved search capabilities, observability improvements with listeners and potential integration with <a href="https://opentelemetry.io">opentelemetry</a>, increased configurability for AI services enabling state machine-like behavior, the trend towards CPU inference and smaller, more focused models, langchain4j integration with <a href="https://quarkus.io">quarkus</a> and <a href="https://microprofile.io">MicroProfile</a>, parallels between AI integration and microservices architecture, the importance of decomposing complex AI tasks into smaller, more manageable pieces, potential cost optimization strategies for AI applications, the excitement around creating smooth APIs that integrate well with the Java ecosystem, the potential future of CPU inference and its parallels with the evolution of server infrastructure, the upcoming Devoxx conference,</blockquote> <p> Dmytro Liubarsky on twitter: <a href="https://twitter.com/langchain4j">@langchain4j</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 26 Oct 2024 09:03:30 GMT">Sat, 26 Oct 2024 09:03:30 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_318.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_317"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_317">#<span itemprop="episodeNumber">317</span></a> Quarkus and LangChain4J - A Match Made in Heaven</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_317">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Georgios Andrianakis (<a href="https://twitter.com/geoand86">@geoand86</a>) about: <blockquote>discussion on integrating <a href="https://github.com/langchain4j/langchain4j">langchain4j</a> with <a href="https://quarkus.io">quarkus</a> for enterprise AI applications, similarities between LLM integration and microservice architecture, benefits of using <a href="https://www.java.com/en/">Java</a> and <a href="https://microprofile.io">MicroProfile</a> for AI development, explanation of AI services, chat memory, and tools in LangChain4J, importance of session management and fault tolerance in LLM applications, vector databases and embeddings for efficient information retrieval, RAG (Retrieve Augmented Generation) <a href="http://connectorz.adam-bien.com">implementation</a> in enterprise settings, Quarkus dev mode features for LLM experimentation, <a href="https://www.graalvm.org/docs/reference-manual/native-image/">native image</a> support with GraalVM, local inference possibilities with Java 21's <a href="https://openjdk.org/jeps/338">Vector API</a> and quantized models, challenges in prompt engineering and model selection, upcoming features in LangChain4J including Ollama tool support and improved result streaming, future developments in Java for AI and GPU support with <a href="https://openjdk.org/projects/babylon/">Project Babylon</a>, importance of enterprise-grade features like CI/CD, testing, and cloud deployment for LLM applications</blockquote> <p> Georgios Andrianakis on twitter: <a href="https://twitter.com/geoand86">@geoand86</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 20 Oct 2024 09:33:36 GMT">Sun, 20 Oct 2024 09:33:36 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_317.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_316"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_316">#<span itemprop="episodeNumber">316</span></a> Why JVector 3 Is The Most Advanced Embedded Vector Search Engine</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_316">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jonathan Ellis (<a href="https://twitter.com/spyced">@spyced</a>) about: <blockquote>discussion of <a href="https://github.com/jbellis/jvector">JVector</a> 3 features and improvements, compression techniques for vector indexes, binary quantization vs product quantization, <a href="https://en.wikipedia.org/wiki/Anisotropy">anisotropic</a> product quantization for improved accuracy, indexing Wikipedia example, <a href="https://cassandra.apache.org/_/index.html">Cassandra</a> integration, <a href="https://en.wikipedia.org/wiki/Single_instruction,_multiple_data">SIMD</a> acceleration with <a href="https://github.com/jbellis/jvector">Fused ADC</a>, optimization with <a href="https://github.com/OpenHFT/Chronicle-Map">Chronicle Map</a>, <a href="https://huggingface.co/intfloat/e5-small-v2">E5 embedding models</a>, comparison of CPU vs GPU for vector search, implementation details and low-level optimizations in <a href="https://www.java.com/en/">Java</a>, use of Java <a href="https://openjdk.java.net/projects/panama/">Panama</a> API and foreign function interface, JVector's performance advantages, memory footprint reduction, integration with Cassandra and <a href="https://www.datastax.com/products/datastax-astra">Astra DB</a>, challenges of vector search at scale, trade-offs between RAM usage and CPU performance, <a href="https://en.wikipedia.org/wiki/Eventual_consistency">Eventual Consistency</a> in distributed vector search, comparison of different embedding models and their accuracy, importance of re-ranking in vector search, advantages of JVector over other vector search implementations</blockquote> <p> Jonathan Ellis on twitter: <a href="https://twitter.com/spyced">@spyced</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 13 Oct 2024 09:53:55 GMT">Sun, 13 Oct 2024 09:53:55 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_316.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_315"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_315">#<span itemprop="episodeNumber">315</span></a> The AI Revolution in Java Development and Devoxx Genie</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_315">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Stephan Janssen (<a href="https://twitter.com/Stephan007">@Stephan007</a>) about: <blockquote>Stephan previously appeared on <a href="https://airhacks.fm/#episode_254">"#254 How JavaPolis and Devoxx Happened"</a>, discussion on the AI revolution in programming, development of an AI-assisted photo sharing application, creation of the <a href="https://github.com/devoxx/DevoxxGenieIDEAPlugin">Devoxx Genie</a> IntelliJ plugin for AI-augmented programming, advantages of Claude 3.5 from Anthropic, use of local AI models in development environments, integration of AI in <a href="https://www.java.com/en/">Java</a> development, <a href="https://github.com/langchain4j/langchain4j">langchain4j</a> and its adoption by Red Hat, development of Java-based AI tools like <a href="https://Lama3.java">Lama3.java</a>, <a href="https://github.com/tjake/Jlama">jlama</a> and JVector, potential for specialized AI models in software development, challenges and opportunities for junior and senior developers in AI-augmented programming, importance of understanding cloud services and cost structures when using AI, potential future of prompt-based programming and code generation, discussion on maintaining and improving AI-generated code, exciting developments in Java for AI including <a href="https://openjdk.java.net/projects/valhalla/">project valhalla</a> and <a href="https://www.tornadovm.org">tornadovm</a>, potential for running AI models directly on Java without external dependencies, considerations for enterprise AI adoption and integration, the need for promoting Java's capabilities in AI development, potential for <a href="https://code.visualstudio.com">Visual Studio Code</a> port of Devoxx Genie, the challenge of maintaining AI-generated code versus keeping prompts, the concept of "prompt ops" for software development, the use of AI for code review and improvement, the potential for AI to lower the barrier to entry for new developers, and the exciting future of AI in software development</blockquote> <p> Stephan Janssen on twitter: <a href="https://twitter.com/Stephan007">@Stephan007</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 06 Oct 2024 09:03:53 GMT">Sun, 06 Oct 2024 09:03:53 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_315.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_314"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_314">#<span itemprop="episodeNumber">314</span></a> From Apache Cassandra to Serverless: Exploring Cloud-Native Databases</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_314">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jake Luciani (<a href="https://twitter.com/tjake">@tjake</a>) about: <blockquote>from <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a> to cloud databases, early programming experiences with <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> and Excel macros, studying cognitive science and its influence on his career, transition to computer science, working at Bell Labs on R language, developing open-source projects like Night <a href="https://www.jetbrains.com/rider/">Rider</a> MP3 player, creating a NoSQL database that led to involvement with <a href="https://cassandra.apache.org">Cassandra</a>, building search API on top of Cassandra, joining <a href="https://www.datastax.com">datastax</a> as an early employee, working on various aspects of Cassandra including compaction and streaming, challenges of byte buffer <a href="http://connectorz.adam-bien.com">implementation</a>, development of CQL (Cassandra Query Language), transition from NoSQL to SQL-like interfaces, separation of compute and storage in cloud databases, using <a href="https://aws.amazon.com/s3/">S3</a> as the source of truth for <a href="https://www.datastax.com/products/datastax-astra">Astra DB</a>, implementing a <a href="https://www.java.com/en/">Java</a> file system abstraction for S3 integration, using <a href="https://etcd.io">etcd</a> as a transactional cache for metadata, offering multiple APIs including <a href="https://www.keycloak.org/docs-api/5.0/rest-api/index.html">REST</a> and CQL drivers for <a href="https://www.datastax.com/products/astra-streaming">astra</a> DB, implementing JSON document storage and querying capabilities, cross-AZ cost considerations in cloud deployments, Java as a language for database development, future plans for <a href="https://github.com/tjake/Jlama">jlama</a> (Java-based LLM inference engine), the importance of open-source in cloud technologies, cost-driven architectures in cloud deployments, <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> vs. traditional deployments trade-offs, integration of AstraDB with cloud marketplaces and security considerations</blockquote> <p> Jake Luciani on twitter: <a href="https://twitter.com/tjake">@tjake</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 05 Oct 2024 16:04:01 GMT">Sat, 05 Oct 2024 16:04:01 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_314.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_313"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_313">#<span itemprop="episodeNumber">313</span></a> Revolutionizing AI with Java: From LLMs to Vector APIs</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_313">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alfonso Peterssen (<a href="https://twitter.com/TheMukel">@TheMukel</a>) about: <blockquote>Alfonso previously appeared on <a href="https://airhacks.fm/#episode_294">"#294 LLama2.java: LLM integration with A 100% Pure Java file"</a>, discussion of <a href="https://llama2.java">llama2.java</a> and <a href="https://llama3.java">llama3.java</a> projects for running LLMs in Java, performance comparison between <a href="https://www.java.com/en/">Java</a> and C implementations, use of <a href="https://openjdk.org/jeps/338">Vector API</a> in Java for matrix multiplication, challenges and potential improvements in Vector API implementation, integration of various LLM models like Mistral, <a href="https://huggingface.co/collections/microsoft/phi-3-6626e15e9585a200d2d761e3">phi</a>, <a href="https://huggingface.co/Qwen">qwen</a> or <a href="https://huggingface.co/google/gemma-7b">gemma</a>, differences in model sizes and capabilities, tokenization and chat format challenges across different models, potential for Java Community Process (JCP) standardization of <a href="https://huggingface.co/docs/hub/en/gguf">gguf</a> parsing, quantization techniques and their impact on performance, plans for integrating with <a href="https://github.com/langchain4j/langchain4j">langchain4j</a>, advantages of pure Java implementations for AI models, potential for <a href="https://www.graalvm.org">GraalVM</a> and <a href="https://www.graalvm.org/docs/reference-manual/native-image/">native image</a> optimizations, discussion on the future of specialized AI models for specific tasks, challenges in training models with language capabilities but limited world knowledge, importance of <a href="https://en.wikipedia.org/wiki/Single_instruction,_multiple_data">SIMD</a> instructions and vector operations for performance optimization, potential improvements in Java's handling of different float formats like float16 and bfloat16, discussion on the role of smaller, specialized AI models in enterprise applications and development tools</blockquote> <p> Alfonso Peterssen on twitter: <a href="https://twitter.com/TheMukel">@TheMukel</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 28 Sep 2024 10:28:57 GMT">Sat, 28 Sep 2024 10:28:57 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_313.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_312"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_312">#<span itemprop="episodeNumber">312</span></a> JAX-RS With- and Without Reactive Programming in Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_312">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Georgios Andrianakis (<a href="https://twitter.com/geoand86">@geoand86</a>) about: <blockquote>discussion on <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a> and <a href="https://en.wikipedia.org/wiki/Functional_reactive_programming">reactive programming</a> in <a href="https://quarkus.io">quarkus</a>, comparison of blocking vs non-blocking approaches, performance considerations for different use cases, Quarkus underlying architecture using <a href="https://Vert.x">Vert.x</a>, handling of HTTP requests and responses, thread management in Quarkus, reactive vs traditional programming models, integration with databases using <a href="https://hibernate.org">Hibernate</a> and Hibernate Reactive, JSON serialization options (Jackson, JSON-B), balancing act between supporting standards and providing modern features, documentation challenges for a large project like Quarkus, detecting blocked event loop threads, CPU-intensive tasks in reactive programming, non-blocking database drivers for reactive programming, historical perspective on messaging systems and their challenges, use cases for reactive programming, performance characteristics of blocking vs non-blocking systems under high load, brief mention of <a href="https://en.wikipedia.org/wiki/LangChain">LangChain</a> for <a href="https://www.java.com/en/">Java</a> and its similarity to JPA for LLMs</blockquote> <p> Georgios Andrianakis on twitter: <a href="https://twitter.com/geoand86">@geoand86</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 22 Sep 2024 16:44:49 GMT">Sun, 22 Sep 2024 16:44:49 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_312.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_311"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_311">#<span itemprop="episodeNumber">311</span></a> Developer and Database Administrator</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_311">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Gerald Venzl (<a href="https://twitter.com/GeraldVenzl">@GeraldVenzl</a>) about: <blockquote>from a 386 computer with SimCity to Oracle's database evangelist, early interest in computer hardware and software, apprenticeship as a programmer in Austria, work experience with Oracle database and PLSQL, <a href="https://stevenfeuerstein.com/">Steven Feuerstein</a>, PLSQL expert, career moves to New York, London, and San Francisco, role as product manager and team leader at Oracle, efforts to attract developers to Oracle technologies, involvement in <a href="https://developer.oracle.com/ace/">Oracle ACE Program</a>, work on <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a> files for Oracle Database, challenges with ARM port for Mac, popular <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> talk on optimizing Java code for database performance, discussion of Oracle's various database technologies including NoSQL and <a href="https://www.oracle.com/database/technologies/related/timesten.html">TimesTen</a>, importance of educating developers on database best practices, evolution of database performance techniques, future topics for discussion including Oracle architecture, <a href="https://www.java.com/en/">Java</a> integration, and business logic in databases, Gerald's team of evangelists across Europe, ways to contact Gerald and his team for speaking engagements or information</blockquote> <p> Gerald Venzl on twitter: <a href="https://twitter.com/GeraldVenzl">@GeraldVenzl</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 10 Sep 2024 13:05:47 GMT">Tue, 10 Sep 2024 13:05:47 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_311.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_310"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_310">#<span itemprop="episodeNumber">310</span></a> Java 22 and 23 Features</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_310">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Nicolai Parlog (<a href="https://twitter.com/nipafx">@nipafx</a>) about: <blockquote><a href="https://www.java.com/en/">Java</a> 22 and 23 new features overview, including unnamed variables with underscore, multi-source file launching, <a href="https://www.oracle.com/technetwork/tutorials/tutorials-1876574.html">G1</a> region pinning, Foreign Function & Memory API finalization, <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet">Markdown</a> Javadoc support, ZGC generational collector by default, discussion on Java installation and beginner-friendliness, debate on proper use of LTS terminology for Java releases, potential for Java in AI/ML space with new vector APIs and native performance, comparison of Java to <a href="https://www.python.org">python</a> for AI workloads, challenges and opportunities for Java adoption in data science and machine learning domains, importance of specialized AI models vs general models for enterprise use cases, trade-offs between developer experience and operational efficiency for different languages and runtimes, potential future directions for Java in high-performance computing and AI acceleration, previously, Nicolai appeared on <a href="https://airhacks.fm/#episode_300">"#300 Object-Oriented Programming (OOP) vs. Data-Oriented Programming (DOP) in Java"</a></blockquote> <p> Nicolai Parlog on twitter: <a href="https://twitter.com/nipafx">@nipafx</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 03 Sep 2024 09:28:12 GMT">Tue, 03 Sep 2024 09:28:12 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_310.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_309"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_309">#<span itemprop="episodeNumber">309</span></a> From Spring to Quarkus: A Java Developer&#x27;s Journey</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_309">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Georgios Andrianakis (<a href="https://twitter.com/geoand86">@geoand86</a>) about: <blockquote>early experiences with computers and programming, transition from <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> and C to <a href="https://www.java.com/en/">Java</a> in university, early career working with <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> and <a href="https://en.wikipedia.org/wiki/Jakarta_Enterprise_Beans">EJB</a>, move to Spring development, joining Red Hat and discovering <a href="https://quarkus.io">quarkus</a>, developing Spring compatibility layer for Quarkus, Vodafone Greece case study showing benefits of migrating from Spring to Quarkus, current work on <a href="https://resteasy.github.io">RESTEasy</a> Reactive and <a href="https://docs.langchain4j.dev">langchain4j</a>, exploration of future AI integration in Java with projects like <a href="https://Llama3.java">Llama3.java</a>, comparison of Spring, Quarkus, and <a href="https://micronaut.io">Micronaut</a>, discussion on the evolution of Spring and its perceived bloat, potential for Quarkus and LangChain4j to revolutionize enterprise AI integration, importance of pure Java solutions for AI inference and integration with existing enterprise applications</blockquote> <p> Georgios Andrianakis on twitter: <a href="https://twitter.com/geoand86">@geoand86</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 24 Aug 2024 14:30:47 GMT">Sat, 24 Aug 2024 14:30:47 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_309.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_308"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_308">#<span itemprop="episodeNumber">308</span></a> How Micrometer Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_308">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jonathan Schneider (<a href="https://twitter.com/jon_k_schneider">@jon_k_schneider</a>) about: <blockquote>Spinnaker's role in continuous delivery and multi-cloud deployments, multi-cloud architectures, Micrometer's origin and design as a vendor-neutral <a href="https://istio.io/latest/docs/tasks/observability/metrics/">metrics</a> abstraction library, comparison of micrometer to other metrics solutions like <a href="https://opentelemetry.io">opentelemetry</a> and <a href="https://microprofile.io/project/eclipse/microprofile-metrics">MicroProfile Metrics</a>, exploration of Micrometer's architecture including registries and meter types, debate on static vs dependency-injected registries, explanation of distribution summaries and their use cases, consideration of <a href="https://en.wikipedia.org/wiki/Unit_testing">unit testing</a> metrics, examination of Micrometer's support for multiple monitoring systems simultaneously, discussion of meter filters for customizing metric output, reflection on the trade-offs between language support and monitoring system support in metrics libraries, insights into the separation of application and runtime metrics, Jonathan's experience developing Micrometer at Netflix and Pivotal, current usage of Micrometer and <a href="https://prometheus.io">prometheus</a> in Modern's multi-tenant SaaS architecture, comparison of <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> and EC2-based deployments for different use cases, OpenRewrite's growing popularity in Europe</blockquote> <p> Jonathan Schneider on twitter: <a href="https://twitter.com/jon_k_schneider">@jon_k_schneider</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 18 Aug 2024 15:28:13 GMT">Sun, 18 Aug 2024 15:28:13 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_308.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_307"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_307">#<span itemprop="episodeNumber">307</span></a> How the Java-Optimized Vega Chip Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_307">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Gil Tene (<a href="https://twitter.com/giltene">@giltene</a>) about: <blockquote>discussion of <a href="https://www.azul.com">Azul</a> Systems' <a href="https://www.azul.com/newsroom/azul-systems-extends-leadership-in-business-critical-java-applications-performance-with-the-new-vega-series/">Vega</a> chip, a custom-designed processor optimized for Java workloads, Vega's architecture and features including multiple generations (Vega 1, 2, and 3), high core count (up to 54 cores per chip), custom instruction set, hardware-managed register windows, type-aware pointers for efficient method calls, fully symmetric multiprocessing with up to 16 chips (864 cores total), memory striping across controllers for even distribution, <a href="https://en.wikipedia.org/wiki/Transactional_memory">Hardware Transactional Memory</a> support for concurrent Java operations, custom coherency and memory ordering instructions, comparison with contemporary processors from Intel and Sun, challenges in chip design and manufacturing, impact on Java performance and concurrency, evolution of the technology and its influence on modern processor designs, Gil Tene's role in developing the Vega chip and related software technologies at Azul Systems, Gil's blog: <a href="https://stuff-gil-says.blogspot.com/">Stuff Gil Says</a></blockquote> <p> Gil Tene on twitter: <a href="https://twitter.com/giltene">@giltene</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 16 Aug 2024 13:50:43 GMT">Fri, 16 Aug 2024 13:50:43 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_307.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_306"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_306">#<span itemprop="episodeNumber">306</span></a> How Java HotSpot Compiler Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_306">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Cliff Click (<a href="https://twitter.com/cliff_click">@cliff_click</a>) about: <blockquote>Cliff Click's early computer experiences with <a href="https://en.wikipedia.org/wiki/Xerox_500_series">xerox mainframe</a> and punch cards, learning <a href="https://en.wikipedia.org/wiki/Fortran">fortran</a> at a young age, programming on <a href="https://en.wikipedia.org/wiki/TRS-80">TRS-80</a> and other early microcomputers, developing a passion for compilers and optimization, pursuing a PhD in Computer Science at Rice University, inventing the sea of nodes compiler architecture, working at <a href="https://www.motorola.com">motorola</a> and discovering Intel's benchmark cheating, joining Sun Microsystems to develop the <a href="https://www.java.com/en/">Java</a> <a href="https://en.wikipedia.org/wiki/HotSpot">HotSpot</a> compiler, presenting groundbreaking Java performance improvements at <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> 2002, frustrations with Sun's management and development processes, moving to <a href="https://www.azul.com">Azul</a> Systems for custom Java hardware development, reflections on compiler research, the challenges of being a highly productive programmer in a team environment, analyzing bug rates and productivity metrics, the importance of writing new code for feature development, enjoying Java's "write once, run anywhere" philosophy, current involvement in compiler communities on Discord and <a href="https://www.youtube.com/@compilers">Cliff Click on YouTube</a></blockquote> <p> Cliff Click on twitter: <a href="https://twitter.com/cliff_click">@cliff_click</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 06 Aug 2024 14:03:00 GMT">Tue, 06 Aug 2024 14:03:00 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_306.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_305"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_305">#<span itemprop="episodeNumber">305</span></a> How Bach - &quot;The Java Shell Builder&quot; Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_305">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Christian Stein (<a href="https://twitter.com/sormuras">@sormuras</a>) about: <blockquote>early computing experiences with <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a>, learning <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> and <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, transition to <a href="https://www.java.com/en/">Java</a> programming, developing a commercial Java game using <a href="https://www.lwjgl.org">lwjgl</a>, involvement with <a href="https://junit.org/junit5/">JUnit</a> testing framework as a committer, work on <a href="https://openjdk.java.net">openJDK</a> and Java tools at Oracle, discussion about Java build tools and dependency management, vision for a simpler Java build process using only JDK tools, multi-file source code feature in Java 22, pluggable dependency resolution, tool provider interface introduced in Java 9, potential for a new ecosystem of Java tools, <a href="https://github.com/sormuras/bach">Bach</a> - Java Shell Builder, <a href="https://youtube.com/@bienadam">Adam's YouTube channel</a> with Java programming shorts, misconceptions about Java's verbosity, future plans for Java build tools</blockquote> <p> Christian Stein on twitter: <a href="https://twitter.com/sormuras">@sormuras</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 29 Jul 2024 14:03:26 GMT">Mon, 29 Jul 2024 14:03:26 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_305.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_304"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_304">#<span itemprop="episodeNumber">304</span></a> From J2ME, over Bluetooth and Speech Recognition to AI</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_304">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Bruce Hopkins about: <blockquote>transition from <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> to <a href="https://www.java.com/en/">Java</a>, work on Bluetooth technology and writing a book on Bluetooth for Java, involvement with Sun Microsystems and <a href="https://www.oracle.com/java/technologies/javameoverview.html">Java ME</a>, becoming a Java Champion, shift to AI and natural language processing research, development of speech recognition and hands-free web navigation systems using pure Java, use of <a href="https://huggingface.co/">Hugging Face</a> libraries for NLP in 2016, writing for Linux Magazine about mesh VPNs, discovery and exploration of <a href="https://openai.com/chatgpt">ChatGPT</a>, writing a book on integrating ChatGPT with Java, shared experiences and parallel paths in Java development, discussion about Sun Microsystems vs Oracle's approach to Java, mention of various Java-related technologies like <a href="https://en.wikipedia.org/wiki/JXTA">JXTA</a>, <a href="https://cmusphinx.github.io/doc/sphinx4/javadoc">Sphinx</a>, <a href="https://freetts.sourceforge.io">FreeTTS</a>, and <a href="https://source.android.com/docs/core/runtime">Dalvik</a>, brief explanation of mesh VPNs and <a href="https://tailscale.com/">Tailscale</a>, plans for a future podcast <a href="https://airhacks.fm/#episode_104">episode</a> focused on Bruce's <a href="https://javachatgptbook.com/">JavaChatGPT</a> book</blockquote> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 21 Jul 2024 10:15:37 GMT">Sun, 21 Jul 2024 10:15:37 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_304.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_303"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_303">#<span itemprop="episodeNumber">303</span></a> Project Valhalla: Value Types, Nullability and Float16</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_303">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Paul Sandoz (<a href="https://twitter.com/paulsandoz">@paulsandoz</a>) about: <blockquote>Project Valhalla's origins and goals, value types vs reference types, heap and stack flattening optimizations, <a href="https://en.wikipedia.org/wiki/Value_object">Value objects</a> and data transfer objects, nullability constraints, enums and values, implicit constructability, potential performance gains, challenges in retrofitting value types into <a href="https://www.java.com/en/">Java</a>, implications for numeric types and operator overloading, connections to <a href="https://openjdk.org/jeps/338">Vector API</a> and Project <a href="https://openjdk.java.net/projects/panama/">Panama</a>, impact on JVM languages like Scala, timeline and development process for Project Valhalla, potential for improving Java's competitiveness in areas like machine learning, challenges in growing the Java language in an extensible way, considerations around backwards compatibility, Paul Sandoz's role in the project and future directions for Java</blockquote> <p> Paul Sandoz on twitter: <a href="https://twitter.com/paulsandoz">@paulsandoz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 14 Jul 2024 18:30:46 GMT">Sun, 14 Jul 2024 18:30:46 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_303.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_302"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_302">#<span itemprop="episodeNumber">302</span></a> OpenRewrite: Transforming Java Code at Scale</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_302">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jonathan Schneider (<a href="https://twitter.com/jon_k_schneider">@jon_k_schneider</a>) about: <blockquote><a href="https://docs.openrewrite.org">OpenRewrite</a> as an open-source tool for code transformation using <a href="https://docs.openrewrite.org/concepts-explanations/lossless-semantic-trees">lossless semantic trees</a> (LSTs), recipes as programs that manipulate the LST, <a href="https://yaml.org">YAML</a> <a href="https://kafka.apache.org/documentation/#configuration">configuration</a> for defining recipes, dry run and in-place code modification options, separation of open-source and commercial aspects of the project, <a href="https://moderne.io">Moderne</a> as a SaaS platform for large-scale code analysis and transformation, visualization features in Moderne including dependency usage violin charts, impact analysis capabilities, organizational structure in Moderne for managing large codebases, integration of OpenRewrite in various IDEs and tools including Amazon Q Code Transformer, IntelliJ IDEA, and <a href="https://code.visualstudio.com">Visual Studio Code</a>, the business model of open-source and commercial offerings, the genesis of OpenRewrite from <a href="https://en.wikipedia.org/wiki/Gradle">Gradle</a> Lint in 2015-2016, recent momentum in adoption, Jonathan's background with <a href="https://micrometer.io">micrometer</a> project, discussion about IDEs including Visual Studio Code and IntelliJ IDEA, potential future topics including Micrometer and <a href="https://spinnaker.io/">Spinnaker</a></blockquote> <p> Jonathan Schneider on twitter: <a href="https://twitter.com/jon_k_schneider">@jon_k_schneider</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 07 Jul 2024 15:03:48 GMT">Sun, 07 Jul 2024 15:03:48 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_302.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_301"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_301">#<span itemprop="episodeNumber">301</span></a> JVector: Cutting-Edge Vector Search in Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_301">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jonathan Ellis (<a href="https://twitter.com/spyced">@spyced</a>) about: <blockquote>discussion of JVector, a Java-based vector search engine, <a href="https://kudu.apache.org/">Apache Kudu</a> as an alternative to <a href="https://cassandra.apache.org">Cassandra</a> for wide-column databases, <a href="https://www.foundationdb.org/">FoundationDB</a> - is a NoSQL database, explanation of vectors and embeddings in machine learning, different embedding models and their dimensions, the <a href="https://en.wikipedia.org/wiki/Hamming_distance">Hamming distance</a>, binary quantization and product quantization for vector compression, DiskANN algorithm for efficient vector search on disk, optimistic concurrency control in JVector, challenges in implementing academic papers, the Neon database, JVector's performance characteristics and typical database sizes, advantages of <a href="https://www.datastax.com/products/astra-streaming">astra</a> DB over Cassandra, separation of compute and storage in cloud databases, Vector's use of <a href="https://openjdk.java.net/projects/panama/">Panama</a> and SIMD instructions, the potential for contributions to the JVector project, <a href="https://upstash.com/">Upstash</a> uses of JVector for their vector search service, the cutting-edge nature of JVector in the Java ecosystem, the logarithmic performance of JVector for index construction and search, typical search latencies in the 30-50 millisecond range, the young and rapidly evolving field of vector search, the self-contained nature of the JVector codebase</blockquote> <p> Jonathan Ellis on twitter: <a href="https://twitter.com/spyced">@spyced</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 30 Jun 2024 12:47:55 GMT">Sun, 30 Jun 2024 12:47:55 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_301.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_300"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_300">#<span itemprop="episodeNumber">300</span></a> Object-Oriented Programming (OOP) vs. Data-Oriented Programming (DOP) in Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_300">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Nicolai Parlog (<a href="https://twitter.com/nipafx">@nipafx</a>) about: <blockquote>the advantages and challenges of <a href="https://en.wikipedia.org/wiki/Object-oriented_programming">Object-oriented programming</a> (OOP) vs <a href="https://en.wikipedia.org/wiki/Data-oriented_design">data-oriented programming</a> (DOP) in <a href="https://www.java.com/en/">Java</a>, using Java record classes, sealed interfaces, and switch expressions to implement business logic outside of data classes, the advantages of <a href="https://en.wikipedia.org/wiki/Polymorphism_(computer_science)">polymorphism</a> and transparent persistence in specific use cases, the pitfalls of deep inheritance hierarchies and instance of checks, modeling data with records and sealed interfaces, validating data at the boundaries and ensuring immutability, using switch expressions and <a href="https://openjdk.java.net/jeps/420">pattern matching</a> for type-based logic, the advantages of data-oriented programming for maintainability and safety, applying data-oriented programming to web services and data pipelines, combining enums with records for complex configurations</blockquote> <p> Nicolai Parlog on twitter: <a href="https://twitter.com/nipafx">@nipafx</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 23 Jun 2024 12:17:01 GMT">Sun, 23 Jun 2024 12:17:01 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_300.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_299"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_299">#<span itemprop="episodeNumber">299</span></a> From JSP to Rife and From Kotlin to Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_299">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with ethauvin (<a href="https://twitter.com/Erik C. Thauvin">@Erik C. Thauvin</a>) about: <blockquote>Erik previously on: <a href="https://airhacks.fm/#episode_298">"#298 The bld Power User"</a>, running a high-traffic link blog using <a href="https://en.wikipedia.org/wiki/JavaServer_Pages">JSP</a> and <a href="http://tomcat.apache.org">Tomcat</a>, challenges with caching and performance, meeting Geert Bevin through discussions about URL encoding, evaluating and migrating his blog to the <a href="https://rife2.com/">Rife</a> framework, appreciating Rife's lean architecture and built-in utilities, the appeal and disappointment of <a href="https://rubyonrails.org">Ruby on Rails</a>, using lightweight Java application servers like <a href="https://javaee.github.io/glassfish/">Glassfish</a> and <a href="https://www.payara.fish/">Payara</a>, avoiding heavy dependencies and XML configuration, generating XML with <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a>, the advantages of Rife's templating system and code readability, Erik's journey with <a href="https://kotlinlang.org">Kotlin</a> and reasons for returning to Java, building a Kotlin URL encoding library with multiplatform support, the power of Kotlin's multiplatform capabilities, discussing the <a href="https://rife2.com/bld">BLD build tool</a> and its origins in simplifying build processes, the complexities of modern Java builds with dependencies compared to the simplicity of <a href="https://javaee.github.io">Java EE</a>, considering Ant as an alternative to <a href="https://maven.apache.org">Maven</a>, the idea of "Build as Code" and integrating build logic into applications, Erik's experience converting over 60 projects to bld, challenges of introducing new build tools in enterprise environments, Erik's automated blog posting system</blockquote> <p> ethauvin on twitter: <a href="https://twitter.com/Erik C. Thauvin">@Erik C. Thauvin</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 17 Jun 2024 04:52:44 GMT">Mon, 17 Jun 2024 04:52:44 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_299.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_298"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_298">#<span itemprop="episodeNumber">298</span></a> The bld Power User</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_298">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Erik C. Thauvin (<a href="https://twitter.com/ethauvin">@ethauvin</a>) about: <blockquote>previously Erik on <a href="https://airhacks.fm/#episode_287">"#287 How Linkblog Happened"</a>, from <a href="https://rife2.com/">Rife</a> to <a href="https://rife2.com/bld">bld</a>, Gert on <a href="https://airhacks.fm/#episode_284">"#284 No Dependencies--Or How Rife 2 and Bld Happened"</a>, the simplicity and power of bld compared to <a href="https://en.wikipedia.org/wiki/Gradle">Gradle</a> and <a href="https://maven.apache.org">Maven</a>, using <a href="https://www.java.com/en/">Java</a> as the build language without any DSLs or plugins, the advantages of a direct approach to building and running tools, converting projects from Gradle to bld and the resulting simplification, creating extensions for bld to integrate with various tools and libraries, the benefits of using pure Java for build files and the flexibility it provides, the speed of bld and the underlying Java compilers, ideas for future improvements and features in bld, the philosophy behind bld and its focus on simplicity and developer productivity, the potential for using bld as a scripting tool and automation platform, the extension mechanism in bld and how it leverages the builder pattern, the performance gains of using bld over traditional build tools, the aesthetics and user experience of bld, the history of Java compilers and the evolution of Java desktop applications</blockquote> <p> Erik C. Thauvin on twitter: <a href="https://twitter.com/ethauvin">@ethauvin</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 09 Jun 2024 17:01:08 GMT">Sun, 09 Jun 2024 17:01:08 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_298.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_297"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_297">#<span itemprop="episodeNumber">297</span></a> Observability-Driven Development with Digma, Serverless and Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_297">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Roni Dover (<a href="https://twitter.com/doppleware">@doppleware</a>) about: <blockquote>previously Roni on <a href="https://airhacks.fm">airhacks.fm</a> <a href="https://airhacks.fm/#episode_252">"#252 BDD: Bug Driven Development vs. Continuous Observability"</a>, discussion about the <a href="https://www.java.com/en/">Java</a> community and its focus on innovation, Digma and Java, Digma's growth and user feedback, observability as a tool for early issue detection and better code design, the importance of continuous observability and reducing mental effort, Digma's elevator pitch and data science approach, the changing testing pyramid and the benefits of test containers, <a href="https://airhacks.fm/#episode_103">"#103 Unit Testing Considered Harmful"</a>, the cost and value of different types of tests, optimizing <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> costs and performance, linking <a href="https://en.wikipedia.org/wiki/System_testing">System Tests</a> to traces from <a href="https://quarkus.io">quarkus</a> JVMs, Digma's architecture and deployment options, recent features and improvements in Digma, the impact of observability on productivity and shorter feedback loops, <a href="https://github.com/alexcasalboni/aws-lambda-power-tuning">AWS Lambda Power Tuning</a>, the limitations and potential of large language models (LLMs) in generating tests and code, the importance of understanding the client and writing maintainable code, the challenges of complex code generated by LLMs, the potential of feeding runtime data to LLMs for code generation and optimization, the Java community's vibrant and innovative nature</blockquote> <p> Roni Dover on twitter: <a href="https://twitter.com/doppleware">@doppleware</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 02 Jun 2024 10:28:36 GMT">Sun, 02 Jun 2024 10:28:36 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_297.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_296"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_296">#<span itemprop="episodeNumber">296</span></a> Exploring ONNX, Embedding Models, and Retrieval Augmented Generation (RAG) with Langchain4j</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_296">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dmytro Liubarskyi (<a href="https://twitter.com/langchain4j">@langchain4j</a>) about: <blockquote>Dmytro previously on <a href="https://airhacks.fm/#episode_285">"#285 How LangChain4j Happened"</a>, discussion about <a href="https://onnx.ai/">ONNX</a> format and runtime for running neural network models in <a href="https://www.java.com/en/">Java</a>, using <a href="https://github.com/langchain4j/langchain4j">langchain4j</a> library for seamless integration and data handling, embedding models for converting text into vector representations, strategies for handling longer text inputs by splitting and averaging embeddings, overview of the retrieval augmented generation (RAG) pipeline and its components, using embeddings for query transformation, routing, and data source selection in RAG, integrating Langchain4j with <a href="https://quarkus.io">quarkus</a> and <a href="http://www.cdi-spec.org">CDI</a> for building AI-powered applications, Langchain4j provides pre-packaged ONNX models as <a href="https://maven.apache.org">Maven</a> dependencies, embedding models are faster and smaller compared to full language models, possibilities of using embeddings for query expansion, summarization, and data source selection, cross-checking model outputs using embeddings or another language model, decomposing complex AI services into smaller, specialized sub-modules, injecting the right tools and data based on query classification</blockquote> <p> Dmytro Liubarskyi on twitter: <a href="https://twitter.com/langchain4j">@langchain4j</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 01 Jun 2024 07:23:10 GMT">Sat, 01 Jun 2024 07:23:10 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_296.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_295"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_295">#<span itemprop="episodeNumber">295</span></a> High-Performance Java, Or How JVector Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_295">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jonathan Ellis (<a href="https://twitter.com/spyced">@spyced</a>) about: <blockquote>Jonathan's first computer experiences with IBM PC <a href="https://en.wikipedia.org/wiki/Intel_8086">8086</a> and Thinkpad laptop with Red Hat Linux, becoming a key contributor to <a href="https://cassandra.apache.org/_/index.html">Apache Cassandra</a> and founding <a href="https://www.datastax.com">datastax</a>, starting DataStax to provide commercial support for <a href="https://cassandra.apache.org">Cassandra</a>, early experiences with <a href="https://www.java.com/en/">Java</a>, <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, and <a href="https://www.python.org">python</a>, discussion about the evolution of Java and its ecosystem, the importance of vector databases for <a href="https://en.wikipedia.org/wiki/Semantic_search">semantic search</a> and retrieval augmented generation, the development of JVector for high-performance vector search in Java, the potential of integrating JVector with LangChain for Java / <a href="https://github.com/langchain4j/langchain4j">langchain4j</a> and <a href="https://quarkus.io">quarkus</a> for <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> deployment, the advantages of Java's productivity and performance for building concurrent data structures, the shift from locally installed software to cloud-based services, the challenges of being a manager and the benefits of taking a sabbatical to focus on creative pursuits, the importance of separating storage and compute in cloud databases, Cassandra's write-optimized architecture and improvements in read performance, DataStax's investment in <a href="https://pulsar.apache.org">Apache Pulsar</a> for stream processing, the <a href="https://github.com/mukel/llama2.java">llama2java</a> project for high-performance language models in Java</blockquote> <p> Jonathan Ellis on twitter: <a href="https://twitter.com/spyced">@spyced</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 18 May 2024 10:51:35 GMT">Sat, 18 May 2024 10:51:35 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_295.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_294"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_294">#<span itemprop="episodeNumber">294</span></a> LLama2.java: LLM integration with A 100% Pure Java file</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_294">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alfonso Peterssen (<a href="https://twitter.com/TheMukel">@TheMukel</a>) about: <blockquote>discussion about Alfonso's early programming experience and participation in the <a href="https://stats.ioinformatics.org">IOI</a> competition, studying computer science and functional programming with Martin Odersky, internships at Google and <a href="https://www.twitch.tv/oracle_labs">Oracle Labs</a> working on compilers and the <a href="https://www.graalvm.org/latest/reference-manual/java-on-truffle/">Espresso</a> project implementing a JVM in Java, espresso mentioned in <a href="https://airhacks.fm/#episode_208">"#208 GraalVM: Meta Circularity on Different Levels"</a>, <a href="https://airhacks.fm/#episode_194">"#194 GraalVM, Apple Silicon (M1) and Clouds"</a>, <a href="https://airhacks.fm/#episode_167">"#167 GraalVM and Java 17, Truffle, Espresso and Native Image"</a> and <a href="https://airhacks.fm/#episode_157">"#157 The Ingredients of GraalVM"</a>, porting <a href="https://llvm.org">LLVM</a> to pure Java in one class, integrating Large Language Models (LLMs) in Java by porting the LLAMA model from C to Java, GPU acceleration with <a href="https://www.tornadovm.org">tornadovm</a>, TornadoVM appeared at <a href="https://airhacks.fm/#episode_282">"#282 TornadoVM, Paravox.ai: Java, AI, LLMs and Hardware Acceleration"</a>, performance of the Java port being within 10% of the C versions, potential huge opportunities for integrating AI and LLMs with enterprise Java systems for use cases like fraud detection, the Java port being a 1,000 line self-contained implementation with no external dependencies, the need for more resources and support to further develop the Java LLM integration, the <a href="https://github.com/mukel/llama2.java">llama2.java</a> project</blockquote> <p> Alfonso Peterssen on twitter: <a href="https://twitter.com/TheMukel">@TheMukel</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 12 May 2024 15:00:53 GMT">Sun, 12 May 2024 15:00:53 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_294.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_293"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_293">#<span itemprop="episodeNumber">293</span></a> How Kotlin Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_293">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Anton Arhipov (<a href="https://twitter.com/antonarhipov">@antonarhipov</a>) about: <blockquote>Anton appeared previously on <a href="https://airhacks.fm/#episode_273">"#273 The Long Road to Java and Kotlin"</a>, discussion about Anton Arhipov's artwork using circles and a compass, attending the JVM Language Summit in 2011 where Kotlin was introduced by JetBrains, initial skepticism about the need for a new JVM language, <a href="https://jcp.org/en/jsr/detail?id=305">JSR-305</a> Annotations for Software Defect Detection by <a href="https://en.wikipedia.org/wiki/William_Pugh_(computer_scientist)">William Pugh</a>, Kotlin's null safety features and interoperability with Java, Kotlin's growth and adoption by Android developers, Kotlin's multiplatform capabilities for targeting native, JavaScript, and <a href="https://webassembly.org">WebAssembly</a>, Kotlin's potential beyond Android development, Kotlin's core libraries for date/time, serialization, and <a href="https://en.wikipedia.org/wiki/Coroutine">coroutines</a>, the Kotlin compiler being self-hosted and written in Kotlin, benefits of Kotlin Native for <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> and IoT compared to <a href="https://www.graalvm.org">GraalVM</a>, <a href="https://kotlinlang.org/docs/multiplatform.html">Kotlin Multiplatform</a> support in the upcoming <a href="https://www.jetbrains.com/fleet/">JetBrains Fleet</a> IDE, designers using similar UI principles across IDEs and applications</blockquote> <p> Anton Arhipov on twitter: <a href="https://twitter.com/antonarhipov">@antonarhipov</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 05 May 2024 16:25:06 GMT">Sun, 05 May 2024 16:25:06 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_293.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_292"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_292">#<span itemprop="episodeNumber">292</span></a> How Azul Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_292">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Gil Tene (<a href="https://twitter.com/giltene">@giltene</a>) about: <blockquote>starting with hacking adventure games on a <a href="https://en.wikipedia.org/wiki/VAX-11">VAX-11/780</a> as a teenager, building computers and making money in high school, providing access to <a href="https://en.wikipedia.org/wiki/Usenet">Usenet</a>, early programming experiences with <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> and C/C++, moving to Silicon Valley in 1994 and witnessing the rise of <a href="https://www.java.com/en/">Java</a>, working on fault-tolerant computer systems at <a href="https://en.wikipedia.org/wiki/Stratus_Technologies">Stratus</a> Computer, co-founding <a href="https://www.azul.com">Azul</a> Systems and developing the <a href="https://www.azul.com/newsroom/azul-systems-extends-leadership-in-business-critical-java-applications-performance-with-the-new-vega-series/">Vega</a> appliances to virtualize Java applications, the technical details of how Vega appliances worked by running JVMs on specialized hardware, the evolution of Azul to focus on pure software solutions such as <a href="https://www.azul.com/products/prime/">Zing</a> and supporting <a href="https://openjdk.java.net">openJDK</a>, Gil's continued involvement in coding and maintaining open-source libraries</blockquote> <p> Gil Tene on twitter: <a href="https://twitter.com/giltene">@giltene</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 28 Apr 2024 13:17:24 GMT">Sun, 28 Apr 2024 13:17:24 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_292.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_291"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_291">#<span itemprop="episodeNumber">291</span></a> Pure Java AI</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_291">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dr. Zoran Sevarac (<a href="https://twitter.com/zsevarac">@zsevarac</a>) about: <blockquote>Zoran previously on <a href="https://airhacks.fm:">airhacks.fm:</a> <a href="https://airhacks.fm/#episode_169">"#169 Deep Learning with Modern Java Code"</a>, discussion about the latest updates and features in <a href="https://www.deepnetts.com/">DeepNetts</a>, a full-stack <a href="https://www.java.com/en/">Java</a> AI platform, University of Minnesota's drug testing application using DeepNetts, Jefferson Lab's particle research using DeepNetts Community Edition, including GPU support for faster inference using <a href="http://javagl.de/jcuda.org/">jcuda</a>, TensorFlow compatibility, and simplified AI integration with <a href="https://jcp.org/en/jsr/detail?id=381">JSR-381</a>, real-world applications of DeepNetts in drug testing and particle research, challenges and considerations for using GPUs in <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> environments, the potential of Apple's M-series chips for machine learning, exploring <a href="https://openjdk.org/projects/babylon/">Project Babylon</a> and <a href="https://openjdk.org/projects/babylon/">Code Reflection</a> in Java, using <a href="https://openjdk.java.net/projects/panama/">Panama</a> and <a href="https://github.com/openjdk/jextract">jextract</a> for native library bindings, the importance of having developer tools and an IDE for building AI models, plans for integrating large language models into DeepNetts, the advantages of a pure Java solution for AI in enterprise applications, and the bright future of Java in the AI ecosystem, Deep Nets 3.1.0 release with GPU support</blockquote> <p> Dr. Zoran Sevarac on twitter: <a href="https://twitter.com/zsevarac">@zsevarac</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 20 Apr 2024 13:07:42 GMT">Sat, 20 Apr 2024 13:07:42 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_291.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_290"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_290">#<span itemprop="episodeNumber">290</span></a> How OpenRewrite Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_290">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jonathan Schneider (<a href="https://twitter.com/jon_k_schneider">@jon_k_schneider</a>) about: <blockquote>from Pentium 2 machine and a rural high school to becoming a <a href="https://www.java.com/en/">Java</a> refactoring entrepreneur, self-taught <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> in high school, officer in the U.S. Army and deployed to Iraq and Afghanistan, worked on Java projects at an insurance company between deployments, joined Netflix to work on engineering tools, challenges of migrating Java versions and libraries in a freedom and responsibility culture, started the <a href="https://docs.openrewrite.org">OpenRewrite</a> project at Netflix for automated refactoring and code migration, founded the <a href="https://micrometer.io">micrometer</a> <a href="https://en.wikipedia.org/wiki/Observability_(software)">metrics</a> instrumentation project at Pivotal, challenges of introducing automated pull requests in enterprise environments, rebooted OpenRewrite while working with Gradle's Hans Dockter, founded <a href="https://www.moderne.io/blog/overview-of-openrewrite-and-moderne">Moderne</a> to commercialize OpenRewrite for large-scale enterprise refactoring, the origin of the Moderne name and its Art Deco roots, OpenRewrite's <a href="https://maven.apache.org">Maven</a> and Gradle plugins for refactoring and styling using a visitor pattern on an enriched AST, Moderne's enterprise offering for large-scale refactoring and impact analysis, potential integration with large language models and retrieval-augmented generation for code optimization</blockquote> <p> Jonathan Schneider on twitter: <a href="https://twitter.com/jon_k_schneider">@jon_k_schneider</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 14 Apr 2024 12:34:33 GMT">Sun, 14 Apr 2024 12:34:33 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_290.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_289"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_289">#<span itemprop="episodeNumber">289</span></a> Underscore, Pattern Matching, Java LTS And When Previews Are Stable</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_289">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Nicolai Parlog (<a href="https://twitter.com/nipafx">@nipafx</a>) about: <blockquote>Nicolai previously on <a href="https://airhacks.fm/#episode_206">"#206 Java 19: Millions of Threads in No Time"</a>, discussion about the underscore feature in <a href="https://www.java.com/en/">Java</a> 22 and its importance in <a href="https://openjdk.java.net/jeps/420">pattern matching</a>, using the underscore for unused <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> parameters and deconstruction of records, avoiding default branches when switching over sealed types, the deprecation and removal of underscore as a regular variable name, the foresight of the Java community in making underscore unusable, the simplicity of installing Java compared to other languages, the need for a minimalistic Java build tool for better <a href="https://developer.mozilla.org/en-US/docs/Tools">developer experience</a>, <a href="https://sdkman.io/">SdkMan</a>, the <a href="https://rife2.com/bld">bld</a> tool as an example of a pure Java build tool, the process of contributing to OpenJDK and the importance of starting with a problem statement, the distinction between Java specifications and implementations, the concept of long-term support (LTS) in Java and its relation to vendors, the importance of using the right terminology to avoid misunderstandings in the Java ecosystem</blockquote> <p> Nicolai Parlog on twitter: <a href="https://twitter.com/nipafx">@nipafx</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 07 Apr 2024 19:08:45 GMT">Sun, 07 Apr 2024 19:08:45 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_289.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_288"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_288">#<span itemprop="episodeNumber">288</span></a> Integrating AI with Java: Quarkus and Langchain4j</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_288">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dimitris Andreadis (<a href="https://twitter.com/dandreadis">@dandreadis</a>) about: <blockquote>Dimitris appeared previously on <a href="https://airhacks.fm/#episode_64">"#64 Quarkus 1.0 and SpringBoot"</a>, discussion about integrating AI language models (LLMs) with <a href="https://www.java.com/en/">Java</a> applications using <a href="https://quarkus.io">quarkus</a> and <a href="https://github.com/langchain4j/langchain4j">langchain4j</a>, <a href="https://www.redhat.com/en/technologies/cloud-computing/openshift/openshift-ai">OpenShift AI</a>, the benefits of using Quarkus for AI integration, <a href="https://www.drools.org">Drools</a> and ML, the potential of using AI for rule engines and decision making, the challenges of handling state and context with LLMs, <a href="https://infinispan.org/">InfiniSpan</a> and vector databases, the role of vector stores and embeddings for semantic search, the advantages of Java for enterprise applications and maintenance, the potential of using AI models natively with <a href="https://www.graalvm.org">GraalVM</a>, the importance of tools functionality for LLMs to call Java methods, the excitement around AI in the Java community, the future trajectory of tighter integration between Java and AI models, the potential of using AI for code generation and intelligent developer tooling</blockquote> <p> Dimitris Andreadis on twitter: <a href="https://twitter.com/dandreadis">@dandreadis</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 31 Mar 2024 12:26:57 GMT">Sun, 31 Mar 2024 12:26:57 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_288.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_287"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_287">#<span itemprop="episodeNumber">287</span></a> How Linkblog Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_287">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Erik C. Thauvin (<a href="https://twitter.com/ethauvin">@ethauvin</a>) about: <blockquote>early computer experiences with <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">Logo</a> and <a href="https://en.wikipedia.org/wiki/TRS-80_Model_III">Tandy Model 3</a>, writing horse race handicapping software as a kid, working at Apple at 16 writing resource editor for Mac, starting consulting firm and building custom software, attending Sun Tech Days to learn about <a href="https://en.wikipedia.org/wiki/PalmPilot">Palm Pilot</a> and <a href="https://www.java.com/en/">Java</a>, writing linkblog with <a href="https://en.wikipedia.org/wiki/Apache_Tomcat">Tomcat</a> and <a href="https://en.wikipedia.org/wiki/JavaServer_Pages">JSP</a>, creating popular linkblog with 8 million monthly views, converting projects to <a href="https://rife2.com/">Rife</a> and BLD frameworks, motivations for writing software he needs, Erik's blog: <a href="https://erik.thauvin.net">erik.thauvin.net</a></blockquote> <p> Erik C. Thauvin on twitter: <a href="https://twitter.com/ethauvin">@ethauvin</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 23 Mar 2024 10:29:14 GMT">Sat, 23 Mar 2024 10:29:14 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_287.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_286"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_286">#<span itemprop="episodeNumber">286</span></a> A Better JNI: Project Panama</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_286">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Paul Sandoz (<a href="https://twitter.com/paulsandoz">@paulsandoz</a>) about: <blockquote>Paul previously appeared on <a href="https://airhacks.fm/#episode_277">"#277 Project Babylon"</a>, article about <a href="https://openjdk.org/projects/babylon/articles/auto-diff">Automatic differentiation of Java code using code reflection</a>, using <a href="https://openjdk.org/projects/babylon">Project Babylon</a> for automatic differentiation, emulating <a href="https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/">C# LINQ</a> in <a href="https://www.java.com/en/">Java</a>, writing <a href="https://github.com/openai/triton">Triton</a> programs in Java for GPU execution, using Project <a href="https://openjdk.java.net/projects/panama/">Panama</a> for native interoperability with C/C++ libraries, <a href="https://github.com/openjdk/jextract">JExtract</a> tool for generating Java bindings from C headers, memory management with Panama memory segments and arenas, advantages of Panama over JNI, integrating Java with <a href="https://onnx.ai/">ONNX</a> models, persistent memory and object storage</blockquote> <p> Paul Sandoz on twitter: <a href="https://twitter.com/paulsandoz">@paulsandoz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 Mar 2024 18:57:24 GMT">Sun, 17 Mar 2024 18:57:24 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_286.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_285"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_285">#<span itemprop="episodeNumber">285</span></a> How LangChain4j Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_285">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dmytro Liubarskyi (<a href="https://twitter.com/langchain4j">@langchain4j</a>) about: <blockquote>continuous Windows 95 re-installation on Pentium 2 then Pentium 3, early interest in J2ME development and websites, transition to <a href="https://www.java.com/en/">Java</a> and enterprise software development, motivation behind creating <a href="https://github.com/langchain4j/langchain4j">langchain4j</a>, integration with embedding models, vector databases, and <a href="https://onnxruntime.ai/">ONNX Runtime</a>, langchain4j core abstracts: language models, chat memory, AI services, tools, langchain4j, <a href="https://onnx.ai">onnx.ai</a>, Dynamic tools with <a href="https://www.graalvm.org">GraalVM</a>, Enterprise use cases and integration with Java stacks, OpenAI, Anthropic, Cohere, Hugging Face, Bedrock, Olama, Gemini</blockquote> <p> Dmytro Liubarskyi on twitter: <a href="https://twitter.com/langchain4j">@langchain4j</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 12 Mar 2024 17:47:55 GMT">Tue, 12 Mar 2024 17:47:55 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_285.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_284"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_284">#<span itemprop="episodeNumber">284</span></a> No Dependencies--Or How Rife 2 and Bld Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_284">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Geert Bevin (<a href="https://twitter.com/gbevin">@gbevin</a>) about: <blockquote>Yamaha DX7 - Geerts first synthesizer, <a href="https://en.wikipedia.org/wiki/Minimoog">Classic Minimoog analog synthesizer by Bob Moog</a>, First synthesizer was a Yamaha DX7 successor, Early music production using <a href="https://en.wikipedia.org/wiki/Amiga">Amiga</a> computer and MIDI, iOS and macOS development with focus on audio DSP and synthesis, Returning to <a href="https://www.java.com/en/">Java</a> development after years away, high productivity with Java, New Java release cadence and experimental features, <a href="https://rife2.com/">Rife</a> web framework and bidirectional template engine, <a href="https://rife2.com/bld">BLD build tool</a> and philosophy, <a href="https://kotlinlang.org/docs/multiplatform.html">Kotlin Multiplatform</a> capabilities, SwiftUI DX compared to Java and IntelliJ, <a href="https://moogmusic.com/">Moog Music website</a>, <a href="https://en.wikipedia.org/wiki/Jean_Michel_Jarre">Jean Michel Jarre</a>, Geert personal website, <a href="https://github.com/rife2/rife2">Rife 2 GitHub project</a>, <a href="https://github.com/rife2/bld">Bld GitHub project</a>, Geeert's website: <a href="https://uwyn.com">uwyn.com</a></blockquote> <p> Geert Bevin on twitter: <a href="https://twitter.com/gbevin">@gbevin</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 03 Mar 2024 20:19:31 GMT">Sun, 03 Mar 2024 20:19:31 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_284.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_283"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_283">#<span itemprop="episodeNumber">283</span></a> From Hexagonal Architectures to Data Oriented Programming</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_283">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jose Paumard (<a href="https://twitter.com/JosePaumard">@JosePaumard</a>) about: <blockquote>discussion about <a href="https://en.wikipedia.org/wiki/Object-oriented_programming">Object-oriented programming</a> vs data-oriented programming in <a href="https://www.java.com/en/">Java</a>, using Java record classes, hexagonal architectures, considerations for decoupling and abstractions, the advantages of polymorphism and transparent persistence, the pitfalls of inheritance and abstraction, the importance of naming and cohesion sealed interfaces and switch expressions to implement business logic outside of data classes, using sealed types and switch statements, advantages of better separation of concerns and ease of removing unused code, data-oriented programming with NoSQL, the Citroen 2CV (Duck) Car</blockquote> <p> Jose Paumard on twitter: <a href="https://twitter.com/JosePaumard">@JosePaumard</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 25 Feb 2024 20:49:39 GMT">Sun, 25 Feb 2024 20:49:39 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_283.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_282"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_282">#<span itemprop="episodeNumber">282</span></a> TornadoVM, Paravox.ai: Java, AI, LLMs and Hardware Acceleration</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_282">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Juan Fumero (<a href="https://twitter.com/snatverk">@snatverk</a>) about: <blockquote>Juan previously appeared in the <a href="https://airhacks.fm/#episode_104">episode</a> <a href="https://airhacks.fm/#episode_250">"#250 FPGAs, GPUs or Data Science with Java"</a>, using Tornado to run <a href="https://www.java.com/en/">Java</a> programs on GPUs/accelerators, integrating AI models with Java applications, potential of using Tornado and <a href="https://openjdk.org/projects/babylon/">Project Babylon</a> together, discussion around tensor types in Java, Paul Sandoz appeared in the episode <a href="https://airhacks.fm/#episode_277">"#277 Project Babylon"</a>, <a href="https://nipafx.dev/inside-java-newscast-58/#heterogeneous-accelerator-toolkit-hat">Heterogeneous Accelerator Toolkit</a> by Gary Frost, <a href="https://medium.com/@mpapadimitriou92/java-and-llms-are-we-there-yet-300cf9418ed7">TornadoVM and LLama port</a>, Hybrid API for <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/deep-learning.html">Deep Learning</a> acceleration and the new Panama-based types: <a href="https://www.youtube.com/watch?v=VTzGlnv6nuA">TornadoVM talk at JVMLS'23</a>, <a href="https://github.com/beehive-lab/TornadoVM/releases/tag/v1.0">TornadoVM 1.0 Release notes</a>, <a href="https://twitter.com/TheMukel">Alfonso Peterssen</a> ported llama to Java, <a href="https://github.com/mukel/llama2.java">Initial Java port from the GraalVM team</a>, Java / AI startup: <a href="https://paravox.ai">paravox.ai</a></blockquote> <p> Juan Fumero on twitter: <a href="https://twitter.com/snatverk">@snatverk</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 18 Feb 2024 19:29:47 GMT">Sun, 18 Feb 2024 19:29:47 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_282.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_281"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_281">#<span itemprop="episodeNumber">281</span></a> Java and eBPF</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_281">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Johannes Bechberger (<a href="https://twitter.com/parttimen3rd">@parttimen3rd</a>) about: <blockquote>previously Johannes on <a href="https://airhacks.fm:">airhacks.fm:</a> <a href="https://airhacks.fm/#episode_276">"#276 A Compiler Nerd Builds a Tiny Profiler"</a>, <a href="https://github.com/iovisor/bcc">bcc</a> and <a href="https://github.com/libbpf/libbpf">libbpf</a>, generating <a href="https://www.java.com/en/">Java</a> code from c-library headers: <a href="https://github.com/openjdk/jextract">jextract</a>, using Project <a href="https://openjdk.java.net/projects/panama/">Panama</a> as JNI alternative, <a href="https://sapmachine.io">sapmachine.io</a> - openJDK from SAP, <a href="https://mostlynerdless.de/blog/2023/12/31/hello-ebpf-developing-ebpf-apps-in-java-1">Hello eBPF: Developing eBPF Apps in Java</a></blockquote> <p> Johannes Bechberger on twitter: <a href="https://twitter.com/parttimen3rd">@parttimen3rd</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 11 Feb 2024 20:48:56 GMT">Sun, 11 Feb 2024 20:48:56 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_281.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_280"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_280">#<span itemprop="episodeNumber">280</span></a> Virtual Threads and Scoped Values with Jose</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_280">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jose Paumard (<a href="https://twitter.com/JosePaumard">@JosePaumard</a>) about: <blockquote>Jose previously on <a href="https://airhacks.fm/#episode_271">"#271 From Image Recognition to CoffeeCast"</a>, Joses favourite <a href="https://www.java.com/en/">Java</a> 21 feature: virtual threads, <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a>, Tomas Langer on <a href="https://airhacks.fm:">airhacks.fm:</a> <a href="https://airhacks.fm/#episode_58">"#58 Helidon: Never Block The Thread"</a>, the advantages of <a href="https://openjdk.org/jeps/453">structured concurrency</a>, scope values: immutability and passing, the challenges of debugging reactive code, replacing thread locals, Scala, concurrency and plain Java features, ThreadLocal vs. <a href="https://openjdk.org/jeps/464">Scoped Values</a> (JEP-464), <a href="https://aws.amazon.com/lambda/">AWS Lambda</a> and virtual threads, running same code in <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> or threaded environments with <a href="https://quarkus.io">quarkus</a></blockquote> <p> Jose Paumard on twitter: <a href="https://twitter.com/JosePaumard">@JosePaumard</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 04 Feb 2024 20:15:42 GMT">Sun, 04 Feb 2024 20:15:42 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_280.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_279"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_279">#<span itemprop="episodeNumber">279</span></a> Java, Continuations and How Rife Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_279">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Geert Bevin (<a href="https://twitter.com/gbevin">@gbevin</a>) about: <blockquote>early days learning to code on a <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a> and writing a painting program, learning <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, then <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, building custom software for companies in Belgium using <a href="https://www.java.com/en/">Java</a> and owned the IP, Seaside web framework was written in <a href="https://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a>, <a href="https://rife2.com/">Rife</a> web framework, Cameron Purdy on <a href="https://airhacks.fm/#episode_16">"#16 Java, Caching and How the Information Flows"</a>, Cedric Beust on <a href="https://airhacks.fm/#episode_134">"#134 How EJBGen, TestNG and ...Android happened"</a>, the lightweight <a href="https://sparkjava.com/">Spark (web framework)</a>, <a href="https://en.wikipedia.org/wiki/Gradle">Gradle</a> and <a href="https://maven.apache.org">Apache Maven</a>, <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a> and <a href="https://en.wikipedia.org/wiki/Continuation">Continuations</a>, <a href="https://rife2.com/bld">BLD build tool</a>, <a href="https://en.wikipedia.org/wiki/Object-oriented_programming">Object-oriented programming</a>, Smalltalk, <a href="https://en.wikipedia.org/wiki/Seaside_(software)">Seaside (software)</a>, <a href="https://asm.ow2.io/">ASM (Java bytecode manipulation and analysis framework)</a>, Rife and continuations, Rife is based on <a href="https://en.wikipedia.org/wiki/Servlet">Servlets</a>, <a href="https://en.wikipedia.org/wiki/Velocity_(software)">Velocity (software)</a>, Spark (web framework), <a href="https://www.eclipse.org/jetty/">jetty</a> (web server),Apache <a href="http://tomcat.apache.org">Tomcat</a>, <a href="https://en.wikipedia.org/wiki/WAR_(Sun_file_format)">WAR (Sun file format)</a>, <a href="https://en.wikipedia.org/wiki/JavaServer_Pages">JSP</a>, <a href="https://en.wikipedia.org/wiki/Kotlin_(programming_language)">Kotlin</a>, <a href="https://en.wikipedia.org/wiki/Oracle_Coherence">Tangosol</a>, <a href="https://en.wikipedia.org/wiki/TestNG">TestNG</a></blockquote> <p> Geert Bevin on twitter: <a href="https://twitter.com/gbevin">@gbevin</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 28 Jan 2024 19:55:43 GMT">Sun, 28 Jan 2024 19:55:43 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_279.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_278"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_278">#<span itemprop="episodeNumber">278</span></a> Java at Azul: The Interesting Features</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_278">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Gerrit Grunwald (<a href="https://twitter.com/hansolo_">@hansolo_</a>) about: <blockquote>Gerrit appeared previously at <a href="https://airhacks.fm/#episode_268">"#268 How Han Solo wrote SteelSeries"</a>, Java desktop applications are still widely used in large companies and industries for internal tools, as they are easy to build and deploy. Swing and <a href="https://openjfx.io">JavaFX</a> are faster and more native than their reputation suggests. On the server side, Java is very efficient for cloud workloads compared to other languages. The <a href="https://www.azul.com/downloads/?package=jdk#zulu">Zulu OpenJDK</a> production-ready build of OpenJDK offers added features like security scanning. Azul <a href="https://www.azul.com/products/prime/">Zing</a>, <a href="https://www.azul.com/products/vulnerability-detection/">Azul Vulnerability Detection</a>, <a href="https://airhacks.fm/#episode_126">"#126 JavaFX Everywhere ...also in App Stores"</a> with <a href="http://airhacks.fm/#episode_6">Johan Vos</a>, now called <a href="https://www.azul.com/lower-cloud-costs/">Azul Platform Prime</a>, includes an enhanced <a href="https://www.azul.com/products/components/falcon-jit-compiler/">Falcon JIT</a> compiler that can speed up performance significantly on some workloads. Prime also supports fast startups via checkpoints with <a href="https://github.com/CRaC/docs#crac">CraC</a>, and faster warmup with <a href="https://www.azul.com/products/components/readynow/">ReadyNow</a> pre-compiled optimizations, <a href="https://developer.ibm.com/blogs/liberty-instanton-serverless-for-java-without-compromise">IBM InstantOn</a> is similar to CraC, Azul Platform Prime was primarily called Zing, <a href="https://www.azul.com/products/components/code-inventory">Azul Code Inventory</a> helps with code migrations</blockquote> <p> Gerrit Grunwald on twitter: <a href="https://twitter.com/hansolo_">@hansolo_</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 21 Jan 2024 18:42:56 GMT">Sun, 21 Jan 2024 18:42:56 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_278.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_277"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_277">#<span itemprop="episodeNumber">277</span></a> Project Babylon</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_277">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Paul Sandoz (<a href="https://twitter.com/paulsandoz">@paulsandoz</a>) about: <blockquote><a href="https://openjdk.org/projects/babylon/">Project Babylon</a> aims to enable <a href="https://www.java.com/en/">Java</a> integration with GPUs and accelerators through <a href="https://openjdk.org/projects/babylon/">Code Reflection</a>, building on Project <a href="https://openjdk.java.net/projects/panama/">Panama</a>, Code Model can be used to optimize machine learning models, generate SQL, Java and GPUs, Project Babylon, <a href="https://openjdk.org/projects/sumatra/">Project Sumatra</a>, <a href="https://en.wikipedia.org/wiki/CUDA">CUDA</a>, <a href="https://en.wikipedia.org/wiki/OpenCL">OpenCL</a>, <a href="https://en.wikipedia.org/wiki/MLIR_(software)">MLIR</a>, <a href="https://en.wikipedia.org/wiki/Edge_computing">Edge Computing</a>, <a href="https://webassembly.org">WebAssembly</a>, <a href="https://openjdk.org/projects/leyden/">Project Leyden</a>, <a href="https://openjdk.java.net/projects/valhalla/">project valhalla</a>, Code reflection, SQL optimization, edge functions, WebAssembly, <a href="https://webassembly.org">WASM</a>, <a href="https://cr.openjdk.org/~psandoz/conferences/2022-JavaOne/BLIS-LRN2612-J1-2022.pdf">BLIS presentation</a>, <a href="https://cr.openjdk.org/~psandoz/conferences/2023-JVMLS/Code-Reflection-JVMLS-23-08-07.pdf">Code Reflection presentation</a></blockquote> <p> Paul Sandoz on twitter: <a href="https://twitter.com/paulsandoz">@paulsandoz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 14 Jan 2024 20:59:23 GMT">Sun, 14 Jan 2024 20:59:23 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_277.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_276"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_276">#<span itemprop="episodeNumber">276</span></a> A Compiler Nerd Builds a Tiny Profiler</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_276">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Johannes Bechberger (<a href="https://twitter.com/parttimen3rd">@parttimen3rd</a>) about: <blockquote>c-control, enjoying <a href="https://lejos.sourceforge.io">lejos</a> and <a href="https://en.wikipedia.org/wiki/Lego_Mindstorms_NXT">NXT</a>, learning HTML, starting at SAP, learning <a href="https://www.java.com/en/">Java</a> in 2010, AMD Windows 98 machine, then a netbook with Intel Atom, fixing segmentation faults, working on real time option parser, building a real Garbage Collector with Lego, the SAP Machine, building a profiler A <a href="https://dl.acm.org/doi/fullHtml/10.1145/2909476">flame graph</a> is the view of a tree, execution frequency and method performance, Project <a href="https://openjdk.java.net/projects/panama/">Panama</a>, <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a> and <a href="https://github.com/parttimenerd/tiny-profiler">Tiny Profiler</a>, writing <a href="">ebpf.io</a> in Java, <a href="https://mostlynerdless.de">https://mostlynerdless.de</a></blockquote> <p> Johannes Bechberger on twitter: <a href="https://twitter.com/parttimen3rd">@parttimen3rd</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 07 Jan 2024 18:03:34 GMT">Sun, 07 Jan 2024 18:03:34 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_276.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_275"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_275">#<span itemprop="episodeNumber">275</span></a> A Helidon Conversation</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_275">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with David Kral (<a href="https://twitter.com/VerdentDK">@VerdentDK</a>) about: <blockquote>j4c, the developer number 10, the Helidon’s mission statement, programming the reactive way, <a href="https://airhacks.fm/#episode_58">"#58 Helidon: Never Block The Thread"</a> with Tomas Langer, what does it mean to developer the programming way, episode with Daniel Kec <a href="https://airhacks.fm/#episode_217">"#217 ACID, Base, XA and Long Running Actions"</a>, the relation between <a href="https://Helidon.io">Helidon.io</a> and <a href="https://eclipse-ee4j.github.io/jersey/">Jersey</a>, Jersey was contributed to <a href="https://www.eclipse.org/ide/">Eclipse</a>, the popularity of Helidon SE vs. Helidon MP, the lightweight Helidon SE, open source and quality, the joy of encryption, Helidon and "no dependencies"</blockquote> <p> David Kral on twitter: <a href="https://twitter.com/VerdentDK">@VerdentDK</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 29 Dec 2023 07:59:42 GMT">Fri, 29 Dec 2023 07:59:42 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_275.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_274"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_274">#<span itemprop="episodeNumber">274</span></a> Work Smart, Take Responsibility and Xmas in Brazil</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_274">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Bruno Souza (<a href="https://twitter.com/brjavaman">@brjavaman</a>) about: <blockquote>Bruno previously on <a href="https://airhacks.fm">airhacks.fm</a> <a href="https://airhacks.fm/#episode_222">"#222 Xmas with the Brazilian JavaMan"</a>, The <a href="https://danielcoyle.com/the-talent-code/">Talent Code book</a>, no geniuses, only smart work, <a href="https://airhacks.fm/#episode_104">episode</a> with Gerrit Grunwald <a href="https://airhacks.fm/#episode_268">"#268 How Han Solo wrote SteelSeries"</a>, making projects successful, xmas meal: <a href="https://en.wikipedia.org/wiki/French_toast">rabanada</a>, <a href="https://en.wikipedia.org/wiki/Panettone">panettone</a>, working to solve problems, outsourcing vs. AI generated code, continuous feedback loop, an episode with Ed Burns: <a href="https://airhacks.fm/#episode_171">"#171 Java, Jakarta EE and MicroProfile on Azure"</a>, growing beyond senior, <a href="https://www.java.com/en/">Java</a> vs. <a href="https://www.python.org">python</a>, java for task automation, the <a href="https://quarkus.io">quarkus</a> Club discord channel, the Java User Group tour, Generative AI, <a href="https://en.wikipedia.org/wiki/ChatGPT">ChatGPT</a> and the future of programming, <a href="https://www.packtpub.com/product/developer-career-masterplan/9781801818704">Developer Career Masterplan book</a></blockquote> <p> Bruno Souza on twitter: <a href="https://twitter.com/brjavaman">@brjavaman</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 23 Dec 2023 09:19:29 GMT">Sat, 23 Dec 2023 09:19:29 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_274.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_273"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_273">#<span itemprop="episodeNumber">273</span></a> The Long Road to Java and Kotlin</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_273">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Anton Arhipov (<a href="https://twitter.com/antonarhipov">@antonarhipov</a>) about: <blockquote>playing sports games on Pentium 233 MHz the 2014 <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> Rockstar awards about <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a>, <a href="https://www.eclipse.org/ide/">Eclipse</a>, and IntelliJ., enjoying sports games and destroying joysticks, practicing competitive swimming, swim training, starting to program in <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a> at <a href="https://www.mdu.se/en/malardalen-university/education/third-cycle-studies/third-cycle-courses-at-mdu/computer-science">Maelardalen University</a>, ship simulation with <a href="https://www.java.com/en/">Java</a> for <a href="https://www.vasamuseet.se/en">Vasa Museum</a>, joining a company which maintains <a href="https://www.refactorit.eu">RefactorIT</a>, working with <a href="https://javaee.github.io">Java EE</a> and <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> and <a href="https://en.wikipedia.org/wiki/JRockit">JRockit</a>, joining <a href="https://www.jrebel.com">ZeroturnAround</a> and working on JRebel, Rebel and LiveRebel, working on a profiler, JetBrain’s <a href="https://www.jetbrains.com/mps/">MPS</a>, DevRel for <a href="https://www.jetbrains.com/teamcity/">TeamCity</a>, AppCode features are appearing in <a href="https://github.com/coreos/fleet">fleet</a>, Fleet is built on common UI principles, the rendering engine <a href="https://skia.org">Skia</a>, <a href="https://kotlinlang.org">Kotlin</a> and Jetpack Compose, <a href="https://instagram.com/circlesbyanton">Circles by Anton</a></blockquote> <p> Anton Arhipov on twitter: <a href="https://twitter.com/antonarhipov">@antonarhipov</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 Dec 2023 20:29:20 GMT">Sun, 17 Dec 2023 20:29:20 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_273.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_272"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_272">#<span itemprop="episodeNumber">272</span></a> Minecraft Influenced JSON-B Design</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_272">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with David Kral (<a href="https://twitter.com/VerdentDK">@VerdentDK</a>) about: <blockquote>enjoying <a href="https://www.ageofempires.com">Age of Empires</a> 2, starting with <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a>, developing games with <a href="https://www.java.com/en/">Java</a>, using <a href="https://netbeans.apache.org/">NetBeans</a>, developing for <a href="https://www.minecraft.net/">MineCraft</a>, Java vs. VisualBasic, <a href="https://airhacks.fm/#episode_112">"#112 Java SE, MicroProfile and GraalVM: the Helidon's Way"</a> with Dmitry Kornilov, developing plugins for Minecraft, building protection in Minecraft, creating a Stargate for Minecraft, starting at Oracle to develop <a href="https://javaee.github.io/jsonb-spec/">JSON-B</a> and <a href="https://github.com/eclipse-ee4j/yasson">yasson</a>, JSON-B vs. <a href="https://javaee.github.io/jsonp/">JSON-P</a>, <a href="https://jsonator.sourceforge.net">jsonator</a>, improving JSON-B performance, Yasson in <a href="https://helidon.io">Helidon</a>, J4C was the origin Helidon’s name</blockquote> <p> David Kral on twitter: <a href="https://twitter.com/VerdentDK">@VerdentDK</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 10 Dec 2023 16:02:15 GMT">Sun, 10 Dec 2023 16:02:15 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_272.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_271"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_271">#<span itemprop="episodeNumber">271</span></a> From Image Recognition to CoffeeCast</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_271">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jose Paumard (<a href="https://twitter.com/JosePaumard">@JosePaumard</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/TI-57">TI-57</a> was stateless <a href="https://de.wikipedia.org/wiki/Oric_1">Oric 1</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/math/BigDecimal.html">BigDecimal</a> use cases, the travelling salesman algorithm, the <a href="https://en.wikipedia.org/wiki/Cray">Cray</a>, working with Sun SPARC machines, <a href="https://en.wikipedia.org/wiki/Connection_Machine">CM5</a> and <a href="https://en.wikipedia.org/wiki/NeXTcube">NeXTcube</a>, the conference in generate code, star recognition, working at research Lab in Paris, enjoying emacs, emacs vs. vim, writing documentation in LatEx working on <a href="https://en.wikipedia.org/wiki/SunOS">SunOS</a> then Solaris, HPUX and <a href="https://en.wikipedia.org/wiki/Common_Desktop_Environment">CDE</a>, 512 MB RAM of the price of a flat in Paris, processing large images and recognising building in real time, wavelet and cosine transforms, starting as professor in 1994 , <a href="https://en.wikipedia.org/wiki/Java_Database_Connectivity">JDBC</a> war leased in 1997 with Java 1.1., working as devrel at Oracle three years again, running AI models, project <a href="https://openjdk.java.net/projects/panama/">Panama</a> is the bridge, Java innovation, <a href="https://openjdk.java.net/jeps/420">pattern matching</a> in Java, String Templates, Java 21 LTS, <a href="https://youbube.com/java">youbube.com/java</a></blockquote> <p> Jose Paumard on twitter: <a href="https://twitter.com/JosePaumard">@JosePaumard</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 03 Dec 2023 13:21:43 GMT">Sun, 03 Dec 2023 13:21:43 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_271.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_270"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_270">#<span itemprop="episodeNumber">270</span></a> Not Injectable Principals, Quarkus, MicroProfile and Smallrye</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_270">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Martin Stefanko (<a href="https://twitter.com/xstefank">@xstefank</a>) about: <blockquote>starting with 4th generation i7 in 2013, the kernel hacker look, starting with <a href="https://www.java.com/en/">Java</a> 6, starting at <a href="https://www.redhat.com/en">RedHat</a>, joining the <a href="https://www.jboss.org">JBoss</a> EAP team, starting to maintain <a href="https://MicroProfile.io">MicroProfile.io</a> Health specification, <a href="https://www.manning.com/books/quarkus-in-action">Quarkus in Action book</a>, <a href="https://smallrye.io">smallrye.io</a> vs. MicroProfile.io, <a href="https://javaee.github.io/glassfish/">Glassfish</a> to Quarkus migrations, using Quarkus internal APIs, MicroProfile API compatibility, a composite <a href="https://github.com/quarkiverse/quarkus-microprofile">quarkus-microprofile</a> extension, Quarkus deploys at build time, saving money in the cloud, <a href="https://microprofile.io/project/eclipse/microprofile-metrics">MicroProfile Metrics</a> vs. <a href="https://micrometer.io">micrometer</a>, the burning icon and xstefank, <a href="https://spring.io/projects/spring-boot">SpringBoot</a> vs. Quarkus startup time</blockquote> <p> Martin Stefanko on twitter: <a href="https://twitter.com/xstefank">@xstefank</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 26 Nov 2023 14:16:39 GMT">Sun, 26 Nov 2023 14:16:39 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_270.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_269"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_269">#<span itemprop="episodeNumber">269</span></a> Why Kotlin is Better Than Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_269">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ingo Kegel (<a href="https://twitter.com/IngoKegel">@IngoKegel</a>) about: <blockquote><a href="https://www.java.com/en/">Java</a> and nullability, java's <a href="https://java.util.Optional">java.util.Optional</a>, typesafe HTML templates in <a href="https://kotlinlang.org">Kotlin</a>, statically vs. dynamic typic, what is going to replace Java?, <a href="https://kotlinlang.org/docs/multiplatform.html">Kotlin Multiplatform</a> makes the difference, <a href="https://kotlinlang.org/docs/js-ir-compiler.html">Kotlin IR</a>, the <a href="https://fuchsia.dev">Fuchsia</a> operating system, <a href="https://www.jetbrains.com/fleet/">JetBrains Fleet</a> IDE, <a href="https://en.wikipedia.org/wiki/Nashorn_(JavaScript_engine)">Nashorn</a> and Java, <a href="https://kotlinlang.org/docs/serialization.html">Kotlin Serialization</a>, <a href="https://ktor.io">Ktor</a>, <a href="https://www.ej-technologies.com/resources/jprofiler/v/11.1/help/doc/callTree/requestTracking.html">kotlin support in JProfiler</a>, JProfiler coupon code: <a href="https://www.ej-technologies.com/buy/overview.html">50% off with "java2023"</a></blockquote> <p> Ingo Kegel on twitter: <a href="https://twitter.com/IngoKegel">@IngoKegel</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 19 Nov 2023 16:07:20 GMT">Sun, 19 Nov 2023 16:07:20 GMT</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_269.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_268"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_268">#<span itemprop="episodeNumber">268</span></a> How Han Solo wrote SteelSeries</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_268">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Gerrit Grunwald (<a href="https://twitter.com/hansolo_">@hansolo_</a>) about: <blockquote><a href="https://de.wikipedia.org/wiki/Texas_Instruments_TI-99/4A">TI-99/4A</a>, the magical <a href="https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/rem-statement">REM</a> in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, writing <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> on Sharp Z80, Sun Ray thin client, starting with JDK 1.4 writing portable UI code with <a href="https://www.java.com/en/">Java</a>, <a href="https://harmoniccode.blogspot.com">harmoniccode.blogspot.com</a>, <a href="https://canoo.com">canoo.com</a> became a EV engineering company, migrating <a href="https://openjfx.io">JavaFX</a> <a href="https://github.com/HanSolo/properties">properties</a> with bindings to Java, <a href="https://github.com/HanSolo/SteelSeries-Canvas">SteelSeries-Canvas</a> - Java FX widgets ported to JavaScript</blockquote> <p> Gerrit Grunwald on twitter: <a href="https://twitter.com/hansolo_">@hansolo_</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 12 Nov 2023 11:00:00 +0100">Sun, 12 Nov 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_268.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_267"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_267">#<span itemprop="episodeNumber">267</span></a> Instrumenting, Probing and Asynchronous Profiling</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_267">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ingo Kegel (<a href="https://twitter.com/IngoKegel">@IngoKegel</a>) about: <blockquote>Ingo previously at: <a href="https://airhacks.fm/#episode_265">"#265 How JProfiler Happened"</a>, <a href="https://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html">JVMTI</a> and <a href="https://nick-lab.gs.washington.edu/java/jdk1.4.1/guide/jvmpi/jvmpi.html">JVMPI</a>, Java agents vs. JVMTI profilers with JNI, Project <a href="https://openjdk.java.net/projects/panama/">Panama</a> vs. JNI, sampling stacktraces and stop the world, async sampling and instrumentation, asynchronous instrumenting profilers, using <a href="https://www.ej-technologies.com/products/jprofiler/overview.html">jprofiler</a> for <a href="https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/about.htm#JFRUH170">JFR</a> event visualisation, JProfiler vs. Java Mission Control, JVMTI and allocation sampling, <a href="https://visualvm.github.io">jvisualvm</a> sampling and instrumentation, counting method calls with instrumentation, filtering method runtime data with probes, exception probe recording, filtering data with thread states, high performance profiling, fast data gathering with <a href="https://lmax-exchange.github.io/disruptor/user-guide/index.html">project disruptor</a></blockquote> <p> Ingo Kegel on twitter: <a href="https://twitter.com/IngoKegel">@IngoKegel</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 5 Nov 2023 11:00:00 +0100">Sun, 5 Nov 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_267.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_266"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_266">#<span itemprop="episodeNumber">266</span></a> Java, Microsoft and Software Development with AI</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_266">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Brian Benz (<a href="https://twitter.com/bbenz">@bbenz</a>) about: <blockquote>the autumn conferences: Oracle Cloud World, IBM Tech Exchange, the Oracle operator for <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a>, <a href="https://jakarta.ee">Jakarta EE</a>, and <a href="https://microprofile.io">MicroProfile</a> on Azure, Oracle Cloud World <a href="https://vs.">vs.</a> <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a>, Java EE, Jakarta EE, and MicroProfile on Azure, <a href="https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/oracle/oracle-weblogic">WebLogic on Azure</a>, JavaOne and Oracle Cloud World, the beginnings of open source at Microsoft, <a href="https://blogs.microsoft.com/chicago/2014/07/15/what-microsoft-open-tech-does-in-open-source/">Microsoft Open Tech</a>, the first JUG meeting in Seattle by Microsoft in 2013, the program manager for Java …and Node, program managers vs. evangelists, GitHub Copilot and <a href="https://docs.github.com/en/copilot/github-copilot-chat/using-github-copilot-chat">GitHub Copilot Chat</a>, the slash commands and Copilot Chat, the effectiveness of AI in software development, <a href="https://github.com/microsoft/semantic-kernel/tree/experimental-java/java">Semantic Kernel</a> and data indexing, <a href="https://amperecomputing.com">Ampere</a> CPU and 30% power reduction, <a href="https://en.wikipedia.org/wiki/Hoover_Dam">the hoover dam</a> and solar power</blockquote> <p> Brian Benz on twitter: <a href="https://twitter.com/bbenz">@bbenz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 30 Oct 2023 11:00:00 +0100">Mon, 30 Oct 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_266.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_265"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_265">#<span itemprop="episodeNumber">265</span></a> How JProfiler Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_265">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ingo Kegel (<a href="https://twitter.com/IngoKegel">@IngoKegel</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Epson_HX-20">Epson HX-20</a> in 1983, transition to IBM PC, writing games in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, fast calculations in C, using <a href="https://www.java.com/en/">Java</a> in ecommerce projects, starting to build <a href="https://www.ej-technologies.com/products/jprofiler/overview.html">jprofiler</a>, <a href="https://nick-lab.gs.washington.edu/java/jdk1.4.1/guide/jvmpi/jvmpi.html">JVMPI</a> and <a href="https://docs.oracle.com/javase/8/docs/platform/jvmti/jvmti.html">JVMTI</a>, <a href="https://wiki.c2.com/?SitrakaJprobe">jprobe</a> and OptimizeIT, <a href="https://freshmeat.net">freshmeat.net</a>, <a href="https://theserverside.com">theserverside.com</a>, jprofiler is written in Swing, podcast about <a href="https://github.com/btraceio/btrace">btrace</a>, inter JVM profiling in two windows, async sampling <a href="https://vs.">vs.</a> jvmti sampling, <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a> challenges, a nice looking Swing UIs with <a href="https://www.formdev.com/flatlaf/">flatlaf</a>, how to deal with millions of threads, creating Java installer and launcher, the ugly <a href="https://napkinlaf.sourceforge.net">Napkin LaF</a>, the 2-pizza team</blockquote> <p> Ingo Kegel on twitter: <a href="https://twitter.com/IngoKegel">@IngoKegel</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 22 Oct 2023 11:00:00 +0100">Sun, 22 Oct 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_265.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_264"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_264">#<span itemprop="episodeNumber">264</span></a> Profilers, Probing, Sampling and Instrumentation</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_264">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jaroslav Bachorik (<a href="https://twitter.com/yardus">@yardus</a>) about: <blockquote>starlink trouble, sampling profiles are trending, sitraka <a href="https://wiki.c2.com/?SitrakaJprobe">jprobe</a>, <a href="https://www.ej-technologies.com/products/jprofiler/overview.html">jprofiler</a>, <a href="https://github.com/carrotsearch/hppc">hppc</a> - the high performance collections, <a href="https://github.com/JCTools/JCTools">JCTools</a> and concurrent queues, millions of messages per second, <a href="https://lmax-exchange.github.io/disruptor/">LMAX Disruptor</a>, bytecode generation with <a href="https://asm.ow2.io">asm</a>, ASM DOM - Domain Object Model, <a href="https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jps.html">jps</a>, <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a> and <a href="https://netbeans.apache.org/tutorials/60/nbm-porting-basic.html">anagram</a>, <a href="https://github.com/btraceio/btrace/wiki">btrace quick start</a>, <a href="https://byteman.jboss.org">byteman</a> is similar to asm, <a href="https://javaee.github.io/glassfish/">Glassfish</a> with <a href="https://github.com/btraceio/btrace">btrace</a>, <a href="http://hdrhistogram.org">HdrHistogram</a> the histogram “plotter”, instrumentation of JDK classes</blockquote> <p> Jaroslav Bachorik on twitter: <a href="https://twitter.com/yardus">@yardus</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 15 Oct 2023 11:00:00 +0100">Sun, 15 Oct 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_264.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_263"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_263">#<span itemprop="episodeNumber">263</span></a> How JAX-RS Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_263">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Paul Sandoz (<a href="https://twitter.com/paulsandoz">@paulsandoz</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/BBC_Micro">bbc micro</a>, <a href="https://en.wikipedia.org/wiki/Acorn_Archimedes">Archimedes</a> was the start of ARM, the <a href="https://en.wikipedia.org/wiki/Elite_(video_game)">Elite</a> game, writing a painting application, graphics protocol emulation, studying cybernetics, remote control of production factories, developing a VR headset, using <a href="https://en.wikipedia.org/wiki/Silicon_Graphics">Silicon Graphics</a> machines, building a 3D engine, working on Sun Microsystems on the <a href="https://en.wikipedia.org/wiki/Common_Desktop_Environment">CDE</a> environment, switching to XML technology group at Sun Microsystems, <a href="https://commons.apache.org/proper/commons-jelly/">Apache Jelly</a>, <a href="https://en.wikipedia.org/wiki/SOAP">SOAP</a> was the past of least resistance, the WS-* specifications, <a href="https://en.wikipedia.org/wiki/Roy_Fielding">Roy Fielding</a> and Representational State Transfer (REST) architecture style, starting to work on <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a>, the <a href="https://www.adam-bien.com/roller/abien/entry/ioc_and_convention_over_configuration">Convention over Configuration</a> trade-offs, joining <a href="https://www.cloudbees.com">CloudBees</a> to work <a href="https://twitter.com/kohsukekawa">Kohsuke Kawaguchi</a> <a href="https://airhacks.fm/#episode_143">"#143 How Hudson and Jenkins happened"</a>, starting at Oracle’s <a href="https://www.java.com/en/">Java</a> team to work on project <a href="https://jigsaw.w3.org">Jigsaw</a> and Streams</blockquote> <p> Paul Sandoz on twitter: <a href="https://twitter.com/paulsandoz">@paulsandoz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 8 Oct 2023 11:00:00 +0100">Sun, 8 Oct 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_263.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_262"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_262">#<span itemprop="episodeNumber">262</span></a> The IBM Certified Presenter and XML Evangelist</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_262">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Brian Benz (<a href="https://twitter.com/bbenz">@bbenz</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a>, writing an inspirational notes app in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, writing software on paper cards for Apple, exploring gas fields in the see with Lotus 123 and <a href="https://en.wikipedia.org/wiki/DBase">dBASE</a>, working on System 38, travelling Europe with train and bicycle, writing replication engine in Clipper-llrp, floppy disc replication, Lotus Notes and <a href="http://couchdb.apache.org">CouchDB</a>, Lotus Notes by Iris Associates, The <a href="https://www.amazon.com/Lotus-Notes-Domino-Programming-Bible/dp/0764526111">Lotus Notes and Domino 6 Programming Bible</a> book, The <a href="https://www.amazon.com/XML-Programming-Bible-Brian-Benz/dp/0764538292/">XML Programming Bible</a>, writing a XML replication engine, <a href="https://www.lexisnexis.com">LexisNexis</a>, using Apache <a href="https://xerces.apache.org">Xerces</a> and <a href="https://xalan.apache.org">Apache Xalan</a>, <a href="https://en.wikipedia.org/wiki/Append-only">Append-only storage</a>, job interview at Microsoft in XML area, <a href="https://poi.apache.org">Apache POI</a>, <a href="https://blogs.microsoft.com/chicago/2014/07/15/what-microsoft-open-tech-does-in-open-source/">Microsoft Open Tech</a>, using AWS as XML search API, joining the first <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a></blockquote> <p> Brian Benz on twitter: <a href="https://twitter.com/bbenz">@bbenz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 2 Oct 2023 11:00:00 +0100">Mon, 2 Oct 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_262.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_261"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_261">#<span itemprop="episodeNumber">261</span></a> JAX-RS, OAuth, OpenID Connect (OIDC), Authentication, Authorization and Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_261">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Sergey Beryozkin (<a href="https://twitter.com/sberyozkin">@sberyozkin</a>) about: <blockquote>RPC <a href="https://vs.">vs.</a> <a href="https://www.keycloak.org/docs-api/5.0/rest-api/index.html">REST</a>, Paul Sandoz was driving the <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a> specification, the scalability of REST, the <a href="https://martinfowler.com/bliki/TolerantReader.html">Tolerant Reader</a> pattern, <a href="https://en.wikipedia.org/wiki/HATEOAS">HATEOAS</a>, <a href="https://eclipse-ee4j.github.io/jersey/">Jersey</a> was the reference implementation of JAX-RS, JAX-RS without servlets, the problems with <a href="https://oauth.net">OAuth 1</a>, OAuth 2 fixed OAuth 1 problems, the <a href="https://owasp.org/www-community/attacks/Session_fixation">session fixation</a> problem, OIDC builds on OAuth 2, in OAuth 2 there are no sessions, <a href="https://oauth.net/2/client-types/">Confidential OIDC client</a>, OIDC extension, <a href="https://quarkus.io/extensions/io.quarkus/quarkus-elytron-security-oauth2">Elytron Security OAuth 2.0</a>, ID tokens vs. access tokens, <a href="https://auth0.com/docs/secure/tokens/access-tokens#opaque-access-tokens">Opaque access tokens</a> vs. <a href="https://auth0.com/docs/secure/tokens/access-tokens#jwt-access-tokens">JWT access tokens</a>, the implicit flow, <a href="https://smallrye.io">SmallRye</a> JWT extension vs. OIDC extension, the importance of standards, the value of standards, passkeys the <a href="https://en.wikipedia.org/wiki/NeXT">NeXT</a> big thing, verifiable credentiats, JSON web proof, mutual TLS support in Quarkus, automatic certificate renewal</blockquote> <p> Sergey Beryozkin on twitter: <a href="https://twitter.com/sberyozkin">@sberyozkin</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 24 Sep 2023 11:00:00 +0100">Sun, 24 Sep 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_261.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_260"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_260">#<span itemprop="episodeNumber">260</span></a> How BTrace Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_260">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jaroslav Bachorik (<a href="https://twitter.com/yardus">@yardus</a>) about: <blockquote>programming a paper computer, <a href="https://en.wikipedia.org/wiki/Atari_8-bit_family">Atari 130</a>, building a drum machine for Atari, the <a href="https://www.oreilly.com/library/view/programming-pearls-2nd/9780134498058/">Programming Pearls</a> book, building a sound sampler, building a game for Atari, getting <a href="https://en.wikipedia.org/wiki/Amiga_1200">Amiga 1200</a>, inspired by Paint Shop Pro, building software in Norway in <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a>, the most famous castle in Slovakia - <a href="https://en.wikipedia.org/wiki/Bojnice_Castle">Bojnice Castle</a>, starting a software company, building cluster software in Manchester with <a href="https://www.java.com/en/">Java</a> Applets, using the <a href="https://www.jahia.com/en">jahia</a> content server, enjoying <a href="https://tapestry.apache.org">Apache Tapestry</a>, joining Sun MIcrosystems <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a> team, working on the NetBeans profiler, <a href="https://visualvm.github.io">jvisualvm</a> and NetBeans profiler, <a href="https://en.wikipedia.org/wiki/DTrace">dtrace</a> and <a href="https://github.com/btraceio/btrace">btrace</a>, how btrace started, btrace is used by Alibaba, joining the serviceability JDK team, joining Marcus Hirt at Datadog, building a continuous profiler</blockquote> <p> Jaroslav Bachorik on twitter: <a href="https://twitter.com/yardus">@yardus</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 Sep 2023 11:00:00 +0100">Sun, 17 Sep 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_260.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_259"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_259">#<span itemprop="episodeNumber">259</span></a> How Boundary Control Entity, UML and Components Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_259">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ivar Jacobson (<a href="https://twitter.com/ivarjacobson">@ivarjacobson</a>) about: <blockquote>Apple 2c at ericsson.com, building software with components, writing about science of component based development, devops in 1976, function and logic programming in 1983, imperative, logic and functional programming, leaving Ericsson, the Rational <a href="https://en.wikipedia.org/wiki/Objectory">Objectory</a> Process, Objectory stands for Software Factory, objectory and <a href="https://en.wikipedia.org/wiki/Rational_unified_process">Rational unified process</a>, intelligent agents supported <a href="https://en.wikipedia.org/wiki/Rational_unified_process">RUP</a>, intelligent agents are copilots, building an intelligent agent in <a href="https://dotnet.microsoft.com">.net</a>, <a href="http://www.adam-bien.com/roller/abien/entry/bureaucratic_design_with_java_ee">Boundary Control Entity</a> or Entity Control Boundary, the <a href="https://www.ivarjacobson.com/publications/books/object-oriented-software-engineering-book">Object Oriented Software Engineering: A Use Case Driven Approach</a> book, <a href="https://en.wikipedia.org/wiki/Structured_systems_analysis_and_design_method">Structured Method</a> <a href="https://vs.">vs.</a> <a href="https://www.omg.org/spec/Essence/1.2/About-Essence">Essence</a>, the road to agile RUP, <a href="https://www.linkedin.com/company/ivar-jacobson-international">Ivar Jacobson on LinkedIn</a></blockquote> <p> Ivar Jacobson on twitter: <a href="https://twitter.com/ivarjacobson">@ivarjacobson</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 14 Sep 2023 11:00:00 +0100">Thu, 14 Sep 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_259.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_258"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_258">#<span itemprop="episodeNumber">258</span></a> How FlywayDB Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_258">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Axel Fontaine (<a href="https://twitter.com/axelfontaine">@axelfontaine</a>) about: <blockquote>starting with <a href="https://en.wikipedia.org/wiki/Intel_8086">8086</a> and 640 kB, starting with GW <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, enjoying <a href="https://en.wikipedia.org/wiki/Alley_Cat_(video_game)">Alley Cat</a> and <a href="https://en.wikipedia.org/wiki/Monkey_Island">Monkey Island</a> on <a href="https://en.wikipedia.org/wiki/Master_System">Sega Master</a>, switching to <a href="https://en.wikipedia.org/wiki/QBasic">QBasic</a>, protecting the <a href="https://en.wikipedia.org/wiki/Lemmings_(video_game)">lemmings</a>, the cyber cafe <a href="https://en.wikipedia.org/wiki/Cyberia,_London">Cyberia</a> in London, learning <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, impressed by <a href="https://www.java.com/en/">Java</a> Applets, starting in 1998 at IBM Global Services, using <a href="https://en.wikipedia.org/wiki/VisualAge">Visual Age for Java</a>, travelling the world, the envy version control for <a href="https://de.wikipedia.org/wiki/IBM_Visual_Age">Visual Age</a> for java, attending <a href="https://en.wikipedia.org/wiki/Devoxx">JavaPolis</a>, <a href="https://qconlondon.com/">qcon</a>, first talk at JUG Augsburg about Continuous Delivery, the Continous Delivery Book, <a href="https://en.wikipedia.org/wiki/Ruby_(programming_language)">Ruby</a> DSL migrations, “data will outlive the code”, database outlives the code, the travel report website, <a href="https://en.wikipedia.org/wiki/Flyway">Flyway</a> - the migration path for birds, using <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a> metadata for schema migrations, promoting <a href="https://flywaydb.org">FlywayDB</a>, paid features and support contracts, running migrations on application startup, the <a href="https://javaee.github.io">Java EE</a> simplicity</blockquote> <p> Axel Fontaine on twitter: <a href="https://twitter.com/axelfontaine">@axelfontaine</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 3 Sep 2023 11:00:00 +0100">Sun, 3 Sep 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_258.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_257"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_257">#<span itemprop="episodeNumber">257</span></a> Why MicroStream is Faster</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_257">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Florian Habermann (<a href="https://twitter.com/FHHabermann">@FHHabermann</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Schneider_Euro_PC">CPC Schneider</a> / <a href="https://en.wikipedia.org/wiki/Amstrad">Amstrad</a>, playing with <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> and sound, building an 3d engine in BASIC, from BASIC to <a href="https://www.java.com/en/">Java</a>, <a href="https://www.bsz-wiesau.de/informatik-campus/ueber-uns">the private school: BSZ Wiesau</a>, <a href="https://en.wikipedia.org/wiki/ObjectStore">ObjectStore</a>, <a href="https://en.wikipedia.org/wiki/Actian_NoSQL_Object_Database">Versant</a>, Poet, <a href="https://en.wikipedia.org/wiki/Object_database">Object database</a>, moving the IDE to <a href="https://www.eclipse.org/ide/">Eclipse</a>, using <a href="https://vaadin.com/">Vaadin</a> as frontend framework, <a href="https://www.rapidclipse.com/en/">RapidClipse</a>, Markus Kett on <a href="https://airhacks.fm:">airhacks.fm:</a> <a href="https://airhacks.fm/#episode_36">"#36 Java Native Database"</a>, <a href="https://airhacks.fm/#episode_116">"#116 MicroStream: When a Java Application Becomes a DB"</a>, the <a href="https://en.wikipedia.org/wiki/Object–relational_impedance_mismatch">object-relation impedance mismatch</a>, <a href="https://blog.codinghorror.com/object-relational-mapping-is-the-vietnam-of-computer-science/">Object-Relational Mapping is the Vietnam of Computer Science</a>, JetStream became <a href="https://microstream.one">microstream</a>, Java Serializer only supports a complete snapshot, MicroStream supports partial serialization, <a href="https://en.wikipedia.org/wiki/FileMaker">FileMaker</a> - productivity for non-programmers, using <a href="https://blogs.oracle.com/javamagazine/post/the-unsafe-class-unsafe-at-any-speed">sun.mics.Unsafe</a>, id to object mapping with <a href="https://exascale.info/assets/pdf/swisslink-semantics2017.pdf">SwissLink</a>, cloud-native storage with <a href="https://aws.amazon.com/s3/">S3</a>, <a href="https://aws.amazon.com/dynamodb">DynamoDB</a> and MicroStream, Universally Unique Lexicographically Sortable Identifier: <a href="https://github.com/ulid/spec">ulid</a>, managing object versions with <a href="https://microstream.one">microstream.one</a></blockquote> <p> Florian Habermann on twitter: <a href="https://twitter.com/FHHabermann">@FHHabermann</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 27 Aug 2023 11:00:00 +0100">Sun, 27 Aug 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_257.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_256"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_256">#<span itemprop="episodeNumber">256</span></a> Virtual Threads, Parallel Streams, Concurrency and Parallelism</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_256">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Heinz Kabutz (<a href="https://twitter.com/heinzkabutz">@heinzkabutz</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Click_consonant">the click consonant</a>, the number of parallel stream threads, the resource <a href="https://en.wikipedia.org/wiki/Deadlock">deadlock</a>, the deadly embrace deadlock, the thread dump of millions threads, pinning vs mounting, <a href="https://helidon.io/nima">Helidon Nima</a>, <a href="https://www.eclipse.org/jetty/">jetty</a> and <a href="https://quarkus.io">quarkus</a> are using parallel threads, virtual threads are mounted to carrier threads, the carrier thread pool, the common <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/ForkJoinPool.html">ForkJoinPool</a>, concurrency vs parallelism, concurrency with <a href="https://openjdk.org/jeps/453">structured concurrency</a>, the size of the common thread pool can be zero, <a href="https://github.com/ReactiveX/RxJava">Reactive Java at Netflix</a>, <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/memleaks002.html">"GC Overhead Limit Exceeded"</a>, the remaining use cases for <a href="https://en.wikipedia.org/wiki/Functional_reactive_programming">reactive programming</a>, virtual threads for timers, the <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/CompletableFuture.html">CompletableFuture</a></blockquote> <p> Heinz Kabutz on twitter: <a href="https://twitter.com/heinzkabutz">@heinzkabutz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 20 Aug 2023 11:00:00 +0100">Sun, 20 Aug 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_256.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_255"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_255">#<span itemprop="episodeNumber">255</span></a> A Deeper Dive Into Debugging</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_255">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Shai Almog (<a href="https://twitter.com/debugagent">@debugagent</a>) about: <blockquote>method breakpoints on exit and tracepoints, method breakpoints on pattern, tracepoints and logpoints, field watch points, a watchpoints steps on a different location, stop on exception and filtering, suspending threads on a breakpoint, <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/man/jdb.html">jdb</a> ships with <a href="https://www.java.com/en/">Java</a>, RR the time travelling debugger created by Mozilla, render library by IntelliJ, logging is a major cost factor, using patterns in logs, writing tests for log statements, <a href="https://github.com/btraceio/btrace">btrace</a> - the dtrace for java, <a href="https://www.eclemma.org/jacoco/trunk/doc/agent.html">JaCoCo</a> agent, <a href="https://kubernetes.io/">kubernetes</a> is not for startups, vendor neutral is lost in the clouds, <a href="https://rr-project.org">Mozilla rr</a> project, <a href="https://www.youtube.com/@debugagent/">Shai Almog (Debugagent) on Youtube</a></blockquote> <p> Shai Almog on twitter: <a href="https://twitter.com/debugagent">@debugagent</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 14 Aug 2023 11:00:00 +0100">Mon, 14 Aug 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_255.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_254"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_254">#<span itemprop="episodeNumber">254</span></a> How JavaPolis and Devoxx Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_254">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Stephan Janssen (<a href="https://twitter.com/Stephan007">@Stephan007</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Commodore_64">C 64</a> and <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, studying <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, the <a href="https://csdb.dk/group/?id=81">1001 Crew</a>, commado frontier, <a href="https://en.wikipedia.org/wiki/Amiga_500">Amiga 500</a> and <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, SNA <a href="https://vs.">vs.</a> TCP/IP, the <a href="https://www.java.com/en/">Java</a> in a Nutshell book, starting the Belgium Java User Group, starting the JCS consulting company, starting <a href="https://en.wikipedia.org/wiki/Devoxx">JavaPolis</a>, <a href="https://en.wikipedia.org/wiki/Adaptive_Server_Enterprise">Adaptive Server Enterprise</a>, integrating SonicMQ in <a href="https://www.home.cern">CERN</a>, Java and <a href="https://kinepolis.be">kinepolis</a> became JavaPolis, JavaPolis, Javoxx then Devoxx, starting Parleys, the innovative Python’s <a href="https://en.wikipedia.org/wiki/LangChain">LangChain</a>, langchain for J, the python <a href="https://www.modular.com/mojo">mojo</a> project, Python dependencies are problematic, Python <a href="https://docs.conda.io/en/latest/">Conda</a>, agenda planning with <a href="https://en.wikipedia.org/wiki/ChatGPT">ChatGPT</a>, the Devoxx blues, the fake boiling frog, with ChatGPT source code becomes less important, Model Driven Architecture (MDA), <a href="http://33degree.org">33rd Degree Conference</a> vs. Devoxx</blockquote> <p> Stephan Janssen on twitter: <a href="https://twitter.com/Stephan007">@Stephan007</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 7 Aug 2023 11:00:00 +0100">Mon, 7 Aug 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_254.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_253"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_253">#<span itemprop="episodeNumber">253</span></a> Java on Azure and a Nailless Java Champion</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_253">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Antonio Goncalves (<a href="https://twitter.com/agoncal">@agoncal</a>) about: <blockquote>Microsoft loves Linux and <a href="https://www.java.com/en/">Java</a>, <a href="https://twitter.com/bbenz">Brian Benz</a> is a Java Champion, <a href="https://www.microsoft.com/openjdk">Microsoft Build of OpenJDK</a>, <a href="https://adoptium.net/">Eclipse Adoptium</a>, Julian Dubois <a href="https://nubesgen.com">nubesgen</a>, Neal Gafter worked on Java and switched to Microsoft, <a href="https://azure.microsoft.com/en-us/products/container-instances">Azure Container Instances</a>, <a href="https://azure.microsoft.com/en-us/products/container-apps">Azure Container Apps</a>, <a href="https://azure.microsoft.com/en-us/products/app-service">Azure App Service</a>, <a href="https://azure.microsoft.com/en-us/products/virtual-machines">Azure VM</a>, <a href="https://azure.microsoft.com/en-us/products/app-service/containers">Web App for Containers</a>, <a href="https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview?tabs=bicep">Azure Bicep</a>, modular <a href="https://javaee.github.io/glassfish/">Glassfish</a>, Microsoft Build of <a href="https://openjdk.java.net">openJDK</a>, <a href="https://github.com/microsoft/azure-maven-plugins">Maven plugins for Azure</a>, <a href="https://quarkus.io/extensions/io.quarkus/quarkus-azure-functions">Quarkus Azure Extensions</a>, <a href="https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/overview">ARM Templates</a>, from <a href="https://javax.">javax.</a> to <a href="https://jakartaee.">jakartaee.</a> migration, <a href="https://learn.microsoft.com/en-us/azure/azure-functions/functions-premium-plan?tabs=portal">Azure Functions Premium plan</a>, <a href="https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html">Lambda SnapStart</a>, <a href="https://www.graalvm.org">GraalVM</a> <a href="https://www.graalvm.org/docs/reference-manual/native-image/">native image</a>, GraalVM <a href="https://en.wikipedia.org/wiki/Tree_shaking">tree shaking</a> and closed world assumption, <a href="https://quarkus.io">quarkus</a> tree shaking and build time optimizations, "the gralifier", GitHub Copilot, <a href="https://devblogs.microsoft.com/semantic-kernel/introducing-semantic-kernel-for-java/">Semantic Kernel for Java</a>, conversation scope and AI</blockquote> <p> Antonio Goncalves on twitter: <a href="https://twitter.com/agoncal">@agoncal</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 30 Jul 2023 11:00:00 +0100">Sun, 30 Jul 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_253.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_252"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_252">#<span itemprop="episodeNumber">252</span></a> BDD: Bug Driven Development vs. Continuous Observability</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_252">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Roni Dover (<a href="https://twitter.com/doppleware">@doppleware</a>) about: <blockquote>enjoying <a href="https://en.wikipedia.org/wiki/Sword_of_Aragon">Sword of Aragon</a> game, writing text games then graphics games, learning <a href="https://dotnet.microsoft.com">.net</a> then <a href="https://www.java.com/en/">Java</a>, managing complexity, the problem solving skills over programming language, learning <a href="https://en.wikipedia.org/wiki/Ruby_(programming_language)">Ruby</a> and <a href="https://www.python.org">python</a>, writing J2ME applications, writing purpose driven and simple code, Domain Driven, CQRS and <a href="https://martinfowler.com/eaaDev/EventSourcing.html">Event Sourcing</a>, the challenges of polyglot programming, BDD Bug Driven Development and continuous feedback, the wrong focus on unit tests, pretty, but not useful dashboards, EMF the <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Specification.html">Embedded Metric Format</a>, The Director of Enterprise Architecture, there was no google analytics for code, improving your code with observability, the impact of code changes to traces, starting <a href="https://digma.ai">digma.ai</a> and “Java First”, the <a href="https://discord.com/invite/airhacks">airhacks discord server</a>, <a href="https://opentelemetry.io/docs/instrumentation/java/">OpenTelemetry instrumentation</a>, automatic analysis of <a href="https://opentelemetry.io">opentelemetry</a> data, <a href="https://airhacks.fm/#episode_49">"#49 KISS Java EE, MicroProfile, AI, (Deep) Machine Learning"</a> with Pavel Pscheidl, <a href="https://digma.ai/beta">Digma Beta Program</a>, <a href="https://join.slack.com/t/continuous-feedback/shared_invite/zt-1hk5rbjow-yXOIxyyYOLSXpCZ4RXstgA">Continuous Feedback Slack Group</a>, <a href="https://digma.ai/blog/coding-with-java-observability/">Continuous Feedback In Java</a></blockquote> <p> Roni Dover on twitter: <a href="https://twitter.com/doppleware">@doppleware</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 23 Jul 2023 11:00:00 +0100">Sun, 23 Jul 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_252.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_251"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_251">#<span itemprop="episodeNumber">251</span></a> From CORBA, over RPC to REST ...and Back?</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_251">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Sergey Beryozkin (<a href="https://twitter.com/sberyozkin">@sberyozkin</a>) about: <blockquote>Mainframe at the university, learning C on paper, switching from C to <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, programming <a href="https://en.wikipedia.org/wiki/Rexx">Rexx</a> on <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a>, from C++ to <a href="https://www.java.com/en/">Java</a>, starting at Iona in Ireland, Apache CXF was founded by Iona, <a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture">CORBA</a>, <a href="https://grpc.io">grpc</a>, <a href="https://en.wikipedia.org/wiki/SOAP">SOAP</a> and <a href="https://en.wikipedia.org/wiki/Representational_state_transfer">REST</a>, joining <a href="https://www.talend.com/">talend</a> and <a href="https://www.redhat.com/en">RedHat</a>, working on <a href="https://thorntail.io/">WildFly Swarm</a>, <a href="https://wildfly.org">Wildfly</a> Swarm became Thorntail, Thorntail ideas were reused in <a href="https://quarkus.io">quarkus</a>, Quarkus deploys on build time, committing to <a href="https://tika.apache.org">Apache Tika</a>, Apache Tika extracts metadata from documents, <a href="https://docs.quarkiverse.io/quarkus-tika/dev/index.html">Quarkus Tika</a> extension, becoming the Quarkus Security Coordinator, reactive vs. classic programming with <a href="https://jcp.org/en/jsr/detail?id=370">JAX-RS</a> on Quarkus, Tika is often used for Machine Learning, <a href="https://quarkus.io/guides/security-overview">Quarkus Security Overview</a>, using <a href="https://www.keycloak.org">Keycloak</a> as IDP, <a href="https://quarkus.io/guides/security-keycloak-authorization">Quarkus and OIDC</a></blockquote> <p> Sergey Beryozkin on twitter: <a href="https://twitter.com/sberyozkin">@sberyozkin</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 16 Jul 2023 11:00:00 +0100">Sun, 16 Jul 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_251.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_250"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_250">#<span itemprop="episodeNumber">250</span></a> FPGAs, GPUs or Data Science with Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_250">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Juan Fumero (<a href="https://twitter.com/snatverk">@snatverk</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Intel_8088">8088</a> an IBM clone, joining a cross country running team at school, Zoran previously at <a href="https://airhacks.fm/#episode_169">"#169 Deep Learning with Modern Java Code"</a>, leaning <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, C and <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, working on particle detection at <a href="https://www.home.cern">CERN</a> , working on <a href="https://www.graalvm.org">GraalVM</a> to GPU compilation and optimization, using direct memory access to communicate with the GPU, vector types in <a href="https://www.java.com/en/">Java</a>, <a href="https://flink.apache.org">Apache Flink</a> acceleration on <a href="https://en.wikipedia.org/wiki/Field-programmable_gate_array">FPGA</a> and GPUs, working on FPGAs, using <a href="https://en.wikipedia.org/wiki/Register-transfer_level">RTL</a> for FPGA programming, transparent acceleration for Java, astrophysics analytics with Java, <a href="https://www.deepnetts.com/">DeepNetts</a> on <a href="https://www.tornadovm.org">tornadovm</a>, the relation between TornadoVM and GraalVM, using <a href="https://openjdk.java.net/projects/panama/">Panama</a> to access native memory GPU-less TornadoVM, contributing to TornadoVM</blockquote> <p> Juan Fumero on twitter: <a href="https://twitter.com/snatverk">@snatverk</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 10 Jul 2023 11:00:00 +0100">Mon, 10 Jul 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_250.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_249"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_249">#<span itemprop="episodeNumber">249</span></a> A Freakonomic Guide to Jakarta EE with a Guardian</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_249">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Reza Rahman (<a href="https://twitter.com/reza_rahman">@reza_rahman</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Apple_II">Apple II</a> with 16, working with <a href="https://en.wikipedia.org/wiki/FoxPro">FoxPro</a>, programming in C, fractal based games, <a href="https://en.wikipedia.org/wiki/Asteroids_(video_game)">Asteroids</a> is a vector based game, writing fractal programs, starting with <a href="https://www.java.com/en/">Java</a>, Sun donated computers to the university, using <a href="https://en.wikipedia.org/wiki/Pico_(text_editor)">pico</a>, vi and <a href="https://en.wikipedia.org/wiki/Visual_Café">Visual Cafe</a>, working for Accenture as consultant, joining <a href="https://caucho.com/">Caucho</a> to make <a href="https://en.wikipedia.org/wiki/Resin_(software)">Resin</a> modular, the <a href="https://jakarta.ee">Jakarta EE</a> friendly Azure, <a href="https://azure.microsoft.com/en-us/products/container-instances">Azure Container Instances</a>, <a href="https://azure.microsoft.com/en-us/products/container-apps">Azure Container Apps</a>, <a href="https://azure.microsoft.com/en-us/products/app-service">Azure App Service</a>, Infrastructure as Code with <a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview">Bicep</a>, infrastructure becomes less interesting, the constant evaluation of technology, Java is the fountain of youth, <a href="https://en.wikipedia.org/wiki/Devoxx">JavaPolis</a> became Devoxx, <a href="https://reza-rahman.me">Reza Rahman website</a></blockquote> <p> Reza Rahman on twitter: <a href="https://twitter.com/reza_rahman">@reza_rahman</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 4 Jul 2023 11:00:00 +0100">Tue, 4 Jul 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_249.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_248"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_248">#<span itemprop="episodeNumber">248</span></a> Break Your Limits and the Java Challengers</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_248">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Rafael del Nero (<a href="https://twitter.com/RafaDelNero">@RafaDelNero</a>) about: <blockquote>Celeron 800 Mhz , 64 MB RAM and 10 GB of storage, programming with <a href="https://www.rpgmakerweb.com">rpgmaker</a> and <a href="https://en.wikipedia.org/wiki/Visual_Basic_(.NET)">Visual Basic</a>, coding a game 3h a day, <a href="https://en.wikipedia.org/wiki/Orkut">orkut</a> by google, hacking curiosity, learning Visual <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, learning <a href="https://en.wikipedia.org/wiki/Unified_Modeling_Language">Unified Modelling Language</a>, learning <a href="https://en.wikipedia.org/wiki/PHP">PHP</a>, building ERP with <a href="https://starsoft.com.br">StarSoft</a>, using <a href="https://en.wikipedia.org/wiki/Clipper_(programming_language)">clipper</a> and Fox Pro, starting to learn <a href="https://www.java.com/en/">Java</a>, the SJCP Java book, learning <a href="https://javaee.github.io">Java EE</a>, building book selling application with <a href="https://www.jboss.org">JBoss</a> <a href="http://seamframework.org">Seam</a>, Star Portal the Sun Microsystems, encapsulating code with Java, enjoying Java Server Faces, accessing EJBs via remote interfaces (RMI), moving from Brasil to Ireland joining the JUG Dublin, starting with <a href="https://javachallengers.com">Java Challengers</a>, the great <a href="https://twitter.com/ypoirier">Yolande Poirier</a>, 100 days of Java, JavaWorld changed to InfoWorld, the Java Challengers, <a href="https://simonsinek.com/private-classes/the-golden-circle-for-individuals/">the Golden Circle</a>, how to break your limits, your limits are your imignation, the Java Challengers</blockquote> <p> Rafael del Nero on twitter: <a href="https://twitter.com/RafaDelNero">@RafaDelNero</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 25 Jun 2023 11:00:00 +0100">Sun, 25 Jun 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_248.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_247"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_247">#<span itemprop="episodeNumber">247</span></a> A Gentle Introduction to Debugging</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_247">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Shai Almog (<a href="https://twitter.com/debugagent">@debugagent</a>) about: <blockquote>about the name <a href="https://www.codenameone.com">Codename One</a>, JavaLobby became DZone, JavaBlogs and <a href="https://java.net">java.net</a>, joining <a href="https://lightrun.com">lightrun</a> and developer’s observability, the theory of debugging, lightrun: breakpoints which don’t break, debugging in production has access to the entire data, lightrun creates snapshots - breakpoints which don’t step, time travelling debugging, chrononsystems: DVR with Java, translate java runtimes to charts with <a href="https://appmap.io">appmap</a>, the logging breakpoints: logpoints and tracepoints, exception breakpoints are hard to use, <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a> debugger is great, exception breakpoints are useful with filters, field watchpoint is not a watch, renderers in Intellij, toString, performance and circular dependencies, memory debugging and <a href="https://www.eclipse.org/mat/">MAT</a> by SAP</blockquote> <p> Shai Almog on twitter: <a href="https://twitter.com/debugagent">@debugagent</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 21 Jun 2023 11:00:00 +0100">Wed, 21 Jun 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_247.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_246"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_246">#<span itemprop="episodeNumber">246</span></a> How Log4j, SLF4j, Jakarta Commons Logging, Logback and Reload4j Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_246">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ceki Guelcue (<a href="https://twitter.com/ceki">@ceki</a>) about: <blockquote>previously Ceki on airhacks.fm: <a href="https://airhacks.fm/#episode_241">"#241 Simplicity is a Good Incentive"</a>, Log4j was used inside a 2FA application, Zurich Research Lab Log (ZRL) became Log4j, Log4j was published at IBM developer works, <a href="https://de.wikipedia.org/wiki/Kent_Beck">Kent Beck</a> on <a href="https://en.wikipedia.org/wiki/Unit_testing">unit testing</a>, the purpose of unit testing, the hierarchical filtering in Log4j, mapping log levels to exceptions, business logs and system logs, <a href="https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/NDC.html">ndc</a>, <a href="https://logback.qos.ch/">Logback</a> markers, selling a self-published Log4j book, Log4j and <a href="https://lmax-exchange.github.io/disruptor/">LMAX Disruptor</a>, Log4j 2 is only loosely related to Log4j v1, Jakarta Commons Logging is a logging facade, Log4j 2 is the successor of Logback, Logback is the native <a href="http://connectorz.adam-bien.com">implementation</a> of <a href="https://www.slf4j.org">slf4j</a>, SLF4j provides a narrow Logging API, <a href="https://github.com/qos-ch/reload4j">reload4j</a> is a forked and maintained version of Log4j v1, using <a href="https://commons.apache.org/proper/commons-jelly/">jelly</a> to program XML</blockquote> <p> Ceki Guelcue on twitter: <a href="https://twitter.com/ceki">@ceki</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 11 Jun 2023 11:00:00 +0100">Sun, 11 Jun 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_246.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_245"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_245">#<span itemprop="episodeNumber">245</span></a> From OpenShift to Azure App Service</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_245">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with James Falkner (<a href="https://twitter.com/schtool">@schtool</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/TRS-80">TRS 80</a>, <a href="https://de.wikipedia.org/wiki/Texas_Instruments_TI-99/4A">TI-99/4A</a>, enjoying <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, starting at Solaris QA department, switching to <a href="https://docs.oracle.com/cd/E19528-01/820-0167/aauah/index.html">Java Enterprise System</a> (JES) group, working at <a href="https://www.liferay.com">liferay</a>, starting at <a href="https://www.redhat.com/en">RedHat</a>, becoming a Technical Product Marketing Manager at Red Hat, the ideal <a href="https://www.java.com/en/">Java</a> stack at RedHat, RHEL, <a href="https://www.ansible.com">ansible</a>, <a href="https://quarkus.io">quarkus</a>, Watson X, ChatGPT is like an <a href="https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-overview">Autopilot</a> in a car, Event-Driven Ansible, <a href="https://www.keycloak.org">keycloak</a>, <a href="https://prometheus.io">prometheus</a>, <a href="https://www.postgresql.org">PostgreSQL</a>, <a href="https://strimzi.io">strimzi</a>, Open Cluster Management, securing <a href="https://www.okd.io">openshift</a> clusters with <a href="https://www.stackrox.io">StackRox</a>, jenkins vs. ansible, <a href="https://docs.openshift.com/container-platform/4.8/cicd/pipelines/understanding-openshift-pipelines.html">OpenShift Pipelines</a> with <a href="https://tekton.dev">tekton</a>, <a href="https://learn.microsoft.com/en-us/azure/developer/java/ee/jboss-on-azure">JBoss EAP on Azure</a>, <a href="https://learn.microsoft.com/en-us/azure/developer/java/ee/jboss-on-azure#jboss-eap-on-azure-app-service">JBoss EAP on Azure App Service</a>, business <a href="https://istio.io/latest/docs/tasks/observability/metrics/">metrics</a> on Azure, software updates on Azure <a href="https://azure.microsoft.com/en-us/services/app-service/">App Service</a></blockquote> <p> James Falkner on twitter: <a href="https://twitter.com/schtool">@schtool</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 8 Jun 2023 11:00:00 +0100">Thu, 8 Jun 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_245.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_244"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_244">#<span itemprop="episodeNumber">244</span></a> The Reset Boy</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_244">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Vinicius Senger (<a href="https://twitter.com/vsenger">@vsenger</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/MSX">msx</a> computer, delivering pizza to buy computer with 12 years, learning <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> to write games, learning <a href="https://en.wikipedia.org/wiki/DBase">dBASE</a>, <a href="https://www.arduino.cc">arduino</a> and <a href="https://www.java.com/en/">Java</a>, writing dBase software for real estate management, the step <a href="https://en.wikipedia.org/wiki/Clipper_(programming_language)">clipper</a> functions, <a href="https://harbour.github.io">harbour project</a> or clipper on linux, learning C, the reset boy, <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a> vs. <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a>, NetWare <a href="https://en.wikipedia.org/wiki/LANtastic">LANtastic</a>, writing <a href="https://www.perl.org">Perl</a> for Sun Microsystems, teaching Java, SL-275, SL-285, SL-310, OO-226, SL-425, SL-500, <a href="https://en.wikipedia.org/wiki/Simple_Network_Management_Protocol">SNMP</a> and traps, Sun Tech Days, the <a href="https://www.globalcode.com.br/home">Globalcode</a> company, The Developer’s Conference (TDC), the Sun SPOTs, the network is the computer, <a href="https://aws.amazon.com/corretto/">Amazon Corretto</a> <a href="https://openjdk.java.net">openJDK</a>, Vinicius on Github: <a href="https://github.com/vsenger">vsenger</a>, <a href="https://aws.amazon.com/developer/language/java/">Java on AWS</a></blockquote> <p> Vinicius Senger on twitter: <a href="https://twitter.com/vsenger">@vsenger</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 28 May 2023 11:00:00 +0100">Sun, 28 May 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_244.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_243"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_243">#<span itemprop="episodeNumber">243</span></a> Understanding and Practising Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_243">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Antonio Goncalves (<a href="https://twitter.com/agoncal">@agoncal</a>) about: <blockquote>previously Antonio on <a href="https://airhacks.fm">airhacks.fm</a> with <a href="https://airhacks.fm/#episode_135">"#135 Writing Boring Software: From WebLogic over GlassFish to Quarkus"</a>, Understanding <a href="https://quarkus.io">quarkus</a> book, <a href="https://www.adam-bien.com/roller/abien/entry/jdd_javaee_session_future_is">JDD JavaEE Session: Future Is Now, But Is Not Evenly Distributed Yet</a>, Practicing Quarkus, The Ten Years After Talk, the <a href="https://github.com/agoncal/agoncal-application-petstore-ee7">Petstore Java EE 7</a>, <a href="https://micronaut.io">micronaut</a> and <a href="https://jakarta.ee/specifications/coreprofile/10/">Jakarta EE core</a> Profile, <a href="https://quarkus.io/guides/qute">Qute</a> vs JSPs, <a href="https://jakarta.ee">Jakarta EE</a> and the WAR requirements, joining the developer relations division at Microsoft, cloud migrations and the <a href="https://docs.aws.amazon.com/prescriptive-guidance/latest/application-portfolio-assessment-guide/iterating-7-rs-migration-strategy-selection.html">the 7rs</a>, Java on Azure, OpenAOI on Azure, <a href="https://javaee.github.io/glassfish/">Glassfish</a> contributions, Micronaut and <a href="https://helidon.io">Helidon</a>, Java and SnapStart with <a href="https://openjdk.org/projects/crac/">CRaC</a> <a href="https://airhacks.fm/#episode_240">"#240 Serverless Java (17) on AWS"</a>, <a href="https://learn.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview?tabs=bicep">Azure Bicep</a>, Azure EventHub, switching costs vs. portability, <a href="https://news.microsoft.com/source/features/sustainability/project-natick-underwater-datacenter/">Underwater Datacenter</a>, <a href="https://agoncal.teachable.com/courses/category/ebook">Antonios books</a></blockquote> <p> Antonio Goncalves on twitter: <a href="https://twitter.com/agoncal">@agoncal</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 21 May 2023 11:00:00 +0100">Sun, 21 May 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_243.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_242"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_242">#<span itemprop="episodeNumber">242</span></a> Java FX, Codename One, Swing, Flutter and a Bit Android</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_242">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Shai Almog (<a href="https://twitter.com/debugagent">@debugagent</a>) about: <blockquote>Shai previously on episode <a href="https://airhacks.fm/#episode_238">"#238 The History of Mobile Java and Codename One"</a>, <a href="https://flutter.dev">flutter</a>, <a href="https://www.java.com/en/">Java</a> FX and <a href="https://www.codenameone.com">Codename One</a>, <a href="https://openjfx.io">openjfx</a>, the challenges of marketing, google <a href="https://fuchsia.dev">fuchsia</a>, immediate mode graphics and Swing, <a href="https://openjfx.io">JavaFX</a> and Scene Graph Mode, Java FX got the idea from <a href="https://en.wikipedia.org/wiki/JavaFX_Script">F3</a>, GPU acceleration, apache <a href="https://tvm.apache.org">tvm</a>, the <a href="https://www.tornadovm.org">tornadovm</a> project, Codename One generates a xcode project, Flutter ships with runtime</blockquote> <p> Shai Almog on twitter: <a href="https://twitter.com/debugagent">@debugagent</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 14 May 2023 11:00:00 +0100">Sun, 14 May 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_242.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_241"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_241">#<span itemprop="episodeNumber">241</span></a> Simplicity is a Good Incentive</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_241">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ceki Guelcue (<a href="https://twitter.com/ceki">@ceki</a>) about: <blockquote>cava the Turkish <a href="https://www.java.com/en/">Java</a>, <a href="https://en.wikipedia.org/wiki/IBM_Personal_Computer_XT">PC XT</a> 8080, 360 kB floppy disk, using <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, developing a board game in Turbo <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, learning <a href="https://en.wikipedia.org/wiki/MS-DOS">MS-DOS</a>, studying physics, using <a href="https://en.wikipedia.org/wiki/Smaky">Smaky</a>, <a href="https://www.epfl-innovationpark.ch">EPFL</a> <a href="https://en.wikipedia.org/wiki/Logitech">Logitech</a> is based in Lausanne, programming over physics, <a href="https://en.wikipedia.org/wiki/CDMA2000">CDMA</a> algorithm, <a href="https://en.wikipedia.org/wiki/OSI_model">OSI model</a>, ping pong the simplest possible transport protocol, <a href="https://en.wikipedia.org/wiki/Time-division_multiplexing">ping pong protocol</a> is also known as Time-division multiplexing, TCP is a very simple protocol, easy of <a href="http://connectorz.adam-bien.com">implementation</a> is an interesting property, SLF4j a simple logging framework, learning C and struggling with pointers, the division algorithm is magical, <a href="https://en.wikipedia.org/wiki/Mix_network">Mix Network</a>, developing mix-based email system, the beginnings of tor, the tor project, enjoying operator overloading in <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, DSLs might be a waste of time, the LogBack DS, Log4j vs. java.util.logging, anonymity and freedom, using traffic analysis to analyse tor, onion routing and tor, tor’s honeypots, Ceki's paper: <a href="https://articles.qos.ch/mix_babel.pdf">Mixing Email with Babel</a>, Ceki's company: <a href="https://qos.ch">qos.ch</a></blockquote> <p> Ceki Guelcue on twitter: <a href="https://twitter.com/ceki">@ceki</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 7 May 2023 11:00:00 +0100">Sun, 7 May 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_241.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_240"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_240">#<span itemprop="episodeNumber">240</span></a> Serverless Java (17) on AWS</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_240">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Maximilian Schellhorn (<a href="https://twitter.com/maschnetwork">@maschnetwork</a>) about: <blockquote>playing Halo with Fujitsu Siemens <a href="https://en.wikipedia.org/wiki/Fujitsu_Siemens_Computers">Scaleo</a>, amazing graphics with crytec and crysis, learning HTML and the great <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/marquee">marquee</a> tag, semi-professional Call of Duty 4 gaming, learning <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a> and GUI programming, button oriented programming in Delphi, building ski school software in Delphi, from Delphi to <a href="https://www.java.com/en/">Java</a> and Spring, learning patterns with Java, starting at cloudflight.io, from Zalando to AWS, starting at AWS as Solution Architect, deploying <a href="https://quarkus.io">quarkus</a> as <a href="https://aws.amazon.com/lambda/">AWS Lambda</a>, full stack Infrastructure as Code with Java, creating Java content on AWS, <a href="https://aws.amazon.com/serverless/sam/">SAM</a>, <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html">CloudFormation</a> and <a href="https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-java.html">CDK</a>, CDK with SAM CLI, declarative development with SAM, state management and IaC, <a href="https://github.com/awslabs/aws-serverless-java-container">AWS Serverless Java Container</a>, <a href="https://aws.amazon.com/blogs/aws/new-accelerate-your-lambda-functions-with-lambda-snapstart/">Lambda SnapStart</a> optimises the startup time, SnapStart snapshots, using <a href="https://openjdk.org/projects/crac/">CRaC</a> hooks for SnapShot, caching with ShapStart vs. PostConstruct, from <a href="https://kotlinlang.org">Kotlin</a> to Java 17, data classes in Kotlin vs. <a href="https://adambien.blog/roller/abien/entry/java_14_a_simplest_possible">Java Records</a>, sealed classes as error handlers, <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> on-premise and in the clouds, using <a href="https://aws.amazon.com/s3/">S3</a> and <a href="https://aws.amazon.com/dynamodb/">DynamoDB</a>, DynamoDB and IaM security, lift-and-shift, <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> <a href="https://aws.amazon.com/sqs">SQS</a> integration, <a href="https://catalog.workshops.aws/java-on-aws-lambda/en-US">Java on AWS Lambda Workshop</a>, <a href="https://catalog.workshops.aws/java-on-aws-lambda/en-US/03-snapstart/patterns">Caching Data in the Snapshot</a>, announcement: <a href="https://aws.amazon.com/about-aws/whats-new/2023/04/aws-lambda-java-17/">AWS Lambda adds support for Java 17</a></blockquote> <p> Maximilian Schellhorn on twitter: <a href="https://twitter.com/maschnetwork">@maschnetwork</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 29 Apr 2023 11:00:00 +0100">Sat, 29 Apr 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_240.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_239"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_239">#<span itemprop="episodeNumber">239</span></a> Low-Code, No-Code with Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_239">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Richard Fichtner (<a href="https://twitter.com/richardfichtner">@richardfichtner</a>) about: <blockquote>the <a href="https://jcon.one">jcon.one</a> conference, the <a href="https://cinedom.de">cinedom</a> and <a href="https://en.wikipedia.org/wiki/Mad_Max_Beyond_Thunderdome">thunderdome</a>, <a href="https://dc-nordoberpfalz.de/digital-crafts-day.php">Digital Crafts Day</a>, 80485 Intel with ISDN router, starting with <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, the ISDN extension card, prehistoric and <a href="https://en.wikipedia.org/wiki/Prince_of_Persia">Prince of Persia</a>, <a href="https://en.wikipedia.org/wiki/Wing_Commander_(video_game)">Wing Commander</a>, starting with SUSE Linux, ISDN router and <a href="https://www.asterisk.org">asterisks</a>, <a href="https://en.wikipedia.org/wiki/LILO_(bootloader)">lilo</a> the Linux loader, geocities and myspace, Internet Cafes and resetting the computers, <a href="https://en.wikipedia.org/wiki/Netscape_Composer">Netscape Composer</a> and <a href="https://en.wikipedia.org/wiki/Netscape_Navigator_9">Netscape Navigator</a>, <a href="https://en.wikipedia.org/wiki/Netscape_Mail_%26_Newsgroups">Netscape Mail</a>, teaching HTML at school, <a href="https://xdev.software/produkte/xpage">xpage</a> is a WYSIWYG, <a href="https://twitter.com/fhhabermann">Florian Habermann</a> the god of programming, xdev the low code / nocode environment, xdev is <a href="https://www.java.com/en/">Java</a> 21 compatible, <a href="https://github.com/xdev-software/xapi">xapi</a> the framework, moving from Swing to <a href="https://vaadin.com/">Vaadin</a>, the extended persistence context and <a href="https://docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html">EntityManager</a>, <a href="https://docs.oracle.com/javaee/7/api/javax/persistence/PersistenceContextType.html">PersistenceContextType.EXTENDED</a> and interactive applications, <a href="https://vaadin.com/docs/v13/flow/introduction/introduction-overview.html">Vaadin flow</a> and <a href="https://www.manning.com/books/web-components-in-action">WebComponents</a>, <a href="http://www.gwtproject.org">GWT</a> and Vaadin, xdev the Vaadin IDE, xdev a no-code IDE, <a href="https://github.com/xdev-software/xapi-db-mysql-5">SqlEngine</a> a custom DSL for SQL with xdev, <a href="https://rapidclipse.com">RapidClipse</a> and <a href="https://www.eclipse.org/ide/">Eclipse</a>, Eclipse performance significantly improved in recent releases</blockquote> <p> Richard Fichtner on twitter: <a href="https://twitter.com/richardfichtner">@richardfichtner</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 23 Apr 2023 11:00:00 +0100">Sun, 23 Apr 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_239.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_238"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_238">#<span itemprop="episodeNumber">238</span></a> The History of Mobile Java and Codename One</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_238">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Shai Almog (<a href="https://twitter.com/debugagent">@debugagent</a>) about: <blockquote>the <a href="https://debugagent.com">debugagent</a> website, from Oracle to Sun, DoCoMo invented mobile web in 2003, DoCoMo <a href="https://www.java.com/en/">Java</a>, J2ME had a pre-verifier, DoCoMo Java, <a href="https://en.wikipedia.org/wiki/I-mode">i-mode</a> mobile phones , <a href="https://en.wikipedia.org/wiki/JAD_(file_format)">Java Application Descriptor (JAD)</a>, <a href="https://en.wikipedia.org/wiki/Lightweight_User_Interface_Toolkit">Lightweight User Interface Toolkit</a>, Sprint Wireless Tookit, <a href="https://en.wikipedia.org/wiki/JavaFX_Script">Java FX Script</a>, Chris Oliver and “Form Follows Function” or <a href="https://en.wikipedia.org/wiki/JavaFX_Script">F3</a>, <a href="https://en.wikipedia.org/wiki/Lightweight_User_Interface_Toolkit">LWUIT</a> on iOS, Swing mixins, starting <a href="https://www.codenameone.com">Codename One</a>, Codename One is like <a href="https://flutter.dev">flutter</a>, but in Java, Codename is written in Java and open source, Developing Java Apps for iOS--Codenameone, An Interview with Chen Fishbein, <a href="https://airhacks.fm/#episode_104">episode</a> with <a href="https://twitter.com/apr">Alejandro Pablo Revilla</a> <a href="https://airhacks.fm/#episode_207">"#207 Mission Critical Transactions"</a></blockquote> <p> Shai Almog on twitter: <a href="https://twitter.com/debugagent">@debugagent</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 16 Apr 2023 11:00:00 +0100">Sun, 16 Apr 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_238.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_237"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_237">#<span itemprop="episodeNumber">237</span></a> Hooked on Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_237">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Logan Kulinski (<a href="https://twitter.com/lbkulinski">@lbkulinski</a>) about: <blockquote>2009 Dell Inspiron with Pentium Inside, enjoying wrestling games, programming <a href="https://www.arduino.cc">arduino</a>, 15 degrees Fahrenheit in Chicago, learning HTML with <a href="https://en.wikipedia.org/wiki/Adobe_Dreamweaver">DreamWeaver</a>, enjoying <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> and cin and cout, starting with <a href="https://www.java.com/en/">Java</a> 8, hooked with Brian Goetz Java video, enjoying <a href="https://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">Java Lambda</a> expressions, method does not exist <a href="https://en.wikipedia.org/wiki/Ruby_(programming_language)">Ruby</a>, starting with Java on smart charging software, Lamba, ECS, Fargate, Aurora <a href="https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html">MySQL</a> and Java, enjoying, Chicago Java User Group, type checks at build time with <a href="https://micronaut.io">Micronaut</a>, saving money with Java, <a href="https://helidon.io">Helidon</a> and Micronaut, <a href="https://helidon.io/nima">Helidon Nima</a> and <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a>, interesting <a href="https://docs.oracle.com/en/java/javase/15/text-blocks/index.html">Text Blocks</a> and records, <a href="https://openjdk.java.net/jeps/420">pattern matching</a> with records, deconstructing records, pattern matching in switch, useful switch expression in Java 17, <a href="https://code.visualstudio.com">Visual Studio Code</a> vs. <a href="https://www.jetbrains.com/fleet/">JetBrains Fleet</a>, structured concurrency and <a href="https://wiki.openjdk.java.net/display/loom/Main">Loom</a>, <a href="https://en.wikipedia.org/wiki/Functional_reactive_programming">reactive programming</a> with reactive use cases, Loom will scale your servers, reactive programming scales your services</blockquote> <p> Logan Kulinski on twitter: <a href="https://twitter.com/lbkulinski">@lbkulinski</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 6 Apr 2023 11:00:00 +0100">Thu, 6 Apr 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_237.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_236"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_236">#<span itemprop="episodeNumber">236</span></a> Pommes, PaaS and Java on AWS</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_236">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Sascha Moellering (<a href="https://twitter.com/sascha242">@sascha242</a>) about: <blockquote>Schneider <a href="https://de.wikipedia.org/wiki/Amstrad_CPC">CPC</a>, starting programming with <a href="https://en.wikipedia.org/wiki/Commodore_16">C-16</a>, enjoying Finger’s Malone, upgrade to C-128, playing <a href="https://en.wikipedia.org/wiki/Turrican">Turrican</a>, Manfred Trenz created Turrican and <a href="https://en.wikipedia.org/wiki/R-Type">R-Type</a>, publishing a <a href="https://www.c64.at/modules/download_gallery/dlc.php?file=362">Pommes Game</a>, programming on <a href="https://en.wikipedia.org/wiki/Amiga">Amiga</a> 1200, math in game development, implementing a painting application, walking through C pointer and reference hell, from C to <a href="https://www.java.com/en/">Java</a> 1.0 on a Mac 6500 with 200MHz, using <a href="https://en.wikipedia.org/wiki/Metrowerks">Metrowerks</a> JVM, using <a href="https://en.wikipedia.org/wiki/CodeWarrior">CodeWarrior</a>, CodeWarrior vs. <a href="https://www.alinea-computer.de/produkte_details_en.php?product=stormc">stormc</a>, Java is a clean language, working on SpiritLink, using <a href="https://caucho.com/">Caucho</a> <a href="https://en.wikipedia.org/wiki/Resin_(software)">Resin</a>, starting at Accenture, from Accenture to Softlab, building a PaaS solution with <a href="https://www.jboss.org">JBoss</a> for Allianz, managing hundreds of JVMs with a pizza team, implementing a low latency marketing solution with <a href="https://vertx.io">Vert.x</a>, starting at Zanox, an <a href="https://airhacks.fm/#episode_104">episode</a> with Arjan Tijms <a href="https://airhacks.fm/#episode_184">"#184 Piranha: Headless Applets Loaded with Maven"</a>, starting at AWS as Account Solution Architect, using <a href="https://quarkus.io">quarkus</a> on <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> as a microservice, using POJO asynchronous lambdas, <a href="https://en.wikipedia.org/wiki/Jakarta_Enterprise_Beans">EJB</a> programming restrictions and Lambdas, <a href="https://discord.com/invite/airhacks">airhacks discord server</a>, <a href="https://aws.amazon.com/blogs/containers/optimize-your-spring-boot-application-for-aws-fargate/">Optimize your Spring Boot application for AWS Fargate</a>, <a href="https://aws.amazon.com/blogs/architecture/reactive-microservices-architecture-on-aws/">Reactive Microservices Architecture on AWS</a>, <a href="https://aws.amazon.com/blogs/architecture/field-notes-optimize-your-java-application-for-amazon-ecs-with-quarkus/">Field Notes: Optimize your Java application for Amazon ECS with Quarkus</a>, <a href="https://aws.amazon.com/blogs/architecture/field-notes-optimize-your-java-application-for-aws-lambda-with-quarkus/">Field Notes: Optimize your Java application for AWS Lambda with Quarkus</a>, <a href="https://aws.amazon.com/blogs/containers/how-to-deploy-your-quarkus-application-to-amazon-eks/">How to deploy your Quarkus application to Amazon EKS</a>, <a href="https://aws.amazon.com/blogs/opensource/using-graalvm-build-minimal-docker-images-java-applications/">Using GraalVM to Build Minimal Docker Images for Java Applications</a></blockquote> <p> Sascha Moellering on twitter: <a href="https://twitter.com/sascha242">@sascha242</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 1 Apr 2023 11:00:00 +0100">Sat, 1 Apr 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_236.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_235"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_235">#<span itemprop="episodeNumber">235</span></a> Debugging on Fire</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_235">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Shai Almog (<a href="https://twitter.com/debugagent">@debugagent</a>) about: <blockquote>Sinclair <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">spectrum</a> and VIC 20, moving to <a href="https://en.wikipedia.org/wiki/Apple_II">Apple 2</a>, programming the first game, learning <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> and <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, first programming job with 17, using <a href="https://en.wikipedia.org/wiki/OS/2">OS/2</a> for fun, working for <a href="https://en.wikipedia.org/wiki/Paradox_(database)">Paradox</a>, enjoying <a href="https://en.wikipedia.org/wiki/BeOS">BeOS</a>, apple wanted to buy BeOS before it bought <a href="https://en.wikipedia.org/wiki/NeXT">NeXT</a>, working for AI company, working on heuristic scheduling, writing articles for IDM about <a href="https://www.java.com/en/">Java</a> 1.1, the attraction to <a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture">CORBA</a>, OS2 and DSOM, <a href="https://docs.oracle.com/javase/7/docs/api/java/rmi/MarshalledObject.html">MarshalledObject</a> in Java, the great SGI machines, pretending to be a fighter pilot, developing in a burning building, <a href="https://en.wikipedia.org/wiki/Jane%27s_USAF">USAF Video Game</a>, starting a Java consulting company in 1999, building a <a href="https://en.wikipedia.org/wiki/PalmPilot">Palm Pilot</a> application for waiters, Sun’s Spotless VM comes with support for Solaris and Windows, porting Spotless VM to Linux, working for Sun Israel Development Center</blockquote> <p> Shai Almog on twitter: <a href="https://twitter.com/debugagent">@debugagent</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 26 Mar 2023 11:00:00 +0100">Sun, 26 Mar 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_235.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_234"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_234">#<span itemprop="episodeNumber">234</span></a> How JPA Buddy Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_234">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Aleksey Stukalov (<a href="https://twitter.com/AlekseyStukalov">@AlekseyStukalov</a>) about: <blockquote>the deepest hole-11km, starting with <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, math - and there is nothing to argue about, integral and differential equations, writing an article about magnetic impulses, <a href="https://en.wikipedia.org/wiki/1C_Company">1c</a> - consulting company, implementing accounting software, learning C#, <a href="https://en.wikipedia.org/wiki/Microsoft_Silverlight">Silverlight</a> and <a href="https://en.wikipedia.org/wiki/Language_Integrated_Query">LINQ</a>, from C# to <a href="https://www.java.com/en/">Java</a>, starting <a href="https://www.jmix.io">CUBA</a> and jmix, cuba and jmix are like <a href="https://en.wikipedia.org/wiki/Microsoft_Access">MS Access</a> for Java, building a banking system for Paraguay, 25k developers is using CUBA, starting <a href="https://www.jpa-buddy.com">JPA Buddy</a>, selling on IntelliJ marketplace, <a href="https://helidon.io/docs/latest/#/mp/guides/09_jpa">JPA</a> Buddy - the Vlad automation tool, <a href="https://airhacks.fm/#episode_117">"#117 Java Persistence: From DB over JDBC to Transactions"</a> <a href="https://airhacks.fm/#episode_104">episode</a> with Vlad Mihalcea, JPA buddy is a IntelliJ plugin, the Jetbrains <a href="https://www.jetbrains.com/mps/">MPS</a> (Meta Programming System), Intellij is an interesting distribution channel, DTO generation, mapping entities to DTOs, implementing projections with JPA, <a href="https://javaee.github.io/jsonp/">JSON-P</a> with <a href="https://adambien.blog/roller/abien/entry/java_14_a_simplest_possible">Java Records</a></blockquote> <p> Aleksey Stukalov on twitter: <a href="https://twitter.com/AlekseyStukalov">@AlekseyStukalov</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 19 Mar 2023 11:00:00 +0100">Sat, 19 Mar 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_234.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_233"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_233">#<span itemprop="episodeNumber">233</span></a> How Apache Roller Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_233">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dave Johnson (<a href="https://twitter.com/snoopdave">@snoopdave</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/PDP-8">PDP-8</a> with a paper tape reader, <a href="http://airhacks.tv">airhacks.tv</a> questions and answers, <a href="https://en.wikipedia.org/wiki/TRS-80">TRS-80</a>, playing asteroids, asteroids, <a href="https://en.wikipedia.org/wiki/Defender_(1981_video_game)">Defender</a> and <a href="https://en.wikipedia.org/wiki/Battlezone_(1998_video_game)">Battlezone</a> were based on vector graphics, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> and C, <a href="https://en.wikipedia.org/wiki/Data_General_Eclipse_MV/8000">Data General Eclipse MV/8000</a>, <a href="https://en.wikipedia.org/wiki/GRASS_GIS">Geographic Resources Analysis Support System</a> (GRASS GIS), working for University of Kingston, working on jfactory for Rouge Wave, <a href="https://techmonitor.ai/technology/haht_adds_integrated_java_with_hahtsite_30_development_tool_1">HAHT Software</a>, <a href="https://en.wikipedia.org/wiki/The_Soul_of_a_New_Machine">The Soul of a New Machine</a>, distributed <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a> application server, using <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a> to generate <a href="https://en.wikipedia.org/wiki/Jakarta_Enterprise_Beans">EJB</a>, using <a href="https://castor.exolab.org">castor</a> for persistence, <a href="https://roller.apache.org">Apache Roller</a> started as sample application, Sun hires dave, working on <a href="https://www.networkworld.com/article/2303125/ibm-lotus-to-put-social-networking-tools--sharing-software-in-spotlight.html">Lotus Notes social</a>, starting at <a href="https://www.cheetahdigital.com">wayin</a>, Roller supports <a href="https://en.wikipedia.org/wiki/Pingback">Pingback</a>, Lotus is using roller, using <a href="https://en.wikipedia.org/wiki/RightScale">Rightscale</a> to deploy Java software to AWS, using Jenkins and CloudFormation, <a href="https://airhacks.fm/#episode_19">episode with Scott McNealy</a> <a href="https://airhacks.fm/#episode_19">"#19 SUN, JavaSoft, Java, Oracle"</a>, Roller uses <a href="https://velocity.apache.org">Apache Velocity</a>, working on RSS parser <a href="https://rometools.github.io/rome/">Rome</a>, switching from <a href="https://debezium.io/documentation/reference/0.10/connectors/mongodb.html">MongoDB</a> to <a href="https://cassandra.apache.org/_/index.html">Apache Cassandra</a>, UserGrid data store, Oracle acquires <a href="https://www.oracle.com/corporate/pressrelease/oracle-buys-apiary-011917.html">apiary</a> , starting at <a href="https://www.cloudbees.com">CloudBees</a>, <a href="https://airhacks.fm/#episode_104">episode</a> with <a href="https://twitter.com/kohsukekawa">Kohsuke Kawaguchi</a> <a href="https://airhacks.fm/#episode_143">"#143 How Hudson and Jenkins happened"</a>, starting at Apollo, several thousand blogs on roller</blockquote> <p> Dave Johnson on twitter: <a href="https://twitter.com/snoopdave">@snoopdave</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 11 Mar 2023 11:00:00 +0100">Sat, 11 Mar 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_233.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_232"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_232">#<span itemprop="episodeNumber">232</span></a> Kubernetes Was Never Supposed To Leak</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_232">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Kelsey Hightower (<a href="https://twitter.com/kelseyhightower">@kelseyhightower</a>) about: <blockquote>HP laptop and playing <a href="https://www.ageofempires.com">Age of Empires</a>, programming calculators with <a href="https://en.wikipedia.org/wiki/TI-BASIC">TI-BASIC</a>, playing Mario on <a href="https://en.wikipedia.org/wiki/Nintendo_Entertainment_System">NES</a>, enjoying the Metroid on NES, working at Google datacenter as contractor, bash is a programming language, working for a financial institution, modernising <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a> with <a href="https://www.java.com/en/">Java</a>, rewriting Cobol to <a href="https://www.python.org">python</a>, learning Java and using <a href="https://www.jboss.org">JBoss</a>, contributing to Python to make it better, <a href="https://docs.python.org/3/library/venv.html">venv</a> (virtualenv) and <a href="https://www.pypy.org">pypy</a>, using Puppet for <a href="https://kafka.apache.org/documentation/#configuration">configuration</a> management, python vs. <a href="https://en.wikipedia.org/wiki/Ruby_(programming_language)">Ruby</a>, overengineering with Java, Java is lean now, creeating the <a href="http://www.confd.io">confd</a> project, <a href="https://www.gnu.org/software/gettext/manual/html_node/envsubst-Invocation.html">envsubst</a> and Java, Cost Driven Architectures in the clouds, replacing Java with GO, starting at CoreOS, <a href="https://etcd.io">etcd</a> as coordinator, <a href="http://connectorz.adam-bien.com">implementation</a> of <a href="https://en.wikipedia.org/wiki/Raft_(algorithm)">RAFT</a>, RAFT and cluster membership, contributing to Packr and Terraform, <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a> is written in GO, RAFT is understandable <a href="https://en.wikipedia.org/wiki/Paxos_(computer_science)">Paxos</a>, RAFT did not consider bootstrapping, Apache <a href="https://zookeeper.apache.org">zookeeper</a> is used for coordination, <a href="https://bookkeeper.apache.org">Apache BookKeeper</a>, CoreOS <a href="https://github.com/coreos/fleet">fleet</a>, <a href="https://www.redhat.com/en/topics/containers/what-is-rkt">rkt</a> vs. docker, <a href="https://docs.saltproject.io/en/latest/topics/states/index.html">salt</a> configuration maangement, <a href="https://kubernetes.io/">kubernetes</a> pod, the <a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/kubernetes-objects/">status</a> field in kubernetes, <a href="https://opensource.googleblog.com/2023/03/introducing-service-weaver-framework-for-writing-distributed-applications.html">Google Service Weaver</a>, <a href="https://cloud.google.com/appengine">Google App Engine</a>, checkout episode: <a href="https://airhacks.fm/#episode_153">"#153 Java, Serverless, Google App Engine, gVisor, Kubernetes"</a>, writing modular code is important, monoliths and microservices, <a href="https://www.rust-lang.org">rust</a> is leaking details, <a href="https://github.com/kelseyhightower/kubernetes-the-hard-way">Kubernetes The Hard Way</a> the step by step guide, Kubernetes <a href="https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-overview">Autopilot</a></blockquote> <p> Kelsey Hightower on twitter: <a href="https://twitter.com/kelseyhightower">@kelseyhightower</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 5 Mar 2023 11:00:00 +0100">Sun, 5 Mar 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_232.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_231"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_231">#<span itemprop="episodeNumber">231</span></a> Thinking About Decentralized Web</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_231">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Andrew Lee Rubinger (<a href="https://twitter.com/alrubinger">@alrubinger</a>) about: <blockquote>Previously Andrew on <a href="https://airhacks.fm">airhacks.fm</a> <a href="https://airhacks.fm/#episode_96">"#96 Long Coding Nights, ShrinkWrap, Arquillian and Testing"</a>, working on <a href="https://opensource.apple.com">opensource.apple.com</a>, square <a href="https://block.xyz">block</a> tbd, <a href="http://www.cdi-spec.org">CDI</a> and <a href="https://github.com/google/guice">guice</a>, <a href="http://seamframework.org">Seam</a> and Guice and CDI, Gavin King and <a href="https://www.seamframework.org">Seam Framework</a>, the <a href="http://arquillian.org/">arquillian</a> Testframework, <a href="https://en.wikipedia.org/wiki/Self-sovereign_identity">Self-sovereign identity</a>, web 5 provides the primitives for Decentralized Identifiers, Self-sovereign_identity (SSI), Decentralized Web Nodes, the inversion of control, <a href="https://solid.mit.edu">solid</a> "social linked data", <a href="https://www.tbd.website">tbd.website</a>, <a href="https://developer.tbd.website/projects/dwn-sdk-js/readme/">TBD sdk</a>, <a href="https://www.zion.fyi">zion.fyi</a> the hello world of <a href="https://developer.tbd.website/projects/web5/">Web5</a>, decentralized messages have to be idempotent, <a href="https://en.wikipedia.org/wiki/JXTA">JXTA</a> p2p with <a href="https://www.java.com/en/">Java</a>, <a href="http://codinginparadise.org/paperairplane/">Paper Airplane</a>, <a href="https://river.apache.org">Jini</a> and <a href="https://en.wikipedia.org/wiki/Tuple_space#JavaSpaces">JavaSpaces</a></blockquote> <p> Andrew Lee Rubinger on twitter: <a href="https://twitter.com/alrubinger">@alrubinger</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 26 Feb 2023 11:00:00 +0100">Sun, 26 Feb 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_231.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_230"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_230">#<span itemprop="episodeNumber">230</span></a> A Human-Centric, OpenSource Workflow Engine on Jakarta EE</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_230">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ralph Soika (<a href="https://twitter.com/rsoika">@rsoika</a>) about: <blockquote>Starting programming with <a href="https://en.wikipedia.org/wiki/Atari_8-bit_family">Atari 600XL</a> The thick book: My Atari XL Computer - Learning <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, programming print hello, <a href="http://gotocon.com/aboutjaoo/">GOTO</a> 10, publishing and developing a <a href="https://en.wikipedia.org/wiki/Lunar_Lander_(video_game_genre)">Moon Lander</a> game in a magazine, developing logistics software, starting a company to develop <a href="https://en.wikipedia.org/wiki/HCL_Domino">Lotus Domino</a> solutions, starting with <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a>, then transitioning to <a href="https://www.java.com/en/">Java</a>, starting with Java 1.0, implementing a Java backend for Lotus Domino, writing Java agents for Lotus Domino server <a href="http://couchdb.apache.org">CouchDB</a> is based on Lotus Notes, the <a href="https://www.cnet.com/tech/tech-industry/groove-software-to-jive-with-lotus-notes/">Groove</a> peer to peer software, programming Java applets and Swing applications, implementing workflow modeller with <a href="https://www.eclipse.org/ide/">Eclipse</a>, founding the <a href="https://www.imixs.com">imixs</a> company, building to build a workflow engine on <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a>, removing code with every release of <a href="https://javaee.github.io">Java EE</a>, the <a href="https://www.youtube.com/watch?v=edE9djg04AU">106th airhacks.tv</a> and is Java EE dead?, building a human-centric workflow engine, ACL on documents for confidential data processing, learning from Louts Notes, Java Persistence API and <a href="https://www.postgresql.org">PostgreSQL</a>, <a href="https://www.fast.design">fast</a> queries with Blobs, Apache Lucene and PostgreSQL, <a href="https://kubernetes.io/">kubernetes</a> in the cloud and on premise, AWS ECS Fargate, AWS App Runner, Azure <a href="https://azure.microsoft.com/en-us/services/container-instances/">Container Instances</a>, Azure <a href="https://azure.microsoft.com/en-us/services/app-service/">App Service</a>, managed alternatives in the clouds</blockquote> <p> Ralph Soika on twitter: <a href="https://twitter.com/rsoika">@rsoika</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 18 Feb 2023 11:00:00 +0100">Sat, 18 Feb 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_230.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_229"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_229">#<span itemprop="episodeNumber">229</span></a> Highly Structured Lifehacks with Heinz</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_229">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Heinz Kabutz (<a href="https://twitter.com/heinzkabutz">@heinzkabutz</a>) about: <blockquote>Heinz previously on <a href="https://airhacks.fm">airhacks.fm</a> <a href="https://airhacks.fm/#episode_215">"#215 Karatsuba, Megamorphic Call-sites, Deadlocks and a bit of Loom"</a>, a contribution to jdk, 2022 in review, Nicolai Parlog on airhacks.fm <a href="https://airhacks.fm/#episode_206">"#206 Java 19: Millions of Threads in No Time"</a>, newsletter: <a href="https://www.javaspecialists.eu/archive/Issue305-Contributing-BigInteger.parallelMultiply-to-OpenJDK.html">Contributing BigInteger.parallelMultiply() to OpenJDK</a>, <a href="https://www.manning.com/books/the-java-module-system">The Java Module System</a> book by Nicolai Parlog, <a href="https://openjdk.org/jeps/192">JEP 192: String Deduplication in G1</a>, <a href="https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/lang/String.html#intern()">String.intern</a>, <a href="https://www.oracle.com/technetwork/tutorials/tutorials-1876574.html">G1</a> and deduplication, <a href="https://www.oracle.com/java/technologies/jdk-mission-control.html">JDK Mission Control</a>, <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a> for <a href="https://javaee.github.io">Java EE</a> deployment, destroying G1 with a LinkedList and millions entries, <a href="https://adambien.blog/roller/abien/entry/java_14_a_simplest_possible">Java Records</a> as data transporters, interfaces as factories, <a href="https://javaspecialists.teachable.com/p/teardown-01-arrayblockingqueue">Teardown of ArrayBlockingQueue</a>, WeakReferences and ArrayBlockingQueue, ExecutorService in Java 19 is AutoCloseable, Java iterators and memory leaks, Weak references in Swing, <a href="https://www.youtube.com/watch?v=DenH8AWDABQ">Real World Visitor with Pattern Matching for instanceof</a> in AWS <a href="https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-java.html">CDK</a>, <a href="https://github.com/eclipse-ee4j/tyrus">JSR 356 - Java API for WebSocket Eclipse Tyrus</a>, <a href="https://openjdk.org/jeps/238">JEP 238: Multi-Release JAR Files</a>, Create a Custom, Right-Sized JVM with <a href="https://docs.oracle.com/javase/9/tools/jlink.htm">jlink</a>, streaming events with <a href="https://openjdk.org/jeps/328">JEP 328: Flight Recorder</a>, var for everything, the new Project Coin and <a href="https://openjdk.org/jeps/213">private interface methods</a>, System.out.printf is working, <a href="https://docs.oracle.com/javase/9/jshell/introduction-jshell.htm#JSHEL-GUID-630F27C8-1195-4989-9F6B-2C51D46F52C8">jshell</a> for javadoc, JVM logging, <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.Logger.html">System.logger</a> and java.util.logging, <a href="http://adambien.blog/roller/abien/entry/system_logger_the_minimalistic_logging">System.Logger--the minimalistic logging interface in Java 9</a>, <a href="https://docs.oracle.com/javase/10/core/serialization-filtering1.htm#JSCOR-GUID-3ECB288D-E5BD-4412-892F-E9BB11D4C98A">Serialization Filtering</a>, <a href="https://foxglovesecurity.com/2015/11/06/what-do-weblogic-websphere-jboss-jenkins-opennms-and-your-application-have-in-common-this-vulnerability/">What Do WebLogic, WebSphere, JBoss, Jenkins, OpenNMS, and Your Application Have in Common? This Vulnerability</a></blockquote> <p> Heinz Kabutz on twitter: <a href="https://twitter.com/heinzkabutz">@heinzkabutz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 12 Feb 2023 11:00:00 +0100">Sun, 12 Feb 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_229.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_228"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_228">#<span itemprop="episodeNumber">228</span></a> Star Trek, Star Wars, Transactions, SQL, NoSQL and almost Streaming</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_228">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Mary Grygleski (<a href="https://twitter.com/mgrygles">@mgrygles</a>) about: <blockquote>808X as first computer, Hong Kong was high tech, enjoying space missions, Star Trek and Star Wars, the intriguing registration terminal, writing code in <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, 3 GL programming languages and SQL, set theory and SQL, the seven layers of OSI, <a href="https://en.wikipedia.org/wiki/OSI_model">OSI model</a>, <a href="https://en.wikipedia.org/wiki/MVS">IBM MVS</a>, <a href="https://en.wikipedia.org/wiki/IBM_System_i">AS 400</a> is the opposite of micro services, developers get bored too early, learning X-Windows, working with early Oracle databases, using <a href="https://en.wikipedia.org/wiki/DBase">dBASE</a>, <a href="https://en.wikipedia.org/wiki/Clipper_(programming_language)">clipper</a> and <a href="https://en.wikipedia.org/wiki/FoxPro">FoxPro</a>, <a href="https://en.wikipedia.org/wiki/Transarc">transarc</a>, stratos tx, Transarc the transaction file system, Transaction Processing: Concepts and Techniques, working on <a href="https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol">SMTP</a> / MTA, <a href="http://couchdb.apache.org">CouchDB</a> and Lotus Notes, the <a href="https://en.wikipedia.org/wiki/Ultra_30">Sun Ultra 30</a> workstation, starting at Sybase, EA server Sybase / Jaguar, using emacs for <a href="https://www.java.com/en/">Java</a> development, then <a href="https://netbeans.apache.org">netbeans</a>, <a href="https://javaee.github.io">Java EE</a> and the hierarchical class loaders, working on <a href="https://en.wikipedia.org/wiki/Jakarta_Enterprise_Beans">EJB</a> 3 <a href="https://www.osgi.org/developer/specifications/reference/">specs</a>, mobile apps with <a href="https://en.wikipedia.org/wiki/Apache_Cordova">Apache Cordova</a>, reactive systems at IBM, using <a href="https://akka.io">akka</a>, <a href="https://www.eclipse.org/ide/">Eclipse</a> Vertex and <a href="https://microprofile.io">MicroProfile</a>, working for <a href="https://www.datastax.com">datastax</a> and Pulsar, Datastax provides support for <a href="https://cassandra.apache.org/_/index.html">Apache Cassandra</a> and <a href="https://pulsar.apache.org">Apache Pulsar</a>, separating the compute from the storage, <a href="https://www.datastax.com/products/astra-streaming">astra</a> the managed cloud platform</blockquote> <p> Mary Grygleski on twitter: <a href="https://twitter.com/mgrygles">@mgrygles</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 5 Feb 2023 11:00:00 +0100">Sun, 5 Feb 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_228.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_227"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_227">#<span itemprop="episodeNumber">227</span></a> From Amiga, Java ME, JavaFX, over Clouds to Decentralized Package Network </h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_227">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Karol Harezlak (<a href="https://github.com/karolh2000">@karolh2000</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Commodore_64">C 64</a> with <a href="https://en.wikipedia.org/wiki/Commodore_Datasette">Datasette</a>, enjoy gaming, <a href="https://en.wikipedia.org/wiki/The_Last_Ninja">The Last Ninja</a>, the demo scene, adding demo to the game, the dark horse federation, <a href="https://en.wikipedia.org/wiki/Amiga_500">Amiga 500</a>, <a href="https://en.wikipedia.org/wiki/Amiga">Amiga</a> <a href="https://en.wikipedia.org/wiki/AMOS_(programming_language)">AMOS</a>, stealing assets from games, learning <a href="https://en.wikipedia.org/wiki/Assembly_language">assembler</a> with 10 years, AMOS and <a href="https://en.wikipedia.org/wiki/STOS_BASIC">STOS</a>, building lottery simulation, <a href="https://en.wikipedia.org/wiki/JBuilder">Borland JBuilder</a> and <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a>, working for <a href="https://en.wikipedia.org/wiki/JDeveloper">JDeveloper</a>, starting with internet in 1992, building a game chat, starting with Snowbaording and Skateboarding, using <a href="https://struts.apache.org">Apache Struts</a> and JSPs, joining the <a href="https://netbeans.apache.org">NetBeans</a> team at Sun MIcrosystems, working on <a href="https://www.oracle.com/java/technologies/javameoverview.html">Java ME</a>, the episode with John Ceccarelli:<a href="https://airhacks.fm/#episode_216">"#216 Low Code, No Code, WYSIWYG …and some CRaC"</a>, lan parties in a cottage, <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> 2010, <a href="https://jdd.org.pl">JDD conference</a> in Krakow, <a href="https://www.meetup.com/silesia-jug/">Silesia Java User Group</a> in Katowice, <a href="https://www.adam-bien.com/roller/abien/entry/jug_tricity_microservices_and_the">JUG Tricity, Microservices and The History Repeats</a>, replacing JDeveloper engine with NetBeans, SQL Developer is based on NetBeans, working on windows manager for JDeveloper, implementing Oracle Developer Cloud, working on <a href="https://pyrsia.io">Pyrsia</a> for JFrog, a distributed binary system, the hard System.out.println with Rust, Rust: one line of code can generate 50 warnings</blockquote> <p> Karol Harezlak on github: <a href="https://github.com/karolh2000">@karolh2000</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 29 Jan 2023 11:00:00 +0100">Sun, 29 Jan 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_227.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_226"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_226">#<span itemprop="episodeNumber">226</span></a> Supercharging the GraalVM</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_226">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Аlina Yurenko (<a href="https://twitter.com/alina_yurenko">@alina_yurenko</a>) about: <blockquote>2012 MacBook Air, enjoying a Symbian mobile phone, GCP meetups, from firebase to <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, starting as Developer Advocate for <a href="https://www.graalvm.org">GraalVM</a>, GraalVM <a href="https://en.wikipedia.org/wiki/Just-in-time_compilation">JIT</a>, GraalVM native, GraalVM Polyglot, <a href="https://en.wikipedia.org/wiki/Doom_(franchise)">doom</a> on GraalVM, JavaScript and <a href="https://www.python.org">python</a> are interpreted at GraalVM, the closed world assumption - the dependencies have to be known at compile time, <a href="https://www.graalvm.org/22.0/reference-manual/native-image/Agent/">GraalVM tracing agent</a> provides dependency configuration, <a href="https://github.com/oracle/graalvm-reachability-metadata">GraalVM Reachability Metadata Repository</a>, GraalVM <a href="https://code.visualstudio.com">Visual Studio Code</a> extensions, GraalVM and <a href="https://llvm.org">LLVM</a> runtime, <a href="https://www.graalvm.org/sdk/javadoc/org/graalvm/nativeimage/Isolate.html">GraalVM isolate</a>, the GraalVM <a href="https://www.graalvm.org/docs/reference-manual/native-image/">native image</a> performance, Github Actions for GraalVM, Alibaba uses Native Image in production, Disney Streaming uses GraalVM to reduce cold starts, article: <a href="https://aws.amazon.com/blogs/opensource/improving-developer-productivity-at-disney-with-serverless-and-open-source/">Disney Streaming using GraalVM on AWS Lambda</a>, Adyen uses GraalVM as safe execution environment for native code, article: <a href="https://www.adyen.com/blog/graalvm-running-c-applications--in-the-cloud">GraalVM: running C/C++ application safely in the Java world</a>, <a href="https://www.youtube.com/watch?v=gPA-yE6q_PQ">Supercharge your Native Image applications in 5 steps</a></blockquote> <p> Аlina Yurenko on twitter: <a href="https://twitter.com/alina_yurenko">@alina_yurenko</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 22 Jan 2023 11:00:00 +0100">Sun, 22 Jan 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_226.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_225"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_225">#<span itemprop="episodeNumber">225</span></a> Obsessed With Performance</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_225">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jakob Jenkov (<a href="https://twitter.com/jjenkov">@jjenkov</a>) about: <blockquote>the great <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore</a> 128, <a href="https://en.wikipedia.org/wiki/The_Last_Ninja">The Last Ninja</a> game, starting to program <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, Commodore <a href="https://en.wikipedia.org/wiki/Amiga_500">Amiga 500</a>, starting with Borland <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> on a PC, optimising code with <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> and C, starting in <a href="https://en.itu.dk">IT University in Copenhagen</a>, switching to <a href="https://www.java.com/en/">Java</a>, the catch up with Java, Java from the Source Sun books, performance tuning, one application per server, using the <a href="https://en.wikipedia.org/wiki/Novell_exteNd">Silverstream</a> application server, SIlverStream was acquired by Novell, <a href="https://en.wikipedia.org/wiki/WebObjects">WebObjects</a> from Apple, building a logistics system for UPS with Java, what is a solution architect?, architect vs. designer, Jakob Jenkov tutorial page: <a href="https://jenkov.com">jenkov.com</a>, <a href="https://lmax-exchange.github.io/disruptor/">the LMAX disruptor</a>, <a href="https://twitter.com/mjpt777">Martin Thompson</a> performance work the EJB <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> talk: <a href="https://www.adam-bien.com/roller/abien/entry/from_devflix_hey_enterprise_ejb">Hey Enterprise EJB Developers Now Is The Time To Go Serverless</a>, <a href="https://aws.amazon.com/lambda/">AWS Lambda</a> for enterprise applications, cloud complexity and portability, Infrastructure as Code with Java, using Java <a href="https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-java.html">CDK</a> for provisioning, <a href="https://quarkus.io">quarkus</a> and <a href="https://micronaut.io">Micronaut</a> cloud optimizations</blockquote> <p> Jakob Jenkov on twitter: <a href="https://twitter.com/jjenkov">@jjenkov</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 15 Jan 2023 11:00:00 +0100">Sun, 15 Jan 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_225.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_224"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_224">#<span itemprop="episodeNumber">224</span></a> What does it mean to be a professional programmer?</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_224">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ken Fogel (<a href="https://twitter.com/omniprof">@omniprof</a>) about: <blockquote>previously Ken on <a href="https://airhacks.fm">airhacks.fm</a> <a href="https://airhacks.fm/#episode_205">"#205 Mr. Omni"</a>, <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> in Las Vegas, What does it mean to be a professional programmer, the engineering principles, building a Las Vegas Conference Management System, the Use Case <a href="https://en.wikipedia.org/wiki/Unified_Modeling_Language">UML</a> diagram, how to capture requirements, the developer and the client have to have a good idea about the system, the “Transitioning to Java” book, <a href="https://airhacks.fm/#episode_103">"#103 Unit Testing Considered Harmful"</a>, <a href="https://en.wikipedia.org/wiki/System_testing">System Tests</a> over Unit Tests, misusing system tests to identify dead code, Unit Test coverage is the false indicator of quality, <a href="https://www.cypress.io">cypress</a> over <a href="https://www.selenium.dev">selenium</a>, programmer vs. developer, <a href="https://en.wikipedia.org/wiki/Christopher_Alexander">Christopher Alexander</a> and software patterns, <a href="https://en.wikipedia.org/wiki/GRASP_(object-oriented_design)">GRASP patterns</a> or how to build a maintainable system, write simple code, <a href="https://en.wikipedia.org/wiki/KISS_principle">KISS</a> and <a href="https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it">YAGNI</a></blockquote> <p> Ken Fogel on twitter: <a href="https://twitter.com/omniprof">@omniprof</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 8 Jan 2023 11:00:00 +0100">Sun, 8 Jan 2023 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_224.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_223"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_223">#<span itemprop="episodeNumber">223</span></a> How Grizzly and Atmosphere Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_223">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jeanfrancois Arcand (<a href="https://twitter.com/jfarcand">@jfarcand</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/TRS-80">TRS 80</a> from radioshack with 12, starting with turtles and <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">Logo</a>, training artificial networks with differential equations, a force feedback mouse with AI inside, starting with the first <a href="https://www.java.com/en/">Java</a> version, implementing AI with Java, starting at the <a href="https://en.wikipedia.org/wiki/Jakarta_Enterprise_Beans">EJB</a> team at Sun Microsystems, working on <a href="http://tomcat.apache.org">Tomcat</a> at Sun, working on <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a> RI - the foundation of <a href="https://javaee.github.io/glassfish/">Glassfish</a>, GlassFish v1 shipped with <a href="https://javaee.github.io/grizzly/httpframework.html">grizzly</a>, grizzly vs. <a href="https://github.com/Atmosphere/atmosphere">atmosphere</a>, working on <a href="https://jcp.org/en/jsr/detail?id=356">JSR-356</a> - <a href="https://helidon.io/docs/latest/#/mp/websocket/01_overview">WebSockets</a>, creating a betting game for ice hockey and football, creating the yulplay company, handling 25k transactions per JVM, using <a href="https://kafka.apache.org/">Apache Kafka</a> for communication, running on 5-10 EC 2 instances and NLB, working on Environmental, social, and corporate governance (ESG), AI and model explainability challenges, starting at <a href="https://www.metrio.net">metrio</a>, metrio was bought by Nasdaq</blockquote> <p> Jeanfrancois Arcand on twitter: <a href="https://twitter.com/jfarcand">@jfarcand</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 31 Dec 2022 11:00:00 +0100">Sat, 31 Dec 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_223.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_222"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_222">#<span itemprop="episodeNumber">222</span></a> Xmas with the Brazilian JavaMan</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_222">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Bruno Souza (<a href="https://twitter.com/brjavaman">@brjavaman</a>) about: <blockquote>the <a href="https://www.javaman.com.br">JavaMan</a>, planting Xmas trees, the Why, the How and the What, <a href="https://simonsinek.com/private-classes/the-golden-circle-for-individuals/">the Golden Circle</a> by <a href="https://simonsinek.com">Simon Sinek</a>, micro services vs. monoliths, <a href="https://jav.mn/lowhangingtalks/">4 Places and 5 Tips to Become an Amazing Speaker</a>, <a href="https://en.wikipedia.org/wiki/Sun_Ray">Sun Ray Station</a></blockquote> <p> Bruno Souza on twitter: <a href="https://twitter.com/brjavaman">@brjavaman</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 23 Dec 2022 11:00:00 +0100">Fri, 23 Dec 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_222.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_221"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_221">#<span itemprop="episodeNumber">221</span></a> What is foojay.io?</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_221">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Geertjan Wielenga (<a href="https://twitter.com/GeertjanW">@GeertjanW</a>) about: <blockquote>Geertjan previously on <a href="https://airhacks.fm">airhacks.fm</a> at: <a href="https://airhacks.fm/#episode_212">"#212 From a NetBeans Champion to a Friend of the openJDK"</a>, what is <a href="https://foojay.io">foojay.io</a>, <a href="https://foojay.io">Friends of OpenJDK</a>, <a href="https://github.com/foojayio/discoapi">foojay Disco API</a>, Bert on airhacks.fm on: <a href="https://airhacks.fm/#episode_123">"#123 Plasma is the new "Hello,World""</a>, <a href="https://www.azul.com/newsroom/azul-systems-to-unveil-industrys-most-scalable-platform-for-business-java-applications/">Azul Hardware announcement</a>, blogpost: <a href="https://www.adam-bien.com/roller/abien/entry/new_hardware_for_java">New Hardware For Serverside Java</a>, <a href="https://www.cpushack.com/2016/05/21/azul-systems-vega-3-54-cups-of-coffee/">Azul Systems Vega 3: 54 Cups of Coffee</a>,</blockquote> <p> Geertjan Wielenga on twitter: <a href="https://twitter.com/GeertjanW">@GeertjanW</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 16 Dec 2022 11:00:00 +0100">Fri, 16 Dec 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_221.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_220"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_220">#<span itemprop="episodeNumber">220</span></a> To MicroProfile, Or Not To MicroProfile?</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_220">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Romain Manni-Bucau (<a href="https://twitter.com/rmannibucau">@rmannibucau</a>) about: <blockquote>Romain appeared first at <a href="https://airhacks.fm/#episode_79">"#79 Back to Shared Deployments"</a>, <a href="https://kubernetes.io/">kubernetes</a> and portability, <a href="https://min.io/">minio</a>, <a href="https://www.nginx.com/">nginx</a> kubernetes <a href="https://k0sproject.io">k0s</a>, <a href="https://microprofile.io">MicroProfile</a> <a href="https://smallrye.io">SmallRye</a>, self-constraining for productivity, <a href="https://www.jsonrpc.org/specification">JSON-RPC</a> over <a href="https://graphql.org/">GraphQL</a>, <a href="https://www.yupiik.io">yupiik</a> <a href="https://github.com/yupiik/uship">uship</a> - a <a href="https://jakarta.ee">Jakarta EE</a> subset, <a href="https://www.adam-bien.com/roller/abien/entry/making_the_intentions_explicit_with">"Making the Intentions Explicit with JAX-RPC over JAX-RS"</a>, JSON-RPC over GraphQL, <a href="https://openwebbeans.apache.org">Apache OpenWebBeans</a>, <a href="http://tomcat.apache.org">Apache Tomcat</a>, <a href="https://jakarta.ee/specifications/jsonb/">JSON-B</a>, <a href="https://johnzon.apache.org">Apache Johnzon</a> JSON-B supports <a href="https://adambien.blog/roller/abien/entry/java_14_a_simplest_possible">Java Records</a>,</blockquote> <p> Romain Manni-Bucau on twitter: <a href="https://twitter.com/rmannibucau">@rmannibucau</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 11 Dec 2022 11:00:00 +0100">Sun, 11 Dec 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_220.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_219"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_219">#<span itemprop="episodeNumber">219</span></a> Java, CraC and Reducing Cold Start Duration with AWS Lambda SnapStart</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_219">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Mark Sailes (<a href="https://twitter.com/MarkSailes3">@MarkSailes3</a>) about: <blockquote><a href="https://openjdk.org/projects/crac/">CRaC</a> API, <a href="https://openjdk.org/groups/hotspot/docs/HotSpotGlossary.html">C1</a> and <a href="https://openjdk.org/groups/hotspot/docs/HotSpotGlossary.html">C2</a> compilers, <a href="https://www.graalvm.org">GraalVM</a> and Random, CRaC and Stateful EJB beans, <a href="https://aws.amazon.com/blogs/aws/new-accelerate-your-lambda-functions-with-lambda-snapstart/">Lambda SnapStart</a> and snapshotting the <a href="https://firecracker-microvm.github.io">Firecracker VM</a>, the CraC resource interface and listener methods, priming the critical path, <a href="https://github.com/AdamBien/aws-quarkus-lambda-cdk-plain">Quarkus with MicroProfile AWS on Lambda CDK template</a>, <a href="https://github.com/AdamBien/aws-lambda-cdk-plain">Plain Java AWS Lambda with CDK template</a>, SDKs calls in the <a href="https://crac.github.io/openjdk-builds/javadoc/api/java.base/jdk/crac/Resource.html#beforeCheckpoint(jdk.crac.Context)">beforeCheckpoint</a> hook, SnapStart state never leaves the region, SnapStart state is cached in caches within Availability Zones, SnapStart is available within VPCs, only versioned AWS Lambdas can be optimized, <a href="https://aws.amazon.com/blogs/aws/new-provisioned-concurrency-for-lambda-functions/">Provisioned Concurrency</a> and SnapStart, <a href="https://mark-sailes.medium.com/the-other-feature-of-aws-lambda-provisioned-concurrency-saving-money-24e4e5086e1b">The Other Feature of AWS Lambda Provisioned Concurrency — Saving Money</a>, <a href="https://www.youtube.com/watch?v=xmacMfbrG28">A serverless journey: AWS Lambda under the hood</a> provisioned concurrency and EC 2 reserved instances, AWS Lambda function starts at bare metal,</blockquote> <p> Mark Sailes on twitter: <a href="https://twitter.com/MarkSailes3">@MarkSailes3</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 29 Nov 2022 11:00:00 +0100">Tue, 29 Nov 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_219.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_218"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_218">#<span itemprop="episodeNumber">218</span></a> How OmniFish Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_218">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with David Matejcek (<a href="https://twitter.com/dmatej">@dmatej</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/PMD_85">pmd 85</a> the slovak computer by Tesla. optimizing games, starting with <a href="https://www.java.com/en/">Java</a> 1.2, working with <a href="https://turbine.apache.org">Apache Turbine</a>, joining <a href="https://www.iczgroup.com">ICZ Group</a> in Prague, from Sun One to <a href="https://javaee.github.io/glassfish/">Glassfish</a>, working with Payara and <a href="https://www.payara.fish/software/payara-server/payara-micro/">Payara Micro</a>, a call from Ondro, Ondrej Mihalyi appeared on <a href="https://airhacks.fm/#episode_160">"#160 Modules Are Needed, But Not Easy"</a>, Arjan Tijms appeared on <a href="https://airhacks.fm/#episode_184">"#184 Piranha: Headless Applets Loaded with Maven"</a> , no leader, just p2p, working on <a href="https://www.youtube.com/watch?v=IaGf3Geq-IM">payara cloud</a>, logging is an art, improved logging in Glassfish 7, <a href="https://omnifish.ee">OmniFish</a> is the main contributor to Glassfish, Glassfish Admin Console and <a href="https://www.oracle.com/technical-resources/articles/javaee/javaserverfaces-templating.html">Woodstock JSF</a>,</blockquote> <p> David Matejcek on twitter: <a href="https://twitter.com/dmatej">@dmatej</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 28 Nov 2022 11:00:00 +0100">Mon, 28 Nov 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_218.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_217"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_217">#<span itemprop="episodeNumber">217</span></a> ACID, Base, XA and Long Running Actions</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_217">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Daniel Kec (<a href="https://twitter.com/danielkec">@danielkec</a>) about: <blockquote>Daniel Kec on <a href="https://airhacks.fm">airhacks.fm</a> <a href="https://airhacks.fm/#episode_214">"#214 It is Cool to Block Again"</a>, <a href="https://www.oasis-open.org/committees/document.php?document_id=12794">OASIS WS-LRA</a>, <a href="https://download.eclipse.org/microprofile/microprofile-lra-1.0-M1/microprofile-lra-spec.html">LRA</a>, ACID vs. BASE, Inconsistency Window, <a href="https://en.wikipedia.org/wiki/Eventual_consistency">Eventual Consistency</a>, <a href="https://download.eclipse.org/microprofile/microprofile-lra-1.0/apidocs/org/eclipse/microprofile/lra/annotation/ws/rs/LRA.Type.html">LRA Annotation</a>, <a href="https://twitter.com/nmcl">Mark Little</a> on <a href="https://airhacks.fm/#episode_40">"#40 Transactions, J2EE, Java EE, Jakarta EE, MicroProfile and Quarkus"</a>, <a href="https://helidon.io/docs/v2/#/mp/lra/01_introduction">Helidon LRA</a> module, <a href="https://microprofile.io/project/eclipse/microprofile-fault-tolerance">MicroProfile Fault Tolerance</a>, Experimental <a href="https://helidon.io">Helidon</a> LRA Coordinator, <a href="https://docs.oracle.com/en-us/iaas/Content/Object/Tasks/s3compatibleapi.htm">OCI ObjectStorage</a>, <a href="https://eventuate.io">Eventuate</a></blockquote> <p> Daniel Kec on twitter: <a href="https://twitter.com/danielkec">@danielkec</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 20 Nov 2022 11:00:00 +0100">Sun, 20 Nov 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href=" https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_217.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_216"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_216">#<span itemprop="episodeNumber">216</span></a> Low Code, No Code, WYSIWYG …and some CRaC</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_216">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with John Ceccarelli (<a href="https://twitter.com/jceccarelli1">@jceccarelli1</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Macintosh_512K">Macintosh 512K</a>, writing short stories and playing <a href="https://en.wikipedia.org/wiki/Dark_Castle">Dark Castle</a>, studying European politics, enjoying Brno and Prague, learning Czech from a communist book, technical writing for Sun Microsystems, working on <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a> <a href="https://netbeans.org/features/java/swing.html">Matisse</a>, WYSIWYG precision is challenging, <a href="https://www.netbeans.info/products/visualweb.html">NetBeans Visual Web Pack</a> was extremely popular, Sun’s JSF <a href="https://www.oracle.com/technical-resources/articles/javaee/javaserverfaces-templating.html">woodstock</a>, separation of generated and implemented code is challenging, explaining AWS Lambdas with EJBs, visual representation of complex code is challenging, NetBeans vs. IntelliJ strategies, <a href="https://youtube.com/shorts/NNMAqyZlhyY">Installing Java Support in Visual Studio Code</a>, working on JVM internals at <a href="https://www.azul.com">Azul</a> Systems, Azul JVMs Zulu vs. Prime, the <a href="https://www.azul.com/products/components/falcon-jit-compiler/">Falcon JIT</a>, optimising JVM for <a href="https://cassandra.apache.org/_/index.html">Apache Cassandra</a>, the <a href="https://renaissance.dev">Renaissance Suite</a>, memento and <a href="https://openjdk.java.net">openJDK</a> <a href="https://openjdk.org/projects/crac/">CRaC</a>, Azul’s CRAC optimization, crowdourcing the optimizations, <a href="https://quarkus.io">quarkus</a> on Azul’s CRaC, Azul Prime is based on <a href="https://llvm.org">LLVM</a>, <a href="https://foojay.io">Foojay</a> and azul</blockquote> <p> John Ceccarelli on twitter: <a href="https://twitter.com/jceccarelli1">@jceccarelli1</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 13 Nov 2022 11:00:00 +0100">Sun, 13 Nov 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_216.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_215"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_215">#<span itemprop="episodeNumber">215</span></a> Karatsuba, Megamorphic Call-sites, Deadlocks and a bit of Loom</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_215">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Heinz Kabutz (<a href="https://twitter.com/heinzkabutz">@heinzkabutz</a>) about: <blockquote>Heinz previously appeared on the episode: <a href="https://airhacks.fm/#episode_183">"#183 The JavaSpecialist(s)"</a>, <a href="https://www.javaspecialists.eu/archive/Issue001-Deadlocks-in-Java.html">The Newsletter #1: “Deadlocks in Java”</a>, <a href="https://docs.oracle.com/javase/7/docs/api/javax/swing/SwingUtilities.html">SwingUtilities</a> invokeLater, deadlocks and thread dumps, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/management/ThreadMXBean.html">ThreadMXBean</a> find locked threads, ForkJoin vs. parallelStream, <a href="https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ForkJoinPool.html">ForkJoinPool</a>, Java <a href="https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReentrantLock.html">ReentrantLock</a> and timeouts, HashTable vs. ConcurrentHashMap, Parallelism vs. Concurrency, <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a>, <a href="https://www.javaspecialists.eu/archive/Issue157-Polymorphism-Performance-Mysteries.html">Polymorphism Performance Mysteries</a>, the <a href="https://en.wikipedia.org/wiki/Karatsuba_algorithm">Karatsuba Algorithm</a>, List.of is not List.of</blockquote> <p> Heinz Kabutz on twitter: <a href="https://twitter.com/heinzkabutz">@heinzkabutz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 6 Nov 2022 11:00:00 +0100">Sun, 6 Nov 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_215.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_214"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_214">#<span itemprop="episodeNumber">214</span></a> It is Cool to Block Again</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_214">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Daniel Kec (<a href="https://twitter.com/danielkec">@danielkec</a>) about: <blockquote>Daniel previously on <a href="https://airhacks.fm">airhacks.fm</a> in <a href="https://airhacks.fm/#episode_120">"#120 Reactive Programming, Helidon, Kafka and Project Loom"</a>, helidon project “warp” becomes <a href="https://helidon.io/nima">Helidon Nima</a>, <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a> on <a href="https://eclipse-ee4j.github.io/jersey/">Jersey</a>, obstructing virtual threads, yielding a virtual thread, throttling the concurrency, the future of <a href="https://en.wikipedia.org/wiki/Functional_reactive_programming">reactive programming</a>, the <a href="https://helidon.io">Helidon</a> book, <a href="https://web.dev/websocketstream/">websocketstream</a> spec, <a href="https://developer.mozilla.org/en-US/docs/Web/API/Streams_API">Streams API</a>, <a href="https://martinfowler.com/eaaDev/EventSourcing.html">Event Sourcing</a> with Oracle database and helidon, helidon on <a href="https://aws.amazon.com/lambda/">AWS Lambda</a>, <a href="https://github.com/awslabs/aws-serverless-java-container">AWS serverless container</a>, <a href="https://docs.oracle.com/cd/B19306_01/java.102/b14355/instclnt.htm#CIHIBBIE">OCI JDBC</a> vs. OCI Cloud, <a href="https://openjdk.org/jeps/290">JEP 290: Filter Incoming Serialization Data</a>, LRA <a href="http://connectorz.adam-bien.com">implementation</a> by Helidon, <a href="https://danielkec.github.io/blog/helidon/lra/saga/2021/10/12/helidon-lra.html">Long Running Actions with Helidon</a>, Goran Opacic on LRA in <a href="https://airhacks.fm/#episode_210">"#210 The Cloud is Slower Than Your Local Machine"</a>, LRA is about compensation, <a href="https://www.oracle.com/de/database/transaction-manager-for-microservices/">Transaction Manager for Microservices</a>, FN Java, Helidon modular routing, Helidon is using Jersey,</blockquote> <p> Daniel Kec on twitter: <a href="https://twitter.com/danielkec">@danielkec</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 30 Oct 2022 11:00:00 +0100">Sun, 30 Oct 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_214.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_213"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_213">#<span itemprop="episodeNumber">213</span></a> Captain Primak Meets Clustered Singletons</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_213">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Lenny Primak (<a href="https://twitter.com/lprimak">@lprimak</a>) about: <blockquote>previous appearance of lenny on airhacks: <a href="https://airhacks.fm/#episode_137">"#137 (fake) reactive programming, project loom, chunked IO"</a>, the <a href="http://airhacks.tv">airhacks.tv</a> show, captains and first officers, <a href="https://docs.payara.fish/community/docs/5.2021.7/documentation/payara-server/public-api/clustered-singleton.html">Payara’s Clustered Singleton</a> EJB singletons and clusters, <a href="https://www.jboss.org">JBoss</a> HA-Singleton, <a href="https://en.wikipedia.org/wiki/Paxos_(computer_science)">Paxos</a> algorithm, <a href="https://jcp.org/en/jsr/detail?id=223">JSR-223</a>, <a href="https://hazelcast.org">Hazelcast</a> partitioning, <a href="https://docs.hazelcast.com/hazelcast/5.1/data-structures/reading-map-metrics">hazelcast metrics</a>, hazelcast’s <a href="https://docs.hazelcast.org/docs/4.0/javadoc/com/hazelcast/nio/serialization/DataSerializable.html">DataSerializable</a>, <a href="https://shiro.apache.org">Apache Shiro</a> commitment, Benjamin Marwell as guest on <a href="https://airhacks.fm/#episode_181">"#181 Java Authentication and Authorization with Apache Shiro"</a>, <a href="https://tapestry.apache.org">Apache Tapestry</a> ships with own dependency injection framework, <a href="https://shiro.apache.org/webapp-tutorial.html">Securing Web Applications with Apache Shiro</a>, <a href="https://cessna.txtav.com/en/citation/cj4-gen2">Cesna Citation CJ4</a>,</blockquote> <p> Lenny Primak on twitter: <a href="https://twitter.com/lprimak">@lprimak</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 25 Oct 2022 11:00:00 +0100">Tue, 25 Oct 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_213.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_212"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_212">#<span itemprop="episodeNumber">212</span></a> From a NetBeans Champion to a Friend of the openJDK</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_212">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Geertjan Wielenga (<a href="https://twitter.com/GeertjanW">@GeertjanW</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a> 48k, <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> and <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> programming at high school, studying law in South Africa, writing documentation at Sun Microsystems for <a href="https://netbeans.apache.org">netbeans</a>, Ludovic Champenois on <a href="https://airhacks.fm/#episode_153">"#153 Java, Serverless, Google App Engine, gVisor, Kubernetes"</a>, working for Sun Microsystems in Prague, <a href="https://mikedillon.wordpress.com/2010/02/09/rolling-forward/">mike’s blog</a>, <a href="https://javaee.github.io/grizzly/">GlassFish Grizzly</a>, NetBeans RCP, monitoring oil platforms with NetBeans RCP, Victor Orozco on: <a href="https://airhacks.fm/#episode_192">"#192 Innovation, Clouds, Kubernetes, Standards and Java"</a>, NetBeans certification and knowledge sharing, the great performance of NetBeans 15, the Swing Application Framework and <a href="https://jcp.org/en/jsr/detail?id=296">JSR-296</a> and <a href="https://jcp.org/en/jsr/detail?id=295">JSR-295</a>, <a href="https://jcp.org/en/jsr/detail?id=296">JSR 296: Swing Application Framework</a>, <a href="https://en.wikipedia.org/wiki/JDeveloper">JDeveloper</a> used NetBeans as platform, from Oracle to Apache NetBeans, the challenges of opensourcing code,</blockquote> <p> Geertjan Wielenga on twitter: <a href="https://twitter.com/GeertjanW">@GeertjanW</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 16 Oct 2022 11:00:00 +0100">Sun, 16 Oct 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_212.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_211"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_211">#<span itemprop="episodeNumber">211</span></a> How Liberica JDK Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_211">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dmitry Chuyko (<a href="https://twitter.com/dchuyko">@dchuyko</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">Logo</a> on <a href="https://en.wikipedia.org/wiki/Electronika_BK">BK</a>, and <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> on <a href="https://vk.com/wall-111178210_758?lang=en">Nemiga</a>, <a href="https://en.wikipedia.org/wiki/Pentium">Pentium 1</a>, <a href="https://en.wikipedia.org/wiki/AltaVista">AltaVista</a> and <a href="https://www.lycos.com">Lycos</a>, starting with <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, C, then Borland’s Kylix, controlling the CD tray, managing toy production with <a href="https://en.wikipedia.org/wiki/Microsoft_Access">MS Access</a>, writing drivers for Windows at high school, math over programming, joining Borland, <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a>, <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, <a href="https://en.wikipedia.org/wiki/XSLT">XSLT</a> then <a href="https://www.java.com/en/">Java</a>, from C++ to Java, using <a href="https://xalan.apache.org">Apache Xalan</a>, using <a href="https://xmlgraphics.apache.org/fop/">Apache FOP</a> for transformations, fancy XML in 2003, Java on desktop, using Java on cellular phones, simplifying <a href="https://javaee.github.io">Java EE</a> with visual modelling, working in a 4G startup, using <a href="https://en.wikipedia.org/wiki/JXTA">JXTA</a> for car to car communication, starting at <a href="https://en.wikipedia.org/wiki/Quickoffice">QuickOffice</a>, writing backend for Deutsche Bank, starting at Oracle performance team, if you want to go to Oracle, you go to <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a>, improving Java performance, joining <a href="https://twitter.com/bellsoftware">BellSoft</a>, <a href="https://bell-sw.com/libericajdk/">Liberica JDK</a>, BellSoft is top <a href="https://openjdk.java.net">openJDK</a> and <a href="https://jcp.org/en/home/index">JCP</a> contributor, Liberica’s <a href="https://www.graalvm.org/docs/reference-manual/native-image/">native image</a> Kit,</blockquote> <p> Dmitry Chuyko on twitter: <a href="https://twitter.com/dchuyko">@dchuyko</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sunday, 9 Oct 2022 11:00:00 +0100">Sunday, 9 Oct 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_211.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_210"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_210">#<span itemprop="episodeNumber">210</span></a> The Cloud is Slower Than Your Local Machine</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_210">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Goran Opacic (<a href="https://twitter.com/goranopacic">@goranopacic</a>) about: <blockquote>what is a database, everything is a database, <a href="https://aws.amazon.com/s3/">S3</a> queries with Athena, <a href="https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html">glue crawler</a> on S3, <a href="https://github.com/cloudflare/quiche">Cloudflare Quiche</a>, <a href="https://kafka.apache.org">Kafka</a> vs. <a href="https://aws.amazon.com/kinesis">Kinesis</a>, proprietary managed AWS services, different writing and reading paths, <a href="https://openjdk.java.net">openJDK</a> <a href="https://openjdk.org/projects/crac/">CRaC</a> (Coordinated Restore at Checkpoint), <a href="https://docs.oracle.com/cd/F49540_01/DOC/java.815/a64686/01_intr4.htm">Oracle’s Aurora JVM</a>, <a href="https://aws.amazon.com/rds/aurora/serverless/">Amazon Aurora Serverless</a>, the cloud is slower than your local machine, scaling is about limits, <a href="https://aws.amazon.com/redshift/features/aqua/">AQUA</a> (Advanced Query Accelerator), CQRS is a cloud-native pattern, CDC on premise and in the cloud</blockquote> <p> Goran Opacic on twitter: <a href="https://twitter.com/goranopacic">@goranopacic</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 3 Oct 2022 11:00:00 +0100">Mon, 3 Oct 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_210.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_209"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_209">#<span itemprop="episodeNumber">209</span></a> From Punched Cards to Java 11</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_209">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Glenn Holmer (<a href="https://twitter.com/gholmer">@gholmer</a>) about: <blockquote>astrology, <a href="https://en.wikipedia.org/wiki/TRS-80">TRS-80</a>, Radio Shack, learning <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, RPG and <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a> in 8 month, working for <a href="https://www.weycogroup.com/home/index.html">weyco</a> group incorporated, learning <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> with core dumps, blanks instead of zeros, enjoying modern Cobol, running warehouse software on <a href="https://en.wikipedia.org/wiki/NetWare">Novell Netware</a>, starting with <a href="https://www.java.com/en/">Java</a> 1.1 in 1997, anonymous <a href="https://courses.cs.washington.edu/courses/cse341/99wi/java/tutorial/java/javaOO/_1_1InnerClasses.html">inner classes</a> and <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a> were introduced with Java 1.1, <a href="https://en.wikipedia.org/wiki/IBM_System_i">AS 400</a> support for Java was excellent, Java and <a href="https://support.novell.com/techcenter/articles/dnd19970409.html">NDS</a>, running Applets in a browser, <a href="https://en.wikipedia.org/wiki/HotJava">HotJava</a> the browser in Java, <a href="http://www.icesoft.org/java/projects/ICEfaces/overview.jsf">icefaces</a> and <a href="https://docs.oracle.com/middleware/12213/jdev/api-reference-ohj/oracle/help/htmlBrowser/ICEBrowser.html">ICEBrowser</a>, creating a web app with Java servlets, starting with <a href="http://tomcat.apache.org">Tomcat</a>, switching to <a href="https://javaee.github.io/glassfish/">Glassfish</a>, starting with plain editors, then <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a>, <a href="https://www.referenceforbusiness.com/history2/76/Programmer-s-Paradise-Inc.html">Programmers Paradise</a>, <a href="https://en.wikipedia.org/wiki/CodeWarrior">CodeWarrior</a> metrowerks, <a href="https://en.wikipedia.org/wiki/Forté_Software">forte</a> for java IDE, becoming the very first Java programmer, the ultrasonic box scanner, migrating from GlassFish to <a href="https://www.payara.fish/">Payara</a>, writing millions lines of code with a team of five, remembering <a href="http://www.jedit.org">jEdit</a></blockquote> <p> Glenn Holmer on twitter: <a href="https://twitter.com/gholmer">@gholmer</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 18 Sep 2022 11:00:00 +0100">Sun, 18 Sep 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_209.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_208"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_208">#<span itemprop="episodeNumber">208</span></a> GraalVM: Meta Circularity on Different Levels</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_208">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Fabio Niephaus (<a href="https://twitter.com/fniephaus">@fniephaus</a>) about: <blockquote>enjoying lego mindstorms, learning <a href="https://www.python.org">python</a>, then <a href="https://www.java.com/en/">Java</a>, pencils and mice, using <a href="https://www.bluej.org">bluej</a>, <a href="https://lejos.sourceforge.io">lejos</a> - Java for lego, building extension for <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> fusion, enjoying <a href="https://en.wikipedia.org/wiki/Smalltalk">SmallTalk</a>, <a href="https://www.pypy.org">PyPy</a> and <a href="https://www.graalvm.org">GraalVM</a>, rpyhton (restricted python) toolchain, <a href="https://en.wikipedia.org/wiki/Ahead-of-time_compilation">AOT</a> compilation, Java <a href="https://beanshell.github.io">BeanShell</a>, bringing SmallTalk to other languages with PyPy, <a href="https://www.graalvm.org/reference-manual/java-on-truffle/">Java on Truffle</a> - espresso, combining multiple interpreters in one JVM, <a href="https://hpi.de">Hasso-Plattner-Institut</a> in Potsdam, self-sustaining programming system, <a href="https://www.graalvm.org/22.2/graalvm-as-a-platform/language-implementation-framework/NFI/">Truffle Native Function Interface</a>, <a href="https://github.com/hpi-swa/trufflesqueak/">TruffleSqueak</a>, <a href="https://github.com/hpi-swa/RSqueak">RSqueak/VM</a>, <a href="https://www.graalvm.org/dashboard/">GraalVM Dashboard</a>, <a href="http://hirschfeld.org/writings/media/NiephausFelgentreffPapeHirschfeldTaeumel_2018_LiveMultiLanguageDevelopmentAndRuntimeEnvironments.pdf">Paper on Polyglot VM built with RPython</a>, <a href="https://rpython.readthedocs.io/en/latest/architecture.html#rpython">RPython Toolchain</a>, <a href="https://github.com/oracle/graalvm-reachability-metadata">GraalVM Reachability Metadata Repository</a>, using GraalVM with Github Actions. <a href="https://github.com/marketplace/actions/github-action-for-graalvm">GitHub Action for GraalVM</a>, <a href="https://medium.com/graalvm/graalvm-22-2-smaller-jdk-size-improved-memory-usage-better-library-support-and-more-cb34b5b68ec0">GraalVM 22.2 release blog post</a>, <a href="https://github.com/oracle/graalvm-reachability-metadata">New GraalVM reachability metadata repository</a>, source level debugging with native images, continuous native image build tracking, <a href="https://nirvdrum.com/2022/05/09/truffle-language-embedding.html">Embedding Truffle Languages by Kevin Menard</a></blockquote> <p> Fabio Niephaus on twitter: <a href="https://twitter.com/fniephaus">@fniephaus</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 18 Sep 2022 11:00:00 +0100">Sun, 18 Sep 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_208.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_207"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_207">#<span itemprop="episodeNumber">207</span></a> Mission Critical Transactions</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_207">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alejandro Pablo Revilla (<a href="https://twitter.com/apr">@apr</a>) about: <blockquote>checkout episode with Alejandro: <a href="https://airhacks.fm/#episode_201">"#201 Write, Finish, Improve-jPOS"</a>, <a href="https://www.jpos.org">JPOS</a> vision, handling large loads and making changes on the fly, connections to thousands ofr networking, circuit breaking 20 years ago, jPOS EE - the extendible edition, The Payment Platformn, <a href="https://airhacks.fm/#episode_72">"#72 KISS and No Dependencies in JGroups"</a> with Bela Ban, jdom - the XML parser, dependencies require care, <a href="https://www.java.com/en/">Java</a> becomes better and better, being lazy and avoiding dependencies, rejecting unnecessary dependencies, Java 1:1 mapping between a file and a class is great, class injection without interfaces, <a href="https://quarkus.io">quarkus</a> / <a href="https://micronaut.io">Micronaut</a> as <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> and dependency injection for free, interfaces as defect, logging and realms, logging a context of a transation, self-configurable logger with <a href="http://www.cdi-spec.org">CDI</a>, what happens inside a Point of Sale (POS), the latency requirements, Transaction Manager uses continuations, jPOS Transaction Manager on <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a> evaluation, jPOS is 100k LoC, jPOS Transaction Manager is 1k LoC, jPOS implements two-phase commit protocol, jPOS uses BerkeleyDB for checkpoint storage, the opinionated <a href="https://en.wikipedia.org/wiki/Two-phase_commit_protocol">2PC</a>, continuations and <a href="https://en.wikipedia.org/wiki/Functional_reactive_programming">reactive programming</a>, Project <a href="https://wiki.openjdk.java.net/display/loom/Main">Loom</a> and structured concurrency, virtual threads and database connection pooling, the <a href="https://en.wikipedia.org/wiki/Hardware_security_module">Hardware Security Module</a> (HSM) and Transaction Manager, cloud are more secure, hybrid clouds, buying support for opensource software</blockquote> <p> Alejandro Pablo Revilla on twitter: <a href="https://twitter.com/apr">@apr</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 11 Sep 2022 11:00:00 +0100">Sun, 11 Sep 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_207.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_206"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_206">#<span itemprop="episodeNumber">206</span></a> Java 19: Millions of Threads in No Time</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_206">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Nicolai Parlog (<a href="https://twitter.com/nipafx">@nipafx</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> is back, virtual threads and <a href="https://www.java.com/en/">Java</a> 19, the old Java’s green threads, mapping between OS threads and green threads cannot be changed after assignment, Project’s <a href="https://wiki.openjdk.java.net/display/loom/Main">Loom</a> virtual threads are not assigned to a core, virtual threads could become the default, the artificial use of <a href="https://en.wikipedia.org/wiki/Functional_reactive_programming">reactive programming</a>, <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a> performs as good as reactive, but may consume more memory, operational costs vs. developer costs, structured concurrency in looom, millions of threads in no time, the memory overhead depends on the call stack, structured programming is as powerful as go to, structured programming and <a href="https://en.wikipedia.org/wiki/Nassi–Shneiderman_diagram">structograms</a>, structured concurrency, a structured task scope in try with resources, creating all tasks in one scope, <a href="https://download.java.net/java/early_access/loom/docs/api/jdk.incubator.concurrent/jdk/incubator/concurrent/StructuredTaskScope.html">StructuredTaskScope</a> has to be a part of Java, StructuredTaskScope maintains the virtual thread hierarchy - the parent, structured concurrency and EJBs, structured concurrency and transactions, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/CompletableFuture.html">CompletableFuture</a> and StructuredTaskScope, StructuredTaskScope and shutdown on success or shutdown on failure, <a href="http://www.adam-bien.com/roller/abien/entry/bureaucratic_design_with_java_ee">Boundary Control Entity</a> and structured concurrency, <a href="https://www.youtube.com/watch?v=2J2tJm_iwk0">Project Loom Brings Structured Concurrency</a> video on java inside, project <a href="https://helidon.io">Helidon</a> and virtual threads, the premature optimisation of Loom,, the sun misc Unsafe, the great <a href="https://inside.java">inside.java</a> portal,</blockquote> <p> Nicolai Parlog on twitter: <a href="https://twitter.com/nipafx">@nipafx</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 4 Sep 2022 11:00:00 +0100">Sun, 4 Sep 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_206.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_205"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_205">#<span itemprop="episodeNumber">205</span></a> Mr. Omni</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_205">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ken Fogel (<a href="https://twitter.com/omniprof">@omniprof</a>) about: <blockquote><a href="https://en.wikipedia.org/wiki/Digi-Comp_I">Digi-Comp I</a> 3bit computer by Admin Scientific, programming with small pieces of plastic, a course in <a href="https://en.wikipedia.org/wiki/Fortran">fortran</a>, a service person in a mail room working 20mins a day, borrowing 5000 dollars and buying <a href="https://en.wikipedia.org/wiki/Apple_II">Apple II</a> for 2000 dollars in 1980, buying a floppy disk drive for 700 dollars, starting with AppleSoft <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> by Microsoft, learning <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> language to improve performance, presentation at the university to introduce Apple computer, controlling a water filtration system with Apple II, writing conversion for word processors in <a href="https://en.wikipedia.org/wiki/PL/I">PL 1</a>, <a href="https://en.wikipedia.org/wiki/WordPerfect">WordPerfect</a>, IBM <a href="https://en.wikipedia.org/wiki/MultiMate">MultiMate</a>, <a href="https://en.wikipedia.org/wiki/WordStar">WordStar</a>, starting at the University to teach <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a>, teaching project courses, good bye Cobol in 2000, starting with <a href="https://www.java.com/en/">Java</a> in 1999, replacing the mainframe with Java, Java 1.4 was the most amazing thing, developer works and alpha works websites, IBM’s <a href="https://en.wikipedia.org/wiki/Jikes">Jikes</a> compiler, a short history of <a href="https://dotnet.microsoft.com">.net</a>, $10k for Cobol, Oracles <a href="https://en.wikipedia.org/wiki/JDeveloper">JDeveloper</a>, <a href="https://en.wikipedia.org/wiki/JBuilder">Borland JBuilder</a>, <a href="https://www.cs.colostate.edu/helpdocs/jws.html">Sun Java Workshop</a> and Sun Java Studio, From JDeveloper to <a href="https://www.eclipse.org/ide/">Eclipse</a>, From Eclipse to <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a>, Netbeans just works, a message from <a href="https://twitter.com/geertjanw">Geertjan Wielenga</a>, the invitation to <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a>, JavaOne - the geeks heaven, NetBeans Days and DOScon in Montreal, the <a href="https://jchampionsconf.com">jChampions</a> conference, <a href="https://code.visualstudio.com">Visual Studio Code</a> is written in <a href="https://www.typescriptlang.org">typescript</a>, <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a> had the most amazing switch case, Java 17 and the new switch case, the executive <a href="https://jcp.org/en/home/index">JCP</a> member, learn to program Java by Springer, writing all the code in main method, writing a Java book,</blockquote> <p> Ken Fogel on twitter: <a href="https://twitter.com/omniprof">@omniprof</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 27 Aug 2022 11:00:00 +0100">Sat, 27 Aug 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_205.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_204"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_204">#<span itemprop="episodeNumber">204</span></a> About Java 18</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_204">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Nicolai Parlog (<a href="https://twitter.com/nipafx">@nipafx</a>) about: <blockquote> Vacations without conferences, dangerous vacations on the beach, <a href="https://openjdk.org/jeps/413">JEP-413 Code Snippets in Java API Documentation</a>, from <a href="https://en.wikipedia.org/wiki/System_testing">System Tests</a> to <a href="https://docs.oracle.com/en/java/javase/18/code-snippet/index.html">code snippets</a>, System Tests and Java clients, search and replace in code snippets, hybrid snippets, <a href="https://asciidoc.org">asciidoc</a> and <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet">Markdown</a>, Dan Allen <a href="https://twitter.com/mojavelinux">@mojavelinux</a> and asciidoc, <a href="https://blogs.oracle.com/javamagazine/post/java-18-simple-web-server">Java 18’s Simple Web Server</a>, <a href="https://openjdk.org/jeps/408">JEP 408: Simple Web Server</a>, <a href="https://openjdk.org/jeps/421">JEP 421: Deprecate Finalization for Removal</a>, custom host resolving with <a href="https://openjdk.org/jeps/418">JEP 418: Internet-Address Resolution SPI</a>, type pattern check in Java 17, Java 18 introduces <a href="https://openjdk.java.net/jeps/420">pattern matching</a> for switch, <a href="https://openjdk.org/jeps/420">JEP 420: Pattern Matching for switch (Second Preview)</a>, <a href="https://docs.oracle.com/en/java/javase/15/language/sealed-classes-and-interfaces.html">non-sealed</a> is the first hyphenated keyword, Java’s contextual keywords, system property file.encoding, <a href="https://openjdk.org/jeps/400">JEP 400: UTF-8 by Default</a> </blockquote> <p>Nicolai Parlog on twitter: <a href="https://twitter.com/nipafx">@nipafx</a>, Nicolai's website: <a href="https://nipafx.dev">nipafx.dev</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 21 Aug 2022 11:00:00 +0100">Sun, 21 Aug 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_204.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_203"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_203">#<span itemprop="episodeNumber">203</span></a> I first played games I wrote</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_203">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Daniel Lipp (<a href="https://twitter.com/dynamic_123">@dynamic_123</a>) about: <blockquote> starting to program <a href="https://en.wikipedia.org/wiki/Schneider_Euro_PC">CPC Schneider</a> in the store, <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> and <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">Logo</a>, the first floppy disk to save the work, writing a <a href="https://en.wikipedia.org/wiki/Simon_(game)">senso</a> game, <a href="https://en.wikipedia.org/wiki/Mandelbrot_set">Mandelbrot</a> caclulations locked the computer for days, wiring computers on vacations, finding hidden files of <a href="https://en.wikipedia.org/wiki/Werner_–_Beinhart!">Werner</a> the German rocker game, Logo looks like <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, starting physics and learning <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, from Basic to <a href="https://de.wikipedia.org/wiki/IBM_Visual_Age">Visual Age</a> <a href="https://en.wikipedia.org/wiki/Smalltalk">SmallTalk</a>, math formulas as code, memory leaks in <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, SmallTalk solved memory leaks, SmallTalk over Java, migrating from SmallTalk to Java, the elegance of SmallTalk, overriding a non-existing method in SmallTalk, Visual Age for SmallTalk over <a href="https://en.wikipedia.org/wiki/VisualAge">Visual Age for Java</a>, the non-extendible Java currency class, recompiling the <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Currency.html">java.util.Currency</a> class, writing a Java persistence layer, modernising with <a href="https://javaee.github.io">Java EE</a> 5, writing <a href="https://www.eclipse.org/rap/">Eclipse RAP</a> clients, it is hard to maintain the spirit in fast growing companies, starting at open source CMS startup, migrating to <a href="https://www.okd.io">openshift</a> and containers, migrating microservices from <a href="https://www.jboss.org">JBoss</a> to Quarkus, saving memory and CPU with Quarkus, saving money with quarkus, migrating from Java EE to Quarkus with minor code adjustments, the same old, <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a>, architecture, </blockquote> <p>Daniel Lipp on twitter: <a href="https://twitter.com/dynamic_123">@dynamic_123</a> and Instagram: <a href="https://www.instagram.com/dynamic_dli/">dynamic_dli</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 14 Aug 2022 11:00:00 +0100">Sun, 14 Aug 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_203.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_202"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_202">#<span itemprop="episodeNumber">202</span></a> AWS Lambda, Events, Quarkus and Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_202">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Goran Opacic (<a href="https://twitter.com/goranopacic">@goranopacic</a>) about: <blockquote> transactions and clouds, checkout last episode with Goran: <a href="https://airhacks.fm/#episode_190">"#190 Real World Enterprise Serverless Java on AWS Cloud"</a>, transition from <a href="https://javaee.github.io">Java EE</a> to the cloud, <a href="https://github.com/eclipse/microprofile-lra">Long Running Actions</a> in MicroProfile and the <a href="https://microservices.io/patterns/data/saga.html">saga pattern</a>, the problem of transaction coordination, in the clouds there should be no coordinating servers, <a href="https://aws.amazon.com/dynamodb/">DynamoDB</a> is transactional and supports conditional writes, <a href="https://awslabs.github.io/aws-lambda-powertools-java/">AWS Lambda Powertools for Java</a>, event driven thinking on AWS, Java idioms and conventions on AWS, Amazon DynamoDB JPA-like persistence - <a href="https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBMapper.html">DynamoDBMapper</a>, dependency injection in AWS Lambdas, AWS Lambda PowerTools features should become a part of Lambda, the <a href="https://docs.oracle.com/en/java/javase/11/gctuning/z-garbage-collector1.html">Z Garbage Collector</a>, a missile with memory leaks, running BIRT reports in a AWS Lambda, synchronous <a href="https://aws.amazon.com/step-functions/">Step Functions</a>, <a href="https://aws.amazon.com/eventbridge">EventBridge</a> is the service connectors, AWS <a href="https://aws.amazon.com/appsync/">AppSync</a> can push events to the client, </blockquote> <p>Goran Opacic on twitter: <a href="https://twitter.com/goranopacic">@goranopacic</a>, Goran's blog: <a href="https://madabout.cloud">madabout.cloud</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 6 Aug 2022 11:00:00 +0100">Sat, 6 Aug 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_202.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_201"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_201">#<span itemprop="episodeNumber">201</span></a> Write, Finish, Improve-jPOS</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_201">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alejandro Pablo Revilla (<a href="https://twitter.com/apr">@apr</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a>, <a href="https://en.wikipedia.org/wiki/Morse_code">Morse code</a> and <a href="https://en.wikipedia.org/wiki/Radioteletype">RTTY</a>, long distance radio, a signal goes around the world, programming low level <a href="https://en.wikipedia.org/wiki/Assembly_language">assembler</a>, the <a href="https://en.wikipedia.org/wiki/MOS_Technology_6510">6510</a> assembly, increasing a counter in ROM as copy protection, <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore</a> 128k ran on z80, <a href="https://en.wikipedia.org/wiki/DBase">dBASE</a> runs on CPM and z80, starting with <a href="https://en.wikipedia.org/wiki/Clipper_(programming_language)">clipper</a>, migrating from Clipper to Java, using Apache POI to access Exccel, spending thoursands of dollars per month for telephone lines, running on BBS networks, using <a href="https://en.wikipedia.org/wiki/UUCP">UUCP</a>, cts.com provided UUCP services, from <a href="https://en.wikipedia.org/wiki/Borland_Turbo_C">Borland Turbo C</a> to running <a href="https://de.wikipedia.org/wiki/Lattice_C">Lattice C</a>, unix and <a href="https://en.wikipedia.org/wiki/Minix">minix</a>, <a href="https://en.wikipedia.org/wiki/Xinu">xinu</a>, <a href="https://en.wikipedia.org/wiki/Xenix">Xenix</a>, <a href="https://en.wikipedia.org/wiki/QNX">qnx</a> and <a href="https://en.wikipedia.org/wiki/OpenVMS">VMS</a>, founding the compuservice company inspired by <a href="https://en.wikipedia.org/wiki/Byte_Information_Exchange">BIX</a>, starting the <a href="http://jpos.org">jPOS Software</a> company, starting <a href="https://web.archive.org/web/20000613171121/http://www.sun.com/software/javapc/features/index.html">JavaPC</a>, green threads and <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a>, using Java blackdown by <a href="http://airhacks.fm/#episode_6">Johan Vos</a> checkout episode <a href="https://airhacks.fm/#episode_6">"#6 Mobile Java"</a>, the <a href="https://en.wikipedia.org/wiki/Orion_Application_Server">Orion Application Server</a> became <a href="https://en.wikipedia.org/wiki/Oracle_Application_Server#OC4J">OC4J</a>, EJB 1.0 relied on Java serialization for configuration, XML deployment descriptors were introduced with EJB 1.1, writing own application launcher inspired by <a href="https://www.jboss.org">JBoss</a>, writing a JMX micro-kernel, QSP v2 was called <a href="https://github.com/jpos/jPOS/blob/master/jpos/src/main/java/org/jpos/q2/Q2.java">Q2</a>, Alejandro's project / companycompany: <a href="https://www.jpos.org">JPOS</a>, </blockquote> <p>Alejandro Pablo Revilla on twitter: <a href="https://twitter.com/apr">@apr</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 31 Jul 2022 11:00:00 +0100">Sun, 31 Jul 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_201.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_200"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_200">#<span itemprop="episodeNumber">200</span></a> HATEOAS, Data APIs, Java and How htmx Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_200">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Carson Gross (<a href="https://twitter.com/htmx_org">@htmx_org</a>) about: <blockquote> <a href="https://de.wikipedia.org/wiki/Apple_IIgs">Apple IIgs</a> and <a href="https://en.wikipedia.org/wiki/HyperTalk">HyperTalk</a>, <a href="https://hyperscript.org">_hyperscript</a>, starting with VBA then using Java, EJB 1.0 and <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a>, <a href="https://gosu-lang.github.io">gosu</a>, gscript, implementing <a href="https://rubyonrails.org">Ruby on Rails</a>, teaching at The Montana State University, Java got lots os stuff right, <a href="https://javalin.io">javalin</a> and <a href="https://www.jobrunr.io/en/">jobrunr</a>, Java and <a href="https://en.wikipedia.org/wiki/Ruby_(programming_language)">Ruby</a> on Rails, <a href="https://nodejs.org/en/">NodeJS</a> became more appealing to Ruby on Rails developers, <a href="https://en.wikipedia.org/wiki/Yukihiro_Matsumoto">Yukihiro Matsumoto</a> created Ruby, performance challenge with sorting rows in a table, <a href="https://jquery.com">JQuery</a> get function, the <a href="https://intercoolerjs.org">intercooler.js</a> library, intercooler is the competitor of <a href="https://github.com/turbolinks/turbolinks">turbolinks</a>, <a href="https://www.manning.com/books/web-components-in-action">WebComponents</a> and CustomElements, BCE and the <a href="https://github.com/adambien/bce.design">bce.design</a> template, <a href="https://www.youtube.com/watch?v=grJC6RFiB58">BCE</a> follows the data API approach, <a href="https://htmx.org">htmx</a> works with data attributes, the popularity of <a href="https://angular.io">Angular</a>, <a href="http://www.gwtproject.org">GWT</a> was popular, htmx renders HTML directly, htmx follows <a href="https://en.wikipedia.org/wiki/HATEOAS">HATEOAS</a>, HATEAOS is stateless - the response already contains all possible actions, Roy Fielding coined the term <a href="https://www.keycloak.org/docs-api/5.0/rest-api/index.html">REST</a>, web was designed for coarse grained interactions, with hypermedia approach messages are self-descriptive - API versioning is easier to maintain, htmx encourages use of Java, JSPs with WebComponents (link to youtube ), the Quarkus <a href="https://quarkiverse.github.io/quarkiverse-docs/quarkus-renarde/dev/index.html">Renarde</a> web framework, implementation of authorization and authentication with htmx, GraphQL gives developers and users a lot of power - which can be a security issue, GraphQL requires the implementation of resolves, how to version a data API, <a href="https://www.innoq.com/en/staff/stefan-tilkov/">Stefan Tilkov</a> and resource oriented architectures ROAs, endless scrolling with htmx is easy to implement, <a href="https://htmx.org/discord">htmx on discord</a> </blockquote> <p>Carson Gross on twitter: <a href="https://twitter.com/htmx_org">@htmx_org</a>, carson's company: <a href="https://bigsky.software">Big Sky Software</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 24 Jul 2022 11:00:00 +0100">Sun, 24 Jul 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_200.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_199"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_199">#<span itemprop="episodeNumber">199</span></a> Modules in the JVM or the Clouds</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_199">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Juergen Albert (<a href="https://twitter.com/JrgenAlbert6">@JrgenAlbert6</a>) about:<blockquote>Java 9 modules, microservices,the attempt to fight the complexity with distributing a monolith,internal isolation inside a monolith,the advantages of modularity,the definition of microservices,<a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a> is complex at the beginning but the complexity of OSGi growth linearly,developing a first microservice is easy, coordinating many microservices gets complex,the operational complexity of distributed microservices,OSGi instead of distribution,OSGi modules communicate via services,the <a href="https://www.eclipse.org/ecf/">Eclipse Communication Framework</a> (ECF),<a href="https://microprofile.io">MicroProfile</a> <a href="https://www.keycloak.org/docs-api/5.0/rest-api/index.html">REST</a> client as remoting,an episode with Romain Manni-Bucau: <a href="https://airhacks.fm/#episode_79">"#79 Back to Shared Deployments"</a>,rolling updates with OSGi,getting list of bundles with their versions,CVE detection with OSGi,the desired state monitoring,Infrastructure as Code with Java,treating OSGi as <a href="https://kubernetes.io/">kubernetes</a> with IaC,<a href="https://osgifx.com">OSGi fx</a> - desktop ui for OSGi management,<a href="https://en.wikipedia.org/wiki/Jini">JINI</a> invented the Service Oriented Architectures,Java Intelligent Network Infrastructure and Apache River,JINI <a href="https://river.apache.org/release-doc/3.0.0/specs/html/lease-spec.html">leasing</a> and self healing,distributed garbage collection with JINI,episode with Joe Duffy: <a href="https://airhacks.fm/#episode_189">"#189 How Pulumi for Java Happened"</a>,conversation with <a href="https://twitter.com/brunoborges">Bruno Borges</a>: <a href="https://airhacks.fm/#episode_188">"#188 Finding Some Sense in a Nonsensical Technology World"</a>,additional complexity of Kubernetes in the clouds,double Kubernetes provisioning,</blockquote><p>Juergen Albert on twitter: <a href="https://twitter.com/JrgenAlbert6">@JrgenAlbert6</a>, Juergen's company: <a href="https://www.datainmotion.de">Data In Motion</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 Jul 2022 11:00:00 +0100">Sun, 17 Jul 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_199.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_198"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_198">#<span itemprop="episodeNumber">198</span></a> Idempotency, Secrets, Dependency Injection and AWS Lambda</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_198">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Mark Sailes (<a href="https://twitter.com/MarkSailes3">@MarkSailes3</a>) about: <blockquote> <a href="https://awslabs.github.io/aws-lambda-powertools-java/">AWS Lambda Powertools for Java</a>,, fetching and caching secrets, default caching retention period for short lived secrets, the limits of the clouds, the consistency of <a href="https://aws.amazon.com/dynamodb">DynamoDB</a>, DynamoDB connectivity with <a href="https://aws.amazon.com/lambda/">AWS Lambda</a>, <a href="https://aws.amazon.com/rds/proxy/">RDS Proxy</a>, "Proprietary Cloud Native Managed Service", <a href="https://aws.amazon.com/sqs">SQS</a>, <a href="https://aws.amazon.com/sns">SNS</a>, <a href="https://aws.amazon.com/kinesis">Kinesis</a>, the fan-out pattern is implemented with SQS and SNS; <a href="https://aws.amazon.com/eventbridge">EventBridge</a> could replace SQS and SNS for the implementation of fan out patterns, <a href="https://awslabs.github.io/aws-lambda-powertools-java/utilities/idempotency/">AWS Lambda Powertools for Java Idempontency</a>, using request as idempotency key, transactions, network errors and idempotency, idempotency per design, partial batch failures handling, bisect in SQS, <a href="https://awslabs.github.io/aws-lambda-powertools-java/utilities/sqs_large_message_handling/">SQS Large Message Handling</a>, message offloading to <a href="https://aws.amazon.com/s3/">S3</a>, S3 transactional writes, dependency injection of Lambda resources, secret injection with AWS Lambda, JSON-logging and <a href="https://awslabs.github.io/aws-lambda-powertools-java/core/logging/">AWS Lambda Powertools for Java Logging</a>, converting json to metrics in CloudWatch, </blockquote> <p>Mark Sailes on twitter: <a href="https://twitter.com/MarkSailes3">@MarkSailes3</a>, Mark's blog: <a href="https://mark-sailes.medium.com">mark-sailes.medium.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 8 Jul 2022 11:00:00 +0100">Fri, 8 Jul 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_198.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_197"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_197">#<span itemprop="episodeNumber">197</span></a> Maven (Next) and Convention over Configuration</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_197">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Karl Heinz Marbaise (<a href="https://twitter.com/khmarbaise">@khmarbaise</a>) about: <blockquote> empty pom.xml and plugin versions, recent <a href="https://maven.apache.org">Maven</a>, old plugins, release plugins often, default plugin versions are hardcoded, the nice Maven 4 features, removal of deprecated functionality, running concurrent Maven builds against the same cache, concurrent builds make only sense for multi module build, profiling Maven, use the most recent Maven version for speed, <a href="http://takari.io">Takari</a> build lifecycle by <a href="https://twitter.com/jvanzyl">Jason van Zyl</a>, smaller poms, separation of concerns: build plugins vs. dependencies, build pom and consumer pom, mvn wrapper is part of <a href="https://maven.apache.org">Apache Maven</a>, deriving default configuration from super POMs, offering different POM formats, experiments with hardcoded build chain, Maven and <a href="https://www.graalvm.org">GraalVM</a>, locking down Maven dependencies with GraalVM, how to contribute to Maven, Maven for Xmas, </blockquote> <p>Karl Heinz Marbaise on twitter: <a href="https://twitter.com/khmarbaise">@khmarbaise</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 2 Jul 2022 11:00:00 +0100">Sat, 2 Jul 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_197.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_196"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_196">#<span itemprop="episodeNumber">196</span></a> Building Chrome DevTools with Vanilla Web Components</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_196">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jack Franklin (<a href="https://twitter.com/Jack_Franklin">@Jack_Franklin</a>) about: <blockquote> A thick, chunky Dell Laptop, Playing Tycoon, creating a soccer website with <a href="https://en.wikipedia.org/wiki/Adobe_Dreamweaver">DreamWeaver</a>, learning <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> and CSS, learning <a href="https://www.python.org">python</a>, Java and <a href="https://en.wikipedia.org/wiki/Prolog">prolog</a> at the university, writing Rails code, the popularity of <a href="https://rubyonrails.org">Ruby on Rails</a>, Python vs. Ruby, switching from <a href="https://angular.io">Angular</a> to <a href="https://reactjs.org">React</a>, <a href="https://angularjs.org">Angular 1</a> vs. Angular 2, backward compatibility and React, React Hooks, hooks vs. lifecycle methods, starting at Google Chrome Dev Tools Team, working on <a href="https://developer.chrome.com/docs/devtools/performance-insights/">Chrome Performance Insights</a>, Chrome Dev Tools is a Web Application, from custom framework to <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">Web Components</a> and <a href="https://lit.dev/docs/libraries/standalone-templates/">lit-html</a>, Chrome SDK manages state, <a href="https://www.manning.com/books/web-components-in-action">Polymer</a> was chatty, lit-html is a tagged <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals">template literal</a>, lit-html performs partial updates, the bar for using frameworks gets higher, lit-html optimises the rendering, console.begin and console.end for better developer experience, lit-html is used in Chrome, what happens if FaceBook looses interests on React, what is the worst case scenario for loosing a dependency, using Chrome's ninja and <a href="https://rollup.js">rollup.js</a> for bunding, Chrome supports import maps, chrome <a href="https://chromium.googlesource.com/devtools/devtools-frontend/+/refs/heads/chromium/3965/README.md">-custom-devtools-frontend</a> <a href="https://storybook.js.org/docs/web-components/get-started/introduction">storybook</a> for <a href="https://www.manning.com/books/web-components-in-action">WebComponents</a>, adding JS-comments with <a href="https://jsdoc.app">JSDoc</a> for type annotations for better refactoring in plain ES 6, any and unkonwn in <a href="https://www.typescriptlang.org">typescript</a>, Performance Insights panel lowers the bar for website optimizations, the <a href="https://developer.chrome.com/docs/devtools/recorder/">Chrome Recorder</a> generates pupeteer script, the Recorder panel is also implemented with Web Components, big UI features are implemented as Web Components, Jack's post: <a href="https://www.jackfranklin.co.uk/blog/working-with-react-and-the-web-platform/">"Why I don't miss React: a story about using the platform"</a>, </blockquote> <p>Jack Franklin on twitter: <a href="https://twitter.com/Jack_Franklin">@Jack_Franklin</a>, Jack's blog <a href="https://www.jackfranklin.co.uk">jackfranklin.co.uk</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 26 Jun 2022 11:00:00 +0100">Sun, 26 Jun 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_196.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_195"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_195">#<span itemprop="episodeNumber">195</span></a> Becoming an Apache Maven Committer</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_195">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Karl Heinz Marbaise (<a href="https://twitter.com/khmarbaise">@khmarbaise</a>) about: <blockquote> <a href="https://de.wikipedia.org/wiki/PET_2001">PET 2001</a> was the first computer, enjoying programming at school, writing <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> and <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> code on <a href="https://de.wikipedia.org/wiki/CBM-4000-Serie">Commodore CBM 4000</a>, writing software for <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore</a> 1 PCB, finally getting a <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a>, programming extruder mesh machines, writing floating point libraries on <a href="https://en.wikipedia.org/wiki/Intel_8080">Intel 8080</a>, the connection between computers and math, starting with <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, C and <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> and Turbo C, studying part time, working full time, tracking cars with GPS in <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a>, implementing a new language in lex, <a href="https://en.wikipedia.org/wiki/Berkeley_Yacc">yacc</a> and <a href="https://en.wikipedia.org/wiki/GNU_Bison">bison</a>, banks were using the <a href="https://en.wikipedia.org/wiki/OS/2">OS/2</a> Warp operating system, working with <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a>, starting with Java 1.4 in 2004, working with <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> and <a href="https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html">MySQL</a>, <a href="https://en.wikipedia.org/wiki/SOAP">SOAP</a> with PHP, developing an internal sourceforge, write simple code and enjoy JVM's performance, starting with <a href="https://ant.apache.org">Ant</a> then migrate to <a href="https://maven.apache.org">Maven</a> 2, <a href="https://commons.apache.org/proper/commons-jelly/">Apache Jelly</a> the executable XML, <a href="https://www.adam-bien.com/roller/abien/entry/ioc_and_convention_over_configuration">Convention over Configuration</a> with Maven, <a href="https://continuum.apache.org">Apache Continuum</a>, <a href="https://en.wikipedia.org/wiki/AnthillPro">AnthillPro</a> and <a href="https://en.wikipedia.org/wiki/CruiseControl">CruiseControl</a>, becoming a Maven committer, <a href="http://axis.apache.org">Apache Axis</a> 2, using <a href="https://en.wikipedia.org/wiki/Hudson_(software)">Hudson</a> for CI/CD, contributing to open source at Deutsche Boerse, working with Robert Scholte, <a href="https://airhacks.fm">airhacks.fm</a> episode with Robert: <a href="https://airhacks.fm/#episode_28">"#28 More Conventions with Maven.next"</a>, working as DevOps engineer, </blockquote> <p>Karl Heinz Marbaise on twitter: <a href="https://twitter.com/khmarbaise">@khmarbaise</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 19 Jun 2022 11:00:00 +0100">Sun, 19 Jun 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_195.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_194"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_194">#<span itemprop="episodeNumber">194</span></a> GraalVM, Apple Silicon (M1) and Clouds</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_194">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Shaun Smith (<a href="https://twitter.com/shaunmsmith">@shaunmsmith</a>) about: <blockquote> Shaun Smith in episode <a href="https://airhacks.fm/#episode_167">"#167 GraalVM and Java 17, Truffle, Espresso and Native Image"</a>, <a href="https://www.graalvm.org">GraalVM</a> has a 3 months release cycle, from Graal 21.3 release to <a href="https://www.graalvm.org/release-notes/22_1/">GraalVM 22.1</a>, GraalVM 22.1 supports Apple’s Silicon M1 , M1 and container support, ARM and container, Oracle Database on <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a>, Intel vs. ARM native compilation on Intel, project kenai.com memories, <a href="https://jreleaser.org">jreleaser</a>, <a href="https://aws.amazon.com/ec2/graviton/">AWS Graviton</a>, <a href="https://www.oracle.com/cloud/compute/arm/">Oracle A1</a> ARM instances and <a href="https://amperecomputing.com">Ampere</a>, CPU is cheap, RAM is expensive, the economics of <a href="https://en.wikipedia.org/wiki/Function_as_a_service">FaaS</a>, <a href="https://kubernetes.io/">kubernetes</a> vs. Lamba, failing fast with quick builds and -Ob optimization, <a href="https://en.wikipedia.org/wiki/JRockit">JRockit</a>, JMC and Sun JVM merge, continuous monitoring with JFR, 22.0 - improving the output and developer experience, GraalVM <a href="https://webassembly.org">web assembly</a> support, <a href="https://www.python.org">python</a> vs. Ruby vs. Java, <a href="https://www.djangoproject.com">django</a> vs. <a href="https://rubyonrails.org">Ruby on Rails</a>, <a href="https://cran.r-project.org/web/packages/JavaGD/index.html">JavaGD</a> and R, GraalVM supports <a href="https://llvm.org">LLVM</a> and so C and <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> languages, <a href="https://www.graalvm.org/reference-manual/java-on-truffle/">Java on Truffle</a>, or project espresso, GraalVM <a href="https://code.visualstudio.com">Visual Studio Code</a> tooling, <a href="https://micronaut.io">Micronaut</a> and reflection-free <a href="http://www.cdi-spec.org">CDI</a>, Quarkus, Micronaut and build-time deployment, <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a> language server is used in Visual Studio Code, JetBrains and <a href="https://www.gitpod.io">GitPod</a> partnership, need for speed and Visual Studio Code, <a href="https://en.wikipedia.org/wiki/AWK">awk</a> and icon, why I’m using Java and not, blog post: <a href="https://adambien.blog/roller/abien/entry/why_are_you_not_using">"Why are you not using [the language of the year] instead of Java?"</a> </blockquote> <p>Shaun Smith on twitter: <a href="https://twitter.com/shaunmsmith">@shaunmsmith</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 13 Jun 2022 11:00:00 +0100">Mon, 13 Jun 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_194.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_193"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_193">#<span itemprop="episodeNumber">193</span></a> Working in the Shadows ...for Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_193">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Guillaume Smet (<a href="https://twitter.com/gsmet_">@gsmet_</a>) about: <blockquote> Amstrad CPC, then Pentium 75, typing long code listings, coding a website with 20, <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> 3 and <a href="https://www.postgresql.org">PostgreSQL</a>, separating code from HTML with PHP, building a CMS system with CVS, studying in Lyon, offer management software for the EU, from PHP to Java 1.4, using <a href="https://www.redhat.com/en">RedHat</a> Webapplication Framework, <a href="https://en.wikipedia.org/wiki/Java_version_history">Java 5</a> introduced annotations, <a href="https://c-jdbc.ow2.org">C-JDBC</a> sequoia and ObjectWeb, contributing to <a href="https://en.wikipedia.org/wiki/GForge">GForge</a> the fork of sourceforge, developing PostgreSQL log analyzer, starting at <a href="https://github.com/openwide-java">Open Wide</a>, PostgreSQL log analyzer was used by Instagram, 2003 - the first contribution to OpenSource, leaving <a href="https://www.smile.eu/en">smile</a>, joining RedHat, using the <a href="https://wicket.apache.org">Wicket</a> Java web framework, <a href="https://wicket.apache.org">Apache Wicket</a> was component based, Apache Wicket was the Java’s Swing UI for the web, episode with <a href="https://struts.apache.org">Struts</a> committer: <a href="https://airhacks.fm/#episode_125">"#125 How Struts 2 Happened"</a>, <a href="https://hibernate.org">Hibernate</a> Search is an annotation-based approach to search, the project lead for Hibernate Validator, frequent calls from Emmanuel Bernard, Emmanuel Bernard was guest at the episode <a href="https://airhacks.fm/#episode_52">"#52 The First Line of Quarkus"</a>, Quarkus-the secret project at RedHat, project protein and Shamrock, Open Wide and smile, connecting Quarkus people, the challenge of growing fast and innovating at the same time, starting quarkiverse, dealing with external ClassLoaders, the monthly <a href="http://airhacks.tv">airhacks.tv</a> show, the killer use case for quarkus dev mode is <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a>, use production for <a href="https://aws.amazon.com/lambda/">AWS Lambda</a> deployments and dev mode for local development, passionate Quarkus contributors, bytecode generation with <a href="https://github.com/quarkusio/gizmo">gizmo</a>, quarkus’ build-time optimizations, </blockquote> <p>Guillaume Smet on twitter: <a href="https://twitter.com/gsmet_">@gsmet_</a>, on GitHub <a href="https://github.com/gsmet">@gsmet</a> and Guillaume's blog: <a href="https://in.relation.to/guillaume-smet/">in.relation.to/guillaume-smet/</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 4 Jun 2022 11:00:00 +0100">Sat, 4 Jun 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_193.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_192"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_192">#<span itemprop="episodeNumber">192</span></a> Innovation, Clouds, Kubernetes, Standards and Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_192">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Victor Orozco (<a href="https://twitter.com/tuxtor">@tuxtor</a>) about: <blockquote> focus on <a href="https://jakarta.ee">Jakarta EE</a> and devops, faster release cycles, <a href="https://jakarta.apache.org/cactus/">Apache Cactus</a> - the test container, daily releases and DevOps challenges, the perfect Sun servers, the deprecated <a href="https://javaee.github.io">Java EE</a> deployment <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a> API, <a href="https://jcp.org/en/jsr/detail?id=88">JSR 88: Java EE Application Deployment</a>, onboarding of new developers is harder today, lean Java EE code is reusable in <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> world, Heroku and <a href="https://www.okd.io">openshift</a> started the serverless movement, blog post: <a href="https://www.adam-bien.com/roller/abien/entry/how_to_push_java_ee">How To Push Java EE 6 Applications To The Cloud In 5 Minutes</a>, portability of Java workloads in the clouds, <a href="https://kubernetes.io/">kubernetes</a> vs. <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a> Compose, the costs of the clouds, or Kubernetes vs. serverless, Kubernetes on <a href="https://www.linode.com">linode</a>, Kubernetes is a monolith in the cloud, running private VPCs, the <a href="https://www.youtube.com/watch?v=IaGf3Geq-IM">payara cloud</a> and the rethinking of clustering, back to efficient monoliths, the plain <a href="https://github.com/AdamBien/aws-quarkus-lambda-cdk-plain">Quarkus CDK lambda template</a>, a quarkus <a href="https://aws.amazon.com/lambda/">AWS Lambda</a> looks like an old <a href="https://javaee.github.io/glassfish/">Glassfish</a> application, buying CPU with RAM, Java’s dependencies are easy to manage, Java’s serverless comeback, </blockquote> <p>Victor Orozco on twitter: <a href="https://twitter.com/tuxtor">@tuxtor</a>, Victor's company: <a href="https://nabenik.com/">nabenik</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 27 May 2022 11:00:00 +0100">Fri, 27 May 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_192.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_191"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_191">#<span itemprop="episodeNumber">191</span></a> From Java/JDK 7+ and Project Coin over Project Amber to Better Java Serialisation</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_191">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Stuart Marks (<a href="https://twitter.com/stuartmarks">@stuartmarks</a>) about: <blockquote> the classic optimization problem in 1950’s at the <a href="https://en.wikipedia.org/wiki/Western_Pacific_Railroad">Western Pacific Railroad</a>, the first computer <a href="https://en.wikipedia.org/wiki/IBM_1401">IBM 1401</a> - in 1960s, transitioning to the JDK group, the nice thing about Oracle’s Sun acquisition, updating Java’s codebase with new features, the <a href="https://www.oracle.com/technetwork/java/codeconventions-150003.pdf">Java Coding Conventions</a> style guide, the <a href="https://openjdk.java.net/projects/amber/guides/lvti-style-guide">Local Variable Type Inference Style Guidelines</a>, <a href="https://openjdk.java.net/projects/jdk7/features/#f618">Small language enhancements (Project Coin)</a> diamond operator, <a href="https://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html">try-with-resources</a>, refactoring Java’s codebase, <a href="https://github.com/openjdk/jtharness">JT Harness</a> - the Java Test framework, JT Harness is repurposed <a href="https://openjdk.java.net/projects/code-tools/jtreg/intro.html">jtreg</a>, fixing bugs in Serialization and RMI, <a href="https://docs.oracle.com/en/java/javase/15/serializable-records/index.html">Serializable Records</a>, a better Java serialization, <a href="https://openjdk.java.net/projects/amber/">Project Amber</a> and <a href="https://openjdk.java.net/jeps/420">pattern matching</a>, Java deconstructor is the opposite of a constructor, construction during deserialization is similar to dependency injection, RMI for unstable code isolation, try-with-resources and suppressed exception, <a href="https://openjdk.java.net/jeps/421">JEP 421: Deprecate Finalization for Removal</a> in Java 18, <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html">multi catch</a>, varargs, <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/language/strings-switch.html">Strings in switch Statements</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/SafeVarargs.html">SafeVarargs</a>, decoupling from serialization formats, all powertools can kill, </blockquote> <p>Stuart Marks on twitter: <a href="https://twitter.com/stuartmarks">@stuartmarks</a>, Stuart Marks blog: <a href="https://stuartmarks.wordpress.com">stuartmarks.wordpress.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 20 May 2022 11:00:00 +0100">Fri, 20 May 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_191.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_190"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_190">#<span itemprop="episodeNumber">190</span></a> Real World Enterprise Serverless Java on AWS Cloud</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_190">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Goran Opacic (<a href="https://twitter.com/goranopacic">@goranopacic</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Sales_force_management_system">sales force automation</a> at <a href="https://esteh.net">ehsteh</a>, <a href="https://en.wikipedia.org/wiki/PalmPilot">Palm Pilot</a> syncing, starting a SaS company, <a href="https://www.hetzner.com">hetzner</a>, Azure, then AWS, running EC2 machines, going <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a>, <a href="https://kubernetes.io/">kubernetes</a> and the clouds, running <a href="https://microprofile.io">MicroProfile</a> applications on Quarkus and <a href="https://aws.amazon.com/lambda/">AWS Lambda</a>, one code base - multiple lambdas, Lambda runs on <a href="https://firecracker-microvm.github.io">Firecracker VM</a>, <a href="https://square.github.io/okhttp/">OkHTTP</a> on Lambdas, <a href="https://en.wikipedia.org/wiki/Tree_shaking">tree shaking</a> with <a href="https://www.graalvm.org">GraalVM</a>, <a href="https://aws.amazon.com/codeartifact/">AWS CodeArtifact</a> to cache <a href="https://maven.apache.org">Maven</a> repositories, Amazon ECR, <a href="https://aws.amazon.com/codecommit/">AWS CodeCommit</a>, databases are hard to split, <a href="https://aws.amazon.com/codedeploy/">AWS CodeDeploy</a> with scheduler, code hot swap, managed services is serverless, running <a href="https://aws.amazon.com/fargate/">AWS Fargate</a> on spot intances, using <a href="https://eclipse.github.io/birt-website/">Eclipse BIRT</a> on AWS Lambda, <a href="https://aws.amazon.com/developer/community/heroes/goran-opacic/?did=dh_card&trk=dh_card">Goran is AWS Data Hero</a>, </blockquote> <p>Goran Opacic on twitter: <a href="https://twitter.com/goranopacic">@goranopacic</a>, Goran's blog: <a href="https://madabout.cloud">madabout.cloud</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 15 May 2022 11:00:00 +0100">Sun, 15 May 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_190.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_189"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_189">#<span itemprop="episodeNumber">189</span></a> How Pulumi for Java Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_189">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Joe Duffy (<a href="https://twitter.com/funcofjoe">@funcofjoe</a>) about: <blockquote> HP 386, <a href="https://en.wikipedia.org/wiki/LILO_(boot_loader)">LILO</a> - the linux loader, <a href="https://en.wikipedia.org/wiki/Master_boot_record">MBR</a> and dual boot, first programming language - C, <a href="https://en.wikipedia.org/wiki/GNU_Compiler_Collection">GNU Compiler Collection</a> (gcc), g++, <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, circle mud, fascination with 3d, starting with Windows 95, running BBS, <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a>, ASP and Java servlets, <a href="https://en.wikipedia.org/wiki/Art_Technology_Group">ATG</a> (Art Technology Group) dynamo and <a href="https://en.wikipedia.org/wiki/JHTML">jhtml</a>, servlets are inverse JSP, <a href="https://airhacks.fm">airhacks.fm</a> episode with <a href="https://en.wikipedia.org/wiki/Marc_Fleury">Marc Fleury</a> <a href="https://airhacks.fm/#episode_98">"#98 Walk the Path--How JBoss Happened"</a>, starting with <a href="https://dotnet.microsoft.com">.net</a>, <a href="https://en.wikipedia.org/wiki/Paradox_(database)">Borland Paradox</a> - the form project <a href="https://en.wikipedia.org/wiki/Development_of_Windows_Vista">longhorn</a>, <a href="https://docs.microsoft.com/en-us/archive/msdn-magazine/2004/january/a-guide-to-developing-and-running-connected-systems-with-indigo">indigo</a> and <a href="https://en.wikipedia.org/wiki/Windows_Presentation_Foundation">avalon</a>, starting <a href="https://www.pulumi.com">Pulumi</a>, Pulumi for Java, Infrastructure as Code and terraform, Pulumi is written in Go, python + c = go, projects are stacks, pulumi is opensource, Mercedes-Benz and <a href="https://www.snowflake.com">snowflake</a> are using Pulumi, the <a href="https://aws.amazon.com/cloudcontrolapi/">AWS Cloud Control API</a>, pulumi supports terraform providers, <a href="https://github.com/aws/jsii">jsii</a> CDK project, <a href="https://www.pulumi.com/docs/guides/crosswalk/aws/">pulumi crosswalk</a>, go runtime handles the state management, Java communicates with GO via <a href="https://grpc.io">grpc</a>, a component resource in Pulumi is similar to custom construct in CDK, AWS Cloud Control API metadata for new AWS services is published immediately, Pulumi supports the most recent AWS resource API, <a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/templates/overview">ARM templates</a> can be converted to Pulumi, a state of AWS account can be imported to Pulumi, then the IaC source can be generated, <a href="https://airhacks.fm/#episode_143">"#143 How Hudson and Jenkins happened"</a>, <a href="https://kubernetes.io/">kubernetes</a> in public clouds, ECS fargate before kubernetes, simultaneous deployments to azure and aws, conference talk: <a href="https://adambien.blog/roller/abien/entry/from_devflix_hey_enterprise_ejb">Hey Enterprise EJB Developers Now Is The Time To Go Serverless</a> </blockquote> <p>Joe Duffy on twitter: <a href="https://twitter.com/funcofjoe">@funcofjoe</a>, Joe's blog: <a href="http://joeduffyblog.com">joeduffyblog.com</a> and company: <a href="https://www.pulumi.com">pulumi.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 6 May 2022 11:00:00 +0100">Fri, 6 May 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_189.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_188"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_188">#<span itemprop="episodeNumber">188</span></a> Finding Some Sense in a Nonsensical Technology World</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_188">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Bruno Borges (<a href="https://twitter.com/brunoborges">@brunoborges</a>) about: <blockquote> previous episodes with Bruno <a href="https://airhacks.fm/#episode_29">"#29 Jakarta EE / MicroProfile in the Clouds: Runtimes not Servers"</a>, <a href="https://airhacks.fm/#episode_90">"#90 Bruno Hates YAML-Microsoft Loves Java"</a> servers vs. runtimes recap, languages vs. runtimes, blogpost: <a href="https://adambien.blog/roller/abien/entry/why_are_you_not_using">Why are you not using [the language of the year] instead of Java?</a> polyglot programming with <a href="https://dapr.io">dapr</a>, polyglot programming - the engineer’s excitement, what is “the” standard?, addressing the complexities now, or later, fashion driven development, technology changes, complexity remains the same, </blockquote> <p>Bruno Borges on twitter: <a href="https://twitter.com/brunoborges">@brunoborges</a> and <a href="https://www.linkedin.com/in/brunocborges">LinkedIn</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 29 Apr 2022 11:00:00 +0100">Fri, 29 Apr 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_188.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_187"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_187">#<span itemprop="episodeNumber">187</span></a> Our Favourite Java 9, Java 11, Java 17 and Java 18 Features</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_187">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Nicolai Parlog (<a href="https://twitter.com/nipafx">@nipafx</a>) about: <blockquote> use cases for Java 17 Text Blocks, JSON with Text Blocks, String formatted vs. replaceAll, string templates could ship with Java 19, the draft JEP for string template, draft JEPs don’t have a number, 100k subscribers for the Java channel and the silver youtube plate, <a href="https://en.wikipedia.org/wiki/YouTube_Creator_Awards#Silver_Creator_Award">Silver Creator Award</a> youtube, factory collection methods in Java 9, Map.of and List.of, <a href="https://adambien.blog/roller/abien/entry/java_14_a_simplest_possible">Java Records</a> for code reduction, Java records vs. classes, getters and setters are not necessary, polymorphic classes vs. procedural record, nicer Pairs with Java records, Sun Coding Java Conventions / <a href="https://www.oracle.com/java/technologies/javase/codeconventions-contents.html">Code Conventions for the Java Programming Language</a>, a code formatter JEP, <a href="https://openjdk.java.net/jeps/413">JEP 413: Code Snippets in Java API Documentation</a>, the new switch without a name, no fall-through with arrow switches, sealed types and pattern matching with switch statements, <a href="https://openjdk.java.net/jeps/380">JEP 380: Unix-Domain Socket Channels</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/random/RandomGeneratorFactory.html">RandomGeneratorFactory</a> in Java 17, </blockquote> <p>Nicolai Parlog on twitter: <a href="https://twitter.com/nipafx">@nipafx</a>, Nicolai's website: <a href="https://nipafx.dev">nipafx.dev</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 24 Apr 2022 11:00:00 +0100">Sun, 24 Apr 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_187.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_186"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_186">#<span itemprop="episodeNumber">186</span></a> Structuring Applications With Or Without OSGi</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_186">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jürgen Albert (<a href="https://twitter.com/JrgenAlbert6">@JrgenAlbert6</a>) about: <blockquote> Checkout last episode with Jürgen Albert: <a href="https://airhacks.fm/#episode_175">"#175 Pragmatic Modularity and OSGi"</a>, Why do we need a module?, related episodes: <a href="https://airhacks.fm/#episode_151">"#151 Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes"</a>, <a href="https://airhacks.fm/#episode_160">"#160 Modules Are Needed, But Not Easy"</a>, Physical vs. Logical modules. How to pick a perfect module, <a href="https://picocli.info">picocli</a> for building Java CLI applications, module as to to divide and conquer, how to cut the modules, in <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a> the smallest module is the package, OSGi core specification already understands modules, build time vs. runtime dependency and manifest <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a> and <a href="https://vaadin.com/">Vaadin</a> OSGi "whiteboard", <a href="https://github.com/pkriens">Peter Kriens</a> started with the OSGi idea, the OSGi phone, <a href="https://en.wikipedia.org/wiki/OSGi#Services">OSGi services</a> and service registry, service registry listener, <a href="https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.component.html">OSGi Declarative Services</a> provide lifecycle, OSGi vs. <a href="https://kubernetes.io/">kubernetes</a>, Kubernetes solved the port collision problem, OSGi remote services, the <a href="https://www.osgi.org/resources/what-is-osgi/">Eclipse OSGi</a> project, </blockquote> <p>Jürgen Albert on twitter: <a href="https://twitter.com/JrgenAlbert6">@JrgenAlbert6</a>, Jürgen's company: <a href="https://www.datainmotion.de">Data In Motion</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 Apr 2022 11:00:00 +0100">Sun, 17 Apr 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_186.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_185"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_185">#<span itemprop="episodeNumber">185</span></a> A Cloud Migration Story: From J2EE to Serverless Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_185">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Goran Opacic (<a href="https://twitter.com/goranopacic">@goranopacic</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a> with 9 years, <a href="https://en.wikipedia.org/wiki/Fortran">fortran</a> listings as a present, <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> programming on Atari, <a href="https://en.wikipedia.org/wiki/Manic_Miner">Manic Miner</a> and <a href="https://en.wikipedia.org/wiki/Jet_Set_Willy">Jet Set Willy</a> on Amstrad CPC 64, <a href="https://en.wikipedia.org/wiki/Defender_of_the_Crown">Defender of the Crown</a>, <a href="https://en.wikibooks.org/wiki/BASIC_Programming/Beginning_BASIC/PRINT,_CLS,_and_END">printing</a> with C 64, desktop publishing with <a href="https://en.wikipedia.org/wiki/Atari_ST">Atari 520 ST</a> and <a href="https://en.wikipedia.org/wiki/Calamus_(DTP)">Calamus</a>, testing the first website in 1993, using <a href="https://en.wikipedia.org/wiki/UUCP">UUCP</a> to split files into emails, drawing maps with Java Applets in browser, 17 years old code as Java <a href="https://aws.amazon.com/lambda/">AWS Lambda</a>, Cloud Development Kit - applying the Java knowledge to the clouds, <a href="https://jakarta.ee">Jakarta EE</a> and <a href="https://microprofile.io">MicroProfile</a> in the clouds, in the clouds there are different possibilities, mobile sales application with <a href="https://esteh.net">esteh</a>, the <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> <a href="http://tomcat.apache.org">Tomcat</a>, <a href="https://www.hetzner.com">hetzner</a> provides hosting services, no vacuuming on databases, how to become an AWS Data Hero, attending <a href="https://airhacks.com">airhacks.com</a> at MUC airport, serverless quarkus in the clouds, <a href="https://openliberty.io">OpenLiberty</a> for <a href="https://javaee.github.io">Java EE</a>, building AWS Lambdas with Quarkus, Infrastructure as Code and CDK with Java, the cloud has limits, self-mutating CodePipelines, every AWS service has well-documented limits, EC 2 spot instances for <a href="https://www.graalvm.org">GraalVM</a> compilations, plain <a href="https://helidon.io/docs/latest/#/about/02_introduction">Java SE</a> for asynchronous Lambdas, </blockquote> <p>Goran Opacic on twitter: <a href="https://twitter.com/goranopacic">@goranopacic</a>, Goran's blog: <a href="https://madabout.cloud">madabout.cloud</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 8 Apr 2022 11:00:00 +0100">Fri, 8 Apr 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_185.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_184"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_184">#<span itemprop="episodeNumber">184</span></a> Piranha: Headless Applets Loaded with Maven</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_184">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Arjan Tijms (<a href="https://twitter.com/arjan_tijms">@arjan_tijms</a>) about: <blockquote> <a href="https://www.payara.fish/">Payara</a> vs. <a href="https://github.com/eclipse-ee4j/glassfish">GlassFish</a> Github contributions, refactoring introduces technical debt, GlassFish relies on JDK dependencies, <a href="https://piranha.cloud">piranha.cloud</a> contributes to GlassFish, Payara and Glassfish communities are working together, contributing to opensource to save time, piranha is <a href="https://microprofile.io">MicroProfile</a> 5.0 compatible for JWT, piranha passes the majority of TCK servlet tests, the various piranha editions, <a href="https://blogs.oracle.com/javamagazine/post/you-dont-always-need-an-application-server-to-run-jakarta-ee-applications">You don’t need an application server to run Jakarta EE applications</a> <a href="https://www.eclipse.org/community/eclipse_newsletter/2018/september/MicroProfile_istio.php">article</a>, <a href="https://github.com/awslabs/aws-serverless-java-container">AWS Serverless Java Container</a> with <a href="https://eclipse-ee4j.github.io/jersey/">Jersey</a> integration, piranha nano is suitable for embedding, the <a href="https://jakarta.ee">Jakarta EE</a> steering committee, Jakarta EE 10 is about new features, CDI-lite and back to code generation like in early EJB days, removing deprecated APIs from Jakarta EE, the <a href="https://docs.oracle.com/cd/E17802_01/products/products/servlet/2.3/javadoc/javax/servlet/SingleThreadModel.html">SingleThreadedModel</a> in Servlets, using Java as templating language in JSF, <a href="https://wicket.apache.org">Wicket</a> has a concept for programmatic few creation, JSF will add Swing-like view constructions features, OIDC authentication mechanism was contributed by Payara, <a href="https://github.com/piranhacloud/piranha/tree/master/micro">piranha micro</a> uses isolated classloaders, <a href="https://maven.apache.org">Maven</a> dependencies as classpath, </blockquote> <p>Arjan Tijms on twitter: <a href="https://twitter.com/arjan_tijms">@arjan_tijms</a>, Arjan's blog <a href="https://arjan-tijms.omnifaces.org">omnifaces</a> and <a href="https://piranha.cloud">piranha.cloud</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 3 Apr 2022 11:00:00 +0100">Sun, 3 Apr 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_184.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_183"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_183">#<span itemprop="episodeNumber">183</span></a> The JavaSpecialist(s)</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_183">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Heinz Kabutz (<a href="https://twitter.com/heinzkabutz">@heinzkabutz</a>) about: <blockquote> a quarter of overheated <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a>, programming to make life easier, going to school in Cape Town, you will never fill up a 10 MB hard drive, a PC with 20 MB hard drive, GW <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> on AEG, the language of Nelson Mandela, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, Scheme, <a href="https://en.wikipedia.org/wiki/Prolog">prolog</a>, the <a href="https://www.uct.ac.za">University of Cape Town</a> is the best, playing <a href="https://en.wikipedia.org/wiki/Snooker">snooker</a>, context switchting and programming, Java Swing's <a href="http://napkinlaf.sourceforge.net">Napkin Look & Feel</a> , perception is important, writing an ERP system, login dialog as an intelligent progress bar, the South African masters, Bruce Eckel's <a href="https://en.wikipedia.org/wiki/Thinking_in_Java">Thinking in Java</a> book, <a href="https://en.wikipedia.org/wiki/Curses_(programming_library)">curses</a> - text bases user interfaces, starting with Java 1.0, <a href="https://river.apache.org">Jini</a>, <a href="https://en.wikipedia.org/wiki/Tuple_space#JavaSpaces">JavaSpaces</a> and <a href="https://en.wikipedia.org/wiki/Jiro">Jiro</a>, eating recursion for breakfast, measuring the performance of the <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/concurrent/ForkJoinPool.html">ForkJoinPool</a>, the java specialists newsletter, <a href="https://www.jcrete.org">jcrete</a> conference, </blockquote> <p>Heinz Kabutz on twitter: <a href="https://twitter.com/heinzkabutz">@heinzkabutz</a>, Heinz's website: <a href="https://www.javaspecialists.eu">www.javaspecialists.eu</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 27 Mar 2022 11:00:00 +0100">Sun, 27 Mar 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_183.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_182"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_182">#<span itemprop="episodeNumber">182</span></a> Dr. Deprecator</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_182">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Stuart Marks (<a href="https://twitter.com/stuartmarks">@stuartmarks</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Wang_2200">Wang 2200</a> Laboratories computer with 10 years, <a href="https://en.wikipedia.org/wiki/David_H._Ahl">David Ahl</a> 101 <a href="https://en.wikipedia.org/wiki/BASIC_Computer_Games">Basic Computer Games</a>, <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> without "else", GOTO and GOSUB, <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> Records and Java, conditional evaluation in Pascal, the criticism on Pascal, <a href="https://en.wikipedia.org/wiki/Bill_Joy">Bill Joy</a> added the socket interface to BSD 4.2, replacing <a href="https://en.wikipedia.org/wiki/OpenVMS">VMS</a> with BSD, the Bill Joy long weekend, starting at Sun Microsystems, working with <a href="https://twitter.com/errcraft">James Gosling</a> on the <a href="https://en.wikipedia.org/wiki/NeWS">NeWS</a> windows system, Postcript based windows system, NeWS ran on <a href="https://en.wikipedia.org/wiki/SunOS">SunOS</a>, SunOS 5 became Solaris, the unpleasant UNIX wars with AT&T, HP and IBM, X-Window vs. NeWS, shared state and NeWS, display postscript became the <a href="https://en.wikipedia.org/wiki/NeXT">NeXT</a> system, the X-NeWS merge OS, <a href="https://en.wikipedia.org/wiki/OPEN_LOOK">Open Look</a> and <a href="https://en.wikipedia.org/wiki/Motif_(software)">Motif</a>, OSF-opensource foundation, Motif became the dominant OS, creating a eCommerce system with Java at Sun, working with James Gosling at NeWS, project <a href="https://en.wikipedia.org/wiki/Oak_(programming_language)">Oak</a> and Project Green, Star Seven, licensing <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> and Tengah, personal Java and the Java Ring, Java on <a href="https://en.wikipedia.org/wiki/Sharp_Zaurus">Sharp Zaurus</a> and on Palm, working on J2ME, working with <a href="https://openjfx.io">JavaFX</a>, Chris Oliver started JavaFX, <a href="https://en.wikipedia.org/wiki/JavaFX_Script">F3</a> and Forms Follow Function, Java FX Script was an own language, Richard Bair was the JavaFX architect, Jasper Potts was was the Java FX UI designer, JavaFX is based on final classes, the <a href="https://en.wikipedia.org/wiki/Fragile_base_class">fragile base class</a> / brittle base class problem, the general subclassing problem, implementing a 2d traversial algorithm for Java FX, Sun was shrinking, Java FX was growing, Brian Goetz worked to improve the Java FX internals, RIAs - Rich Internet Applications, Silverlight, <a href="https://en.wikipedia.org/wiki/Adobe_Flash">Flash</a>, <a href="https://en.wikipedia.org/wiki/Apache_Flex">Flex</a> and JavaFX, JavaFX supported CSS, the compiler bug war story, binding propagates side effects, Robert Field is working on <a href="https://docs.oracle.com/javase/9/jshell/introduction-jshell.htm#JSHEL-GUID-630F27C8-1195-4989-9F6B-2C51D46F52C8">jshell</a>, </blockquote> <p>Stuart Marks on twitter: <a href="https://twitter.com/stuartmarks">@stuartmarks</a>, Stuart Marks blog: <a href="https://stuartmarks.wordpress.com">stuartmarks.wordpress.com</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 20 Mar 2022 11:00:00 +0100">Sun, 20 Mar 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_182.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_181"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_181">#<span itemprop="episodeNumber">181</span></a> Java Authentication and Authorization with Apache Shiro</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_181">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Benjamin Marwell (<a href="https://twitter.com/bmarwell">@bmarwell</a>) about: <blockquote> Recent <a href="https://airhacks.fm">airhacks.fm</a> episode with Ben: <a href="https://airhacks.fm/#episode_180">"#180 Trombones, Java, Large Scale WebSphere Liberty Deployments and 50.000 JVMs in Production"</a> security library and authentication and authorization framework, using <a href="https://shiro.apache.org">Apache Shiro</a> for CLI applications, the Apache Shiro security manager, the Shiro realm is the source of information for login credentials validation, the "hello, world" Shiro application requires a single dependency, <a href="https://jakarta.ee/specifications/platform/8/apidocs/">WebListener</a> is used for authentication, the killer use cases of Apache Shiro are permissions, a role comprises multiple permissions, <a href="https://shiro.apache.org/permissions.html">wildcard permissions</a> are a colon-separated list, comparing Shiro to <a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_access-management.html">AWS permissions</a>, <a href="https://www.sonatype.com/products/repository-pro">Sonatype Nexus</a> is using Shiro, using multiple realms at the same time with Apache Shiro and realm chaining, Shiro means Castle in Japanese, realms in Shiro and <a href="https://jakarta.ee">Jakarta EE</a>, Apache Shiro Jakarta EE integration, Shiro is easier to use than <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/jaas/JAASRefGuide.html">JAAS</a> or <a href="https://github.com/jakartaee/authentication">jaspic</a>, <a href="https://stormpath.com">Stormpath</a> was started by Apache Shiro committers, <a href="https://microprofile.io">MicroProfile</a> secret injection with Apache Shiro, Jakarta Security Compatible Implementation: <a href="https://github.com/eclipse-ee4j/soteria">Soteria</a>, </blockquote> <p>Benjamin Marwell on twitter: <a href="https://twitter.com/bmarwell">@bmarwell</a>, Benjamin's blog: <a href="https://blog.bmarwell.de">https://blog.bmarwell.de</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 12 Mar 2022 11:00:00 +0100">Sat, 12 Mar 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_181.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_180"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_180">#<span itemprop="episodeNumber">180</span></a> Trombones, Java, Large Scale WebSphere Liberty Deployments and 50.000 JVMs in Production</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_180">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Benjamin Marwell (<a href="https://twitter.com/bmarwell">@bmarwell</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a> with 3.5 years, enjoying <a href="https://en.wikipedia.org/wiki/Pitstop_II">Pitstop</a>, <a href="https://en.wikipedia.org/wiki/The_Pharaoh%27s_Curse_(video_game)">Pharaoh's Curse</a> and <a href="https://www.c64-wiki.com/wiki/Lady_Tut">Lady Tut</a>, starting to program in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> from a manual, modifying the game source, starting with <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> and <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a>, storing the universe into an Excel file, automating a space game with <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a>, implementing a web crawler in Delphi, the "King of Galaxy Wars" and <a href="https://en.wikipedia.org/wiki/OGame">OGame</a>, playing trombone in the army, starting at <a href="https://www.f-i.de">Finanzinformatik</a> the datacenter for the German saving banks, studying in <a href="https://en.wikipedia.org/wiki/Hamelin">Hameln</a> business informatics and learning Java 6, programming with <a href="https://en.wikipedia.org/wiki/31-bit_computing">31-bit computing</a> with IBM <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, starting with 0xCAFEBABE, switching to monitoring department and using <a href="https://en.wikipedia.org/wiki/BMC_Software">BMC Patrol</a>, the web and application servers department, deploying a few hundred applications to <a href="https://www.ibm.com/cloud/websphere-application-platform/">WebSphere</a> Liberty, using <a href="https://freemarker.apache.org">Apache FreeMarker</a> to generate 'WebSphere Liberty configuration, microservice deployment with WebSphere Liberty, <a href="https://maven.apache.org">Apache Maven</a> and <a href="https://shiro.apache.org">Apache Shiro</a> Committer, building <a href="https://openjfx.io">JavaFX</a> application with <a href="https://docs.oracle.com/javase/9/tools/jlink.htm">jlink</a>, contributing to JLink, creating <a href="https://en.wikipedia.org/wiki/Sprite_(computer_graphics)">sprites</a> for Legend of Zelda, podcasts with Robert Scholte <a href="https://airhacks.fm/#episode_25">"#25 Maven Commitment"</a> and <a href="https://airhacks.fm/#episode_28">"#28 More Conventions with Maven.next"</a>, using Apache Shiro for permission checks, combining security with <a href="https://beanvalidation.org/">Bean Validation</a> - a podcast with <a href="https://twitter.com/dblevins">David Blevins</a> <a href="https://airhacks.fm/#episode_156">"#156 Bash, Apple and EJB, TomEE, Geronimo and Jakarta EE"</a>, <a href="https://www.sonatype.com/products/repository-pro">Nexus</a> is using Apache Shiro </blockquote> <p>Benjamin Marwell on twitter: <a href="https://twitter.com/bmarwell">@bmarwell</a>, Benjamin's blog: <a href="https://blog.bmarwell.de">https://blog.bmarwell.de</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 6 Mar 2022 11:00:00 +0100">Sun, 6 Mar 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_180.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_179"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_179">#<span itemprop="episodeNumber">179</span></a> System.logger, JDK Enhancement Proposals (JEP) and knowing about Java&#x27;s future</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_179">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Nicolai Parlog (<a href="https://twitter.com/nipafx">@nipafx</a>) about: <blockquote> previous episode with Nicolai: <a href="https://airhacks.fm/#episode_163">"#163 The Endless Loop of Frustration and Challenge"</a> JEPs, JEPs draft, what happens on the <a href="https://openjdk.java.net">openJDK</a> Mailing list, spending time with JEPs, knowing about the future, influencing current architecture with future standards, the <a href="https://docs.oracle.com/javase/9/docs/api/java/lang/System.Logger.html">System.logger</a> was added in JDK 1.9, System.logger was intended for internal JDK user, but works fine for applications as well, <a href="https://openjdk.java.net/jeps/264">JEP 264:</a> Platform Logging API and Service, hystrix deprecation, <a href="http://github.com/DozerMapper/dozer">dozer</a> mapper is deprecated, the <a href="https://www.eclipse.org/ide/">Eclipse</a> <a href="https://maven.apache.org">Maven</a> plugin, the fast <a href="https://netbeans.apache.org">NetBeans</a>, great <a href="https://code.visualstudio.com">Visual Studio Code</a>, <a href="http://hamcrest.org/JavaHamcrest/">hamcrest</a> vs. <a href="https://assertj.github.io/doc/">assertj</a>, consistency vs. micro-optimizations, why try with resources came in Java 9 first, effectively final in Java 9, where to put the context information, How to comment with JavaDoc, the Java 18 snippet tag and src/demo/java, <a href="https://openjdk.java.net/jeps/413">JEP 413:</a> Code Snippets in Java API Documentation, the cases for package-info.java, JavaDoc and metrics, testing the mocks, pointless unit tests, combining cyclomatic complexity with test coverage, <a href="http://www.crap4j.org">crap4j</a> </blockquote> <p>Nicolai Parlog on twitter: <a href="https://twitter.com/nipafx">@nipafx</a>, Nicolai's website: <a href="https://nipafx.dev">nipafx.dev</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 26 Feb 2022 11:00:00 +0100">Sat, 26 Feb 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_179.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_178"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_178">#<span itemprop="episodeNumber">178</span></a> Java, Java EE, Jakarta EE, MicroProfile, Clouds and Duke Adventures in Guatemala</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_178">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Victor Orozco (<a href="https://twitter.com/tuxtor">@tuxtor</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Cyrix">Cyrix</a> <a href="https://en.wikipedia.org/wiki/Intel_80486">486</a> computer, disassembling <a href="https://en.wikipedia.org/wiki/Prehistorik_2">Prehistorik 2</a> game, enjoying <a href="https://en.wikipedia.org/wiki/Dangerous_Dave">Dangerous Dave</a>, starting programming in <a href="https://en.wikipedia.org/wiki/FoxPro">FoxPro</a>, joining programming bootcamps, learning <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a> 6, starting to study Computer Science with the age of 16, studying in Guatemala City, starting to learn Java in 2005, from <a href="https://dotnet.microsoft.com">.net</a> to Java, Sun Certified Programmer certification, human rights application with <a href="https://struts.apache.org">Apache Struts</a> on Sun Java Application Server, getting the <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a> DVD from Sun Microsystems, starting with NetBeans RCP, gentoo linux was the future, Central America has only three Java Champions, two Java Champions from Guatemala and they joined the bootcamp, writing code for Blackberry in Java and J2ME, enjoying <a href="https://javaee.github.io/glassfish/">Glassfish</a> and <a href="https://javaee.github.io">Java EE</a> 6 for backend development, going to Brazil and switching to ML, Scala and Spark, betting on Java EE, <a href="https://jakarta.ee">Jakarta EE</a>, <a href="https://microprofile.io">MicroProfile</a>, JUG in Guatema is the oldest in the country, winning the Duke Choice Award for <a href="https://www.guate-jug.net/duke-adventures/pages/acerca-de/">Duke Adventures</a>, meeting Bruno Souza, checkout episode <a href="https://airhacks.fm/#episode_170">"#170 Java, OpenSource and the Brazilian Christmas"</a> with Bruno Souza, "knowledge and clouds" - is <a href="https://nabenik.com/">nabenik</a> in Mayan - victor's company, Java EE, Jakarta EE, MicroProfile are great platforms for building products and consulting, working on-premise <a href="https://www.okd.io">openshift</a>, AWS and Azure, working with <a href="https://www.payara.fish/software/payara-server/payara-micro/">Payara Micro</a>, Quarkus on OpenShift, packaging old Java EE codes as <a href="https://aws.amazon.com/lambda/">AWS Lambda</a>, </blockquote> <p>Victor Orozco on twitter: <a href="https://twitter.com/tuxtor">@tuxtor</a>, Victor's company: <a href="https://nabenik.com/">nabenik</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 20 Feb 2022 11:00:00 +0100">Sun, 20 Feb 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_178.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_177"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_177">#<span itemprop="episodeNumber">177</span></a> Kumuluz API Gateway, MicroProfile and Serverless Functions</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_177">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Prof. dr. Matjaz Juric (<a href="https://twitter.com/matjazbj">@matjazbj</a>) about: <blockquote> checkout past episodes with Prof. dr. Matjaz Juric <a href="https://airhacks.fm/#episode_158">"#158 Kubernetes, KumuluzEE, MicroProfile and Clouds"</a>, <a href="https://airhacks.fm/#episode_151">"#151 Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes"</a>, <a href="https://airhacks.fm/#episode_136">"#136 From ZX Spectrum over Clouds To Winning the Java Duke's Choice Award"</a>, the <a href="https://kumuluz.com/digital-platform">Kumuluz Digital Platform</a>, the omni-channel architecture, the <a href="https://kumuluz.com/digital-components/crowdsensing/">KumuluzCrowdsensing</a> platform, EV charging, battery State of Charge estimation, project <a href="https://abelium.com/en/research/edison-winci/">edison winci</a> runs on <a href="https://ee.kumuluz.com/">KumuluzEE</a> and <a href="https://microprofile.io">MicroProfile</a>, using service discovery for locating microservices, service discovery implements client-side load balancing, <a href="https://kumuluz.com/digital-components/api">KumuluzAPI</a> is an extension of the <a href="https://kubernetes.io/">kubernetes</a> ingress controller, decentralising an API Gateway with "smart proxies", API gateway fault tolerance pattern integration, MicroProfile API gateway integration, canary releases and A/B Deployments, <a href="https://www.jboss.org">JBoss</a> smart proxies and <a href="https://github.com/eclipse/microprofile-rest-client">MicroProfile JAX-RS client</a>, the costs of cloud-agnostic deployments, on-premise Kubernetes is a must, going <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> with Kumuluz Functions, cost-driven development in the clouds, kubernetes is expensive to operate, kubernetes clusters are often over-provisioned, solving problems differently with event-driven approach, </blockquote> <p>Prof. dr. Matjaz Juric on twitter: <a href="https://twitter.com/matjazbj">@matjazbj</a> and <a href="https://www.fri.uni-lj.si/en/employees/matjaz-branko-juric">at University of Ljubljana</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 13 Feb 2022 11:00:00 +0100">Sun, 13 Feb 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_177.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_176"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_176">#<span itemprop="episodeNumber">176</span></a> AWS Lambda Powertools Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_176">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Mark Sailes (<a href="https://twitter.com/MarkSailes3">@MarkSailes3</a>) about: <blockquote> Checkout episode <a href="https://airhacks.fm/#episode_168">"#168 Serverless Java on AWS"</a> with Mark, <a href="https://aws.amazon.com/lambda/">AWS Lambda</a> Powertools for Java was was initiated in 2020, AWS Lambda Powertools for Java started with logging tracing and custom metrics, the major use cases for AWS Lambda Powertools, lambda best practices are implemented as modules, <a href="https://awslabs.github.io/aws-lambda-powertools-java/core/logging/">Lambda Powertools Java Logging</a> and structured logging in JSON format with additional context provided with annotation, including the correct amount of data, logging writes to standard out, Lambda, metrics and the AWS CloudWatch <a href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format_Specification.html">Embedded Metrics Format</a> (EMF), AWS Lambda and metrics scraping, <a href="https://awslabs.github.io/aws-lambda-powertools-java/core/metrics/">Lambda Powertools Java Metrics</a>, providing Lambdas to AWS CloudWatch via EMF, synchronous AWS CloudWatch calls are expensive, secrets and configuration management with parameters, <a href="https://awslabs.github.io/aws-lambda-powertools-java/utilities/parameters/">AWS Systems Manager Parameter Store support</a>, parameter caching, Lambda Java-like tracing with AWS X-Ray, Lambda Powertools annotation for X-Ray, adding exceptions to AWS X-Ray, adding correlation id support for cross Lamba logging, AWS Lambda Powertools for Java is an incubator, support for CloudFormation custom resources, the SQS and SNS message offloading to S3, validation support of business objects with JSON-Schema and JMESPath, the killer Use Case for <a href="https://en.wikipedia.org/wiki/Aspect-oriented_programming">AOP</a>, writing ugly code for performance </blockquote> <p>Mark Sailes on twitter: <a href="https://twitter.com/MarkSailes3">@MarkSailes3</a>, Mark's blog: <a href="https://mark-sailes.medium.com">mark-sailes.medium.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 6 Feb 2022 11:00:00 +0100">Sun, 6 Feb 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_176.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_175"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_175">#<span itemprop="episodeNumber">175</span></a> Pragmatic Modularity and OSGi</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_175">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jürgen Albert (<a href="https://twitter.com/JrgenAlbert6">@JrgenAlbert6</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a> and <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">Logo</a>, 286, <a href="https://en.wikipedia.org/wiki/Intel_80486">486</a> then Pentium, starting with <a href="https://en.wikipedia.org/wiki/PHP">PHP</a>, learning Java 1.4 and <a href="https://en.wikipedia.org/wiki/Java_version_history">Java 5</a>, studying in Jena - the optical valley, <a href="https://www.intershop.com">Intershop</a> and <a href="https://en.wikipedia.org/wiki/Stephan_Schambach">Stephan Schambach</a>, Intershop was written in Perl, writing eBay connectors with Java, Java Server Pages, <a href="http://tomcat.apache.org">Tomcat</a> and <a href="https://en.wikipedia.org/wiki/Java_Data_Objects">Java Data Objects (JDO)</a>, Java Persistence API <a href="https://helidon.io/docs/latest/#/mp/guides/09_jpa">JPA</a>, writing a J2ME app store, Using TriActive JDO <a href="http://tjdo.sourceforge.net">TJDO</a>, using <a href="https://geronimo.apache.org">Geronimo Application Server</a>, working with <a href="https://javaee.github.io">Java EE</a>, <a href="https://www.jboss.org">JBoss</a> and <a href="https://javaee.github.io/glassfish/">Glassfish</a>, starting <a href="https://www.datainmotion.de">Data In Motion</a> company in 2010, building a statistics tool for Bundesamt fuer Risikobewertung, creating smartcove the product search and price comparison engine, building video supported therapy software with Java, parsing video streams with Java, <a href="https://wiki.eclipse.org/Rich_Client_Platform">Eclipse RCP</a>, code reuse with <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a> and <a href="https://wiki.eclipse.org/Gyrex/Learning_Material/Develop_OSGi_DS">Gyrex</a>, GlassFish and OSGi, modeling <a href="https://www.eclipse.org/ide/">Eclipse</a> Modeling Framework (EMF), Eclipse GMF and <a href="https://www.eclipse.org/Xtext/">openArchitectureWare</a>, the IDE wars, the <a href="https://meetup.com/airhacks">meetup.com/airhacks</a> message, modular system in long term projects, microservices vs. JARs, versioning bundles and plugins, package versioning, the chair of Eclipse OSGi Working Group, Sun started with OSGi, declarative OSGi services, there overlap between OSGI and Eclipse Plugin Development Environment, <a href="https://airhacks.fm/#episode_79">"#79 Back to Shared Deployments with Romain Manni-Bucau"</a>, </blockquote> <p>Jürgen Albert on twitter: <a href="https://twitter.com/JrgenAlbert6">@JrgenAlbert6</a>, Juergen's company: <a href="https://www.datainmotion.de">Data In Motion</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 30 Jan 2022 11:00:00 +0100">Sun, 30 Jan 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_175.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_174"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_174">#<span itemprop="episodeNumber">174</span></a> Kafka Connect CLI, JFR Unit, OSS Archetypes and JPMS </h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_174">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Gunnar Morling (<a href="https://twitter.com/gunnarmorling">@gunnarmorling</a>) about: <blockquote> <a href="https://github.com/kcctl/kcctl">kcctl</a> the CLI for <a href="https://kafka.apache.org">Kafka</a> connect, kcktl comes with auto completion, kcctl uses <a href="https://picocli.info">picocli</a>, <a href="https://quarkus.io">quarkus</a> as CLI, the quarkus extension for picocli, great <a href="https://quarkus.io/guides/picocli">quarkus command mode with picocli</a> extension, using <a href="https://en.wikipedia.org/wiki/Java_Platform_Module_System">JPMS</a> for command client interfaces, plugins with JPMS, tab completion with kcctl, the great <a href="https://jreleaser.org">jreleaser</a> project by <a href="https://andresalmiray.com">Andres Almiray</a>, displaying the connector offsets, the great <a href="https://docs.oracle.com/javacomponents/jmc-5-4/jfr-runtime-guide/about.htm#JFRUH170">Java Flight Recorder</a>, <a href="https://github.com/moditect/jfrunit">jfrunit</a> provides assertions for avoidance of performance regressions, event streaming API in Java, JfrUnit annotations, JFR event streaming into Kafka, <a href="https://www.javaadvent.com/2021/12/keep-your-sql-in-check-with-flight-recorder-jmc-agent-and-jfrunit.html">Keep Your SQL in Check With Flight Recorder, JMC Agent and JfrUnit</a>, <a href="https://github.com/moditect/layrry">layrry</a> - A Launcher and API for Modularized Java, <a href="https://github.com/moditect">ModiTect</a> plugin, building application images, the <a href="https://maven.apache.org">Maven</a> OSS quickstart archetype, </blockquote> <p>Gunnar Morling on twitter: <a href="https://twitter.com/gunnarmorling">@gunnarmorling</a>, Gunnar's <a href="https://www.morling.dev">blog</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 23 Jan 2022 11:00:00 +0100">Sun, 23 Jan 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_174.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_173"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_173">#<span itemprop="episodeNumber">173</span></a> MicroProfile 5.0</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_173">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Emily Jiang (<a href="https://twitter.com/emilyfhjiang">@emilyfhjiang</a>) about: <blockquote> the <a href="http://adambien.blog/roller/abien/entry/live_java_ee_6_hacking">Chinese JavaONE</a>, the <a href="https://microprofile.io">MicroProfile</a> book, writing a book in a caravan, the MicroProfile 5 release, MicroProfile 5.0 ships with Jakarta namespace, <a href="https://openliberty.io">OpenLiberty</a> supports MicroProfile 5.0, <a href="https://opentracing.io">OpenTracing</a> and <a href="https://opencensus.io">OpenCensus</a> merged into <a href="https://opentelemetry.io">opentelemetry</a>, MicroProfile OpenTelemetry will deprecate <a href="https://microprofile.io/project/eclipse/microprofile-opentracing">MicroProfile OpenTracing</a>, Traced annotation and Tracer interface are comprising the OpenTracing spec, <a href="https://github.com/eclipse/microprofile-metrics">MicroProfile Metrics</a> and <a href="https://micrometer.io">micrometer</a>, a shim layer around Micrometer could become MicroProfile Metrics, <a href="https://jakarta.ee">Jakarta EE</a> is a shim, the <a href="https://adambien.blog/roller/abien/entry/quarkus_microprofile_metrics_and_micrometer">Quarkus with Micrometer screencast</a>, MicroProfile Metrics "application" registry is useful for business metrics and KPIs, MicroProfile standalone vs. platform releases, Jakarta EE 10 Core Profile will be consumed by MicroProfile, <a href="https://jakarta.ee/specifications/concurrency/">Jakarta Concurrency</a> and Core Profile, <a href="https://github.com/eclipse/microprofile-context-propagation">MicroProfile Context Propagation</a> integration with <a href="http://www.cdi-spec.org">CDI</a>, the importance of Jakarta EE Concurrency, a MicroProfile logging facade discussion, OpenTelemetry's logging branch, the <a href="https://aws.amazon.com/lambda/">AWS Lambda</a> logging interface, injecting java.util.logging loggers and Java interface-based log facades, MicroProfile metrics custom scopes, a service mesh does not have any application-level insights, a service mesh performs a fallback based on traffic patters and not application logic, fault tolerance testing with service mesh vs. <a href="https://microprofile.io/project/eclipse/microprofile-fault-tolerance">MicroProfile Fault Tolerance</a>, MicroProfile and data access specification evaluation, <a href="https://adambien.blog/roller/abien/entry/quarkus_cdk_java_lambda_template">Quarkus with MicroProfile as AWS Lambda screencast</a>, <a href="https://github.com/AdamBien/aws-quarkus-lambda-cdk-plain">Quarkus with MicroProfile as AWS Lambda github project</a>, AWS <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> containers <a href="https://eclipse-ee4j.github.io/jersey/">Jersey</a> implementation, explaining AWS Lambdas with EJB talk, Message Driven Beans as email listeners with JCA, serverless and the ROI point of view, the self-explanatory serverless billing, <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a> is great for building runtimes, integrating <a href="https://github.com/eclipse/microprofile-config">MicroProfile Config</a> with Jakarta EE, the <a href="https://www.amazon.com/Emily-Jiang/e/B099FN6VZD%3Fref=dbs_a_mng_rwt_scns_share">Practical Cloud-Native Java Development with MicroProfile: Develop and deploy scalable, resilient, and reactive cloud-native applications using MicroProfile 4.1</a> book </blockquote> <p>Emily Jiang on twitter: <a href="https://twitter.com/emilyfhjiang">@emilyfhjiang</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 16 Jan 2022 11:00:00 +0100">Sun, 16 Jan 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_173.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_172"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_172">#<span itemprop="episodeNumber">172</span></a> How jClarity Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_172">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a>, programming opening StarWars scene in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, playing <a href="https://en.wikipedia.org/wiki/Jumpman_(video_game)">Jumpman</a>, enjoying math, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> and <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a>, enjoying Java, <a href="https://en.wikipedia.org/wiki/Bjarne_Stroustrup">Bjarne Stroustrup</a> <a href="https://www.stroustrup.com/4th.html">The C++ Programming Language</a>, network discovery with Java, a Java virus taking over an University, Java was too small for a CD, the great <a href="https://en.wikipedia.org/wiki/BEA_Systems">BEA</a> <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> 8, building large scale financial systems with Java, the high performance <a href="https://lmax-exchange.github.io/disruptor/#_what_is_the_disruptor">Disruptor Pattern</a>, <a href="https://logging.apache.org/log4j/2.x/">log4j</a> used a ring buffer, Kirks' Pepperdine systematic method for Java performance improvement, using <a href="https://en.wikipedia.org/wiki/Random_forest">random forest</a> and decision tree for performance tuning, <a href="https://www.jclarity.com/index.php">JClarity</a> Illuminate, jClarity root cause analysis was unique in the industry, jClarity was integrated into <a href="https://docs.microsoft.com/en-us/azure/azure-monitor/overview">Azure Monitor</a>, London Java User Group participated in <a href="https://jcp.org/en/home/index">JCP</a>, jClarity is integrated into Azure Monitor, the Principal Software Group Engineering Manager, Microsoft Loves Linux, </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 8 Jan 2022 11:00:00 +0100">Sat, 8 Jan 2022 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_172.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_171"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_171">#<span itemprop="episodeNumber">171</span></a> Java, Jakarta EE and MicroProfile on Azure</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_171">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ed Burns (<a href="https://twitter.com/edburns">@edburns</a>) about: <blockquote> expisode with Ed's first computer: <a href="https://airhacks.fm/#episode_161">"#161 SGI, NCSA Mosaic, Sun, Java, JSF, Java EE, Jakarta EE and Clouds"</a> enabling <a href="https://jakarta.ee">Jakarta EE</a> servers to run well on Azure, working with IBM and Oracle to support <a href="https://docs.microsoft.com/en-us/azure/aks/howto-deploy-java-liberty-app">OpenLiberty on Azure</a> and <a href="https://docs.microsoft.com/en-us/azure/virtual-machines/workloads/oracle/oracle-weblogic">WebLogic on Azure</a>, working with <a href="https://www.youtube.com/watch?v=IaGf3Geq-IM">payara cloud</a>, Azure <a href="https://azure.microsoft.com/en-us/services/container-instances/">Container Instances</a> the cloud way of "docker run", <a href="https://azure.microsoft.com/de-de/updates/public-preview-jboss-eap-on-azure-app-service/">JBoss EAP on Azure App Service</a>, <a href="https://microprofile.io">MicroProfile</a>, <a href="https://docs.microsoft.com/en-us/azure/developer/java/ee/">Jakarta EE and Java EE application servers on Azure</a>, Lift and Shift with <a href="https://kubernetes.io/">kubernetes</a> and Azure Kubernetes Service, Azure Container Apps - the sweet spot of ACI and ACR, cloud portability with Kubernetes, IaC with ARM Template, <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> on Kubernetes was using <a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/overview">Bicep</a>, "the complexity tax", <a href="https://devblogs.microsoft.com/java/microsoft-deepens-its-investments-in-java/">Microsoft joins Java Community Process (JCP)</a>, <a href="https://www.microsoft.com/openjdk">Microsoft Build of OpenJDK</a>, Azure Event Bus and <a href="https://azure.microsoft.com/en-us/services/service-bus/">Azure Service Bus</a>, <a href="https://airhacks.fm/#episode_111">"#111 Java / Jakarta Messaging Service (JMS) on ...Microsoft Azure"</a>, <a href="https://www.payara.fish/">Payara</a> Cloud on Azure - the <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> server, <a href="https://openliberty.io">OpenLiberty</a> on AKS, <a href="https://www.jboss.org">JBoss</a> EAP on Azure <a href="https://azure.microsoft.com/en-us/services/app-service/">App Service</a>, the <a href="https://docs.microsoft.com/en-us/azure/service-connector/overview">Azure Service Connector</a>, Azure Services as a Service -- the anti-corruption layer, <a href="https://azure.microsoft.com/en-us/services/expressroute/">Azure ExpressRoute</a> and <a href="https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview">Azure Virtual Network</a>, Event Driven Architectures and <a href="https://azure.microsoft.com/en-us/services/logic-apps/">Azure Logic Apps</a>, </blockquote> <p>Ed Burns on twitter: <a href="https://twitter.com/edburns">@edburns</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 28 Dec 2021 11:00:00 +0100">Tue, 28 Dec 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_171.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_170"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_170">#<span itemprop="episodeNumber">170</span></a> Java, OpenSource and the Brazilian Christmas</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_170">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Bruno Souza (<a href="https://twitter.com/brjavaman">@brjavaman</a>) about: <blockquote> <a href="https://airhacks.fm/#episode_20">Bruno's first computer episode</a>, <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a>, questions and answers <a href="http://airhacks.tv">airhacks.tv</a> show, <a href="https://airhacks.fm/#episode_147">A Soldering, Agile, Geek Lawyer using Java and Quarkus</a> -- the 78 years young lawyer, <a href="https://airhacks.fm/#episode_114">Building Clouds for Data Center Providers with Java</a> -- the great <a href="https://jelastic.com">Jelastic</a> cloud, working on Brazilian income tax system, the <a href="http://toolscloud.com">toolscloud</a> devops company, the overcomplicated <a href="https://kubernetes.io/">kubernetes</a>, <a href="https://www.okd.io">openshift</a> is the easy to use kubernetes solution, "OpenSource--the ability to choosing again" by <a href="https://en.wikipedia.org/wiki/Simon_Phipps_(programmer)">Simon Phipps</a>, standards are the opportunity to be lazy, <a href="https://en.wikipedia.org/wiki/UltraSPARC_T1">Sun Microsystems Niagara</a> chips were energy efficient, Sun Microsystems could become an interesting ARM company, running Java on ARM and M1, the ability to "sell", Microsoft's Java efforts, the first appearance of Microsoft at JavaOne, Sun Microsystems was like <a href="https://en.wikipedia.org/wiki/PARC_(company)">Xerox Parc</a>, the benefits of open source, the license is the trust, the best license for open source, the Apache license is the gift from Apache, Christmas in Brazil, fruit trees as Christmas trees, European advent calendars, participation at the <a href="https://www.javaadvent.com">Java Advent</a> calendar, the best developer year, <a href="https://code4.life">Developer Career Secrets</a> </blockquote> <p>Bruno Souza on twitter: <a href="https://twitter.com/brjavaman">@brjavaman</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 23 Dec 2021 11:00:00 +0100">Thu, 23 Dec 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_170.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_169"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_169">#<span itemprop="episodeNumber">169</span></a> Deep Learning with Modern Java Code</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_169">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dr. Zoran Sevarac (<a href="https://twitter.com/zsevarac">@zsevarac</a>) about: <blockquote> <a href="https://www.deepnetts.com/">DeepNetts</a> is targeting <a href="https://www.java.com/en/">Java</a> developers, nice Java code with DeepNetts, DeepNeetts with two dependencies only, <a href="https://www.youtube.com/watch?v=FGcejswBnZw">Image Recognition with Duke</a>, the data augmentation for variation generation, DeepNetts supports all formats from java image IO, <a href="https://en.wikipedia.org/wiki/Convolutional_neural_network#Convolutional_layer">Convolutional Layer</a>, max <a href="https://en.wikipedia.org/wiki/Convolutional_neural_network#Pooling_layer">Pooling Layer</a>, <a href="https://en.wikipedia.org/wiki/Convolutional_neural_network#Fully_connected_layer">Fully Connected Layer</a>, max pool layer reduces the dimension of a problem, convolutional layer is about pattern recognition, convolutional layer slides a square shape over an image to recognise a pattern, max pool layer is about downsizing, <a href="https://en.wikipedia.org/wiki/Convolutional_neural_network#Fully_connected_layer">Fully Connected Layer</a> are classifying the images, the output layers is uses a mathematical soft max function, output layer provides the prediction, the VisRec <a href="https://jcp.org/en/jsr/detail?id=381">JSR-381</a> library, DeepNetts does not rely on the existence of GPU, </blockquote> <p>Dr. Zoran Sevarac on twitter: <a href="https://twitter.com/zsevarac">@zsevarac</a> and Zoran's <a href="https://www.deepnetts.com">deepnetts.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 18 Dec 2021 11:00:00 +0100">Sat, 18 Dec 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_169.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_168"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_168">#<span itemprop="episodeNumber">168</span></a> Serverless Java on AWS</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_168">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Mark Sailes (<a href="https://twitter.com/MarkSailes3">@MarkSailes3</a>) about: <blockquote> the <a href="https://en.wikipedia.org/wiki/BBC_Micro">BBC micro</a> computer with a cassette, the PRINT 10, 386, <a href="https://en.wikipedia.org/wiki/Intel_80486">486</a> and a Pentium with an internet connection, learning Apache, using <a href="https://en.wikipedia.org/wiki/Mandriva_Linux">Mandrake Linux</a> at university, a first web page - a huge experience, <a href="https://en.wikipedia.org/wiki/PHP">PHP</a>, <a href="https://dev.mysql.com">MySQL</a> and "we don't need transactions", the fantastic <a href="https://en.wikipedia.org/wiki/PhpMyAdmin">phpMyAdmin</a>, using <a href="https://www.java.com/en/">Java</a>, <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> and Python at the university, the great JavaDoc, <a href="https://www.eclipse.org/ide/">Eclipse</a> and <a href="https://netbeans.apache.org">NetBeans</a>, the great Java collection JavaDoc, migrating from <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html">java.util.Vector</a> to <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html">java.util.List</a>, working as backend junior Java developer, from junior over senior to team lead, 3% improvement with 97% rewrite, working for AWS, <a href="https://www.amazon.co.uk/Essentialism-Disciplined-Pursuit-Less/dp/B017TE0NWO/">"Essentialism: The Disciplined Pursuit of Less"</a> book, the <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> build engineer, pre pooling EJBs, <a href="https://adambien.blog/roller/abien/entry/from_devflix_hey_enterprise_ejb">Hey Enterprise EJB Developers Now Is The Time To Go Serverless</a>, Lambda with API Gateway is a transition to Event Driven Architectures, <a href="https://docs.aws.amazon.com/lambda/latest/dg/services-alb.html">Using AWS Lambda with an Application Load Balancer</a>, cloud native, event driven architectures with <a href="https://aws.amazon.com/lambda/">AWS Lambda</a> and Java, testable, asynchronous AWS Lambda, the <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> <a href="https://kafka.apache.org">Kafka</a> on AWS, <a href="https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-archive.html">archive and replay</a> with <a href="https://aws.amazon.com/eventbridge/">Amazon Event Bridge</a>, fast cold starts with AWS Lambda, milliseconds invocations with AWS Lambda, testing asynchronous AWS Lambda with <a href="https://junit.org/junit5/">JUnit</a>, the limitations of mocking, <a href="https://aws.amazon.com/cdk/">AWS Cloud Development Kit (CDK)</a> and <a href="https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-install.html">AWS SAM CLI</a>, swapping out Lambdas with SAM, describing AWS infrastructure with CDK, no <a href="https://yaml.org">YAML</a> deployments with CDK, shareable infrastructure with compilable Java code, AWS CDK constructs--reusable cloud pieces </blockquote> <p>Mark Sailes on twitter: <a href="https://twitter.com/MarkSailes3">@MarkSailes3</a>, Mark's blog: <a href="https://mark-sailes.medium.com">mark-sailes.medium.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 10 Dec 2021 11:00:00 +0100">Fri, 10 Dec 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_168.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_167"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_167">#<span itemprop="episodeNumber">167</span></a> GraalVM and Java 17, Truffle, Espresso and Native Image</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_167">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Shaun Smith (<a href="https://twitter.com/shaunmsmith">@shaunmsmith</a>) about: <blockquote> <a href="https://www.graalvm.org">GraalVM</a> is bound to <a href="https://openjdk.java.net">openJDK</a> releases with a few days delay, GraalVM support Java 17 <a href="https://www.graalvm.org/docs/reference-manual/native-image/">native image</a>, <a href="https://adambien.blog/roller/abien/entry/java_14_a_simplest_possible">Java Records</a> are DTOs, see airhacks.fm episode: <a href="https://airhacks.fm/#episode_131">"#131 I don't hate your DTOs"</a>, <a href="https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-21.3.0">GraalVM 17 21.3.0</a> improved the performance of the native image, GraalVM native image is as fast as openJDK, optimization of <a href="https://github.com/oracle/graal/blob/master/truffle/README.md">Truffle</a> languages, article: <a href="https://medium.com/graalvm/multi-tier-compilation-in-graalvm-5fbc65f92402">Multi-Tier Compilation in GraalVM</a>, shopify is using Ruby, Ruby on GraalVM outperforms <a href="https://en.wikipedia.org/wiki/Ruby_MRI">MRI</a>, the use case <a href="https://en.wikipedia.org/wiki/Nashorn_(JavaScript_engine)">Nashorn</a>, Java 6 introduced the Scripting API, the <a href="https://www.adam-bien.com/roller/abien/entry/glassfish_future_and_not_secret">Project Avatar</a> at Oracle, <a href="https://www.oracle.com/technetwork/tutorials/tutorials-1876574.html">G1</a> Native Image is configurable, trading memory for throughput, conditional code inclusion, <a href="https://quarkus.io">quarkus</a> and <a href="https://micronaut.io">Micronaut</a> are GraalVM native, reflection is slow and memory intensive, <a href="http://www.cdi-spec.org/news/2020/03/09/CDI_for_the_future/">CDI lite</a> will come with build-time optimization, truffle is built as an AST, Espresso is <a href="https://www.graalvm.org/reference-manual/java-on-truffle/">Java on Truffle</a>, Espresso's startup time improved by 40%, running Java 17 on Java 11 with Espresso, Espresso is able to sandbox Java, Oracle Functions is using Java in container, "RAM equals CPU", Oracle Functions never oversubscribe, Micronaut - as concise as Python, but faster, the economic impact of performance, GraalVM 22 comes in January, <a href="https://webassembly.org">wasm</a> is maintained by the JavaScript team, JavaScript in the Oracle Database, </blockquote> <p>Shaun Smith on twitter: <a href="https://twitter.com/shaunmsmith">@shaunmsmith</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 3 Dec 2021 11:00:00 +0100">Fri, 3 Dec 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_167.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_166"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_166">#<span itemprop="episodeNumber">166</span></a> Debezium, Server, Engine, UI and the Outbox</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_166">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Gunnar Morling (<a href="https://twitter.com/gunnarmorling">@gunnarmorling</a>) about: <blockquote> <a href="https://debezium.io/">debezium</a> as analytics enablement, enriching events with <a href="https://quarkus.io">quarkus</a>, <a href="https://ksqldb.io">ksqlDB</a> and <a href="https://prestodb.io">PrestoDB</a> and <a href="https://trino.io">trino</a>, cloud migrations with Debezium, embedded <a href="https://debezium.io/documentation/reference/stable/development/engine.html">Debezium Engine</a>, <a href="https://debezium.io/documentation/reference/stable/operations/debezium-server.html">debezium server</a> vs. <a href="https://kafka.apache.org">Kafka</a> Connect, Debezium Server with sink connectors, <a href="https://pulsar.apache.org">Apache Pulsar</a>, <a href="https://redis.io/topics/streams-intro">Redis Streams</a> are supporting Debezium Server, Debezium Server follows the microservice architecture, pluggable offset stores, <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a> offset store is <a href="https://iceberg.apache.org">Apache Iceberg</a> connector, DB2, <a href="https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html">MySQL</a>, <a href="https://www.postgresql.org">PostgreSQL</a>, <a href="https://debezium.io/documentation/reference/0.10/connectors/mongodb.html">MongoDB</a> change streams, <a href="https://cassandra.apache.org">Cassandra</a>, Vitess, Oracle, Microsoft SQL Server <a href="https://www.scylladb.com">scylladb</a> is cassandra compatible and provides external debezium connector, <a href="https://debezium.io/blog/2021/08/12/introducing-debezium-ui/">debezium ui</a> is written in <a href="https://reactjs.org">React</a>, incremental snapshots, netflix cdc system, <a href="https://arxiv.org/abs/2010.12597">DBLog: A Watermark Based Change-Data-Capture Framework</a>, multi-threaded snapshots, internal data leakage and the <a href="https://debezium.io/blog/2019/02/19/reliable-microservices-data-exchange-with-the-outbox-pattern/">Outbox pattern</a>, debezium listens to the outbox pattern, <a href="https://opentracing.io">OpenTracing</a> integration and the outbox pattern, sending messages directly to transaction log with PostgreSQL, Quarkus outbox pattern extension, the transaction boundary topic </blockquote> <p>Gunnar Morling on twitter: <a href="https://twitter.com/gunnarmorling">@gunnarmorling</a> and <a href="https://debezium.io/">debezium.io</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 28 Nov 2021 11:00:00 +0100">Sun, 28 Nov 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_166.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_165"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_165">#<span itemprop="episodeNumber">165</span></a> AI with Java as a Hobby</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_165">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dr. Zoran Sevarac (<a href="https://twitter.com/zsevarac">@zsevarac</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a> with rubber keys in 1987, starting with games, improving the game loading experience, application for transformer calculations, simon's <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, playing <a href="https://www.c64-wiki.com/wiki/Out_Run_(EU)">Out Run</a>, improving the software loading experience with screwdrivers, learning <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a> 5.0, writing an application for medical registry, learning C and <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, building websites, learning <a href="https://www.java.com/en/">Java</a> with Applets, building chatbots and natural language processing, learning <a href="http://dinosaur.compilertools.net">lex and yacc</a>, ads automation for local musicians with C-script and <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface">Common Gateway Interface (CGI)</a>, selling books online, starting an e-commerce framework with <a href="https://en.wikipedia.org/wiki/PHP">PHP</a>, starting an e-commerce company, the German ecommerce company: <a href="https://www.intershop.com/en/">intershop</a>, neural framework with Java in 2008, openourcing <a href="http://neuroph.sourceforge.net">neuroph</a> on sourceforge, <a href="http://neuroph.sourceforge.net/dukes_choice_award_2013.html">neuroph is winning the duke choice award</a>, using <a href="https://netbeans.apache.org/">NetBeans</a> for building the neuroph UI, speed vs. readability, <a href="https://www.deepnetts.com">deep netts</a> comes with commercial support, <a href="https://www.jcp.org/en/jsr/detail?id=381">JSR 381: Visual Recognition (VisRec) Specification</a>, </blockquote> <p>Dr. Zoran Sevarac on twitter: <a href="https://twitter.com/zsevarac">@zsevarac</a> and Zoran's <a href="https://www.deepnetts.com">deepnetts.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 21 Nov 2021 11:00:00 +0100">Sun, 21 Nov 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_165.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_164"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_164">#<span itemprop="episodeNumber">164</span></a> What are AtomicJar and Testcontainers Cloud?</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_164">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Kevin Wittek (<a href="https://twitter.com/kiview">@kiview</a>) about: <blockquote> from <a href="https://en.wikipedia.org/wiki/Blockchain">blockchain</a> back to <a href="https://www.testcontainers.org">TestContainers</a>, building the <a href="https://www.atomicjar.com">Testcontainers Cloud</a> product, spinning containers in the cloud, <a href="https://github.com/docker-java/docker-java">Docker Java</a> talks remotely to docker demon, connecting to <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a> via <a href="https://www.keycloak.org/docs-api/5.0/rest-api/index.html">REST</a>, <a href="https://podman.io">Podman</a> is a docker replacement, <a href="https://en.wikipedia.org/wiki/Container_Linux#RKT">rkt</a> as docker alternative, <a href="https://github.com/opencontainers/runc">runc</a>, <a href="https://containerd.io">containerd</a> and opensourcing docker, using testcontainers for PoCs, on-premise programmable API are hard to implement, windows support for test containers is improving, <a href="https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux">WSL 2</a>, the "semi ephemeral lightweight cloud mock", the new <a href="https://ironkobra.bandcamp.com">Iron Kobra</a> album </blockquote> <p>Kevin Wittek on twitter: <a href="https://twitter.com/kiview">@kiview</a> and <a href="https://www.atomicjar.com">AtomicJar</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 13 Nov 2021 11:00:00 +0100">Sat, 13 Nov 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_164.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_163"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_163">#<span itemprop="episodeNumber">163</span></a> The Endless Loop of Frustration and Challenge</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_163">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Nicolai Parlog (<a href="https://twitter.com/nipafx">@nipafx</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Amiga_500">Amiga 500</a>, booting into blue environment, <a href="https://en.wikipedia.org/wiki/The_Settlers">Settlers</a>, dune game on <a href="https://en.wikipedia.org/wiki/Amiga">Amiga</a>, writing the first line of <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a> at high-school, starting with <a href="https://www.java.com/en/">Java</a> in 2001 with Applets, the dining philosopher's problem with Java, <a href="https://cs.stanford.edu/people/eroberts/karel-the-robot-learns-java.pdf">Karel the Robot</a> in Java, studying math is hard, <a href="https://en.wikipedia.org/wiki/Temporal_logic">Temporal logic</a> and formal verification, the endless loop of frustration and challenge, mathematicians and formulas, solving an equation is refactoring, learning complexity theory, <a href="https://lamport.azurewebsites.net/tla/tla.html">TLA+</a> and Lesley Lamport, <a href="https://lamport.azurewebsites.net/tla/formal-methods-amazon.pdf">Amazon S3 formal verification</a> with TLA+, cost estimation in large scale projects, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/List.html">java.awt.List</a> vs. java.util.List <a href="https://kotlinlang.org">Kotlin</a> vs. Java 17 productivity, Java is the lowest possible denominator, working for <a href="https://www.cleanenergywire.org/experts/lichtblick">lichtblick</a> - the renewal energy company, implementing energy model for Fraunhofer in Karlsruhe, linear programming with <a href="https://en.wikipedia.org/wiki/Simplex_algorithm">simplex</a> in C, dependencies come with a cost, dependencies are liability, starting to work for Oracle as Java Developer Advocate, </blockquote> <p>Nicolai Parlog on twitter: <a href="https://twitter.com/nipafx">@nipafx</a>, Nicolai's website: <a href="https://nipafx.dev">nipafx.dev</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 7 Nov 2021 11:00:00 +0100">Sun, 7 Nov 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_163.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_162"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_162">#<span itemprop="episodeNumber">162</span></a> From Java EE to GlassFish and Back To WildFly</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_162">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jason Lee (<a href="https://twitter.com/jasondlee">@jasondlee</a>) about: <blockquote> C-64, <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> and <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, the talking ghostbusters game, a DOS screen saver, the <a href="https://en.wikipedia.org/wiki/Run_(magazine)">Run Magazine</a>, buying a 286, installing early version of <a href="https://www.postgresql.org">PostgreSQL</a>, starting with <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, C, <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a> and <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> programming, working for WalMart on Decision Support System (DSS), providing support for cable modems, the great US robotics modem, 36 kBs vs. 54 kbS speed, building a <a href="https://en.wikipedia.org/wiki/FoxPro">FoxPro</a> <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> system for a medical company, starting with <a href="https://en.wikipedia.org/wiki/JBuilder">JBuilder</a> and <a href="https://www.java.com/en/">Java</a> Swing 1.1 and <a href="http://www.drbob42.com/jbuilder/jb210T.htm">JBCL</a>, porting C++ to Java, the jbInit method, Eclipse's refactoring was great, <a href="https://en.wikipedia.org/wiki/Embarcadero_Technologies">Embarcadero</a> and <a href="https://en.wikipedia.org/wiki/Borland#Inprise_Corporation_era">Inprise</a>, writing <a href="https://en.wikipedia.org/wiki/SOAP">SOAP</a> with <a href="http://axis.apache.org">Apache Axis</a>, first opensource contribution, working with Federal Aviation Administration, starting with <a href="https://javaee.github.io/glassfish/">Glassfish</a> v2 and Java Server Faces, <a href="https://javaee.github.io">Java EE</a> and <a href="https://microprofile.io">MicroProfile</a> - productivity by constraints, the annotation driven Java EE 5, starting at Sun Microsystems to work for Glassfish v3, working on Glassfish admin console, starting at Netsuite and coming back to Oracle, starting at <a href="https://www.redhat.com/en">RedHat</a> on <a href="https://wildfly.org">Wildfly</a>, working on WildFly MicroProfile integration, adding telemetry support for WildFly 25, Jakarta EE: integration vs. implementation, WildFly runs on Java 17 and supports <a href="https://opentelemetry.io">opentelemetry</a>, <a href="https://micrometer.io">micrometer</a> vs. <a href="https://microprofile.io/project/eclipse/microprofile-metrics">MicroProfile Metrics</a>, <a href="https://airhacks.fm/#episode_140">airhacks.fm episode 140 with Erin Schnabel about Micometer, Metrics and Quarkus</a>, WildFly 26 will suport Jakarta EE 10, bootable WARs, </blockquote> <p>Jason Lee on twitter: <a href="https://twitter.com/jasondlee">@jasondlee</a>, Jason's blog: <a href="https://jasondl.ee">jasondl.ee</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 28 Oct 2021 11:00:00 +0100">Thu, 28 Oct 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_162.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_161"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_161">#<span itemprop="episodeNumber">161</span></a> SGI, NCSA Mosaic, Sun, Java, JSF, Java EE, Jakarta EE and Clouds</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_161">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ed Burns (<a href="https://twitter.com/edburns">@edburns</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A">Ti 99</a> 4a with speech synthesis, <a href="https://www.amazon.com/Secrets-Rock-Star-Programmers-Riding/dp/0071490833">Secrets of the Rockstars Programmer</a> book, Apple 2c with word processing and laser mouse, Superman 2, collecting half cents as rounding errors, <a href="https://en.wikipedia.org/wiki/WarGames">War Games</a> and Tron, the <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">Logo</a> programming language with a turtle, enjoying playing trumpet, marching band and a binary trumpet, The <a href="https://twitter.com/heynullpointers">Nullpointers Band</a>, Fourier Transforms for music quantification at high school, <a href="https://en.wikipedia.org/wiki/Just_intonation">just intonation</a> and the key changes, equal temperement on piano, retuning the keyboard on the fly, applying at Sun Microsystems, <a href="https://en.wikipedia.org/wiki/Lighthouse_Design">Lighthouse Design</a> and Objectivec-C, working at <a href="https://en.wikipedia.org/wiki/Silicon_Graphics">Silicon Graphics</a> and the nice O2 workstation, working on NCSA <a href="https://en.wikipedia.org/wiki/Mosaic_(web_browser)">Mosaic</a> browser at NCSA, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> and <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> at the university, working on Common Client Interface on Mosaic Browser, <a href="https://nixdoc.net/man-pages/IRIX/man1/inperson.1.html">inperson</a> conference system, talent vs. grit, grit over talent, floyd marinescu started the <a href="https://www.theserverside.com">theserverside.com</a>, the <a href="https://en.wikipedia.org/wiki/Spyglass,_Inc.">Spyglas Browser</a>, the SGI <a href="https://www.zdnet.com/article/cosmo-helps-sgi-focus-on-desktop/">Cosmo</a> and VRML, SGI IRIX operating system, commodity vs. boutique fights at SGI, joining Sun's Lighthouse Design group, building a Java-based productivity suite, building a multi-dimensional spreadsheet: quantrix, NextStep Appkits vs. Swing, the AOL Sun-Netscape alliance, OJI - Open Java VM Interface the SPI for Applets, Project <a href="https://openjdk.java.net/projects/panama/">Panama</a> - the new JNI, the popularity of <a href="https://struts.apache.org">Struts</a> was the motivation for JSF, Craig McLanaham and Amy Fowler started to work on JSF, JSF code name was <a href="https://www.infoworld.com/article/2075969/java-web-services--what-s-not-to-like-.html">moonwalk</a>, Hans Muller and the <a href="https://en.wikipedia.org/wiki/Swing_Application_Framework">Swing Application Framework</a> (JSR-296), the Java Community Process passion, IETF and W3C are like <a href="https://jcp.org/en/home/index">JCP</a>, "Innovation Happens Elsewhere" book, JSF and Spring XML-based dependency injection, <a href="https://en.wikipedia.org/wiki/Art_Technology_Group">ATG dynamo</a> jhtml, JSF 2.0 composite components, JSF was a hot technology with multiple component implementations <a href="https://en.wikipedia.org/wiki/RichFaces">RichFaces</a>, <a href="http://www.icesoft.org/java/projects/ICEfaces/overview.jsf">icefaces</a>, <a href="https://www.ocpsoft.org/prettyfaces/">PrettyFaces</a>, Liferay, <a href="https://en.wikipedia.org/wiki/Comet_(programming)">PrimeFaces</a> and MyFaces, the initial JSF target was page-based corporate apps, the AJAX experience conference and <a href="https://twitter.com/bgalbs">Ben Galbraith</a>, Martin Marinschek from Irian, <a href="http://jj-blogger.blogspot.com">Josh Juneau</a> and the famous blog post, building a proprietary Java-based <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a> orchestration framework on top of <a href="http://mesos.apache.org">Apache Mesos</a> at Oracle, <a href="https://javaee.github.io">Java EE</a> on Azure, riding the crest, Ed's journey from client to server to cloud </blockquote> <p>Ed Burns on twitter: <a href="https://twitter.com/edburns">@edburns</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 20 Oct 2021 11:00:00 +0100">Wed, 20 Oct 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_161.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_160"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_160">#<span itemprop="episodeNumber">160</span></a> Modules Are Needed, But Not Easy</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_160">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ondrej Mih&aacute;lyi (<a href="https://twitter.com/OndroMih">@OndroMih</a>) about: <blockquote> last episode with Ondrej: <a href="https://airhacks.fm/#episode_26">Productive Clouds 2.0 with Serverless Jakarta EE</a>, <a href="https://airhacks.fm/#episode_151">"Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes"</a> #151 episode with Matjaz Juric, modules are useful, but the tooling is not easy, using <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a> for User Interfaces, hybrid <a href="https://www.java.com/en/">Java</a> / JavaScript UI, build time and development time modularity, frontend and backend separation is important, business and presentation separation, <a href="http://www.adam-bien.com/roller/abien/entry/bureaucratic_design_with_java_ee">Boundary Control Entity</a> (BCE) pattern is permissive, strict modularization with WARs and JARs, logical over physical modules, <a href="https://en.wikipedia.org/wiki/Java_Platform_Module_System">JPMS</a> for hiding internal implementation, modules are more important in teams as contracts, WARs as simple as AWS Lambdas, kubernetes and readiness probes, Elastic Beanstalk is similar to <a href="https://www.youtube.com/watch?v=IaGf3Geq-IM">Payara Cloud</a>, <a href="https://www.payara.fish/software/payara-server/payara-micro/">Payara Micro</a> optimizations for Payara Cloud, redeployment without restarting the instances, <a href="https://docs.payara.fish/community/docs/5.201/documentation/ecosystem/arquillian-containers/payara-micro.html">Payara Micro Arquillian Container</a>, hollow JAR approach and <a href="https://www.payara.fish/">Payara</a> Micro, Payara Micro could support native compilation in the future, <a href="https://jakarta.ee/specifications/coreprofile/10/">Jakarta EE core</a> profile and <a href="http://www.cdi-spec.org/news/2020/03/09/CDI_for_the_future/">CDI lite</a>, native compilation for resource reduction, Payara implements <a href="https://microprofile.io">MicroProfile</a> as early as soon, </blockquote> <p>Ondrej Mih&aacute;lyi on twitter: <a href="https://twitter.com/OndroMih">@OndroMih</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 8 Oct 2021 11:00:00 +0100">Fri, 8 Oct 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_160.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_159"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_159">#<span itemprop="episodeNumber">159</span></a> Humans over Computers and Serverless JBoss on Azure App Service</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_159">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Theresa Nguyen (<a href="https://twitter.com/RockClimberT">@RockClimberT</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Apple_II">Apple II</a> ES with blue screen and yellow font, 3h to install an OS on 386 machine, enjoying <a href="https://en.wikipedia.org/wiki/Minesweeper_(video_game)">minesweeper</a> and <a href="https://en.wikipedia.org/wiki/Tetris">Tetris</a>, playing <a href="https://en.wikipedia.org/wiki/Frogger">frogger</a> on a flashback Atari, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> at high school, learning how the brain works, ambition, motivation, attitude and dedication, computers had better keyboards, than typewriters, enjoying <a href="https://en.wikipedia.org/wiki/WordPerfect">Word Perfect</a>, humans over computers, joining <a href="https://caucho.com/">Caucho</a>, caucho is the home of <a href="https://en.wikipedia.org/wiki/Resin_(software)">Resin</a> application server, meeting at theserverside conference, <a href="https://jakarta.ee">Jakarta EE</a>, <a href="https://tomee.apache.org">TomEE</a> and <a href="https://microprofile.io">MicroProfile</a>, Sun's Microsystem spirit at Microsoft, the importance of opensource software, standardization is freedom of choice, Microsoft at <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a>, joining Microsoft in 2018, enabling <a href="https://www.jboss.org">JBoss</a> EAP on Azure, the official <a href="https://maven.apache.org">Maven</a> archetype from Microsoft, <a href="https://quarkus.io">quarkus</a> <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a> resource as <a href="https://www.java.com/en/">Java</a> function, JBoss EAP runs on Azure <a href="https://azure.microsoft.com/en-us/services/app-service/">App Service</a>, <a href="https://azure.microsoft.com/en-us/services/service-bus/">Azure Service Bus</a> is <a href="https://en.wikipedia.org/wiki/Java_Message_Service">JMS</a> compliant, the <a href="https://airhacks.fm/#episode_111">episode 111</a> about Azure and JMS, JBoss vs. <a href="https://wildfly.org">Wildfly</a> on Azure, WildFly on virtual machines and scale sets, <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> JBoss on Azure, Java For <a href="https://kubernetes.io/">kubernetes</a>, <a href="https://www.j4k.io">j4k</a> conference, </blockquote> <p>Theresa Nguyen on twitter: <a href="https://twitter.com/RockClimberT">@RockClimberT</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 1 Oct 2021 11:00:00 +0100">Fri, 1 Oct 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_159.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_158"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_158">#<span itemprop="episodeNumber">158</span></a> Kubernetes, KumuluzEE, MicroProfile and Clouds</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_158">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Prof. dr. Matjaz Juric (<a href="https://twitter.com/matjazbj">@matjazbj</a>) about: <blockquote> about <a href="https://ee.kumuluz.com/">KumuluzEE</a> and the Duke Choice award, SOA had its problems, <a href="https://www.eclipse.org/jetty/">jetty</a> is the core of KumuluzEE, <a href="https://javaee.github.io">Java EE</a> fans building a lightweight runtime environment, <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> rejection, then winning the Duke Choice Award in 2015, KumuluzEE started with exploded deployments, KumuluzEE supported parts of <a href="https://jakarta.ee">Jakarta EE</a> and fully <a href="https://microprofile.io">MicroProfile</a> from the beginning, now KumuluzEE support MicroProfile 3.3, KumuluzEE created an own <a href="https://kafka.apache.org/documentation/#configuration">configuration</a> framework before MicroProfile, KumuluzEE supports <a href="https://etcd.io">etcd</a> and <a href="https://www.consul.io">consul</a>, live configuration updates are supported, KumuluzEE listens to etcd changes, layered configuration approach is supported, KumuluzEE implements some MicroProfile APIs, KumuluzEE is one of the fastest runtime, <a href="https://quarkus.io">quarkus</a> is the main contender, event streaming and GraphQL are the most interesting KumuluzEE features, JPA-RS: <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a> mapping to <a href="https://www.eclipse.org/eclipselink/">EclipseLink</a> / JPA, <a href="https://github.com/kumuluz/kumuluzee-rest">kumuluzee-rest</a> is similar to JPA-RS, Remote Procedure Call (RPC) is supported with <a href="https://github.com/kumuluz/kumuluzee-grpc">kumuluzee-rpc</a> module, RMI over gRPC, sending classes over the wire is no more supported, <a href="https://johnzon.apache.org">Apache Johnzon</a> supports <a href="https://www.java.com/en/">Java</a> Record to JSON serialization, <a href="https://docs.oracle.com/javase/7/docs/api/java/rmi/MarshalledObject.html">MarshalledObject</a> is great for agent implementation, feature flags are a semantic extension of configuration, KumuluzEE support feature flags with the <a href="https://github.com/kumuluz/kumuluzee-feature-flags">kumuluzee-feature-flags</a> module, <a href="https://github.com/checkr/flagr">flagr</a> provides feature flagging, <a href="https://kubernetes.io/">kubernetes</a> with <a href="https://istio.io">istio</a> makes dynamic JAX-RS endpoint obsolete, automation of canary release deployments, KumuluzEE translates specific DSL configuration to istio configuration, <a href="https://github.com/kumuluz/kumuluzee-fault-tolerance">kumuluzee-fault-tolerance</a> is MicroProfile compatible, <a href="https://github.com/kumuluz/kumuluzee-logs">kumuluzee-logs</a> sends logs to various logging frameworks and drivers, energy trading with decentralised <a href="https://en.wikipedia.org/wiki/Blockchain">blockchain</a> approach like <a href="https://ethereum.org/en/">ethereum</a>, <a href="https://airhacks.fm/#episode_104">episode</a> 145 with Kevin Wittek about ethereum, KumuluzEE is opensource, <a href="https://kumuluz.com/digital-platform">Kumuluz Platform</a> adds additional features, the larger the module, the lower the overhead in the clouds, Java should not compete with Python and Javascript, </blockquote> <p>Prof. dr. Matjaz Juric on twitter: <a href="https://twitter.com/matjazbj">@matjazbj</a> and <a href="https://www.fri.uni-lj.si/en/employees/matjaz-branko-juric">at University of Ljubljana</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 24 Sep 2021 11:00:00 +0100">Fri, 24 Sep 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_158.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_157"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_157">#<span itemprop="episodeNumber">157</span></a> The Ingredients of GraalVM</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_157">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Oleg Selajev (<a href="https://twitter.com/shelajev">@shelajev</a>) about: <blockquote> the red glowing mic, <a href="https://www.graalvm.org">GraalVM</a> is the runtime for your applications, GraalVM is high-performance, embeddable and polyglot, GraalVM comes with top tier Just In Time Compiler (JIT), GraalVM ships as community edition and enterprise edition, Twitter gains 10% throughput and performance improvement with GraalVM Community Edition, GraalVM is a drop-in replacement, GraalVM is based on <a href="https://openjdk.java.net">openJDK</a> builds, the <a href="https://en.wikipedia.org/wiki/Jikes">Jikes</a> Java compiler was fast, but not always compatible, Jikes was able to compile <a href="https://en.wikipedia.org/wiki/Java_version_history">Java 5</a>, the <a href="http://dcevm.github.io">dcevm</a> project, javac is written in Java, javac can be compiled to native code, <a href="https://docs.oracle.com/cd/F49540_01/DOC/java.815/a64686/01_intr4.htm">Oracle Aurora JVM</a> - early Java in the database, Oracle AuroraVM - Java in the database, GraalVM comes with better performance by maintaining the compatibility, the different tiers of compilers, GraalVM Enterprise Edition is currently part of the Oracle's Java subscription, GraalVM Enterprise Edition compiler is smarter and better, GraalVM supports Ruby, Python, JavaScript, R and <a href="https://webassembly.org">WebAssembly</a>, <a href="https://github.com/oracle/graal/blob/master/truffle/README.md">Truffle</a> provides an API for interpreter API for a non-JVM language, with Truffle you can describe the semantics of your language, Truffle specializes the interpreter to execute your program, GraalVM already ships with several languages built-in, GraalVM supports Ruby with its native extensions, GraalVM is able to optimize multiple languages running in a single process, GraalVM ships with Nashorn compatibility mode, GraalVM supports modern Python, WebAssembly can run on GraalVM, GraalVM supports "BigNumber" types for JavaScript, debug support is implemented via <a href="https://developer.chrome.com/docs/devtools/">Chrome DevTools</a>, with GraalVM Espresso Java runs on Java, GraalVM team at <a href="https://www.twitch.tv/oracle_labs">Oracle Labs</a> is the bleeding edge resource of language research, Java is well suited for language research, Java BeanShell was a Java sourcecode interpreter, Java runs on Java which runs on Java, Truffle ships with sandbox-like isolation, Espresso is <a href="https://www.graalvm.org/reference-manual/java-on-truffle/">Java on Truffle</a>, performance is relative, Java on Truffle allows easier code reloading, wasm runs on browsers and backends, running wasm in a database, the GraalVM team blog at medium, </blockquote> <p>Oleg Selajev on twitter: <a href="https://twitter.com/shelajev">@shelajev</a>, Oleg's youtube <a href=" https://www.youtube.com/channel/UCaJpQyYXpTlMoHHZuuaTTug">channel</a>, the GraalVM team on medium <a href="https://medium.com/graalvm">medium.com/graalvm</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 18 Sep 2021 11:00:00 +0100">Sat, 18 Sep 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_157.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_156"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_156">#<span itemprop="episodeNumber">156</span></a> Bash, Apple and EJB, TomEE, Geronimo and Jakarta EE</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_156">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with David Blevins (<a href="https://twitter.com/dblevins">@dblevins</a>) about: <blockquote> Code Generation with bash, bash is your best friend, scripting as documentation, learn first, then automate, an opportunity to work on an EJB container, working on <a href="https://www.linuxtoday.com/infrastructure/1999022400510OS">EJBOSS</a>, working with the great Richard Monson-Haefel, co-founding <a href="https://en.wikipedia.org/wiki/Apache_OpenEJB">openEJB</a> with Richard, <a href="https://www.infoworld.com/article/2076347/bluestone-moves-to-marry-java-and-xml.html">bluestone</a> and <a href="https://en.wikipedia.org/wiki/Gemstone_(database)">gemstone</a> servers, exolab was an incubator, <a href="http://openjms.sourceforge.net">openJMS</a>, openEJB and <a href="https://castor.exolab.org">castor</a>, working with Apple to integrate openEJB with Apple's WebObjects, openEJB on Apple's WebObjects box, from experience to cash, the concept of isolated containers in openEJB, Dain Sundstrom wrote CMP for <a href="https://www.jboss.org">JBoss</a>, <a href="https://twitter.com/rickardoberg">Rickard &Ouml;berg</a> started at openEJB for two weeks, creating <a href="https://geronimo.apache.org/">Geronimo</a> in 2003 as competitor to JBoss, announcing Geronimo at <a href="https://www.theserverside.com">theserverside.com</a>, Geronimo was over engineered, good idea at a bad time is a bad idea, <a href="https://www.adam-bien.com/roller/abien/entry/ioc_and_convention_over_configuration">Convention over Configuration</a> vs. explicit configuration, openEJB's Java Serialization was faster than WebLogic's T3, Geronimo's configuration was not portable, joining <a href="https://www.cnet.com/news/ibm-buys-open-source-java-outfit-gluecode/">gluecode</a>, gluecode was sold to IBM, Jason van Zyl was the creator of <a href="https://maven.apache.org">Maven</a>, Jason van Zyl created <a href="https://www.sonatype.com">Sonatype</a>, <a href="https://commons.apache.org/proper/commons-jelly/">jelly</a> - the executable XML, Maven 2 rollout was tested with openEJB, switching from codehouse to Apache, 600 people were working on <a href="https://www.ibm.com/cloud/websphere-application-platform/">WebSphere</a>, Dan Allen was working on <a href="http://arquillian.org/">arquillian</a>, Arquillian used internally openEJB, JBoss 7 became <a href="https://wildfly.org">Wildfly</a>, creating <a href="https://tomee.apache.org">TomEE</a> after <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> 2010, TomEE stopped consulting, <a href="https://www.tomitribe.com">tomitribe</a> provides support for TomEE, <a href="http://tomcat.apache.org">Tomcat</a>, <a href="https://activemq.apache.org">ActiveMQ</a>, TomEE 9 starts in 2 seconds, TomEE passes the TCK with 64MB RAM, TomEE lost access to TCK in 2013 before <a href="https://javaee.github.io">Java EE</a> 7, TomEE got access in December 2019, TomEE is working on <a href="https://microprofile.io">MicroProfile</a> 4.0, TomEE uses <a href="https://johnzon.apache.org">Apache Johnzon</a> <a href="https://javaee.github.io/jsonp/">JSON-P</a>, TomEE uses Apache projects to implement <a href="https://jakarta.ee">Jakarta EE</a> and MicroProfile specification, TomEE uses BeanValidation for JWT validation, using BeanValidation for authorization with custom data in JWT, <a href="https://tribestream.io">Tribestream</a> - the API Gateway, </blockquote> <p>David Blevins on twitter: <a href="https://twitter.com/dblevins">@dblevins</a> and David's company: <a href="https://www.tomitribe.com">tomitribe</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 9 Sep 2021 11:00:00 +0100">Thu, 9 Sep 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_156.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_155"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_155">#<span itemprop="episodeNumber">155</span></a> Java, Blues and Tomitribe</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_155">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with David Blevins (<a href="https://twitter.com/dblevins">@dblevins</a>) about: <blockquote> Atari 800, then Atari 2600, playing Pitfall!, enjoying <a href="https://en.wikipedia.org/wiki/Apple_II">Apple II</a>, enjoying the <a href="https://en.wikipedia.org/wiki/M.U.L.E.">M.U.L.E.</a> game, the creative art kid, working at <a href="https://en.wikipedia.org/wiki/Public-access_television">Public-access station</a>, making special effects with <a href="https://en.wikipedia.org/wiki/Amiga_500">Amiga 500</a>, the Monday the 13th horror movie, specializing on make-up, halloween was a working day, the amazing B.B. King, learning blues, studying psychology, going to Ecuador, going to <a href="https://en.wikipedia.org/wiki/Brown_College_(Minnesota)">Brown College in Minnesotta</a>, hitting a truck with a mini van, a nice truck driver, starting the iWeb company, working with Apple, developing websites with HTML and JavaScript, 80k salary for a Java developer in 1998, learning Java 1.0 in a week, working as Java consultant, working on <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a> and Java integration, writing a web server, hotsite, <a href="https://en.wikipedia.org/wiki/Novell_exteNd">Silverstream</a>, <a href="https://jigsaw.w3.org">Jigsaw</a>, working with NorthWest Bank with Swing and <a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture">CORBA</a> backend, using <a href="https://en.wikipedia.org/wiki/Visibroker">visigenics</a> ORB, the power of source code, using com.sun.swing, the cancellation of a 35 million project, writing <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a> drivers for <a href="https://www.postgresql.org">PostgreSQL</a>, generating code in bash and <a href="https://en.wikipedia.org/wiki/Perl">Pearl</a>, </blockquote> <p>David Blevins on twitter: <a href="https://twitter.com/dblevins">@dblevins</a> and David's company: <a href="https://www.tomitribe.com">tomitribe</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 5 Sep 2021 11:00:00 +0100">Sun, 5 Sep 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_155.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_154"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_154">#<span itemprop="episodeNumber">154</span></a> Serverless Kubernetes without YAML</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_154">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Patrik Dudits (<a href="https://twitter.com/pdudits">@pdudits</a>) about: <blockquote> Sparc Workstation, then <a href="https://en.wikipedia.org/wiki/Intel_80486">486</a> computer, the Camel book at highschool, inspired by <a href="https://en.wikipedia.org/wiki/Kraftwerk">Kraftwerk</a>, a <a href="https://www.java.com/en/">Java</a> Demo CD, <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a> coldstart project, the XML publishing pipeline--the <a href="https://cocoon.apache.org/2.1/">Apache Cocoon</a> project, <a href="https://xerces.apache.org">Xerces</a> and Xalan with plain Java, the rotating cube applet, the Camel Book is about the <a href="https://en.wikipedia.org/wiki/Perl">Pearl</a> language, from Pearl to Java, the "Write Once, Run Everywhere" cheating, working and learning in Kosice, building websites with Apache <a href="https://cocoon.apache.org/">Cocoon</a>, developing <a href="https://en.wikipedia.org/wiki/ABAP">ABAP</a> at SAP, ABAP and consistency, switching from ABAP to Java, using the Netweaver Application Server, <a href="https://en.wikipedia.org/wiki/Web_Dynpro">Web Dynpro</a> for web development, code generators rarely work in practice, low code and code generation, building electric vehicle charging station management system, <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a>, <a href="https://activemq.apache.org">ActiveMQ</a> and <a href="https://javaee.github.io/glassfish/">GlassFish 3</a>, <a href="https://javaee.github.io/glassfish/">Glassfish</a> ships with monitoring capabilities and admin console, replacing OSGi modules with EARs for faster starts, using JCA for socket communication, Raft and <a href="https://en.wikipedia.org/wiki/Paxos_(computer_science)">Paxos</a> leader election pattern, blue green deployments with application servers, starting at <a href="https://www.payara.fish/">Payara</a>, attending <a href="http://airhacks.com">airhacks.com</a> workshops, starting at Payara, working on profiling, implementing <a href="https://jakarta.ee">Jakarta EE</a> TCK build, starting to work on a cloud application server, an application server as <a href="https://kubernetes.io/">kubernetes</a> operator, Payara admin server starts <a href="https://www.payara.fish/software/payara-server/payara-micro/">Payara Micro</a> instances, <a href="https://www.youtube.com/watch?v=IaGf3Geq-IM">payara cloud</a> without <a href="https://yaml.org">YAML</a>, namespaces, projects and stages, applications in the same namespace can easily communicate with each other, Payara Cloud monitoring and metrics, Payara Cloud runs on <a href="https://azure.microsoft.com/en-us/services/kubernetes-service/">AKS</a>, exposing business metrics to Payara Cloud, custom DNS name registration, working on Payara Cloud API, Payara ships with openID connector </blockquote> <p>Patrik Dudits on twitter: <a href="https://twitter.com/pdudits">@pdudits</a>, Patrik's blog: <a href="https://pdudits.github.io/">https://pdudits.github.io/</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 27 Aug 2021 11:00:00 +0100">Fri, 27 Aug 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_154.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_153"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_153">#<span itemprop="episodeNumber">153</span></a> Java, Serverless, Google App Engine, gVisor, Kubernetes</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_153">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ludovic Champenois (<a href="https://twitter.com/ludoch">@ludoch</a>) about: <blockquote> Amstrad CPC 64 with audio tape, listen to bugs, first project: a family tree in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, 8-bit music over gaming, learning APL with Game of Life then <a href="https://en.wikipedia.org/wiki/Fortran">fortran</a>, inventing the iPad with <a href="https://en.wikipedia.org/wiki/Apple_II">Apple II</a>, <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> and <a href="https://en.wikipedia.org/wiki/Assembly_language">assembler</a>, working with computers on boats with <a href="https://en.wikipedia.org/wiki/VAX">Vax</a> VMS and Fortran, refactoring logistics software from VAX to Unix <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> and <a href="https://en.wikipedia.org/wiki/Digital_Equipment_Corporation">DEC</a> Alphas, starting at Sun Microsystems in 1996, from <a href="https://www.java.com/en/">Java</a> 0.9 to 1.0, <a href="https://en.wikipedia.org/wiki/Java_(software_platform)">Javasoft</a> vs. Sun Tools, <a href="https://en.wikipedia.org/wiki/Sun_WorkShop_TeamWare">TeamWare</a> was like git but developed by Sun, interviewing the CEO of <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a> at Sun, working on Netbeans Enterprise Edition, <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a> was forbidden by Sun Microsystems, Javasoft was the church, using Netbeans at Google, improving application servers usability, writing deployment descriptors by hand, <a href="https://javaee.github.io">Java EE</a> 5 was a revolution, it was impossible to write an EJB 2 with vi, starting to work on <a href="https://en.wikipedia.org/wiki/IPlanet">iPlanet</a> <a href="https://en.wikipedia.org/wiki/Netscape">Netscape</a> and Sun Server, Java EE Reference Implementation was the ancestor of <a href="https://javaee.github.io/glassfish/">Glassfish</a>, using Glassfish as Reference Implementation and commercial offering at the same time, implementing <a href="https://javaee.github.io/hk2/">HK2</a> - the dependency injection for Glassfish, generating <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a> resources with <a href="https://asm.ow2.io">asm</a>, starting at the Google AppEngine Team in 2011, Google AppEngine (GAE) is one of the first <a href="https://en.wikipedia.org/wiki/Platform_as_a_service">Platform as a Service (PaaS)</a> offerings, <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> and elastic Google AppEngine, GAE came with JPA-like persistence, GAE ships with a single JAR which communicates to various Google services, GAE supports Java 11, GAE supports Servlets and <a href="https://www.eclipse.org/jetty/">jetty</a>, <a href="https://kubernetes.io/">kubernetes</a> was created at the GAE team, GAE is a single application running on Google's infrastructure, GAE was not able to secure Java 8 like it secured Java 6 and Java 7, using <a href="https://github.com/google/gvisor">gVisor</a> as replacement for Java's security model, gVisor is the basis of <a href="https://cloud.google.com/">Cloud Run</a>, gVisor rewrites syscalls, gVisor is the new implementation of the <a href="https://en.wikipedia.org/wiki/C_standard_library">libc</a> library, gVisor is the matrix for JVM, Ludovic's presentation about GAE: <a href="https://www.jfokus.se/jfokus19-preso/Evolution-of-a-Platform-as-a-Service-from-the-inside.pdf">Evolution of a Platform as a Service from the inside</a> </blockquote> <p>Ludovic Champenois on twitter: <a href="https://twitter.com/ludoch">@ludoch</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 22 Aug 2021 11:00:00 +0100">Sun, 22 Aug 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_153.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_152"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_152">#<span itemprop="episodeNumber">152</span></a> Code Smell, Chess, Java and Developer Relations</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_152">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Oleg Selajev (<a href="https://twitter.com/shelajev">@shelajev</a>) about: <blockquote> the 100 MHz <a href="https://en.wikipedia.org/wiki/Pentium">Pentium 1</a>, the turbo button slow down, WinRAR with floppy disks, the technologies progresses but the fiddling remains the same, playing chess with the grandfather, the chess tournaments, code smells and chess strategy, starting with HTML and <a href="https://en.wikipedia.org/wiki/PHP">PHP</a>, starting programming with <a href="https://en.wikipedia.org/wiki/Java_version_history">Java 5</a> with annotations and generics, wisdom and smartness, drawing a snowman with <a href="https://www.java.com/en/">Java</a> AWT, full time job competes with opensource work, early <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a> and XML deployment descriptors, <a href="https://www.jrebel.com">jrebel</a> and <a href="https://www.jrebel.com">ZeroturnAround</a>, using <a href="https://en.wikipedia.org/wiki/Java_Message_Service">JMS</a> at hospitals, dealing with <a href="https://www.hl7.org">HL7</a>, starting at playtech to implement casino games in Java, back to zeroturnaround, liverebel, watchdog and monitoring, monoliths are back, everyone talks about microservices, <a href="https://insights.stackoverflow.com/survey/2021">Stack Overflow Developer Survey 2021</a>, <a href="https://www.jetbrains.com/lp/devecosystem-2021/">The State of Developer Ecosystem 2021 by Jetbrains</a>, <a href="https://snyk.io/jvm-ecosystem-report-2021/">Snyk JVM Ecosystem Report 2021</a>, <a href="https://virtualjug.com">Virtual JUG</a>, <a href="https://docs.oracle.com/cd/E19205-01/819-3701/cop_8081.htm">Rogue Wave Java Collection</a>, joining Oracle, being DevRel at <a href="https://www.graalvm.org">GraalVM</a> team </blockquote> <p>Oleg Selajev on twitter: <a href="https://twitter.com/shelajev">@shelajev</a>, Oleg's youtube <a href=" https://www.youtube.com/channel/UCaJpQyYXpTlMoHHZuuaTTug">channel</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 15 Aug 2021 11:00:00 +0100">Sun, 15 Aug 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_152.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_151"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_151">#<span itemprop="episodeNumber">151</span></a> Modularization, Monoliths, Micro Services, Clouds, Functions and Kubernetes</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_151">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Prof. dr. Matjaz Juric (<a href="https://twitter.com/matjazbj">@matjazbj</a>) about: <blockquote> the larger the system, the more important the modularization, modularization and reuse, modularization and business requirements, cross-cutting logic is a solved problem, a module is a <a href="https://www.java.com/en/">Java</a> package, <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a> introduces additional complexity, packaging vs modularity, modularization and team work, most of the patterns became a part of the platform, isolation with deployment units, a module is a Dockerfile, internal modularization became less important, physical and logical modularization, logical over physical modularization, physical modularization introduces complexity, costs driven development, <a href="https://kubernetes.io/">kubernetes</a> and modularization, cloud complexity vs. Java runtime complexity, wrong cloud expectations, CI/CD in the clouds, internal microservice structure should be simpler, ECS blue green deployment with <a href="https://aws.amazon.com/codedeploy/">AWS CodeDeploy</a>, vendor independence vs. cloud specific services in the clouds, <a href="https://www.payara.fish/products/payara-cloud/">Payara Cloud</a>: Payara cluster became Kubernetes operator, functions and microservices, <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> computing with functions, function communication styles, <a href="https://kafka.apache.org/">Apache Kafka</a> and functions, the <a href="https://debezium.io/blog/2019/02/19/reliable-microservices-data-exchange-with-the-outbox-pattern/">Outbox pattern</a> is too technical, <a href="https://ee.kumuluz.com/">KumuluzEE</a> and <a href="https://kumuluz.com/digital-platform">Kumuluz Platform</a>,</blockquote> <p>Prof. dr. Matjaz Juric on twitter: <a href="https://twitter.com/matjazbj">@matjazbj</a>, <a href="https://www.fri.uni-lj.si/en/employees/matjaz-branko-juric">Prof. dr. Matjaz Juric at University of Ljubljana</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 8 Aug 2021 11:00:00 +0100">Sun, 8 Aug 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_151.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_150"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_150">#<span itemprop="episodeNumber">150</span></a> JavaServer Faces, Web Components, PrimeFaces and JavaScript Frameworks</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_150">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Cagatay Civici (<a href="https://twitter.com/cagataycivici">@cagataycivici</a>) about: <blockquote> support for <a href="https://v3.vuejs.org">vue 3</a>, components for vue 3, vue 2 to vue 3 upgrade requires a migration, vue 3 is backwards incompatible, <a href="https://www.oracle.com/java/technologies/javaserverfaces.html">JavaServer Faces</a> / <a href="https://jakarta.ee/specifications/faces/">Jakarta Server Faces</a> (JSF), <a href="https://www.primefaces.org/showcase/index.xhtml">PrimeFaces</a> / JSF design was updated, primefaces / JSF keeps being popular, <a href="https://www.java.com/en/">Java</a> Server Pages / JSPs for server side rendering, <a href="https://angular.io">Angular</a> is the new JSF, styling and functionality separation, <a href="https://www.primefaces.org/primeblocks-ng/">primeblocks</a> is CSS only, <a href="https://www.primefaces.org/primeflex/">primeflex</a> CSS utility, components vs. templates, <a href="https://www.primefaces.org/primevue/">primevue</a> as web component library, <a href="https://github.com/AdamBien/bce.design">BCE design</a> template, the <a href="https://github.com/AdamBien/bce.design/blob/main/app/src/BElement.js">BElement</a>, NPM-free web component template, <a href="https://en.wikipedia.org/wiki/Blazor">Microsoft Blazor</a> for server side rendering, accessibility with semantic HTML, wrapping a checkbox for accessibility and design, blocks are comprising components, <a href="https://chakra-ui.com">React Chakra</a> blocks library, <a href="https://www.code2.io">code2</a> and <a href="https://bubble.io">bubble</a> low code platforms, <a href="https://adambien.blog/roller/abien/entry/receiving_server_sent_events_ssesyou">SSE with Java</a> screencast, </blockquote> <p>Cagatay Civici on twitter: <a href="https://twitter.com/cagataycivici">@cagataycivici</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 1 Aug 2021 11:00:00 +0100">Sun, 1 Aug 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_150.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_149"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_149">#<span itemprop="episodeNumber">149</span></a> CDI Lite, MicroProfile, Helidon, Micronaut and Serverless</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_149">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Graeme Rocher (<a href="https://twitter.com/graemerocher">@graemerocher</a>) about: <blockquote> Graeme became a <a href="https://jakarta.ee">Jakarta EE</a> committer, <a href="https://micronaut.io">Micronaut</a> supports large parts of <a href="http://www.cdi-spec.org">CDI</a> Lite, the <a href="http://www.cdi-spec.org/news/2020/09/15/CDI_Lite_extension/">Build Time Extension API</a>, SessionScoped, RequestScoped and ApplicationScoped are going to be part of CDI Lite, splitting the <a href="https://docs.jboss.org/cdi/api/2.0/javax/enterprise/inject/spi/BeanManager.html">BeanManager</a> interface, the goal of CDI Lite, CDI and immutable infrastructure, using <a href="https://www.testcontainers.org">TestContainers</a> to spin out micronaut instances, heavy <a href="https://kubernetes.io/">kubernetes</a>, <a href="https://cloud.google.com/run">Google Cloud Run</a>, CDI Lite's main goal is memory efficiency and fast startups, using CDI Lite to write CLI apps, using CDI Lite for IoT, micronaut on IoT devices, <a href="https://azure.microsoft.com/en-us/services/functions/">Azure functions</a>, <a href="https://aws.amazon.com/lambda/">AWS Lambda</a> and <a href="https://www.graalvm.org">GraalVM</a>, <a href="https://micronaut.io/2020/08/31/micronaut-2-aws-lambda-functions/">Micronaut Launch as AWS Lambda</a>, <a href="https://helidon.io">Helidon</a> will use Micronaut Core for CDI Lite injection, Helidon will eliminate reflection with Micronaut contributions, Helidon will be able to use any Micronaut module, the micronaut's pom.xml was simplified, <a href="https://micrometer.io">micrometer</a> and <a href="https://microprofile.io">MicroProfile</a>, <a href="https://github.com/eclipse-ee4j/cdi/wiki/CDI-Lite">eclipse-ee4j CDI lite</a>, separating business and technology metrics, the battle between standards and de-facto standards, <a href="https://openmetrics.io">OpenMetrics</a>, <a href="https://opencensus.io">OpenCensus</a> and <a href="https://opentelemetry.io">opentelemetry</a>, moving fast and backward compatibility, </blockquote> <p>Graeme Rocher on twitter: <a href="https://twitter.com/graemerocher">@graemerocher</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 25 Jul 2021 11:00:00 +0100">Sun, 25 Jul 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_149.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_148"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_148">#<span itemprop="episodeNumber">148</span></a> A Serial Duke Choice Award Winner</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_148">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Mohamed Taman (<a href="https://twitter.com/_tamanm">@_tamanm</a>) about: <blockquote> AMD PC in 1997 with 200 MHz hot AMD, exploring the DOS and <a href="https://en.wikipedia.org/wiki/QuickBASIC">QuickBasic</a>, drawing sceneries, photography as hobby, assembling PCs from parts, AS-400 and RPG, <a href="https://en.wikipedia.org/wiki/QBasic">QBasic</a> and <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> on Windows 3.11 and Windows 95, to shutdown windows you had to push the start, Windows Millenium Edition, equations in QBasic, starting with <a href="https://www.java.com/en/">Java</a> 1.1, the <a href="https://en.wikipedia.org/wiki/Oracle_Certification_Program">Sun Certified Java Programmer</a> certification was hard to pass, impressed with Java, Java hides the low-level boilerplate for convenience, catching up with <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a> 1.4 and <a href="https://javaee.github.io">Java EE</a>, building mazes with <a href="https://en.wikipedia.org/wiki/OpenGL">OpenGL</a> and Java, working for Silicon Experts, staring with Sun Enterprise Server, later <a href="https://en.wikipedia.org/wiki/BEA_Systems">BEA</a> <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a>, recreating <a href="https://struts.apache.org">Struts</a> from scratch, the problem with early EJB, working on <a href="https://www.oracle.com/applications/jd-edwards-enterpriseone/">JD Edwards</a>, Oracle and <a href="https://www.oracle.com/cx/siebel/">Siebel</a> integration, using ADF at Oracle, Sun Microsystems was acquired by Oracle, starting at <a href="https://www.efinance.com.eg">eFinance</a>, efinance is private, but founded by the government, started a United Nations (UN) project for donations management, Java EE 7 with <a href="https://javaee.github.io/glassfish/">Glassfish</a> was used as the stack, finding bugs in GlassFish, working with the latest versions in mission critical projects, presenting at <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> keynote, <a href="https://www.jboss.org">JBoss</a> to <a href="https://quarkus.io">quarkus</a> migration on <a href="https://www.okd.io">openshift</a>, <a href="https://adambien.blog/roller/abien/entry/jdd_2020_building_kickass_java">"Java EE: Future Is Now, But Is Not Evenly Distributed Yet"</a> at JDD, scaling with hardware, </blockquote> <p>Mohamed Taman on twitter: <a href="https://twitter.com/_tamanm">@_tamanm</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 18 Jul 2021 11:00:00 +0100">Sun, 18 Jul 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_148.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_147"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_147">#<span itemprop="episodeNumber">147</span></a> A Soldering, Agile, Geek Lawyer using Java and Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_147">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with (<a href="https://petersonnykamplaw.com/lawyer/lawrence-r-peterson/">Lawrence R. Peterson</a>) about: <blockquote> Tandy <a href="https://en.wikipedia.org/wiki/TRS-80">TRS-80</a> with 35 years, practicing law in 1974, terrible IBM typewriters, handling 400 cases per month, increasing the productivity of a law practice with computers, changing the law, soldering computers in leisure, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, buying a 12k AT&T computer and learning C, writing a pleading management software with Unix and dumb terminals, writing a file-based database on UNIX, buying a <a href="https://en.wikipedia.org/wiki/SUN_workstation">SUN workstation</a>, retooling to <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, networking programming with Sun Station and C++, "write once, run everywhere", <a href="https://www.java.com/en/">Java</a> was solving a lot of problems, transferring to Oracle Application Development Framework ADF, <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> and Java, <a href="https://www.primefaces.org">primefaces</a>, <a href="https://en.wikipedia.org/wiki/RichFaces">RichFaces</a>, <a href="http://www.icesoft.org/java/projects/ICEfaces/overview.jsf">icefaces</a>, MyFaces, <a href="https://www.oracle.com/technical-resources/articles/javaee/javaserverfaces-templating.html">woodstock</a> and <a href="https://netbeans.apache.org">Netbeans</a>, overloading the court with too many perfect cases, practicing Agile without knowing it, migration from WebLogic to <a href="https://quarkus.io">quarkus</a>, programming is like a murder mystery, a U.S. missionary in Bavaria, <a href="https://airhacks.live">airhacks.live</a> workshops, merging back the microservices into a monolith, <a href="https://vimeo.com/ondemand/redux">From Redux to Redux Toolkit</a> coupon code: redux4free, the <a href="https://github.com/adambien/bce.design">bce.design</a> template, Lawrence's software: <a href="http://juristec.com">juristec.com</a> </blockquote> <p> Lawrence's website <a href="https://petersonnykamplaw.com/lawyer/lawrence-r-peterson/">Lawrence R. Peterson</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 9 Jul 2021 11:00:00 +0100">Fri, 9 Jul 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_147.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_146"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_146">#<span itemprop="episodeNumber">146</span></a> EDI, Java Batch, MicroProfile, JSON-API and OpenAPI</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_146">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Michael Edgar (<a href="https://twitter.com/xlateio">@xlateio</a>) about: <blockquote> custom Pentium 100, a telnet based, MUD game, Vallhalla MUD, BBS was used to connect to the network, enjoying <a href="https://en.wikipedia.org/wiki/Apple_II">Apple 2</a> at school, enjoying Sonic Sega games, learning C-structures at collage, learning 68000 <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, from Assembly to <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a> and <a href="https://www.java.com/en/">Java</a>, starting at an insurance company and learning EDI, <a href="https://en.wikipedia.org/wiki/ASC_X12">X12</a> and <a href="https://en.wikipedia.org/wiki/EDIFACT">EDIFACT</a> in EDI universe, the fascination with EDI, the beginners mind and Java Connector Architectures, the EDI "hello, world", starting to understand <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a>, back to Java with <a href="https://en.wikipedia.org/wiki/Rational_Application_Developer">WSAD</a> and IBM <a href="https://www.ibm.com/cloud/websphere-application-platform/">WebSphere</a>, using <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a>, Servlets and Java Server Pages (JSP), using Java Batch processing (jbatch), using Java Batch DSL features, from WebSphere to <a href="https://wildfly.org">Wildfly</a>, misusing WildFly as <a href="http://tomcat.apache.org">Tomcat</a>, from WildFly to <a href="https://microprofile.io">MicroProfile</a> using <a href="https://smallrye.io">smallrye</a>, JWT and <a href="https://www.openapis.org">OpenAPI</a> committer, reusing <a href="https://beanvalidation.org">Java Bean Validation</a> as openAPI metadata, using <a href="https://github.com/wildfly/jandex">jandex</a> index for annotation scanning, smallrye OpenAPI already uses <a href="https://docs.micronaut.io/1.2.6/guide/index.html">Bean Validation</a> annotations, <a href="https://jsonapi.org">JSON API</a> is used by Ember, JSON API is similar to <a href="https://www.odata.org">odata</a>, JSON-API is generated from <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a>, <a href="https://helidon.io/docs/latest/#/mp/guides/09_jpa">JPA</a> and Bean Validation, JSON-API is used by EmberJs, <a href="https://www.xlate.io">xlate</a>, <a href="https://www.redhat.com/en/technologies/cloud-computing/openshift/openshift-streams-for-apache-kafka">RedHat OpenShift Streams for Apache Kafka</a> </blockquote> <p>Michael Edgar on twitter: <a href="https://twitter.com/xlateio">@xlateio</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 3 Jul 2021 11:00:00 +0100">Sat, 3 Jul 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_146.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_145"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_145">#<span itemprop="episodeNumber">145</span></a> Java, Blockchain, Ethereum and NFTs</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_145">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Kevin Wittek (<a href="https://twitter.com/kiview">@kiview</a>) about: <blockquote> The Head of the <a href="https://en.wikipedia.org/wiki/Blockchain">blockchain</a> Lab, University of Applied Sciences in <a href="https://www.w-hs.de">Gelsenkirchen</a>, improving the integrity of the scientific research process, <a href="https://en.wikipedia.org/wiki/Merkle_tree">Merkle tree</a>, the reproducibility crisis in science, <a href="https://ethereum.org/">ethereum</a> NFTs, the metadata extension, <a href="https://ipfs.io">IPFS</a>, supermess combined with superhype, installing Ethereum on <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a>, writing <a href="https://en.wikipedia.org/wiki/MATLAB">MatLab</a> plugins, MatLab is Java-based, <a href="http://docs.web3j.io/latest/">web3j</a> is JSON-RPC, ethereum virtual machine is implemented in multiple languages, the <a href="https://ethereum.github.io/yellowpaper/paper.pdf">ethereum yellow paper</a>, <a href="https://ethdocs.org/en/latest/ethereum-clients/ethereumj/">ethereumj</a> and Apache Harmony, <a href="https://www.hyperledger.org/use/besu">Hyperledger Besu</a>, <a href="https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/EBSI">EBSI</a> European Union, OpenParity is written in Rust, the Ethereum's "Hello, World", a block is a set of Merkle roots, writing a simple smart contract, <a href="https://docs.soliditylang.org/en/v0.8.6/">solidity</a> language is compiled to Ehereum bytecode, smart contract is similar to a Java class, ethereum state replication, the longest chain will always win and the split brain problem, mining is proof of work, signing is proof of authority, <a href="https://code.visualstudio.com">Visual Studio Code</a> solidity extension, <a href="https://remix-project.org">remix</a> - the web based solidity IDE, oracle feeds data into Ethereum, the Interplanetary File System - IPFS, an IPFS node is deployed on the ISS, blockchain for the enterprise, fabric was used on <a href="https://kafka.apache.org">Kafka</a>, <a href="https://ethereum.org/en/enterprise/">ethereum mainnet</a> and <a href="https://ethereumclassic.org">ethereum classic</a>, the <a href="https://en.wikipedia.org/wiki/Ethereum_Classic">bug in the EVM</a>, mining requires computer power, the search for partial hash collisions, the economy of mining - it is more economical to mine, than to attack, NFT for <a href="https://ironkobra.bandcamp.com">Iron Kobra</a>, </blockquote> <p>Kevin Wittek on twitter: <a href="https://twitter.com/kiview">@kiview</a> on github <a href="https://github.com/kiview">https://github.com/kiview</a> and Kevin's <a href="https://groovy-coder.com">blog</a>.</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 25 Jun 2021 11:00:00 +0100">Fri, 25 Jun 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_145.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_144"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_144">#<span itemprop="episodeNumber">144</span></a> How Java WebSocket Implementation Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_144">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Justin Lee (<a href="https://twitter.com/evanchooly">@evanchooly</a>) about: <blockquote> C-64, the <a href="https://en.wikipedia.org/wiki/Run_(magazine)">Run Magazine</a> with source code, summer olympics - the joystick destroyer, coding "triangle with trigonometry" in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, computer were like science fiction, random access file in C-64 basic, <a href="https://en.wikipedia.org/wiki/IBM_PCjr">IBM PCjr</a> BASIC, writing American Football simulator, starting <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, learning <a href="https://en.wikipedia.org/wiki/Oberon_(programming_language)">Oberon</a> and C, NAG and <a href="https://en.wikipedia.org/wiki/Fortran">fortran</a>, loosing a sub tree, the <a href="https://en.wikipedia.org/wiki/Forth_(programming_language)">Forth</a> programming language, starting <a href="https://www.java.com/en/">Java</a> on <a href="https://en.wikipedia.org/wiki/HP-UX">HP-UX</a> machines, starting with JDK 1.0.2, the amazing Sun branding, Software Development Lifecycle - SDLC, writing software costs estimation in Java, 3D modelling in TCL/TK, working with TogetherJ, using vim professionally, starting with <a href="https://www.eclipse.org/ide/">Eclipse</a> and <a href="https://en.wikipedia.org/wiki/JBuilder">JBuilder</a>, building systems for online grocery shopping in 1998, using jhtml with Dynamo ATG, building an own application server with own persistence, using the blaze rules engine, using Java Server Pages with Jasper compiler, JSP was a weekend project, JSPs could be sold SSR, working on <a href="https://javaee.github.io/glassfish/">Glassfish</a> and <a href="https://javaee.github.io/grizzly/">Project Grizzly</a>, implementing WebSocket in Java on application servers, using <a href="https://en.wikipedia.org/wiki/Comet_(programming)">Comet</a> communication style with Atmosphere, using GlassFish with <a href="https://javaee.github.io/grizzly/httpframework.html">grizzly</a> for long polling, writing unit tests for <a href="https://helidon.io/docs/latest/#/mp/websocket/01_overview">WebSockets</a> in a Chrome client, Tyrus took the Grizzly implementation as base, Dany Coward wrote a Web Socket book, <a href="https://en.wikipedia.org/wiki/SPDY">SPDY</a> and <a href="https://en.wikipedia.org/wiki/BOSH_(protocol)">Bosh</a> were the bases of HTTP/2, the sticky session Web Sockeet problem, using WebSockets for Java application servers clustering, starting at <a href="https://www.squarespace.com">Squarespace</a>, Squarespace used Java on the backed any MySQL / MongoDB, fronted was implemented in YUI (Yahoo UI), maintaining <a href="https://github.com/MorphiaOrg/morphia">Morphia</a> for MongoDB, joining Red Hat and working on <a href="https://quarkus.io">quarkus</a>, working on Quarkus MongoDB integration, Quarkus Kotlin integration, eventually and evancholy </blockquote> <p>Justin Lee on twitter: <a href="https://twitter.com/evanchooly">@evanchooly</a>, Justin's blog: <a href="https://www.antwerkz.com">https://www.antwerkz.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 14 Jun 2021 11:00:00 +0100">Mon, 14 Jun 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_144.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_143"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_143">#<span itemprop="episodeNumber">143</span></a> How Hudson and Jenkins happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_143">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Kohsuke Kawaguchi (<a href="https://twitter.com/kohsukekawa">@kohsukekawa</a>) about: <blockquote> running <a href="https://en.wikipedia.org/wiki/Family_BASIC">Family BASIC</a> on Nintendo, learning <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, building abstractions, growing up in Tokyo, a Japanese keyboard, selling shareware programs in high school, writing a Text file viewer, earning 5k per month as a kid, PCs stores in Tokyo, learning chinese, Japanese vs. Chinese characters, building software at university, building an XML editor for XSL, reverse transformation from XHTML to XML, XML schema was lacking mathematical elegance, starting at Sun Microsystems in California, Sun didn't liked SOAP, starting at <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a> / <a href="https://javaee.github.io">Java EE</a> team, working with <a href="https://en.wikipedia.org/wiki/James_Clark_(programmer)">James Clark</a> on RelaxNG at Sun Microsystems, implementing <a href="https://www.java.com/en/">Java</a> Architecture for XML Binding / <a href="https://javaee.github.io/jaxb-v2/">JAXB</a>, Java <a href="https://www.infoworld.com/article/2075113/the-magic-of-merlin.html">Project Adelard</a>, <a href="http://shop.oreilly.com/product/9780596000165.do">Java and XML</a> the evil book at <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a>, <a href="https://yaml.org">YAML</a> vs. XML, using JAXB for generating JSON, working long hours in Tokyo, working times at Sun Microsystems were almost vacations, being a build breaker, getting the idea for <a href="https://en.wikipedia.org/wiki/Hudson_(software)">Hudson</a>, Hudson started as a leisure project, Hudson - an executable WAR, Hudson was based on the <a href="http://winstone.sourceforge.net">winstone</a> servlet engine, winstone is embeddable, Hudson installation and administration was easy, software was like another person in the team, Hudson was like a British buttler, writing <a href="https://github.com/kohsuke/args4j">args4j</a>, writing <a href="https://javaee.github.io/hk2/">hk2</a>, exploring native Java integration capabilities, working partially at <a href="https://javaee.github.io/glassfish/">Glassfish</a> team, being part of Oracle, the forgotten developer at Oracle, forking Hudson to Jenkins, large corporations are not always rational, leaving Oracle and joining <a href="https://www.cloudbees.com">CloudBees</a>, becoming a CEO of <a href="https://www.launchableinc.com/">launchable</a>, starting launchable, the confidence in code changes, using ML to sort tests, <a href="https://www.graalvm.org">GraalVM</a> can run Python, Ruby is popular in Japan, </blockquote> <p>Kohsuke Kawaguchi on twitter: <a href="https://twitter.com/kohsukekawa">@kohsukekawa</a>, Kohsuke on <a href="https://en.wikipedia.org/wiki/Kohsuke_Kawaguchi">Wikipedia</a>, and Kohsuke's <a href="https://kohsuke.org">website</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 11 Jun 2021 11:00:00 +0100">Fri, 11 Jun 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_143.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_142"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_142">#<span itemprop="episodeNumber">142</span></a> Serverless with Java EE, Jakarta EE, MicroProfile and a Kubernetes Operator</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_142">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Rudy De Busscher (<a href="https://twitter.com/rdebusscher">@rdebusscher</a>) about: <blockquote> plants and genetics, strawberry cross-pollination experiments, playing plant related games, statistic calculation and classification algorithms, tomato quality check automation, <a href="https://en.wikipedia.org/wiki/Fourier_transform">fourier transform</a> on tomatoes, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, learning Oracle forms, switching to Java Server Faces on <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> Server, from WebLogic to <a href="https://javaee.github.io/glassfish/">Glassfish</a>, wasting time by creating a "unique snowflake", working as <a href="https://javaee.github.io">Java EE</a> consultant, blood samples analysis with device integration, Java Connector Architecture and Java EE, starting at <a href="https://www.payara.fish/">Payara</a>, Payara implements <a href="https://microprofile.io">MicroProfile</a> 4.0, Payara implements MicroProfile "from scratch", Payara comes with deep MicroProfile integration, <a href="https://blog.payara.fish/payara-insight-is-coming-to-payara-enterprise">Payara InSight</a> monitoring dashboard, the "happy case" focus, <a href="https://letsencrypt.org">letsencrypt</a> Payara integration, Payara Grid is the successor of Glassfish Shoal, persistent EJB timers can be synchronized with <a href="https://hazelcast.org">Hazelcast</a>, <a href="https://www.payara.fish/products/payara-cloud/">Payara Cloud</a> comes with "serverless" experience, Payara Cloud is <a href="https://kubernetes.io/">kubernetes</a> operator, the WAR as cloud deployment unit, a <a href="https://www.payara.fish/software/payara-server/payara-micro/">Payara Micro</a> for each WAR in a Pod, <a href="https://www.payara.fish/software/payara-server/">Payara Server</a> is the orchestrator, Payara Cloud is currently running on Microsoft Azure </blockquote> <p>Rudy De Busscher on twitter: <a href="https://twitter.com/rdebusscher">@rdebusscher</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 26 May 2021 11:00:00 +0100">Wed, 26 May 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_142.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_141"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_141">#<span itemprop="episodeNumber">141</span></a> FN Java, Java on Java and GraalVM features</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_141">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Shaun Smith (<a href="https://twitter.com/shaunmsmith">@shaunmsmith</a>) about: <blockquote> the virtual conference problem, prerecorded talks, pre-recording and cheating, the <a href="https://adambien.blog/roller/abien/entry/java_developers_now_is_your">Drive-In Conf</a> in bulgaria, the state of FN Java, building a scalable platform is harder than building the fn-project, lambdas and functions are starting to be used properly, migrating monolith to lambda functions, deploying a <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a> resource as a function, moving from Oracle Clouds to <a href="https://www.horstmann.com/corejava/index.html">Core Java</a> at <a href="https://www.twitch.tv/oracle_labs">Oracle Labs</a>, product manager for <a href="https://www.graalvm.org">GraalVM</a>, <a href="http://www.adam-bien.com/roller/abien/entry/when_c_becomes_too_slow">Maxwell</a>, <a href="https://en.wikipedia.org/wiki/Maxine_Virtual_Machine">Maxine</a> and GraalVM, <a href="https://airhacks.fm">airhacks.fm</a> episode: <a href="https://airhacks.fm/#episode_78">From Maxwell over Maxine to Graal VM, SubstrateVM and Truffle</a>, from Java bytecode to machine code, <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a>, <a href="https://webassembly.org">WebAssembly</a>, <a href="https://en.wikipedia.org/wiki/PHP">PHP</a>, Python, R, <a href="https://llvm.org">LLVM</a>, <a href="https://blog.cloudflare.com/webassembly-on-cloudflare-workers/">WebAssembly on CloudFlare</a>, Java annotations vs. Java annotation processing, mapping Java Persistence API (JPA) is ideas to <a href="https://micronaut-projects.github.io/micronaut-data/latest/guide/">Micronaut Data</a>, <a href="https://micronaut.io">Micronaut</a> data is based on conventions, JPA based on defaults, micronaut data is similar to iBatis, small microservices become too expensive, you can serve a a few millions of customers with a single monolith, netflix monolith architecture, the overhead of <a href="https://kubernetes.io/">kubernetes</a>, <a href="https://cloud.google.com/run">Google Cloud Run</a>, heroku-like service becomes popular again, <a href="https://docs.oracle.com/en/cloud/paas/app-container-cloud/create-sample-java-ee-applications.html">Oracle Application Cloud Service</a>, Google Cloud Run, mult-tier compilation for truffle, booting faster with GraalVM, Java Serialization with GraalVM, <a href="https://medium.com/graalvm/java-on-truffle-going-fully-metacircular-215531e3f840">Java Espresso</a> or running Java as foreign language on Java, Espresso interprets Java bytecode, GraalVM introduces resource constraints for byte code execution, GraalVM becomes a docker-like environment, GraalVM improves security guarantees, Java SecurityManager APIs on steroids with GraalVM, the <a href="https://gvisor.dev">gvisor</a> project, <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> multi-tenancy features, GraalVM in Oracle Database, stored procedures in Oracle Database with GraalVM or Oracle Multilingual Engine|, GraalVM ships Java VisualVM, GraalVM Community Edition comes with the same license as <a href="https://openjdk.java.net">openJDK</a>, <a href="https://renaissance.dev">benchmark suite for the JVM</a>, GraalVM CE should perform faster as openJDK, GraalVM EE is a lot faster than GraalVM CE, GraalVM consumes less resources, GraalVM comes with partial escape analysis, GraalVM comes with <a href="https://www.oracle.com/technetwork/tutorials/tutorials-1876574.html">G1</a> garbage collector, GraalVM <a href="https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/nativeimage/Isolates.html">isolates</a> is a nested JVM, GraalVM goes JVM-less, <a href="https://www.eclipse.org/openj9/">OpenJ9</a> vs. GraalVM performance, openJDK performance is competitive with openJ9, <a href="https://docs.oracle.com/cd/F49540_01/DOC/java.815/a64686/01_intr4.htm">AuroraJVM</a> on Oracle Database, <a href="https://docs.oracle.com/middleware/12213/coherence/integrate/integrating-oracle-coherence-goldengate-hotcache.htm#COHIG4805">Oracle Coherence GoldenGate HotCache</a> and <a href="https://wiki.c2.com/?TopLink">TopLink</a>, running JPA backwards, <a href="https://debezium.io/">debezium</a> subscribes to <a href="https://docs.oracle.com/cd/E11882_01/server.112/e16545/xstrm_intro.htm#XSTRM72647">XStream</a>, <a href="https://www.graalvm.org/community/advisory-board/">GraalVM advisory board</a> </blockquote> <p>Shaun Smith on twitter: <a href="https://twitter.com/shaunmsmith">@shaunmsmith</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 20 May 2021 11:00:00 +0100">Thu, 20 May 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_141.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_140"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_140">#<span itemprop="episodeNumber">140</span></a> MicroProfile Metrics, Micrometer and Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_140">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Erin Schnabel (<a href="https://twitter.com/ebullientworks">@ebullientworks</a>) about: <blockquote> switching from IBM to Red Hat, the great ThinkPad 31p, gentoo linux on Dell laptop, Dell vs. Alienware, working on <a href="https://quarkus.io">quarkus</a>, the Q quarkus issue, <a href="https://adambien.blog/roller/abien/entry/quarkus_health_metrics_openapi_moved">Quarkus, Health, Metrics,OpenAPI: Moved Permanently (301)</a>, <a href="https://openliberty.io">OpenLiberty</a>, Quarkus and the non-application namespace, Thinkpad with Windows Vista and an Apple sticker, <a href="https://www.youtube.com/watch?v=emOBXgDZ9Pc">Erin Schnabel-Metrics for the win!</a> <a href="https://www.j4k.io">j4k.io</a> conference, <a href="https://micrometer.io">micrometer</a> comes with support for <a href="https://docs.datadoghq.com/metrics/">Datadog metrics</a> and other non-prometheus, prometheus as integration point, the relation between <a href="https://github.com/eclipse/microprofile-metrics/releases/tag/3.0">Microprofile Metrics</a> and micrometer, <a href="https://opentracing.io">OpenTracing</a>, <a href="https://opencensus.io">OpenCensus</a> and <a href="https://opentracing.io">OpenTelemetry</a>, Quarkus and <a href="https://microprofile.io">MicroProfile</a> </blockquote> <p>Erin Schnabel on twitter: <a href="https://twitter.com/ebullientworks">@ebullientworks</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 12 May 2021 11:00:00 +0100">Wed, 12 May 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_140.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_139"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_139">#<span itemprop="episodeNumber">139</span></a> From Personal Java, over Java EE to Serverless and back to the Java Platform</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_139">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with David Delabassee (<a href="https://twitter.com/delabassee">@delabassee</a>) about: <blockquote> C-64, <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore</a> 128, <a href="https://en.wikipedia.org/wiki/Amiga_500">Amiga 500</a>, and Amiga 2000, <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> then <a href="https://en.wikipedia.org/wiki/Assembly_language">assembler</a>, developing a basic horse racing statistics application, saving the state to the tape, understanding <a href="https://en.wikipedia.org/wiki/PEEK_and_POKE">Peeks and Pokes</a>, <a href="https://en.wikipedia.org/wiki/Amiga">Amiga</a> 500 vs. <a href="https://en.wikipedia.org/wiki/Atari_ST">Atari ST</a>, extending Amiga 2000 with a PC board, starting to program <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a> on a PC, the 47 MB hard disk, a vectorized walking person in Turbo <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, the <a href="https://en.wikipedia.org/wiki/WarGames">War Games movie</a>, the <a href="https://en.wikipedia.org/wiki/Acoustic_coupler">acoustic coupler</a>, the U.S Robotics modems, identifying modems by sound, writing a terminal application, learning how to learn, using <a href="https://en.wikipedia.org/wiki/VAX">Vax</a> VMS at the university, a pigeon-based failsafe system, creating a word processor in C to write Safety Data Sheets, writing backend application for Motorola Unix running on <a href="https://en.wikipedia.org/wiki/Motorola_88000">Motorola Hardware</a>, discovering <a href="https://www.java.com/en/">Java</a> applets in 1995, teletext and <a href="https://en.wikipedia.org/wiki/Minitel">minitel</a>, developing a web phone in 1997 in Personal Java, booting a phone in 15 minutes, building a TV set top box for <a href="https://techmonitor.ai/technology/netscape_hands_control_of_navio_unit_to_oracle_1">Navio</a>, starting at Sun Microsystems and <a href="https://en.wikipedia.org/wiki/Java_(software_platform)">Javasoft</a> as pre-sales and a Java Ambassador, <a href="https://www.infoworld.com/article/2077256/javasoft-unveils-developer-connection-program.html">Java Developer Connection</a> (JDC) and Duke Dollars, <a href="https://javaee.github.io">Java EE</a> evangelist at Oracle, inspiring <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> conferences, spending time with <a href="https://javaee.github.io/glassfish/">Glassfish</a> in the "field", working on <a href="https://projects.eclipse.org/projects/ee4j">EE4J</a> and Java EE to <a href="https://jakarta.ee">Jakarta EE</a> transition, the trigger of open sourcing the Java EE platform, moving to <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> organization at Oracle, FN project is used under the hood of Oracle Functions, joining the Java platform group, launching the Java Inside podcast, launching the <a href="https://inside.java">inside.java</a> website focussing on <a href="https://www.oracle.com/java/technologies/javase-downloads.html">Java SE</a> platform </blockquote> <p>David Delabassee on twitter: <a href="https://twitter.com/delabassee">@delabassee</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 10 May 2021 11:00:00 +0100">Mon, 10 May 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_139.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_138"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_138">#<span itemprop="episodeNumber">138</span></a> How Grails and Micronaut happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_138">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Graeme Rocher (<a href="https://twitter.com/graemerocher">@graemerocher</a>) about: <blockquote> Playing games with 286, playing <a href="https://en.wikipedia.org/wiki/Digger_(video_game)">digger</a>, starting programming with <a href="https://en.wikipedia.org/wiki/QuakeC">quakec</a>, programming custom explosions for rocket launcher with "shockman", working for a <a href="https://cocoon.apache.org/2.1/">Apache Cocoon</a> company, JavaScript and Java as second languages, programming learning management <a href="https://de.wikipedia.org/wiki/Systems">SYSTEMS</a> with Java, publishing motivated by learning, programming over gaming, using <a href="https://www.jboss.org">JBoss</a> on the backend, extracting content from Word with Apache POI and <a href="https://groovy-lang.org">Groovy</a> into XML, using <a href="https://en.wikipedia.org/wiki/XSLT">XSLT</a> to convert XML into HTML, data driven templates with XSLT, <a href="https://www.oreilly.com/library/view/xslt-cookbook/0596003722/ch08s05.html">data-driven stylesheets</a> is the way to go, starting with <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a>, the raise of <a href="https://rubyonrails.org">Ruby on Rails</a>, starting Groovy on Rails--Grails, groovy and the "method missing", "method missing" was heavily used in <a href="https://gorm.grails.org">gorm</a>, working on SpringData, SpringData and GORM are similar, joining <a href="https://objectcomputing.com">Object Computing</a>, staying small and be successful, with <a href="https://alligator.io/web-components/attributes-properties/">reflection</a> you will use more memory at the runtime, <a href="https://micronaut.io">micronaut</a> was started by <a href="https://twitter.com/graemerocher">Graeme Rocher</a>, micronaut is based on annotation processing, there is no "mobile native" development, on Android reflection is not used, better error messages was one of the design goals, micronaut comes with annotation-based <a href="https://docs.oracle.com/javase/7/docs/api/java/beans/Introspector.html">introspector</a>, micronaut generates a reflection-like API based on annotation processors, micronaut was announced in March 2018 and opensourced in May 2018, <a href="http://www.cdi-spec.org">CDI</a> was hard to implement without annotation, micronaut is similar to Spring, micronaut supports <a href="https://jcp.org/en/jsr/detail?id=330">JSR-330</a> and is TCK-compliant, the <a href="https://docs.micronaut.io/1.2.6/guide/index.html#datavalidation">Bean Validation</a> module, micronaut supports <a href="https://micrometer.io">micrometer</a>, micronaut teams grows at Oracle, <a href="https://code.visualstudio.com">Visual Studio Code</a> ships with <a href="https://www.graalvm.org">GraalVM</a> Extension Pack and Micronaut support, micronaut and <a href="https://helidon.io">Helidon</a> are developed by multiple teams, Oracle actively supports micronaut, micronaut and GraalVM are great fit, micronaut is complex at compile time, but simple at runtime, helidon will be able to use the <a href="https://micronaut-projects.github.io/micronaut-data/latest/guide/">Micronaut Data</a>, the JAX-RS with micronaut screencast, Object Computing, Google, Oracle are contributing to micronaut, </blockquote> <p>Graeme Rocher on twitter: <a href="https://twitter.com/graemerocher">@graemerocher</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 29 Apr 2021 11:00:00 +0100">Thu, 29 Apr 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_138.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_137"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_137">#<span itemprop="episodeNumber">137</span></a> (fake) reactive programming, project loom, chunked IO</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_137">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Lenny Primak (<a href="https://twitter.com/lprimak">@lprimak</a>) about: <blockquote> no aviation, applying at google and amazon, the online coding assessment at amazon, the lost test at amazon, starting as test engineer at <a href="https://www.payara.fish/">Payara</a>, <a href="https://www.testcontainers.org">TestContainers</a>, <a href="https://junit.org/junit5/">JUnit</a> 5, <a href="https://wiki.openjdk.java.net/display/loom/Main">project loom</a> impact on <a href="https://en.wikipedia.org/wiki/Functional_reactive_programming">reactive programming</a>, the killer use cases for reactive programming, <a href="https://developer.mozilla.org/en-US/docs/Glossary/Callback_function">callbacks</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">promises</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function">async-await</a> in JavaScript, <a href="https://javaee.github.io/glassfish/">Glassfish</a> <a href="https://javaee.github.io/grizzly/httpframework.html">grizzly</a> was the origin web server, doubling the work with nonblocking IO, chunking the IO to the size of the buffer, trying to <a href="https://github.com/apache/struts/commit/b06dd50af2a3319dd896bf5c2f4972d2b772cf2b">patch</a> the <a href="https://github.com/hazelcast/hazelcast">hazelcast</a>, payara enterprise and payara community, hazelcast could be used as <a href="https://zookeeper.apache.org">zookeeper</a>, <a href="https://www.youtube.com/watch?v=k5ItA7hrpjc">payara insight</a>, <a href="https://www.youtube.com/watch?v=IaGf3Geq-IM">payara cloud</a>, <a href="https://en.wikipedia.org/wiki/Oracle_Grid_Engine">sun grid engine</a> was the first cloud, <a href="http://www.adam-bien.com/roller/abien/entry/microprofile_java_ee_8_thinner">ThinWARs</a> vs. Helidon's and <a href="https://quarkus.io">quarkus</a> SkimmedJARs, thanks to <a href="https://balusc.omnifaces.org">Bauke Luitsen Scholtz</a> for accepting the JSF contributions, <a href="https://jakarta.ee">Jakarta EE</a> proxies are serializable, <a href="https://docs.oracle.com/javase/8/docs/platform/serialization/spec/input.html#a5903">readResolve</a> serializable method, the <a href="https://github.com/rzwitserloot/lombok/graphs/contributors">lombok contributors</a>, the <a href="https://github.com/payara/payara/graphs/contributors">payara contributors</a>, lombok's <a href="https://projectlombok.org/features/delombok">delombok</a>, <a href="https://tapestry.apache.org">apache tapestry</a>, </blockquote> <p>Lenny Primak on twitter: <a href="https://twitter.com/lprimak">@lprimak</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 22 Apr 2021 11:00:00 +0100">Thu, 22 Apr 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_137.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_136"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_136">#<span itemprop="episodeNumber">136</span></a> From ZX Spectrum over Clouds To Winning the Java Duke&#x27;s Choice Award</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_136">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Prof. dr. Matjaz Juric (<a href="https://twitter.com/matjazbj">@matjazbj</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a> 48k, loading apps from cassettes, playing games, enjoying <a href="https://en.wikipedia.org/wiki/Space_Invaders">Space Invaders</a>, switching from <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> to <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, switching to C-64, implementing application for exams at elementary school, starting to structure programs, getting serious with Schneider PC, creating bookkeeping applications with Borland Turbo Basic, <a href="https://en.wikipedia.org/wiki/DBase">dBASE</a> and <a href="https://en.wikipedia.org/wiki/Clipper_(programming_language)">clipper</a> were productive, visiting the <a href="https://en.wikipedia.org/wiki/CEBIT">CEBIT</a> in 1990-ties, daily linear algebra in a bus, C, <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, assembly, <a href="https://en.wikipedia.org/wiki/VAX">Vax</a> then <a href="https://www.java.com/en/">Java</a>, studying at the <a href="https://www.um.si/en/Pages/default.aspx">University of Maribor</a>, writing software to assess the value of companies, Ph.D. with <a href="https://en.wikipedia.org/wiki/Orbix_(software)">ORBIX</a>, Visigenic and RMI in Java, reading JavaReport magazines, writing performance about Java performance, RMI and <a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture">CORBA</a>, working with <a href="https://en.wikipedia.org/wiki/IBM_Hursley">IBM Hursley</a> on RMI-IIOP <a href="http://connectorz.adam-bien.com">implementation</a>, starting at <a href="https://www.uni-lj.si/university/">University of Ljubljana</a>, Java migration projects, <a href="https://javaee.github.io">Java EE</a> - the enterprise edition was fascinating, <a href="https://en.wikipedia.org/wiki/Wrox_Press">Wrox</a> publishing books, contributing performance chapter for Professional EJB book, writing <a href="https://www.amazon.com/Professional-J2EE-EAI-Matjaz-Juric/dp/186100544X/ref=cm_cr_arp_d_product_top?ie=UTF8">Professional J2EE EAI</a> book for wrox, <a href="https://en.wikipedia.org/wiki/Service-oriented_architecture">Service-oriented architecture</a> was a hot topic, orchestration is challenging for non-developers, decomposing application to services is useful, <a href="https://azure.microsoft.com/en-us/services/logic-apps/">Azure Logic Apps</a>, using <a href="https://www.jbpm.org">JBPM</a> for modelling long-running transactions, <a href="https://en.wikipedia.org/wiki/Business_Process_Model_and_Notation">BPMN</a> improved <a href="https://en.wikipedia.org/wiki/Business_Process_Execution_Language">BPEL</a>, writing <a href="https://www.amazon.com/WS-BPEL-Beginners-Guide-Matjaz-Juric-ebook/dp/B00NSRW4HY">WS-BPEL 2.0 Beginner's Guide</a> about Colaxa, then oracle BPEL suite, the advent of <a href="https://ee.kumuluz.com">KumuluzEE</a>, attending <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a>, proposing "the end of application servers" session, applying for Duke Choice Award, KumuluzEE is Java Duke's Choice Award Winner, attending the Java Duke Choice Award ceremony, making KumuluzEE kubernetes-aware, early KumuluzEE started with cloud-native EE extensions before availability of <a href="https://microprofile.io">MicroProfile</a>, </blockquote> <p>Prof. dr. Matjaz Juric on twitter: <a href="https://twitter.com/matjazbj">@matjazbj</a>, <a href="https://www.fri.uni-lj.si/en/employees/matjaz-branko-juric">Prof. dr. Matjaz Juric at University of Ljubljana</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 18 Apr 2021 11:00:00 +0100">Sun, 18 Apr 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_136.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_135"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_135">#<span itemprop="episodeNumber">135</span></a> Writing Boring Software: From WebLogic over GlassFish to Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_135">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Antonio Goncalves (<a href="https://twitter.com/agoncal">@agoncal</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">C 64</a> with tapes, writing thousands of <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> lines, the <a href="https://rr.pokefinder.org/wiki/Power_Cartridge">Power Cartridge</a> and <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, the "10 GOTO 10" trick, line renumbering with Power Cartridge, the <a href="https://en.wikipedia.org/wiki/Arkanoid">arkanoid</a> game, form BASIC to assembly, <a href="https://en.wikipedia.org/wiki/PEEK_and_POKE">Peeks and Pokes</a>, <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, <a href="https://en.wikipedia.org/wiki/Prolog">prolog</a> to <a href="https://link.springer.com/chapter/10.1007/BFb0035865">modulog</a> transpiler, programming chips in <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> for a telekom company, discovering <a href="https://www.java.com/en/">Java</a> and <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a>, the amazing <a href="https://en.wikipedia.org/wiki/Minitel">minitel</a>, minitel was huge in France, building Java Server Pages on WebLogic in 1999, joining WebLogic in London, digging wholes to find water, <a href="https://javaee.github.io">Java EE</a> 5 book with <a href="https://javaee.github.io/glassfish/">Glassfish</a> in 2007, Java EE 7 book in 2013, talking at Devoxx about <a href="https://junit.org/junit5/">JUnit</a> 4, moving from WebLogic to GlassFish, Java EE is the Esperanto of runtimes and servers, <a href="https://airhacks.fm/#episode_98">Marc Fleury</a> at Paris JUG, the unknown student from Iran, paying back by reviewing a book, self-publishing books, the Java EE 8 drama, the politics in Java EE 8 were stronger than technical innovation, the Java Injection spec, <a href="https://jcp.org/en/jsr/detail?id=330">JSR-330</a>, <a href="http://www.cdi-spec.org">CDI</a> drama, the road to <a href="https://quarkus.io">quarkus</a>, Grame Rocher mitronaut talk, from Spring over <a href="https://micronaut.io">Micronaut</a> to Quarkus, Practicing Quarkus and Understanding Quarkus books, Quarkus hot reload is impressive, <a href="https://www.graalvm.org">GraalVM</a> with Quarkus is just -Pnative, at start everything is already optimized with Quarkus, <a href="https://helidon.io">Helidon</a> is an interesting alternative to Quarkus, Helidon's CLI is useful, WebLogic customers get support for Helidon, </blockquote> <p>Antonio Goncalves on twitter: <a href="https://twitter.com/agoncal">@agoncal</a>, Antonio's github account <a href="https://github.com/agoncal">https://github.com/agoncal</a> and blog <a href="https://antoniogoncalves.org">antoniogoncalves.org</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 8 Apr 2021 11:00:00 +0100">Thu, 8 Apr 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_135.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_134"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_134">#<span itemprop="episodeNumber">134</span></a> How EJBGen, TestNG and ...Android happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_134">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Cedric Beust (<a href="https://twitter.com/cbeust">@cbeust</a>) about: <blockquote> Apple II was the first love, building an Apple II emulator, the <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a> domination, starting with <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, then switching to 6502 <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a>, cracking games for fun, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, starting to study Math because Computer Science was not available, working as administrator at school, switching to <a href="https://en.wikipedia.org/wiki/Amiga">Amiga</a> 1000 then Amiga 2000, joining the demo scene, the impact of remote applications as PhD, working with <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> and <a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture">CORBA</a>, C++ language involvement, meeting Bjaerne Stroustroup, evolving a language is hard, starting with <a href="https://www.java.com/en/">Java</a> 1996, joining Sun Labs in 1998, implementing "persona" at Sun Labs with Java, Sun was not the right place to work with Java, applying at Imprise to work on <a href="https://en.wikipedia.org/wiki/Borland_Enterprise_Server">Borland Application Server</a>, meeting the <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> developers at a party, joining WebLogic, C++ was hard to work with, Java was a fresh air, the EJB container team was 10 developers, writing <a href="https://docs.oracle.com/cd/E13222_01/wls/docs81/ejb/EJBGen_reference.html">EJBGen</a>, working on Java annotations, the relation between EJBGen and <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a>, the Attribute Oriented Programming with XDoclet, the metadata should be in the near of Java code, joining the <a href="https://jcp.org/en/home/index">JCP</a> to create Java Annotations, starting at Google to work with Adwords, motivated by shortcomings of <a href="https://junit.org/junit5/">JUnit</a>, <a href="https://github.com/cbeust/testng">TestNG</a> was created in 2004, WebLogic vs. <a href="https://www.ibm.com/cloud/websphere-application-platform/">WebSphere</a>, tests should depend on each other, <a href="https://github.com/cbeust/testng">TestNG</a> was an exploration of a modern framework, Google's mobile team were 5 people in 2005, starting a mobile Gmail project at Google on J2ME, Java Mobile, Google Android's acquisition, working with <a href="https://en.wikipedia.org/wiki/Andy_Rubin">Andy Rubin</a> to develop a Java-based OS, a team of 5 developers started to build Android, Android was strategic for Larry Page, users should be in power-this was the spirit of Android, Android development was "Top Secret", leaving Google to join a startup, building internal tools for supervision at LinkedIn, creating a calendar assistant at a startup, starting as "firefighter" at Yahoo in Java space, starting okta, okta is an "universal" SSO, implementing SSO across companies at okta, okta's backend is written in Java </blockquote> <p>Cedric Beust on twitter: <a href="https://twitter.com/cbeust">@cbeust</a>, Cedric's <a href="https://www.beust.com/weblog/">blog</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 31 Mar 2021 11:00:00 +0100">Wed, 31 Mar 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_134.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_133"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_133">#<span itemprop="episodeNumber">133</span></a> How lit-html happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_133">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Justin Fagnani (<a href="https://twitter.com/justinfagnani">@justinfagnani</a>) about: <blockquote> creating fireworks animations with <a href="https://en.wikipedia.org/wiki/Apple_IIe">Apple IIe</a>, games were hard to get for Apple IIe, "hello, world" with Apple <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, enjoying the un-productivity and making funk music, Basic, <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, Turbo C, <a href="https://www.java.com/en/">Java</a> and Python, starting with Java 0.9 and Applets, Microsoft introduced JScript (Visual J++) with major incompatibilities to Java, staring with Python and Django, Python over Ruby, studying an algorithm book for two weeks to pass the interview at Google, using FileMaker, starting at Google's HR department compensation planning system, creating the <a href="https://www.youtube.com/watch?v=rq0GeJXxfNI">AppMaker</a> during the "free" 20% Google time, AppMaker was shutdown in 2020, AppMaker is an low-code application builder, one-click deploy and one-click deploy, <a href="http://www.gwtproject.org">GWT</a> and Java were heavily used at Google, using Java's <a href="https://en.wikipedia.org/wiki/Rhino_(JavaScript_engine)">Rhino</a> to run JavaScript on the server, the AppMaker clone with <a href="https://dart.dev">Dart</a>, writing parsers and <a href="https://polymer-library.polymer-project.org">Polymer</a> Dart, Chrome supported Dart, leaving Dart before <a href="https://flutter.dev">flutter</a>, <a href="https://angular.io">Angular</a> Dart is very popular at the apps group at Google, wiz is the most popular web framework at google, joining the polymer team, html imports vs. JavaScript imports, <a href="https://github.com/WICG/webcomponents/blob/gh-pages/proposals/css-modules-v1-explainer.md">CSS-modules</a> and <a href="https://github.com/tc39/proposal-json-modules">JSON-modules</a> proposals, <a href="https://lit-html.polymer-project.org">lit-html</a> start to provide better tooling story for Polymer 3.0, lit-html vs. hyper-html, ES 6 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals">template literals</a> enable great performance for lit-html, Microsoft's <a href="https://www.fast.design">fast</a> framework was inspired by lit-html, lit-html source code fits on a slide, lit-html source size is close to 3kB, the first lit-html breaking change since 2017, the contractual obligation to support IE, lit-html vs. lit-element, lit-element offers a richer, reactive lifecycle, decreasing lock-in is lit's design philosophy, passing data between component trees, cross-DOM communication with <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events">Custom Events</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">Web Components</a> conventions are micro stacks, less and less needs for a JavaScript framework, chrome is shipping with import maps, web platform - and the tooling is optional, polymer was not the component host, polymer is popular inside google, lit-html is growing fast at google, Chrome OS is using lit-element, Chrome Dev Tools is implemented with lit-html </blockquote> <p>Justin Fagnani <a href="https://twitter.com/justinfagnani">@justinfagnani</a>, <a href="https://twitter.com/polymer">@polymer</a> and <a href="https://twitter.com/lit_html">@lit_html</a> on twitter</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 29 Mar 2021 11:00:00 +0100">Mon, 29 Mar 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_133.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_132"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_132">#<span itemprop="episodeNumber">132</span></a> Shakespeare, Satellites, Java and foojay.io</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_132">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> learning programming with <a href="https://en.wikipedia.org/wiki/PDP-8">PDP-8</a>, the landscape with sinus and cosinus curves, <a href="https://en.wikipedia.org/wiki/Commodore_64">C 64</a> for navy work, early PC for 35k, translating <a href="https://en.wikipedia.org/wiki/Fortran">fortran</a> to <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, math is great to describe universe as a machine, saving soldiers with equations, mathematics can analyze patterns from the past to predict the future, <a href="https://en.wikipedia.org/wiki/Java_virtual_machine">Java Virtual Machine</a> constantly optimises itself, recognising patterns from the <a href="https://en.wikipedia.org/wiki/Midcourse_Space_Experiment">msx</a> satellite's data, MSX was constantly scanning for missiles, algorithms for speed, translating math to programs, enjoying <a href="https://en.wikipedia.org/wiki/William_Shakespeare">William Shakespeare</a>, <a href="https://en.wikipedia.org/wiki/James_Joyce">James Joyce</a> and <a href="https://en.wikipedia.org/wiki/Dante_Alighieri">Dante</a>, editing books for oreilly and wrox, <a href="https://java.net">java.net</a> podcasts at <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a>, blogging for <a href="https://en.wikipedia.org/wiki/BEA_Systems">BEA</a>, <a href="https://en.wikipedia.org/wiki/Sun_Microsystems">Sun</a>, Intel, AOL, JVM is genius, <a href="https://www.graalvm.org">GraalVM</a> is amazing, <a href="https://foojay.io">foojay.io</a> becomes the new java.net 2.0, Geertjan Wielenga was hired to create foojay.io, </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 18 Mar 2021 11:00:00 +0100">Thu, 18 Mar 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_132.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_131"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_131">#<span itemprop="episodeNumber">131</span></a> I don&#x27;t hate your DTOs</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_131">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Christian Beikov (<a href="https://twitter.com/c_beikov">@c_beikov</a>) about: <blockquote> Nintendo, then Pentium 3, the <a href="https://en.wikipedia.org/wiki/RPG_Maker">rpg maker</a>, <a href="https://developers.google.com/blockly">blockly</a> - the visual programming language from google, switching to C programming at highschool, starting with <a href="https://www.java.com/en/">Java</a> 1.5 and Swing, Java was really appealing, using <a href="https://netbeans.apache.org">NetBeans</a> for development, developing a RPG game in Java, learning programming at <a href="https://de.wikipedia.org/wiki/H%C3%B6here_Technische_Lehranstalt">HTL</a>, studying software engineering at Vienna University, trying to implement an Operating System in Java, trying to start with Java <a href="https://en.wikipedia.org/wiki/Maxine_Virtual_Machine">Maxine</a>, <a href="http://jos.sourceforge.net">jos</a> the free Java Based Operating System, <a href="http://www.jnode.org">jnode</a> -"Java New Operating System Design Effort", starting with <a href="https://en.wikipedia.org/wiki/PHP">PHP</a>, trying to port Java "standard" library to PHP, Java Server Faces (JSF) offers a nice programming model, starting the <a href="https://blazebit.com/en/">blazebit</a> company at highschool, architecting <a href="https://javaee.github.io">Java EE</a> software at supply-chain management, initiating the opensource Blaze Persistence project, running JSF on <a href="https://www.ibm.com/cloud/websphere-application-platform/">WebSphere</a> classic was painful, SaS based JSF business, great <a href="https://www.primefaces.org">primefaces</a> experience, <a href="https://persistence.blazebit.com">Blaze-Persistence</a> on <a href="https://adambien.blog/roller/abien/entry/time_travelling_containers_10gb_microservices">80th airhacks.tv</a> switching from WebSphere to <a href="https://wildfly.org">Wildfly</a> 10, migrating from WildFly to <a href="https://www.okd.io">openshift</a> and <a href="https://www.postgresql.org">PostgreSQL</a>, starting another startup: <a href="http://www.sweazer.com">Sweazer</a> - the tinder for shopping with Java EE and <a href="https://cordova.apache.org">Apache Cordova</a>, working on <a href="https://hibernate.org">Hibernate</a> at <a href="https://www.redhat.com/en">RedHat</a>, Adobe <a href="https://phonegap.com">PhoneGap</a> is EoL, optimizing costs for RDS on AWS, clouds can be too expensive, WildFly worked perfectly in the clouds, WildFly ran on EC2, reducing the amount of data with blaze persistence entity views, using JSON aggregation functions to reduce network traffic by folding collections, using multi-set strategy to aggregate results into a JSON document, reducing the selected columns for performance, <a href="https://winand.at">Markus Winand</a> - the SQL ambassador, "Blaze-Persistence: Use Modern SQL like native JPA", indices over caching, the JPA "dot" operator produces inner joins, Blaze-Persistence query builder supports CTEs, <a href="https://en.wikipedia.org/wiki/Hierarchical_and_recursive_queries_in_SQL">Common Table Expressions</a> (CTE), Java Persistence API is productive enough for startups, Blaze-Persistence generates implementation for interfaces, Blaze-Persistence maps deep query result hierarchies into DTOs, Open Session in View concept was bad for performance, Blaze-Persistence supports Java Records, article: <a href="https://modern-sql.com/blog/2020-09/blaze-persistence">Blaze-Persistence: Use Modern SQL like native JPA</a> commercial support is available for Blaze-Persistence, </blockquote> <p>Christian Beikov on twitter: <a href="https://twitter.com/c_beikov">@c_beikov</a>, and Christian's company: <a href="https://blazebit.com/en/">blazebit.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 11 Mar 2021 11:00:00 +0100">Thu, 11 Mar 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_131.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_130"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_130">#<span itemprop="episodeNumber">130</span></a> Helidon CLI, Builds, Docker and Kubernetes</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_130">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Romain Grecourt (<a href="https://twitter.com/rgrecourt">@rgrecourt</a>) about: <blockquote> introduction of clean Java EE 6 API guidelines by Bill Shannon, the guidelines were implemented by Romain, the <a href="https://javaee.github.io/glassfish/wiki-archive/Maven%20Versioning%20Rules.html">Maven Versioning Rules by Bill Shannon</a>, predictable groupids, artifactids and package names in <a href="https://javaee.github.io/tutorial/">Java EE</a> 6, <a href="https://helidon.io">helidon</a> comes with a flat classloader, in helidon there is no distinction between helidon's and third party libraries, Java EE 7 fixed the uncompilable API issue, API jar is the implementation of the API, Java EE APIs from different vendors may vary, javax API was not meant to be universal, Bill Shannon was one of Solaris architects, the "Oracle Native Developer", <a href="http://glassfish.org">GlassFish</a> v2 and v3 was "bleeding edge", early GlassFIsh versions were built with Apache Ant, <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> multi-tenancy and vertical scaling, WebLogic build system modernization, migration from Jira and Mercurial to GitHub, migration from svn to git, GlassFish started with cvs then transition to svn, <a href="https://techbase.kde.org/Projects/MoveToGit/UsingSvn2Git">KDE's svn to git</a>, during the transition from Java EE GlassFish to <a href="https://jakarta.ee">Jakarta EE</a> GlassFish some history got lost, the "Java For Cloud" project, "Java For Cloud" is the ancestor of Helidon, weblogic 8 was very fast, GlassFish v3 was internally modularized, Helidon was inspired by Java 8 functional programming capabilities and expressjs, Java For Cloud was "Functional First and Reactive First", Java For Cloud became the Helidon Web Server, Helidon SE would compete with Vert.x, Reactive Programming is Helidon's implementation detail, Helidon supports Java Loom, Helidon SE is faster, than Helidon MicroProfile, CQRS might help with database scalability, <a href="https://helidon.io/docs/latest/#/about/05_cli">Helidon CLI</a> is written in Java and translated with <a href="https://www.graalvm.org">GraalVM</a> to a native executable, vuejs CLI developer experience inspired Helidon CLI, GraalVM: goodness of Go and greatness of Java, Helidon CLI will support pluggable extensions, Helidon comes with home-made templating framework, <a href="http://wad.sh">wad.sh</a> - the "Watch and Deploy" tool, <a href="https://github.com/GoogleContainerTools/jib">jib</a> - demon-less <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a> image builds, incremental Docker re-builds, Helidon and direct support for Kubernetes, the minimilastic, beatiful YAML, <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a> and Attribute Oriented Programming, maven has no knowledge about plugins, maven vs. gradle, the Thirsty Bear GlassFish party, </blockquote> <p>Romain Grecourt on twitter: <a href="https://twitter.com/rgrecourt">@rgrecourt</a>, <a href="https://helidon.slack.com">helidon's slack channel</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 3 Mar 2021 11:00:00 +0100">Wed, 3 Mar 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_130.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_129"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_129">#<span itemprop="episodeNumber">129</span></a> How Caffeine Cache Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_129">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ben Manes (<a href="https://twitter.com/benmanes">@benmanes</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/TRS-80">TRS 80</a>, Tandy RadioShack 80 computer, never push the red button, playing <a href="https://en.wikipedia.org/wiki/Reader_Rabbit">Reader Rabbit</a> on 287, the fascination with hardware, the experimentation with water cooling and thermopads, learning <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> and <a href="https://www.java.com/en/">Java</a> at the University in Chicago, starting with Java 1.4 at school, building corporate travel systems with <a href="https://en.wikipedia.org/wiki/Java_version_history">Java 5</a>, the six hour interview at Google with a binary search tree, working on CRM tool at Google, building an enterprise version of iGoogle in Java and <a href="http://www.gwtproject.org">GWT</a>, using Guice and <a href="https://code.google.com/archive/p/google-gin/">GWT GIN</a> to implement iGoogle.next, using a <a href="https://www.perforce.com">perforce</a> monorepo, perforce was replaced by internal system called "paper", using blaze and <a href="https://en.wikipedia.org/wiki/Bazel_(software)">bezel</a> build system, bezel is more distributed, one build file per package, starting at a logistics company with Java 15, the <a href="https://www.eclipse.org/jetty/">jetty</a>, <a href="https://en.wikipedia.org/wiki/Jakarta_RESTful_Web_Services">JAX-RS</a>, <a href="https://www.keycloak.org">keycloak</a>,<a href="https://resteasy.github.io">RESTEasy</a>, <a href="https://www.jooq.org">jooq</a> and google's <a href="https://github.com/google/guice">guice</a>, starting to write a cache in 2008, using <a href="https://memcached.org">memcached</a> and Java Message System (<a href="https://en.wikipedia.org/wiki/Java_Message_Service">JMS</a>) for synchronization, Java 5 and the Concurrent Linked HashMap / LRU, building Google <a href="https://github.com/google/guava/wiki/CachesExplained">Guava cache</a>, Concurrent HashMap was used by Apache <a href="https://cassandra.apache.org">Cassandra</a>, Google's MapMaker is predecessor to Guava Cache, <a href="https://github.com/ben-manes/caffeine">Caffeine</a> work started in 2008, <a href="https://www.ehcache.org">EHCache</a> was not concurrent back then, Java 5 concurrent HashMap didn't scale well, Java 5 regions in HashMap were too big, there were too many entries per segment, Java 8 uses small hash bins and scales better, Caffeine builds on top of Java 8 ConcurrentHashMap, LRU and every reads is a write, cache policy can be lossy, using dynamically growing data structures, Caffeine uses Java Collections, Caffeine looks like a HashMap, Caffeine adapts automatically to the read-, write-, or mixed workload, Caffeine's configuration is descriptive, refresh policies, cache loader, expiration, asynchronous behavior, listeners, soft- and weak references were supposed to be the solution to everything, hit rates monitoring, <a href="https://micrometer.io">micrometer</a>, <a href="https://www.dropwizard.io/en/latest/">dropwizard</a>, <a href="https://prometheus.io">prometheus</a> monitoring adapters are available, reasearch papers tend to lie, working with <a href="https://github.com/cockroachdb/cockroach">cockroachDB</a> committers, <a href="https://infinispan.org">Infinispan</a> uses Caffeine, the bias against pre-made stack </blockquote> <p>Ben Manes on twitter: <a href="https://twitter.com/benmanes">@benmanes</a>, Ben's GitHub account: <a href="https://github.com/ben-manes">github.com/ben-manes</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 25 Feb 2021 11:00:00 +0100">Thu, 25 Feb 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_129.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_128"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_128">#<span itemprop="episodeNumber">128</span></a> From Competitive Gaming to Java EE API Mavenization</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_128">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Romain Grecourt (<a href="https://twitter.com/rgrecourt">@rgrecourt</a>) about: <blockquote> started with <a href="https://en.wikipedia.org/wiki/Apple_II">Apple 2</a> Computer at the age of 8, starting games from command line, writing HTML on Pentium 90, the blink and <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/marquee">marquee</a> tags, creating a website with JavaScript and HTML and <a href="https://en.wikipedia.org/wiki/Netscape">Netscape</a> Composer, <a href="http://www.icesoft.org/java/projects/ICEfaces/overview.jsf">icefaces</a> and <a href="http://res.icesoft.org/newsletter/61_Release.html">icebrowser</a> written in Java, from animated GIFs to Macromedia <a href="https://en.wikipedia.org/wiki/Adobe_Flash">Flash</a>, creating a website for a hockey club in Flash, computer parts for website creation, creating computers from parts, sports with Counter-Strike, blocking the telephone line with a modem, finding opponents on QuakeNet IRC, becoming an admin on a channel with a bot, starting with IRC scripting, winning Counter-Strike tournaments, writing a "bouncer" bot, installing a dedicated Half-Life server on <a href="https://en.wikipedia.org/wiki/Mandriva_Linux">mandriva</a> linux, redoing the Counter-Strike menu in Flash for the team website, <a href="https://en.wikipedia.org/wiki/Programmable_logic_controller">Programmable logic controller (PLC)</a> based automation assignment, the desire for 100 FPS, creating a selective cat trap door with magnets and using <a href="https://en.wikipedia.org/wiki/SolidWorks">SolidWorks</a>, C programming to control a disk drive motor, starting at the wrong college, switching to software engineering college, starting with "french" <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> then switching to the real thing, working with <a href="https://www.wireshark.org">wireshark</a> and assembler, C, C++, Linux, Emacs over Java, reading stack traces is great, starting a web services projects with Java and <a href="http://axis.apache.org/axis2/java/core/">Axis 2</a>, starting with <a href="https://maven.apache.org">Maven</a> 1, scripting a <a href="https://en.wikipedia.org/wiki/Tree_shaking">tree shaking</a> functionality for JAR creation with make, starting at <a href="https://www.serli.com">Serli</a> to implement the <a href="https://javaee.github.io/tutorial/">Java EE</a> security spec at <a href="https://jonas.ow2.org">Jonas Application Server</a>, working with <a href="http://glassfish.org">GlassFish</a> to support application versioning, working with <a href="https://netbeans.apache.org">NetBeans</a>, Maven 2 and Subversion, becoming a Maven and NetBeans fanboy, Serli worked with <a href="https://airhacks.fm/#episode_23">Alexis MP (#23 From GlassFish to Java in Google Cloud)</a> GlassFish application versioning was announced at JavaONE, starting at Oracle at GlassFish team in Prague, implementing <a href="https://www.osgi.org">OSGi</a> and <a href="https://javaee.github.io/hk2/">HK2</a>, specialising at GlassFish Maven 3 builds, packaging the Java EE API jars, Java EE 6 API without the implementation, introducing conventions for Java EE packaging, </blockquote> <p>Romain Grecourt on twitter: <a href="https://twitter.com/rgrecourt">@rgrecourt</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 18 Feb 2021 11:00:00 +0100">Thu, 18 Feb 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_128.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_127"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_127">#<span itemprop="episodeNumber">127</span></a> How KumuluzEE Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_127">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jan Meznaric (<a href="https://github.com/jmezna">jmezna</a>) about: <blockquote> Windows 98 on Pentium 1, recording a Windows 98 screen with an old VHS camera, enjoying MS Paint and educational games, starting programming with <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a> and "Happy New Year", the Linux fascination, creating <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> based websites, making a barcode scanner working during vacations in <a href="https://dotnet.microsoft.com">.net</a>, the superstar programmer at high school, starting with <a href="https://www.java.com/en/">Java</a> 2, enjoying Java EE and <a href="http://glassfish.org">GlassFish</a>, joining the Java Enterprise research program at the university, <a href="https://www.jboss.org">JBoss</a>, input validation with Java Server Pages (JSP), <a href="https://www.drools.org">Drools</a> and <a href="https://www.jbpm.org">JBPM</a>, business rules are too hard for business users, Drools debugging is a challenge, the <a href="https://www.uni-lj.si/university/">University of Ljubljana</a>, the microservice framework for Java Enterprise solutions, optimising Java EE for cloud native architecture, Glassfish, <a href="https://www.payara.fish">Payara</a>, <a href="https://www.wildfly.org">WildFly</a> vs. <a href="https://ee.kumuluz.com/">KumuluzEE</a>, "java -jar glassfish.jar", KumuluzEE committers at <a href="https://airhacks.com">airhacks.com</a> MUC workshops, KumuluzEE ships with the smallest jar, KumuluzEE <a href="https://en.wikipedia.org/wiki/Jakarta_Persistence">JPA</a> / CRUD app starts in a few seconds, exploded JARs, FAT jars and layered JARs are coming, KumuluzEE supports <a href="https://microprofile.io">MicroProfile</a>, KumuluzEE supports <a href="https://etcd.io">etcd</a> and <a href="https://www.consul.io">consul</a>, KumuluzEE discovers <a href="https://kubernetes.io/">kubernetes</a> services, KumuluzEE comes with useful extensions, <a href="https://ethereum.org/en/">ethereum</a> integration, <a href="https://github.com/kumuluz/kumuluzee-feature-flags">feature flags support</a>, <a href="https://github.com/kumuluz/kumuluzee-version">the version export</a>, subscribing to <a href="https://en.wikipedia.org/wiki/Blockchain">blockchain</a> events, KumuluzEE comes with <a href="https://ee.kumuluz.com/support/">commercial support</a>, KumuluzEE uses <a href="https://smallrye.io">smallrye</a> to implement some MicroProfile APIs, tree vs. flat <a href="https://istio.io/latest/docs/tasks/observability/metrics/">metrics</a>, <a href="https://kafka.apache.org/documentation/#configuration">configuration</a> change events, peer to peer microservice update strategies, Java project <a href="https://en.wikipedia.org/wiki/JXTA">JXTA</a>, wild pigs, peer to peer and octoberfest, creating a <a href="https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/">Kubernetes ingest controllers</a> </blockquote> <p>Jan Meznaric on github: <a href="https://github.com/jmezna">jmezna</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 15 Feb 2021 11:00:00 +0100">Mon, 15 Feb 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_127.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_126"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_126">#<span itemprop="episodeNumber">126</span></a> JavaFX Everywhere ...also in App Stores</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_126">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Johan Vos (<a href="https://twitter.com/johanvos">@johanvos</a>) about: <blockquote> <a href="https://gluonhq.com/products/mobile/">Gluon Mobile,</a> <a href="https://openjfx.io">JavaFX</a> was supposed to replace Swing, Swing and AWS were created in a hurry, JavaFX is a significant improvement, <a href="https://www.java.com/en/">Java</a> started on <a href="https://adambien.blog/roller/abien/entry/star_7_feat_james_gosling">Star7</a>, JavaFX ran on an iPad during <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a>, the source of JavaFX was already in a good shape, creating native apps with <a href="https://www.graalvm.org">GraalVM</a> and JavaFX, JavaFX does not require to install Java on mobile device, <a href="https://github.com/oracle/graal/tree/master/substratevm">SubstrateVM</a> helps with cross-compiling Java to native code, <a href="https://en.wikipedia.org/wiki/Apache_Cordova">Apache Cordova</a>, shipping JavaFX applications to AppStores, <a href="https://github.com/HanSolo/SpaceFX">SpaceFX</a>, JavaFX on <a href="https://www.raspberrypi.org">RaspberryPI</a>, JavaFX on an iPhone emulator, JavaFX provides similar experience to <a href="https://flutter.dev">flutter</a>, the TooManyLanguagesExceptions, the <a href="https://gcemetery.co">Google Cemetery</a>, <a href="https://gluonhq.com/products/mobile/attach/">Gluon Attach</a> framework helps with sensor integration, JavaFX's <a href="https://openjfx.io/javadoc/11/javafx.web/javafx/scene/web/WebView.html">WebView</a> uses <a href="https://webkit.org">WebKit</a> on iOS, building a hybrid app with <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">WebComponents</a> and JavaFX, using CustomEvents to communication between Web Components and JavaFX, on desktop JavaFX uses recent WebKit builds, native vs. cross platform look and feel, JavaFX ships with material design based look and feel, JavaFX is GPU accelerated on mobile, JavaFX uses <a href="https://en.wikipedia.org/wiki/OpenGL">OpenGL</a>, <a href="https://en.wikipedia.org/wiki/EGL_(API)">EGL</a>, <a href="http://openjdk.java.net/jeps/382">JEP 382: New macOS Rendering Pipeline</a>, Apple's M1 Chip simplifies JavaFX development, JavaFX can run as Java application, or as native executable, JavaFX transpiles with GraalVM to native application, JavaFX transpiles to native C iOS code, the <a href="https://microprofile.training">microprofile.training</a> covering a <a href="https://github.com/AdamBien/microprofile.training/">blog engine</a>, Gluon provides commercial support and roadmap priority shifting, <a href="https://openjfx.io">openJFX</a> vs. JavaFX is like <a href="https://openjdk.java.net">openJDK</a> vs Java, Gluon Mobile is a commercial product, <a href="https://gluonhq.com/products/cloudlink/">Gluon CloudLink</a> integrates with <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> runtimes, <a href="https://fnproject.io">fnproject</a> is used as serverless platform, <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>G<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>l<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>u<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>o<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>n<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a> <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>C<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>l<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>o<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>u<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>d<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>l<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>i<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>n<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>k<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a> <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>c<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>o<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>u<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>l<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>d<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a> <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>u<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>s<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>e<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a> <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a> <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>M<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>i<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>c<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>r<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>o<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>P<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>r<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>o<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>f<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>i<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>l<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>e<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a> <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>G<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>r<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>a<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>p<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>h<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>Q<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>L<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a> <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>a<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>s<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a> <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>b<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>a<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>c<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>k<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>e<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>n<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>d<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a>,<a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS"></a> <a href="https://www.odata.org">ODATA</a> is useful to integrate frontend with data-rich backends, <a href="https://olingo.apache.org">Apache Olingo</a>, Oracle is a great steward of Java, </blockquote> <p>Johan Vos on twitter: <a href="https://twitter.com/johanvos">@johanvos</a>, Johan's company: <a href="https://gluonhq.com/">Gluon</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 4 Feb 2021 11:00:00 +0100">Thu, 4 Feb 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_126.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_125"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_125">#<span itemprop="episodeNumber">125</span></a> How Struts 2 Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_125">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Lukasz Lenart (<a href="https://twitter.com/lukaszlenart">@lukaszlenart</a>) about: <blockquote> Playing platform games on <a href="https://en.wikipedia.org/wiki/Commodore_VIC-20">Commodore VIC-20</a>, the desire to write a game, starting to program on <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore C 64</a> in <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, the airhacks.fm podcast episode about magic: <a href="https://airhacks.fm/#episode_106">#106 The Open-Closed Principle and Lots of Magic</a>, a series of if-else statements, learning <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> then <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a> on a PC, writing network tools in Delphi, starting at <a href="https://www.zus.pl">ZUS</a> and Delphi Automotive Poland automotive, working as network engineer with <a href="https://en.wikipedia.org/wiki/NetWare">Novell Netware</a>, running <a href="https://www.java.com/en/">Java</a> on Novell Netware, Java, <a href="https://en.wikipedia.org/wiki/NetIQ_eDirectory">Netware Directory Services</a> (NDS) and LDAP, <a href="https://en.wikipedia.org/wiki/Eric_Schmidt">Eric Schmidt</a> was CEO at Novell, the Java San Francisco Framework from IBM, using <a href="https://en.wikipedia.org/wiki/JBuilder">JBuilder</a> for NDS Java development, learning <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> for production monitoring, using PHP with Common Gateway Interface <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a>, migrating from PHP to Java, JSP and <a href="https://struts.apache.org">Struts</a>, discovering robotics as automative engineer, the <a href="https://www.kuka.com">kuka</a> robots company, combining Struts 1 with Enterprise Java Beans (EJB) for pragmatic reasons, using Struts and Tiles, building production forecasts with Struts 1 for a Manufacturing Execution System (MES), <a href="https://netbeans.apache.org">NetBeans</a> Days in Warsaw, Gdansk and Posen, <a href="https://www.jboss.org">JBoss</a> project for dial tone discovery, starting at <a href="https://softwaremill.com">SoftwareMill</a>, SoftwareMill created <a href="https://hibernate.org">Hibernate</a> <a href="https://hibernate.org/orm/envers/">Envers</a>, the first contribute to Struts 2 and NetBeans, WebWork was the beginning of Struts 2, WebWork is used by Jira - a special version of Struts, Sony Europe is using Struts, a basic Struts 2 application, Struts 2 and MVC implementation, Struts 2 support <a href="http://www.cdi-spec.org">CDI</a> Dependency Injection, <a href="https://github.com/vuejs/vue/graphs/contributors">vuejs</a> vs. struts 2 contributions comparison, using Java backend web frameworks as SSR / Server Side Rendering, disconnecting JSPs from Struts, <a href="https://microprofile.io">MicroProfile</a> Training workshop - rewriting the blog engine in a workshop: <a href="http://microprofile.training">https://microprofile.training</a>, it doesn't make any sense to run wikipedia as a SPA, the equifax <a href="https://cwiki.apache.org/confluence/display/WW/S2-045">remote code execution</a> and the <a href=" https://github.com/apache/struts/commit/b06dd50af2a3319dd896bf5c2f4972d2b772cf2b">patch</a>, the OGNL was used to open a port, is there a reason to learn Scala if you Java 16? <a href="https://quarkus.io">quarkus</a> as the next generation runtime, </blockquote> <p>Lukasz Lenart on twitter: <a href="https://twitter.com/lukaszlenart">@lukaszlenart</a>, Lukasz' <a href="https://lenart.org.pl">blog</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 28 Jan 2021 11:00:00 +0100">Thu, 28 Jan 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_125.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_124"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_124">#<span itemprop="episodeNumber">124</span></a> Databases and Business Analysts</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_124">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ben Brumm (<a href="https://twitter.com/databasestar">@databasestar</a>) about: <blockquote> a macintosh with a color monitor, playing games like <a href="https://en.wikipedia.org/wiki/Time_Crisis">time crisis</a>, sim city, on Pentium, pixel perfect vs responsive design, starting "programming" with Microsoft Frontpage, writing simple programs with <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a>, starting <a href="https://www.java.com/en/">Java</a> in 2001, writing a Java app to search for file on CDs writing Java CLI with <a href="https://www.graalvm.org">GraalVM</a>, starting with Oracle Database and SQL Server, starting as a business analyst, using <a href="https://www.quest.com/toad/">toad</a>, <a href="https://www.jetbrains.com/datagrip/">datagrip</a>, <a href="https://eggerapps.at/postico/">postico</a>, and SQLplus for database development, using SQL developer and <a href="https://en.wikipedia.org/wiki/PL/SQL">PL/SQL</a> developer, using <a href="https://code.visualstudio.com">Visual Studio Code</a> for database development, skipping business analysts and talking directly to users, writing code forces you to think harder, nice Java objects vs. highly normalized database, denormalizing database for performance, structural changes to database take too long, using <a href="https://flywaydb.org">FlywayDB</a> and <a href="https://www.liquibase.org">liquibase</a> for automated database deployments, when DDLs take too long, dealing with structural rollbacks in DB and the <a href="https://www.red-gate.com/products/">red gate tools</a>, <a href="https://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_editions.htm#ADFNS020">Oracle Editions</a> and <a href="https://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_flashback.htm#g1026131">Flashbacks</a>, increasing PostgreSQL popularity, using <a href="https://www.postgresql.org">PostgreSQL</a> JSONB functionality as extensions column, using Oracle <a href="https://docs.oracle.com/cd/E11882_01/server.112/e16545/xstrm_intro.htm#XSTRM72647">XStream</a>, using <a href="https://en.wikipedia.org/wiki/Change_data_capture">Change Data Capture (CDC)</a> and <a href="https://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_flashback.htm#g1026131">Debezium</a>, Ben's blog: <a href="https://www.databasestar.com">www.databasestar.com</a> and book: <a href="https://www.amazon.com/Beginning-Oracle-SQL-Database-18c/dp/148424429X">Beginning Oracle SQL for Oracle Database 18c: From Novice to Professional</a> </blockquote> <p>Ben Brumm on twitter: <a href="https://twitter.com/databasestar">@databasestar</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 25 Jan 2021 11:00:00 +0100">Mon, 25 Jan 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_124.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_123"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_123">#<span itemprop="episodeNumber">123</span></a> Plasma is the new &quot;Hello,World&quot;</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_123">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Bert Jan Schrijver (<a href="https://twitter.com/bjschrijver">@bjschrijver</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a>, playing <a href="https://en.wikipedia.org/wiki/Paperboy_(video_game)">Paper Boy</a>, winter games - the joystick destroyer, <a href="https://en.wikipedia.org/wiki/BASIC">BASIC</a>, print, <a href="https://en.wikipedia.org/wiki/Sprite_(computer_graphics)">sprites</a> peek and poke, resilience patterns and fault tolerance motivated by a stronger brother, writing text based adventures in BASIC, programming Turbo <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> on a <a href="https://en.wikipedia.org/wiki/Intel_80486">486</a>, smoking computers, joining the demo scene and the 28k modem, generating samples - the SVG for music, staring with <a href="https://www.java.com/en/">Java</a> at the university, experimentation with Java Applets, enjoying static imports with Java 5, plasma with an Java Applet, flood prevention simulation in Java, building a text classification system in Java, the beginning of AI with Java, using Java Server Pages and Servlets at an insurance company, combining <a href="https://groovy-lang.org">Groovy</a> with EJB 3, starting OpenValue with 25 people, migration from Java EE servers to <a href="https://quarkus.io">quarkus</a>, Quarkus--the comeback of Java EE, WildFly Swarm and <a href="https://airhacks.fm/#episode_113">"I don't want your Thorntail"</a> podcast episode, Guild42 <a href="https://www.adam-bien.com/roller/abien/entry/serverless_java_slideless_guild42_session">Serverless Java #slideless</a> presentation, <a href="https://www.graalvm.org">GraalVM</a> made Java appealing again in the server space, EJB pooling could solve <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> cold start problems, from developer the manager - and the end of plasmas, Bert's plasma in JavaScript: <a href="https://github.com/bertjan/html5-canvas-js-plasma">github.com/bertjan/html5-canvas-js-plasma</a>, <a href="https://openvalue.nl">OpenValue</a> is hiring, </blockquote> <p>Bert Jan Schrijver on twitter: <a href="https://twitter.com/bjschrijver">@bjschrijver</a> and <a href="https://github.com/bertjan">github.com/bertjan</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Thu, 14 Jan 2021 11:00:00 +0100">Thu, 14 Jan 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_123.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_122"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_122">#<span itemprop="episodeNumber">122</span></a> Java CLI Apps, Builds and jbang</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_122">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Max Rydahl Andersen (<a href="https://twitter.com/maxandersen">@maxandersen</a>) about: <blockquote> <a href="https://github.com/maxandersen/jbang">JBang</a>, <a href="https://openjdk.java.net/jeps/330">JEP 330</a>: Launch Single-File Source-Code Programs, <a href="https://github.com/holgerbrandl/kscript">kscript</a> and <a href="https://quarkus.io">quarkus</a> <a href="https://quarkus.io/blog/quarkus-1-0-0-Final-bits-are-here/">releases</a>, the killer feature of <a href="https://openjfx.io">JavaFX</a>, starting JavaFX app with jbang, modern <a href="https://www.java.com/en/">Java</a> developers don't like to play with legacy <a href="https://www.java.com/en/">Java</a>Script, building Java apps with jbang, jbang and github actions, <a href="http://arquillian.org/modules/shrinkwrap-shrinkwrap/">ShrinkWrap</a>, <a href="https://jitpack.io">jitpack</a>, Java <a href="https://docs.oracle.com/javase/9/jshell/introduction-jshell.htm#JSHEL-GUID-630F27C8-1195-4989-9F6B-2C51D46F52C8">jshell</a> is lacking system properties, arguments and debug support, running Quarkus CLI with jbang without Java installed, jbang--the Java launcher for the 2020-ties, quarkus with <a href="https://quarkus.io/guides/qute">Qute</a> as replacement for Java's nashorn, transitive script dependencies, jbang with quarkus could become a solution for <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a>, simplified approach to build and test Java agents with jbang, <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/vm/class-data-sharing.html">Java Class Data Sharing</a> with jbang, Java Flight Recorder support in jbang, stress testing with Java Micro Harness <a href="https://github.com/openjdk/jmh">(JMH)</a>, <a href="https://twitter.com/robilad">Dalibor Topic</a>, dekorate project for generation of <a href="https://kubernetes.io/">kubernetes</a> and <a href="https://www.okd.io">openshift</a> resources, quarkus code starts for project templates </blockquote> <p>Max Rydahl Andersen on twitter: <a href="https://twitter.com/maxandersen">@maxandersen</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 11 Jan 2021 11:00:00 +0100">Mon, 11 Jan 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_122.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_121"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_121">#<span itemprop="episodeNumber">121</span></a> Java and The Constructive Approach to Innovation</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_121">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Sharat Chander (<a href="https://twitter.com/Sharat_Chander">@Sharat_Chander</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_VIC-20">Commodore VIC 20</a>, a Hello, World for the sister, moving to <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a> and <a href="https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A">Ti 99</a>, learning <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a> and <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a>, "the world is your oyster", AR and VR, 3rd world economics, <a href="https://airhacks.fm/#episode_19">episode with Scott McNealy</a> of Sun Microsystems, <a href="https://www.java.com/en/">Java</a> - and the participation matters, sherpas and teachers, <a href="https://airhacks.tv">airhacks.tv</a> and <a href="https://airhacks.fm">airhacks.fm</a> podcast episode, <a href="https://airhacks.fm/#episode_50">#50 The Jakarta EE / MicroProfile and WebStandards Startup with Matthias Reining</a>, <a href="https://airhacks.fm/#episode_73">#73 The "MDN First" Approach with Web Components with Matthias Reining</a>, People First, Technology Second, working for Bell Atlantic, phones as gateways to applications and solutions, Bell, GTE and Nynex became Verizon, attending the first <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a> in 1996, starting at Sun Microsystems at the <a href="https://netbeans.apache.org">NetBeans</a> team, switching to <a href="https://www.oracle.com/technical-resources/articles/javase/jscoverview.html">Java Studio Creator</a>, episode with <a href="https://airhacks.fm/#episode_8">#8 JVM Innovation with Graal with Jaroslav Tulach</a>, Sun's Project Rave, Java Studio Creator moved back as <a href="https://netbeans.org/features/java/swing.html">Matisse</a> to NetBeans, <a href="https://netbeans.org/community/articles/interviews/Roman_Strobl.html">Roman Strobl</a> - the NetBeans evangelist, the tasks of the JavaONE program chair, <a href="https://en.wikipedia.org/wiki/John_Gage">John Gage</a> and JavaONE keynotes, the minute of silence for Steve Jobs at JavaONE keynote, <a href="https://developer.oracle.com/developer-live/">Oracle Developer Live</a> and Java, growing Java User Groups and Java Champions program, the Product Manager for Java, cool vs. constructive, constructive approaches to innovation JavaONE and the after dark party, <a href="https://inside.java">inside.java podcast</a>, </blockquote> <p>Sharat Chander on twitter: <a href="https://twitter.com/Sharat_Chander">@Sharat_Chander</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 4 Jan 2021 11:00:00 +0100">Mon, 4 Jan 2021 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_121.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_120"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_120">#<span itemprop="episodeNumber">120</span></a> Reactive Programming, Helidon, Kafka and Project Loom</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_120">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Daniel Kec (<a href="https://twitter.com/DanielKec">@DanielKec</a>) about: <blockquote> Java / Jakarta API for JSON Binding (<a href="http://json-b.net">JSON-B</a>), Java / Jakarta API for JSON Processing (<a href="https://eclipse-ee4j.github.io/jsonp/">JSON-P</a>), <a href="https://github.com/eclipse-ee4j/yasson">yasson</a>, Java / Jakarta Architecture for XML Binding (<a href="https://eclipse-ee4j.github.io/jaxb-ri/">JAXB</a>), <a href="https://eclipse-ee4j.github.io/jersey/">Eclipse Jersey</a>, <a href="https://javaee.github.io/jsonb-spec/">Jason's Binding (logo)</a>, Sun's spirit and the first day at Oracle, <a href="https://docs.oracle.com/cd/A91202_01/901_doc/ifs.901/a75172/getstart.html">Oracle Internet File System</a>, Running <a href="https://www.java.com/en/">Java</a> in the database: Oracle and the <a href="https://docs.oracle.com/cd/F49540_01/DOC/java.815/a64686/01_intr4.htm">Aurora</a> JVM, <a href="https://docs.oracle.com/cd/E12095_01/doc.10303/e12089/admsync.htm">Oracle Database Lite</a> on Palm Pilot, <a href="https://en.wikipedia.org/wiki/IBM_Developer">IBM alphaworks</a>, <a href="https://www.infoworld.com/article/2077256/javasoft-unveils-developer-connection-program.html">Java Developer Connection</a> from Sun, the first day at Oracle, fixing <a href="https://javaee.github.io/metro/">Metro</a> bugs, meeting Jaroslav Tulach in the kitchen, <a href="https://airhacks.fm/#episode_8">episode</a> with Jaroslav Tulach, listening to <a href="https://en.wikipedia.org/wiki/Nanowar_of_Steel">Nanowar</a>, implementing a <a href="https://helidon.io">Helidon</a> - Apache <a href="https://kafka.apache.org">Kafka</a> integration, <a href="https://microprofile.io">MicroProfile</a> Reactive Messaging, <a href="https://smallrye.io/smallrye-reactive-messaging/smallrye-reactive-messaging/2/connectors/connectors.html">Incoming and Outgoing</a>, implementing <a href="https://github.com/eclipse/microprofile-reactive-streams-operators">MicroProfile Reactive Operators</a> for Helidon, <a href="https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/Flow.html">Java 9 reactive flow</a> API, Reactive programming in Java, Reactive Streams for JVMs specification, David Karnok, <a href="https://twitter.com/akarnokd">https://twitter.com/akarnokd</a>, the <a href="https://www.reactivemanifesto.org">reactive manifesto</a>, helidon implements the reactive messaging for MicroProfile spec, episode with SAP: <a href="https://airhacks.fm/#episode_118">How to Deal With Java Dependencies</a> helidon and Java's <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a> integration, <a href="https://www.adam-bien.com/roller/abien/entry/emitting_jax_rs_messages_into">MicroProfile emitter</a>, Java 9 <a href="https://docs.oracle.com/javase/9/docs/api/java/util/concurrent/SubmissionPublisher.html">SubmissionPublisher</a> and MicroProfile <a href="https://download.eclipse.org/microprofile/microprofile-reactive-streams-operators-1.0/apidocs/org/eclipse/microprofile/reactive/streams/operators/PublisherBuilder.html">PublisherBuilder</a>, <a href="https://quarkus.io">quarkus</a> reactive implementation: <a href="https://smallrye.io/smallrye-mutiny/">mutiny</a>, <a href="https://smallrye.io/smallrye-mutiny/">mutiny</a> attempts to be more user friendly, Project Loom and reactive programming, reactive programming is practical for messaging, episode #108 about <a href="https://airhacks.fm/#episode_108">CORBA, gRPC, OSGI, vert.x, mutiny, Reactive Programming and Quarkus with Clement Escoffier</a>, helidon runs on <a href="https://netty.io">Netty</a>, one event loop should be enough, helidon also supports reactive Java Messaging Service (<a href="https://en.wikipedia.org/wiki/Java_Message_Service">JMS</a>), <a href="https://www.oracle.com/cloud-native/streaming/">Oracle Cloud Infrastructure Streaming</a>, <a href="https://docs.oracle.com/cd/E11882_01/server.112/e11013/aq_intro.htm#ADQUE0100">Oracle Advanced Queue (AQ)</a>, <a href="https://medium.com/helidon/websockets-in-helidon-mp-48259cf808f1">helidon WebSocket integration</a>, using <a href="https://helidon.io/docs/latest/#/mp/websocket/01_overview">WebSockets</a> for reactive communication, <a href="https://blogs.oracle.com/javamagazine/reactive-streams-programming-over-websockets-with-helidon-se">Reactive streams programming over WebSockets with Helidon SE</a>, helidon integrates conveniently <a href="https://de.wikipedia.org/wiki/Java_API_for_RESTful_Web_Services">Java API for RESTful Web Services JAX-RS</a> / <a href="https://en.wikipedia.org/wiki/Jakarta_RESTful_Web_Services">Jakarta RESTful Web Services</a> <a href="https://eclipse-ee4j.github.io/jersey/">Jersey</a> with <a href="https://en.wikipedia.org/wiki/Server-sent_events">Server-sent events</a> (SSE), </blockquote> <p>Daniel Kec on twitter: <a href="https://twitter.com/DanielKec">@DanielKec</a>, helidon's blog: <a href="https://medium.com/helidon">medium.com/helidon</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 28 Dec 2020 11:00:00 +0100">Mon, 28 Dec 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_120.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_119"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_119">#<span itemprop="episodeNumber">119</span></a> Kamenicky Encoding, Enterprise Java and Helidon</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_119">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Daniel Kec (<a href="https://twitter.com/DanielKec">@DanielKec</a>) about: <blockquote> playing games on dell 386dx, playing <a href="https://en.wikipedia.org/wiki/Id_Software#Commander_Keen">Commander Keen</a>, wolfenstein, <a href="https://en.wikipedia.org/wiki/Golden_Axe">golden axe</a>, hexen, beautiful markup with microsoft frontpage, <a href="https://en.wikipedia.org/wiki/On_the_Internet,_nobody_knows_you%27re_a_dog">On the Internet, nobody knows you're a dog</a>, Hot Metal Pro, Net Object Fusion, Frontpage, HTML editors, Adobe Pagemill, <a href="https://netbeans.apache.org">NetBeans</a> and IntelliJ IDE, <a href="https://www.c64-wiki.com/wiki/Pascal">Turbo Pascal</a> at high school, enjoying Transistor-transistor logic <a href="https://en.wikipedia.org/wiki/Transistor–transistor_logic">TTLs</a> and <a href="https://en.wikipedia.org/wiki/Integrated_circuit">IC</a>, the problem with <a href="https://en.wikipedia.org/wiki/CMOS">CMOS</a> and static charge, transition from Turbo Pascal to Borland <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a>, private, university in prague, <a href="https://en.wikipedia.org/wiki/Kamenický_encoding">Kamenicky Encoding</a> and codepage 895, starting to love <a href="https://www.java.com/en/">Java</a> after Visual <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a> experiences, starting with JDK 1.6, xelphi and forte for Java, <a href="https://airhacks.fm/#episode_8">episode</a> with Jaroslav Tulach, <a href="https://github.com/Syntea/xdef">x-definition</a> validation language for XML, the super senior developer, find a bug: <a href="https://en.wikipedia.org/wiki/TeX">Donald Knuth and TeX</a>, writing plugins for Netbeans, inheriting the register of traffic accidents, using <a href="https://www.ibm.com/cloud/websphere-application-platform/">WebSphere</a> with wizards and EJB 2.1, migrating to <a href="https://www.eclipse.org/ide/">Eclipse</a> and <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a>, rational developer studio IDE, MDA as solution for generating superfluous artifacts, the great dash dispute, parkinson's law of triviality, transition from EJB 2.1 to <a href="https://www.adam-bien.com/roller/abien/entry/simplest_possible_ejb_3_1">EJB 3.0</a>, analyzing logfiles with the R programming language, <a href="https://www.graalvm.org/reference-manual/r/">R runs on GraalVM</a>, starting at Oracle at the Java Architecture for XML Binding (<a href="https://javaee.github.io/jaxb-v2/">JAXB</a>), <a href="https://eclipse-ee4j.github.io/jersey/">Jersey</a>, <a href="https://helidon.io">Helidon</a> team, </blockquote> <p>Daniel Kec on twitter: <a href="https://twitter.com/DanielKec">@DanielKec</a> and on github: <a href="https://github.com/danielkec">github.com/danielkec</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 21 Dec 2020 11:00:00 +0100">Mon, 21 Dec 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_119.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_118"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_118">#<span itemprop="episodeNumber">118</span></a> How To Deal With Java Dependencies</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_118">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Michael Bolz (<a href="https://twitter.com/onemibo">@onemibo</a>) about: <blockquote> <a href="https://airhacks.fm/#episode_55">"What was your first computer?"</a> - Michael was introduced in the <a href="https://airhacks.fm/#episode_55">episode #55</a> how companies deal open-source, safe open-source as a service, <a href="https://sap.github.io/fosstars-rating-core/">fosstars-rating-core</a> a framework for defining ratings for open-source projects sponsored by SAP, open-source security ratings, <a href="https://nvd.nist.gov">nvd</a> - the vulnearabilities database, <a href="https://github.com/SAP/fosstars-rating-core">fosstars-rating-core</a> is an Apache <a href="https://maven.apache.org">Maven</a> project, the number of committers rating, dependency management in <a href="https://www.java.com/en/">Java</a>, Jakarta EE and <a href="https://microprofile.io">MicroProfile</a>, the forgotten dependency problem, the <a href="https://github.com/vuejs/vue/graphs/contributors">vuejs</a> library committers, evaluating an open-source project by the commits, the <a href="https://www.theregister.com/2020/03/26/corejs_maintainer_jailed_code_release/">corejs</a> issue, <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">Web Components</a> without dependencies (<a href="http://webcomponents-with-redux.training">webcomponents-with-redux.training</a>), <a href="https://semver.org">semantic</a> versioning for breaking changes indication, JavaMagazin driven dependencies, update frequency of libraries, programming language as a fashion statement, dealing with JVM languages, the <a href="http://microprofile.training">Apps with MicroProfile workshop</a>, </blockquote> <p>Michael Bolz on twitter: <a href="https://twitter.com/onemibo">@onemibo</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 13 Dec 2020 11:00:00 +0100">Sun, 13 Dec 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_118.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_117"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_117">#<span itemprop="episodeNumber">117</span></a> Java Persistence: From DB over JDBC to Transactions</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_117">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Vlad Mihalcea (<a href="https://twitter.com/vlad_mihalcea">@vlad_mihalcea</a>) about: <blockquote> accessing database from <a href="https://www.java.com/en/">Java</a>, the four <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">Java Database Connectivity (JDBC) </a> driver levels, JDBC-ODBC bridge, native JDBC driver via Java Native Interface (JNI), JDBC <a href="https://docs.oracle.com/cd/E19509-01/820-5069/ggzci/index.html">middleware driver</a>, the JDBC <a href="https://docs.oracle.com/cd/E19509-01/820-5069/ggzbd/index.html">thin driver</a>, the <a href="https://en.wikipedia.org/wiki/Apache_Derby">CloudscapeDB</a>, the JDBC Driver initialization sequence, physical va. logical connections, connection pools and <a href="https://github.com/brettwooldridge/HikariCP">HikariCP</a>, <a href="https://github.com/p6spy/p6spy">p6spy</a> - the JDBC pool decorator, JDBC made databases more portable, evaluating project's age by the version of JDBC driven in Apache <a href="https://maven.apache.org">Maven</a>'s POM, statement caching, execution plan reuse, table scanning and index, execution plan is binding parameter dependent, PreparedStatements are not always preparing the statement, keeping connection timeout short, the JDBC <a href="https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html#isValid(int)">"isValid"</a> method, client side metadata caching, JDBC SQL statement compression, JDBC <a href="https://docs.oracle.com/en/database/oracle/oracle-database/12.2/jjdbc/data-sources-and-URLs.html#GUID-6D8EFA50-AB0F-4A2B-88A0-45B4A67C361E ">network data compression with Oracle</a>, and <a href="https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-configuration-properties.html">MySQL</a>, SSL encryption and fault tolerance, JDBC and transaction routing, primary and secondary node selection on the JDBC level, MySQL fault tolerance and fail over: Java EE, Jakarta EE, <a href="https://helidon.io">Helidon</a> and <a href="https://quarkus.io">quarkus</a> programming models, <a href="https://www.graalvm.org">GraalVM</a> vs. Java / JVM mode, the <a href="https://github.com/vladmihalcea/hibernate-types">Hibernate Types</a> project, dependency reduction and <a href="http://www.adam-bien.com/roller/abien/entry/microprofile_java_ee_8_thinner">ThinWARs</a>, backward compatibility on <a href="https://en.wikipedia.org/wiki/NeXT">NeXT</a> generation runtimes, JDBC and auto-commit on, JDBC and Isolation Levels, disabling transactions and auto-commit mode, BASE vs. ACID, the trend to more correctness and consistency, SAGAs, compensative transactions, and the <a href="https://meninblack.fandom.com/wiki/Neuralyzer">MiB flashlight</a>, strict serialiazablity, read committed isolation level and data drift, isolation levels anomalies, serializable vs. snapshot isolation, the <a href="https://vladmihalcea.com/books/high-performance-java-persistence/">"High-Performance Java Persistence"</a> book, the <a href="https://vladmihalcea.com/hypersistence-optimizer/">Hypersistence Optimizer</a>, <a href="https://github.com/vladmihalcea/flexy-pool">flexy pool</a>, </blockquote> <p>Vlad Mihalcea on twitter: <a href="https://twitter.com/vlad_mihalcea">@vlad_mihalcea</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 6 Dec 2020 11:00:00 +0100">Sun, 6 Dec 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_117.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_116"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_116">#<span itemprop="episodeNumber">116</span></a> MicroStream: When a Java Application Becomes a DB</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_116">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Markus Kett (<a href="https://twitter.com/MarkusKett">@MarkusKett</a>) about: <blockquote> <a href="https://airhacks.fm/#episode_36">"What was your first computer?"</a> - Markus was introduced in the <a href="https://airhacks.fm/#episode_36">episode #36</a>, storing graph of <a href="https://www.java.com/en/">Java</a> objects with <a href="https://microstream.one">microstream</a>, no annotation, not XML required, lazy subgraph loading, database support, <a href="https://www.oracle.com/middleware/technologies/coherence.html">coherence</a> and cloud block storage (e.g. S3) are supported, microstream relies on key-value stores, using flat files, microstream relies on custom Java serialization, Java serialization challenges, microstream and security, microstream is not based on Java serialization, code execution during deserialization of Java objects is not avoidable, hackathlon with <a href="https://labs.oracle.com/">OracleLabs</a>, <a href="https://helidon.io">Helidon</a> and <a href="https://www.graalvm.org">GraalVM</a>, abstracting JVMs object ids, working with persistent Java objects directly, using getters for object traversal, working with Java object directly in memory, microstream can be orders of magnitudes faster than Java Persistence API, (<a href="https://en.wikipedia.org/wiki/Jakarta_Persistence">JPA</a>), accessing persistent object in microseconds, avoiding the <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a> IO- overhead, using Java's off-heap memory, persistent RAM and <a href="https://en.wikipedia.org/wiki/3D_XPoint">Intel's Optane</a>, keeping Java object in RAM forever, thinking as Java developers, using Java collections as persistent objects, <a href="https://github.com/ben-manes/caffeine">caffeine</a> - the concurrent cache for Java, reasons for opensourcing microstream, long term support comes with commercial support, running microstream on GraalVM in native mode, polyglot persistence with GraalVM helidon is obsessed with performance, microstream on helidon on GraalVM, combining microstream and <a href="https://kafka.apache.org">Kafka</a>, kafka connector for microstream comes in the next release, microstream - redis integration, custom serialization formats, CDC and <a href="https://debezium.io/">debezium</a>, NoSQL database on top of microstream, object graph in Java is a <a href="https://en.wikipedia.org/wiki/Multi-model_database">multi-model database</a>, the Java application becomes the database system, authorization on JPA object level, <a href="http://jpasecurity.sourceforge.net">JPA security</a>, the MicroStream, Helidon and GraalVM hackathlon, <a href="https://java-pro.de">JAVAPRO</a> magazine - the first free Java magazine, <a href="https://jcon.one/">JCon</a> is organized by JavaPRO, </blockquote> <p>Markus Kett on twitter: <a href="https://twitter.com/MarkusKett">@MarkusKett</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 29 Nov 2020 11:00:00 +0100">Sun, 29 Nov 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_116.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_115"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_115">#<span itemprop="episodeNumber">115</span></a> jOOQ Loves SQL</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_115">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Lukas Eder (<a href="https://twitter.com/lukaseder">@lukaseder</a>) about: <blockquote> a <a href="https://en.wikipedia.org/wiki/Unisys">Unisys</a> 8086, don't break your dad's computer, playing with "format", starting with <a href="https://en.wikipedia.org/wiki/QBasic">QBasic</a> and 12 years, serial cable chat programs in QBasic, <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a> with 15, changing the font in the BIOS, starting CMS with <a href="https://en.wikipedia.org/wiki/PHP">PHP</a> and MySQL, no transactions, no connection pools in PHP, the beginning with <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> and <a href="https://en.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a>, <a href="https://www.java.com/en/">Java</a> is not a website technology, Java static pages vs. PHP includes, enterprise PHP: <a href="https://en.wikipedia.org/wiki/Zend_Framework">Zend Framework</a>, from PHP to Java, PHP 4 to PHP 5 migration and the assignment operator, enjoying Java 1.3, <a href="https://ant.apache.org">Ant</a> vs. <a href="https://maven.apache.org">Maven</a> 1, a reporting project for a telco company with Java and <a href="https://hibernate.org">Hibernate</a>, writing backends in SQL and frontends with <a href="https://en.wikipedia.org/wiki/XSLT">XSLT</a>, stateless, functional programming with XSQL and SQL, <a href="https://www.jooq.org">jooq</a> manual was built with XSLT, apache <a href="https://cocoon.apache.org/">Cocoon</a> and XSLT, Servlets and Java Message System (<a href="https://en.wikipedia.org/wiki/Java_Message_Service">JMS</a>) with <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a>, from Hibernate query builder to jooq in 2006, cascading interfaces which feel like SQL, everyone built a query builder, rewriting jooq - jooq2 in 2008, <a href="https://github.com/querydsl/querydsl">queryDSL</a> - the abstraction across multiple query language, jooq only abstracts SQL, dynamic "where" clauses with criteria query, jooq stands for: j-object oriented query, jooq started with stored procedure support, <a href="https://en.wikipedia.org/wiki/SQLJ">SQLJ</a> the preprocessor, PRO-C* -> the C preprocessor for Oracle to generate boring glue code, jooq 1 was a procedural query builder, jooq 2 DSL API looks like SQL and uses the query builder layer, the database first design, SQL is not composable, SQL: different syntax on different levels, 1000 lines of jooq code is not unusual, DSLContext - the starting point, commercial support for jooq is available, database migrations with jooq, opensource vs. commercial edition, dependency on products, saving costs with opensource, focus on <a href="https://jakarta.ee">Jakarta EE</a>, <a href="https://javaee.github.io/tutorial/">Java EE</a>, <a href="https://microprofile.io">MicroProfile</a> API vs. direct runtime dependencies, working with dynamic SQL and jooq, database vs. Java first </blockquote> <p>Lukas Eder on twitter: <a href="https://twitter.com/lukaseder">@lukaseder</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 22 Nov 2020 11:00:00 +0100">Sun, 22 Nov 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_115.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_114"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_114">#<span itemprop="episodeNumber">114</span></a> Building Clouds for Data Center Providers with Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_114">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ruslan Synytsky (<a href="https://twitter.com/siruslan">@siruslan</a>) about: <blockquote> <a href="https://www.old-computers.com/museum/computer.asp?st=1&c=1176">Yamaha MS 6</a> computer at school in Ukraine, <a href="https://www.c64-wiki.com/wiki/GOSUB">GO SUB</a> vs GO TO, impatience and competition, looking forward to programming at weekends, learning <a href="https://en.wikipedia.org/wiki/PL/I">PL/1</a> on IBM, learning <a href="https://en.wikipedia.org/wiki/Delphi_(software)">Delphi</a>, writing exams software for students, building triangulation software in Delphi, earth is a potato, <a href="https://airhacks.live">airhacks.live</a> workshops at MUC airport and Greenland, Greenland is an autonomous territory withing the Kingdom of Denmark, a secret place and organization with lots of computers, a secret organization buys Sun working stations, starting to learn Java to write software for Sun Solaris on Sparcs, getting CDs full of Java and C tutorials from Sun Microsystems, writing Java software to collect and analyze geophysical data from distributed, international data centers, using GlassFish server for data collection, using web service on GlassFish and the <a href="https://javaee.github.io/metro/">metro webservice toolkit</a>, writing rich UI with AJAX and JavaScript, <a href="http://wdc.org.ua">National Data Center of Ukraine</a>, the ticket to Antarctica, working with startups building JavaScript frontends, starting a development platform to increase the productivity, building a <a href="https://en.wikipedia.org/wiki/Mobile_backend_as_a_service">backend as a service</a> (BaaS), building serverless Java solutions in 2008, scaling down from Backend as a Service to a <a href="https://en.wikipedia.org/wiki/Platform_as_a_service">Platform as a Service (PaaS)</a>, the <a href="https://www.youtube.com/watch?v=0AJyZ9i915k">screencast with Payara and Jelastic</a>, using container runtimes for developers, serverless <a href="https://www.payara.fish">Payara</a> on <a href="https://jelastic.com">Jelastic</a>, <a href="https://cloud.google.com/appengine">Google App Engine</a> was the first serverless solution, building software for Data Center operators, working with <a href="https://twitter.com/errcraft">James Gosling</a> as independent director, supporting stateful workloads, using <a href="https://openvz.orgs">openVZ</a> instead of containers, scaling stateless and stateful workloads, supporting <a href="https://www.oracle.com/java/technologies/java-ee-glance.html">Java EE</a> and <a href="https://jakarta.ee">Jakarta EE</a> runtimes in the cloud, <a href="http://glassfish.org">GlassFish</a>, <a href="https://www.payara.fish">Payara</a>, <a href="https://www.wildfly.org">WildFly</a> and <a href="http://tomee.apache.org">TomEE</a> on Jelastic, <a href="https://firecracker-microvm.github.io">Amazon's Firecracker</a>, Jelastic uses Java to implement the cloud, paying for what you use, rightsizing with Jelastic is easy </blockquote> <p>Ruslan Synytsky on twitter: <a href="https://twitter.com/siruslan">@siruslan</a>, <a href="http://jelastic.com">jelastic.com</a> and <a href="https://jelastic.cloud">jelastic.cloud</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 15 Nov 2020 11:00:00 +0100">Sun, 15 Nov 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_114.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_113"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_113">#<span itemprop="episodeNumber">113</span></a> I don&#x27;t want your Thorntail</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_113">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ken Finnigan (<a href="https://twitter.com/">@kenfinnigan</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a> in 1984, <a href="https://en.wikipedia.org/wiki/Commodore_128">Commodore 128D</a> in 1986, creating a Star Wars game, approaching the dark star, a Gateway XT with 20 MB hard drive and 640kB RAM, playing with <a href="https://en.wikipedia.org/wiki/DBase">DBase IV</a>, <a href="https://en.wikipedia.org/wiki/Lotus_1-2-3">Lotus 1-2-3</a> and Delphi, implementing software for baseball statistics in 1989, surviving a <a href="https://en.wikipedia.org/wiki/San_Francisco_Giants">Giants</a> game in San Francisco, learning <a href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a>, <a href="https://en.wikipedia.org/wiki/Modula-2">Modula 2</a> and assembly programming at university, the JavaONE session marathon, learning Java in 1999, enjoying Java programming, starting at IBM Global Services Australian, introduction to the enterprise world with <a href="https://en.wikipedia.org/wiki/PL/I">PL 1</a>, <a href="https://en.wikipedia.org/wiki/Job_Control_Language">Job Control Language (JCL)</a>, AIX, <a href="https://en.wikipedia.org/wiki/CICS">CICS</a> and <a href="https://en.wikipedia.org/wiki/CICS_Transaction_Gateway">CTG</a>, starting to work with Java 1.2 at an insurance company, building a quotation engine in Java, wrapping JNI layer to reuse legacy C++ code, creating the first web UIs with Java with JSPs and Servlets, <a href="https://en.wikipedia.org/wiki/PowerBuilder">PowerBuilder</a> and Borland JBuilder, enjoying the look and feel of <a href="https://en.wikipedia.org/wiki/VisualAge">Visual Age for Java</a> and <a href="https://en.wikipedia.org/wiki/JBuilder">JBuilder</a>, <a href="https://en.wikipedia.org/wiki/Visual_Café">Symantec Visual Cafe for Java</a>, Sun Studio Java Workshop had the worst look and feel, writing backend integration logic with <a href="https://en.wikipedia.org/wiki/XSLT">XSLT</a> and XML in Dublin, <a href="https://xmlgraphics.apache.org/fop/">Apache FOP</a> and <a href="https://cocoon.apache.org/2.1/">Apache Cocoon</a>, XSLT transformations in browser, enjoying the <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/marquee">marquee</a> tag, using <a href="https://docs.oracle.com/cd/E19336-01/820-0981/820-0981.pdf">SeeBeyond eWay</a> integration in London, switching to <a href="https://en.wikipedia.org/wiki/Chordiant">chordiant</a> Java EE CRM solution, using <a href="http://xdoclet.sourceforge.net/xdoclet/using.html">XDoclet</a> to generate EJBs, from XDoclet to annotations, wrapping, abstracting and <a href="https://en.wikipedia.org/wiki/Aspect-oriented_programming">Aspect Oriented Programming</a> framework, it is hard to find business use cases for AOP, J2EE already ships with built-in aspects, enterprise architecture and <a href="https://en.wikipedia.org/wiki/Unified_Modeling_Language">UML</a>, using IBM <a href="https://en.wikipedia.org/wiki/Rational_Software_Modeler">Rational Software Modeler</a> for architectures, driving a truck with tapes as migration, the <a href="https://aws.amazon.com/snowmobile/">Amazon Snowmobile Truck</a>, never underestimate the bandwidth of a truck full of hard disks, "Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway", Andrew S. Tanenbaum, building stock trading platform in Sydney with J2EE, Complex Event Processing (CEP) with J2EE and <a href="https://www.jboss.org">JBoss</a>, attending JBoss World in Florida and meeting <a href="https://twitter.com/plmuir">Pete Muir</a>, starting with <a href="http://seamframework.org">Seam 2</a> to write a CRM solution for weddings, contributing to Seam 3, creating annotation-based i18n solution, joining RedHat consulting, migrating from Oracle Application Server to JBoss EAP 5, joining RedHat engineering, leading portlet bridge from JBoss Portal project, starting project <a href="https://github.com/liveoak-io/liveoak">LiveOak</a>, <a href="https://sling.apache.org">apache sling</a>, starting project WildFly Swarm with <a href="https://github.com/bobmcwhirter">Bob McWhirter</a>, <a href="https://www.wildfly.org/news/2015/05/05/WildFly-Swarm-Released/">WildFly Swarm</a> vs. WildFly, WildFly Swarm and WildFly - the size perspective, WildFly Swarm supported hollow jars, hollow jar allows docker layering, WildFly Swarm was renamed to <a href="https://thorntail.io">Thorntail</a>, Thorntail 4 was a rewrite of the CDI container, Thorntail 4 codebase was used in <a href="https://quarkus.io">Quarkus</a>, Quarkus is the evolutionary leap forward, Quarkus observability and <a href="https://micrometer.io">micrometer</a>, working with <a href="https://opentelemetry.io">OpenTelemetry</a>, OpenTelemetry and micrometer, <a href="https://opencensus.io">OpenCensus</a>, <a href="https://download.eclipse.org/microprofile/microprofile-metrics-2.3/microprofile-metrics-spec-2.3.html">Eclipse MicroProfile and Metrics</a>, micrometer vs. <a href="https://microprofile.io">MicroProfile</a> metrics, GitHub issue regarding custom registry types, airhacks.fm episode with Romain Manni-Bucau <a href="https://airhacks.fm/#episode_79">#79 Back to Shared Deployments</a>, starting with counters and gauges in MicroProfile, metrics in a <a href="https://en.wikipedia.org/wiki/Jakarta_Messaging">Java Message Service (JMS)</a> application, MicroProfile metrics could re-focus on business metrics, services meshes vs. <a href="https://github.com/eclipse/microprofile-fault-tolerance/releases/tag/2.1">MicroProfile Fault Tolerance</a>, <a href="https://istio.io">Istio</a> is only able to see the external traffic, implementing business fallbacks with Istio is hard, <a href="https://openmetrics.io">OpenMetrics</a> and <a href="https://opentracing.io">OpenTracing</a> are merging in <a href="https://opentelemetry.io">OpenTelemetry</a>, MicroProfile OpenTracing comes with a single annotation and brings the most added value, Jakarta EE improvements are incremental, Java's <a href="https://mail.openjdk.java.net/pipermail/discuss/2020-April/005429.html">project leyden</a>, the <a href="http://microprofile.training">MicroProfile online workshop</a>, <a href="https://jakarta.ee">Jakarta EE</a> and MicroProfile complement each other, <a href="https://www.graalvm.org">GraalVM</a> and JavaScript, pooling with CDI is challenging, MicroProfile as layer on top of Jakarta EE, the <a href="https://smallrye.io">smallrye</a> first approach </blockquote> <p>Ken Finnigan on twitter: <a href="https://twitter.com/">@kenfinnigan</a>, Ken's blog: <a href="https://kenfinnigan.me/">kenfinnigan.me</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 8 Nov 2020 11:00:00 +0100">Sun, 8 Nov 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_113.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_112"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_112">#<span itemprop="episodeNumber">112</span></a> Java SE, MicroProfile and GraalVM: the Helidon&#x27;s Way</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_112">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Dmitry Kornilov (<a href="https://twitter.com/m0mus">@m0mus</a>) about: <blockquote> <a href="https://airhacks.fm/#episode_56">"What was your first computer?" - Dmitry's introduction</a>, <a href="https://helidon.io/#/">Helidon 2.0</a> supports <a href="https://www.graalvm.org">GraalVM</a> native compilation, <a href="https://helidon.io/docs/latest/#/about/05_cli">Helidon CLI</a> used <a href="https://maven.apache.org/guides/introduction/introduction-to-archetypes.html">Apache Maven Archetype</a>, Helidon CLI is written in Java and cross-compiled to an executable file, the Helicon CLI source code and repository, watch and deploy: <a href="http://wad.sh">wad.sh</a> - a primitive version of Helidon CLI, with Helidon you can compile <a href="https://microprofile.io">MicroProfile</a> applications and compile them to a native image, Helidon supports Weld and has full <a href="https://weld.cdi-spec.org">CDI</a> compatibility, Helidon comes with <a href="https://github.com/eclipse/microprofile-reactive-messaging">MicroProfile Reactive Messaging</a> and <a href="https://github.com/eclipse/microprofile-reactive-streams-operators">MicroProfile Reactive Operators</a>, Reactive Operators were contributed by <a href="https://github.com/akarnokd">David Karnok</a>, <a href="https://quarkus.io">Quarkus</a> is pragmatic and they are choosing the 80% approach, Helidon focuses on CDI and MicroProfile compatibility, Helidon uses <a href="https://smallrye.io">Smallrye</a> for <a href="https://www.openapis.org">OpenAPI</a>, <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> license comes with Helidon support, Helidon supports <a href="https://helidon.io/docs/latest/#/mp/websocket/01_overview">WebSockets</a>, <a href="https://helidon.io/docs/latest/#/mp/guides/09_jpa">JPA</a>, Helidon is the natural choice for WebLogic customers, migrations from reasonable Java EE / Jakarta EE applications to MicroProfile are easy, Helidon with Oracle JDBC drivers and GraalVM support, next Helidon major release will come with additional cloud support, <a href="https://www.oracle.com/cloud/">Oracle Cloud Infrastructure</a> is going to be supported by Helidon, Helidon will support other cloud services as well, all clouds contributions are welcome, Java / Jakarta Messaging Service (JMS) on <a href="https://airhacks.fm/#episode_111">Microsoft Azure</a>, <a href="https://docs.microsoft.com/en-us/azure/developer/java/eclipse-microprofile/">Eclipse MicroProfile Azure</a> implementation, <a href="http://json-b.net">JSON-B</a> and <a href="https://javaee.github.io/jsonp/">JSON-P</a> Jakarta EE 10 features, <a href="https://javaee.github.io/jsonb-spec/">Java API for JSON Binding</a>, <a href="https://adambien.blog/roller/abien/entry/java_14_java_record_json">Java Record and JSON-B</a>, <a href="https://openjdk.java.net/jeps/384">JEP 384: Records (Second Preview)</a> in Java 15, preliminary support for <a href="https://wiki.openjdk.java.net/display/loom/Main">Project Loom</a> in Helidon, <a href="https://eclipse-ee4j.github.io/jersey.github.io/documentation/latest/mvc.html">Jersey MVC Templates</a>, Quarkus Templating <a href="https://quarkus.io/guides/qute">Qute</a>, performance and scalability is Helidon's focus, Helidon supports MicroProfile 3.3, Helidon tries to support the latest MicroProfile the fastest, possible <a href="https://micronaut.io">Micronaut</a>'s impact on Helidion, <a href="https://twitter.com/graemerocher">Graeme Rocher</a> works for GraalVM, Micronaut's extensions might be supported in Helidon, <a href="https://micronaut-projects.github.io/micronaut-data/latest/guide/">Micronaut Data</a> and <a href="https://docs.micronaut.io/1.2.6/guide/index.html">Bean Validation</a> could be used in Helidon, <a href="https://helidon.io/docs/latest/#/about/02_introduction">Java SE</a> vs. MicroProfile API stability, Helidon uses <a href="https://semver.org">semantic versioning</a>, a possible trend back to monoliths, Java EE, Jakarta EE and MicroProfile, </blockquote> <p>Dmitry Kornilov on twitter: <a href="https://twitter.com/m0mus">@m0mus</a>, Dmitry's blog: <a href="https://dmitrykornilov.net">https://dmitrykornilov.net</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 31 Oct 2020 11:00:00 +0100">Sat, 31 Oct 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_112.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_111"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_111">#<span itemprop="episodeNumber">111</span></a> Java / Jakarta Messaging Service (JMS) on ...Microsoft Azure</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_111">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ashish Chhabria (<a href="https://twitter.com/ashishc1">@ashishc1</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Compaq_Presario">Compaq Presario</a>, Windows 95 Pentium 1 with MMX, 2 GB harddrive and 16 MB RAM, <a href="https://en.wikipedia.org/wiki/QBasic">QBasic</a> and <a href="https://en.wikipedia.org/wiki/GW-BASIC">GW-Basic</a>, playing virtual <a href="https://en.wikipedia.org/wiki/Cricket">cricket</a>, creating calculator from scratch, fascianation with math, learning C and C++, algorithms as hobby, rewriting <a href="https://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol">SMTP</a> server in C and <a href="https://en.wikipedia.org/wiki/Berkeley_sockets">berkeley sockets</a>, starting with Java 1.6, starting at <a href="https://www.morganstanley.com">Morgan Stanley</a> in New York, starting at Microsoft in Seattle, product manager on azure messaging team, Microsoft <a href="https://azure.microsoft.com/en-us/services/service-bus/">Azure Service Bus</a>, Microsoft <a href="https://azure.microsoft.com/en-us/services/event-hubs/">Azure Event Hubs</a>, Microsoft <a href="https://azure.microsoft.com/en-us/services/event-grid/">Azure Event Grid</a>, <a href="https://docs.microsoft.com/en-us/azure/azure-relay/relay-what-is-it">Microsoft Azure Relay</a>, <a href="https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-java-how-to-use-jms-api-amqp">Azure Service Bus supports Java Message Service</a> (JMS), <a href="https://projects.eclipse.org/projects/ee4j.jms">JMS 2.0</a> is just a set of interfaces, <a href="https://en.wikipedia.org/wiki/Project_Darkstar">Project Darkstar</a> and <a href="https://www.adam-bien.com/roller/abien/entry/would_be_a_glassfish_v3">JMS debate</a>, <a href="https://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol">AMQP</a> with <a href="https://en.wikipedia.org/wiki/Jakarta_Messaging">JMS 2.0</a>, JMS is not a protocol, AMQP is the protocol, <a href="http://activemq.apache.org">Active MQ</a> uses AMQP, Azure Service Bus <a href="https://docs.microsoft.com/en-us/azure/developer/java/sdk/java-sdk-azure-get-started">Java SDK comes as a Maven dependency</a>, Microsoft <a href="https://azure.microsoft.com/en-us/services/logic-apps/">Azure Logic Apps</a> listens to Azure Service Bus, Microsoft <a href="https://azure.microsoft.com/en-us/services/functions/">Azure Functions</a> as an integration system, Azure Service Bus passes over 90% <a href="https://jakarta.ee/specifications/messaging/2.0/">JMS 2.0 TCKs</a> (Test Compatibility Kit), <a href="https://docs.oracle.com/javaee/7/api/javax/jms/QueueBrowser.html">QueueBrowsers</a> and <a href="https://docs.oracle.com/cd/E19798-01/821-1841/bncer/index.html">Message Selectors</a> are supported by Azure Service Bus, 1k topics and queues combined, 2k subscriptions, 5k concurrent AMQP connections per namespace / instance, a namespace comes with 2,4 or 8 a messaging units, Azure Service Bus SDK comes with built-in retry mechanism, idempotent messages are supported, Azure Service Bus uses <a href="https://azure.microsoft.com/en-us/services/storage/">Azure Storage</a> for replication, Azure Service Bus vs. <a href="https://kafka.apache.org">Apache Kafka</a>, events vs. messages, kafka is not a queue, </blockquote> <p>Ashish Chhabria on twitter: <a href="https://twitter.com/ashishc1">@ashishc1</a>, and <a href="https://github.com/axisc">github.com/axisc</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 25 Oct 2020 11:00:00 +0100">Sun, 25 Oct 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_111.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_110"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_110">#<span itemprop="episodeNumber">110</span></a> Java, Vaadin, Web and vanilla Web Components</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_110">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alejandro Duarte (<a href="https://twitter.com/alejandro_du">@alejandro_du</a>) about: <blockquote> IBM PC with DOS and <a href="https://en.wikipedia.org/wiki/Windows_3.1x">Windows 311</a>, starting windows with "win", playing <a href="https://en.wikipedia.org/wiki/Wolfenstein_3D">Wolfenstein 3d</a>, writing anti-virus simulations, enjoying watching others playing, developing pixel-draw, learning C after <a href="https://en.wikipedia.org/wiki/QBasic">Q-Basic</a>, fascination with executable files, building the apocalypse game "2040", working with tiles, the Object Oriented programming and gaming, learning Java after C++, Java's portability is a fake, <a href="https://en.wikipedia.org/wiki/Ray_tracing_(graphics)">ray tracing</a> vs. <a href="https://en.wikipedia.org/wiki/Ray_casting">ray casting</a>, <a href="https://threejs.org">three.js</a> and <a href="https://aframe.io">a-frame</a>, <a href="https://struts.apache.org">Struts 1</a> and <a href="https://angularjs.org">Angular 1</a> were similar, using <a href="https://jquery.com">JQuery</a>, the JQuery spaghetti code, we only can hope, that <a href="http://www.gwtproject.org">Google Web Toolkit</a> (GWT) works well, starting with Java EE company in financial sector, <a href="https://vaadin.com">Vaadin</a> was the remedy to GWT, writing a <a href="https://www.amazon.com/dp/1782162267">"Vaadin 7 UI Design by Example"</a> book for Packt, the desire to learn Java EE, working for Vaadin in Finland, the great city of <a href="https://en.wikipedia.org/wiki/Turku">Turku</a>, publishing the <a href="https://www.amazon.com/gp/product/1783288841">"Data-centric applications with Vaadin 8"</a> book, I know Angular ...should I also learn JavaScript?, Vaadin would extend the components for you, using vanilla <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">Web Components</a> with <a href="https://vaadin.com/components">Vaadin Components</a>, using <a href="https://bulma.io">Bulma CSS</a> for consistency, <a href="https://sap.github.io/ui5-webcomponents/">SAP UI 5 Web Components</a>, <a href="https://github.com/ing-bank/lion">ING Lion</a> and <a href="https://vaadin.com/components">Vaadin Web Components</a>, the challenge of keeping the build system operational, <a href="https://www.typescriptlang.org">typescript</a> in Vaadin, syncing the client-side Data Transfer Objects with the backend, JavaScript prior 2015 was problematic, modern JavaScript looks like Java, JavaScript destructuring is great, object destructuring will come to Java, <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import">ES Modules</a> are like Java packages, JavaScript is like HashMap of HashMaps, </blockquote> <p>Alejandro Duarte on twitter: <a href="https://twitter.com/alejandro_du">@alejandro_du</a>, Alejandro's <a href="https://www.alejandrodu.com">alejandrodu.com</a>, and Alejandro on <a href="https://github.com/alejandro-du">github</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 19 Oct 2020 11:00:00 +0100">Mon, 19 Oct 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_110.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_109"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_109">#<span itemprop="episodeNumber">109</span></a> Java, Agents, ODATA, Serverless and Cloud Events</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_109">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Klaus Deissner (<a href="https://twitter.com/kdeissner">@kdeissner</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Atari_ST">Atari 1040 ST</a> the Amiga competitor, when games become boring, starting with <a href="https://en.wikipedia.org/wiki/GFA_BASIC">GFA Basic</a>, the Atari Profi Book, moving <a href="https://en.wikipedia.org/wiki/Sprite_(computer_graphics)">sprites</a> around the screen, starting with <a href="https://en.wikipedia.org/wiki/Borland_Turbo_C">Turbo C and Pure C</a> on Atari, writing assembler routines for performant file system size calculations, Java's <a href="https://en.wikipedia.org/wiki/JXTA">JXTA</a>, writing C programs for a local tooling company with 17, starting with Java 1.2, <a href="https://en.wikipedia.org/wiki/Genetic_programming">genetic programming</a> and algorithms with Java, the fitness algorithm and survival of the best, building software agents with Java, Java <a href="https://en.wikipedia.org/wiki/Aglets">aglets</a>, building load balancer Prometheus-like monitoring with Java agents, teaching <a href="https://en.wikipedia.org/wiki/ABAP">ABAP</a> programmers Java, the <a href="https://help.sap.com/saphelp_scm41/helpdata/en/0f/80243b4a66ae0ce10000000a11402f/content.htm?no_cache=true">SAP's Exchange Infrastructure (XI)</a>, starting with OSGi to write <a href="https://www.odata.org">ODATA</a> tooling on Eclipse, <a href="https://en.wikipedia.org/wiki/Semantic_Web">semantic web</a>, <a href="https://www.w3.org/RDF/">Resource Description Framework</a> (RDF) and <a href="https://www.w3.org/2001/sw/wiki/OWL">Web Ontology Language</a> (OWL), ODATA exposes various data sources out-of-the-box, <a href="https://sapui5.hana.ondemand.com">SAP UI 5</a> uses ODATA, <a href="https://sap.github.io/ui5-webcomponents/">UI 5 Web Components</a> can be used standalone, SAP became a member of <a href="https://www.cncf.io">CNCF</a>, the <a href="https://github.com/cncf/wg-serverless">serverless working group</a>, the <a href="https://cloudevents.io">CloudEvents</a> standard, the <a href="https://serverlessworkflow.github.io">serverless workflow specification</a>, the <a href="https://github.com/cloudevents/spec/blob/v1.0/spec.md#example">structure of a CloudEvent</a>, CloudEvent is the parameter of a serverless function, <a href="https://github.com/cloudevents/sdk-java/tree/master/http/restful-ws">JAX-RS / JSON-B CloudEvent example</a>, CloudEvents discovery and subscription, <a href="https://github.com/cloudevents/spec/pull/625">CloudEvents schema registry was contributed</a> by Microsoft, <a href="https://docs.microsoft.com/en-us/azure/event-grid/event-filtering">CloudEvents filter types</a>, <a href="https://github.com/cloudevents/spec/blob/master/http-protocol-binding.md">the HTTP binary mode</a>, </blockquote> <p>Klaus Deissner on twitter: <a href="https://twitter.com/kdeissner">@kdeissner</a> and github: <a href="https://github.com/deissnerk">github.com/deissnerk</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 11 Oct 2020 11:00:00 +0100">Sun, 11 Oct 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_109.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_108"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_108">#<span itemprop="episodeNumber">108</span></a> CORBA, gRPC, OSGI, vert.x, mutiny, Reactive Programming and Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_108">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Clement Escoffier (<a href="https://twitter.com/clementplop">@clementplop</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Olivetti_P6060">olivetti s663</a> with 2MB RAM, enjoying nice modem noises, <a href="https://en.wikipedia.org/wiki/USRobotics">u.s. robotics</a> sportster modem, game launch sequence automation, computer science as fallback strategy, the big <a href="https://en.wikipedia.org/wiki/Big_O_notation">O-notation</a>, living in <a href="https://en.wikipedia.org/wiki/Valence,_Drôme">valence</a>, studying at <a href="https://www.univ-grenoble-alpes.fr/english/home-628540.kjsp">grenoble university</a>, the internet class with CGI, <a href="https://en.wikipedia.org/wiki/Netscape">Netscape</a>, JavaScript and Pearl, Java Applets with AWT, the challenge of <a href="https://en.wikipedia.org/wiki/Ada_(programming_language)">compiling ADA</a>, starting with Java 1.2, the <a href="https://www.osgi.org">OSGi</a> interests and machine to machine communication or IoT, build time vs. run time versioning checks, working on dependency injection for <a href="https://felix.apache.org">Apache Felix</a>, porting OSGi to <a href="https://dotnet.microsoft.com">.net</a>, Java RMI vs. <a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture">CORBA</a>, the great <a href="http://lig-membres.imag.fr/krakowia/">Sascha Krakowiak</a>, <a href="https://en.wikipedia.org/wiki/Lamport_timestamp">lamport clocks</a> and <a href="https://en.wikipedia.org/wiki/Paxos_(computer_science)">paxos</a>, the challenges of distributed computing, handling failures with CORBA is problematic, CORBA is gone, WS-* came, the <a href="https://en.wikipedia.org/wiki/HATEOAS">HATEOAS</a> idea of REST, HTTP based RPC vs. REST, <a href="http://www.cdi-spec.org">CDI</a> in JavaScript exploration, dependency injection in JavaScript is challenging, exploring <a href="https://phonegap.com">PhoneGap</a>, <a href="https://github.com/wisdom-framework/wisdom">project wisdom</a> and hiding the complexity of OSGi, netty became too complicated, moving from <a href="https://netty.io">netty</a> to <a href="https://vertx.io">vert.x</a>, starting at RedHat to work on vert.x project, vert.x does not try to hide the complexity for distributed programming, using vert.x for microservices, if non blocking matters - vert.x, best place for reactive programming are event driven systems, reactive programming is also interesting for composing asynchronous actions, uni in <a href="https://smallrye.io/smallrye-mutiny/">mutiny</a>, apache <a href="https://kafka.apache.org">kafka</a> is not the new JMS, mutiny vs. vert.x, confusion with <a href="https://vertx.io/docs/vertx-rx/java/">flatMap</a> and <a href="http://reactivex.io/RxJava/1.x/javadoc/rx/Observable.html?is-external=true#concatMap-rx.functions.Func1-">concatMap</a>, reactive programming requires the understanding of large amount of APIs, mutiny outside <a href="https://quarkus.io">quarkus</a>, mutiny on top of reactive APIs, </blockquote> <p>Clement Escoffier on twitter: <a href="https://twitter.com/clementplop">@clementplop</a>, and github: <a href="https://github.com/cescoffier">cescoffier</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 4 Oct 2020 11:00:00 +0100">Sun, 4 Oct 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_108.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_107"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_107">#<span itemprop="episodeNumber">107</span></a> High-Performance Java Persistence and Cloud Native QBasic</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_107">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Vlad Mihalcea (<a href="https://twitter.com/vlad_mihalcea">@vlad_mihalcea</a>) about: <blockquote> the romanian <a href="https://en.wikipedia.org/wiki/History_of_computing_in_Romania">HC</a> computer, running <a href="https://en.wikipedia.org/wiki/QBasic">QBasic</a> on HC, GOTO 30 and typing programs from a book, designing 8 by 8 images, building the first video game with 11-12 years, the spider is walking, learning turbo pascal at high school, mathematics and physics at high school, studying telecommunications in bucharest and <a href="https://en.wikipedia.org/wiki/Cluj-Napoca">Cluj</a>, <a href="https://www.utcluj.ro/en/">Technical University of Cluj-Napoca</a>, the beautiful city of <a href="https://en.wikipedia.org/wiki/Brașov">Brasov</a> <a href="https://en.wikipedia.org/wiki/PalmPilot">Palm Pilot</a>, the unstructured Java programming classes, the object oriented programming excitement, <a href="https://en.wikipedia.org/wiki/Thinking_in_Java">"Thinking in Java"</a> book by Bruce Eckel, <a href="https://en.wikipedia.org/wiki/Chomsky_hierarchy">Chomsky Hierarchy</a>, <a href="https://en.wikipedia.org/wiki/Information_theory">Information Theory</a> by Shannon, starting with Java 1.3 / 1.4, starting at <a href="https://www.artsoft-consult.ro">www.artsoft-consult.ro</a>, full stack Java developer in 2005, developing <a href="https://en.wikipedia.org/wiki/Fourier_transform">fourier tranformation</a> in JavaScript, <a href="https://www.npmjs.com/package/fft-js">fft.js</a>, participating in math olympics, <a href="https://en.wikipedia.org/wiki/Oracle_Certification_Program">Sun Certified Java Programmer</a>, starting a blog and becoming freelancer in 2013, the <a href="https://vladmihalcea.com/books/high-performance-java-persistence/">"High-Performance Java Persistence"</a>, working as developer advocate for RedHat with focus on Hibernate, using <a href="https://nhibernate.info">NHIbernate</a> in diploma, JDBC, JPA and <a href="https://www.jooq.org">jooq</a>, High-Performance SQL, the <a href="https://vladmihalcea.com/hypersistence-optimizer/">Hypersistence Optimizer</a>, <a href="https://github.com/vladmihalcea/hibernate-types">Hibernate Types</a>, <a href="https://airhacks.tv">airhacks.tv</a> and the <a href="https://gist.github.com/AdamBien/6fb9ae56e83d78d643343013fa1a304d">JDBC pool question</a>, <a href="https://github.com/vladmihalcea/flexy-pool">flexy pool</a>, the proper size of connection pool is hard to estimate, moving away from consulting - or trading time for money, </blockquote> <p>Vlad Mihalcea on twitter: <a href="https://twitter.com/vlad_mihalcea">@vlad_mihalcea</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 27 Sep 2020 11:00:00 +0100">Sun, 27 Sep 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_107.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_106"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_106">#<span itemprop="episodeNumber">106</span></a> The Open-Closed Principle and Lots of Magic</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_106">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Lincoln Baxter III (<a href="https://twitter.com/lincolnthree">@lincolnthree</a>) about: <blockquote> the broken Apple Mac Plus, accidental computer repair, <a href="https://en.wikipedia.org/wiki/Crystal_Quest">Crystal Quest</a>, <a href="https://en.wikipedia.org/wiki/Spectre_(1991_video_game)">Spectre</a>, playing <a href="https://en.wikipedia.org/wiki/MechWarrior">MechWarrior</a>, programming <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">logo</a> at school, <a href="https://www.alancsmith.co.uk/logo/">ACS logo</a>, counting to a million with a shell script, writing a <a href="https://en.wikipedia.org/wiki/Galaga">Galaga</a> clone for a <a href="https://en.wikipedia.org/wiki/TI-92_series">TI-92</a> writing a multiplexing socket chat server in C++ at high school, <a href="https://www.stroustrup.com">Bjarne Stroustrup's</a> C++ book, the year 2000 crisis, <a href="https://www.upenn.edu">University of Pennsylvania</a>, writing business applications in Java for <a href="https://vanguard.com">vanguard</a>, <a href="https://en.wikipedia.org/wiki/Shared-nothing_architecture">"shared nothing architecture"</a>, project leads had to enjoy xml, Vienna is in Austria :-), <a href="https://en.wikipedia.org/wiki/Open–closed_principle">the open closed principle</a>, encapsulating the complexity, never write abstractions first, design patterns, writing project management software with Java Server Faces, J2EE / Java EE, <a href="https://github.com/ocpsoft/socialpm">SocialPM</a>, the maven project generator: <a href="https://forge.jboss.org">JBoss Forge</a>, routing in Java with Java Server Faces (JSF) <a href="https://www.ocpsoft.org/prettyfaces/">PrettyFaces</a>, joining the Java Server Faces expert group, <a href="http://seamframework.org">seam framework</a>, code generation covers up a bad design, jboss forge is also an interpreter, starting <a href="https://www.ocpsoft.org/prettytime/">prettytime</a> as a side project, focussing on the game <a href="https://en.wikipedia.org/wiki/Magic:_The_Gathering">Magic the Gathering</a>, starting a new startup: <a href="http://topdecked.com">topdecked.com</a>, working on <a href="https://github.com/windup/windup">windup</a> - the application server migration project, building backend with <a href="https://nodejs.org/en/">NodeJS</a>, building a hybrid app for iOS and android, using web components, lit-html without any indirections, <a href="http://www.gwtproject.org">GWT</a> is a Java to JavaScript compiler, <a href="http://microprofile.training">Apps With MicroProfile</a> online workshop, <a href="https://en.wikipedia.org/wiki/Isomorphic_JavaScript">Isomorphic JavaScript</a>, <a href="https://en.wikipedia.org/wiki/Isomorphic_JavaScript">Quarkus</a> vs. NodeJS, Quarkus relies on familiar <a href="https://microprofile.io">MicroProfile</a> and Java EE APIs, Quarkus application is smaller than empty <a href="http://tomcat.apache.org">Apache Tomcat</a>, Magic The Gathering by <a href="https://company.wizards.com">Wizards of the Coast</a>, the MTG rules, <a href="http://topdecked.com">topdecked.com</a> discount codes: <p> 50% off any new subscription for 12 months: <code>AwavWXNj</code><br> 100% off for 6 months (new monthly plans only): <code>xzPVPRwh</code> </p> <p> New members: <a href="https://www.topdecked.com/signup">https://www.topdecked.com/signup</a> </p> <p> Existing members / if you have an account: <a href="https://www.topdecked.com/account(detail:account/plans)">https://www.topdecked.com/account(detail:account/plans)</a> </p> </blockquote> <p>Lincoln Baxter III on twitter: <a href="https://twitter.com/lincolnthree">@lincolnthree</a>, Lincoln's side projects: <a href="https://www.ocpsoft.org">www.ocpsoft.org</a> and his main project: <a href="http://topdecked.com">topdecked.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 20 Sep 2020 11:00:00 +0100">Sun, 20 Sep 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_106.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_105"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_105">#<span itemprop="episodeNumber">105</span></a> Blogs, Quarkus, Service Meshes, Kubernetes, MicroProfile, Neo4J, openJ9, AsciiDoc</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_105">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Sebastian Daschner (<a href="https://twitter.com/daschners">@daschners</a>: Sebastian was introduced in airhacks.fm episode <a href="https://airhacks.fm/#episode_2">#2</a>, and also appeared in episodes <a href="https://airhacks.fm/#episode_31">#31</a>, <a href="https://airhacks.fm/#episode_47">#47</a> and <a href="https://airhacks.fm/#episode_54">#54</a>) about: <blockquote> designing blog engines, pagination strategies, implementing a blog engine with <a href="https://jakarta.ee">Jakarta EE</a> and <a href="https://microprofile.io">MicroProfile</a>, a modified <a href="https://roller.apache.org">Apache Roller</a>, static page generators, using <a href="https://quarkus.io">Quarkus</a> instead of a web server, HTML, <a href="http://emmet.io/">emmet</a> and <a href="https://code.visualstudio.com">Visual Studio Code</a>, <a href="https://asciidoc.org">AsciiDoc</a> and <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet">Markdown</a>, <a href="https://github.com/asciidoctor/asciidoctorj">asciidoctorj</a> on application servers, using git with <a href="https://www.eclipse.org/jgit/">jgit</a> as storage, misusing Quarkus on <a href="https://www.graalvm.org">GraalVM</a> as a local, native app, file storage vs. databases, the <a href="https://neo4j.com">Neo4j</a> involvement, Neo4j on Quarkus, the advantages of a <a href="https://en.wikipedia.org/wiki/Graph_database">graph database</a>, <a href="https://neo4j.com/docs/ogm-manual/current/introduction/">Object Graph Mapping</a> (OGM) on Quarkus, running Quarkus on JVM in production, Quarkus in native mode as command line application, Graph Database vs. <a href="https://en.wikipedia.org/wiki/Document-oriented_database">Document Databases</a>, scaling Neo4j challenges, modelling the graph, types and dates as entities, <a href="https://en.wikipedia.org/wiki/Entity–relationship_model">entity relationship model</a> (ERM), attributive relations in ERM, Neo4j <a href="https://neo4j.com/docs/operations-manual/current/tools/cypher-shell/">cypher</a> scripts, using Neo4j for blog implementation, the <a href="https://neo4j.com/developer/neo4j-browser/">Neo4j browser</a>, the remaining use cases for service meshes and istio, traffic management and authentication with istio, <a href="https://linkerd.io">linkerd</a>, <a href="https://istio.io">istio</a>, <a href="https://www.envoyproxy.io">envoy</a>, service mesh features could merge into <a href="https://kubernetes.io">kubernetes</a>, observability <a href="https://github.com/eclipse/microprofile-metrics">MicroProfile Metrics</a> vs. Istio <a href="https://istio.io/latest/docs/tasks/observability/metrics/">metrics</a>, service mesh metrics are a starting point, Neo4j with <a href="https://blog.sebastian-daschner.com/entries/neo4j-ogm-with-quarkus">Quarkus</a>, managing Neo4j transactions with JTA (Java Transaction API), Neo4j comes with great <a href="https://neo4j.com/developer/spring-data-neo4j/">Spring support</a>, Convention over Configuration in Java EE, Jakarta EE and MicroProfile, switching from Spring to Jakarta EE, jaxenter survey <a href="https://jaxenter.de/java/java-trends-frameworks-91786">results</a>, <a href="http://wad.sh">wad.sh</a> and Java 11, continuous build and deployment, Quarkus startup times, Quarkus on RaspberryPi airhacks.fm podcast <a href="https://airhacks.fm/#episode_104">episode</a>, reaction to Quarkus startup times on <a href="https://twitter.com/dominiek_86/status/1288214591558868993?s=20">twitter</a>, Java is performant and highly productive, Visual Studio Code comes with good Java experience, the maintainability of running plain kubernetes, IBM comes with <a href="https://www.ibm.com/cloud/container-service/">IBM Kubernetes Service</a> (IKS), <a href="https://www.ibm.com/cloud/openshift">OpenShift</a> on IBM Cloud, <a href="https://www.ibm.com/cloud/container-registry">IBM container registry</a>, <a href="https://www.eclipse.org/openj9/">openJ9</a>, <a href="https://github.com/AdamBien/docklands">Docklands</a>: a collection of docker files, running Quarkus on openJ9 <a href="http://heidloff.net/article/openj9-jvm-for-quarkus-applications/">article</a>, the <a href="https://blog.sebastian-daschner.com/entries/effective-developer-podcast">Effective Developer Podcast</a>, </blockquote> <p>Sebastian Daschner on twitter: <a href="https://twitter.com/daschners">@daschners</a>, Sebastian's blog: <a href="https://blog.sebastian-daschner.com">https://blog.sebastian-daschner.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 13 Sep 2020 11:00:00 +0100">Sun, 13 Sep 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_105.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_104"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_104">#<span itemprop="episodeNumber">104</span></a> Trains, Filmschool, Java on RaspberryPI, Quarkus and MicroProfile</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_104">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Frank Delporte (<a href="https://twitter.com/FrankDelporte">@FrankDelporte</a>) about: <blockquote> first experiences in computer club - a retail store, <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a> love with 11, enjoying printing a line of text repeatedly, a book by elektor about C64 and hardware, controlling lego trains with soldered relay boards with C64, disco bar with peek and pokes, programming over games, film school in a castle in <a href="https://www.luca-arts.be/nl/campus-brussel-narafi">Vorst</a>, bombastic intros to movies with <a href="https://en.wikipedia.org/wiki/Amiga_500">Amiga 500</a> at technical film school, editing documentaries and cooking shows, burning 15 seconds of video on 15 MB CD-ROMs business cards, programming with <a href="https://en.wikipedia.org/wiki/Adobe_Director#Lingo">Macromedia Director in Lingo</a>, Lingo became ActionScript with <a href="https://en.wikipedia.org/wiki/Adobe_Flash_Builder">Flex Builder</a>, bringing videos to websites, programming CMS with C# and MS-Access, migrating to MySQL, clean and beautiful HTML markup with <a href="https://en.wikipedia.org/wiki/Microsoft_FrontPage">MS FrontPage</a>, suspicious web editors, Flex 2 backend with streaming data and charts, writing applications with <a href="http://flex.apache.org">Flex 3</a> with C# backend, desktop applications in the browser with Flex, Steve Job's <a href="https://en.wikipedia.org/wiki/Thoughts_on_Flash">"no flash"</a>, building passenger information systems at: <a href="https://www.televic-rail.com">www.televic-rail.com</a>, flash on all devices, automation of rail station announcements, replacing flash with browser, adobe donated flex to apache, compiling Flex to HTML and JavaScript, syncing powered-off trains, C# was a moving target, Java is stable, killing a train blocks passengers, challenging kids to program at <a href="https://coderdojo.com">coderdojo.com</a> and <a href="https://www.devoxx4kids.org">devoxx4kids.org</a>, powerful and underestimated <a href="https://www.raspberrypi.org">RaspberryPI</a>, the killer use case is the <a href="https://en.wikipedia.org/wiki/General-purpose_input/output">GPIO</a>, the story behind RaspberryPI, the ToC of <a href="https://webtechie.be/books/">"Getting Started with Java on RaspberryPI"</a>, <a href="https://pi4j.com/1.2/index.html">PI4j</a> by <a href="http://www.savagehomeautomation.com">Robert Savage</a>, <a href="https://openjfx.io">JavaFX</a> for RaspberryPI, using RaspberryPI as a server / edge device, running <a href="https://quarkus.io">Quarkus</a> with <a href="https://quarkus.io/guides/hibernate-orm-panache">Panache</a> on RaspberryPI, Quarkus starts 3 times faster as <a href="https://spring.io">Apache Spring</a> on RaspberryPI in JVM mode, Quarkus native mode didn't ran on RaspberryPI / ARM, starting with Quarkus and <a href="https://quarkus.io">MicroProfile</a> was easy, clusters with <a href="https://turingpi.com">turingpi.com</a>, migration from Spring to Quarkus took a few hours, </blockquote> <p>Frank Delporte on twitter: <a href="https://twitter.com/FrankDelporte">@FrankDelporte</a>, Frank's blog: <a href="https://webtechie.be">webtechie.be</a> and Frank's book: <a href="https://webtechie.be/books/">"Getting Started with Java on Raspberry Pi"</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 5 Sep 2020 11:00:00 +0100">Sat, 5 Sep 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_104.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_103"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_103">#<span itemprop="episodeNumber">103</span></a> Unit Testing Considered Harmful</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_103">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Alexey Golub (<a href="https://twitter.com/Tyrrrz">@Tyrrrz</a>) about: <blockquote> playing <a href="https://en.wikipedia.org/wiki/Doom_(franchise)">doom</a> on the 200 mHz Pentium 2 PC, watching the <a href="https://en.wikipedia.org/wiki/The_Social_Network">"Social Network"</a> movie with 16 years, learning with 10 years QBasic, Pascal and Delphi at school, starting with C# and the free Visual Studio Express, starting to learn C# with Jetbrains <a href="https://www.jetbrains.com/rider/">Rider</a> and <a href="https://dotnet.microsoft.com">.net</a> core, <a href="https://en.wikipedia.org/wiki/.NET_Core">.net core</a> is the lightweight, cross platform alternative, .net core replaced .net, rebranding .net core back to .net in 2020, <a href="https://www.java.com/en/">Java</a> from Oracle vs. <a href="https://openjdk.java.net">openJDK</a>, commercially supported openJDK, programming a chat bot in C# and MS Access, .net core ships with Entity Framework core, MS SQL server runs on Linux, <a href="https://nhibernate.info">NHibernate</a> and <a href="https://en.wikipedia.org/wiki/Dapper_ORM">Dapper ORM</a>, <a href="https://java.net">java.net</a> was before dot.net, starting with .net dot.net, using <a href="https://code.visualstudio.com">Visual Studio Code</a> for C# development, <a href="https://www.jetbrains.com/resharper/">Resharper</a> is an extension to Visual Studio, Rider is going to replace Visual Studio with Resharper, building applications as freelancer for social networks, building an enterprise-oriented <a href="https://monzo.com">monzo</a>, learning Java after C#, strange C# coding and naming conventions, <a href="https://reactjs.org">react</a> over <a href="https://reactjs.org">angular</a>, .net vs. Java popularity, .net is getting more popularity, <a href="https://dotnet.microsoft.com/learn/aspnet/what-is-aspnet-core">ASP.net core</a> is one of the most popular frameworks, ASP.net is a consolidated project, <a href="https://en.wikipedia.org/wiki/ASP.NET_Razor">razor</a> comes with a templating engine, <a href="https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor">blazor</a> is based on <a href="https://webassembly.org">WebAssembly</a>, the 80 percent coverage rule, pointless unit tests for accessors, enums and constructors, high coupling with <a href="https://en.wikipedia.org/wiki/Jakarta_RESTful_Web_Services">JAX-RS</a> tests, <a href="https://martinfowler.com/bliki/TestPyramid.html">test pyramid</a> is problematic for the majority of backend projects, free code coverage for unit tests, integration- and system- tests ship ofter without code coverage, <a href="https://en.wikipedia.org/wiki/Mutation_testing">mutation testing</a> and <a href="https://pitest.org">pitest</a>, mutation testing uncovers pointless asserts, definition of unit testing, integration testing, system testing, test coverage with <a href="https://www.sonarqube.org">sonar</a>, the most useful tests are blackbox tests, identifying forgotten code with test coverage, <a href="http://codecov.io">codecov.io</a> visualizes code coverage results, <a href="https://github.com/coverlet-coverage/coverlet">coverlet</a> is a library - a "private" .net library, <a href="https://www.jacoco.org">jacoco</a> agent in Java, writing stress tests for robustness, identifying memory leaks with stress tests, <a href="https://tyrrrz.me/blog/unit-testing-is-overrated">"Unit Testing is Overrated"</a> article, </blockquote> <p>Alexey Golub's website: <a href="https://tyrrrz.me">https://tyrrrz.me</a>, Alexey on twitter: <a href="https://twitter.com/Tyrrrz">@Tyrrrz</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 29 Aug 2020 11:00:00 +0100">Sat, 29 Aug 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_103.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_102"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_102">#<span itemprop="episodeNumber">102</span></a> 25 Years of Java: JDK 1.0 to JDK 1.1</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_102">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Wolfgang Weigend (<a href="https://twitter.com/wolflook">@wolflook</a>) about: <blockquote> JDK 1.0 and applets, the great "hello, world" main, the fake portability, the <a href="https://en.wikipedia.org/wiki/Mosaic_(web_browser)">Mosaic</a> browser was the break through, the <a href="https://en.wikipedia.org/wiki/HP-UX">HP-UX</a> workstations, applets and the grey rectangle, the duke <a href="https://www.oracle.com/java/duke.html">artist</a> Java's <a href="https://docs.oracle.com/javase/7/docs/technotes/tools/windows/appletviewer.html">AppletViewer</a>, <a href="https://docs.oracle.com/javase/9/docs/api/java/awt/Event.html">AWT event model</a> in JDK 1.0, JDK 1.1 with JDBC, RMI was the baseline for application servers, the great <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/jdbc/">JDBC</a> debate, ODBC-JDBC bridge, <a href="https://en.wikipedia.org/wiki/JDBC_driver">JDBC type-2</a> driver, building chats with Java's <a href="https://docs.oracle.com/javase/7/docs/technotes/guides/rmi/hello/hello-world.html">Remote Method Invocation</a> (RMI), <a href="https://docs.oracle.com/javase/7/docs/technotes/tools/windows/rmic.html">rmic</a> for stub and skeleton generation, rmic vs. <a href="https://grpc.io">grpc</a>, don't forget your history, the history reset, JDK 1.1 introduced <a href="https://courses.cs.washington.edu/courses/cse341/99wi/java/tutorial/java/javaOO/_1_1InnerClasses.html">inner classes</a>, RMI was not optimized, <a href="https://docs.oracle.com/cd/E13222_01/wls/docs91/rmi/rmi_t3.html">T3 RMI</a> came with 10 times higher performance, building logistics enterprise applications with JDK 1.1, refactoring of AWT event model in JDK 1.1, <a href="https://en.wikipedia.org/wiki/JavaBeans">JavaBeans</a> and <a href="https://www.infoworld.com/article/2077005/the-beanbox--sun-s-javabeans-test-container.html">Sun's BeanBox</a>, getters / setters - the reminder of "visual programming", Sun Java Studio, Sun Microsystems trainings, the disappointed student--Enterprise Java Beans are not Java Beans, the unfortunate Enterprise Java Beans and Java Beans naming, Java's introspection vs. reflection, AWT was crucial for Java's success, JDK 1.1 was tiny, the <a href="https://www.oracle.com/java/technologies/java-archive-downloads-javase11-downloads.html">size of Java</a>, using serialized JavaBeans for configuration purposes, unexpected business case with connection pooling, from client server and dedicated connections to middleware and connection pooling, form dedicated to technical user, watching Java from C-perspective, the Systems Conference with huge Java interests, you could use JDK 1.1 for a lot of projects, Java was a game changer, "Karl Klammer" is "Clippy", problematic, distributed garbage collection with RMI, the CORBA vs. RMI battle, the <a href="https://en.wikipedia.org/wiki/NetDynamics_Application_Server">NetDynamics</a> application server, the application servers took over CORBA, parallelisation with Java Collection, pass by value vs. pass by reference with CORBA, RMI over IIOP, <a href="https://en.wikipedia.org/wiki/IONA_Technologies">IONA's</a> <a href="https://en.wikipedia.org/wiki/Orbix_(software)">ORBIX</a> vs. Visigenics <a href="https://en.wikipedia.org/wiki/Visibroker">Visibroker</a> battles, Visual Age For Java and IBM's <a href="https://wiki.c2.com/?IbmSanFrancisco">San Francisco Framework</a>, <a href="https://en.wikipedia.org/wiki/Visual_Café">Symantec Visual Cafe</a> for Java, <a href="https://en.wikipedia.org/wiki/JBuilder">JBuilder</a> Professional and Enterprise, Java Studio Workshop and Java Studio Creator, <a href="https://en.wikipedia.org/wiki/CodeWarrior">Metrowerks Code Warrior</a> for Java, <a href="https://www.eclipse.org/ide/">Eclipse</a> and <a href="https://en.wikipedia.org/wiki/CodeWarrior">NetBeans</a>, <a href="https://www.referenceforbusiness.com/history2/76/Programmer-s-Paradise-Inc.html">Programmers Paradise</a>, Eclipse killed JBuilder, the <a href="http://www.jgoodies.com">JGoodies</a> library, JBCL foundation classes, </blockquote> <p>Wolfgang Weigend on twitter: <a href="https://twitter.com/wolflook">@wolflook</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 22 Aug 2020 11:00:00 +0100">Sat, 22 Aug 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_102.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_101"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_101">#<span itemprop="episodeNumber">101</span></a> MicroProfile 4.0 Features and Ideas</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_101">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Emily Jiang (<a href="https://twitter.com/emilyfhjiang">@emilyfhjiang</a>) about: <blockquote> <a href="https://microprofile.io/">MicroProfile</a> passion, usability as a goal, learn once, use it everywhere, MicroProfile: the freedom of choice, <a href="https://www.payara.fish/">Payara</a>, <a href="https://openliberty.io/">OpenLiberty</a>, <a href="https://wildfly.org/">WildFly</a>, <a href="http://tomee.apache.org/">Apache TomEE</a>, <a href="https://helidon.io">Helidon</a>, <a href="https://ee.kumuluz.com/">KumuluzEE</a>, <a href="https://quarkus.io/">Quarkus</a>, <a href="https://openwebbeans.apache.org/meecrowave/">Meecrowave</a>, <a href="https://github.com/fujitsu/launcher">Fujitsu Launcher</a>, <a href="https://piranha.cloud/">Piranha Cloud</a> are implementing MicroProfile, developer vs. vendor role, nice interactions with MicroProfile community, MicroProfile ships with an umbrella spec, MicroProfile allows backward incompatible changes, MicroProfile <a href="https://wiki.eclipse.org/MicroProfile/Implementation">TCKs</a> are exercised against multiple vendors continuously, the lack of <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS">CORS</a> spec, Quarkus support for CORS, <a href="https://github.com/eclipse/microprofile-reactive-messaging">MicroProfile Reactive Messaging</a> and <a href="https://github.com/eclipse/microprofile-graphql">MicroProfile GraphQL</a>, <a href="https://github.com/eclipse/microprofile-lra">MicroProfile Long Running Transactions</a>, <a href="https://github.com/eclipse/microprofile-context-propagation">MicroProfile Context Propagation</a>, are MicroProfile Profiles viable solution for spec packaging, a monolithic API is more convenient for developers, multiple scopes / types in MicroProfile Metrics registry proposal, MicroProfile specs play nice together, <a href="https://github.com/eclipse/microprofile-fault-tolerance">MicroProfile Fault Tolerance</a> and MicroProfile Context Propagation integration, MicroProfile Context Propagation propagates transactions, CDI scoped and security scopes, MicroProfile 4.0 is going to be aligned with Jakarta EE 8, <a href="https://github.com/eclipse/microprofile-config">MicroProfile Config</a> staging profiles (dev, int, prod), <a href="https://deltaspike.apache.org/">DeltaSpike</a> motivated configuration bean injection, MicroProfile Config <a href="https://github.com/eclipse/microprofile-config/pull/577,">variable substitution</a>, <a href="https://smallrye.io/">Smallrye</a> implemented a prototype for the DI into MicroProfile ConfigSources, MicroProfile Fault Tolerance with MicroProfile Context Propagation integration by getting the access to the context, integrations with Server Sent Events SSE, <a href="https://github.com/eclipse/microprofile-open-api">MicroProfile OpenAPI</a> / Jakarta Bean Validation integration, <a href="https://github.com/eclipse/microprofile-jwt-auth">MicroProfile JWT</a> encryption and cookie support, optional group claim in MicroProfile 4.0 JWT, the MicroProfile style, MicroProfile and <a href="https://semver.org/">Semantic Versioning</a>, <a href="http://wad.sh">wad.sh</a> "Watch and Deploy", Reactive Messaging emitter annotation on <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a> resources, backpressure and overflow support in Reactive Messaging, possible <a href="https://smallrye.io/smallrye-mutiny/">mutiny</a> adoption in MicroProfile, MicroProfile Long Running Actions is on the horizon, Real World <a href="https://jakarta.ee/">Jakarta EE</a> and MicroProfile mix, MicroProfile Reactive Messaging is an abstract layer with <a href="https://jakarta.ee/specifications/messaging/">JMS</a> support, MicroProfile data access idea is in discussion, <a href="https://quarkus.io/guides/hibernate-orm-panache">Quarkus Panache</a>, should Jakarta EE and MicroProfile be merged?, Jakarta EE and MicroProfile are driven by the same team, MicroProfile moves faster than Jakarta EE, </blockquote> <p>Emily Jiang on twitter: <a href="https://twitter.com/emilyfhjiang">@emilyfhjiang</a>, and <a href="https://microprofile.io/">microprofile</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 16 Aug 2020 11:00:00 +0100">Sun, 16 Aug 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_101.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_100"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_100">#<span itemprop="episodeNumber">100</span></a> C, Java, Distributed Computing, Hazelcast and Apache Kafka</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_100">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Viktor Gamov (<a href="https://twitter.com/gAmUssA">@gAmUssA</a>) about: <blockquote> Russian, pirate 286 intel knock-off, starting with <a href="https://en.wikipedia.org/wiki/BASIC">BASIC</a>, typing programs from magazines, fun with computer graphics primitive in BASIC, <a href="https://en.wikipedia.org/wiki/Adobe_Flash">Flash</a> animations with <a href="https://en.wikipedia.org/wiki/ActionScript">ActionScript</a>, drawing buttons with Visual Basic, learning C/C++ at the university, implementing a log scraper in <a href="https://en.wikipedia.org/wiki/Perl">Pearl</a> to get an aggregated view, <a href="https://en.wikipedia.org/wiki/Unreal_Tournament">Unreal Tournament</a> was the secret goal, enjoying the lack of no compilation in excel macros, Java and <a href="https://en.wikipedia.org/wiki/Apache_Flex">Flex</a> development, creating GUIs with <a href="https://en.wikipedia.org/wiki/C%2B%2BBuilder">Borland C++</a> builder at university, the size of statically compiled libraries matters, optimising the size with MS Visual C++, exploring <a href="https://en.wikipedia.org/wiki/DirectX">DirectX</a> SDK, <a href="https://en.wikipedia.org/wiki/OpenGL">OpenGL</a> vs. DirectX, enjoying <a href="https://en.wikipedia.org/wiki/OpenGL">MSDN</a> with Visual Studio .net and C#, the Russian Development Software Network <a href="https://rsdn.org">rsdn.org</a>, Thinking in C++ over <a href="https://en.wikipedia.org/wiki/Thinking_in_Java">Thinking in Java</a>, nice looking and opensource <a href="https://www.eclipse.org/ide/">Eclipse IDE</a>, writing web servers in Java, <a href="https://en.wikipedia.org/wiki/Java_(software_platform)">JRE vs. JDK</a>, <a href="https://en.wikipedia.org/wiki/Russian_University_of_Transport">Moscow State University for Railway Engineering</a>, writing backends with <a href="https://www.ibm.com/cloud/websphere-application-platform/">WebSphere</a> and <a href="https://www.ibm.com/us-en/marketplace/rad-for-websphere-software">RAD</a>, WebSphere Community Edition 5.0 vs. <a href="https://geronimo.apache.org">Geronimo</a> vs. <a href="http://tomcat.apache.org">Tomcat</a>, <a href="https://en.wikipedia.org/wiki/JBuilder">Borland JBuilder</a> with <a href="http://www.drbob42.com/jbuilder/jb210T.htm">JBCL</a>, great <a href="https://en.wikipedia.org/wiki/IBM_Developer">DeveloperWorks</a> from IBM, <a href="https://twitter.com/scottdavis99">Scott Davis'</a> articles about Groovy, smart and motivated kids, nice Ruby and Rails, Scott Davis and Grails, working on Russian Google -> <a href="https://yandex.com">Yandex</a>, working with <a href="https://yakovfain.com">Yakov Vain</a> in Flex and Java, writing the <a href="https://www.oreilly.com/library/view/enterprise-web-development/9781449357023/">Enterprise Web Development</a> book, working for <a href="https://hazelcast.org">Hazelcast</a> and <a href="https://twitter.com/oztalip">Talip Ozturk</a>, speaking at <a href="https://en.wikipedia.org/wiki/JavaOne">JavaOne</a>, working as solution architect, meeting <a href="https://www.horstmann.com">Cay Horstmann</a> - author of <a href="https://www.horstmann.com/corejava/index.html">Core Java</a> book, the <a href="https://en.wikipedia.org/wiki/CAP_theorem">CAP theorem</a>, from Hazelcast to <a href="https://www.confluent.io">Conluent</a> and <a href="https://kafka.apache.org">Apache Kafka</a>, building <a href="https://kafka-tutorials.confluent.io">kafka-tutorials.confluent.io</a>, Kafka and <a href="https://projects.eclipse.org/projects/ee4j.jms">JMS</a> are following opposite principles, from JMS persistent topics to Kafka, from Hadoop and Big Data to Kafka, BigData and <a href="https://en.wikipedia.org/wiki/Lambda_architecture">lambda</a> architecture, from batch to real time processing, data is an immutable set of events, no replay in JMS, the <a href="https://debezium.io/blog/2019/02/19/reliable-microservices-data-exchange-with-the-outbox-pattern/">outbox pattern</a>, <a href="https://en.wikipedia.org/wiki/Change_data_capture">Change Data Capture</a> (CDC), <a href="https://debezium.io/">debezium</a>, </blockquote> <p>Viktor Gamov on twitter: <a href="https://twitter.com/gAmUssA">@gAmUssA</a>, Victor's website: <a href="https://gamov.io">gamov.io</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 8 Aug 2020 11:00:00 +0100">Sat, 8 Aug 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_100.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_99"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_99">#<span itemprop="episodeNumber">99</span></a> VB, WebSphere, JBoss, GlassFish and Vaadin Flow</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_99">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Simon Martinelli (<a href="https://twitter.com/simas_ch">@simas_ch</a>) about: <blockquote> gaming and BASIC programming with <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a>, reading a <a href="https://www.mut.de">Markt and Technik</a> book about C64 programming, building a volleyball tournament application with C64, writing a <a href="https://en.wikipedia.org/wiki/Visual_Basic">Visual Basic</a> application for track and field competition, <a href="https://en.wikipedia.org/wiki/Microsoft_Access">MS Access</a> applications were maintained by business people, maintaining an application for 30 years, no love for <a href="https://wiki.eclipse.org/Rich_Client_Platform">Eclipse RCP</a>, Swiss Railways implemented the train disposition system with Eclipse RCP, a disruptive keynote for Swiss Railways, starting with <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a> on mainframe and IMS, mixing COBOL and assembler for performance, <a href="https://en.wikipedia.org/wiki/Serverless_computing">serverless</a> programming with COBOL, COBOL security mechanism is nice, mainframe is virtualized and similar to <a href="https://en.wikipedia.org/wiki/Docker_(software)">docker</a>, mainframe jobs are like docker containers, database and business logic are not distributed on <a href="https://en.wikipedia.org/wiki/IBM_System_i">AS 400</a>, running as much as possible on a single machine could become a best practice, helping to solve the "year 2000 problem", <a href="https://en.wikipedia.org/wiki/IBM_WebSphere_Application_Server">WebSphere</a> with TopLink, Oracle, MQ Series and Swing, the transition from mainframes to WebSphere, replacing MQ Series with <a href="https://kafka.apache.org">Apache Kafka</a>, from "in-memory" remoting to EJB-remoting, using <a href="https://www.eclipse.org/swt/">Eclipse SWT</a> for performance reasons, <a href="https://en.wikipedia.org/wiki/Swing_Application_Framework">Swing Application Framework</a> was never <a href="https://jcp.org/en/jsr/detail?id=296">released</a>, the SWT's problem was <a href="https://www.osgi.org">OSGi</a>, <a href="https://javaee.github.io/glassfish/">GlassFish</a> was introduced as a lightweight alternative to WebSphere, Java EE 5 was an lightweight alternative, working together on <a href="https://adambien.blog/roller/abien/entry/preventing_injection_in_jpa_query">QLB</a>, the forgotten NetBeans contribution, teaching at the University of Bern, Eclipse's maven integration is still mediocre, heavy IntelliJ, focussing on JBoss performance and OR-mapping, JBoss vs. GlassFish at the University, killer use cases for <a href="https://camel.apache.org">Camel</a>, transforming <a href="https://en.wikipedia.org/wiki/Electronic_data_interchange">EDI</a> into XML, pointless <a href="https://en.wikipedia.org/wiki/Enterprise_service_bus">ESBs</a>, <a href="https://www.adam-bien.com/roller/abien/entry/why_not_one_application_per">shared deployments</a> on JBoss were problematic, <a href="https://vaadin.com/docs/v13/flow/introduction/introduction-overview.html">Vaadin flow</a> with web components, generating Vaadin frontend on-the-fly, vaadin generates Web Components / Custom Elements for the frontend, exposing metadata via REST, </blockquote> <p>Simon Martinelli on twitter: <a href="https://twitter.com/simas_ch">@simas_ch</a>, Simon's website: <a href="https://72.services">72.services</a> and <a href=" https://72.services/blog/">blog</a>.</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 1 Aug 2020 11:00:00 +0100">Sat, 1 Aug 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_99.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_98"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_98">#<span itemprop="episodeNumber">98</span></a> Walk the Path--How JBoss Happened</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_98">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Marc Fleury (<a href="https://twitter.com/docfleury">@docfleury</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/ZX81">ZX 81</a> with the rubber keys and 14 years, writing the Death Mission game, sneaking out at night to develop games, the great <a href="https://en.wikipedia.org/wiki/Apple_II">Apple 2</a>, rediscovering computers during the physics study, simulating lasers on <a href="https://en.wikipedia.org/wiki/VAX">Vax</a> and C, internet over physics at <a href="https://www.mit.edu">MIT</a>, in the 1990s studying software engineering was waste of time, interest in <a href="https://en.wikipedia.org/wiki/Quantum_entanglement">quantum entanglement</a>, working with Java, SUN and SAP, <a href="https://www.jboss.org">JBoss</a> was architected by <a href="https://en.wikipedia.org/wiki/Quantum_entanglement">Rickard Öberg</a>, learning Java in 4 years after physics study, working as support engineer at Sun Microsystems, becoming Java evangelist at Sun Microsystems as an accident, nobody wanted to hire a PhD, the birth of JBoss, spending time at SAP research with <a href="https://de.wikipedia.org/wiki/Hasso_Plattner">Hasso Plattner</a>, trying to apply <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> to SAP, Sun Microsystems and WebLogic rejected Marc, Marc started an opensource project called: <a href="https://www.linuxtoday.com/infrastructure/1999022400510OS">EJBOSS</a>, a letter from Sun lawyers, <a href="https://en.wikipedia.org/wiki/Aspect-oriented_programming">AOP</a> and EJB were invented at the same time, meta programming and aspect oriented approaches are older than Aspect Oriented Programming (AOP), JBoss is implementation of the AOP architectural ideas, AOP happens also in nature, viruses can program the system without inheritance, EJB 1 was a piece of sh*t, Sun's standards efforts is what industry needed, crazy Rickard &Ouml;berg was an alien, opensource internet is the remedy, internet is from the planet to the planet, entering the <a href="https://www.polytechnique.edu/en">&Eacute;cole Polytechnique</a> - a "special forces" time, opensource had to be free, JBoss was professional opensource, between IBM, SUN and the opensource fanboys, professional opensource: POS -> Piece of Sh*t, AWS in 1997 - 10 years too early, <a href="https://github.com/starksm64">Scott Stark</a> made a distributable product, "walk the path" mantra, <a href="https://ch.linkedin.com/in/sachalabourey">Sascha Labourey</a> wrote the JBoss clustering JBoss was developed in the first year by 10 people, great software started with small teams, increasing the team size can decrease the motivation and fun, why JBoss was sold, WildFly version 20 came out, studying system biology, learning about finance, how to keep money as investor, studying music and enjoying techno, working with professor of percussion who worked with <a href="http://www.karlheinzstockhausen.org">Karlheinz Stockhausen</a>, writing <a href="https://en.wikipedia.org/wiki/Monte_Carlo_method">Monte Carlo</a> simulations with Java 8 for fun, <a href="https://cr.openjdk.java.net/~rpressler/loom/Loom-Proposal.html">Java 15 fibers and project Loom</a>, Robert G. Pickel worked for Gemstone, founding: <a href="http://twoprime.io">twoprime.io</a> Two Prime FF1 Token - the product was launched at the worst possible day, working with <a href="https://www.linkedin.com/public-profile/in/alexandersblum">Alexander S. Blum</a> coding keeps you young, writing physics simulations with Java, JBoss vs. <a href="https://wildfly.org">WildFly</a>, JBoss vs. <a href="https://quarkus.io">Quarkus</a>, shared deployments in microservice and cloud era, invoking the angels an linux diamonds, </blockquote> <p>Marc Fleury on twitter: <a href="https://twitter.com/docfleury">@docfleury</a> and Marc's company: <a href="http://twoprime.io">twoprime.io</a> / <a href="https://twitter.com/Two_Prime">@Two_Prime</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 27 Jul 2020 11:00:00 +0100">Mon, 27 Jul 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_98.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_97"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_97">#<span itemprop="episodeNumber">97</span></a> The Lightguard and the Quarkus Cookbook</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_97">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Jason Porter (<a href="https://twitter.com/lightguardjp">@lightguardjp</a>) about: <blockquote> From old 8086 in the late 80-ties, to a Pentium, old <a href="https://en.wikipedia.org/wiki/GW-BASIC">GW-BASIC</a> games like snake and <a href="https://en.wikipedia.org/wiki/Gorillas_(video_game)">gorillas</a>, finding game source by accident, learning Java in 21 days - with a book, fascination with Java Applets, learning C++ at middle school, writing C code with Metrowerks <a href="https://en.wikipedia.org/wiki/CodeWarrior">CodeWarrior</a>, learning pointers with 14, building OCR in C at high school, Pearl and PHP before <a href="https://www.neumont.edu">Neumont University</a>, contributing to <a href="http://www.flyspray.org">FlySpray</a> the bugtracker, building inventory application with C# and WinForms, building a scrapbook with full-text search in 10 weeks, accessing lucene from C#, first Java project for the State of Utah with JBoss Portal, a JDBC wrapper around LDAP, building a client library to wrap SOAP, curiosity about Java EE 5, creating student portfolios with Java EE 5, EJB 3, JSF and <a href="https://javaee.github.io/glassfish/">GlassFish</a>, commercial support was available from Sun Microsystems for Glassfish, there was a lag between <a href="https://www.jboss.org">JBoss</a> and <a href="https://www.wildfly.org">WildFly</a> versions, working with <a href="https://en.wikipedia.org/wiki/Art_Technology_Group">ATG dynamo</a> for <a href="https://www.octanner.com/language.html">oc tanner</a>, accelerating ETL and data validation with Java EE 5 and JMS, increasing performance with JBoss from a day to one and half hour, joining the Seam Team at RedHat, Seam Solder became <a href="https://deltaspike.apache.org">Apache Delta Spike</a>, DeltaSpike became the groundwork for e.g. <a href="https://github.com/eclipse/microprofile-config">MicroProfile Config</a>, Injection, Outjection and <a href="https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/4.3/html/seam_reference_guide/seam_reference_guide-the_contextual_component_model-bijection">Bijection</a>, from Java to Ruby, from Ruby to Drupal, form Drupal back to Java and <a href="https://asciidoc.org">Quarkus</a>, <a href="https://asciidoc.org">asciidoc</a> is like markdown, but better, contributing to Quarkus, joining forces with <a href="https://twitter.com/alexsotob">Alex Soto</a> for <a href="https://www.oreilly.com/library/view/quarkus-cookbook/9781492062646/">Quarkus Cookbook</a>, Kubernetes operators with Quarkus, why lightguard (<a href="https://twitter.com/lightguardjp">@lightguardjp</a>)?, </blockquote> <p>Jason Porter on twitter: <a href="https://twitter.com/lightguardjp">@lightguardjp</a> and <a href="https://www.linkedin.com/in/jasonporter">linkedin</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 19 Jul 2020 11:00:00 +0100">Sun, 19 Jul 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_97.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_96"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_96">#<span itemprop="episodeNumber">96</span></a> Long Coding Nights, ShrinkWrap, Arquillian and Testing</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_96">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Andrew Lee Rubinger (<a href="https://twitter.com/alrubinger">@alrubinger</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/GW-BASIC">GW-BASIC</a> to reprogram a classic piece of music with the sound command, playing games in a spreadsheet of <a href="https://en.wikipedia.org/wiki/Lotus_1-2-3">lotus 1-2-3</a>, CDs or MP3s, the undeclared student, studying music production in New York, excited about the the intentionally difficult programming class in Massachusetts, learning Java in early 2000's, discovering Java servers, <a href="https://www.jboss.org">JBoss</a> 2x and Java EE is the coolest thing, programming <a href="https://en.wikipedia.org/wiki/Monte_Carlo_method">Monte Carlo simulations</a> to pay for a flight, becoming a global publisher with the web, chatting over speaking, self-study addiction, long coding nights, a music streaming client with Java EE backend, building an educational, grade online tracking system, JBoss was free and it didn't suck, contributing patches to EJB container, a hard job interview at JBoss, creating the <a href="http://arquillian.org/modules/shrinkwrap-shrinkwrap/">ShrinkWrap</a> library, creating <a href="http://arquillian.org">Arquillian</a>, Arquillian's strength are integration and system tests with the ease of unit tests, with ShrinkWrap you can provide multiple deployments, the use cases for grey box tests, testing transactions is tricky, starting the <a href="https://developers.redhat.com/devnation">DevNation</a> conference, from application servers to kubernetes, containers and clouds, reasonable Java EE 6 applications should work in the clouds without any major modifications, 5mins from nothing to the first DB access, the time to "hello, world", from configuring everything to convention over configuration </blockquote> <p>Andrew Lee Rubinger on twitter: <a href="https://twitter.com/alrubinger">@alrubinger</a>, <a href="https://www.linkedin.com/in/alrubinger">linkedin</a> and <a href="https://github.com/ALRubinger">github</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 10 Jul 2020 11:00:00 +0100">Fri, 10 Jul 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_96.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_95"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_95">#<span itemprop="episodeNumber">95</span></a> Getting Good Ideas From .net</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_95">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Ronald Dehuysser (<a href="https://twitter.com/rdehuyss">@rdehuyss</a>) about: <blockquote> Pentium, stepper motors and 3d scanner, starting with C++, Java enjoyment after C++ experiences, deletion over refactoring, programming in Java and SVG a Brussels Railway station, SVG a <a href="https://projects.apache.org/project.html?xmlgraphics-batik">Batik</a>, defining UI in XML, windsurfing instead of programming in leisure, starting at a Content Management Company, combination of Java and VB Script, Visual Basic and Java with Sun Microsystems: <a href="https://www.zdnet.com/article/javaone-java-se-to-support-visual-basic/">Project Semplice</a> Visual Basic on JVM, tinder-like platform for flemish government, mouseless, xtreme programming, <code>mvn clean install -DskipTests=true</code>, test obelisk over <a href="https://martinfowler.com/articles/practical-test-pyramid.html">test pyramid</a>, unit tests can negatively impact the productivity, from 60k to 30k lines of code, opensource maturity of .net ecosystem, the great .net <a href="https://github.com/jbogard/MediatR">mediatr</a> library, .net mediatr vs. Jakarta EE's and MicroProfiles JAX-RS with CDI, the .net mediatr replaces the boundary, <a href="https://www.jobrunr.io">JobRunner</a> for long running Java lambdas, <a href="https://asm.ow2.io">asm</a> for lambda serialization, </blockquote> <p>Ronald Dehuysser on twitter: <a href="https://twitter.com/rdehuyss">@rdehuyss</a>, <a href="https://be.linkedin.com/in/ronalddehuysser">Linkedin</a>, JobRunner on twitter: <a href="https://twitter.com/JobRunr">@JobRunner</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 8 Jul 2020 11:00:00 +0100">Wed, 8 Jul 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_95.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_94"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_94">#<span itemprop="episodeNumber">94</span></a> Jakarta EE, MicroProfile and the iPhone Problem</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_94">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Kevin Sutter (<a href="https://twitter.com/kwsutter">@kwsutter</a>) about: <blockquote> working on <a href="https://jakarta.ee">Jakarta EE</a> 9 and <a href="https://microprofile.io">MicroProfile</a>, IBM is supporting the Jakarta EE programming model, Oracle participates productively in Jakarta EE development, the developer and vendor view on Jakarta EE and MicroProfile, Jakarta EE and MicroProfile separation, one release of Jakarta EE per year is likely, <a href="https://jakarta.ee/specifications/mvc/">Jakarta MVC</a> and NoSQL could become part of Jakarta EE 9, should MicroProfile Configuration move to Jakarta EE?, thinking about MicroProfile working group, MicroProfile focusses on cloud specs, Jakarta EE is provides the stable infrastructure, "political is legal", successful opensource projects are like big companies, the Eclipse Foundation specification process will work fine for MicroProfile, Jakarta EE 9 big features, the <a href="https://projects.eclipse.org/proposals/eclipse-transformer">Eclipse Transformer</a>, Eclipse Transformer was used to transform the Jakarta EE TCK, Eclipse Transformer is used on application servers, but could also be used for applications, after 20 years of compatibility a breaking change is o.k., cleanup happens in Jakarta EE 9, XML-related services in Jakarta EE 9 are going to be listed as "optional", microservices and the trend towards monoliths, micro is not that micro any more, smallrye becomes the common implementation repository for MicroProfile, MicroProfile reactive messaging and MicroProfile GraphQL are not a part of MicroProfile platform yet, </blockquote> <p>Kevin Sutter on twitter: <a href="https://twitter.com/kwsutter">@kwsutter</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 28 Jun 2020 11:00:00 +0100">Sun, 28 Jun 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_94.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_93"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_93">#<span itemprop="episodeNumber">93</span></a> Choose Things That Work And Solve The Problem</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_93">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Erik Costlow (<a href="https://twitter.com/costlow">@costlow</a>) about: <blockquote> the superold 486, DOS bootdisks, the difference between information systems and computer science, writing webapps and dining ordering scheduling with PHP, the trouble to start with Java 1.5 in 2004, type annotations in Java - <a href="https://jcp.org/en/jsr/detail?id=308">JSR-308</a> annotations on Java types, writing servlets on Apache Tomcat at <a href="https://www.formsite.com">formsite.com</a>, starting at <a href="https://www.microfocus.com/en-us/solutions/application-security/">fortify</a>, joining Oracle Java Platform Group, 2 years of Java without a zero day exploit, starting at <a href="https://www.contrastsecurity.com">contrastsecurity.com</a>, Contrast Security is the <a href="https://blogs.oracle.com/java/dukes-choice-award-winners-2013">Duke Choice Awards</a> winner, no secret plans at Oracle, deleting code with <a href="https://quarkus.io">Quarkus</a> migration, well spending security efforts by focusing on relevant APIs, using the Java instrumentation API to observe what is actually used, security scanners are similar to profilers, simplifying code with <a href="https://quarkus.io/guides/hibernate-orm-panache">Panache</a> and Quarkus, integrating a security framework as Quarkus extension, the <a href="https://en.wikipedia.org/wiki/Thermopylae">battle of Thermopylae</a>, the difference between <a href="https://microprofile.io">MicroProfile</a> and <a href="https://jakarta.ee">Jakarta EE</a>, MicroProfile Platform is great for conserving developer skills, Quarkus is an optimized version of Java EE, pushing Quarkus to AWS lambda, </blockquote> <p>Erik Costlow on twitter: <a href="https://twitter.com/costlow">@costlow</a> and <a href="https://contrastsecurity.com">contrastsecurity.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 22 Jun 2020 11:00:00 +0100">Mon, 22 Jun 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_93.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_92"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_92">#<span itemprop="episodeNumber">92</span></a> Programming Wallpaper over Violin</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_92">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Lenny Primak (<a href="https://twitter.com/lprimak">@lprimak</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Fortran">fortran</a> as wallpaper: 2 x 6m, violin lessons are the price, <a href="https://en.wikipedia.org/wiki/Commodore_VIC-20">commodore vic 20</a>, assembler love, C++ is the best, financial backends with sybase, <a href="https://en.wikipedia.org/wiki/SQLJ">SQLJ</a>, Sun C++ compiler with painful templates, C++ is actually a terrible language, the killer Java feature, binary C++ libraries are a nightmare, designing stock indices on paper for complexity reduction, building mortgage calculators, flying as a hobby, building market makers, truck scheduling system, <a href="https://javaee.github.io">Java EE</a> just works, starting with <a href="https://www.jboss.org">JBoss</a> 4, Java EE productivity for small business apps, JBoss 4 to JBoss 5 migration didn't work, switching from JBoss 4 to <a href="https://javaee.github.io/glassfish/">GlassFish 3</a>, <a href="https://en.wikipedia.org/wiki/Comet_(programming)">PrimeFaces</a> and <a href="http://showcase.omnifaces.org">OmniFaces</a> on GlassFish, GlassFish admin console, switching from GlassFish to <a href="https://www.payara.fish">Payara</a>, <a href="https://en.wikipedia.org/wiki/Embraer_ERJ_family">embraer 145 regional jet</a>, Payara people are amazing, hazelcast and grizzly contributions, the specialisation on difficult problems, what is <a href="https://www.adam-bien.com/roller/abien/entry/java_ee_7_java_8">Boundary Control Entity (BCE)?</a>, duplication vs. overengineering, ultra fast proxy server, blocking vs. non-blocking system, tuning the thread stack size, high scalability with blocking Java EE server, building <a href="https://en.wikipedia.org/wiki/Comet_(programming)">Comet</a> communication with GlassFish, single GlassFish handled multiple thousand connections, <a href="https://cr.openjdk.java.net/~rpressler/loom/Loom-Proposal.html">Java Fibers</a> may be the solution to scalability problems, thoughts on project <a href="https://projectlombok.org">lombok</a> </blockquote> <p>Lenny Primak on twitter: <a href="https://twitter.com/lprimak">@lprimak</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 13 Jun 2020 11:00:00 +0100">Sat, 13 Jun 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_92.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_91"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_91">#<span itemprop="episodeNumber">91</span></a> Visual Studio Code: Java, XML and Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_91">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Fred Bricon (<a href="https://twitter.com/fbricon">@fbricon</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Amstrad_CPC">Amstrad CPC X1120</a> for gaming, a <a href="https://en.wikipedia.org/wiki/Materials_science">material science</a> degree, web programming over C, finite element simulations, the solid under stress, sorting blankets at the army, <a href="https://en.wikipedia.org/wiki/COBOL">COBOL</a> training, buildings portals with JSP templates, Visual Basic, WebSphere frontend with COBOL backend, CI/CD with Cruise Control, <a href="https://ant.apache.org">Apache Ant</a> for automation, the Eclipse-based <a href="https://en.wikipedia.org/wiki/Rational_Application_Developer">WSAD</a>, terrible Eclipse support for <a href="https://maven.apache.org">Apache Maven</a> 2, deploying WARs to JBoss, support for Maven and Java EE didn't exist, working on m2e eclipse project, starting to work on JBoss Tools, Eclipse <a href="https://code.google.com/archive/p/q4e/">Q4E</a>, WAR overlays in Eclipse, OpenShift IDEs tooling, starting to work with Visual Studio Code for Java, VSC language server protocol (lsp), <a href="http://www.gorkem-ercan.com">Gorkem Ercan</a> started the exploration for VSC for Java, building language server with headless Eclipse process in 2016, Microsoft wanted to make Visual Studio Code a great Java experience, <a href="https://github.com/eclipse/eclipse.jdt.ls">JDTLS</a> Java Development Tools Language Server, working on XML extension for VSC, <a href="https://quarkus.io/blog/march-of-ides/">Quarkus Tools</a> for Visual Studio Code, VSC Quarkus Extension will come with <a href="https://microprofile.io">MicroProfile</a> and Quarkus specific support, IBM contributes to Quarkus / MicroProfile language server, VSC MicroProfile support is going to be independently installable, Eclipse plugin installation process is painfully slow, two releases of VSC a month, </blockquote> <p>Fred Bricon on twitter: <a href="https://twitter.com/fbricon">@fbricon</a> and <a href="https://twitter.com/VSCodeJava">@VSCodeJava</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 6 Jun 2020 11:00:00 +0100">Sat, 6 Jun 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_91.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_90"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_90">#<span itemprop="episodeNumber">90</span></a> Bruno Hates YAML-Microsoft Loves Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_90">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Bruno Borges (<a href="https://twitter.com/brunoborges">@brunoborges</a>) about: <blockquote> <a href="https://yaml.org">YAML</a> is a great technology to see whitespaces, JSON to YAML conversion, merging YAML is painful, CSV is also great for reading, servers vs runtimes, Microsoft acquired <a href="https://www.jclarity.com/index.php">JClarity</a>, Microsoft sponsors <a href="https://adoptopenjdk.net">adoptopenjdk.net</a> project since 2018, a new Java Engineering Group was formed at Microsoft, Microsoft contributed patches to <a href="https://openjdk.java.net">openJDK</a> project, Microsoft has thousands of Java develoepers, Minecraft Java Edition allows modifications, Microsoft releases GPU optimized Java, linked-in's and <a href="https://www.microsoft.com/en-us/microsoft-365/yammer/yammer-overview">Yammer's</a> backends are implemented in Java, <a href="https://azure.microsoft.com/en-us/services/synapse-analytics/">Azure Synapse</a> is similar to Google's Big Query, Microsoft is going to release a double screen Android phone - <a href="https://www.microsoft.com/en-us/surface/devices/surface-duo">Surface Duo</a>, now you can deploy Java FX applications to Microsoft's hardware, Microsoft Azure <a href="https://azure.microsoft.com/en-us/services/app-service/">Application Hosting Service</a> with Azul JDK based on Zulu Community Edition, App Service comes with predefined Java images, App Service might be a use case to deploy uber JARs, App Service supports the separation of infrastructure and application code, <a href="https://quarkus.io">Quarkus</a> and Helidon are separating the runtime from the application code out-of-the-box, serverless deployment of Java code as <a href="https://code.visualstudio.com/docs/java/java-azurefunctions">Azure Functions</a> is also supported, Java 11 is going to be supported on Azure Functions, Azure <a href="https://azure.microsoft.com/en-us/services/container-instances/">Container Instances</a> is Docker without Orchestration, Azure Kubernetes Service - full experience with YAML included, JVM is monitored in Azure Kubernetes and Azure Container Instances out-of-the-box, a Java agent is injected which enables monitoring, MicroProfile on Azure, <a href="https://docs.microsoft.com/en-us/azure/developer/java/eclipse-microprofile/configure-microprofile-with-keyvault">MicroProfile Config with Azure Key Vault</a>, secret injection and JWT authentication are important use cases, opentelemetry merges integrates tracing and metrics: <a href="https://opentelemetry.io">opentelemetry.io</a>, JAX-RS monitoring, business monitoring with <a href="https://medium.com/@brunoborges/manage-multiple-jdks-on-mac-os-linux-and-windows-wsl2-3a73467b685c">MicroProfile</a> metrics, pulling metrics from database instead of pulling from the service, avoiding wasteful metrics, Quarkus saves RAM, garbage collection and metrics, Microsoft employs the most Java Champions?, <a href="https://visualstudio.microsoft.com/services/live-share/">Visual Studio Live Share</a>, <a href="https://medium.com/@brunoborges/manage-multiple-jdks-on-mac-os-linux-and-windows-wsl2-3a73467b685c">managing multiple JDKs: article on medium</a>, <a href="https://azure.com/free">azure.com/free</a>, </blockquote> <p>Bruno Borges on twitter: <a href="https://twitter.com/brunoborges">@brunoborges</a> and <a href="https://www.linkedin.com/in/brunocborges">LinkedIn</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 30 May 2020 11:00:00 +0100">Sat, 30 May 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_90.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_89"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_89">#<span itemprop="episodeNumber">89</span></a> What is the Direction of Quarkus?</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_89">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with John Clingan (<a href="https://twitter.com/jclingan">@jclingan</a>) about: <blockquote> <a href="https://www.redhat.com/en/summit">Redhat Summit Virtual Experience</a>, <a href="https://access.redhat.com/articles/4995341">Redhat Runtimes Quarkus Support</a>, Senior Principal Manager of Next Generation Platforms, like Quarkus, <a href="https://microprofile.io">MicroProfile</a> is a major task, the MicroProfile IP flow, the formal stuff for a working group at <a href="https://www.eclipse.org/org/foundation/">Eclipse Foundation</a>, tracking the MicroProfile progress: <a href="https://github.com/eclipse/microprofile/issues">https://github.com/eclipse/microprofile/issues</a>, the working group draft - what does it mean to be a MicroProfile working group, the MicroProfile politics, the goal of MicroProfile was to build specifications for development of microservices, MicroProfile began as crippled <a href="https://jakarta.ee">Jakarta EE</a>, MicroProfile extends right now Jakarta EE with added value, fixing potential MicroProfile incompatibilities is less problematic and takes less energy to fix, Jakarta EE is a collection of specifications with a platform spec on top, <a href="https://helidon.io">helidon</a> and <a href="https://quarkus.io">quarkus</a> are moving faster, because they are new, quarkus and helidon follow opposite philosophies, <a href="https://quarkus.io/guides/hibernate-orm-panache">Quarkus Panache</a> is proprietary but useful, Quarkus comes with 220 extensions, a half is camel related, <a href="https://summit.redhat.com/conference/sessions/details/0768ccdb-2ebe-445c-aa72-33d979852ad3?sb=false">Quarkus Vodafone Greece session</a> at Red Hat Summit, Quarkus extension enable the integration of external configuration to configuration subsystem of quarkus, parsing XML at build time to save resources at runtime, Quarkus supports YAML - but keep it secret, <a href="https://twitter.com/brunoborges">Bruno Borges</a> loves yaml, MicroProfile config is fully supported by Quarkus, Quarkus configuration is more than MicroProfile config, Quarkus Summit <a href="https://quarkus.io/blog/quarkus-summit-2020/">sessions</a>, RedHat is a bottom-up organization, Quarkus is an integration point of various teams like e.g. Jakarta EE, MicroProfile, Vert.x, Camel, all Quarkus extensions have to run in dev mode and be compilable into <a href="https://www.graalvm.org">GraalVM</a> native mode, Quarkus is also driven by community feedback, with Quarkus you can get the niceness of Jakarta EE again, from 12 replicas to 2-4 replicas to serve the same traffic, startup time and memory utilization matter a lot in the context of kubernetes, the costs of running microservices in the clouds, for every microservice in production you get seven instances in staging environments, with quarkus you can build the perfect monolith, most of customers are building microliths, the microprofile hangouts, </blockquote> <p>John Clingan on twitter: <a href="https://twitter.com/jclingan">@jclingan</a>, John's <a href="http://johnclingan.com">blog</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 23 May 2020 11:00:00 +0100">Sat, 23 May 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_89.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_88"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_88">#<span itemprop="episodeNumber">88</span></a> In-Process Polyglot with GraalVM</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_88">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Wolfgang Weigend (<a href="https://twitter.com/wolflook">@wolflook</a>) about: <blockquote> <a href="https://www.graalvm.org">GraalVM</a> Sales Consultant and GraalVM Java SE System Engineer, <a href="https://adambien.blog/roller/abien/entry/sun_tech_days_in_frankfurt">Sun Tech Days in Frankfurt</a>, <a href="https://www.adam-bien.com/roller/abien/entry/when_c_becomes_too_slow">"When C becomes too slow, the JVM has to be written in Java... project Maxwell"</a>, <a href="https://en.wikipedia.org/wiki/Maxine_Virtual_Machine">Maxine</a> and GraalVM, running NodeJS on GraalVM, creating native CLI utilities, combining multiple languages on a single JVM, polyglot programming is hard to manage, GraalVM ships with compatible ES 6+ JavaScript, GraalVM re-imagines the <a href="https://www.youtube.com/watch?v=v0Gj9Dfcx9E">Fluid Logic</a> pattern, <a href="https://www.tiobe.com/tiobe-index/">tiobe programming language index</a>, combining HotSpot and JRocket VMs, <a href="https://jbake.org">jbake</a> static page generator, combining <a href="https://handlebarsjs.com">Handlebars</a>, <a href="https://mustache.github.io">Mustache</a> with Java and Nashorn: <a href="https://github.com/AdamBien/spg">spg</a>. GraalVM allows debugging of all languages in a single process, Goldman Sachs making <a href="https://www.youtube.com/watch?v=MUECwHdr07Q">Slang to run on GraalVM with Truffle</a>, GraalVM and <a href="https://webassembly.org">web assembly</a>, <a href="https://openjfx.io">JavaFX</a> is not a competitor of Web Components and Web Standards, JavaFX competes with <a href="https://reactnative.dev">React Native</a> or <a href="https://ionicframework.com">Ionic</a>, the <a href="https://www.jfx-days.com">JFX days</a>, <a href="https://gluonhq.com/products/mobile/">Gluon Mobile</a> uses <a href="https://github.com/oracle/graal/tree/master/substratevm">SubstrateVM</a> to deploy applications to mobile devices, <a href="https://www.oracle.com/java/technologies/java-se-support-roadmap.html">JDK 8 is commercially supported until 2030</a>, JavaFX is bundled with JDK 8, with support, you don't have to wait for bug fixes, branches are expensive, JavaScript runtimes are not problematic -- but the build process can become a problem </blockquote> <p>Wolfgang Weigend on twitter: <a href="https://twitter.com/wolflook">@wolflook</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 16 May 2020 11:00:00 +0100">Sat, 16 May 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_88.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_87"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_87">#<span itemprop="episodeNumber">87</span></a> If You Get A Book, You Have To Start Reading</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_87">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Max Rydahl Andersen (<a href="https://twitter.com/maxandersen">@maxandersen</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">C 64</a>, green screens, Basic, <a href="https://en.wikipedia.org/wiki/Goto">GoTo</a>, <a href="https://en.wikipedia.org/wiki/Rally_Speedway">Rallye</a>, animated sprites, peek and pokes, snake game's source code, Summer Olympics was a joystick destroyer, <a href="https://en.wikipedia.org/wiki/WordPerfect">Word Perfect</a> on Commodore, assembler and protective demo scene on Commodore Amiga, access to information was a battle, the Turbo Pascal Book about object oriented programming, fascination with databases, building an artwork management for a gallery app in MS Access, building a WYSIWYG tool in Visual Basic, working as tutor at school, installing <a href="https://en.wikipedia.org/wiki/VisualAge">SmallTalk VisualAge</a>, great visual <a href="https://en.wikipedia.org/wiki/Delphi_(software)">Delphi</a>, Java was more open than Delphi was, medfork and the <a href="https://trifork.com">trifork</a> application server, writing an electronic medical journal, Trifork supported hot reload, JAOO became <a href="http://gotocon.com/aboutjaoo/">GOTO</a>, writing dependency management system with Python on a Dell Laptop, emacs was the main IDE, writing a Swing application which talks to trifork backend, using Apache <a href="http://db.apache.org/ojb/">OJB</a>, session sharing with Apache OJB, hibernate always understood transactions, working with Christian Bauer and Gavin King, writing the first version of hbm2ddl tool, extending hibernate to support native queries, getting fixes for enterprise software without paying, Gavin was hired by Marc Fleury, moving to Switzerland and working for Sascha Labourey, <a href="https://en.wikipedia.org/wiki/RichFaces">RichFaces</a> Exadel acquisition, JBoss IDE became JBoss Tools, what became JBoss Studio, which became RedHat Studio, which became Code Ready, frustration with Java 9, Go has some power, but doesn't have Java's ecosystem, Go legalized formatting, Swing over SWT, Swing API is awesome, SWT had nice native integration, JFace is more like Swing, a successful opensource project has to accept patches fast, Eclipse JDT is an amazing piece of technologies, Eclipse is great for browsing big code bases, the memory is not a problem, the perceived performance is, NetBeans and Eclipse have difference strategies, Eclipse tries to understand everything, NetBeans don't, overuse of OSGi, microservices and modules, start with a monolith first, quarkus takes the good parts of Jakarta EE and MicroProfile and further improves them, GraalVM native compilation is not the main feature, tree-shaking with Quarkus, <a href="https://github.com/maxandersen/jbang">JBang</a> - Java for scripting, quarkus is hard to kill, </blockquote> <p>Max Rydahl Andersen on twitter: <a href="https://twitter.com/maxandersen">@maxandersen</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 9 May 2020 11:00:00 +0100">Sat, 9 May 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_87.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_86"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_86">#<span itemprop="episodeNumber">86</span></a> The Remedy against Bike Shedding</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_86">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="https://airhacks.fm">airhacks.fm</a> conversation with Wolfgang Weigend (<a href="https://twitter.com/wolflook">@wolflook</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Atari_ST">Atari 520 ST</a> over XT 286, <a href="https://en.wikipedia.org/wiki/Motorola_68000">Motorola 68000</a> and C-Compilers for Atari 520 ST, first software company in 1987, Systems Engineer for Java and <a href="https://www.graalvm.org">GraalVM</a>, electronic engineer at <a href="https://www.dupont.com">Dupont</a>, <a href="https://www.gsi.de">GSI</a> in Darmstadt, writing networking software and an ERP system from scratch, controlling laser light shows, how to create noise with electronic devices, <a href="https://www.modis.com/en-gb/specialisms/systems-applications-products/">modis</a> was succeeded by <a href="https://en.wikipedia.org/wiki/Sage_Group">KHK / sage</a>, learning enterprises by joining Oracle, analysing network stacks, optimising databases on Texas Instruments, joining Sun Microsystems in 1997, evangelising Java at Sun Microsystems, the challenge of buying a Sun Sparc Station, learning Java at Sun Microsystems, Java case study for German Railways, no one wanted to use Java on the server side, <a href="https://en.wikipedia.org/wiki/NetDynamics_Application_Server">NetDynamics</a> vs. Java Web Server, joining BEA after WebLogic acquisition, Andy Piper wrote clustering for WebLogic, BEA was the fastest growing company, <a href="https://www.zdnet.com/article/surprise-oracle-buys-bea-systems/">Oracle bought BEA</a> in October 2008, Deutsche Bank online banking system, and several hundreds projects at Deutsche Bahn were Java / WebLogic based, DHL and Deutsche Post were also heavy Java / BEA users, J2EE and Java EE allow developers focus on real problems, Java EE is a remedy against <a href="https://en.wikipedia.org/wiki/Law_of_triviality">bike shedding</a>, </blockquote> <p>Wolfgang Weigend on twitter: <a href="https://twitter.com/wolflook">@wolflook</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 2 May 2020 11:00:00 +0100">Sat, 2 May 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_86.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_85"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_85">#<span itemprop="episodeNumber">85</span></a> Jakarta EE and MicroProfile--Siblings, Cousins or Twins</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_85">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Alasdair Nottingham (<a href="https://twitter.com/nottycode">@nottycode</a>) about: <blockquote> <a href="https://jakarta.ee">Jakarta EE</a>, <a href="https://microprofile.io">MicroProfile</a>, package name changes, <a href="https://openliberty.io">OpenLiberty</a> implements MicroProfile API, uses <a href="https://smallrye.io">SmallRye</a> for <a href="https://github.com/smallrye/smallrye-reactive-messaging">reactive messaging</a>, migration to smallrye is not trivial, reactive messaging comes with netty and <a href="https://vertx.io">vert.x</a> assumptions, Jakarta EE and MicroProfile - merging or separating, a single dependency would be nice, three camps: Jakarta EE, MicroProfile vendors and the developers, Jakarta EE is more stable, MicroProfile is more innovative, MicroProfile is not an incubator, passionated discussions about SOAP, <a href="https://en.wikipedia.org/wiki/Java_API_for_XML-based_RPC">JAX-RPC</a> is more popular, than JAX-WS, deprecation is not about removal, <a href="https://download.eclipse.org/microprofile/microprofile-2.0-javadocs-test/apidocs/org/eclipse/microprofile/config/spi/ConfigSource.html">ConfigSource</a> implementation does not support CDI, MicroProfile brings added value to Jakarta EE, MicroProfile and Jakarta EE can co-exist together, monoliths on kubernetes are valid use cases, poor vs. rich and thin vs. fat, <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a> - the annotation predecessor, EJB 2 were not that bad, </blockquote> <p>Alasdair Nottingham on twitter: <a href="https://twitter.com/nottycode">@nottycode</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 25 Apr 2020 11:00:00 +0100">Sat, 25 Apr 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_85.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_84"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_84">#<span itemprop="episodeNumber">84</span></a> Microscopic Services and The Jakarta EE 9 Earth Quake</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_84">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Markus Karg (<a href="https://twitter.com/mkarg">@mkarg</a>) about: <blockquote> What is <a href="https://headcrashing.wordpress.com/">HeadCrashing</a>? JavaMagazin, IX and Java Aktuell, the first JAX-RS contributions, extending JAX-RS via official API, you are not a spec lead, an airhacks.fm episode about Eclipse Foundation: <a href="http://airhacks.fm/#episode_13">From Java EE over EE4j to Jakarta EE</a>, no political powers, APIs and SPIs are decoupled at Jakarta EE, Jersey is only "an" implementation of the spec, not "the'" implementation, Eclipse Foundation runs their own infrastructure, make JAX-RS more usable, <a href="https://gist.github.com/mkarg/a38a68f6025f1ef6ddb4916022bd150d">Java SE bootstrap</a> API for JAX-RS, it is impossible to write a spec without code, in future there is no room for coders, contract first is problematic, it will take more time to design the spec than to write the implementation, hundreds of microscopic services, with helidon there is less coupling to the proprietary implementation, building dependencies from source, relaxing drones, use cases for JAX-RS client-side caching, modular JAX-RS, new features in Jakarta EE 9, Jakarta EE 9 earth quake is enough, the JAX-RS roadmap, aligning JAX-RS with CDI, support for Java Platform Module System, JPMS modules in JAX-RS,<a href="https://eclipse-ee4j.github.io/jersey/">Jersey</a> is a framework, not a product, JPMS modules could provide new JAX-RS features, using JAX-RS client for testing, testing on kubernetes level, functional probes, project vs. product business, thoughts on odata, select * and everything stops, being more generic for CRUD and stuff which does not matter, accessing a database via excel, prepared interviews are not fun, </blockquote> <p>Markus Karg on twitter: <a href="https://twitter.com/mkarg">@mkarg</a>, and Markus' blog: <a href="https://headcrashing.wordpress.com/">https://headcrashing.wordpress.com/</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 18 Apr 2020 11:00:00 +0100">Sat, 18 Apr 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_84.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_83"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_83">#<span itemprop="episodeNumber">83</span></a> From JMS Unit Tests to OpenLiberty</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_83">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Alasdair Nottingham (<a href="https://twitter.com/nottycode">@nottycode</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/BBC_Micro">bbc micro</a>, basic programming with <a href="https://en.wikipedia.org/wiki/Acorn_Archimedes">archimedes computers</a> by acorn, playing <a href="https://en.wikipedia.org/wiki/SimCity_2000">simcity 2000</a> on 286, brother as <a href="https://beta.playvalorant.com/de-de/">valorant</a> creative director at riot games, enjoying programming - except <a href="https://en.wikipedia.org/wiki/Prolog">prolog</a>, functional C, starting with Java and <a href="https://en.wikipedia.org/wiki/Java_version_history">JDK 1.1.8</a> in 1999, Java is great because it is lacking pointers, built-in data structures in Java, forgetting about public static void main, writing Unit Tests without <a href="https://junit.org/junit5/">JUnit</a>, deleting "red" tests, writing unit tests for the IBM MQ JMS client, joining the IBM <a href="https://www.ibm.com/cloud/websphere-application-platform/">WebSphere</a> team, writing product samples, extending a pearl wiki, running MQ series as a sidecar, developing a Java based JMS solution in WebSphere v6, writing <a href="https://www.ibm.com/support/knowledgecenter/SSEQTJ_9.0.5/com.ibm.websphere.nd.multiplatform.doc/ae/cjp_learning.html">"mediation"</a> for websphere MQ, almost serverless mediators, rebuilding WebSphere on top of OSGi, no worries about code ownership, isolating app server libraries with OSGi, <a href="https://openliberty.io">OpenLiberty</a> started in 2010, just enough application server concept, the costs of memory, optimizations vs. developer experience, responsiveness over memory consumption, fashion trends in IT industry, <a href="https://github.com/scala/scala-xml/wiki/Getting-started">Scala's</a> XML support, coding architects are valuable, OpenLiberty was opensourced in 2017, not at IBM, </blockquote> <p>Alasdair Nottingham on twitter: <a href="https://twitter.com/nottycode">@nottycode</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 11 Apr 2020 11:00:00 +0100">Sat, 11 Apr 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_83.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_82"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_82">#<span itemprop="episodeNumber">82</span></a> Just Write Code and Keep It Forever</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_82">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Markus Karg (<a href="https://twitter.com/mkarg">@mkarg</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">Sinclair ZX Spectrum 48k</a>, the colourful rubber keys, hacking while parents where sleeping, saving code with sequences, the king of go-sub, the 8h day of 12 year old, starting a business with 14, writing business applications with XT pc, going to German Air Force, data transfer from radar stations to nuclear rockets, working as waiter with ministers, <a href="https://de.wikipedia.org/wiki/Zentrale_Dienstvorschrift">ZDV</a>, studying computer science over repairing cars, state certified programmer, passing the exams with distinction, starting with Java in 1997, submitting a <a href="https://en.wikipedia.org/wiki/PowerBuilder">PowerBuilder</a> conference talk, learning about EJB 1.0, deployment descriptors, <a href="http://shop.oreilly.com/product/9780596000165.do">Java and XML</a> - the evil book, converting a DB into XML, <a href="https://en.wikipedia.org/wiki/Borland_Enterprise_Server">Borland Enterprise Server</a>, friendly <a href="https://jonas.ow2.org">Jonas Application Server</a> team, even friendlier GlassFish application server team, EclipseLink contributions, writing extensions for Jersey, the user vs. vendor perspective, gathering production data, the problem with IIOP and firewalls, CIFS evaluation, writing <a href="https://en.wikipedia.org/wiki/WebDAV">WebDAV</a> extension for Jersey, <a href="https://twitter.com/wolflook">Wolfgang Weigend</a>, <a href="https://docs.oracle.com/cd/F49540_01/DOC/java.815/a64686/01_intr4.htm">Aurora</a> at Oracle DB, <a href="https://www.orafaq.com/wiki/IFS">Oracle IFS</a>, APIs over SPIs, </blockquote> <p>Markus Karg on twitter: <a href="https://twitter.com/mkarg">@mkarg</a>, and Markus' blog: <a href="https://headcrashing.wordpress.com/">https://headcrashing.wordpress.com/</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 7 Apr 2020 11:00:00 +0100">Tue, 7 Apr 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_82.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_81"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_81">#<span itemprop="episodeNumber">81</span></a> Strip The Cow To The Skeleton</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_81">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Arjan Tijms (<a href="https://twitter.com/arjan_tijms">@arjan_tijms</a>) about: <blockquote> loosing touch to application development, runtime vendor vs. application developer perspective, micro optimisations are pointless, moving in cycles, NoSQL, not only SQL, New SQL, developer productivity vs. runtime efficiency, the essential set of dependencies, virus scanners and deployment productivity, reimagined <a href="https://jakarta.ee">Jakarta EE</a> runtime, real embedded servers without the overhead, stripping a cow to its skeleton, <a href="https://javaserverfaces.github.io">mojarra</a> as testing runtime, developing a servlet containers "from scratch", running TCK tests against a servlet container, piranha <a href="https://github.com/omnifaces/eleos">eleos</a>, Jakarta EE compatibility, Java Server Faces without servlets, <a href="https://jcp.org/en/jsr/detail?id=77">JSR-77</a> management, <a href="https://jcp.org/en/jsr/detail?id=88">JSR-88</a> - deployment become optional, what happens to EJBs, Piranha and MicroProfile <a href="https://smallrye.io">SmallRye</a>, the relation between Piranha and <a href="http://showcase.omnifaces.org">OmniFaces</a>, the power of wording, marketing and slides, the episode <a href="http://airhacks.fm/#episode_29">#29 with Bruno Borges</a>, runtimes vs. servers, <a href="http://www.adam-bien.com/roller/abien/entry/why_not_one_application_per">One War, One Application Server, One Runtime blogpost</a>, the economics of shared deployments, the lightweight runtimes, WARs larger than runtimes, using piranha nano as command line tool, <a href="https://github.com/piranhacloud/piranha/tree/master/micro">piranha micro</a> comes with servlet runtime, piranha micro runs a single WAR file, piranha micro runs the deployment from memory, monitoring the deployment process, replacing a file system with maven, piranha micro uses piranha nano APIs, piranha nano is the runtime, piranha micro understands <a href="https://microprofile.io">MicroProfile</a> and Jakarta EE, <a href="https://twitter.com/mnriem">Manfred Riem</a> also works on piranha, <a href="https://github.com/javaee/security-soteria">soteria</a>, the Java EE 8 security implementation, is used by <a href="https://www.tmaxsoft.com">tmaxsoft</a>, soteria was one of the major contribution to Java EE 8, soteria was used before GA in several projects to get feedback, piranha server supports multiple deployments, piranha nano boots in 0.5 second, Servlet, JAAC and JASPIC are implemented by piranha, other services are integrated, piranha server relies on shrinkwrap, <a href="https://github.com/piranhacloud/piranha/tree/master/server">piranha server</a> is the only runtime which uses Java EE 8 security directly, using piranha server as oauth 2 gateway, Java EE 8 unifies and simplifies all the security APIs, <a href="https://azure.microsoft.com/en-us/services/functions/">Azure functions</a> with piranha, consuming <a href="https://cloudevents.io">cloud events</a> with piranha nano, cold startup of piranha nano is less than 1 second, piranha nano uses flat classloader, piranha micro is using an isolated classloader, </blockquote> <p>Arjan Tijms on twitter: <a href="https://twitter.com/arjan_tijms">@arjan_tijms</a>, Arjan's blog <a href="https://arjan-tijms.omnifaces.org">omnifaces</a> and <a href="https://piranha.cloud">piranha.cloud</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 29 Mar 2020 11:00:00 +0100">Sun, 29 Mar 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_81.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_80"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_80">#<span itemprop="episodeNumber">80</span></a> 500 kB ThinWARs on AWS</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_80">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Bastian Sperrhacke (<a href="https://twitter.com/deratzmann">@deratzmann</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Intel_80286">80286</a>, <a href="https://en.wikipedia.org/wiki/QBasic">qbasic</a>,CLI, <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, if-thens and <a href="https://en.wikipedia.org/wiki/Who_Wants_to_Be_a_Millionaire%3F">"Who Wants to Be a Millionaire?"</a>, inhouse outsourcing with sister, playing <a href="https://en.wikipedia.org/wiki/Prince_of_Persia">Prince of Persia</a>, MS DOS games, memory management with <a href="https://en.wikipedia.org/wiki/AUTOEXEC.BAT">autoexec.bat</a> and config.sys, taking a <a href="https://en.wikipedia.org/wiki/Adobe_Flash">Macromedia Flash</a> class ...at army, programming a beer shop in a JavaScript course by mistake, "JavaScript is dead" - in 2001, programming Java for Windows PDAs, <a href="https://en.wikipedia.org/wiki/Sharp_Zaurus">Sharp Zaurus</a> ran Linux, searching stuff in adventure parks with PDAs, chats and <a href="https://xmpp.org">XMPP</a>, chasing hidden boxes, <a href="https://www.oracle.com/java/technologies/javameoverview.html">Java ME</a> is not <a href="https://microprofile.io">MicroProfile</a>, developing digital TV on Nokia phones with ads over DVB-T, developing <a href="https://en.wikipedia.org/wiki/Wireless_Application_Protocol">WAP</a> applications, mobile portals, ringtones and games, <a href="https://en.wikipedia.org/wiki/Nokia_Communicator">Nokia Communicator</a>, WAP - "Wait And Pay", developing web sites with <a href="https://struts.apache.org">Struts</a> and JSPs, using JDBC from Struts actions to access the database, Java EE best practices training by <a href="https://www.oose.de">OOSE</a>, refactoring with GlassFish 2.1 and 3.1 and EJB 3, working since 2013 for <a href="https://www.otto.de">Otto</a> - the German amazon, home made persistence layers before <a href="https://www.otto.de">Hibernate</a>, selling insurances instead of ORM mappers, starting with microservices in cross-functional teams, using <a href="https://www.payara.fish">Payara</a> for e-commerce, running Payara, <a href="https://jakarta.ee">Jakarta EE</a> on AWS, seamless migration to AWS, implementing additional services with Payara, Java EE and AWS, buying a barista, the largest <a href="http://www.adam-bien.com/roller/abien/entry/what_are_thinwars_hollowjars_skimmedjars">ThinWARs</a> are 500kB, swagger UI is larger than the business logic, 3-5 seconds boot times, layered docker deployments, 700MB base layer, 5-10 cloud deployments a day, using <a href="https://aws.amazon.com/fargate/">AWS Fargate</a>, business driven <a href="https://microprofile.io">MicroProfile</a> metrics, experimenting with <a href="https://openliberty.io">OpenLiberty</a>, <a href="https://wildfly.org">WildFly 19</a> comes with MicroProfile support, <a href="https://quarkus.io">Quarkus</a> is the nextgen application server, migrating <a href="http://www.adam-bien.com/roller/abien/entry/bureaucratic_design_with_java_ee">Boundary Control Entity</a> applications to Quarkus, the push gateway blogpost / application, replacing Stateless EJBs with CDI Stereotypes, <a href="https://github.com/AdamBien/gatelink">Quarkus</a> vs. WildFly performance comparison, Quarkus saves 50% of RAM in JVM mode, drinking a coffee together at JavaONE, coding technical lead, casual gaming, building bases with <a href="https://en.wikipedia.org/wiki/StarCraft">StarCraft</a>, the a+ team </blockquote> <p>Bastian Sperrhacke on twitter: <a href="https://twitter.com/deratzmann">@deratzmann</a>, interview with <a href="http://www.adam-bien.com/roller/abien/entry/java_ee_thin_wars_microservices">Bastian</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 22 Mar 2020 11:00:00 +0100">Sun, 22 Mar 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_80.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_79"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_79">#<span itemprop="episodeNumber">79</span></a> Back to Shared Deployments</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_79">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Romain Manni-Bucau (<a href="https://twitter.com/rmannibucau">@rmannibucau</a>) about: <blockquote> <a href="https://www.paintshoppro.com/en/">PaintShop Pro</a>, science fiction <a href="https://en.wikipedia.org/wiki/Matte_painting">matte paintings</a>, scene generation, short movies, 3D tool automation with scripting, starting C programming with <a href="https://www.gtk.org">GTK</a>, programming PaintShop Pro "clone" as "hello, world", linux over windows, image editing involves math, learning algorithms from the internet, building <a href="https://www.winamp.com/">winamp</a>-like mp3 player with C++ and GTK, switching from C/C++ to Java, no memory management in Java, implementing problem-solvers with Java, developing "BigData" apps with <a href="https://hazelcast.org">Hazelcast</a>, <a href="http://adambien.blog/roller/abien/entry/the_grid_cloud_cluster_stuff#comment-1237169915579">Talip Ozturk</a>, implementing map-reduce algorithms for a banking sector with Hazelcast, using Apache <a href="https://en.wikipedia.org/wiki/Apache_OpenEJB">openEJB</a>, working with <a href="https://twitter.com/jlouismonteiro">Jean-Louis Monteiro</a> the openEJB committer, using openEJB for good start times and for testing, Java EE and standards do not impact your business code, working with friends at <a href="https://www.tomitribe.com">Tomitribe</a>, implementing extensions for <a href="http://tomee.apache.org">TomEE</a> - the <a href="https://microprofile.io">MicroProfile</a> before MicroProfile, joining <a href="https://www.talend.com">talend</a> to implement batch processes, joining <a href="http://www.yupiik.com">yupiik.com</a> startup, <a href="https://spark.apache.org">Apache Spark</a>, <a href="https://beam.apache.org">Apache Beam</a> and <a href="https://reactjs.org">ReactJS</a>, using Apache <a href="https://openwebbeans.apache.org/meecrowave/">Meecrowave</a>, ReactJS vs. Custom Elements, WebComponents and <a href="https://redux.js.org">Redux</a>, deploying service on-the-fly with <a href="https://en.wikipedia.org/wiki/OSGi">OSGi</a>, integrating <a href="http://www.cdi-spec.org">CDI</a> with OSGI, working with <a href="https://aries.apache.org">Apache Aries</a>, using OSGi to load machine learnings models, hot-loading modules for <a href="https://www.youtube.com/watch?v=89a4xiIabuU">"Fluid Logic"</a>, OSGI alliance <a href="https://www.osgi.org/developer/specifications/reference/">specs</a>, <a href="https://karaf.apache.org">Karaf OSGi</a>, HTTP/2 with <a href="https://felix.apache.org">Felix</a>, <a href="https://osgi.org/specification/osgi.cmpn/7.0.0/service.cm.html">OSGi ConfigAdmin</a> configuration, OSGi <a href="https://enroute.osgi.org/FAQ/400-patterns.html#whiteboard-pattern">whiteboard pattern</a>, <a href="https://github.com/apache/aries-cdi">Aries CDI</a>, </blockquote> <p>Romain Manni-Bucau on twitter: <a href="https://twitter.com/rmannibucau">@rmannibucau</a>, Romain's blog: <a href="https://rmannibucau.metawerx.net">rmannibucau.metawerx.net</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 15 Mar 2020 11:00:00 +0100">Sun, 15 Mar 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_79.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_78"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_78">#<span itemprop="episodeNumber">78</span></a> From Maxwell over Maxine to Graal VM, SubstrateVM and Truffle</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_78">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Thomas Wuerthinger (<a href="https://twitter.com/thomaswue">@thomaswue</a>) about: <blockquote> Working on <a href="https://en.wikipedia.org/wiki/HotSpot">HotSpot</a>, Sun started collaboration with <a href="http://ssw.jku.at/Research/Projects/JVM/">Johannes Kepler University (JKU) in Linz</a>, Java HotSpot is written in C++, <a href="http://www.ssw.uni-linz.ac.at/Research/Papers/Wuerthinger07/Wuerthinger07.pdf">"Array Bounds Check Elimination"</a> for Java HotSpot Compiler, increased the performance by approx. 10%, the possibly most impactful student work ever, <a href="https://wiki.openjdk.java.net/display/HotSpot/IdealGraphVisualizer">IdealGraphVisualizer (IGV)</a>: the graphical visualisation tool for HotSpot uses NetBeans visual library, IGV is also <a href="https://www.graalvm.org/docs/reference-manual/tools/">used for GraalVM</a>, the <a href="https://en.wikipedia.org/wiki/Maxine_Virtual_Machine">Maxine Research VM</a> at Sun Microsystems, Project <a href="http://www.adam-bien.com/roller/abien/entry/when_c_becomes_too_slow">Maxwell</a> was renamed to Maxine, working at <a href="https://en.wikipedia.org/wiki/Sun_Microsystems">Sun's Menlo Park</a> at Maxine, the circular optimization of Java leads to higher performance, the relation between Maxine and <a href="https://www.graalvm.org">GraalVM</a>, replacing the Maxine Compiler with Client HotSpot Compiler "transpiled" from C++ to Java, the <a href="https://github.com/adriaanm/maxine-mirror/blob/master/com.oracle.max.c1x/src/com/sun/c1x/C1XCompiler.java">C1X</a> compiler, maxine was too ambitious, GraalVM just focusses on the compiler and makes it available for HotSpot, the Java compiler (javac) is written in Java, the quality of the JIT output is the first factor for good performance, HotSpot asks JIT to optimize "hot" methods, Maxine project is <a href="https://maxine-vm.readthedocs.io/en/stable/">stil active</a>, <a href="https://openjdk.java.net/jeps/243">JVMCI</a>, working on <a href="https://en.wikipedia.org/wiki/V8_(JavaScript_engine)">crankshaft</a> compiler at Google with a team of 8 people, using <a href="https://www.graalvm.org">Graal</a> as polyglot environment, converting JavaScript to <a href="http://www.christianwimmer.at/Publications/Duboscq13a/">GraalIR</a> was too complex, JavaScript is dynamic and GraalIR is typed, partial evaluation was inspired by <a href="https://www.pypy.org">PyPy</a>, JavaScript interpreter was written in Java and is optimized by GraalVM, the frozen interpreters, the <a href="https://en.wikipedia.org/wiki/Meta-circular_evaluator">meta-circularity</a> comes with the native image, a small JavaScript interpreter team implements recent JavaScript features, <a href="https://medium.com/graalvm/improve-react-js-server-side-rendering-by-150-with-graalvm-58a06ccb45df">improving serverside ReactJS rendering performance with GraalVM</a>, R, Ruby and Python are exectly the same integrated as JavaScript, Java is going to be interpreted in the same way as well, method inlining across language boundaries, <a href="https://github.com/oracle/graal/blob/master/truffle/README.md">Truffle</a> is the intepreter API and comes with language-independent tooling, GraalVM is able to output bitcode instead of native code with LLVM, <a href="https://www.graalvm.org/docs/reference-manual/native-image/">native image</a> was used to compile the Graal compiler itself, the native image contains garbage collector, native image is considered "early adopters" technology, HotSpot mode is still 20% to 50% faster, <a href="https://www.oracle.com/technetwork/tutorials/tutorials-1876574.html">G1</a> is going to be available on the native image as well, in future the performance of the AOT could vary +/-10% compared to JIT, polymorphic invocations could become faster on the native image / AOT, profile guided optimizations can be performed also ahead of time, new native images could learn from the past, the stability of <a href="https://en.wikipedia.org/wiki/Ahead-of-time_compilation">AOT</a> and <a href="https://en.wikipedia.org/wiki/Just-in-time_compilation">JIT</a> are similar, twitter already uses AOT for years, with Java you have the choice between AOT and JIT, <a href="https://en.wikipedia.org/wiki/Unikernel">unikernels</a> could be supported by GraalVM in future, the GraalVM is hiring, </blockquote> <p>Thomas Wuerthinger on twitter: <a href="https://twitter.com/thomaswue">@thomaswue</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 8 Mar 2020 11:00:00 +0100">Sun, 8 Mar 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_78.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_77"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_77">#<span itemprop="episodeNumber">77</span></a> The Competitive Developer</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_77">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Thomas Wuerthinger (<a href="https://twitter.com/thomaswue">@thomaswue</a>) about: <blockquote> JavaScript on Pentium 3, snake with turbo pascal, sister as inspiration, the "view source" JavaScript approach, creating a platform "4b" site like FaceBook or <a href="https://www.studivz.net">studiVZ</a> as first serious application with PHP on the backend and JavaScript on the frontend, using flat files as database, building GameScript with a subset of JavaScript to help colleagues to start programming, creating the first, interpreted, programming language, writing parsers by hand, the natural way to <a href="https://en.wikipedia.org/wiki/Abstract_syntax_tree">ASTs</a>, creating software for smart homes, first commercial project with 16 - a visual programming language, great <a href="https://www.qt.io">QT</a>, how to skip a class, the two type of teachers, attending university classes before university, the best four Austrian programmers attending the competition are part of the <a href="https://www.graalvm.org">GraalVM</a> team now, the programming competition takes two days, five hours each, Pascal, Java or C were the languages of choice, mistakes cost time, programming is super fast and debugging is low, training for programming competition 2-3h a day, training with <a href="http://www.usaco.org">USA Computing Olympiad</a> was almost like gaming, it's impossible to win a programming competition without training, ACM contest for students, a team of three students shares a computer, learning C with JavaScript background, difficulties with the constructor concept, the president of Austria attending the phd ceremony </blockquote> <p>Thomas Wuerthinger on twitter: <a href="https://twitter.com/thomaswue">@thomaswue</a>, Thomas' <a href="http://www.wuerthinger.net">website</a>.</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 1 Mar 2020 11:00:00 +0100">Sun, 1 Mar 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_77.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_76"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_76">#<span itemprop="episodeNumber">76</span></a> Quarkus Developer Experience</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_76">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Alex Soto (<a href="https://twitter.com/alexsotob">@alexsotob</a>) about: <blockquote> Director of Developer Experience, <a href="https://quarkus.io">Quarkus</a> was secret at the beginning at RedHat, replacing <a href="https://micronaut.io">Micronaut</a> with <a href="https://quarkus.io">Quarkus</a>, public Quarkus release, Micronaut comes with its own API, Quarkus is more familiar for <a href="https://wildfly.org">WildFly</a> / Java EE / Jakarta EE developers, Quarkus separates the business logic from the infrastructure, Quarkus also supports <a href="http://www.adam-bien.com/roller/abien/entry/what_are_thinwars_hollowjars_skimmedjars">FatJARs</a> / <a href="http://www.adam-bien.com/roller/abien/entry/what_are_thinwars_hollowjars_skimmedjars">UeberJARs</a> but this feature is pointless for container deployments, Quarkus and FatJARs are interesting for desktop, electron-like deployments, <a href="https://www.amazon.com/Quarkus-Cookbook-Kubernetes-Optimized-Java-Solutions/dp/1492062650">The Quarkus Cookbook</a>, quarkus <a href="http://www.adam-bien.com/roller/abien/entry/how_to_disable_caching_for">disabling HTTP cache</a>, <a href="https://github.com/ben-manes/caffeine">kaffein</a> cache, quarkus and batch processing -- building CLIs with quarkus, combining quarkus with <a href="https://picocli.info">picocli</a>, quarkus integrates <a href="https://kafka.apache.org/documentation/streams/">kafka kstreams</a> without the necessity of including <a href="https://projects.eclipse.org/projects/ee4j.jaxrs">JAX-RS</a>, <a href="http://airhacks.fm/#episode_23">airhacks.fm episode #23</a> with <a href="https://twitter.com/alexismp">alexis</a> about glassfish, the easy loading vs. eager loading trade off, quarkus optimizes <a href="https://hibernate.org/orm/">hibernate</a>, <a href="https://en.wikipedia.org/wiki/Tree_shaking">tree shaking</a> of JDBC-drivers in quarkus, proactively introducing DAOs: <a href="http://www.adam-bien.com/roller/abien/entry/generic_crud_service_aka_dao">"Generic CRUD Service aka DAO - EJB 3.1/0 Code - Only If You Really Needed"</a> then deleting them, the quarkus developer mode <code>mvn compile quarkus:dev</code>, dynamically adding columns with <a href="https://quarkus.io/guides/hibernate-orm-panache">Panache</a> in development mode, adding extensions on-the-fly, <a href="https://quarkus.io/guides/kafka">mapping kafka streams to websockets</a> with <a href="https://smallrye.io/smallrye-reactive-streams-operators/">microprofile reactive streams</a>, quarkus should support both: application.properties and <a href="https://openliberty.io/guides/microprofile-config-intro.html">mp-config.properties</a>, The Quarkus cookbook is going to be published in summer 2020, writing <a href="https://kubernetes.io/docs/concepts/extend-kubernetes/operator/">kubernetes operators</a> with quarkus, the <a href="https://quarkus.io/guides/vault">quarkus vault integration</a>, <a href="https://gist.github.com/AdamBien/2735e9c8845fe1eba40720281d9c2c09">airhacks.tv quarkus / vault questions</a>, the <a href="https://www.hashicorp.com/blog/injecting-vault-secrets-into-kubernetes-pods-via-a-sidecar/">vault sidecar container</a>, </blockquote> <p>Alex Soto on twitter: <a href="https://twitter.com/alexsotob">@alexsotob</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 21 Feb 2020 11:00:00 +0100">Fri, 21 Feb 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_76.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_75"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_75">#<span itemprop="episodeNumber">75</span></a> Lord of the Jars</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_75">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Alex Soto (<a href="https://twitter.com/alexsotob">@alexsotob</a>) about: <blockquote> playing <a href="https://spectrumcomputing.co.uk/index.php?cat=96&id=0009331">desperado</a> on <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">spectrum</a>, peek, poke and rem with <a href="https://en.wikipedia.org/wiki/Sinclair_BASIC">basic</a>, implementing a clock and drawing a line, curiosity and programming, fascination with communication, sending emails to unknown people, <a href="https://en.wikipedia.org/wiki/Netscape_Composer">Netscape Composer</a> and <a href="https://en.wikipedia.org/wiki/Microsoft_FrontPage">Microsoft Frontpage</a>, Netscape Mail Client, the "view code" button, Netscape Mail became Mozilla's Thunderbird, adding interactivity to HTML pages with JavaScript, coding number guess game with JavaScript, the <a href="https://en.wikipedia.org/wiki/Friend_class">friend</a> declaration in C++, starting with Java 1.2 and Swing, <a href="https://www.cs.colostate.edu/helpdocs/jws.html">Sun Java Workshop</a> and Java Studio Workshop, using Servlets on <a href="https://en.wikipedia.org/wiki/Orion_Application_Server">Orion Application Server</a> as backend for HTML forms, using <a href="https://wicket.apache.org">Wicket</a> web framework, doubled income for experienced developer, building portals with JBoss 3.0, Ant and <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">XDoclet</a>, VoIP and <a href="https://docs.oracle.com/cd/E19355-01/820-3007/gflsc/index.html">Session Initiation Protocol SIP</a> project with JBoss in 2002, <a href="https://docs.oracle.com/cd/E13206_01/wlac/components/docs/papers/bean_managed_persistence.htm">Bean Managed (BMP)</a> and <a href="https://docs.oracle.com/cd/E19655-01/819-1644/decmp.html">Container Managed Persistence (CMP)</a>, nice BMP and CMP - comes for free, installing <a href="https://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html">JDK 1.3.1 (Kestrel)</a>, controlling medical robots with Java, IoT in 2005, moving physical machines with Java, loosing focus after 8 years, building electronic voting systems, Java EE 5 came with productivity boost, <a href="https://tomee.apache.org">TomEE</a> booted in 1 second, introducing Java EE as "The New Thing", advocating Java EE on conferences, promoting Java EE as productivity and speed optimisation, <a href="https://kohsuke.org">Kohsuke Kawaguchi</a> the creator of Hudson, starting at <a href="https://www.cloudbees.com">CloudBees</a> with Kohsuke Kawaguchi, Kohsuke started <a href="https://launchableinc.com">launchable</a>, working with <a href="http://mesos.apache.org">Apache Mesos</a>, starting to work with <a href="http://arquillian.org">Arquillian</a>, becoming an Arquililan committer, speaking at Devoxx, ping from <a href="https://twitter.com/aslakknutsen">Aslak Knutsen</a>, starting at the dream company - RedHat, the Monday message from Aslak, working with <a href="https://fabric8.io">fabric8</a>, </blockquote> <p>Alex Soto on twitter: <a href="https://twitter.com/alexsotob">@alexsotob</a>, Alex's blog: <a href="http://www.lordofthejars.com">www.lordofthejars.com</a> and Alex on <a href="https://github.com/lordofthejars">GitHub</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 16 Feb 2020 11:00:00 +0100">Sun, 16 Feb 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_75.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_74"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_74">#<span itemprop="episodeNumber">74</span></a> Exposure Driven, Natural-Born Programmer</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_74">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Tanja Obradovic (<a href="https://twitter.com/TanjaEclipse">@TanjaEclipse</a>) about: <blockquote> The amazing <a href="https://en.wikipedia.org/wiki/Ribbon_cable">rainbow wires</a>, obsessed with <a href="https://en.wikipedia.org/wiki/Tetris">tetris</a>, programming: seeing immediate results is great, basic, pascal, fortran, c, c++ and <a href="https://en.wikipedia.org/wiki/FoxPro">FoxPro</a>, Smalltalk in Canada, exposed to programming, pascal did more than basic, <a href="https://en.wikipedia.org/wiki/Smalltalk">SmallTalk</a> is clean and logical, object oriented programming was hyped, <a href="https://wiki.c2.com/?TheObjectPeople">The Object People</a>, programming over electronics, using <a href="https://wiki.c2.com/?TopLink">TopLink</a> to access databases, messaging between object was a challenge for a C++ programmer, objects talk like people, there are no <a href="https://wiki.c2.com/?SmalltalkBlocksAndClosures">blocks</a> in Java, meta inheritance in SmallTalk and Java, business driven decisions matter, it is easier for C and C++ programmers to learn Java, than SmallTalk, working with <a href="https://wiki.c2.com/?TopLink">TopLink</a> as consultant, the acquisition of the consulting The Object People by BEA, the TopLink product was acquired by WebGain, Oracle acquired WebGain, Oracle acquired BEA, TopLink was migrated to Java by the Object People, enjoying to work as team lead, now its time to start programming again with <a href="https://microprofile.io">MicroProfile</a> and <a href="https://jakarta.ee">Jakarta EE</a>, joining <a href="https://www.eclipse.org/org/foundation/">Eclipse Foundation</a>, preparing Jakarta EE for the cloud era, Jakarta EE is a huge amount of work, starting to work on <a href="https://www.eclipse.org/community/eclipse_newsletter/2019/february/Jakarta_EE_9.php">Jakarta EE 9</a>, the big bang move to jakarta.* namespace, identifying the priorities was a major challenge, addressing one problem a time with more frequent Jakarta EE releases is the preferred approach, Jakarta EE and Java EE were synonyms for complexity, the <a href="https://jakartaone.org/2019/">Jakarta ONE livestream</a>, </blockquote> <p>Tanja Obradovic on twitter: <a href="https://twitter.com/TanjaEclipse">@TanjaEclipse</a>, Tanja's blog: <a href="https://blogs.eclipse.org/blogs/tanja-obradovic">https://blogs.eclipse.org/blogs/tanja-obradovic</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 8 Feb 2020 11:00:00 +0100">Sat, 8 Feb 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_74.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_73"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_73">#<span itemprop="episodeNumber">73</span></a> The &quot;MDN First&quot; Approach with Web Components</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_73">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Matthias Reining (<a href="https://twitter.com/MatthiasReining">@MatthiasReining</a>) about: <blockquote> Famous <a href="https://tech11.com/en/">Tech 11</a>, Tech 11 expands to Italy, refactoring to <a href="https://github.com/eclipse/microprofile-rest-client">MicroProfile HTTP client</a> from JAX-RS client, <a href="https://en.wikipedia.org/wiki/Don%27t_repeat_yourself">DRY</a> <a href="https://projects.eclipse.org/projects/ee4j.jpa">Jakarta Persistence (JPA)</a> entities -- used for persistence and communication, using <a href="https://github.com/eclipse-ee4j/yasson">JSON-B / Eclipse Yasson</a> as DTOs, versioning client and services, happy with <a href="https://jakarta.ee">Jakarta EE</a> and <a href="https://microprofile.io">MicroProfile</a>, 17 developers from Nigeria, Cameroon, Ghana, Vietnam and Germany love Jakarta EE and MicroProfile, the ultimate Bamberg test (<a href="https://www.schlenkerla.de">schlenkerla</a>), Tech 11 developers joining <a href="http://airhacks.com">airhacks.com</a> in MUC, self constraining as competitive advantage, <a href="https://www.theverge.com/2019/9/5/20851576/apple-music-web-player-interface-beta-browser-streaming">Apple Music Web Client</a> uses <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">Web Components</a>, Web Components with plain <a href="https://lit-html.polymer-project.org">lit-html</a> library, the 50 LoC abstract component, <a href="https://redux.js.org">redux</a> works well with Web Components and Boundary Control Entity structure, unidirectional data flow, <a href="https://medium.com/@thejasonfile/dumb-components-and-smart-components-e7b33a698d43">dumb and smart</a> Web Components, no npm is installed on developer machines, <a href="http://rollup.js">rollup.js</a> over <a href="https://parcel.js">parcel.js</a>, <a href="http://www.adam-bien.com/roller/abien/entry/asynchronous_browser_push_with_http">Jakarta EE service with Servlets 4.0</a> prepopulates browser cache with http/2 (<a href="http://www.adam-bien.com/roller/abien/entry/jsf_2_3_and_http">3 mins http/2 JSF screencast</a>), developer's joy without build tools, <a href="http://www.adam-bien.com/roller/abien/entry/adding_external_npm_javascript_dependencies">ES 6 modules</a> is a more Jakarta EE-stic way of architecting apps, further performance optimizations with <a href="https://www.w3.org/TR/resource-hints/">resource hints</a>, no issues for Firefox, developing on Firefox and Chrome, the amazing Firefox' <a href="https://developer.mozilla.org/en-US/docs/Tools">developer experience</a>, <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements">Custom Elements</a> with lit-html look a lot like React code, if Facebooks drops react, easy migrations to frameworks from web standards, migration between frameworks is mission impossible, <a href="https://javascript-conference.com/javascriptecmascript/progressive-web-apps-without-frameworks-nomigrations-webstandards-noslides/">Progressive Web Apps without frameworks #nomigrations #webstandards #noslides</a> talk at IJS, the MDN first approach, the <a href="https://wildfly.org">WildFly</a> starting in 3-4 seconds, <a href="https://quarkus.io">Quarkus</a> starts in under a second, by removing EJBs you can save one second startup time, Tech 11 <a href="https://tech11.com/en/careers">hires developers with passion</a> for WebStandards, </blockquote> <p>Matthias Reining on twitter: <a href="https://twitter.com/MatthiasReining">@MatthiasReining</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 1 Feb 2020 11:00:00 +0100">Sat, 1 Feb 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_73.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_72"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_72">#<span itemprop="episodeNumber">72</span></a> KISS and No Dependencies in JGroups</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_72">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Bela Ban <a href="http://belaban.blogspot.com">belaban.blogspot.com</a> about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a> wasn't real, Atari was the way to go, <a href="https://en.wikipedia.org/wiki/Atari_ST">Atari ST</a> vs. <a href="https://en.wikipedia.org/wiki/Amiga">Amiga</a> wars, <a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)">Pascal</a>, <a href="https://en.wikipedia.org/wiki/Modula-2">Modula-2</a> and <a href="https://en.wikipedia.org/wiki/Modula-3">Modula 3</a>, Atari had a nice IDE with 1MB RAM, <a href="https://en.wikipedia.org/wiki/WarGames">War Games movie</a>, contact list application as "hello, world", fixing Epson printer hexcodes, chess and tennis over programming, learning C was a step down from Modula, system programming and the fascination with immediate feedback, writing <a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture ">CORBA</a> to <a href="https://en.wikipedia.org/wiki/Common_Management_Information_Protocol">CMIP</a> bridges in <a href="https://en.wikipedia.org/wiki/Guidelines_for_the_Definition_of_Managed_Objects">GDMO</a>, C++ templates are an own language, "C++ is crap", Java at the first <a href="https://en.wikipedia.org/wiki/The_Web_Conference">World Wide Web conference</a> in 1995 in ...Darmstadt, starting with oak, applets and <a href="https://en.wikipedia.org/wiki/Mosaic_(web_browser)">NCSA Mosaic</a>, <a href="https://en.wikipedia.org/wiki/Netscape">Netscape server</a>, extracting data from mainsframes with Java over JNI, <a href="https://www.cornell.edu">Cornell University</a> research with Sun's Java 1.0, working with <a href="https://en.wikipedia.org/wiki/Ken_Birman">Ken Birman</a>, <a href="https://www.cs.cornell.edu/home/rvr/">Robbert van Renesse</a>, <a href="https://en.wikipedia.org/wiki/Werner_Vogels">Werner Vogels</a>, <a href="http://www.cs.cornell.edu/Info/Projects/HORUS/main.html">Ensemble</a> in Ocaml, replacing Ocaml with Java the "Java Groups", <a href="http://www.eecs.harvard.edu/~waldo/">Jim Waldo</a> was leading the JINI project, Sun Microsystems and Cornell worked together to make <a href="https://en.wikipedia.org/wiki/Jini">Java Intelligent Network Infrastructure (JINI)</a> reliable using Java Groups, <a href="https://river.apache.org/release-doc/3.0.0/specs/html/lease-spec.html">leasing</a> JINI was revolutionary, JINI message was changed several times, there was no elevator pitch for JINI, Sun tried to keep the JINI / Java Groups cooperation secret, <a href="http://www.psinaptic.com/link_files/distributed_computing.pdf">A Note on Distributed computing by Jim Waldo</a>, the <a href="https://en.wikipedia.org/wiki/Fallacies_of_distributed_computing">Eight Fallacies of Distributed Computing</a>, JGroups on Sourceforge in 2000 (and still on <a href="https://sourceforge.net/projects/javagroups/">available</a>), revival of JGroups at Fujitsus's Network Management System, the <a href="https://en.wikipedia.org/wiki/CloudBees">Sacha Labourey</a> and <a href="https://en.wikipedia.org/wiki/Marc_Fleury">Marc Fleury</a> contact, writing JBoss Cache on unpaid vacation in 6 weeks, the Blue and Red Papers from Mark Fleury, the EJB Open Source System, Mark Fleury and paratroopers, JBoss Cache started as tree and became a distributed map, meeting Manik Surtani in a Taxi, JBoss Cache became Infinispan, JGroups is the communication layer of Infinispan, the CP of CAP interests resulted in RAFT, <a href="https://github.com/belaban/jgroups-raft">JGroups RAFT</a> is used in production, there are many <a href="https://en.wikipedia.org/wiki/Paxos_(computer_science)">Paxos</a> implementations Raff is a Paxos simplification, RAFT for kids in JBoss Distributed Singletons, useless but consistent systems, vector clocks is an inconvenient reconciliation system, JGroups is using <a href="https://rocksdb.org">RocksDB</a> and <a href="http://www.mapdb.org">MapDB</a>, JGroups makes UDP and other protocols like <a href="https://en.wikipedia.org/wiki/Remote_direct_memory_access">RDMA</a> reliable, JGroups is particularly efficient with many nodes, JGroups and <a href="https://www.enterpriselab.ch/2008/11/28/bela-ban-reads-enterprise-application-lecture/">Sun Cluster Lab in Switzerland</a>, running JGroups on 2000+ nodes at Gcloud, Project <a href="https://wiki.openjdk.java.net/display/loom/Main">Loom</a> and <a href="https://wiki.openjdk.java.net/display/loom/Main#Main-Fibers">Fibers</a>, mini sabaticals for hype chasing, back to easy request response to Project Java's Loom and Fibers, injecting <a href="https://github.com/jgroups-extras/quarkus-jgroups">JChannel in Quarkus</a>, JGroups runs on Quarkus in native mode, KISS and JGroups - No Dependencies in JGroups, </blockquote> <p>Bela's blog: <a href="http://belaban.blogspot.com/">belaban.blogspot.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 26 Jan 2020 11:00:00 +0100">Sun, 26 Jan 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_72.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_71"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_71">#<span itemprop="episodeNumber">71</span></a> Productivity with Plain Vanilla Web Components</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_71">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Robert Brem (<a href="https://twitter.com/bremrobert">@bremrobert</a>) about: <blockquote> JavaScript was worse than <a href="http://www.gwtproject.org">GWT</a>, Swing over <a href="https://www.eclipse.org/swt/">SWT</a>, <a href="https://en.wikipedia.org/wiki/ECMAScript#6th_Edition_-_ECMAScript_2015">ES 6 / ECMAScript 2015</a> changed everything, ES 6 looks like Java, <a href="https://blog.mozilla.org/blog/2017/10/18/mozilla-brings-microsoft-google-w3c-samsung-together-create-cross-browser-documentation-mdn/">MDN</a> is like <a href="https://jcp.org/en/home/index">JCP</a> for specs, ES 6 does not come with usable templates, <a href="https://lit-html.polymer-project.org">lit-html</a> and <a href="https://github.com/WebReflection/hyperHTML">hyperHTML</a> close the gap, <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components">WebComponents</a> over <a href="https://reactjs.org">ReactJS</a>, <a href="https://angularjs.org">AngularJS</a> (Angular v1) was nice, Angular applications were hard to modularize, why the Angular <a href="http://airhacks.com">airhacks.com</a> Workshops at Munich Airport were "interesting", <a href="http://core.js">core.js</a> developer searches for a job, nobody cares about dependencies in the frontend, <a href="https://gcemetery.co">Google Cemetery</a>, Angular comes with two releases a year and follows semantic versioning, core.js is a "Modular standard library for JavaScript", <a href="https://rollupjs.org/guide/en/">rollup.js</a> is a ES 6 module bundler, what happens if something breaks, why it can take two days to invoke a Java method, one super Web Component is reasonable, mapping redux to <a href="https://www.youtube.com/watch?v=grJC6RFiB58">BCE</a> structure, preventing frontend dependencies with CI/CD audits, structuring code after domain responsibilities, it is impossible to create a template with business structure, <a href="https://semantic-ui.com">Semantic UI</a> for styling components, <a href="https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events">Custom Events</a> are used for communication, using CSS variables to style <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM">ShadowDOM</a>, loading CSS per BCE package, <a href="https://angular.io/guide/elements">Angular Elements</a>, replacing Custom Elements with home grown code, </blockquote> <p>Robert Brem on twitter: <a href="https://twitter.com/bremrobert">@bremrobert</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 19 Jan 2020 11:00:00 +0100">Sun, 19 Jan 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_71.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_70"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_70">#<span itemprop="episodeNumber">70</span></a> JavaFX Strikes Back</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_70">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Johan Vos (<a href="https://twitter.com/johanvos">@johanvos</a>) about: <blockquote> Java FX, <a href="https://www.oracle.com/code-one/">CodeONE</a> and JavaONE or conferences as trainings camp, Java FX is more applicable now to mobile devices, Java FX and <a href="https://www.graalvm.org">GraalVM</a> teams are working together to improve performance, <a href="https://openjfx.io">openjfx.io</a> the new home of JavaFX, Java is a perfect technology for client development, using Java on the client and on the server greatly increases productivity, the beginnings of JavaFX, JavaFX on an iPad, <a href="http://robovm.mobidevelop.com">RoboVM</a> the Java to native compiler, RoboVM was used to deploy JavaFX to iOS, JavaFX has the same codebase on mobile and on desktop, <a href="https://be.linkedin.com/in/johanvos">Johan Vos</a> is co-lead of openjfx, Oracle is open for community contributions to JavaFX, Oracle provides support for Java 8, what also includes JavaFX 8, JavaFX frontend also makes a Java backend more appealing, openJFX <a href="https://github.com/openjdk/jfx">github mirror</a>, openJDK project <a href="https://github.com/openjdk/skara">skara</a>, <a href="https://gluonhq.com/products/javafx/">gluon JavaFX releases</a>, <a href="https://www.businesswire.com/news/home/20080506005843/en/Sun-Microsystems-Rocks-2008-JavaOne-Conference-JavaFX">Neil Young</a> on JavaONE, RoboVM was a<a href="https://forums.xamarin.com/discussion/54319/xamarin-s-acquisition-of-robovm">qcuired by xamarin</a> then <a href="https://en.wikipedia.org/wiki/Xamarin">Xamarin</a> was acquired by microsoft, RoboVM is still opensource, <a href="https://openjdk.java.net/projects/mobile/">openJDK mobile</a> project, Android is more problematic than iOS, to run Java 11, <a href="https://icedtea.classpath.org/wiki/ZeroSharkFaq">Zero</a>: interpreter only openJDK, GraalVM supports <a href="https://llvm.org">LLVM</a> and so iOS and Android platforms, <a href="https://github.com/oracle/graal/tree/master/substratevm">SubstrateVM</a> is like tree shaking for Java, JavaFX <a href="https://docs.oracle.com/javafx/2/ui_controls/overview.htm">UI controls</a>, openJFX <a href="https://openjfx.io/javadoc/11/javafx.controls/javafx/scene/control/package-summary.html">controls</a>, main goal of openJFX is long term maintainability, <a href="https://github.com/HanSolo/tilesfx">TilesFX</a> JavaFX library for Dashboards, <a href="https://github.com/edvin/tornadofx">TornadoFX</a> JavaFX for Kotlin, JavaFX charts by <a href="https://dlsc.com/products/">DLSC</a>, <a href="https://www.jfx-days.com">JFX Days</a> Zurich, JavaFX 3D Visualization and Component Library <a href="https://github.com/FXyz/FXyz">FXyz3D</a>, <a href="https://gluonhq.com/products/scene-builder/">SceneBuilder</a> downloads are increasing, JavaFX is comparable to <a href="https://ionicframework.com">ionic</a>, <a href="https://flutter.dev">flutter</a> and <a href="https://facebook.github.io/react-native/">Reactive Native</a>, the future of JavaFX is stable, migration from JavaFX 8 to JavaFX 9 had breaking changes caused by the introduction of Java 9 modules, Java's total costs of ownership are low, <a href="https://gluonhq.com/products/mobile/attach/">Gluon Attach</a> allows integration of native device's sensors, JavaFX comes with a <a href="https://openjfx.io/javadoc/11/javafx.web/javafx/scene/web/WebView.html">WebView</a> which can be used as a bridge, JavaFX WebView is based on recent <a href="https://webkit.org">WebKit</a>, <a href="https://gluonhq.com/labs/maps/">GluonMaps</a>, <a href="https://gluonhq.com/products/cloudlink/">Gluon CloudLink</a>, Gluon provides <a href="https://gluonhq.com/products/javafx/">LTS support</a> for JavaFX, <a href="https://gluonhq.com/products/mobile/">Gluon Mobile</a> </blockquote> <p>Johan Vos on twitter: <a href="https://twitter.com/johanvos">@johanvos</a>, Johan's company: <a href="https://gluonhq.com//">Gluon</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 12 Jan 2020 11:00:00 +0100">Sun, 12 Jan 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_70.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_69"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_69">#<span itemprop="episodeNumber">69</span></a> Maintainability or Deletion over Upgrade </h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_69">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Robert Brem (<a href="https://twitter.com/bremrobert">@bremrobert</a>) about: <blockquote> Windows 95 with 15 for gaming, Nascar watching Korean <a href="https://en.wikipedia.org/wiki/StarCraft">StarCraft</a> streams, writing the first Hello World in Visual Basic for Excel, in programming you can retrying without breaking anything, in <a href="https://en.wikipedia.org/wiki/ABAP">ABAP</a> everything had four letters, automating Excel merges with visual mode "on", hiding ABAP skills, ABAP could strike back with: Abular.js, <a href="https://en.wikipedia.org/wiki/Java_version_history">Java 5</a> was released in September 2004, Generics were introduced with Java SE 6, annotations with Java SE 5, Sun Certified Programmer Certification was really hard, connecting WII controller to <a href="https://en.wikipedia.org/wiki/ActionScript">ActionScript 3</a>, developing games in ActionScript 3, <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">J2EE</a> was too much, sustainable economics game as master thesis, saving the state of the game by serializing the board, the <a href="https://www.hsr.ch/en/studies/bachelor/degree-programmes/computer-science/overview/ ">HSR in Rapperswil</a> the beatiful place for lazy students, <a href="https://wiki.hsr.ch/PeterSommerlad/PetersBio">Peter Sommerlad</a> was a demanding teacher but introduced Jenkins and automation, getting the color of the surface from satellites, the hosted <a href="http://www.gwtproject.org">GWT</a> was slow, Spring Implementation of EJB container - project <a href="https://docs.spring.io/pitchfork/files/m5/docs/reference/html/jee.html">Pitchfork</a> (now <a href="https://oss.oracle.com/projects/pitchfork/">https://oss.oracle.com/projects/pitchfork/</a>), deleting over upgrade, dependencies are fun for green field projects, the sequence of joy: GWT, ABAP and Eclipse RCP, the <a href="https://www.mensa.org">mensa club</a>, the most sophisticated loading screen ever, the multi-dimensional Map (MapMap) solves all problems, automating infrastructure with <a href="https://www.vagrantup.com">Vagrant</a>, <a href="https://www.ansible.com">Ansible</a> and <a href="https://www.packer.io">Packer</a>, <a href="https://www.confirm.ch">www.confirm.ch</a>, all nails in the food has to be published in Switzerland, <a href="https://lit-html.polymer-project.org">lit-html</a> is the only dependency in the frontend and only Jakarta EE in the backend, sub MB ThinWARs and a few seconds deployment, building an entire application on one day, </blockquote> <p>Robert Brem on twitter: <a href="https://twitter.com/bremrobert">@bremrobert</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 6 Jan 2020 11:00:00 +0100">Mon, 6 Jan 2020 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_69.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_68"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_68">#<span itemprop="episodeNumber">68</span></a> You Are Not Google, Netflix, Facebook</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_68">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Tomasz Nurkiewicz (<a href="https://twitter.com/tnurkiewicz">@tnurkiewicz</a>) about: <blockquote> getting a 486 with 8 MB of RAM, 324 MB large hard drive with 12, discovering the "bat", the logo programming language, the <a href="https://en.wikipedia.org/wiki/The_Settlers">Settlers</a> real time strategy game, <a href="https://en.wikipedia.org/wiki/Wolfenstein_3D">Wolfenstein 3D</a>, Windows 3.11 was not a real operating system, the "exe" and the "com" files, the accidental discovery of bubble sort and recursion in Turbo Pascal with 17, developing a file browser with Turbo Pascal, the "hello, world" in chapter 5 of the Haskell book, "hello, world" is a very complex problem in Haskell, there are programming languages optimized for "hello, world", porting a 3d tetris in C++, enjoying the <a href="https://en.wikipedia.org/wiki/Breakout_(video_game)">Breakout</a> game, <a href="https://en.wikipedia.org/wiki/Arkanoid">Arkanoid</a> is based on breakout idea, programming the whole vacations straight a Tetris 3D-like game, using single threaded, voluntary preemption in game development, discovering <a href="https://en.wikipedia.org/wiki/Coroutine">coroutines</a>, implementing a AI-like solution, starting with Java 1.4, enjoying the university time, building a logo compiler as master thesis, building a desktop, RMI-based, chat, gathering the "Sun Certified ..." certificates, Sun Java Programmer certification was the hardest, Sun Java Developer was the most rewarding, finding the longest <a href="https://en.wikipedia.org/wiki/Palindrome">palindrome</a>, <a href="https://www.ehcache.org">ehcache</a> is a palindrome, most naive "palindrome finding" algorithms do work good enough for human readable text, getting a multi-month task done with 3 lines of code, compiling and decompiling (with <a href="https://en.wikipedia.org/wiki/Java_Decompiler">JD</a>) source code for codebase comparison, a session about <a href="https://en.wikipedia.org/wiki/AspectJ">AspectJ</a>, the <a href="https://www.project-voldemort.com/voldemort/">Project Voldemort</a> database initiated by LinkedIn, gathering StackOverflow reputation and speaking at conferences as hobby, joining a Java startup in Norway, working on <a href="https://allegro.pl">allegro</a> ecommerce platform, allegro is #2 in Europe, breaking up the PHP monolith into microservices, 800 reasonable microservices in production, inviting Eric Evans to allegro to help with the Bounded Context, deploying the <a href="https://www.envoyproxy.io">Envoy</a> service mesh for greater visibility, accidental creation of an identical <a href="https://twitter.com/AdamBien/status/1187381419267502082?s=20">slide ("Recipe For Success")</a>, you don't need reactive programming if you are not netflix or do not serve tens of thousands requests per second, paying the price of maintainability and complexity, don't use the shiny tools, if you don't have to, the free Logo for Mac: <a href="https://www.alancsmith.co.uk/logo/">ACSLogo</a>, </blockquote> <p>Tomasz Nurkiewicz on twitter: <a href="https://twitter.com/tnurkiewicz">@tnurkiewicz</a>, on github: <a href="https://github.com/nurkiewicz">github.com/nurkiewicz</a> and Tomasz blog: <a href="https://www.nurkiewicz.com">www.nurkiewicz.com</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 29 Dec 2019 11:00:00 +0100">Sun, 29 Dec 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_68.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_67"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_67">#<span itemprop="episodeNumber">67</span></a> TestContainers, Unit, Integration, System, Load and Stress Testing</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_67">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Kevin Wittek (<a href="https://twitter.com/kiview">@kiview</a>) about: <blockquote> The Java Blockchain Benchmarking Framework, <a href="http://ironkobra.de">ironkobra</a>, practicing heavy metal in a hospital, boring but fast <a href="http://mugen.eu">Mugen Seiki</a>, <a href="https://en.wikipedia.org/wiki/Uli_Jon_Roth">Uli Jon Roth</a> and G3, playing together with Uli Jon Roth, the <a href="https://www.dodge.com/charger.html">Dodge Charger</a> experience, the Jakarta EE, <a href="https://microprofile.io">MicroProfile</a> and <a href="https://quarkus.io">Quarkus</a> test approaches, the 3 kubernetes environments, using Jenkins on OpenShift, unit tests, integration tests and system testing, the <a href="http://wad.sh">wad.sh</a> tool for local deployment, using <a href="https://www.testcontainers.org">TestContainers</a> to launch <a href="https://www.postgresql.org">PostgreSQL</a>, port forwarding with OpenShift, seamless onboarding with TestContainers, black box integration tests are system tests, convenient system testing with Jakarta EE, kubernetes readiness probes are waiting strategy from test containers, using TestContainers to execute openshift deployments locally, TestContainers is a convenient, object oriented API for docker, in the next, major, TestContainers release the testing and docker remote control are going to be separated, using TestContainers for JPA integration testing, Quarkus and TestContainers, in-process System Testing is for lazy developers, enforcing frequent integrations, kubernetes is a larger problem than an application server, from local scripts, to central Jenkins pipeline, TestContainers always removes all the containers after JVM exit, the reusable container <a href="https://github.com/testcontainers/testcontainers-java/pull/1781">feature</a>, interactive testing environment, unit tests are for classes in project's control, integration tests are for classes outside the project's control, pentagonal architectures, system tests is a blackbox tests, stress tests and performance tests, why <a href="http://rest-assured.io">REST-assured</a> is not used, performance tests with <a href="https://openjdk.java.net/projects/code-tools/jmh/">JMH</a>, using JMH for Blockchain Benchmarking </blockquote> <p>Kevin Wittek on twitter: <a href="https://twitter.com/kiview">@kiview</a> on github <a href="https://github.com/kiview">https://github.com/kiview</a> and Kevin's <a href="https://groovy-coder.com">blog</a>.</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 21 Dec 2019 11:00:00 +0100">Sat, 21 Dec 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_67.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_66"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_66">#<span itemprop="episodeNumber">66</span></a> Kubernetes, OpenShift, istio, Postgres, Clouds, Backend for Frontend, vue.js and MicroProfile</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_66">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Niklas Heidloff (<a href="https://twitter.com/nheidloff">@nheidloff</a>) about: <blockquote> The Java Cloud Native Starter landing page <a href="https://www.cloud-native-starter.com">www.cloud-native-starter.com</a>, cloud native starter was tested on <a href="https://kubernetes.io">Kubernetes</a>, <a href="https://minikube.sigs.k8s.io">Minikube</a>, IBM Kubernetes Service, <a href="https://www.okd.io/minishift/">Minishift 3.11</a>, OpenShift on IBM cloud, the <a href="https://coreos.com/blog/introducing-operators.html">Postgres</a> operator, the relation between kubernetes namespace, the application and the microservices, the <a href="http://vue.js">vue.js</a> frontend with <a href="https://redux.js.org">redux</a>, the role of the <a href="https://redux.js.org">istio</a> ingress controller, traffic splitting and routing, backend for frontend, the <a href="https://github.com/eclipse/microprofile-rest-client">MicroProfile JAX-RS client</a>, clean architecture, fighting the <a href="https://en.wikipedia.org/wiki/Law_of_triviality">Parkinson's Law of Triviality</a>, connecting to <a href="https://www.ibm.com/cloud/cloudant">Cloudant</a>, and PostgreSQL via JPA, Cloudant is managed version of CouchDB, IBM offers managed DB 2 and PostgreSQL databases, Kubernetes ships without authentication and authorization, implementing the OpenID flow with NodeJS, convenient user management with <a href="https://www.keycloak.org">Keycloak</a>, <a href="https://github.com/keycloak/keycloak-gatekeeper">Gatekeeper</a> - the oauth flow implementation for Keycloak, <a href="https://github.com/ibm-cloud-security/app-identity-and-access-adapter">App Identity and Access Adapter for Istio</a>, <a href="https://prometheus.io/docs/prometheus/latest/configuration/configuration/">prometheus service discovery on kubernetes</a>, with istio you cannot look inside the application, prometheus-like monitoring with <a href="https://sysdig.com">sysdig</a> and distributed logging with <a href="https://logdna.com">logdna</a>, traffic routing visualization with <a href="https://kiali.io">kiali</a>, Java Cloud Native Documentation was a major effort, Jakarta EE and MicroProfile could help you to become famous, <a href="https://openliberty.io">OpenLiberty</a> with <a href="https://www.eclipse.org/openj9/">OpenJ9</a> and <a href="https://quarkus.io">Quarkus</a>, </blockquote> <p>Niklas Heidloff on twitter: <a href="https://twitter.com/nheidloff">@nheidloff</a> Niklas' blog: <a href="http://heidloff.net">heidloff.net</a>, Niklas on github: <a href="https://github.com/nheidloff">github.com/nheidloff</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 15 Dec 2019 11:00:00 +0100">Sun, 15 Dec 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_66.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_65"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_65">#<span itemprop="episodeNumber">65</span></a> From JSF to Vanilla WebComponents and MicroFrontends</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_65">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Mark Struberg (<a href="https://twitter.com/struberg">@struberg</a>) about: <blockquote> Frontends for backends, JSF 2, <a href="https://vaadin.com">Vaadin</a>, <a href="http://vue.js">vue.js</a>, <a href="https://angular.io">Angular</a>, <a href="https://reactjs.org">ReactJS</a>, deep linking with JSF 2, JSF 2 with modularised backends, productive JSF, data binding and data validation with JSF 2, the limits of JSF components, JSF architectures, JSF is not suitable for building offline SPAs, JSF is a server centric framework and therefore requires CPU resources, don't fork JSF components -- contribution is better for maintainability, <a href="https://twitter.com/tandraschko">Thomas Andraschko</a> is #2 contributor to primefaces, building HTML 5 offline applications with JavaScript, the Java EE-stic approach to frontends, "<a href="https://javascript-conference.com/javascriptecmascript/progressive-web-apps-without-frameworks-nomigrations-webstandards-noslides/">Progressive Web Apps without frameworks #nomigrations #webstandards #noslides</a>", using vanilla WebComponents to write serious applications, <a href="https://developer.mozilla.org/en-US/">Mozilla Developer Network</a> is set of collective set of web standards tutorials and documentation, building WebComponents without <a href="https://polymer-library.polymer-project.org">polymer</a>, using pure, semantic HTML 5 for maintainability, CSS grid and Flex Box are available in all browsers, <a href="https://angular.io/guide/releases">angular release strategy</a> and <a href="https://semver.org">semver</a>, <a href="https://www.youtube.com/watch?v=Gndr4pBFRm0&list=PLxU9yM-_yPs_B-kaWK0c44KgyWAre4hCH">web standards playlist</a>, MicroFrontends with ES 6 modules, <a href="https://vaadin.com/components">Vaadin WebComponents</a>, <a href="https://sap.github.io/ui5-webcomponents/">UI5 WebComponents from SAP</a>, npm is no more a requirement, <a href="https://sap.github.io/ui5-webcomponents/">lit-html</a> and <a href="https://github.com/WebReflection/hyperHTML">hyperhtml</a> for convenient templates, ES 6 <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals">template literals</a>, using <a href="https://rollupjs.org/guide/en/">rollupjs</a> to create a common set of libraries, <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM">Shadow DOM</a> for encapsulation, <a href="https://blog.mozilla.org/blog/2017/10/18/mozilla-brings-microsoft-google-w3c-samsung-together-create-cross-browser-documentation-mdn/">"Mozilla brings Microsoft, Google, the W3C, Samsung together to create cross-browser documentation on MDN"</a>, the golden age for Java Developers, </blockquote> <p>Mark Struberg on twitter: <a href="https://twitter.com/struberg">@struberg</a> and <a href="https://github.com/struberg">github</a>. Mark's blog: <a href="https://struberg.wordpress.com/">struberg.wordpress.com/</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 8 Dec 2019 11:00:00 +0100">Sun, 8 Dec 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_65.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_64"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_64">#<span itemprop="episodeNumber">64</span></a> Quarkus 1.0 and SpringBoot</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_64">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Dimitris Andreadis (<a href="https://twitter.com/dandreadis">@dandreadis</a>) about: <blockquote> <a href="https://www.eclipsecon.org/europe2019">eclipsecon</a>, <a href="https://quarkus.io">Quarkus</a> 1.0 and 1.0.1 <a href="https://quarkus.io/blog/quarkus-1-0-0-Final-bits-are-here/">releases</a>, Quarkus is 8 months young, more extensions, more reactive functionality, 97 external committers and 93 RedHat committers, opinionated view vs. expansion and experimentation, Quarkus long term support, the three levels of extensions, quarkus extensions registry, the idea of composite extensions, emulating the composite extensions with a no-op extension, emulating the "all" injection setting in beans.xml, Quarkus uses <a href="https://github.com/wildfly/jandex">Jandex</a> for annotation searching, there is no greenfield development, many new developers are coming from <a href="https://spring.io/projects/spring-boot">SpringBoot</a>, <a href="https://www.youtube.com/watch?v=9wJm8g83vqA">Kubernetes Native Spring apps on Quarkus</a> by <a href="https://twitter.com/geoand86">Georgios Andrianakis</a>, Vodafone Greece <a href="https://quarkus.io/blog/vodafone-greece-replaces-spring-boot/">replaces SpringBoot with Quarkus</a>, the business case of SpringBoot to Quarkus migration was RAM consumption, boot time improvement with Quarkus, <a href="https://www.eclipse.org/openj9/">J9 JVM</a> improves startup time, external dependencies are bad for startup time, Quarkus power is Java optimization, Quarkus optimises the standard Java HotSpot application, <a href="https://www.graalvm.org">GraalVM</a> optimizes it even further, Quarkus performs <a href="https://hibernate.org">Hibernate</a> optimizations at build time and not deployment time, Quarkus does not include SpringBoot library, Quarkus provides a <a href="https://quarkus.io/guides/spring-di">Spring API compatibility layer</a> which is converted at build time, Spring is emulated on Quarkus, the Spring compatibility layer was implemented in a month, Quarkus is built on 20 years old wisdom like Hibernate or Transaction Manager etc, in the Vodafone case, Quarkus reduced 60% of RAM, with memory savings come cost savings, the fast boot time is important for scaling in the clouds, Quarkus is comparable to <a href="https://reactjs.org">React</a> -- comes with free memory improvements without migrations, Quarkus ships with <a href="https://vertx.io">Vert.x</a>, the <a href="https://quarkus.io/guides/vault">Quarkus Vault</a> extension, the SpringBoot compatibility layer is conceptually similar to <a href="https://www.winehq.org">Linux Wine</a> compatibility layer, Quarkus would like to stay away from EJB, EJBs are faster than CDI on regular application servers on Quarkus the performance could be comparable with RequestScoped, Quarkus ships with built-in CORS filter, Keycloak supports oauth flows with a Gateway (<a href="https://github.com/keycloak/keycloak-gatekeeper">Gatekeeper</a>), Quarkus comes with native <a href="https://quarkus.io/guides/security-jwt">JWT Microprofile</a> support, two Quarkus books are in the pipeline, keeping the conventions and usability of Quarkus could become a challenge, Quarkus will also come with tight OpenShift integration, the Engineering Director of the Extended Quarkus Team </blockquote> <p>Dimitris Andreadis on twitter: <a href="https://twitter.com/dandreadis">@dandreadis</a> and <a href="https://dandreadis.blogspot.com">dandreadis.blogspot.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 3 Dec 2019 11:00:00 +0100">Tue, 3 Dec 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_64.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_63"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_63">#<span itemprop="episodeNumber">63</span></a> NodeJS, MicroProfile and Java Cloud Native Starter</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_63">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> <p>Subscribe to <a href="http://airhacks.fm">airhacks.fm podcast</a> via: <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS">spotify</a>| <a href="https://itunes.apple.com/de/podcast/airhacks-fm/id1296655154?l=en">iTunes</a>| <a href="https://pcr.apple.com/id1296655154">RSS</a></p> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Niklas Heidloff (<a href="https://twitter.com/nheidloff">@nheidloff</a>) about: <blockquote> Changing the font color with Basic on <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a>, playing <a href="https://www.c64-wiki.de/wiki/Frogger_(Parker_Brothers)">Frogger</a>, serious programming with <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a> on <a href="https://en.wikipedia.org/wiki/Intel_80286">PC 80286</a>, developing a shooter UFO game, writing a school magazine with MS Word, Graphical User Interfaces with Turbo Pascal, studying <a href="https://www.uni-paderborn.de/studienangebot/studiengang/informatik-master/">Computer Science in Paderborn</a>, 25 years ago everything was already developed, Thomas J. Watson: <a href="https://en.wikipedia.org/wiki/Thomas_J._Watson">'I think there is a world market for about five computers'</a>, collaboration technologies at the university, <a href="https://en.wikipedia.org/wiki/IBM_Notes">IBM Notes</a>, productive development with IBM Notes Domino, working with a startup and the Lotus Workflow product, the very first Java User Interface for the Workflow tool, startup was acquired by IBM, the 60% more paycheque, Lotus Notes was one of the first NoSQL databases, <a href="https://couchdb.apache.org">CouchDB</a> is based on Lotus Notes ideas, the out-of-the-box experience of Lotus Domino was great, also <a href="https://www.okd.io">OpenShift</a> comes with great user experience, Lotus Notes had good replication capabilities, Java is is a lightweight and clean programming language, Applets were too buggy, ProcessWare became Lotus Workflow, growing without a reason, leading the frontend team for WebSphere Workflow, the interesting <a href="https://en.wikipedia.org/wiki/VisualAge">Visual Age for Java IDE</a>, <a href="https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=18d10b14-e2c8-4780-bace-9af1fc463cc0">IBM Alphaworks</a> and <a href="https://www.ibm.com/developerworks/community/forums/html/forum?id=11111111-0000-0000-0000-000000000348">DeveloperWorks</a>, <a href="https://en.wikipedia.org/wiki/Jikes">Jikes</a> - the fast Java Compiler, drawing boxes is not a exciting as developing software, growing the Lotus Notes community, <a href="http://openntf.org">openntf.org</a>, learning from Eclipse and Apache, Lotus Notes business was sold to <a href="https://en.wikipedia.org/wiki/HCL_Technologies">HCL</a>, the RedHat opensource model, moving from Lotus Notes to Cloud Architectures, joining the IBM Emerging Technologies Organization and the Developer Outreach "Cloud Native" Team, building samples and traveling to international conferences, the <a href="https://github.com/IBM/cloud-native-starter">Java Cloud Native Starter</a>, the one end-to-end enterprise Java Cloud Native application, Kubernetes, OpenShift, Docker, Maven, MicroProfile, Kiali, Quarkus, installation scripts, vue.js and traffic routing with istio, the overlap between <a href="https://microprofile.io">MicroProfile</a> and <a href="https://istio.io">Istio</a>, the <a href="https://www.eclipse.org/community/eclipse_newsletter/2018/september/MicroProfile_istio.php">article</a> by <a href="https://twitter.com/emilyfhjiang">Emily Jiang</a>, MicroProfile, NodeJS vs. MicroProfile, the NodeJS innovation, </blockquote> <p>Niklas Heidloff on twitter: <a href="https://twitter.com/nheidloff">@nheidloff</a>, Niklas' blog: <a href="http://heidloff.net">heidloff.net</a>, Niklas on github: <a href="https://github.com/nheidloff">https://github.com/nheidloff</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 24 Nov 2019 11:00:00 +0100">Sun, 24 Nov 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_63.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_62"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_62">#<span itemprop="episodeNumber">62</span></a> Modules, Interfaces and Microservices</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_62">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Mark Struberg (<a href="https://twitter.com/struberg">@struberg</a>) about: <blockquote> Mark loves microservices, "if all you have is a hammer, everything looks like a nail", by <a href="https://en.wikipedia.org/wiki/Abraham_Maslow#Maslow's_hammer">Abraham Maslow</a>, Hype Driven Development, the right size of a Microservice, splitting an application with Apache Maven, interfaces and DTOs, structuring a monolith, the killer argument against modules, interfaces with a single implementation, what if all the modules have the same version, testing against interfaces, pure unit tests are problematic in microservice world, avoid testing mocks, most problems and errors are in the database, <a href="http://www.adam-bien.com/roller/abien/entry/using_microprofile_rest_client_for">System Tests</a> in production-near environment over CDI Unit, <a href="http://www.adam-bien.com/roller/abien/entry/using_microprofile_rest_client_for">Arquillian</a> and <a href="https://deltaspike.apache.org">Delta Spike</a>, the overhead of <a href="https://kubernetes.io">Kubernetes</a>, there are projects which require scaling others do not have such requirements, <a href="https://www.redhat.com/en/topics/virtualization/what-is-KVM">KVM</a> over <a href="https://kubernetes.io">Kubernetes</a>, testing locally vs. in production-like environment, Kubernetes is not only about load and scaling, Kubernetes is about management and sysadmins productivity, the main problem in business projects is overengineering, "Anything that can go wrong will go wrong": <a href="https://en.wikipedia.org/wiki/Murphy%27s_law">Murphy's Law</a>, 200 errors per second, coursing about EJB and Java Enterprise, back to synchronous programming, transaction optimizations could be problematic, generating superfluous code with lombok, the <a href="https://developer.jboss.org/wiki/OpenSessionInView">"open session in view"</a> pattern, transactions on JSF actions, in many use cases transactions are started on a too deep level, SOA and transaction boundaries, the fallacies of distributed computing, even larger projects have 10 microservices at most, there is no big company with a single, big monolith, staying local comes with the comfort of transactions, large amount of microservices is problematic, in 5 years we are going to reeingineer microservices into something different, everyone hates SOA now, everyone loved SOA back then, the <a href="https://microservices.io/patterns/data/saga.html">saga pattern</a> and <a href="https://en.wikipedia.org/wiki/Compensating_transaction">compensating transactions</a>, <a href="https://apievangelist.com/2012/01/12/the-secret-to-amazons-success-internal-apis/">Jeff Bezos note on microservices from 2002</a>, the benefits of microservices, the big bang Jakarta EE migration, the automatic package transformation with classloader, runnning old JARs on new namespaces, MicroProfile moves and iterates faster, Jakarta EE's release cadence is less frequent, the definition of "done" and micro frontends: </blockquote> <p>Mark Struberg on twitter: <a href="https://twitter.com/struberg">@struberg</a> and github: <a href="https://github.com/struberg">https://github.com/struberg</a>. Mark's blog: <a href="https://struberg.wordpress.com/">https://struberg.wordpress.com/</a>. </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 Nov 2019 11:00:00 +0100">Sun, 17 Nov 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_62.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_61"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_61">#<span itemprop="episodeNumber">61</span></a> Forever Young and Java on an iPad</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_61">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Anton Epple (<a href="https://twitter.com/monacotoni">@monacotoni</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Amstrad_CPC">CPC 464 Schneider</a>, <a href="https://en.wikipedia.org/wiki/Gerontology">gerontology</a>, the Hello World in hospital with 12 in Basic, the amazing experience of teaching machine to do something, the great <a href="https://en.wikipedia.org/wiki/WarGames">War Games</a> movie, typing a skiing game with ASCII graphics from a magazine in a hospital, listening and generating a computer sound, how to make a piano teacher cry, piano is too direct for a programmer, sending a listing to Schneider Magazine with 14 years without any success, writing the F... and Die game with 14-15, Payara is to slow for CPC, <a href="https://blogs.oracle.com/geertjan/poznan-gdansk:-netbeans-day,-poland">driving in a car through Poland</a> during NetBeans WorldTour, how to become really old, drawing cartoons of a teacher can be dangerous, math teacher's hate, a short deviation of becoming a programmer by studying biology, the 600 theories of aging, DNA analysis with Perl, Computer Science over biology, the Netbeans User Group Munich, Java EE causes attendee's overflow, working with Microsoft Java, Visual J++, working on <a href="https://www.genomatix.de/online_help/help_biblio/release_notes.html">Bibliosphere</a> to visualize connections between genes in 3D, loving Java from the beginning, the fights between Perl and Java, discovering Forte4j, using <a href="https://netbeans.org/features/platform/">NetBeans platform</a> for building desktop applications, NetBeans is productivity without the need of plugin installation, the consultant for biology-related and genetic applications without clients, profanities in comments, the 1h consulting job, NetBeans Platform was used heavily in traffic control, defence and military applications, Java FX on Android and iOS, JavaFX runs on an iPad on <a href="http://adambien.blog/roller/abien/entry/javaone_11_strategy_keynote_notes">JavaONE's 2011 keynote</a>, <a href="https://www.oracle.com/technetwork/developer-tools/maf/overview/index.html">Mobile Application Framework (MAF)</a> from Oracle was preferred over Java FX, <a href="http://airhacks.fm/#episode_6">Johan Vos and Co.</a>took over JavaFX and continue the development, <a href="http://airhacks.fm/#episode_8">Jaroslav Tulach</a> wanted to run Java in Browser -- and how <a href="https://github.com/jtulach/bck2brwsr">Bck2Brwsr</a> happened, Bck2Brwsr is a Java to JavaScript transpiler, Jaroslav's <a href="https://en.wikipedia.org/wiki/Model–view–viewmodel">MVVM</a> pattern separated the View from the presentation logic written in Java, you never had to interact with the widgets in Java code, DOM properties are listening to Java-based model - the Model View-ViewModel pattern, with <a href="https://www.dukescript.com">Dukescript</a> you can write presentation logic in Java and bind it to web standards like e.g. WebComponents, <a href="https://onsen.io">Onsen UI</a> provides the widgets, Java based models are JSON-serializable, client Java models are reusable on the server, there is no duplication, Dukescript allows the execution in browser as transpiled JavaScript and on the server as Java running in the VM, Dukescript was started in 2013, <a href="https://blogs.oracle.com/java/2014-dukes-choice-award-winners">Dukescript won the Duke Innovation Awards</a>, the <a href="https://smart-access-solutions.com">Smart Access Solutions</a> startup, Dukescript could provide bindings to native UIs - similar to React Native, NetBeans comes with native Dukescript support, either you have time, or you have money, buying support prevents forks and might be cheaper over time, </blockquote> <p>Anton Epple on twitter: <a href="https://twitter.com/monacotoni">@monacotoni</a>, Toni's new<a href="https://smart-access-solutions.com">startup</a> and the award-winning <a href="https://www.dukescript.com">dukescript.com</a> </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 10 Nov 2019 11:00:00 +0100">Sun, 10 Nov 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_61.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_60"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_60">#<span itemprop="episodeNumber">60</span></a> Java EE, Jakarta EE, MicroProfile and the Big Bang</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_60">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Kevin Sutter (<a href="https://twitter.com/kwsutter">@kwsutter</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a> for gaming - <a href="https://en.wikipedia.org/wiki/Commodore_Datasette">Datasette</a> included with 16, how to break in and modify the code, the high school <a href="https://en.wikipedia.org/wiki/Teletype_Model_28">teletype</a> course in Basic on serious machines in <a href="https://en.wikipedia.org/wiki/Austin,_Minnesota">Austin Minnesota</a>, applied math in high school, compute science degree in <a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)">Pascal</a> at the <a href="https://www.wisc.edu">University of Wisconsin</a>, working for <a href="https://en.wikipedia.org/wiki/Sperry_Corporation">Sperry</a> and the merger with <a href="https://en.wikipedia.org/wiki/Burroughs_Corporationunited">Burroughs</a>, information and systems and <a href="https://en.wikipedia.org/wiki/Unisys">Unisys</a>, writing code in Pascal-like language, writing chip-design simulators in Alabama, the best software engineering project award, <a href="https://en.wikipedia.org/wiki/IBM_System_Object_Model">SOM</a> and DSOM, (not <a href="https://en.wikipedia.org/wiki/ISAM">ISAM</a>) IBM buys <a href="https://en.wikipedia.org/wiki/Transarc">Transarc</a>, from Transarc to WebSphere, the "bring up lab" - the early CI / CD, the performance boost of JDK 1.1.8, the <a href="https://en.wikipedia.org/wiki/Java_EE_Connector_Architecture">Java Connector Architecture (JCA)</a> for JDBC and JMS around 2000, working on caching, data grid, object grid, and eXtreme Scale with <a href="https://twitter.com/billynewport">Billy Newport</a>, <a href="https://www.ibm.com/support/knowledgecenter/en/SSTVLU_8.6.1/com.ibm.websphere.extremescale.doc/cxsoverview.html">WebSphere eXtreme Scale</a> and <a href="https://en.wikipedia.org/wiki/Eventual_consistency">"Eventual Consistency"</a>, leading the <a href="https://en.wikipedia.org/wiki/Java_Persistence_API">JPA spec</a> and the first opensource interaction around 2005, <a href="https://en.wikipedia.org/wiki/BEA_Systems">BEA</a> donates <a href="https://docs.oracle.com/cd/E13189_01/kodo/docs40/index.html">kodo</a> to apache which became <a href="http://openjpa.apache.org">openJPA</a>, the convenient way to become a committer, Java is nicer than C++, IBM buys <a href="https://www.cnet.com/news/ibm-buys-open-source-java-outfit-gluecode/">Gluecode</a> - the company which provides <a href="https://www.itworld.com/article/2809290/ibm-gluecode-to-support-geronimo.html">commercial support</a> for the <a href="https://geronimo.apache.org">Geronimo Application Server</a>, <a href="https://twitter.com/dblevins">David Blevins</a> worked on <a href="http://tomee.apache.org/download/apache-openejb-3.1.4.html">openEJB</a> at the same time, becoming a Java EE architect for WebSphere product in 2013, the development with <a href="https://openliberty.io">OpenLiberty</a> is more fun, IBM moves to <a href="https://www.eclipse.org/eclipselink/">EclipseLink</a> but still supports openJPA, <a href="https://microprofile.io">Microprofile</a> involvement, Microprofile became immediately popular, <a href="https://twitter.com/ian__robinson">Ian Robinson</a> and <a href="https://twitter.com/nmcl">Mark Little</a> met at Devoxx UK and started the initial conversation about MicroProfile in 2016, MicroProfile 1.0 started with JSON-P, CDI and JAX-RS APIs from Java EE, Oracle proposes the opensourcing of Java EE, the meeting with Oracle in London to talk about opensourcing Java EE, behind the scenes of the Big Bang "javax" migration to "jakarta", the relation between the steering committee and the platform group, the relation between Jakarta EE and MicroProfile, the advantages of keeping Jakarta EE and MicroProfile separate, <a href="https://opentracing.io">opentracing.io</a> became <a href="https://opentelemetry.io">opentelemetry</a> which affects MicroProfile distributed tracing, MicroProfile iterates faster than Jakarta EE, from opentracing.io to opentelemetry.io, SOAP deprecation, openJPA started from a project named KODO, the <a href="https://openliberty.io/guides/">openliberty guides</a>, microprofile.io and <a href="https://jakarta.ee">jakarta.ee</a>, <a href="https://start.microprofile.io">start.microprofile.io</a>, <a href="https://jakartablogs.ee">Jakarta EE Blogs</a> </blockquote> <p>Kevin Sutter on twitter: <a href="https://twitter.com/kwsutter">@kwsutter</a> and github: <a href="https://github.com/kwsutter">https://github.com/kwsutter</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 3 Nov 2019 11:00:00 +0100">Sun, 3 Nov 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_60.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_59"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_59">#<span itemprop="episodeNumber">59</span></a> Blockchain, Heavy Metal and Testcontainers</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_59">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Kevin Wittek (<a href="https://twitter.com/kiview">@kiview</a>) about: <blockquote> typing with 3 on a terminal, <a href="https://en.wikipedia.org/wiki/Intel_80486">486</a> for playing DOS games, radio controlled cars for fathers, RC car races with transponders, worldcup in beijing, hawaii, las vegas, <a href="https://www.tamiya.de/en/home/">tamiya</a>, <a href="https://rc.kyosho.com/en/">kyosho</a>, professional competition RC cars by <a href="http://mugen.eu">Mugen Seiki</a>, playing <a href="https://en.wikipedia.org/wiki/Civilization_(video_game)">civilization</a>-like game, switching from PCs to console gaming, starting with <a href="https://en.wikipedia.org/wiki/QuickBASIC">Quick Basic</a> programming at highschool, writing text adventures with Quick Basic and huge if-else blocks, advent calendar with Quick Basic, switching from Quick Basic to Java 1.4, a coffee lover without <a href="https://aeropress.com">aeropress</a>, aeropress and aerospace technology, <a href="https://aerobie.com">aerobie</a> frizbies, teaching polymorphic dispatches at highschool, who cares about object orientation, <a href="https://www.bluej.org">bluej</a> programming learning environment, the great <a href="https://scratch.mit.edu">scratch IDE</a>, manipulating the ASCII characters might not be the future, sometimes it is better to manipulate the Abstract Syntax Tree (AST) directly, writing a ZIP-compressor in Java, studying in <a href="https://www.w-hs.de">Gelsenkirchen</a>-the Java-focussed university, writing Android software for Museums, Museums don't have money, writing fraud detection services for <a href="https://www.gdata.de">GData</a>, banking trojan detection was really successful, leading the <a href="https://www.internet-sicherheit.de/team/wittek-kevin/">blockchain research group</a>, having a dream job, lazy loading the PhD topic, assessing the non-functional aspects of a <a href="https://en.wikipedia.org/wiki/Blockchain">blockchain</a> system, why <a href="https://groovy-lang.org">Groovy</a> is a pragmatic language, Groovy started as an ergonomic version of Java, playing e-guitar at a heavy metal band <a href="https://ironkobra.de">"Iron Kobra"</a>, Rush, Deep Purple, Led Zeppelin, and a bit Metallica, one of the best guitar players is <a href="https://en.wikipedia.org/wiki/Uli_Jon_Roth">Uli Jon Roth</a> from the German Scorpions band, starting to play guitar with 16, starting with TNT from AC/DC, software engineering is like playing blues, the <a href="https://www.socrates-conference.de/home">SoCraTes</a> Conference, the JUnit 5 extension for Docker, the beginnings as <a href="https://www.testcontainers.org">TestContainers</a> committer, <a href="https://rnorth.org/about_contact">Richard North</a> was the initiator of the TestContainers project, TestContainers started in a blockchain-related project, TestContainers project was written in Java from the beginning, TestContainers started with JUnit 4 integration, the TestContainers project has actually nothing todo with testing, ephemeral container concept is built-in into the testcontainers, the docker container is going to be removed after the JVM exits, <a href="https://www.testcontainers.org/features/configuration/#customizing-ryuk-resource-reaper">ryuk</a> is a side container which watches the actual container, when the JVM stops sending the heartbeat - ryuk will remove the container, <a href="https://www.graalvm.org">GraalVM</a> might replace Go in the sidecontainer, testcontainers gives strong guarantees about readiness, testcontainer ships with multiple probes / <a href="https://www.testcontainers.org/features/startup_and_waits/">wait strategies</a>: log-based wait strategy, port-based wait strategy, docker health-check strategy, testcontainers ships with container communication API, in the case of a <a href="https://www.testcontainers.org/modules/databases/">database testcontainer</a> will provide a JDBC-URL, testcontainer can is able to start DB on demand by using the JDBC driver, testcontainer also works with remote Docker daemons, testcontainer is using the REST interface to communicate with Docker, the switch from <a href="https://netty.io">Netty</a> to <a href="https://square.github.io/okhttp/">OkHTTP</a>, testcontainers relies on <a href="https://github.com/docker-java/docker-java">Docker Java</a>, hardcoding functionality in a project is the right choice at the beginning, testcontainers has to be refactored into two parts, testcontainer's 2.0 goal are distinct APIs for testing and container orchestration, windows support was a challenge, testcontainers supports windows, linux and MacOS, the testcontainers team is using Macs for local development, <a href="https://azure.microsoft.com/de-de/services/devops/pipelines/">azure pipelines</a> is used to test windows, </blockquote> <p>Kevin Wittek on twitter: <a href="https://twitter.com/kiview">@kiview</a>, on github <a href="https://github.com/kiview">https://github.com/kiview</a> and Kevin's <a href="https://groovy-coder.com">blog</a>.</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 28 Oct 2019 11:00:00 +0100">Mon, 28 Oct 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_59.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_58"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_58">#<span itemprop="episodeNumber">58</span></a> Helidon: Never Block The Thread</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_58">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Tomas Langer (<a href="https://twitter.com/langer_tomas">@langer_tomas</a>) about: <blockquote> The first line of code was in Basic on <a href="https://en.wikipedia.org/wiki/Atari_8-bit_family">Atari 800 XE</a> in 1989, computer club for kids in Prague, the programming accident in Java, studying and working for 16h a day, early interests in application servers, joining <a href="https://en.wikipedia.org/wiki/BEA_Systems">BEA Systems</a> in 2003 and starting with version 6, the weblogic.jar and the weblogic "thin client" jar, the only BEA consultant in eastern Europe, Oracle's acquisition was a big change, leaving Oracle and moving to <a href="https://en.wikipedia.org/wiki/AVG_AntiVirus">AVG</a> for building custom application servers, starting at <a href="https://en.wikipedia.org/wiki/Home_Credit">HomeCredit</a> to develop with WebLogic, service buses and Co., joining a JavaONE conference session with <a href="https://twitter.com/starbuxman">Josh Long</a> about SpringBoot, what is the purpose of FatJARs, one application per server, WebLogic became bigger over time, hollow JARs are explainable, about the costs of running application servers in the cloud, the deconstruction of the application server, how clustering became obsolete, application servers and docker layers, separation of business logic and infrastructure, the superfluous deployment machinery, the idea of a single application, the complicated application server's classloading, helidon only relies on the system ClassLoader, cloud features without clouds, starting at Oracle again, Airport, Prime, J4C and <a href="https://helidon.io">Helidon</a>, helidon was fully opensourced in February, 2019, the origin Helidon idea was to be a cloud platform, Helidon's security is similar to WebLogic 8-9 security model, helidon separates between the user and service accounts, helidon's outbound security is automated, helidon was designed with docker in mind, helidon supports hollow jars and so directly the Docker layering, FatJARs are not worth the trouble, bare metal is the killer use case for FatJARs, hardcore classloaders are problematic with GraalVM, Helidon supports <a href="http://microprofile.io">MicroProfile</a> 3.0 all parts of it, merging all infrastructural modules in a single JAR is dangerous - beans.xml and class clashes are possible, helidon comes with JWT support fo outbound communication, in helidon you can provide you own main method, helidon comes with two modes: MicroProfile and Java SE, helidon is just a set of libraries, one library happens to be the server -- but is optional, helidon started as a Java SE platform only - microprofile came later, helidon was inspired by <a href="https://expressjs.com">expressjs</a>, trying to replicate the express experience, helidon ported the Java 9 flow API to Java 8 (by renaming the package) to backport the user experience, helidon uses the event loop of netty - never block the thread, most of Jakarta EE and Java SE libraries are not reactive, Java SE and MicroProfile modes can be used at the same time, helidon Java SE application is directly compilable with <a href="https://github.com/tomas-langer">GraalVM</a> to native image, Helidon 2.0 will come with native compilation support of MicroProfile, commercial support for Helidon will be probably possible, Helidon team answers questions on slack channel, no-one is interested in providing support of outdated software, MicroProfile is volatile - backward compatibility can be a challenge, </blockquote> <p>Tomas Langer on twitter: <a href="https://twitter.com/langer_tomas">@langer_tomas</a> and on github: <a href="https://github.com/tomas-langer">https://github.com/tomas-langer</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 20 Oct 2019 11:00:00 +0100">Sun, 20 Oct 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_58_2.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_57"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_57">#<span itemprop="episodeNumber">57</span></a> DBs-ium, CDC and Streaming</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_57">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Gunnar Morling (<a href="https://twitter.com/gunnarmorling">@gunnarmorling</a>) about: <blockquote> The first <a href="https://github.com/debezium/debezium/commits/master?after=4fdf1f855699e060c4be7ab129bf21a503dbab37+2169">Debezium commit</a>, <a href="https://twitter.com/rhauch">Randal Hauch</a>, <a href="https://debezium.io/documentation/faq/#where_did_the_name_debezium_come_from">DBs-iuim</a>, <a href="https://en.wikipedia.org/wiki/Content_repository_API_for_Java">Java Content Repository JCR</a> / <a href="https://modeshape.jboss.org">modshape</a>, exploring the <a href="https://en.wikipedia.org/wiki/Change_data_capture">Change Data Capture</a> (CDC), how Debezium started, the <a href="https://dev.mysql.com/doc/internals/en/binary-log-overview.html">MySQL binlog</a>, the <a href="https://www.postgresql.org/docs/9.4/logicaldecoding-explanation.html">logical decoding in Postgres</a>, <a href="https://docs.oracle.com/cd/B10500_01/appdev.920/a96587/qintro.htm">Oracle Advanced Queuing</a>, update triggers, Java Message System (JMS), there is no read detection, switching the current user at JDBC connection for audit purposes, helping <a href="https://debezium.io">Debezium</a> with additional metadata table, using <a href="https://kafka.apache.org/documentation/streams/">Kafka Streams</a> to join the metadata and the payload, installing the <a href="https://wiki.postgresql.org/wiki/Logical_Decoding_Plugins">logical decoding plugins</a> into PostgreSQL, logical decoding plugin exposes the data from the write ahead log, decoding into <a href="https://developers.google.com/protocol-buffers">protocol buffers</a> with <a href="https://wiki.postgresql.org/wiki/Logical_Decoding_Plugins#decoderbufs">decoderbufs</a>, in cloud environments like e.g. <a href="https://www.google.com/search?client=safari&rls=en&q=amazon+rds&ie=UTF-8&oe=UTF-8">Amazon RDS</a> you are not allowed to install any plugins, <a href="https://wiki.postgresql.org/wiki/Logical_Decoding_Plugins#wal2json">wal2json</a> is verbose but comes preinstalled on RDS, <a href="https://www.postgresql.org/docs/10/logical-replication-architecture.html">pgoutput</a> is responsible for the actual decoding of the events, debezium only sees committed transactions, debezium is mainly written in Java, decoderbufs was written by community and included to debezium, Debezium communicates with Postgres via the JDBC / Postgres API, pgoutput format is converted into <a href="https://docs.confluent.io/current/connect/index.html">Kafka Connector</a> source format, Kafka Connect is a framework for running connectors, Kafka Connect comes with sink and <a href="https://kafka.apache.org/20/javadoc/org/apache/kafka/connect/source/SourceConnector.html">source connectors</a>, Kafka Connect comes with connector specific connectors like e.g. <a href="https://kafka.apache.org/0100/javadoc/org/apache/kafka/connect/storage/StringConverter.html">StringConverter</a>, Converters are not Serializers, Debezium ships as Kafka Connect plugin, Kafka Connector runs as standalone process, running Debezium in embedded mode, JPA cache invalidation with Debezium, converting Debezium events into CDI events, converting database changes to WebSockets events, database polling vs the Debezium approach, DB2 will support Debezium, Oracle support is "on the horizon", <a href="https://en.wikipedia.org/wiki/Oracle_LogMiner">Oracle LogmMiner</a>, Oracle <a href="https://docs.oracle.com/cd/E11882_01/server.112/e16545/xstrm_intro.htm#XSTRM72647">XStream</a>, Debezium supports <a href="https://debezium.io/documentation/reference/0.10/connectors/sqlserver.html">Microsoft SQL Server</a> (starting with Enterprise license), Apache Pulsar comes with Debezium out-of-the-box, <a href="https://pulsar.apache.org/docs/en/io-overview/">Pulsar IO</a>, running Debezium as standalone service with outbounds APIs, <a href="https://debezium.io/documentation/reference/0.10/connectors/mongodb.html">MongoDB</a> supports the "Debezium Change Event Format", Kafka Sink connectors are easy to implement, Debezium embedded mode and offsets, embedded connector has to remember the offset, an offset API is available for embedded Debezium connectors, combining CDC with <a href="https://kafka.apache.org/documentation/streams/">Kafka Streams</a>, <a href="https://quarkus.io">Quarkus</a> supports Kafka Streams and <a href="https://quarkus.io/guides/kafka-guide">Reactive Messaging</a>, Quarkus and <a href="https://quarkus.io/guides/kafka-streams-guide">Kafka Streams</a>, Quarkus supports Kafka Streams in dev mode, replacing <a href="https://hibernate.org/orm/envers/">Hibernate Envers</a> with Debezium, Messaging vs. Streaming or JMS vs. Kafka, Kafka is a database, the possible Debezium features, <a href="https://debezium.io/documentation/reference/0.10/connectors/cassandra.html">Cassandra support</a> is coming, <a href="https://debezium.io/blog/2019/02/19/reliable-microservices-data-exchange-with-the-outbox-pattern/">Outbox pattern</a> is going to be better supported, transactional event grouping, dedicated topic for transaction demarcations, commercial support for Debezium, Debezium exposes <a href="https://debezium.io/documentation/reference/0.10/operations/monitoring.html">JMX metrics</a>, <a href="https://debezium.io/blog/2018/07/19/advantages-of-log-based-change-data-capture/">Five Advantages of Log-Based Change Data Capture</a>, <a href="https://debezium.io/blog/2019/02/19/reliable-microservices-data-exchange-with-the-outbox-pattern/">Reliable Microservices Data Exchange With the Outbox Pattern</a>, <a href="https://debezium.io/blog/2018/12/05/automating-cache-invalidation-with-change-data-capture/">Automating Cache Invalidation With Change Data Capture</a> </blockquote> <p>Gunnar Morling on twitter: <a href="https://twitter.com/gunnarmorling">@gunnarmorling</a> and github: <a href="https://github.com/gunnarmorling">https://github.com/gunnarmorling</a>. Gunnar's blog: <a href="https://morling.dev/">https://morling.dev/</a>.</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 13 Oct 2019 11:00:00 +0100">Sun, 13 Oct 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_58.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_56"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_56">#<span itemprop="episodeNumber">56</span></a> Jason&#x27;s Binding and Fast, Greek Birds</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_56">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Dmitry Kornilov (<a href="https://twitter.com/m0mus">@m0mus</a>) about: <blockquote> Programming mother and Basic "print", pl 1 on mainframes, enjoying the creativity of programming, developing <a href="https://en.wikipedia.org/wiki/Tetris">Tetris</a> with 12, enjoying one of the first XT PCs in Russia in 1985, using pupil testing applications at school, enjoying the power of the key to the computer room, using the Russian computer: <a href="https://en.wikipedia.org/wiki/Electronika_BK">BK-0010</a>, using <a href="https://en.wikipedia.org/wiki/Pascal_(programming_language)">Pascal</a> at high school and <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)">Delphi</a> in leisure, <a href="https://en.wikipedia.org/wiki/Clipper_(programming_language)">clipper</a>, Delphi was unbeatable at that time, Delphi is still supported by <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)#Embarcadero_Delphi_10.3_Rio">Embarcadero</a>, <a href="https://en.wikipedia.org/wiki/Delphi_(IDE)#Borland_Delphi">Borland Delphi</a> started in 1995, <a href="https://en.wikipedia.org/wiki/Turbo_Vision">Turbo Vision</a> the library for creation of DOS-based UI, studying applied mathematics at the aviation university, building a <a href="https://en.wikipedia.org/wiki/F-19_Stealth_Fighter">F-19 Stealth Fighter simulator</a> at the Aviation University in C/C++, by solving 9 to 11 differential equations you could simulate an airplane, creating a graphic library to draw primitives in assembler to improve performance, building automation systems for resorts in Czech Republic in ASP.net and C#, creating a casino application as PoC in J2EE, Linux and <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic Server 7</a>, Tetris as Applets, enjoying <a href="https://en.wikipedia.org/wiki/JBuilder">JBuilder IDE</a>, starting with EJB 1.0, Bean Managed Persistence (BMP) later Container Manager Persistence (CMP), working as freelancer in J2EE space, starting at Oracle at <a href="https://www.eclipse.org/eclipselink/">EclipseLink</a> team and creating the second version of JPA-RS, starting with <a href="http://json-b.net">JSON-B</a> and <a href="https://github.com/eclipse-ee4j/yasson">yasson</a>, JSON-B was created by a team of 2 developers, the <a href="https://jakartaone.org">JakartaONE livestream</a>, session: <a href="https://www.youtube.com/watch?v=vTPTAkxpngY&list=PLy7t4z5SYNaSxBfGMW-NRQkV_qWM0NipB&index=14&t=0s">"JSON support in Jakarta EE: Present and Future"</a>, the AirPort, Prime and <a href="https://helidon.io">Helidon</a>, Helidon got <a href="https://microprofile.io">MicroProfile</a>, Airport started around 2015, Helidon had a great potential what was recognized by management, Helidon supports Java SE and MicroProfile programming models, Oracle had no viable strategy for WLS customers which wanted to try something else - Helidon fills the gap, J4C - Java For Clouds was the name of the runtime before Helidon, Helidon is the name of a small and fast bird: the swallow, the <a href="https://helidon.io">helidon.io</a> website was created by Oracle's webdesigners, Helidon Java SE is targetted for developers who are bored by Java EE programming model, fat jars don't make any sense, Helidon is a hollow-JAR and so can be deployed as layered Docker image, </blockquote> <p>Dmitry Kornilov on twitter: <a href="https://twitter.com/m0mus">@m0mus</a>. Dmitry's blog: <a href="https://dmitrykornilov.net">https://dmitrykornilov.net</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 6 Oct 2019 11:00:00 +0100">Sun, 6 Oct 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_56.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_55"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_55">#<span itemprop="episodeNumber">55</span></a> SAP, ODATA, OpenSource and Apache Olingo</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_55">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Michael Bolz (<a href="https://twitter.com/onemibo ">@onemibo </a>) about: <blockquote> The first line of Turbo Pascal in 1992, 286 Compaq with a Turbo button, writing an installer for friends, C64 vs. PC, Jump and Run without jumping, writing some HTML code with DreamWeaver, What You See is NOT what you get, studying at the <a href="https://www.hs-karlsruhe.de/internationalprogram/">University of Applied Sciences in Karlsruhe</a>, building web based applications with <a href="https://struts.apache.org">Struts</a>, Java is easier to learn than C/C++, starting with "public static void main", then managing students with Java, writing UI tools in Swing / AWT for applying patches in CMS, JSF vs. Struts, the <a href="https://www.steinbeis-iec.de/en/steinbeis/">steinbeis foundation</a> system migration from EJB 2.1 to EJB 3.1 in 2008, EJB 2.1 required code generation with <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a> - and EJB 3.1 was nice, Heidelberg is nicer than Karlsruhe, the JAX 2012 meeting with JMS expert <a href="https://twitter.com/ruezd">Ruediger zu Dohna</a>, simplifications with JMS 2.X, copying museum code from the internet, copy and paste oriented programming, working for SAP, opensource at SAP, starting <a href="https://olingo.apache.org">Apache Olingo</a>, the ODATA specification for accessing backends, backend for frontends, ODATA is queryable database, ODATA exposes CRUD+ operations as standardised REST interface, Olingo is ODATA implementation for Java, Olingo is a <a href="https://en.wikipedia.org/wiki/Northern_olingo">raccoon</a>, Olingo team started with 4 developers, ODATA v4 is an <a href="https://www.oasis-open.org/committees/tc_home.php">OASIS standard</a>, ODATA v4 is mostly based on JSON, 2 developers are currently maintaining Olingo, JPA extension only exists for the Olingo v2 and not v4, most SAP services are available as ODATA endpoints, SAP's UI5 components can be also bound to ODATA, SAP UI5 widgets are also available as SAP <a href="https://sap.github.io/ui5-webcomponents/">ui5 WebComponents</a>, <a href="https://en.wikipedia.org/wiki/MaxDB">MaxDB</a>, teaching ABAP developers Java, nightly conversations about the R3 VM, in <a href="http://www.adam-bien.com/roller/abien/entry/microprofile_java_ee_8_thinner">ThinWARs</a> there is nothing to scan, removing unwanted dependencies is a good idea, <a href="https://github.com/SAP/vulnerability-assessment-tool">Vulnerability Assessment Tool (Vulas)</a> by SAP research, Vulas is going to be donated to Eclipse Foundation, Vulas scans transitive dependencies as well as the source code of the dependencies, SAP runs a lot of Java apps internally, Olingo comprises two parts - the metadata and the execution part, Olingo v2 comes with JPA extension and a Servlet as entry point, Microsoft contributed the Olingo client, <a href="https://github.com/mibo/janos">Java Annotation extension for Apache Olingo V2</a>, Olingo is open for contributions, it is a good idea to discuss new features on the mailing list first, new Olingo features must be backward compatible, this podcast episode was triggered by <a href="http://adambien.blog/roller/abien/entry/microprofile_business_constraints_outbox_lit1">66th airhacks.tv Q&A</a>, </blockquote> <p>Michael Bolz on twitter: <a href="https://twitter.com/onemibo ">@onemibo</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 29 Sep 2019 11:00:00 +0100">Sun, 29 Sep 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_55.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_54"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_54">#<span itemprop="episodeNumber">54</span></a> JavaONE vs. CodeONE 2019</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_54">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Sebastian Daschner (<a href="https://twitter.com/sdaschner">@sdaschner</a>) about: <blockquote> <a href="https://www.oracle.com/code-one/">CodeONE 2019</a>, <a href="https://blog.sebastian-daschner.com/entries/thoughts-on-efficient-testing">"Thoughts on efficient enterprise testing"</a> blog series, <a href="https://openjdk.java.net/projects/valhalla/">project valhalla</a>, <a href="https://openjdk.java.net/jeps/355">multiline string / text block (JEP 355)</a>, kubernetes <a href="https://www.telepresence.io">telepresence</a>, <a href="https://www.youtube.com/watch?v=81gujFcs3fU">Jessica Pointing on Quantum Computing</a>, <a href="https://www.tomshardware.com/news/oracle-raspberry-pi-supercomputer,40412.html">Oracle's New Supercomputer with 1060 Raspberry Pis</a>, <a href="https://www.ibm.com/downloads/cas/G3L0EPOL">Developing Open Cloud Native Microservices</a> free book </blockquote> <p>Sebastian Daschner on twitter: <a href="https://twitter.com/sdaschner">@sdaschner</a>, and Sebastian's blog: <a href="https://blog.sebastian-daschner.com">blog.sebastian-daschner.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 23 Sep 2019 11:00:00 +0100">Mon, 23 Sep 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_54.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_53"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_53">#<span itemprop="episodeNumber">53</span></a> From PHP to Transactions</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_53">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Ondrej Chaloupka (<a href="https://twitter.com/_chalda">@_chalda</a>) about: <blockquote> RPG character generators with Turbo Pascal, Delphi and Visual Basic. <a href="https://dnd.wizards.com">D&D</a>, Pentium 100 and <a href="https://en.wikipedia.org/wiki/Atari_ST">Atari 500 ST</a>, the joy of programming, the object oriented paradigm with Java 1.5 at university, warehouse software with JBoss 5 and enterprise Java, the first line of Java code was "public static void main", Java is not the ideal language to start programming with, building Swing apps at the <a href="http://www.fit.vut.cz">University of Brno</a>, studying computer science was hard, computer theory at the university is actually useful, design pattern overuse is an enterprise Java disease, some best practices move to Java EE platform - there is not need to solve the already solved problems, internship in Brazil with PHP and JQuery in 2009, the main problem of early Java EE was slow deployments, starting at RedHat as quality engineer for JBoss AS 7, quality insurance is a great way of on-boarding, starting to work on transactions, most PHP applications were built with "auto commit" transactions, transactions are convenient, enhancing code coverage for the transaction manager, fixing own bugs filed as quality engineer, starting as <a href="https://narayana.io">narayana</a> developer, narayana, <a href="https://narayana.io/arjuna-core/index.html">arjuna</a> and JBoss Transaction Manager are the same bits, migrating narayana to <a href="https://github.com/eclipse/microprofile-lra">MicroProfile Long Running Action (LRA)</a>, building transactional file system <a href="http://connectorz.adam-bien.com">JCA connectorz</a>, the narayana bootstrap with XML (timeout, implementation, recovery, transaction log), transaction manager and transaction recovery manager are the key parts, the transaction recovery manager is needed to remember what the server did, XID vs. Global ID, transaction context is stored in a ThreadLocal, <a href="https://docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html#joinTransaction--">joining transactions</a> with JPA <a href="https://docs.oracle.com/javaee/7/api/javax/persistence/EntityManager.html">EntityManager</a>, UnitOfWork in EntityManager, JDBC and XA transactions, a XA JDBC driver has to be exposed to the TransactionManager, a local transaction can be directly managed by the EntityManager, the XA / 2PC (two phase commit) protocol in detail, EntityManager: transactions and flushing, XA optimizations, <a href="https://quarkus.io">Quarkus</a> and Narayana, storing transaction logs in a central database, @Stateless, @Transactional and <a href="https://docs.oracle.com/javaee/6/api/javax/transaction/UserTransaction.html">UserTransaction</a>, code simplification with CDI and EJB, premature transaction optimisation is the root of some evil, starting transactions at the boundary layer, slower performance without transactions, in business applications with some state you will always need something like local transaction, thinking differently with NoSQL, Dr. Martin Kleppmann (<a href="https://twitter.com/martinkl">@martinkl</a>) transactions, challenges with microservices and transactions. </blockquote> <p>Ondrej Chaloupka on twitter: <a href="https://twitter.com/_chalda">@_chalda</a>, and the <a href="http://jbossts.blogspot.com">JBoss Trasactions, Narayana, Arjuna blog</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 14 Sep 2019 11:00:00 +0100">Sat, 14 Sep 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_53.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_52"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_52">#<span itemprop="episodeNumber">52</span></a> The First Line of Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_52">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Emmanuel Bernard (<a href="https://twitter.com/emmanuelbernard">@emmanuelbernard</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/PC1512">Amstrad PC 1512</a>, the first PC computer ever made by Amstrad, two floppies are better than a hard drive, deleting double dots, <a href="https://en.wikipedia.org/wiki/CP/M">C/PM OS</a>, BIOS as cheating detection, creating <a href="https://en.wikipedia.org/wiki/Snake_(video_game_genre)">snake game</a> in BASIC, playing with Turbo Pascal, from GO TOs over loops to procedures, objects, aspects to functional programming, exploring <a href="https://en.wikipedia.org/wiki/Mandriva_Linux">Mandrake Linux</a>, <a href="https://www.tibco.com/products/tibco-messaging">Tibco Messaging</a> and C++, killing yourself with casting, the C discipline checker - an enforced linter, 120 errors caused by Coke break, no version control -- no time machine, starting with Java 1.2, replacing buttons with images in Swing / AWT, memory leaks in Java UI, creating ASP websites for <a href="https://www.fnac.com">fnac</a>, building shopping cart with VB, going back with Visual Basic debugger, exploring Java as C# alternative, WebSphere vs. WebLogic, WebLogic was the JBoss of early 2000's, <a href="https://excalibur.apache.org">Apache Excalibur</a> container, editing TopLink files with Eclipse IDE, replacing TopLink with early Hibernate, providing Hibernate support, the Rational Unified Process Workbench, hacking the organization is important, the gradient from hacking to politics, <a href="https://jonas.ow2.org">JOnAS</a> was big in France, translating Hibernate documentation, patching Hibernate via CVS and email, Gavin King, Oracle and annotations as XML replacement, <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a> was a great EJB annotation PoC, Cedric Beust created XDoclet, early Apache Geronimo participation, a French engineer will only tell you what you can do better, XML mapping with deeply nested annotations as prototype, EJB 3 specification comprised the component model and the persistence, Eclipse IDE was late with annotation support, working on EntityManager API with <a href="https://bill.burkecentral.com/about-me/">Bill Burke</a>, joining forces with <a href="https://en.wikipedia.org/wiki/Java_Data_Objects">Java Data Objects (JDO)</a> to participate on JPA, switching from fnac to JBoss, the first day at JBoss, Gaving King and Christian Bauer were Hibernate consultants, Steve Ebersole worked on Hibernate Core and <a href="https://in.relation.to/max-andersen/index.html">Max Andersen</a> on Eclipse tooling, Gavin King implemented an early bean validation prototype and Emmanuel took it over, contributing to a mature opensource project is really hard, Google App Engine wanted to use Hibernate as persistence backend, then google decided to use <a href="http://datanucleus.org">datanucleus.org</a>, Book Driven Development is better than Conference Driven Development, Emmanuel started OGM - the Object Grid Mapper, in NoSQL space the model is simpler, <a href="https://javaee.github.io/jsonp/">JSON-P</a> or <a href="https://javaee.github.io/jsonb-spec/">JSON-B</a> can be used as replacement for JPA entities, JDBC is hard to use what explains the success of ORM products, RedHat acquired JBoss, the switch from 200 employee company to 2000 employees company, developer is king at RedHat, RedHat acquired JBoss right after the introduction of JPA, becoming an architect, <a href="https://debezium.io">debezium</a> was started by Randall Hauch then continued by <a href="http://airhacks.fm/#episode_39">Gunnar Morling</a>, creating architecture slides with Google Docs, throughput driven optimizations, with containers throughput becomes less important, Java was designed for throughput and not memory efficiency and startup time, openJDK team, middleware team at Redhat had conversations about the future of Java on containers, Kubernetes is your cluster manager, WildFly is the flagship and the integration point, Sanne Grinovero was behind optimizations, Java's metaspace was too high, Java is a highly dynamic environment and therefore hard to optimize, the <a href="https://en.wikipedia.org/wiki/Excelsior_JET">Excelsior JET VM</a>, <a href="https://en.wikipedia.org/wiki/GNU_Compiler_for_Java">GCJ</a>, <a href="http://www.adam-bien.com/roller/abien/entry/when_c_becomes_too_slow">Project Maxwell</a>, <a href="https://www.graalvm.org">GraalVM</a> and the compiler is written in Java, WildFly Swarm became Thorntail and was an attempt to make the runtime smaller, Java's memory usage is the real problem, Quarkus came with the idea to make all the optimization at build time, not runtime, Emmanuel started Quarkus with <a href="http://airhacks.fm/#episode_9">Jason Greene</a> and <a href="http://bob.mcwhirter.org">Bob McWhirter</a>, the very first line of <a href="https://quarkus.io/">Quarkus</a> code was written in a pub, the Quarkus project name was Shamrock what was the name of the pub, 3 months time for a PoC, hibernate, CDI, JAX-RS and JDBC drivers had to be optimized for the MVP, June 2018 was the very beginning of Quarkus, the shamrock pub is located in Australia, docker containers are immutable and the WAR deployment does not fit into this model, ThornTail's hollow JARs separate the business logic from the architecture, one of the Quarkus inspirations is the <a href="https://www.playframework.com">Play framework</a>, <a href="https://quarkus.io/guides/hibernate-orm-panache-guide">Hibernate Panache</a> got the idea from Play persistence, <a href="http://wad.sh">wad.sh</a> watches changes and redeploys WARs on-the-fly, <a href="https://github.com/AdamBien/quarkee">QuarkEE</a> makes Quarkus look like a Java EE application, Quarkus on GraalVM is the perfect storm, Jakarta EE is a good way to reset Java EE expectations, the <a href="https://www.j4k.io">j4k</a> conference, </blockquote> <p>Emmanuel Bernard on twitter: <a href="https://twitter.com/emmanuelbernard">@emmanuelbernard</a>, Emannuel's website: <a href="https://emmanuelbernard.com">https://emmanuelbernard.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 2 Sep 2019 11:00:00 +0100">Mon, 2 Sep 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_52.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_51"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_51">#<span itemprop="episodeNumber">51</span></a> Keycloak as Fun</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_51">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Sebastien Blanc (<a href="https://twitter.com/sebi2706">@sebi2706</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Thomson_MO5">Thomson MO5</a>, every school in France needs to have a computer, <a href="https://en.wikibooks.org/wiki/BASIC_Programming/Beginning_BASIC/PRINT,_CLS,_and_END">printing</a> the name with BASIC, the <a href="https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/rem-statement">REM</a> sadness, making yellow boxes, programming <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">Logo</a> in French, writing "root" and "house" procedures, no procedures in BASIC, the <a href="https://www.alancsmith.co.uk/logo/">ACSLogo for Mac OS X</a>, <a href="https://people.eecs.berkeley.edu/~bh/logo.html">Berkeley Logo (UCBLogo)</a>, the <a href="https://en.wikipedia.org/wiki/PC1512">Amstrad PC1512</a>, using <a href="https://en.wikipedia.org/wiki/AMOS_(programming_language)">AMOS programming language</a> for writing games, writing invoicing software with 14 and AMOS, <a href="https://en.wikipedia.org/wiki/Zak_McKracken_and_the_Alien_Mindbenders">Zak McKracken and the Alien Mindbenders</a>, <a href="https://en.wikipedia.org/wiki/Siemens_Nixdorf_Informationssysteme">Siemens Nixdorf PC</a>, <a href="https://en.wikipedia.org/wiki/QuickBASIC">QuickBasic</a> on <a href="https://www.chaos-inkl.de/wiki/project:486pc">Siemens Nixdorf DX2-66</a>, the <a href="http://www.povray.org">Persistence of Vision Raytracer</a>, average calculation for school notes with QuickBasic, writing ballistic games for <a href="https://en.wikipedia.org/wiki/TI_BASIC_(TI_99/4A)">TI BASIC (TI 99/4A)</a>, playing Nirvana on e-guitar, starting with Java in 2002, the Rational Rose Logo Edition, learning Java EE on <a href="https://jonas.ow2.org">JOnAS</a>, <a href="https://tapestry.apache.org">Apache Tapestry</a>, consulting with <a href="https://portals.apache.org/jetspeed-2/">Apache Jetspeed</a>, writing Java EE code for 7 years, hardtimes with WebSphere, <a href="https://xerces.apache.org">Xerces</a> and ClassLoading, refactorings to <a href="https://maven.apache.org">Maven</a>, mobile web / <a href="https://grails.org">Grails</a> involvements, starting at RedHat's mobile team - <a href="https://aerogear.org">AeroGear</a>, <a href="https://twitter.com/mwessendorf">Matthias Wessendorf</a>, Matthias loves Java Server Faces (JSF), the <a href="https://aerogear.org/push/">unified push server</a>, starting <a href="https://www.keycloak.org">keycloak</a> involvement, the security challenge, the keycloak religion, keycloak ships as WildFly distribution, keycloak is a <a href="https://wildfly.org">WildFly</a> subsystem, keycloak uses hibernate for persistence, keycloak manages users with credentials, keycloak ships with ready to UI to manage users, keycloak functionality is exposed as <a href="https://www.keycloak.org/docs-api/5.0/rest-api/index.html">REST</a> services, there is a <a href="https://github.com/keycloak/keycloak/blob/master/integration/admin-client/src/main/java/org/keycloak/admin/client/Keycloak.java">Java client</a> available - as REST wrapper, keycloak is a "remote" proxy realm, keycloak ships with adapters for major application servers out-of-the-box, keycloak comes with SSO - different application servers can share the same session, the security realm is a "territory", in keycloak a session is optional -- a microservice can use JWT token, using <a href="https://www.keycloak.org/docs/4.8/authorization_services/">OIDC tokens</a>, keycloak comes with servlet filters for servers without adapter support, the new keycloak approach is the <a href="https://github.com/keycloak/keycloak-gatekeeper">Keycloak Gatekeeper</a>, Keycloak Gatekeeper is a <a href="https://docs.microsoft.com/en-us/azure/architecture/patterns/sidecar">sidecar service</a>, apache <a href="https://github.com/zmartzone/mod_auth_openidc">mod_auth_openidc</a>, keycloak is oidc compliant -- any generic OIDC library should work, the JWT creation tool <a href="http://jwtenizr.sh">JWTenizr</a>, the <a href="http://www.adam-bien.com/roller/abien/entry/authentication_and_authorization_with_jwt">"Securing JAX-RS Endpoints with JWT"</a> screencast, the oauth flows, oauth authorization flow, implicit flow and the hybrid flow, access token has to have short lifetime, using services accounts for schedulers, keycloak has a logout backchannel - available from servlet filter, pushing a timestamp also causes logout, <a href="https://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html#logout()">HttpServletRequest#logout</a> also logouts, the killer feature: keycloak stores the private keys in one place and makes public keys available via URI, </blockquote> <p>Sebastien Blanc on twitter: <a href="https://twitter.com/sebi2706">@sebi2706</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 25 Aug 2019 11:00:00 +0100">Sun, 25 Aug 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_51.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_50"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_50">#<span itemprop="episodeNumber">50</span></a> The Jakarta EE / MicroProfile and WebStandards Startup</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_50">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Matthias Reining (<a href="https://twitter.com/MatthiasReining">@MatthiasReining</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/PowerBASIC">Power Basic</a> is not <a href="https://en.wikipedia.org/wiki/QBasic">QBasic</a> and was comparable with <a href="https://en.wikipedia.org/wiki/Turbo_Pascal">Turbo Pascal</a>, game high score manipulation as programming motivation, <a href="https://en.wikipedia.org/wiki/Commodore_64">C 64</a> was the first computer encounter, writing a "Jump and Run" game in Power Basic, Power Basic IDE as Christmas present, the menu bar fascination, using <a href="https://en.wikipedia.org/wiki/GW-BASIC">GW-Basic</a> at high school, call by value vs. call by reference in Power Basic and Turbo Pascal, the <a href="https://en.wikipedia.org/wiki/COMAL">Comal</a> programming language, learning C, the <a href="https://www.informatik.uni-wuerzburg.de/en/institute-of-computer-science/">University of Wuerzburg</a>, learning <a href="https://en.wikipedia.org/wiki/Microsoft_Visual_C%2B%2B">Visual C++</a> and object oriented programming at university, C over C++, learning Java during internship at <a href="https://www.enowa.ag/ueber-uns/das-unternehmen/">Nobiscum</a>, writing a Java frontend with AWT for CVS as proof of concept, renaming com.sun.swing to javax.swing, switching to Lotus Notes as consultant, improving Lotus Notes user interface with Java, accessing Lotus Notes with JDBC, <a href="http://couchdb.apache.org">CouchDB</a> the Lotus Notes "successor" created by Damien Katz - a former Lotus Notes developer, Lotus Notes the NoSQL database before the popularity of NoSQL, <a href="https://en.wikipedia.org/wiki/Transact-SQL">Transact-SQL</a>, <a href="https://en.wikipedia.org/wiki/PL/SQL">PL/SQL</a> and back to Java, JSPs, Servlets, Tomcat and <a href="https://struts.apache.org">Apache Struts</a>, from Java back to Pearl, the strategy of spending as much time as possible in a single project, writing fronted code with "this and that" or ES 5-the ancient JavaScript, the Java EE 5 fascination, <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a> code generation for early EJB versions was slow, annotation-based programming with Java EE 5 improved the productivity, building a freelancer portal with Java EE 5 as proof of concept, a Java EE workshop in 2011, learning politics in Java insurance projects with "C-structs" as design pattern, enjoying PowerPoint time, founding a startup with Java EE 8 / Jakarta EE 8 and MicroProfile as technology choice, <a href="https://wildfly.org">WildFly</a> and <a href="https://www.keycloak.org">Keycloak</a> are the perfect technologies for a startup, focus on the business and not the technology, considering <a href="https://openliberty.io">OpenLiberty</a> and <a href="https://quarkus.io">Quarkus</a> as migration target caused by slow support of <a href="https://microprofile.io">MicroProfile</a> APIs by WildFly, saving memory with Quarkus, making WARs thinner by moving to MicroProfile JWT from proprietary Keycloak libraries, building the heart of an insurance company - an insurance platform, cloud-ready and private clouds are a common deployment model, migration from COBOL systems to <a href="https://tech11.com/en/">tech11</a> insurance platform, team of 8 people is incredibly productive, it is hard to find good developers in Germany, hiring pragmatic developers from Afrika with the "<a href="http://www.adam-bien.com/roller/abien/entry/microprofile_java_ee_8_thinner">ThinWAR</a>" mindset, the "airhacks stack", polyglot programming is chaos, using Java EE 8 as the baseline, all other dependencies require permission, an average tech11 ThinWAR is a few hundreds kB, code snippets from 2005 gave Java EE a bad name, implement whatever you can today and care about potential problems tomorrow, the time to first commit has to be as low as possible, projects and products require different approaches, the "getting things done" developer, long-term maintenance is key to product success, every company has the right technology at certain time, Java EE is not the only "right" technology, projects are also barely dependent on Java EE, <a href="https://tech11.com/en/">tech11</a> does not sell technology, tech11 sells solutions, using plain WebStandards with WebComponents, ES 6 in the frontend, Custom Elements looks like ReactJS, <a href="https://tech11.com/en/">lit-html</a> is one of the few dependencies in frontend, tech11 started with <a href="https://github.com/WebReflection/hyperHTML">hyperHTML</a>, then migrated to lit-html, <a href="https://open-wc.org">open-wc</a> comes with lots of examples with LitElement what is not necessary, using <a href="https://open-wc.org">Parcel</a> for packaging without any transpiling, <a href="https://rollup.js">rollup.js</a> is great for packaging, Jenkins transpiles for older browsers, on developer machines not even npm is necessary, <a href="http://airhacks.io">airhacks.io</a> workshop about WebComponents: <a href="http://webcomponents.training">webcomponents.training</a>, tech11 uses a BPM engine to manage processes, tarifs claims, policies are the names of microservices (ThinWARs), the episode <a href="http://airhacks.fm/#episode_36">#36 with Markus Kett</a> mentions the <a href="https://jcon.one/en/">JCon</a> keynote, </blockquote> <p>Matthias Reining on twitter: <a href="https://twitter.com/MatthiasReining">@MatthiasReining</a>and his startup: <a href="https://tech11.com">https://tech11.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 17 Aug 2019 11:00:00 +0100">Sat, 17 Aug 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_50.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_49"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_49">#<span itemprop="episodeNumber">49</span></a> KISS Java EE, MicroProfile, AI, (Deep) Machine Learning</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_49">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Pavel Pscheidl (<a href="https://twitter.com/PavelPscheidl">@PavelPscheidl</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Pentium">Pentium 1</a> with 12, 75 MHz, first hello world with 17, <a href="https://en.wikipedia.org/wiki/Quake_III_Arena">Quake 3</a> friend as programming coach, starting with Java 1.6 at at the university of <a href="https://www19.uhk.cz/en-GB/FIM-international-students/Degree-Programmes/Bachelor-Degree-Programmes-in-English">Hradec Kralove</a>, second "hello world" with <a href="https://en.wikipedia.org/wiki/Operation_Flashpoint">Operation Flashpoint</a>, the third "hello world" was a Swing Java application as introduction to object oriented programming, introduction to enterprise Java in the 3rd year at the university, first commercial banking Java EE 6 / <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">WebLogic</a> project in Prague with mobile devices, working full time during the study, the first Java EE project was really successful, 2 month development time, one DTO, nor superfluous layers, using <a href="https://en.wikipedia.org/wiki/Oracle_WebLogic_Server">enunciate</a> to generate the REST API, CDI and JAX-RS are a strong foundation, the first beep, fast JSF, CDI and JAX-RS deployments, the first beep, the War of Frameworks, pragmatic Java EE, "no frameworks" project at telco, reverse engineering Java EE, getting questions answered at <a href="http://airhacks.tv">airhacks.tv</a>, working on PhD and statistics, starting at <a href="https://www.h2o.ai">h2o.ai</a>, h2o is a sillicon valley startup, h2o started as a distributed key-value store with involvement of <a href="https://twitter.com/cliff_click">Cliff Click</a>, machine learning algorithms were introduced on top of distributed cache - the advent of h2o, h2o is an opensource company - see <a href="https://github.com/h2oai/h2o-3">github</a>, Driverless AI is the commercial product, <a href="https://www.h2o.ai/products/h2o-driverless-ai/">Driverless AI</a> automates cumbersome tasks, all AI heavy lifting is written in Java, h2o provides a custom java.util.Map implementation as distributed cache, <a href="https://en.wikipedia.org/wiki/Random_forest">random forest</a> is great for outlier detection, the computer vision library <a href="https://opencv.org">openCV</a>, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/gbm.html">Gradient Boosting Machine (GBM)</a>, the <a href="https://www.h2o.ai/blog/hack-airline-data-with-math/">opensource airlines dataset</a>, monitoring Java EE request processing queues with GBM, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/glm.html">Generalized Linear Model (GLM)</a>, GBM vs. GLM, GBM is more explained with the decision tree as output, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/xgboost.html">XGBoost</a>, at h2o XGBoost is written in C and comes with JNI Java interface, XGBoost works well on GPUs, XGBoost is like GBM but optimized for GPUs, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/word2vec.html">Word2vec</a>, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/deep-learning.html">Deep Learning</a> (Neural Networks), h2o generates a directly usable archive with the trained model -- and is directly usable in Java, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/k-means.html">K-Means</a>, k-means will try to find the answer without a teacher, AI is just predictive statistics on steroids, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/mojo_import.html">Isolation Random Forest</a>, IRF was designed for outlier detection, and K-Means was not, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/naive-bayes.html">Naïve Bayes Classifier</a> is rarely used in practice - it assumes no relation between the features, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/data-science/stacked-ensembles.html">Stacking</a> is the combination of algorithms to improve the results, <a href="http://docs.h2o.ai/h2o/latest-stable/h2o-docs/automl.html">AutoML</a>: Automatic Machine Learning, AutomML will try to find the right combination of algorithms to match the outcome, h2o provides a set of connectors: csv, JDBC, amazon S3, Google Cloud Storage, applying AI to Java EE logs, the amount of training data depends on the amount of features, for each feature you will need approx. 30 observations, h2o world - the conference, cancer prediction with machine learning, preserving wildlife with AI, using AI for spider categorization </blockquote> <p>Pavel Pscheidl on twitter: <a href="https://twitter.com/PavelPscheidl">@PavelPscheidl</a>, Pavel's blog: <a href="http://pavel.cool">pavel.cool</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 10 Aug 2019 11:00:00 +0100">Sat, 10 Aug 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_49.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_48"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_48">#<span itemprop="episodeNumber">48</span></a> Quarkus is the Opposite of Wildfly</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_48">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Dimitris Andreadis (<a href="https://twitter.com/dandreadis">@dandreadis</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Amstrad_CPC">Amstrad CPC 484</a>, but <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore</a> had better games, learning BASIC driven by lack of games, hacking game loaders, C is the favourite language, with C you have the full control, C is concise, ISO DEE, writing ISO network layers in Ireland, writing reactive code in 1994, beautiful C code, processing bibliographic data with DSLs, maintaining passion and fun at <a href="https://indexdata.dk">indexdata.dk</a>, enjoying the time at navy, clueless mainframe operators, writing programs in COBOL instead of queries, PDP 11 as simulator for naval training, writing application servers in C++ for telecom, EJB-like components in C++, Java UIs in 1998, Java should be good enough for writing service provisoning platforms, accidental discovery of Java Management Extension (JMX), first Java impression was not as good, JBoss was a heavy JMX user, JBoss was always manageable because of JMX, <a href="https://twitter.com/rickardoberg">Rickard Öberg</a> was a genious, dynamic kernel with dynamic extensions, Marc Fleury started JBoss, JBoss 2 was a rewrite, JBoss 2 kernel was the base for project "Junction" renamed to <a href="http://www.intracom-telecom.com/en/products/telco_software/oss/actionstreamer.htm">Action Streamer</a>, JBoss became more interesting than the day job, core JBoss developer since 2004, CORBA / <a href="https://en.wikipedia.org/wiki/CSIv2">CSIv2</a> skills were needed for J2EE certification, transferring transactions and security context with CORBA extensions, JBoss was the first J2EE certified server, Dimitris was project lead for JBoss 4 and 5, later manager, now responsible for <a href="https://thorntail.io">Thorntail</a>, Vertx and <a href="https://quarkus.io">Quarkus</a>, in JBoss CORBA objects were dynamically generated, the <a href="https://www.researchgate.net/publication/221461544_The_JBoss_Extensible_Server">paper: "The JBoss Extensible Server"</a> from brazilian professor, Thrift, gRPC and Co. are CORBA, just reinvented, CORBA network layer is very efficient, EJBs killed CORBA, JBoss unified the web container and EJB container in a single JVM to prevent remote communication, microservices are distributed, sometimes unnecessarily, EJBs and WebContainers had to split into separate JVMs back then as well, Quarkus is the exact opposite of WildFly, Quarkus and WildFly also have different goals, the WildFly.next discussions at RedHat, Jason Greene and Bob McWhirter had WildFly discussions, Emanuel proposed a single runtime for everyone, the one base runtime for everyone prototype, SubstrateVM produced the best native code, Hibernate on Quarkus was a break-through, Quarkus is a collective, interdisciplinary effort at RedHat, Quarkus started in spring 2018, Quarkus pushes the Java EE deployment model further and the optimisations are collateral, Quarkus looks and feels like Java EE or <a href="https://microprofile.io">MicroProfile</a>, Quarkus does not require proprietary imports, Quarkus went for native optimization, and optimized HotSpot JVM as well, Quarkus build makes code less memory hungry at HotSpot, Quarkus takes have of the memory with fast startup time, Quarkus comes also with runtime improvements in HotSpot and native mode, the idea for build-time optimizations started at WildFly, with pre-computing the deployment model, Quarkus extension model allows the integration of 3rd-party code for native compilation, Quarkus development mode comes with scripting-like experience, Quarkus FatJars aren't fat, nor self-contained, Quarkus runner-jars are optimized for Docker and so clouds, Quarkus offers imerative and reactive APIs, <a href="https://netty.io">Netty</a>, <a href="https://vertx.io">Vert.x</a> and <a href="http://undertow.io">Undertow</a> are unified inside Quarkus, <a href="https://quarkus.io/guides/hibernate-orm-panache-guide">Panache ORM</a> is an experiment, but could become a <a href="https://microprofile.io">MicroProfile</a> or <a href="https://jakarta.ee">Jakarta EE</a> standard, working with standards is difficult, Quarkus pushes standards further, developers hack the code first, then standard comes, writing <a href="https://kubernetes.io">Kubernetes</a> operators with Quarkus </blockquote> <p>Dimitris Andreadis on twitter: <a href="https://twitter.com/dandreadis">@dandreadis</a>, an <a href="http://dandreadis.blogspot.com">dandreadis.blogspot.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 5 Aug 2019 11:00:00 +0100">Mon, 5 Aug 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_48.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_47"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_47">#<span itemprop="episodeNumber">47</span></a> Jakarta EE and MicroProfile Innovation, Developer Experience and No Politics</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_47">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Sebastian Daschner (<a href="https://twitter.com/sdaschner">@sdaschner</a>) about: <blockquote> <a href="https://blog.sebastian-daschner.com/entries/jakarta-microprofile-innovation-proprosal">Proposal on <a href="https://jakarta.ee">Jakarta EE’s</a> innovation & relationship to MicroProfile</a>, using <a href="https://microprofile.io">MicroProfile</a> as an incubator, <a href="http://www.jcrete.org">JCrete</a> is not vacations, MicroProfile is production ready, <a href="https://microprofile.io/project/eclipse/microprofile-metrics">MicroProfile Metrics</a>, <a href="https://microprofile.io/project/eclipse/microprofile-fault-tolerance">MicroProfile Fault Tolerance</a>, <a href="https://microprofile.io/project/eclipse/microprofile-open-api">MicroProfile OpenApi</a>, <a href="https://microprofile.io/project/eclipse/microprofile-opentracing">MicroProfile OpenTracing</a> the incubation process for <a href="https://jakarta.ee">Jakarta EE</a>, applying what made Java EE great to Jakarta EE, the difference between <a href="https://projects.eclipse.org/projects/ee4j">EE4J</a> and the incubator proposal, the <a href="https://javaee.github.io/javaee-spec/">umbrella Java EE specification</a> is lacking in Jakarta EE, predefined templates with convention over configuration and design principles, Jakarta EE and MicroProfile websites are not consistent enough, how to bring together Jakarta EE and MicroProfile, bundling Jakarta EE and MicroProfile APIs, the Jakarta EE usability project, the developer experience project, proposing a gist-like repository with common "Jakarta EE / MicroProfile look and feel" code snippets, both: MicroProfile and Jakarta EE could use the <a href="http://www.adam-bien.com/roller/abien/entry/java_ee_jakarta_ee_and">"jakarta" namespace</a>, MicroProfile will have to refactor the packages anyway, focus on speed in developer workflow, <a href="https://openliberty.io">OpenLiberty</a> has a fast-deployment maven plugin, in "enterprise" Java there is almost no "enterprise" left, moving from Java EE to Jakarta EE will solve the marketing issue, </blockquote> <p>Sebastian Daschner on twitter: <a href="https://twitter.com/sdaschner">@sdaschner</a> and his blog: <a href="https://blog.sebastian-daschner.com">blog.sebastian-daschner.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 28 Jul 2019 11:00:00 +0100">Sun, 28 Jul 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_47.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_46"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_46">#<span itemprop="episodeNumber">46</span></a> OpenSource and Math Never Lies</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_46">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Amelia Eiras-Blevins (<a href="https://twitter.com/ameliaeiras">@ameliaeiras</a>) about: <blockquote> physics and math studies, in Ecuador you have to choose your major earlier, changing from computer science to finance, without learning, everything becomes boring, the math never lies and is therefore simple, the formulas and understanding the "why", it is not about the frameworks, it is about the principles, choosing calculus for fun, the dry C and C++ without microprofile, the <a href="https://en.wikipedia.org/wiki/NAG_Numerical_Library">NAG Numerical Library</a> for Fortran, <a href="https://en.wikipedia.org/wiki/Gödel,_Escher,_Bach">The Gödel, Escher, Bach Book: An Eternal Golden Braid</a> the untold secrets about <a href="https://twitter.com/dblevins">David Blevins</a>, <a href="https://en.wikipedia.org/wiki/Apache_TomEE">Apache TomEE</a>, it is not about titles, it is about responsibilities, growth can be healthy, the relation between TomEE and <a href="https://www.tomitribe.com">Tomitribe</a> is similar to the relation of <a href="https://javaee.github.io/glassfish/">Glassfish</a> and <a href="https://www.payara.fish">Payara</a>, <a href="https://www.tomitribe.com">Tomitribe</a> provides support for TomEE, <a href="http://tomcat.apache.org">Tomcat</a> and <a href="https://activemq.apache.org">ActiveMQ</a>, Tomtribe partners with <a href="https://www.sonatype.com">Sonatype</a> to provide patches faster, OpenSource is not a business model, <a href="https://apachecon.com/acna19/">Apache Las Vegas</a> conference happens before <a href="https://www.oracle.com/code-one/">CodeONE</a>, opensource projects should not just survive with the sponsor's help, TomEE comprises nine top level Apache projects, commercial support saves time and money, Sun created <a href="https://jcp.org/en/home/index">JCP</a>, Sun welcomed everyone else, 410 Java Specification Requests (JSR) were submitted and about 130 rejected, 59 IP owners are asked to transfer their knowledge from JCP to Eclipse, JCP was a great success, JCP came with documentation out-of-the box, <a href="https://www.eclipse.org/org/workinggroups/jakarta_ee_charter.php">Jakarta EE Working Groups</a> are the successor of JCP, large companies are not evil, but they are not always reasonable, <a href="https://microprofile.io">MicroProfile</a> was founded 3 years ago, <a href="https://jcp.org/en/jsr/detail?id=382">JSR 382: Configuration API 1.0</a> was filed under the Eclipse Foundation Inc. name, MicroProfile highly welcomes contributions, if you have ideas - implement it, MicroProfile comes with flat organizational structure, it is easier to start a MicroProfile project, than an Apache project, the <a href="https://tomitribe.io/projects">Tomitribe projects</a>, the <a href="https://tribestream.io">Tribestream API gateway</a>, Tribestream was launched at CodeONE, TomEE does good and Tomitribe even better, make your first commit and you get a nice banner, </blockquote> <p>Amelia Eiras-Blevins on twitter: <a href="https://twitter.com/ameliaeiras">@ameliaeiras</a>, also checkout: <a href="https://microprofile.io">microprofile.io</a>, <a href="https://www.tomitribe.com">tomitribe.com</a>, <a href="https://jakarta.ee">Jakarta EE</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 21 Jul 2019 11:00:00 +0100">Sun, 21 Jul 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_46.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_45"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_45">#<span itemprop="episodeNumber">45</span></a> Why Wizards Hate Dependency Injection with Aspects</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_45">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Jarek Ratajski (<a href="https://twitter.com/jarek000000">@jarek000000</a>) about: <blockquote> Starting programming immediately with <a href="https://en.wikipedia.org/wiki/Commodore_64">C 64</a>, mysterious machines, touching the <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX spectrum</a> once, amazing TV show about science <a href="https://en.wikipedia.org/wiki/Sonda_(TV_series)">Sonda</a>, unofficial access to adults library, learning C64 basic with <a href="https://en.wikipedia.org/wiki/Atari_ST">Atari ST</a> manual, learning assembly because of: <a href="https://www.c64-wiki.com/wiki/SYS">SYS</a> 2064, GOTO and sisters, writing encryption software, writing the <a href="https://en.wikipedia.org/wiki/Snake_(video_game_genre)">Snake</a> game, writing <a href="https://en.wikipedia.org/wiki/Pong">Pong</a> in Haskell, reinventing the C by writing assembly macros on Amiga 500, writing simulation for the stock market with Windows 95 and C, the <a href="https://en.wikipedia.org/wiki/Winsock">Trumpet Winsock</a>, first good experience with Swing programming and <a href="https://en.wikipedia.org/wiki/Forté_Software">Forte for Java</a>, problem with <a href="https://en.wikipedia.org/wiki/Borland_C%2B%2B">Borland C++</a> licenses, publishing software with Java, linux had great C-compilers but no mainstream UI libraries, "Java must go away", Java <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html">Vectors</a> and <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Hashtable.html">Hashtables</a>, writing Content Management Systems with Java, converted JavaScript developers, JSP-only projects, fear of reuse, the HashTable pattern, probably Java won't disappear, becoming Java advocate, first projects with <a href="https://en.wikipedia.org/wiki/Apache_JServ_Protocol">JServ</a>, WebSphere 1, <a href="https://www.w3.org/Jigsaw/Doc/User/jsp.html">W3C Jigsaw</a>, Tomcat 3 was better behaving, than jserv, Caucho's <a href="https://en.wikipedia.org/wiki/Resin_(software)">Resin</a>, migrating to EJB 3 and Java EE, writing commercial Java game with <a href="http://jmonkeyengine.org">JMonkey Engine</a> and <a href="https://developers.redhat.com/middleware/">JBoss</a> backend, fighting with interfaces and over-engineering, the wizard look and feel, appearing in a bank as wizard, container injection is not needed, constructors are the perfect replacement for dependency injection, aspects are problematic, try and error programming leads to mess, @PostConstruct is one of the most insane constructs, writing just POJOs, <a href="https://www.youtube.com/watch?v=0FsO92obwV0">Slaying Sacred Cows: Deconstructing Dependency Injection</a> by Tomer Gabel, the real problem are aspects, CDI on Tomcat, Java's dynamic proxy, <a href="https://ratpack.io">ratpack</a> and <a href="https://www.jooq.org">jooq</a>, building servers with libraries without classpath scanning, Time Injection would be useful, </blockquote> <p>Jarek Ratajski on twitter: <a href="https://twitter.com/jarek000000">@jarek000000</a> and on <a href="https://github.com/jarekratajski">github</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 14 Jul 2019 11:00:00 +0100">Sun, 14 Jul 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_45.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_44"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_44">#<span itemprop="episodeNumber">44</span></a> Plugging Things Together With Reactive Programming</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_44">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Gordon Hutchison (<a href="https://twitter.com/gordhut">@gordhut</a>) about: <blockquote> Playing chess with <a href="https://en.wikipedia.org/wiki/ZX81">zx81</a>, huge computer scene in Glasgow, BBC micro then saving for <a href="https://en.wikipedia.org/wiki/Acorn_Electron">Acron Electron</a> -- the cheaper BBC Micro, programming text adventure games, <a href="https://en.wikipedia.org/wiki/Forth_(programming_language)">Forth</a> on <a href="https://en.wikipedia.org/wiki/Research_Machines_380Z">RML 380 Z</a>, <a href="http://sunsite.uakom.sk/sunworldonline/swol-10-1995/swol-10-openboot.html">Sun's OpenBoot</a> was written in Forth, <a href="https://en.wikipedia.org/wiki/Dragon_32/64">Dragon 32</a>, controlling the computer world with 13, programming colourful fractals, "do whatever you have permission to", then accessing the printer queue, transactions research and Java, IBM develops <a href="https://docs.oracle.com/cd/E19644-01/817-5449/djjts.html">Java Transaction Service (JTS)</a>, travelling to <a href="https://en.wikipedia.org/wiki/Java_(software_platform)">Javasoft</a> in Silicon Valley to transfer the JTS knowledge, moving from JTS to JVM implementation group at JDK 1.2 timeframe, having fun with IBM Java classloader, heap corruption, "lighter" experience with Eclipse RCP, Java Transaction API, Java Transaction Service and CORBA's Object Transaction Service, tranactions are a gift, just learn databases, "we don't need your transactions" in 2006, reused blog post from 15 years ago will be a big hit, IT became fashion -- everything is just reframed, implementing <a href="https://en.wikipedia.org/wiki/RAID">RAID</a> algorithms, enjoying Java EE experience with <a href="https://openliberty.io">OpenLiberty</a>, deploying 50 times a conference session with <a href="http://wad.sh">wad.sh</a>, having more coffee with classic WebSphere, <a href="https://www.ibm.com/support/knowledgecenter/SSD28V_9.0.0/com.ibm.websphere.wlp.core.doc/ae/rwlp_loose_applications.html">OpenLiberty loose applications</a>, OpenLiberty guide to <a href="https://openliberty.io/guides/getting-started.html ">loose applications</a>, starting TX at facade level, JPA and transactions, getting two copies of the same object in the same request, every request is a transaction, loosing up the thread context, project <a href="https://wiki.openjdk.java.net/display/loom/Main">Loom</a>, transactions are making the developer's live simple, the pre-prepare phase, errors on <a href="https://en.wikipedia.org/wiki/CICS">CICS</a> vs. <a href="https://en.wikipedia.org/wiki/Microsoft_Transaction_Server">MTS</a>, solving the <a href="https://advancedejb.wordpress.com/2013/03/04/the-diamond-problem/">transaction diamond problem</a>, reactive programming and <a href="https://www.reactivemanifesto.org/glossary#Back-Pressure">backpressure</a>, application servers and backpressure, you are not Google, reactive platform at Uber, too much sophistication, too complex to debug, and the human problem, functional <a href="https://en.wikipedia.org/wiki/Functional_reactive_programming">reactive programming</a>, plugging things together in reactive programming is appealing, the simple interface between publisher and subscriber, reactive programming as integration hub, learn Java streams first and reactive concepts will come easily, HTTP request / response model does not fit well with reactive programming, backpressure and kafka, Kafka's <a href="https://kafka.apache.org/documentation/#configuration">configuration</a>, <a href="https://smallrye.io/smallrye-reactive-streams-operators/">reactive streams operators</a> as enabling layer, <a href="https://smallrye.io/smallrye-reactive-messaging/">microprofile reactive messaging</a> is similar to Message Driven Beans, <a href="https://martinfowler.com/eaaDev/EventSourcing.html">Event Sourcing</a> with <a href="http://debezium.io">debezium.io</a> and <a href="https://kafka.apache.org">Apache Kafka</a>, event sourcing with GRPC, <a href="https://pulsar.apache.org">Apache Pulsar</a> the "Kafka.next", <a href="https://smallrye.io">SmallRye</a>, <a href="https://cloudevents.io ">CloudEvents</a> and <a href="https://microprofile.io">MicroProfile</a>, <a href="https://www.ibm.com/support/knowledgecenter/en/SSMKHH_10.0.0/com.ibm.etools.mft.doc/ac55780_.htm">SOAP envelope</a> </blockquote> <p>Gordon Hutchison on twitter: <a href="https://twitter.com/gordhut">@gordhut</a>, on GitHub: <a href="https://github.com/hutchig">https://github.com/hutchig</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 7 Jul 2019 11:00:00 +0100">Sun, 7 Jul 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_44.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_43"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_43">#<span itemprop="episodeNumber">43</span></a> New and Familiar at the Same Time</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_43">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with John Clingan (<a href="https://twitter.com/jclingan">@jclingan</a>) about: <blockquote> Using <a href="https://en.wikipedia.org/wiki/TRS-80">TRS 80</a> and owning a <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a>, arcade 101 at high school, computers were special at Chicago's schools, TRS 80 basic, C 64 for Christmas, typing-in applications from Commodore 64 magazine, writing self-modifying code with assembly on Commodore 64, <a href="https://en.wikipedia.org/wiki/PEEK_and_POKE">Peeks and Pokes</a> in BASIC and sound chip, PC at college, Cameron Purdy (<a href="http://airhacks.fm/#episode_16">#16 airhacks.fm episode</a>) to hack 16h to complete a program, because there was no way to save it, misusing Lloyd as 60 words per minute fast <a href="https://en.wikipedia.org/wiki/Commodore_Datasette">Datasette</a>, peek and pokes in a loop, immediate Unix love, <a href="https://en.wikipedia.org/wiki/PDP-11">PDP 11</a> at the computer center, writing custom forms as a student, c shell and the <a href="https://en.wikipedia.org/wiki/Rogue_(video_game)">rouge ascii game</a>, <a href="https://en.wikipedia.org/wiki/MINIX">Minix</a> was not free, <a href="https://en.wikipedia.org/wiki/Coherent_(operating_system)">coherent UNIX</a> on 10 floppies, <a href="https://en.wikipedia.org/wiki/LILO_(boot_loader)">lilo</a>, destroying the <a href="https://en.wikipedia.org/wiki/Master_boot_record">Windows MBR</a> with <a href="https://en.wikipedia.org/wiki/Dd_(Unix)">dd</a>, from C shell and <a href="https://en.wikipedia.org/wiki/Ultrix">Ultrix</a> to HP UX, writing data acquisition systems at <a href="https://en.wikipedia.org/wiki/Maytag">Maytag</a>, HP 8652 Basic programs for data acquisition, sending data to UNIX system written in C, Maytag is a refrigerator company based in <a href="https://en.wikipedia.org/wiki/Iowa">Iowa</a>, writing Java at <a href="https://en.wikipedia.org/wiki/HSBC_Finance">Household International</a>, moving HP UX Unix to the desktops, running Solaris on PCs, unbelievable under construction Duke applet, starting NetObjective after playing with Java, writing Telnet in Java, the first namespace <a href="https://www.javaworld.com/article/2076767/developers-say-sun-should-keep-its-swing-package-promise-for-jdk-1-2.html">hysteria</a> in Swing - com.sun.swing was migrated to javax.swing, selling <a href="https://en.wikipedia.org/wiki/Sun_Enterprise">E10Ks</a> in 1997, <a href="https://en.wikipedia.org/wiki/Sun_Ultra_series">Ultra Sparc</a>, <a href="https://river.apache.org">Jini</a> and <a href="https://en.wikipedia.org/wiki/JXTA">JXTA</a>, IDE as JINI application, how memory problems made a great JINI leasing demo, picking appservers in early 2000's, <a href="https://wiki.archlinux.org/index.php/Autofs">autofs</a> mount as newsreader by following the path backwards, <a href="https://en.wikipedia.org/wiki/Jiro">Jiro</a>, <a href="https://en.wikipedia.org/wiki/IPlanet">iPlanet</a> in 2005, who cares about your <a href="https://javaee.github.io/glassfish/">GlassFish</a> modularisation?, Java EE WebProfile forced the modularisaion, <a href="https://javaee.github.io/hk2/">HK2</a> module system, <a href="https://twitter.com/kohsukekawa">Kohsuke Kawaguchi</a>, <a href="https://www.theserverside.com/discussions/thread/49063.html">Jerome Dochez</a>, Hk2 the layer above OSGi, OSGi enterprise in GlassFish was a wasted investment, GlassFish could not find a home at Oracle, the end of <a href="https://blogs.oracle.com/theaquarium/entry/java_ee_and_glassfish_server">commercial GlassFish</a>, Oracle was very straight forward with their customers and top down in the company, <a href="https://blogs.oracle.com/theaquarium/entry/java_ee_and_glassfish_server">Thorntail</a> will move forward until the end of its lifecycle, <a href="http://quarkus.io">quarkus.io</a> is the true innovation, living in quarkus.io dev mode, quarkus is new and familiar at the same time, the first Quarkus commit was in 2018, <a href="http://www.adam-bien.com/roller/abien/entry/quarkee_the_java_ee_stic">QuarkEE</a> as out-of-the-box experience, John isn't a QuarkEE fan, QuarkEE uses twice as much RAM, Java's RAM consumption is a problem for certain customers and Quarkus can save it, RAM is cheap but not the servers, out-of-the-box experience matters, <a href="https://quarkus.io/guides/hibernate-orm-panache-guide">Panache ORM</a> - the simple ORM but could become a <a href="https://microprofile.io">MicroProfile</a> standard, it is hard to innovate without breaking changes, the day "-1" MicroProfile conference call, javax namespace issue, John is tending towards gradual transition of javax namespace, there is no backout from clean cut </blockquote> <p>John Clingan on twitter: <a href="https://twitter.com/jclingan">@jclingan</a>, Johns blog: <a href="http://johnclingan.com">http://johnclingan.com</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 30 Jun 2019 11:00:00 +0100">Sun, 30 Jun 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_43.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_42"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_42">#<span itemprop="episodeNumber">42</span></a> Payara Micro vs./or Payara Server Full</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_42">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Steve Millidge (<a href="https://twitter.com/l33tj4v4">@l33tj4v4</a>) about: <blockquote> 60-70% growth every year, customer base is growing quickly, 30 employees, great team with great vision, Payara is self-founded by commercial support fees, there are a lot of "traditional" applications in production, not every application needs Kubernetes, Payara clients are running their software on bare metal and on containerized platforms, it doesn't take much to support Kubernetes, Docker and Kubernetes are infrastructure and not a programming model, Java EE programming model is productive and can be taken to Docker and Kubernetes infrastructure, config externalization is the major task for Kubernetes support, Payara clustering discovery service uses Kubernetes for lookup, Payara Admin server is able to manage Payara Docker nodes, Payara Admin could replace the Kubernetes scheduler, scalability based on business metrics, the JavaONE GlassFish 3 cloud demo, aggregating metrics in a cluster, Payara Clustering brings data closer to processing, Payara Cluster is a distributed cache aka data grid, smart proxies with JAX-RS, CORBA was replaced by JAX-RS, load balancing with JAX-RS, in Payara 5 deployment groups and data grid comprise a cluster, <a href="https://www.payara.fish/software/payara-server/">Payara Server</a> and <a href="https://www.payara.fish/software/payara-server/payara-micro/">Payara Micro</a> support both <a href="https://microprofile.io">MicroProfile</a> and Java EE 8, application server as managed runtime, Payara comes with request tracing, database monitoring, upcoming releases will expose more metrics. you should not need an APM tool to monitor an application server, Canadian government contributes to <a href="https://github.com/AdamBien/lightfish">LightFish</a>, guidance for Maven bloat prevention, Payara Source To Image (S2I) <a href="https://github.com/AdamBien/s2i-payara">https://github.com/AdamBien/s2i-payara</a> and Payara Micro Source To Image (S2I) <a href="https://github.com/AdamBien/s2i-payara-micro">https://github.com/AdamBien/s2i-payara-micro</a>, Payara Server supports more APIs than Payara Micro, Payara Server is capable to manage multiple instances and comes with admin console, Payara Micro runs on its own and is designed to run within docker containers, clouds and kubernetes, you could start with Payara Server and migrate to Payara Micro later, Payara Server and Payara Micro runtimes are similar, Payara Micro does not support OSGi - what is a feature, the only runtime difference between Payara Full and Micro is OSGi, Payara Micro doesn't have to be installed, the core development happens on Payara Server, Payara Micro is just repackaging of Payara Server, Payara Micro uses hardcoded classpath, the javax Jakarta EE namespace issue, Java EE backward compatibility is great feature and also a weakness, Jakarta EE is boring, MicroProfile iterates more quickly, Jakarta EE release cadence could be once every 2 year, MicroProfile releases 4 times a year, Jakarta EE and MicroProfile are popular in Europe, managing satellites with GlassFish, kubernetes anti-pattern, running OpenShfit cluster organization-wide </blockquote> <p>Steve Millidge on twitter: <a href="https://twitter.com/l33tj4v4">@l33tj4v4</a>, Steve's company: <a href="https://payara.fish">https://payara.fish</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 23 Jun 2019 11:00:00 +0100">Sun, 23 Jun 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_42.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_41"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_41">#<span itemprop="episodeNumber">41</span></a> Web Applications Without Frameworks</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_41">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Ben Farell (<a href="https://twitter.com/bfarrellforever">@bfarrellforever</a>) about: <blockquote> copying and pasting game programming logic from magazines into a <a href="https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A">TI 994a</a>, the ugly purple people picker, accidentally buying Java books, boring C++ without visual elements, dangerous <a href="https://en.wikipedia.org/wiki/Assembly_language">assembly</a> classes, <a href="https://en.wikipedia.org/wiki/Adobe_Director">Macromedia Director</a> in 1996, developing with <a href="https://en.wikipedia.org/wiki/Adobe_Flash">Flash</a>, suddenly in <a href="https://en.wikipedia.org/wiki/Thoughts_on_Flash">2010 Flash lost its popularity</a>, writing casual games for kids, a thick book about <a href="https://en.wikipedia.org/wiki/JavaScript#History">LiveScript</a>, JavaScript is just Java with a bit script, Java was great and the visual stuff was boring, writing code in key frames, <a href="https://www.adobe.com/products/flex.html">Adobe Flex</a>, <a href="https://www.adobe.com/support/documentation/en/flex/3/releasenotes_flex3_fb.html">Adobe Flex Builder</a>, typesafe ActionScript, <a href="https://greensock.com">GreenSock</a>, GreenSock</a> started with Flash, the book about <a href="https://www.manning.com/books/web-components-in-action">WebComponents</a>, plain vanilla, no thrills, JavaScript, developing applications without a framework, potential migrations, stable <a href="https://reactjs.org">React</a>, JavaScript becomes more and more similar to Java, <a href="https://developer.mozilla.org/en/docs/Web/CSS/CSS3">CSS 3</a> without <a href="http://lesscss.org">less</a> or <a href="https://sass-lang.com">Sass</a>, plain <a href="https://lit-html.polymer-project.org">lit-html</a> and <a href="https://github.com/WebReflection/hyperHTML">hyperhtml</a> as fallback, template literals vs. lit-html, partial rendering with lit-html, no <a href="https://reactjs.org/docs/faq-internals.html">virtual DOM</a>, possible security issues with plain template literals, lit-html and event binding, lit-html vs. <a href="https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes">custom attributes</a> for wiring, separating templates and business logic with modules, bad experiences as Java developer with maintaining multiple files, CSS extensions with <a href="https://developers.google.com/web/updates/2016/05/houdini">houdini</a>, a standard for hooking into browser's CSS processing, is there no more need for frameworks?, frameworks as hindrance, the <a href="https://vaadin.com/router">Vaadin Router</a> webcomponent, building a <a href="http://effectiveweb.training/290633905">navigation component</a>, the magic under the hoot comes with good intentions, building fusion reactors for CRUD, using custom elements for application structuring, the <a href="https://alligator.io/web-components/attributes-properties/">reflection</a> best practice, <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_shadow_DOM">shadow DOM</a> is supported on all browsers, shadow DOM is problematic with CSS design systems, <a href="https://www.chromestatus.com/feature/5394843094220800">Constructible Style Sheets</a> to the rescue, start without Shadow DOM, then introduce it on demand, customizing styles with CSS properties, using IDs without Shadow DOM is hard, ShadowDOM with querySelector, <a href="https://www.adobe.com/products/projectaero.html">Adobe Project Aero</a>, <a href="https://www.browsersync.io">browsersync</a> in development mode, obsolete build systems, bunding with <a href="https://rollupjs.org/guide/en/">rollupjs</a> and babel plugin for legacy browser support, <a href="https://www.pika.dev">pikapkg</a> - the anti-bundler, <a href="https://benfarrell.com/resume/awards/">2005 EMMY for Sesame Street Games Channel</a>, cheating with annoying Elmo, <a href="https://www.manning.com/books/web-components-in-action">WebComponents in Action (discount code: podairhacks19)</a>: a book about making WebComponents without a framework, outdated <a href="https://www.manning.com/books/web-components-in-action">Polymer</a>, VR and AR with WebComponents, <a href="https://aframe.io/docs/0.9.0/introduction/">a-frame</a>, <a href="https://www.oculus.com/quest/?locale=en_US">Occulus Quest</a> and <a href="https://www.tiltbrush.com">Tiltbrush</a>, </blockquote> <p>Ben Farell on twitter: <a href="https://twitter.com/bfarrellforever">@bfarrellforever</a></p> <p><small>Also checkout: <a href="http://webcomponents.training">http://webcomponents.training</a>, <a href="http://effectiveweb.training">http://effectiveweb.training</a> or visit <a href="http://airhacks.com">http://airhacks.com</a></small></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 16 Jun 2019 11:00:00 +0100">Sun, 16 Jun 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_41.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_40"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_40">#<span itemprop="episodeNumber">40</span></a> Transactions, J2EE, Java EE, Jakarta EE, MicroProfile and Quarkus</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_40">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Mark Little (<a href="https://twitter.com/nmcl">@nmcl</a>) about: <blockquote> the 250 miles terminal connection, <a href="https://en.wikipedia.org/wiki/Commodore_PET">Commodore PET</a>, battle ships on paper tapes, mocking the login screen on Commodore, reverse engineering <a href="https://en.wikipedia.org/wiki/Space_Invaders">Space Invaders</a>, the lack of games in UK was a motivation for writing games, learning peek and pokes, Commodore engineering team wrote a book about machine code, Basic on <a href="https://en.wikipedia.org/wiki/BBC_Micro">BBC model B</a>, Pascal and C on EPROMs, building a hotel booking system on Pascal, building a pseudo operating system with C, <a href="https://en.wikipedia.org/wiki/Concurrent_Pascal">Concurrent Pascal</a>, <a href="https://en.wikipedia.org/wiki/Cfront">Cfront</a> - the early version of C++, Atari ST came with C support, C++ over <a href="https://en.wikipedia.org/wiki/Concurrent_Euclid">Concurrent Euclid</a>, working with Andy Tannenbaum and Bjorne Stroustroup on <a href="https://en.wikipedia.org/wiki/MINIX">Minix</a>, porting Minix to Atari ST, <a href="https://en.wikipedia.org/wiki/Arjuna">Arjuna</a> the Indian god, Indian Gods over Celtics, Arjuna -- the object oriented transaction system, started in 1985, inheriting transactions, transactions are not about HA, transactions are about recoverability, starting Java as Oak, the shiny object syndrome and transition to Java, writing web browsers in Java, porting Arjuna to Java with <a href="https://en.wikipedia.org/wiki/Blackdown_Java">Blackdown Java</a>, <a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.7628">Jim Waldo and Note on Distributed Computing</a>, opaque over transparent, <a href="http://airhacks.fm/#episode_6">Johan Vos</a> was a member of the Blackdown team, RPC with C++ and Arjuna, almost serverless, packing and unpacking instances and the Lock Manager, <a href="https://en.wikipedia.org/wiki/Two-phase_commit_protocol">2PC</a> was the default, without <a href="https://en.wikipedia.org/wiki/X/Open_XA">X/Open XA</a> heuristics the system would block forever, XA heuristics were introduced to make independent decisions, enforcing consistency in microservices with 2PC/XA is hard, SOA and microservices come with similar challenges, there is no a single transaction model applicable for every single use case, XA/2PC is lesser suited for long running actions, transactions were out-of-fashion - now they are back, <a href="https://en.wikipedia.org/wiki/Spanner_(database)">Google Spanner</a> is transactional, Arjuna was acquired by <a href="https://www8.hp.com/us/en/hp-news/press-release.html?id=302386">Bluestone</a>, <a href="http://www.arjuna.com/history">Arjuna Technologies</a> was acquired by HP, JBoss did a partial acquisition of Arjuna, before the Arjuna acquisition, JBoss couldn't handle 2PC properly, Bluestone became the HP application server, JBoss was always opensource and good quality code, J2EE came before annotations - metadata was attached with partially redundant XML, Mark became RedHat CTO in 2009, <a href="https://microprofile.io">MicroProfile</a> is great and there is a lot of interests in evolving Java into clouds by the community, <a href="https://jakarta.ee">Jakarta EE</a> was a great move by Oracle in 2017, Jakarta EE has to move faster, Jakarta EE is more like the stable OS, MicroProfile is where the innovation happens, there are no more monolithic application server, what does "enterprise" mean?, <a href="http://www.adam-bien.com/roller/abien/entry/quarkee_the_java_ee_stic">QuarkEE</a> is opinionated <a href="https://quarkus.io">Quarkus</a>, </blockquote> <p>Mark Little on twitter: <a href="https://twitter.com/nmcl">@nmcl</a>, Mark's <a href="http://markclittle.blogspot.com">blog</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 11 Jun 2019 11:00:00 +0100">Tue, 11 Jun 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_40.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_39"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_39">#<span itemprop="episodeNumber">39</span></a> Use the Most Productive Stack You Can Get</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_39">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An airhacks.fm conversation with Gunnar Morling (<a href="https://twitter.com/gunnarmorling">@gunnarmorling</a>) about: <blockquote> Eastern computers and <a href="https://en.wikipedia.org/wiki/KC_85">Robotron KC 85</a>, CPU slicing, screensaver as source code, Hello World in Pascal with 14, University in Dresden, AMD and Java 1.2 with <a href="http://wiki.c2.com/?ForteForJava">Forte for Java</a>, starting at Saxonia Systems as consultant, having fun in a Java EE 5 course, the EJB 3 and <a href="http://www.adam-bien.com/roller/abien/entry/ejb_3_and_guice_just">Guice blog post</a>, the <a href="http://musingsofaprogrammingaddict.blogspot.com/2010/01/2009-in-numbers.html">effect of a link</a>, Java EE 5, the "dinsoaur version" was productive although you had to write interfaces, early EJB and J2EE were bloated, but it was 15 years ago, working at <a href="https://www.otto.de/">Otto</a> the German "amazon" and <a href="https://home.kuehne-nagel.com/?no_mobile=1">Kuehne and Nagel</a>, just use the most productive stack you can get, what does "modern" actually mean?, applying quantum computing to CRUD, it was hard to find a killer use case for <a href="https://thorntail.io/">WildFly Swarm</a>, <a href="https://quarkus.io/">quarkus</a> is a Java EE + MicroProfile subset with useful features, FatJars do not make any sense in a layered file system, bare metal infrastructure is the killer feature of UberJars and FatJARs, <a href="http://www.adam-bien.com/roller/abien/entry/java_ee_heavyweight_or_lightweight">Heavyweight vs. Lightweight</a> JavaONE session, quarkus native image is a <a href="https://www.youtube.com/watch?v=yv74VpKM7co">fraction of JVM size</a>, the "compile time boot", performing optimizations at build and not at boot time, with quarkus CDI performance might be as good as EJBs, deployment descriptors are only needed at build time, boring programming model with optimizations under the hood is true innovation, <a href="https://github.com/eclipse/microprofile-fault-tolerance">MicroProfile FaultTolerance</a> combines easy programming model with Hystrix's capabilities, don't re-invent the wheel, BeanValidation's in XML-configuration is not supported in quarkus native mode, <a href="http://www.adam-bien.com/roller/abien/entry/quarkee_the_java_ee_stic">QuarkEE</a> release, using quarkus for web development, validating design and architecture with <a href="https://github.com/moditect/deptective">deptective</a>, <a href="https://github.com/moditect/deptective">deptective</a> enforces the rules at compile time, <a href="https://github.com/moditect/deptective">deptective</a> is a plugin of javac compiler, javadoc may cause package cycles, measuring packge coupling and cohesion, <a href="https://www.eclemma.org/jacoco/">jacoco</a> as code coverage plugin for quarkus, <a href="https://debezium.io/">debezium</a> detects changes and passes the events to Apache Kafka, <a href="https://debezium.io/">debezium</a> uses DB APIs, <a href="https://wiki.postgresql.org/wiki/Logical_Decoding_Plugins">logical decoding</a> in PostgreSQL, debezium receives updates even it the application is not running, listening on the transactional log of the database. </blockquote> <p> Gunnar on twitter: <a href="https://twitter.com/gunnarmorling">@gunnarmorling</a> and github: <a href="https://github.com/gunnarmorling">https://github.com/gunnarmorling</a>. Gunnar's blog: <a href="https://morling.dev/">https://morling.dev/</a>. </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 2 Jun 2019 11:00:00 +0100">Sun, 2 Jun 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_39.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_38"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_38">#<span itemprop="episodeNumber">38</span></a> Apache Firefighter</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_38">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Mark Struberg (<a href="https://github.com/struberg">@struberg</a>) about: <blockquote>rubber-keyed <a href="https://en.wikipedia.org/wiki/ZX81">ZX81</a>, <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a>, Basic, tons of incorrect rows of hexcode, transitioning from Basic to assembly, games were an inspiration, 40mins to load the game, <a href="https://spectrumcomputing.co.uk/index.php?cat=96&amp;id=8911">Turbo Copy</a> for software refreshment, transitioning from software to solding transistors, <a href="https://en.wikipedia.org/wiki/Flip-flop_(electronics)">flip-flops</a> with 10 years, programming <a href="https://en.wikipedia.org/wiki/Logo_(programming_language)">Logo</a> with <a href="https://en.wikipedia.org/wiki/Atari_ST">Atari ST</a>, <a href="https://de.wikipedia.org/wiki/H%C3%B6here_Technische_Lehranstalt">HTL</a> in Austria, <a href="https://www.c64-wiki.com/wiki/Pascal">Pascal</a> on <a href="https://en.wikipedia.org/wiki/Commodore_PC_compatible_systems">286 Commodore PC 20</a> with monochrome computer, host programming on <a href="https://en.wikipedia.org/wiki/PDP-8/E">Digital Equipment PDP 8e</a>, <a href="https://en.wikipedia.org/wiki/Workstation">Sun's pizza boxes</a>, drinkomat the drink (also vodka) portioning machine, replacing 2 PCs with one microcontroller, the first 3D printer, testing insulin pumps, learning <a href="http://www.edm2.com/index.php/Glockenspiel_C%2B%2B">C++ with Glockenspiel</a> C++ compiler, starting with Java 1.0.2, building stock exchange software with Java, brilliant <a href="https://www.apache.org/memorials/martin_poeschl.html">Martin Poeschl</a>, <a href="https://maven.apache.org/background/history-of-maven.html">Maven 1</a> and <a href="https://cocoon.apache.org/">Cocoon</a>, <a href="https://en.wikipedia.org/wiki/Adobe_JRun">JRun</a> was servlet-like engine, <a href="https://en.wikipedia.org/wiki/JBuilder">Borland JBuilder</a>, building platforms for Austrian insurance market platform in 1999, <a href="https://en.wikipedia.org/wiki/Lutris_Technologies">Lutris Enhydra</a> application server, Tomcat was donated by Sun to Apache, never control program flow with exceptions, Jigsaw - Apache servlet engine, <a href="http://xmlc.ow2.org/">XMLc</a> was a built-step in Ant, DOM manipulation in Java on the server, defining data structure in XML and generating the DAOs, enhydra was Canadian then donated to <a href="https://www.ow2.org/">ow2</a>, Windows and OS2 programming, C# came 2002, first EJB-drafts were nightmare, EJB could be implemented better with <a href="https://en.wikipedia.org/wiki/Portable_Distributed_Objects">Objective-C Portable Distributed Objects</a> from <a href="https://en.wikipedia.org/wiki/NeXT">NeXT</a>, EJB was a huge buzz topic pushed by <a href="https://en.wikipedia.org/wiki/Distributed_Component_Object_Model">Microsoft's DCOM</a>, <a href="https://en.wikipedia.org/wiki/Microsoft_Transaction_Server">MTS</a> was almost like EJB, DCOM came before EJB, MTS came after EJB, "remote first" was wrong, macroservices are more appealing for enterprise, delivering in 2004 25 TB of music (and Jamba ringtones) to 16 million customers and with Servlets and <a href="https://en.wikipedia.org/wiki/Resin_(software)">Resin</a> from <a href="https://caucho.com/">Caucho</a>, hardcore threads were native, Mark worked as freelancer, a few big <a href="https://en.wikipedia.org/wiki/Sun_Ultra_series#Mid-range_and_high-end">Sun Enterprise 400</a> with MySQL without transactions, optimizing for read only, projects under fire, the challenging part in the backend were contracts and payment, switching logic with re-deployment with Groovy, switching from Spring to CDI, refactoring PHP to Java in 5 years, <a href="http://seamframework.org/">Seam 2</a> didn't had the future, serving 5 millions impressions / 12k requests per minute in the first day with 1-month old Java EE 6, <a href="https://javaee.github.io/glassfish/">Glassfish</a> is rubbish, <a href="https://www.payara.fish/">Payara</a> is great, Payara delivers patches incredibly fast, Java EE community is really nice, the real benefit of opensource is sharing costs, experience, maintenance, testing costs and fork prevention, JPA is too much magic but you get tons of answers for free, three category of projects: perfect, problematic and completely broken, the javax namespace issue, javax became immutable, <a href="https://geronimo.apache.org/">Geronimo</a> app server is dead, the Geronimo contains Java EE API specs, one-shot migration to jakarta namespace is not that hard, migrate once, but do it right, javax migration is a lorge task for vendors but a small issue for business, developers are still thinking is "J2EE", Eclipse is too protective and should open to other foundations and communities</blockquote> <p> Mark on twitter: <a href="https://twitter.com/struberg">https://twitter.com/struberg</a> and github: <a href="https://github.com/struberg">https://github.com/struberg</a>. Mark's blog: <a href="https://struberg.wordpress.com/">https://struberg.wordpress.com/</a>. </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 26 May 2019 11:00:00 +0100">Sun, 26 May 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_38.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_37"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_37">#<span itemprop="episodeNumber">37</span></a> Jakarta EE / MicroProfile Testing and Quality over Statistics</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_37">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Andrew Guibert (<a href="https://twitter.com/andrew_guibert">@andrew_guibert</a>) about: <blockquote> the Java EE Testing <a href="https://t.co/4lOFkcycsI">survey</a> and possible room for improvements, testing is too hard with severe consequences, reasonable projects are interested in delivering good software, large enterprises are more interested in statistics, testing is about increasing developer's confidence, confidence decreases with the length of time spent outside the project, in 1996 you would test with a bunch of main methods, most projects are ignoring <a href="https://en.wikipedia.org/wiki/System_testing">System Tests</a> because the statistics are not gathered, <a href="http://www.extremeprogramming.org/rules/testfirst.html">"test first"</a> or last does not matter, you only have to deliver the tests with working software at the same time, running System Tests with code coverage, fast and long running modes, <a href="https://en.wikipedia.org/wiki/Unit_testing">Unit-</a>, <a href="https://en.wikipedia.org/wiki/Integration_testing">Integration-</a>, and <a href="https://en.wikipedia.org/wiki/System_testing">System Tests</a> are naturally ordered by their execution time, in business projects unit test coverage can be fairly low, in business projects <a href="http://arquillian.org/">arquillian</a> comes with a little added value, in Integration Tests it is crucial to use the same version of libraries, tests do not accurately represent the production environment, System Tests are reused as <a href="https://en.wikipedia.org/wiki/Stress_testing">Stress Tests</a>, <a href="https://openjdk.java.net/projects/code-tools/jmh/">JMH</a> is a great library for stress tests, at IBM there is a dedicated performance team, in projects torture tests are a good start, <a href="https://github.com/Shopify/toxiproxy">toxiproxy</a> by shopify, management driven code metrics is a failure of management, unit tests should be about verifying the behaviour not the implementation details, too many unit tests increase the costs of refactoring, unit tests are running in seconds, integration tests in a few minutes, the performance of system tests really depends on the system, integration tests give more confidence, than unit tests, unit tests are great for productivity, running servers in code coverage modes would be useful, <a href="https://www.jacoco.org">jacoco</a> code coverage metrics could be exposed via JSON, </blockquote> Andy on twitter: <a href="https://twitter.com/andrew_guibert">@andrew_guibert</a> and <a href="https://github.com/aguibert">github</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 19 May 2019 11:00:00 +0100">Sun, 19 May 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_37.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_36"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_36">#<span itemprop="episodeNumber">36</span></a> Java Native Database</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_36">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Markus Kett (<a href="https://twitter.com/markuskett">@MarkusKett</a>) about: <blockquote> <a href="https://en.wikipedia.org/wiki/Commodore_64">C64</a> and sports games, <a href="https://en.wikipedia.org/wiki/Weiden_in_der_Oberpfalz">Weiden</a> is not in <a href="https://www.nationalpark-bayerischer-wald.bayern.de/english/index.htm">Bavarian Forest</a>, soccer as motivation for programming, writing first programs in basic with 17, writing contacts management, PCs are boring machines, but good for business, Java is the best programming language, Pentium 1 was introduced at <a href="https://en.wikipedia.org/wiki/CEBIT">CEBIT</a> in 1993, the dream about an own booth at CEBIT came true, webdesign software based on applets (<a href="http://www.xpage-software.de/">XPage</a>) was very successful at <a href="https://de.wikipedia.org/wiki/Systems">SYSTEMS</a> in Munich, Markus was the business man and had no time for programming - like Steve Jobs, self-financing with selling products, competing with Microsoft and Adobe, writing a 4GL Java-based development environment like Visual Basic called <a href="https://www.xdev-software.de/">XDev</a>, Java Developers don't like the Drag and Drop programming experience, building an IDE from scratch, discussions with Sun Microsystems about <a href="https://en.wikipedia.org/wiki/StarOffice">StarOffice</a> integration, migrating from Swing to SWT and Eclipse, using <a href="https://vaadin.com/">Vaadin</a> as UI technology, connecting beautiful UI to DB was too hard, databases have more types than Java what makes code generation hard, in 4GL the database comes first, RapidEclipse is free but commercial support is available, XDev provides tool and project support, <a href="https://www.rapidclipse.com/en/">RapidClipse</a> understands rich database types and generates JPA POJOs, Hibernate importer, how to write queries in Java, implementing <a href="https://rapidclipse.atlassian.net/wiki/spaces/DOK/pages/33259542/JPA-SQL">JPA-SQL</a> is based on <a href="https://www.eclipse.org/Xtext/">xtext</a> by <a href="https://www.itemis.com/en/">itemis</a> and generates JPA-QL from SQL, storing data is still too complicated, serialization looked promising but was too unsecure and only entire objects can be serialized, <a href="https://github.com/EsotericSoftware/kryo">Kryo</a>, <a href="https://github.com/RuedigerMoeller/fast-serialization">Fast Serializer</a>, <a href="https://microstream.one/Serialization.html">JetStream (renamed to Microstream) serializer</a>, the database engine stores objects in any file storage, there is no impedance mismatch, the native Java storage engine, queries are performed with Java 8+ streams, JCA connector passes transactions and security context to the application server, JCA prototypical <a href="http://connectorz.adam-bien.com">implementation</a>, kubernetes persistent <a href="https://kubernetes.io/docs/concepts/storage/persistent-volumes/">volumes</a>, Bavarian Forrest is like Canada, the largest walking <a href="https://newatlas.com/tradinno-robot/29079/">robot</a>, <a href="https://www.roding-automobile.de/en/roding-roadster.html">Roding race car</a>, being a <a href="https://en.wikipedia.org/wiki/GIGA_Television">TV host on Giga</a>, constant 30k downloads and the <a href="https://de.wikipedia.org/wiki/XDev_(Fernsehsendung) ">XDev TV</a>, DVDs were more successful than TV, <a href="https://jcon.one/de/">JCon</a> and the coding keynote, Java EE as secret weapon at JCon, stealing (adapting) the "no slides" ideas, the world first free, physical, Java magazine <a href="https://java-pro.de">JAVAPRO</a> with 8500 readers, community prefers Java-only conference, </blockquote> Markus Kett on twitter: <a href="https://twitter.com/markuskett">@MarkusKett</a>. JetStream was renamed to <a href="https://microstream.one">MicroStream</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 12 May 2019 11:00:00 +0100">Sun, 12 May 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_36.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_35"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_35">#<span itemprop="episodeNumber">35</span></a> 80% Code Coverage is Not Enough</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_35">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with James Wilson (<a href="https://twitter.com/jgwilson42">@jgwilson42</a>) about: <blockquote> the result of pressing the break button on a <a href="https://en.wikipedia.org/wiki/BBC_Micro">BBC computer</a>, and <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a>, <a href="https://en.wikipedia.org/wiki/Space_Invaders">Space Invaders</a> with <a href="https://en.wikipedia.org/wiki/BASIC">Basic</a>, extending <a href="https://www.minecraft.net/en-us/download/">minecraft with Java</a>, accidental tester career, best interviewees got programmer jobs, hackers and testers, developers like the happy path, unit test coverage is useless without good asserts, is 80% code coverage a valuable target?, code coverage was used as a motivation for writing tests, reflection utilities to increase code coverage, getters / setters never brake, <a href="https://www.adamtornhill.com/articles/crimescene/codeascrimescene.htm">Code as a Crime Scene book</a>, methods longer than a screen are problematic, the ratio between trivial and good asserts, a good javadoc and unit tests follow similar principles, system tests are the most important one, <a href="https://en.wikipedia.org/wiki/Unit_testing">unit testing</a> is good for checking error scenarios, the more tests you have, the easier it is to locate errors, the <a href="https://en.wikipedia.org/wiki/Law_of_triviality">Law of Triviality</a> requires standard names for test categories, <a href="https://en.wikipedia.org/wiki/Integration_testing">integration testing</a> and <a href="https://en.wikipedia.org/wiki/System_testing">system testing</a>, reusing system tests as clients and <a href="https://en.wikipedia.org/wiki/Stress_testing">stress tests</a>, UK retailer goes down, take the max load and double it, <a href="https://www.cprover.org/jbmc">jbmc</a> is bytecode verification tool, diffblue cover generates unit tests, generating unit tests quickly for legacy backends, <a href="http://playground.diffblue.com">playground</a>, <a href="https://www.diffblue.com/blog/2019/3/29/what-is-the-ai-in-ai-for-code">What is the AI in “AI for Code”? blogpost</a>, <a href="http://www.diffblue.com/blog">diffblue blog</a>, <a href=" https://twitter.com/diffbluehq">@diffbluehq</a> </blockquote> James Wilson on twitter: <a href="https://twitter.com/jgwilson42">@jgwilson42</a>. <small> Checkout: <a href="http://javaeetesting.com">javaeetesting.com</a> - the online test about Unit-, Integration-, and Stress Testing and see you at <a href="http://airhacks.com">airhacks.com</a>. </small> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 5 May 2019 11:00:00 +0100">Sun, 5 May 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_35.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_34"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_34">#<span itemprop="episodeNumber">34</span></a> Kafka vs. JMS/MQ</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_34">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Andrew Schofield, Chief Architect, Event Streams at IBM about: <blockquote> 1982, <a href="https://en.wikipedia.org/wiki/Dragon_32/64">Dragon 32</a> and Basic Programming with 12, starting with JDK 1.0, writing a <a href="https://en.wikipedia.org/wiki/Java_Message_Service">JMS provider</a> for <a href="https://en.wikipedia.org/wiki/IBM_WebSphere_Application_Server">WebSphere v6</a>, no ceremony JMS, <a href="https://kafka.apache.org/">Apache Kafka</a> considered simple, why writing a Kafka application is harder than a JMS application, there is a big architectural difference between Kafka and JMS, or message queuing and event stores, Kafka remembers historical data, JMS is about fowarding messages, with Kafka it is harder to write conversational systems, clustering singletons is hard, running Kafka on a single node is easy, "deliver once and only once" is the killer feature of persistent JMS queues, JMS topics are nicer - you can send messages to unknown receivers, the killer use cases for JMS and Kafka, JMS is good for system coordination and transaction integrity, Kafka is well suited for (IoT) event buffering and re-processability, <a href="https://en.wikipedia.org/wiki/Two-phase_commit_protocol">2PC</a>, <a href="https://en.wikipedia.org/wiki/X/Open_XA">XA</a> and the advantages of middleware, in distributed transactions everyone has to remember everything, we only need distributed and rock-solid persistence, <a href="https://kubernetes.io/">kubernetes</a> pods are stateless, challenges of using Kafka, setting up for production can take months for an average Java programmer with JMS background, restarting Kafka brokers can be challenging, in Kafka you are communicating with the cluster, <a href="https://en.wikipedia.org/wiki/IBM_MQ">MQ</a> is a collection of individual queue managers, in <a href="https://en.wikipedia.org/wiki/IBM_MQ">MQ</a> there is a directory of resources which knows where the queues are hosted. </blockquote> Andrew on <a href="https://github.com/AndrewJSchofield">github</a>, and <a href="https://uk.linkedin.com/in/andrewjschofield">LinkedIn</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 21 April 2019 11:00:00 +0100">Sun, 21 April 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_34.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_33"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_33">#<span itemprop="episodeNumber">33</span></a> Quarkus and ThinJARs</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_33">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Stuart Douglas (<a href="https://twitter.com/stuartwdouglas">@stuartwdouglas</a>) about: <blockquote>starting with Visual Basic in high school, with the goal to build games, then quick transition to C++, creating <a href="https://en.wikipedia.org/wiki/Tetris">Tetris</a> from scratch in weeks in C++, building first commercial financial planning application with PHP, starting with Java 1.5 and annotations in 2007, Java is popular in Australia, building <a href="http://seamframework.org">Seam</a> applications with <a href="https://www.jboss.org">JBoss</a> 4, contributing to <a href="http://weld.cdi-spec.org">Weld</a> in spare time, improving the performance and startup performance of <a href="http://weld.cdi-spec.org">Weld</a>, working for <a href="https://www.redhat.com/en">RedHat</a> as <a href="http://www.jboss.org">JBoss</a> AS 7 developer, <a href="https://www.jboss.org">JBoss</a> is more than the application server and the advent of <a href="https://wildfly.org">Wildfly</a>, the braning clean up, creating Undertow, WildFly was shipped with deactivated EJB pooling, too small EJB pools can cause performance issues, how to kill EJBs with CDI, <a href="http://www.adam-bien.com/roller/abien/entry/what_is_faster_ejbs_or">EJB vs. CDI</a>, interview with <a href="http://www.adam-bien.com/roller/abien/entry/java_ee_apps_on_10">Pavel Samolysov</a> and <a href="https://github.com/samolisov/spring-vs-ejb-vs-cdi-benchmark">EJB vs. CDI performance comparison</a>, <a href="https://quarkus.io">quarkus</a> is not using reflection for injection, a small team (8 people) started <a href="https://quarkus.io">quarkus</a> to leverage <a href="https://www.graalvm.org">GraalVM</a>, the goal of <a href="https://quarkus.io">quarkus</a> is to make a subset of Java EE natively compilable to an <a href="https://en.wikipedia.org/wiki/Unikernel">"unikernel"</a>, updating the cloud platform without recompiling the app, serverless with <a href="https://quarkus.io">quarkus</a>, serverless without the function disadvantage, 20MB self contained, native images, building Java EE / Jakarta EE unikernels, extremely fast start times for Java EE applications, native images are running with a fraction of RAM, at one point in time, <a href="https://quarkus.io">quarkus</a> might be commercially supported by <a href="https://www.redhat.com/en">RedHat</a>, CDI portable extensions are not supported now, <a href="https://quarkus.io">quarkus</a> wizard is not based on Maven archetype - what is a great idea, Maven is only one of many possible entry points to <a href="https://quarkus.io">quarkus</a>, a really good developer experience was always the main goal, hot reload is a must, currently the classloader with the "business" part is just dropped and the app is reloaded, adding dependencies via CLI or pom.xml, <a href="https://quarkus.io">quarkus</a> ThinJARs are compatible with the <a href="http://adambien.blog/roller/abien/entry/java_ee_7_thin_wars">ThinWAR</a> idea, FatJAR's builds have to be slower, packaging all dependencies into a single JAR, using <a href="https://chromedevtools.github.io/devtools-protocol/">Chrome Dev Tools Protocols</a> for hot reloading the browser, misusing <a href="https://quarkus.io">quarkus</a> for building command line tools, community extensions are on the roadmap, <a href="https://quarkus.io">quarkus</a> is going to be well integrated with <a href="https://www.okd.io">OpenShift</a>, <a href="https://quarkus.io">quarkus</a> <a href="https://groups.google.com/forum/#!forum/quarkus-dev">forum</a>.</blockquote> Stuart on twitter: (<a href="https://twitter.com/stuartwdouglas">@stuartwdouglas</a>), and <a href="https://github.com/stuartwdouglas">github</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 14 April 2019 11:00:00 +0100">Sun, 14 April 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_33.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_32"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_32">#<span itemprop="episodeNumber">32</span></a> Jakarta EE, MicroProfile, OpenLiberty: Better Than Ice Hockey</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_32">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Andrew Guibert (<a href="https://twitter.com/andrew_guibert">@andrew_guibert</a>) about: <blockquote> old IBM PCs and old school Legos, starting programming in elementary school to write video games, the market for enterprise software is better, than the market for video games, World of Warcraft is good for practicing team work, ice hockey, snowboarding and baseball, getting job at IBM by pitching Nintendo WII hacking, why Java EE is exciting for young developers, <a href="https://openliberty.io">OpenLiberty</a> is a dream team at IBM, providing Java EE support for WebSphere Liberty and WebSphere "traditional" customers, Java EE 8 was good, and <a href="https://microprofile.io">MicroProfile</a> is a good platform for innovation, quick <a href="https://microprofile.io">MicroProfile</a> iterations, sprinkling <a href="https://microprofile.io">MicroProfile</a> goodness into existing applications, <a href="https://microprofile.io">MicroProfile</a> helps glue things together, <a href="https://openliberty.io">OpenLiberty</a> strictly follows the Java EE standards, how <a href="https://openliberty.io">OpenLiberty</a> knows what Java EE 8 is, <a href="https://openliberty.io">OpenLiberty</a> is built on an OSGi runtime, features are modules with dependencies, <a href="https://openliberty.io">OpenLiberty</a> comprises public and internal features, Java EE 8 is a convenience feature which pulls in other modules / features, <a href="https://openliberty.io">OpenLIberty</a> also supports users features, <a href="https://openliberty.io">OpenLiberty</a> works with EclipseLink, as well as, Hibernate, <a href="https://openliberty.io">OpenLiberty</a> comes with generic JPA support with transaction integration, Erin Schnabel fixes <a href="https://openliberty.io">OpenLiberty</a> configuration at JavaONE, IBM booth with vi in a few seconds, Erin Schnabel is a 10x-er, IBM MQ / MQS could be the best possible developer experience as JMS provider, <a href="https://github.com/liberty-bikes/liberty-bikes">Liberty Bikes</a> - a Java EE 8 / <a href="https://microprofile.io">MicroProfile</a> Tron-like game, scaling websockets with session affinity, tiny ThinWARs, there is <a href="https://microprofile.io">MicroProfile</a> discussion for JWT token production, controlling <a href="https://openliberty.io">OpenLiberty</a> from <a href="https://www.youtube.com/watch?v=BLkjVzc5u6E">MineCraft</a>, <a href="https://developer.ibm.com/wasdev/blog/2017/04/19/testing-database-connections/">testing JDBC connections</a>, BulkHeads with <a href="https://github.com/AdamBien/porcupine">porcupine</a>, all concurrency in <a href="https://openliberty.io">OpenLiberty</a> runs on single, self-tuning ThreadPool </blockquote> Andy on twitter: <a href="https://twitter.com/andrew_guibert">@andrew_guibert</a> and <a href="https://github.com/aguibert">github</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 7 April 2019 11:00:00 +0100">Sun, 7 April 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_32.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_31"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_31">#<span itemprop="episodeNumber">31</span></a> Serverless without Functions, OpenShift with a bit Istio</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_31">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An airhacks.fm conversation with Sebastian Daschner (<a href="https://twitter.com/DaschnerS">@DaschnerS</a>) about: <blockquote>being chief Enterprise Service Bus Officer at IBM (not true), Lead Java Advocate for Java at IBM (now true), Sebastian still likes Java EE, the definition of Serverless, there is no need for functions in serverless computing, a reference to episode with Bruno Borges "<a href="http://airhacks.fm/#episode_29">Jakarta EE / MicroProfile in the Clouds: Runtimes not Servers</a>", the difference between servers and runtimes, focussing on ThinwWARs is serverless, immutable infrastructures with immutable layers, pushing 50 times a day a <a href="http://www.adam-bien.com/roller/abien/entry/java_ee_7_thin_wars">ThinWAR</a> to the cloud, <a href="https://github.com/AdamBien/docklands/tree/master/payara-configured">Payara Configured</a> as example for intermediary layers, <a href="https://github.com/AdamBien/s2i-payara">Payara s2i</a>, misusing Docker Registry as "FTP", <a href="http://www.adam-bien.com/roller/abien/entry/java_ee_7_thin_wars">ThinWAR</a> upload triggers a hook and rebuilds a server, ultra productive Java EE, servers do not matter, using <a href="https://en.wikipedia.org/wiki/Function_as_a_service">FaaS</a> to trigger server re-configuration, functions are too fine grained for the implementation of stock applications, implement the added value of clouds by injecting cloud services, cloud bootstrap / initialization code looks like from 1945, externalizing cloud libraries to immutable images, added value of istio at <a href="https://www.okd.io">openshift</a>, cross cutting concerns with <a href="https://istio.io">Istio</a>, canary releases, routes and observability, istio adds additional configuration overhead, istio adds technical features on top of openshift, a possible killer features of istio, monitoring database traffic with istio, Istio as "feel good factor", some technical dashboards are as usable as <a href="https://en.wikipedia.org/wiki/Lava_lamp">lava lamps</a>, monitoring external services, artificially slowing down connections in tests, <a href="https://en.wikipedia.org/wiki/IBM_MQ">MQS</a>, hello worlds with <a href="https://kafka.apache.org">Kafka</a> are great, two lines to send a <a href="https://en.wikipedia.org/wiki/Java_Message_Service">JMS</a> events and one annotation to receive a message, Kafka is great as managed service, the next killer feature of MQS, killer runtimes with microprofile and Java EE, you can find us at <a href="http://jakartaee.blog">jakartaee.blog</a>, my blog is not usable as source for articles,</blockquote> <p> Meet Sebastian at twitter: (<a href="https://twitter.com/DaschnerS">@DaschnerS</a>), <a href="https://jakartablogs.ee/">https://jakartablogs.ee/</a> and his blog <a href="https://blog.sebastian-daschner.com/">https://blog.sebastian-daschner.com/</a>. </p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 31 March 2019 11:00:00 +0100">Sun, 31 March 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_31.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_30"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_30">#<span itemprop="episodeNumber">30</span></a> Optimizing For Humans</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_30">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Simon Harrer (<a href="https://twitter.com/simonharrer">@simonharrer</a>) about: <a href="https://en.wikipedia.org/wiki/Amstrad">Amstrad Laptop</a>, first line of VB code was a commercial one, customers two desks away, <a href="https://en.wikipedia.org/wiki/Scheme_(programming_language)">Scheme</a> is an excellent language to learn programming, Java is great - mainly because of the tool support, <a href="https://www.eclipse.org/ide/">Eclipse</a> was the first opensource IDE with decent refactoring support, Bamberg is the home of <a href="https://www.schlenkerla.de">Schlenkerla</a>, teaching is the best way to learn, therefore teaching is selfish, building portals for students with <a href="http://www.php.net">PHP</a> and <a href="https://www.joomla.org">Joomla</a>, building e-commerce shops for students with <a href="https://rubyonrails.org">Ruby on Rails</a>, 2006 everything had to be Rails, PhD about choreography and distributed transactions, too high expectations on workflow and rule engines, workflow engines are for developers and not for business people, central process view is still desirable, startups with Bosch, in Germany it is hard to find developers who are willing to join startups, Simon works for <a href="https://www.innoq.com/en/">InnoQ</a> and <a href="https://www.innoq.com/en/staff/stefan-tilkov/">Stefan Tilkov</a>, <a href="https://www.uni-bamberg.de/en/wiai/">Computer Science University of Bamberg</a>, the pragmatic book: <a href="https://pragprog.com/book/javacomp/java-by-comparison">Java by Comparison</a> by The Pragmatic Bookshelf, in streams there are no exceptions, over-abstractions cause trouble, reviewing the code of thousands of students for six years, it is unusual for universities to promote pragmatic code, be strict about adding external libraries, clear separation between infrastructure and business logic helps with clean code, moving domain specific libraries into the infrastructure, human centered code, optimizing for machines, not for humans is problematic, writing bad code is often not intentional, "<a href="http://www.adam-bien.com/roller/abien/entry/abstract_if_impl_default_bean">Abstract, If, Impl, Default, Bean Conventions - Just For Lazy Developers</a>", don't write for reuse, reuse rarely happens, reuse as motivator for bad abstractions, do repeat yourself, than refactor, "<a href="http://www.adam-bien.com/roller/abien/entry/how_to_comment_with_javadoc">How To Comment With JavaDoc</a>", Book: <a href="https://pragprog.com/book/javacomp/java-by-comparison">Java by Comparison, Become a Java Craftsman in 70 Examples</a>, Simon Harrer on twitter: (<a href="https://twitter.com/simonharrer">@simonharrer</a>). </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 24 March 2019 11:00:00 +0100">Sun, 24 March 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_30.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_29"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_29">#<span itemprop="episodeNumber">29</span></a> Jakarta EE / MicroProfile in the Clouds: Runtimes not Servers</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_29">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with <a href="https://www.linkedin.com/in/brunocborges">Bruno Borges</a> about: sudden death of remote EJBs caused by Java EE 5 and Web, servers as cloud, shared deployments in <a href="https://www.computerhistory.org/collections/catalog/102716463">E10k</a> , separation between infrastructure and business is boring, no rocket science, application servers and immutable infrastructure, frozen application servers in Docker layers, Docker modernized deployment model without modernizing Java EE, FatJar and UeberJars are useful outside containers, <a href="https://azure.microsoft.com/en-us/services/app-service/">Azure AppService</a>, the actual idea of application servers is pointless, cloud hooks for building ThinWARs, extending application servers with cloud-specific features, what is actually the definition of serverless?, serverless Java EE and the events are missing, JAX-RS endpoints as event listeners, servlerless platforms and lock-in to serverless environment, shipping functions as Docker images, <a href="https://github.com/openfaas/faas">openfaas</a>, killer use cases for serverless functions, the legacy perception of Java EE, <a href="https://microprofile.io">MicroProfile</a> solves the marketing problem, cloud native deployments with MicroProfile, what is the difference between servers and runtimes, lets talk about runtimes, not servers, moving away from servers to runtimes, opinionated runtimes for developer experience, Convention over Configuration was borrowed from Ruby on Rails, Don't Make Me Think, Java EE / microprofile is an interesting programming model for the cloud, there is no such a thing as standards, everything should be an event, <a href="https://cloudevents.io">CloudEvents</a> is an interesting standard, MicroProfile could implement binding for <a href="https://cloudevents.io">CloudEvents</a>, wrapping proprietary cloud bootstraping logic with CDI, improving developer's experience by injection proprietary cloud services, <a href="https://docs.microsoft.com/en-us/java/azure/microprofile/configure-microprofile-with-keyvault?view=azure-java-stable">MicroProfile Azure Key Vault</a>, Bruno can be contacted via: bruno.borges@microsoft.com (please no spam), Bruno at <a href="https://www.linkedin.com/in/brunocborges">LinkedIn</a> and twitter: <a href="https://twitter.com/brunoborges">@brunoborges</a> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 March 2019 11:00:00 +0100">Sun, 17 March 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_29.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_28"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_28">#<span itemprop="episodeNumber">28</span></a> More Conventions with Maven.next</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_28">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Robert Scholte (<a href="https://twitter.com/rfscholte/">@rfscholte</a>) and Sebastian Daschner (<a href="https://twitter.com/DaschnerS">@DaschnerS</a>) about: Convention over Configuration and Maven, strategies for the "default", dependency versions to "apache" maven plugins, maven default behaviours, configuration hierarchies, <a href="https://maven.apache.org">Maven</a> and CI/CD like Jenkins, command line options, pom elements, pom properties, the Java EE-stic approach to <a href="https://maven.apache.org">Maven</a>, upgrading or downgrading, <a href="https://maven.apache.org">Maven</a> and Java 11+, Maven.next features, effective POMs, accessing default versions of the plugins, making Maven configuration as lean as Java EE, Configuration by Exception, listing the current default plugin versions, specifying the versions in POM and overriding them with CLI and system properties. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 10 March 2019 11:00:00 +0100">Sun, 10 March 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_28.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_27"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_27">#<span itemprop="episodeNumber">27</span></a> James Likes Gort</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_27">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with James Gosling (<a href="https://twitter.com/errcraft">@errcraft</a>) about: "Hello World" with <a href="https://en.wikipedia.org/wiki/PDP-11_architecture">PDP</a> assembly in 1969, exciting places like universities, the <a href="https://www.ucalgary.ca">University of Calgary</a> (<a href="https://www.ucalgary.ca/utoday/issue/2014-03-17/father-java-programming-language-shares-career-wisdom-sold-out-event">alumni award</a>), dumpster diving to find usable electronics, software does not consume any resources, James loves building things, <a href="https://en.wikipedia.org/wiki/The_Day_the_Earth_Stood_Still">The Day the Earth Stood Still</a>, <a href="https://en.wikipedia.org/wiki/Gort_(The_Day_the_Earth_Stood_Still)">Gort</a> is cool, building Gort from tin foil and cans, there were no answers how to build a brain, working for physics department in the age of 14, measuring the interactions between solar winds and the upper atmosphere, <a href="https://en.wikipedia.org/wiki/ISIS_(satellite)">ISIS-2</a> satellite, PDP-8 assembler, <a href="https://en.wikipedia.org/wiki/CDC_6000_series">CDC 6400</a>, <a href="https://en.wikipedia.org/wiki/Fortran">Fortran</a>, <a href="https://en.wikipedia.org/wiki/PL/I">PL-1</a>, spending all the free time with computers, teachers were worried, James enjoyed downhill (skiing), Pascal, <a href="https://en.wikipedia.org/wiki/Multics">Multics</a>, <a href="https://en.wikipedia.org/wiki/Simula">Simula</a>, there was no C before 1976, James wrote emacs at graduate school in C, <a href="https://en.wikipedia.org/wiki/Gosling_Emacs">James's emacs</a> became standard on Unix, <a href="https://en.wikipedia.org/wiki/Bill_Joy">Bill Joy</a> kept asking James repeatedly to join <a href="https://en.wikipedia.org/wiki/Sun_Microsystems">Sun</a>, James met <a href="https://en.wikipedia.org/wiki/Andy_Bechtolsheim">Andy Bechtolsheim</a> before joining Sun, James joined Sun in 1984, James was involved with User Interfaces at Sun, Sun was missing out on stuff like telephone headsets, VCRs and IoT was already happening, IoT literally launched Java, re-inventing the wheel and repeating the errors in networking, ideas for the JVM, <a href="https://en.wikipedia.org/wiki/Three_Rivers_Computer_Corporation">Three Rivers Computer</a> like <a href="https://en.wikipedia.org/wiki/Xerox_Alto">Xerox Alto</a> was only interested in hardware and wanted to reuse software, writing software for <a href="https://en.wikipedia.org/wiki/PERQ ">PERQ</a> with <a href="https://en.wikipedia.org/wiki/UCSD_Pascal">UCSD Pascal</a>, porting from PERQ to <a href="https://en.wikipedia.org/wiki/VAX">VAX</a>, James was too lazy to port and started with transcoding, translation worked surprisingly well and outperformed C, <a href="https://en.wikibooks.org/wiki/Java_Programming/History">Project Green</a> started in early 1991 and ended in September 1992, Java was running at the end of 1991, the implementation of the first Java compiler took a couple of months, the first compiler version was written in Python, the intermediate format was the instruction set itself, Java bytecode follows the <a href="https://en.wikipedia.org/wiki/Polish_notation">polish notation</a>, or execution on a stack machine, <a href="https://en.wikipedia.org/wiki/Oak_(programming_language)">OAK</a> was growing outside James's window, OAK was renamed to Java because of legal reasons, James likes coffee ...and tea, Sun was a wonderful place to be, <a href="https://en.wikipedia.org/wiki/John_Gage">John Gage</a> was cheerleader in chief, Scott (checkout <a href="http://airhacks.fm/#episode_19">episode #19</a>) didn't like to spend money on marketing, problem with <a href="https://en.wikipedia.org/wiki/Jini">JINI</a>s marketing was lack of marketing, <a href="https://en.wikipedia.org/wiki/Java_remote_method_invocation">RMI</a> fighted with <a href="https://www.omg.org/spec/CORBA/About-CORBA/">CORBA</a> (end of first part - to be continued...). </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 3 March 2019 11:00:00 +0100">Sun, 3 March 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_27.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_26"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_26">#<span itemprop="episodeNumber">26</span></a> Productive Clouds 2.0 with Serverless Jakarta EE</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_26">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with <a href="https://ondro.inginea.eu">Ondrej Mihályi</a> about: starting programming with Logo, Pascal, C, Pentium 386, Scratch, minecraft, delphi and Java, pointers and destructors, participating in programming competitions, learning programming with Java, <a href="http://www.gwtproject.org">GWT</a>, JSF and <a href="https://www.primefaces.org">Primefaces</a> over GWT, Eclipse, NetBeans, Java EE 5 introduced Dependency Injection (DI), <a href="https://en.wikipedia.org/wiki/Nitra">Nitra</a> is the oldest City in Slovakia, "Enterprise needs to be complicated", code generation with <a href="http://xdoclet.sourceforge.net">xdoclet</a> in J2EE, simplifications with <a href="https://en.wikipedia.org/wiki/Java_Platform,_Enterprise_Edition">Java EE 5 in 2006</a>, starting at <a href="https://www.payara.fish">Payara</a>, running a JUG in Prague, <a href="https://en.wikipedia.org/wiki/Oracle_Grid_Engine">Sun Grid Engine</a>, serverless WARs, ideas for productive Clouds 2.0, serverless Java EE applications, early clouds with <a href="https://cloud.google.com/appengine/">Google App Engine</a>, Docker and Kubernetes for application packaging, making cloud services injectable, <a href="https://aws.amazon.com/lambda/">AWS lambda</a>s are distributed commands, improving developer experience in the clouds with DI instead of <a href="https://github.com/googleapis/google-cloud-java/tree/master/google-cloud-clients/google-cloud-datastore">singletons</a>, <a href="https://adambien.github.io/s2i-payara/">Payara Source To Image (S2I)</a> for server configuration in the clouds, separating the immutable servers from application logic with docker and clouds, cloud vendors are evaluating <a href="https://microprofile.io">microprofile</a>, repeatable and reproducible builds with Java EE in private clouds, Java EE deployment model became accidentally "cloud ready", with ThinWARs there is nothing to (security) scan, with <a href="http://www.adam-bien.com/roller/abien/entry/java_ee_7_thin_wars">ThinWARs</a> there is no conceptual difference to lambda functions, cloud vendors participation in <a href="https://jakarta.ee">Jakarta EE</a>, Payara is evaluating <a href="https://www.graalvm.org">GraalVM</a> and native compilation. Ondro's <a href="https://ondro.inginea.eu">blog</a> and <a href="https://twitter.com/OndroMih">@OndroMih / twitter</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 February 2019 11:00:00 +0100">Sun, 17 February 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_26.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_25"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_25">#<span itemprop="episodeNumber">25</span></a> Maven Commitment</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_25">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Robert Scholte (<a href="https://twitter.com/rfscholte/">@rfscholte</a>) about: <a href="https://www.cginederland.nl/nl/evenementen/cgi-next-it-experience-guru4pro-with-adam-bien">CGI Java Netherlands</a>, <a href="https://maven.apache.org/shared/maven-invoker/">Maven Invoker</a>, never <code>mvn clean</code>, <a href="https://maven.apache.org">apache maven</a> commitment and committing, <a href="http://wad.sh">Watch and Deploy</a> (wad.sh), <a href="https://en.wikipedia.org/wiki/Atari_8-bit_family#XL_Series">Atari 800XL</a>, hacking basic with 10 years, <a href="https://en.wikipedia.org/wiki/PEEK_and_POKE">peeks and pokes</a>, MS DOS and startup screens, JDK 1.4, illegal generics, Java EE on JBoss was good, not the build process, intelligent builds with Maven, <a href="http://commons.apache.org/proper/commons-jelly/">Apache Jelly</a>, <a href="https://twitter.com/jvanzyl">Jason van Zyl</a>, <a href="http://www.adam-bien.com/roller/abien/entry/maven_vs_ant">Maven vs. Ant</a>, loosing information with <a href="http://www.gwtproject.org">Google Web Toolkit (GWT)</a>, parsing Java with <a href="https://github.com/paul-hammant/qdox">qdox</a>, <a href="https://devops.paulhammant.com">Paul Hammant</a>, Maven Release Plugin <a href="https://www.youtube.com/watch?v=kaT-jFpwj_M">"Fix It" video</a> , Using Java console for passwords and the bash history, Java 6 and password encryption, clarifying the development of Maven plugins (default values and expressions), going from Maven 1 to Maven 2 and the respository structure, from Maven 2 to Maven 3, Eclipse IDE wanted Maven 3, Maven 3.7 is (probably) going to optimize downloads, there will be no Maven 4, Maven 5 will rely on pom's model version 5, splitting pom into local and remote part, writing POM in alternative formats, <a href="http://takari.io/">takari.io</a>, <a href="https://github.com/takari/polyglot-maven">takari polyglot</a>, <a href="https://maven.apache.org/guides/mini/guide-using-extensions.html">Maven extensions</a>,<a href="https://codehaus-plexus.github.io/plexus-classworlds/plugins.html">plexus classworlds</a> is Maven's OSGi, what is the default version of apache Maven plugins, is it possible to pull "latest" apache maven plugins, Maven extensions for plugin version configuration, clean poms, WAD runs all the time, using <a href="https://www.graalvm.org">GraalVM</a> to make a native version of Maven, Maven Archetype always generates parents, <a href="https://s.apache.org/up-for-grabs_maven">Up For Graps</a>, <a href="https://www.youtube.com/watch?v=SyurDQ1E61M">Maven 5.x: How to be prepared for the future?</a>, Maven is probably the only build tool, with tight integration with <a href="https://en.wikipedia.org/wiki/Java_Platform_Module_System">Java Platform Module System</a>, <a href="https://gradle.org">Gradle</a>, <a href="https://buildr.apache.org">Apache Buildr</a> is EoL, <a href="https://bazel.build">Bezel</a>, <a href="https://ant.apache.org">Apache Ant</a> is not dead and supports Java 11, <a href="https://twitter.com/rfscholte/">Robert</a> is a freelancer, CEO of <a href="https://www.linkedin.com/company/sourcegrounds">SourceGrounds</a> and available for hire. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 3 February 2019 11:00:00 +0100">Sun, 3 February 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_25.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_24"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_24">#<span itemprop="episodeNumber">24</span></a> Java EE 8 Authentication and Authorization</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_24">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An airhacks.fm conversation with Arjan (<a href="https://twitter.com/arjan_tijms">@arjan_tijms</a>) about: starting programming with <a href="https://en.wikipedia.org/wiki/Commodore_64">Commodore 64</a>, <a href="http://adam-bien.com/roller/abien/entry/a_java_ee_startup_filtering">blog interview about zeef</a>, "Programming in Basic" with the age of 7, <a href="https://en.wikipedia.org/wiki/Philips_P2000">Phillips P2000</a>, <a href="https://en.wikipedia.org/wiki/Simons%27_BASIC">Simons Basic</a>, Assembly on Commodore 64, defaulting to C, weird main function in C, developing a database to maintain Judo progress and expenses, being a CEO of a kid organization to sell goods on free markets with other kids, <a href="https://en.wikipedia.org/wiki/SGI_Indy">SGI Indy</a>, helping sister with recursion in Java, advertisements on websites with <a href="https://www.awin.com/us ">awin</a> startup, <a href="https://en.wikipedia.org/wiki/Orion_Application_Server">OrionServer</a>, <a href="https://en.wikipedia.org/wiki/Java_servlet">Java Servlet Development Kit (JSDK) 1.0</a>, <a href="https://docs.oracle.com/cd/E19683-01/817-2180-10/pt_chap1.html">Sun One Application Server</a>, <a href="https://trifork.com/t4/">Trifork Application Server</a>, Java EE is like operating system for business components, counting cycles for method invocations, From <a href="https://en.wikipedia.org/wiki/Orion_Application_Server">OrionServer</a> to Tomcat, 3 views per server in a 2-3 node cluster, cutting libraries by moving from Tomcat to JBoss in 2 weeks, <a href="http://zanox.de">zanox.de</a> buys <a href="https://www.awin.com">awin</a>, discussion about polyglot programming, parsing gigabytes of XML, founding Zeef.com with ten developers, monatenization challenges, starting as tech lead at <a href="https://www.payara.fish">Payara</a>, <a href="https://www.jcp.org/en/jsr/detail?id=196">JASPIC</a>, <a href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jaas/JAASRefGuide.html">JAAS</a>, <a href="https://docs.oracle.com/cd/E19798-01/821-1841/girbe/index.html">JACC</a>, from form login to authenticated and authorised user, the relation between JAAS and JAAC, JAAS is about code security and code trust, in JAAC the code is trusted and the user is not trusted, JASPIC is the authentication mechanism, Java EE 8 security is the syntactic sugar around existing security specs, the simplest possible authentication with JSR-375 / Java EE 8 Security, IdentityStores vs. Realm, basic authentication and realm clarification, IdentityStore was missing in Java EE, the whole JSR-375 spec is about 12 classes, the difference between security group and roles, 1:1 role to group mapping is default in Java EE 8. Arjan's <a href="https://blog.payara.fish/author/arjan-tijms">blog</a>, Arjan on <a href="https://arjan-tijms.omnifaces.org">omnifaces</a> and <a href="https://twitter.com/omnifaces">@omnifaces</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 20 January 2019 11:00:00 +0100">Sun, 20 January 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_24.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_23"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_23">#<span itemprop="episodeNumber">23</span></a> From GlassFish to Java in Google Cloud</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_23">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with <a href="https://twitter.com/alexismp">Alexis (@alexismp)</a> about: <code>java -jar glassfish.jar</code>, Community Management at Sun, Developer Relations, how to talk to developers, <a href="https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A">Texas Instruments 4a</a>, a circle qualifies as "Hello World", Prolog to Java Applets migration for National French Space Agency, <a href="https://tech-insider.org/java/research/2002/0326.html">Java Center of Excellence at Sun Microsystems</a>, Sun / JavaSoft / IBM as dream jobs, Scott McNealy and the ability of predicting the future - a reference to airhacks.fm episode <a href="http://airhacks.fm/#episode_19">#19</a> - interview with Scott McNealy, starting at Sun in 1998, <a href="https://en.wikipedia.org/wiki/IPlanet">Sun Netscape Alliance</a>, iPlanet Appserver, moving a Reference Implementation to a product called <a href="https://javaee.github.io/glassfish/">"GlassFish"</a>, <a href="https://javaee.github.io/hk2/">HK2</a>, GlassFish started faster than Tomcat, moving the industry with GlassFish, fascination with modularity, NetBeans as platform, plugins as quality asurance, lightweight runtimes with 500 MB WARS, making servers bigger and deployables smaller, docker changed the conversation, dealing with boring technologies, different language communities at Google, Java is less ceremonial, than people think, the popularity of Java at Google, AppEngines 10th anniversary, <a href="https://beam.apache.org">Apache Beam</a> and <a href="https://cloud.google.com/dataflow/">Google Dataflow</a>, how Sun lost the engineers at Java 5 timeframe, a huge amount of Google projects is based on Java, <a href="https://cloud.google.com/appengine/">AppEngine</a> is "serverless", Sun and Google have a lot in common, JAX-RS is <a href="https://cloud.google.com/endpoints">Google Cloud Endpoints</a>, Managed <a href="https://cloud.google.com/pubsub">PubSub</a> service, PubSub is like JMS, AppEngine as PubSub message listener, <a href="https://cloud.google.com/spanner/">Cloud Spanner</a> -- a distributable scalable persistence, <a href="https://cloud.google.com/datastore">DataStore</a> supports versioning is a document, key value store, canary deployments, <a href="https://github.com/objectify/objectify">Objectify</a> an ORM for DataStore, <a href="https://cloud.google.com/sql">Cloud SQL and PostgreSQL</a>, <a href="https://cloud.google.com/bigtable/">BigTable</a>, exports to <a href=" https://cloud.google.com/bigquery">BigQuery</a>, <a href="https://istio.io">istio</a> , Kubernetes, <a href="https://helidon.io/#/">Helidon</a> on Google Cloud, <a href="https://cloud.google.com/kubernetes-engine/">Kubernetes Engine</a>, you can find Alexis at twitter: <a href="https://twitter.com/alexismp">@alexismp</a>, <a href="https://fr.linkedin.com/in/alexism1">LinkedIn</a>, medium: <a href="https://medium.com/@alexismp">@alexismp</a> and his: <a href="https://alexismp.wordpress.com">blog</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 5 January 2019 11:00:00 +0100">Sat, 5 January 2019 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_23.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_22"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_22">#<span itemprop="episodeNumber">22</span></a> From TomEE User to Committer</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_22">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Roberto Cortez (<a href="https://twitter.com/radcortez">@radcortez</a>) about: Turbo Pascal 4.5, 8086 vs. 486, Java in 21 days, interactive web with Java applets, early Siri prototype, Notepad as IDE, Integration of all insurance companies as first project with Java EE 5, building a house and the bricks at the same time with <a href="http://www.gwtproject.org">GWT</a>, <a href="http://xdoclet.sourceforge.net/xdoclet/index.html">xdoclet</a> and <a href="https://sourceforge.net/projects/middlegen/">middlegen</a>, first JavaONE and the Jelastic party, 500 JUG members, no headsets and no coffee at CodeONE, <a href="https://www.tomitribe.com">tomitribe</a>, a developer without coffee, David Blevins (<a href="https://twitter.com/dblevins">@dblevins</a>), <a href="https://www.tomitribe.com">tomitribe</a> CEO, <a href="http://tomee.apache.org/download/apache-openejb-3.1.4.html">openEJB</a> committer, from TomEE user to TomEE developer, how to never get bored, TomEE's killer feature is super fast environment, TomEE 8 for Java EE 8 and <a href="https://microprofile.io">microprofile</a>, TomEE integrates various Apache projects like Apache CXF, Apache openEJB, Apache openWebBeans, Apache openMQ, 65 MB for a full Java EE 8 server, TomEE and Microprofile 2.0 compliance, the TomEE release process, <a href="https://www.tomitribe.com">tomitribe</a> vs. apache committers, spring popularity, Java EE is lacking a central website, the secret about TomEE's performance, find Roberto on: <a href="https://twitter.com/radcortez">@radcortez</a>, <a href="https://twitter.com/coimbrajug">CoimbraJUG</a>, <a href="http://jnation.pt">jnation</a>, <a href="http://tomee.apache.org">TomEE</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 26 December 2018 11:00:00 +0100">Wed, 26 December 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_22.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_21"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_21">#<span itemprop="episodeNumber">21</span></a> WebComponents With or Without Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_21">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with<a href="https://twitter.com/marcushellberg">@marcushellberg</a> about: "<a href="https://vaadin.com/flow">Vaadin</a> in Turku, simplifying with EJB 3 without layers, hacking JavaScript in browser, <a href="http://www.itmill.com">www.itmill.com</a><a href="http://www.millstone.org">www.millstone.org</a> and the history of <a href="https://en.wikipedia.org/wiki/Vaadin">vaadin</a>, <a href="https://twitter.com/joonaslehtinen">how Joonas started vaadin</a>, the benefits of opensource, <a href="https://vaadin.com/components">WebComponents with Vaadin Elements</a>, Java generates WebComponents, Java is listening to WebComponents, melting frameworks, framework-less development with WebStandards, <a href="http://effectiveweb.training">effectiveweb workshop</a> easy to explain ServiceWorkers, <a href="https://developers.google.com/web/tools/workbox/">higher level caching strategies with WorkBox</a>, simple code first, Markus Code One Talk, <a href="https://lit-html.polymer-project.org">lit-html</a> is the missing piece, high performance with lit-html, lit-html outperforms virtual DOM, Angular is J2EE for the frontend, Angular's clunky module system predates ES 6 modules, future Angular versions could migrate away from the proprietary module system, possible breaking changes every 6 months, questionable DI in browser, less code with WebStandards, polyfills make your app leaner, WebStandards are moving forward, webworkers and webassembly, the lean WebStandard revolution, enterprise integration with WebComponents, <a href="https://custom-elements-everywhere.com">Custom Elements Everywhere</a>, Polymer's mission statement is to go away, polymer is the anti framework, npm is the remaining strange thing, the future of Vaadin, PWA for Java developers, upcoming WebStandards, and layered APIs, <a href="https://vaadin.com/flow">Vaadin Flow</a>, and <a href="https://vaadin.com/components">Vaadin Components</a>, <a href="https://twitter.com/marcushellberg">@marcushellberg</a>, <a href="https://twitter.com/vaadin">@vaadin</a>" </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 11 December 2018 11:00:00 +0100">Tue, 11 December 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_21.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_20"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_20">#<span itemprop="episodeNumber">20</span></a> The JavaMan</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_20">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Bruno Souza, the <a href="https://java.mn">"The JavaMan"</a>, about: hello world on CPM machines without GitHub, <a href="https://en.wikipedia.org/wiki/TRS-80">TRS-80</a> vs. <a href="https://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a>, Basic, Clipper, scientific Prolog work, C, copying assembler from magazines, lonely hacking, programming is the ability to creating things, no use for second disc drive, prolog application for cloud pattern recognition and cloud removal, cool Sun machines, AI for free, <a href="https://en.wikipedia.org/wiki/SPARCstation_10">Sparc Station 10</a>, back to work, work over university, <a href="https://en.wikipedia.org/wiki/John_Gage">John Gage</a> and the first demonstration of Java, HotJava, <a href="https://en.wikipedia.org/wiki/Oak_(programming_language)">OAK</a>, <a href="https://en.wikipedia.org/wiki/Banco_do_Brasil">Banco do Brasil</a> was an early Java adopter in 1996, <a href="http://www.adam-bien.com/roller/abien/entry/interview_with_mission_impossible_java">Fabiane Nardon</a>, income tax and border control Java desktop applications, <a href="https://www.javaworld.com/article/2076641/learn-java/an-introduction-to-the-java-ring.html">Java Ring</a>, <a href="https://en.wikipedia.org/wiki/Java_Card">Java Card</a>, Sun Java Studio, Sun Java Workshop, JBuilder, NetBeans, early JavaONEs, John Gage and "We are all Brasilians", Java source answers all questions, <a href="https://en.wikipedia.org/wiki/Richard_Stallman">Richard Stallman</a> visits Brasil, in 1998 Netscape browser was opensourced, <a href="http://developer.classpath.org/support/escape-26-nov-2005.html"></a>, <a href="https://www.amazon.com/Open-Sources-2-0-Continuing-Evolution/dp/0596008023">Open Sources 2.0: The Continuing Evolution</a>, Brasilian Government gains independence with Java, Software Livre, <a href="http://www.kaffe.org">Kaffee JVM</a>, <a href="https://www.oracle.com/technetwork/java/patrickcurraninterview11-323983.html">Patrick Curran</a>, <a href="https://en.wikipedia.org/wiki/Simon_Phipps_(programmer)">Simon Phipps</a>, <a href="http://danesecooper.blogs.com/divablog/2006/11/the_people_who_.html">The People Who Brought You FOSS Java</a>, <a href="https://twitter.com/robilad">Dalibor Topic, @@robilad</a>, <a href="https://wso2.com/about/advisors/geir_magnusson/">Geir Magnusson</a>, <a href="http://harmony.apache.org">Apache Harmony</a>, <a href="http://toolscloud.com">http://toolscloud.com</a>, you can't be just technical, inability to tell the vision, <a href="http://summa.com.br">Summa Technologies</a>, CodeONE and <a href="https://we.code4.life/code-one">speaker's secrets</a>, <a href="https://code4.life">Code4.life</a>, <a href="https://www.amazon.com/gp/product/B07FNFG5LQ/">Best Developer Job Ever</a>, Bruno on twitter:<a href="https://twitter.com/brjavaman">@brjavaman</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 25 November 2018 11:00:00 +0100">Sun, 25 November 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_20.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_19"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_19">#<span itemprop="episodeNumber">19</span></a> SUN, JavaSoft, Java, Oracle</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_19">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> An <a href="http://airhacks.fm">airhacks.fm</a> conversation with Scott McNealy (<a href="https://twitter.com/scottmcnealy">@scottmcnealy</a>), co-founder of Sun Microsystems, about: how <a href="https://en.wikipedia.org/wiki/Vinod_Khosla">Vinod Khosla</a>, <a href="https://en.wikipedia.org/wiki/Bill_Joy">Bill Joy</a>, <a href="https://en.wikipedia.org/wiki/Andy_Bechtolsheim">Andy Bechtolsheim</a> and Scott started Stanford University Network (SUN), <a href="https://en.wikipedia.org/wiki/Onyx_Systems">Onyx Systems</a> and Pizza Boxes for 40k USD, Sun opensourced 80% of its R & D budget, Sun was top 40 R & D spenders, opensource lowers the barrier to exit, IBM buying RedHat, Sun was the first company in 1982 shipping with TCP/IP, Scott was smart and the other founders were brilliant, Bill Joy wanted to open NFS or "what is a phone worth which doesn't connect with other phones", <a href="https://www.javaworld.com/article/2076641/learn-java/an-introduction-to-the-java-ring.html">Java Ring</a> was on the cover of <a href="http://archive.fortune.com/magazines/fortune/fortune_archive/1997/10/13/232511/index.htm">Fortune Magazine</a>, Network is the Computer, Java was the greatest marketing efforts ever, missing the router hype was the earliest mistake at Sun, the beginnings of <a href="https://web.archive.org/web/20080205101616/http://www.sun.com/smi/Press/sunflash/1996-01/sunflash.960123.10561.xml">JavaSoft</a>, Bill Joy wanted to work with James Gosling, Java was invented to build a "clicker", Netscape, Java, JavaScript, LiveScript, JavaSoft was loosely coupled and highly aligned business unit, Java went with Netscape viral, being nervous and unprepared as speaker - people would like to hear what do you think as a speaker, "you don't have privacy, get over it", <a href="http://www.adam-bien.com/roller/abien/entry/steve_jobs_at_javaone_mac">Steve Jobs</a> at JavaOne, Andy Bechtolsheim was the "industrial" Steve Jobs, Sun was having fun without offending somebody, John Gage - the Chief Science "Fiction" officer and the perfect MC for Java, 130 dollars for 3rd grade text book -- the beginnings of <a href="https://www.curriki.org">curriki</a>, global community of opensourcing education, curriki is a wildly successful startup, Scott is chairman of <a href="https://www.wayin.com">wayin.com</a> and still spends a lot of time with curriki, corporate capitalism - private charity or Seperation of Concerns, the job of a chairman, <a href="https://en.wikipedia.org/wiki/Larry_Ellison">Larry Ellison</a> and Scott, Scott met Larry on the airplane in early eighties -- and Larry gave Scott a shaver, behind the scenes of Sun's acquisition, Wayin -- the new project, Scott at twitter: <a href="https://twitter.com/scottmcnealy">@scottmcnealy</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 11 November 2018 11:00:00 +0100">Sun, 11 November 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_19.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_18"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_18">#<span itemprop="episodeNumber">18</span></a> IoT, Clouds, Java EE and MicroProfile</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_18">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with Tobias N. Sasse (<a href="https://twitter.com/tnsasse">@tnsasse</a>) about: ToDo applications with Visual Basic, Delphi, Turbo Pascal, Java in Spain, Cookbook about Java with Object Oriented Hamburgers, reading data from DB 2 to Hadoop, DB2 rocks, <a href="http://airhacks.com">airhacks.com</a> workshops, WebSphere Libery, <a href="https://openliberty.io">OpenLiberty</a> and Microservices, Right-Sized services, stupid microservices or reasonable software practices, the interview: <a href="http://adambien.blog/roller/abien/entry/10_000_thin_war_deployment">"10.000 Thin WAR deployment cycles or IoT with pure Java EE at IBM"</a>, <a href="https://www.ibm.com/able/aging-in-place.html">IBM Elderly Care</a>, applying smart home devices to help elderly people, <a href="https://www.ibm.com/able/aging/">Cognitive Eldercare</a>, streaming data with Java EE 7, Java EE 8 <a href="https://microprofile.io">and MicroProfile</a>, <a href="https://console.bluemix.net/catalog/services/internet-of-things-platform">Watson IoT Platform</a>, <a href="http://mqtt.org">MQTT</a> Broker, caching home hub or base station, Quality of Service with MQTT -- Deliver Once, why the WARs are 5 MB big, 10 microservices and their names, <a href="http://www.adam-bien.com/roller/abien/entry/bureaucratic_design_with_java_ee">Boundary Control Entity (BCE)</a> or API, Service and Model, without BCE you don't have to focus on business, 5 developers with 10 WARs, why youngsters love Java EE, using Java EE without thinking about it, boring Java EE without "best of breed", teasing Java EE to youngsters, <a href="https://digitalfestival.ch/en/HACK/">hack zurich</a>, JavaScript looks more like Java, the browser is the JVM, architects damaging the developer experience, from cloudfoundry to kubernetes, 10k deployments, few seconds for Thin WAR deployment, lightning Maven builds, OpenLiberty on <a href="https://github.com/AdamBien/docklands">Docklands</a>, OpenLiberty: modularity without incovenience, mixing MicroProfile with Java EE 8, MicroProfile: the incubator to Java EE, Java EE as the based layer, OpenLiberty: buying support is optional, the days of factories, interfaces and crazy patters are over, no Impls, focussing on the business problem, inspiring <a href="http://airhacks.com">airhacks.com</a>, <a href="http://jcon.one/en/">jcon.one</a> conference, <a href="https://de.linkedin.com/in/tnsasse">Tobias at Linked-in</a> and twitter: <a href="https://twitter.com/tnsasse">@tnsasse</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 2 November 2018 11:00:00 +0100">Fri, 2 November 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_18.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_17"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_17">#<span itemprop="episodeNumber">17</span></a> Road To AR, VR, MR and XR</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_17">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with Josh Marinacci, (<a href="https://twitter.com/joshmarinacci">@joshmarinacci</a>) about the first Java class, 1995 and early Java, Ian Smith, building ray tracers with JDK 1.0, why Sun had great programmers, speed vs. safety, Snow Crash without cell phones, metaverse scalability, 3d interface with Swing and Mozilla with hubs, project wonderland and <a href="https://en.wikipedia.org/wiki/Open_Wonderland">open wonderland</a>, windows look and feel with Swing, Amy Fowler, Jeff Dickins from Swing Team, Window native controls look with Swing, progress bar is the hardest thing, Matisse GUI builder, <a href="https://jcp.org/en/jsr/detail?id=296">JSR-296, Swing Application Framework</a>, <a href="https://jcp.org/en/jsr/detail?id=295">JSR-295 beans binding</a>, smartphones killed Swing, Java FX as flash competitor, Tesla car configurator with Swing, f3 and <a href="https://en.wikipedia.org/wiki/Chris_Oliver_(software_engineer)">Chris Oliver</a>, <a href="https://www.cnet.com/news/sun-touts-java-app-store-for-billion-strong-audience/">Java Store</a> before Mac Store, Palm and WebOS, WebOS built-in Java, why HP cancelled WebOS, <a href="https://www.lg.com/us/experience-tvs/smart-tv/use">LG WebOS</a>, Awesome Box 5000 widgets, point and shoot camera with Android at Nokia research, high websockets scalability with <a href="https://www.pubnub.com">pubnub</a>, block functions and edge computing, VR, AR, mixed reality at mozilla, MDN -- the JS JCP, JavaScript like Java, JavaScript -- no batteries included, anonymous inner classes in JS, AR, VR, MR, XR, the XR-spec with security backed in, <a href="https://immersive-web.github.io/webxr">WebXR</a> Device API:, <a href="https://en.wikipedia.org/wiki/VRML">VRML</a> and <a href="https://www.khronos.org/gltf/">GLTF</a>, <a href="https://graphics.pixar.com/usd/docs/Usdz-File-Format-Specification.html">USDZ</a>, Firefox refactoring, servo and rust, lightspeed adoption of CSS grid, trying VR now, <a href="https://blog.mozilla.org/blog/2018/09/18/firefox-reality-now-available/">Firefox reality</a> , browsing 2d in 3d, a call for VR activities, themed multi-user virtual places: Mozilla Hubs, be social, have fun, <a href="http;//airhacks.tv">airhacks.tv</a> in 3D, <a href="https://threejs.org">three.js</a> and <a href="https://aframe.io/docs/0.8.0/introduction/">a-frame</a> for content creation, <a href="https://aws.amazon.com/sumerian">amazon sumerian</a>, web assembly -- the XR accelarator, <a href="https://webassembly.org">web assembly</a> and <a href="http://asmjs.org">asm</a>, browser as VM, contact josh: <a href="https://twitter.com/joshmarinacci">https://twitter.com/joshmarinacci</a>, mail: josh@josh.earth. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 14 October 2018 11:00:00 +0100">Sun, 14 October 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_17.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_16"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_16">#<span itemprop="episodeNumber">16</span></a> Java, Caching and How the Information Flows</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_16">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with Cameron Purdy, (<a href="https://twitter.com/cpurdy">@cpurdy</a>) about: graphics programming, Wolfenstein, peek and pokes, programming in one sitting, structured programming and Pascal, no go sub, just go to, thoughts on Java, forming Tangosol in 2000, developers don't have budgets, J2EE scalability problems, TCMP, <a href="https://www.theserverside.com/discussions/thread/10952.html">TCPM</a> <a href="https://xkcd.com/269/">TCMP at XKCD</a>, unlimited connections via UDP and early Java, Tangosol and Oracle coherence, distributed caching, learning on the job, dying servers, messaging and message order, blockchain and distributed caching, consistent caching, merkle tree, shrinking data domains, partition assignment strategies, partitioning and sharding, JINI and JavaSpaces, JGroups and Bela Ban, GigaSpaces, job scheduling, resource leasing, "Compound interest is the most powerful force in the universe" [Albert Einstein], survivor bias, usability optimizations, focus on application specific challenges, searching for exponential impact, having fun in team, attracting good engineers, daily improvements, the progress experience, avoid being noticed, fixing everything, the CAP truism, a different take on consistency, Java is not a concurrent language, there is no concept of "now", guaranteed order is the expensive part, consistency is the sideeffect of order, information is flowing, former Senior Vice President of Java Development still likes hacking, Cameron's new startup <a href="http://xqiz.it">xqiz.it</a>, <a href="https://twitter.com/cpurdy">@cpurdy</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 3 October 2018 11:00:00 +0100">Wed, 3 October 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_16.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_15"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_15">#<span itemprop="episodeNumber">15</span></a> Microsoft, OpenSource, Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_15">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with <a href="https://www.linkedin.com/in/brunocborges">Bruno Borges</a> about: staring the a Java career, Outbound Product Management at Oracle, Java EE Evangelism at Oracle, Oracle at Docker, JSPs as template, to young for JDK 1.0 :-), Brazil and Java, why Java is so popular in Brazil?, the idea for opensourcing Java, special thanks to Bruno Souza, Microsoft like Sun Microsystems, Microsoft as Java advocate, Azure, Jenkins on Azure <a href="https://docs.microsoft.com/en-us/azure/jenkins/">https://docs.microsoft.com/en-us/azure/jenkins/</a>, clouds, opensource technologies and vendor lock in, why trust rules, Microsoft joins Jakarta EE <a href="https://dev.eclipse.org/mhonarc/lists/jakarta.ee-wg/msg00054.html">https://dev.eclipse.org/mhonarc/lists/jakarta.ee-wg/msg00054.html</a>, Jakarta EE has to be successful on Azure, shipping WARs as productivce Function as a Service (FaaS), normalizing Jakarta EE for serverless environments, MicroProfile and serverless, boring Java EE, what is lacking in Java EE, Java EE marketing problems, Jakarta EE + MicroProfile and magic happens, no-bandwidth deployments with Jakarta EE, saving money with Jakarta EE in the clouds, Docker and Jakarta EE, Docker layering and inheritance, Maven Build with Docker Build under 3 secs, <a href="https://github.com/AdamBien/docklands">https://github.com/AdamBien/docklands</a> as foundation for docker images, use cases for FatJars and UeberJars are hard to find, Docker images as ultimate EARs, no dependencies, no plugins with Java EE, deleting stuff as a service, having a zero-dependency mindset, simple systems will become complex, postponing complexity by deleting stuff, the beauty of Java EE platform, Bruno's next mission at Microsoft, <a href="https://docs.microsoft.com/en-us/azure/azure-functions/functions-create-first-java-maven">Azure Java Functions</a>, <a href="https://azure.microsoft.com/en-us/services/app-service/">Azure App Service</a>, Jakarta EE runtimes at Azure Cloud, Microsoft TomEE, OpenLiberty, Payara at Azure evaluations, pushing MicroProfile applications to Azure Cloud, <a href="https://github.com/Azure/azure-microprofile">MicroProfile Configuration Provider for Azure</a>, Bruno can be contacted via: bruno.borges@microsoft.com (please no spam), Bruno at <a href="https://www.linkedin.com/in/brunocborges">LinkedIn</a> and twitter: <a href="https://twitter.com/brunoborges">@brunoborges</a> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 23 September 2018 11:00:00 +0100">Sun, 23 September 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_15.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_14"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_14">#<span itemprop="episodeNumber">14</span></a> Boring Enterprise Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_14">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with Elder Moraes (<a href="https://twitter.com/elderjava">@elderjava</a>) about Java EE at JavaONE, why Java EE at all, enjoying boring stuff, Java EE for pet projects, thinking freely about business problems, no distractions, servlets and JSPs, Java as career choice, Jakarta EE opinions, Oracle's Java EE stewardship, Java EE 8 being late, Jakarta EE should remain boring, Jakarta EE and profiles, an idea for a Jakarta EE profile creation process, Eclipse Foundation and agility, the pace of MicroProfile, thoughts on Cloud Native, Java EE in Cloud Native environments, Sebastian Daschner and successful Java EE careers, Java EE impact on startups, ES 6, TypeScript, thoughts on serverless, future of Jakarta EE, JVM overhead and microservices, GraalVM and Nashorn, JavaONE vs Oracle Code, Java EE 8 recipes in the <a href="https://www.amazon.com/dp/1788293037/ref=cm_sw_r_tw_dp_U_x_F9KZAbRPQA7EK"> Java EE 8 Cookbook</a>. Checkout: <a href="http://eldermoraes.com">eldermoraes.com</a>, <a href="https://github.com/eldermoraes">Elder Moraes</a> and <a href="https://twitter.com/elderjava">@elderjava</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 25 August 2018 11:00:00 +0100">Sat, 25 August 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_14.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_13"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_13">#<span itemprop="episodeNumber">13</span></a> From Java EE over EE4j to Jakarta EE</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_13">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with Mike Milinkovich <a href="https://twitter.com/mmilinkov">@mmilinkov</a>, about Cobol, APL, Smalltalk, Visual Age for Java, WebGain, TopLink, "The Object People". Canadians run the Java World, Eclipse, plugins and OSGi, pragmatic modularization, the First Executive Eclipse Director, <a href="https://twitter.com/mcavage">Mark's Cavage</a> role in opensourcing Java EE <a href="https://projects.eclipse.org/projects/ee4j/">ee4j</a> name confusion, the <a href="https://jakarta.ee">Jakarta EE</a> brand and logo, the migration from Java EE to Jakarta EE, why it is not possible to rename ee4j to Jakarta EE, working 50% on Jakarta EE, working with Oracle lawyers, why not all JSR specs can not be contributed by Oracle, dealing with old specifications, how to contribute to Jakarta EE project, how to become a Jakarta EE committer, the difference between Eclipse Foundation agreements and other foundations, becoming an Eclipse member, becoming a member steering committee, hacking the Jakarta EE process by becoming a member without paying money, the Jakarta EE release cadence, different cadences between ee4j and Jakarta EE, who decides what at Jakarta EE / Eclipse, specs become opensource projects, committer based merocracy, how to start a new Jakarta EE subproject, Jakarta EE is "code first", <a href="https://dev.eclipse.org/mhonarc/lists/jakarta.ee-wg/msg00054.html">Microsoft joins Jakarta EE</a>, the dangers of profiles, no politics, the specification Jakarta EE committee decides about profiles. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 6 August 2018 11:00:00 +0100">Mon, 6 August 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_13.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_12"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_12">#<span itemprop="episodeNumber">12</span></a> From JSF and PrimeFaces to WebComponents</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_12">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with Cagatay Civici (<a href="https://twitter.com/cagataycivici">@cagataycivici</a>) about starting with Java, interfaces and return statements, IBM RAD JSF, Sun JSF Woodstock, <a href="https://myfaces.apache.org">Apache MyFaces</a>, <a href="https://myfaces.apache.org/tomahawk/index.html">Apache MyFaces Tomahawk</a>, <a href="https://cagataycivici.wordpress.com/2006/01/05/jsf_chart_creator/">JSF Chart Creator</a>, <a href="https://myfaces.apache.org/tobago/">Apache MyFaces Tobago</a>, <a href="http://www.oracle.com/technetwork/developer-tools/adf/overview/index.html">Oracle's ADF</a>, <a href="https://yuilibrary.com">YUI</a>, <a href="https://jquery.com">jQuery</a> and JSF, the non-dependency mindset, building complex UI components, Jakarta EE and microprofile, a scientific approach to design, choosing colors and color palletes, ideas for themes, standards and <a href="https://www.primefaces.org">PrimeFaces</a>, keeping up with Angular, React and <a href="https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements">WebComponents</a>, <a href="https://stenciljs.com">StencilJS</a>, PrimeFaces NG, an opensource model with commercial support, why "Prime", component sponsorship, performance under pressure and <a href="http://primetek.com.tr">PrimeTek</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Fri, 6 July 2018 11:00:00 +0100">Fri, 6 July 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_12.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_11"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_11">#<span itemprop="episodeNumber">11</span></a> MicroProfile -- Past, Present and Future</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_11">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with <a href="https://twitter.com/emilyfhjiang">@emilyfhjiang</a> about reducing the footprint with OpenLiberty, OSGi, Apache Aries <a href="http://aries.apache.org">Apache Aries</a>, the beginnings of <a href="https://microprofile.io">MicroProfile.io</a>, OpenLiberty MicroProfile implementation, writing MicroProfile specs, combining Java EE 8 and <a href="https://microprofile.io">MicroProfile.io</a>, the added value of Fault Tolerance, Health, Metrics, Configuration, the process of introducing new APIs to MicroProfile, MicroProfile at <a href="https://projects.eclipse.org/projects/technology.microprofile/developer">GitHub</a>, Java EE Concurrency Utilities and MicroProfile, OpenLiberty <a href="https://openliberty.io/guides/">Guides</a>, commercial support for OpenLiberty and MicroProfile by IBM, <a href="https://github.com/eclipse/microprofile-reactive">Reactive Microprofile</a>, the relation between Jakarta EE and MicroProfile, MicroProfile standardisation. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Mon, 25 June 2018 11:00:00 +0100">Mon, 25 June 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_11.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_10"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_10">#<span itemprop="episodeNumber">10</span></a> 51st airhacks.tv [audio]</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_10">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> Answers for the Java EE, Java SE, HTML 5 and JavaScript questions from my blog: http://adam-bien.blog, https://twitter.com/AdamBien, http://airhacks.com, IRC #airhacks and "from the streets". This time we are covering: "Versioning, tagging, branching, automation, CI/CD, autodeployment in production, JAX-RS and file upload, MVC 1.0 vs. servlets and JSPs, Primefaces as module, @Singleton vs. @ApplicationScoped vs. @RequestScoped and JAX-RS, centralized logging, logging vs. metrics and the future of webassembly": http://adambien.blog/roller/abien/entry/versioning_tagging_automation_ci_logging See you at: http://workshops.adam-bien.com </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 6 June 2018 11:00:00 +0100">Wed, 6 June 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_10.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_9"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_9">#<span itemprop="episodeNumber">9</span></a> WildFly and JBoss</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_9">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with Jason Greene <a href="https://twitter.com/jtgreene">@jtgreene</a> about HotJava on Sparc, increasing productivity, <a href="http://tomcat.apache.org">Tomcat</a>, <a href="https://en.wikipedia.org/wiki/Orion_Application_Server">OrionServer</a>, <a href="https://www.redhat.com/en/technologies/jboss-middleware/application-platform">JBoss</a>, <a href="https://www.w3.org/Jigsaw/">Jigsaw</a> W3C's Server, <a href="https://svn.apache.org/repos/asf/tomcat/archive/tc3.x/branches/Apache_Jakarta/container/src/webpages/index.html">JavaServer Web Development Kit</a>, flat network assumptions, SOAP and XML vs. IIOP, grpc, thrift, DTO bloat, <a href="http://infinispan.org">Infinispan</a>, <a href="https://en.wikipedia.org/wiki/Marc_Fleury">Marc Fleury</a>, <a href="http://docs.jboss.org/jbosscache/2.0.0.GA/PojoCache/en/html_single/index.html">POJO Cache</a>, <a href="http://jbosscache.jboss.org">JBoss Cache</a>, caching and concurrency, clustering, JBoss/WildFly clustering under the hood, using Infinispan as JMS provider, WildFly 13 provisioning infrastructure, WildFly as a platform, pruning CORBA, the danger of profiles, dying SOAP, WildFly 12 and Java EE 8, Hibernate 6 query optimization, quarterly WildFly releases, EAP release cadence, community enterprise and supported WildFly, EAP for developers, Java EE productivity and the declarative model, Java EE concurrency model, WildFly's killer features, <a href="http://undertow.io">undertow</a> and <a href="http://wildfly.org">wildfly</a>. </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 26 May 2018 11:00:00 +0100">Sat, 26 May 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_9.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_8"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_8">#<span itemprop="episodeNumber">8</span></a> JVM Innovation with Graal</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_8">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with <a href="https://twitter.com/JaroslavTulach">@JaroslavTulach</a> about the beginnings of NetBeans, xelphi, JavaDoc, <a href="http://www.oracle.com/technetwork/java/javase/glasgow-139720.html">Glasgow</a>, JavaBeans for the network, LimeTree, mounting jars, deals with Jonathan Schwartz, <a href="http://wiki.apidesign.org/wiki/Bck2Brwsr">Bck2Brws</a> (Back To Browser), <a href="https://dukescript.com">Duke Script</a>, <a href="https://software.intel.com/en-us/multi-os-engine">Multi OS Engine</a>, JavaFX, Java to JavaScript transpiler, Typescript, Frameworks, <a href="http://www.graalvm.org">GraalVM</a>, <a href="http://www.adam-bien.com/roller/abien/entry/when_c_becomes_too_slow">Project Maxwell</a> , <a href="https://en.wikipedia.org/wiki/Maxine_Virtual_Machine">Maxine VM</a>, <a href="http://openjdk.java.net/groups/hotspot/docs/HotSpotGlossary.html">C2 compiler</a>, <a href="http://ssw.jku.at/General/Staff/TW/igv.html">IGV</a>, nashorn and performance, Graal and Twitter, <a href="http://openjdk.java.net/projects/metropolis/">JEP metropolis</a>, Graal speedup, the most complex statement, speculative interpreters, talk to your compiler, <a href="https://github.com/oracle/graal/tree/master/truffle">Truffle</a>, <a href="https://github.com/oracle/graal/tree/master/substratevm">SubstrateVM</a>, avatar.js, node.js on JVM, Graal Installation, language interop </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 25 April 2018 11:00:00 +0100">Wed, 25 April 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_8.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_7"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_7">#<span itemprop="episodeNumber">7</span></a> 48th airhacks.tv [audio]</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_7">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> Answers for the Java EE, Java SE, HTML 5 and JavaScript questions from my blog: http://adam-bien.blog, https://twitter.com/AdamBien, http://airhacks.com, IRC #airhacks and "from the streets". This time we are covering: JSON-B and hierarchical mapping, Groovy and Jenkins pipelines, CQRS, 40k with (deprecated) JSF, EJB TX, JSON-B, Java EE migrations and I'm performing live a code review / refactoring. Also see: http://adambien.blog/roller/abien/entry/jakarta_ee_news_json_b </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Tue, 10 April 2018 11:00:00 +0100">Tue, 10 April 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_7.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_6"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_6">#<span itemprop="episodeNumber">6</span></a> Mobile Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_6">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> A conversation with <a href="https://twitter.com/johanvos">Johan Vos</a> about Sting at Java One, <a href="https://en.wikipedia.org/wiki/Blackdown_Java">Blackdown Java</a>, dream teams, <a href="https://en.wikipedia.org/wiki/Bill_Joy">Bill Joy</a>, Java in science, telematics, OSGi, JavaFX, wild pigs, oktoberfest, <a href="http://www.kaffe.org">kaffe.org</a> social Java <a href="http://www.lodgon.com/dali/page/DaliCore">DaliCore</a>, reactive JavaFX, Sun Grid, clouds, Java EE in science, <a href="http://gluonhq.com">Gluon</a>, JavaFX on Mobile, openJDK 9 on iOS, Android and the future of JavaFX </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sat, 31 March 2018 11:00:00 +0100">Sat, 31 March 2018 11:00:00 +0100</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_6.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_5"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_5">#<span itemprop="episodeNumber">5</span></a> Serverless Java</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_5">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> <p>A conversation with <a href="https://twitter.com/shaunmsmith">Shaun Smith @shaunmsmith</a>, about Smalltalk, TopLink, <a href="https://www.eclipse.org/eclipselink">EclipseLink</a>, <a href="http://fnproject.io">fnproject.io</a>, <a href="https://github.com/fnproject/fdk-java">Fn Java Functions Developer Kit</a>, exploded application servers, Docker and serverless architectures.</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Wed, 31 Jan 2018 11:00:00 CET">Wed, 31 Jan 2018 11:00:00 CET</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_5.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_4"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_4">#<span itemprop="episodeNumber">4</span></a> Micro Java EE</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_4">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> <p>A conversation with <a href="https://www.payara.fish/steve_millidge">Steve Millidge</a>, (<a href="https://twitter.com/l33tj4v4">@l33tj4v4</a>) about pre Java 1.0, persistence and OODBs, OrionServer, <a href="https://www.payara.fish">payara.fish</a>, <a href="https://www.payara.fish/payara_micro">Payara Micro</a> vs. <a href="https://www.payara.fish/downloads">Payara Server Full</a>, lightweight Java EE, microprofile, EE4J and why Java EE is the perfect Cloud Native platform.</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 17 Dec 2017 11:00:00 CET">Sun, 17 Dec 2017 11:00:00 CET</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_4.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_3"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_3">#<span itemprop="episodeNumber">3</span></a> Java EE ebullience</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_3">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> <p>A conversation with Erin Schnabel (<a href="https://twitter.com/ebullientworks">@ebullientworks</a>, <a href="http://www.ebullientworks.com">ebullientworks.com</a>) about: the beginnings of Java, robots, CORBA, RMI, WebSphere, <a href="https://openliberty.io">OpenLiberty</a>, Services, Java EE, WebSockets, Cloud Native, Microservices, <a href="https://gameontext.org/#/">GameOn</a> Productivity and the 10 years cycle</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 26 Nov 2017 11:00:00 CET">Sun, 26 Nov 2017 11:00:00 CET</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_3.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_2"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_2">#<span itemprop="episodeNumber">2</span></a> Java EE youngster</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_2">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> <p>A conversation with Sebastian Daschner about: Java EE, EE4j, Microprofile, Swagger, JAX-RS Analyzer, CQRS, Microprofile Book: Architecting Modern Java EE Applications</p><a href="http://sebastian-daschner.com">Website / Blog / Newsletter</a>, <a href="https://twitter.com/DaschnerS">@DaschnerS</a>, <a href="https://blog.sebastian-daschner.com/entries/book-modern-java-ee">Java EE book announcement</a>, <a href="https://www.amazon.com/Architecting-Modern-Java-EE-Applications-ebook/dp/B0761YQNRM">Architecting Modern Java EE Applications book (amazon)</a>, <a href="https://www.packtpub.com/application-development/architecting-modern-java-ee-applications">Architecting Modern Java EE Applications book (packt)</a></p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 5 Nov 2017 16:00:00 CET">Sun, 5 Nov 2017 16:00:00 CET</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_2.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> <article itemscope itemtype="http://schema.org/PodcastEpisode" id="episode_1"> <header> <h2 itemprop="name"><a href="https://airhacks.fm/#episode_1">#<span itemprop="episodeNumber">1</span></a> JavaONE 2017</h2> <nav class="episode-badges"> <a href="https://airhacks.fm/#episode_1">[episode link]</a> <a href="https://itunes.apple.com/us/podcast/airhacks-fm-podcast-with-adam-bien/id1296655154?mt=2&amp;app=podcast"><img loading="lazy" src="https://adam-bien.com/images/apple_podcast_listen.svg" style="height:2em;"></a> <a href="https://open.spotify.com/show/6nOTQLa2uZxeyGpMW8eppS"><img loading="lazy" src="https://adam-bien.com/images/spotify_podcast_listen.svg" style="height:2em;"></a> <a href="https://podcasts.google.com/feed/aHR0cHM6Ly9wY3IuYXBwbGUuY29tL2lkMTI5NjY1NTE1NA"><img loading="lazy" src="https://adam-bien.com/images/google_podcast_listen.svg" style="height:2em;"></a> <a href="https://pcr.apple.com/id1296655154">[RSS]</a> </nav> </header> <section itemprop="description"> <p>JavaONE 2017 keynote, FN, Java 9, serverless Java, Java EE 8, EE4J, Microprofile</p> </section> <footer> <p> <small> NEW: airhacks is on: <a href="https://www.meetup.com/airhacks/">meetup.com/airhacks/</a> </small> </p> posted on <time itemprop="datePublished" datetime="Sun, 15 Oct 2017 16:00:00 CET">Sun, 15 Oct 2017 16:00:00 CET</time> by <a itemprop="author" itemscope itemtype="http://schema.org/Person" href="http://adam-bien.com">adam-bien.com <meta itemprop="name" content="Adam Bien"> </a> <span itemprop="associatedMedia" itemscope itemtype="http://schema.org/MediaObject"> [<a itemprop="contentUrl" href="https://s3.eu-central-1.amazonaws.com/airhacks.fm/airhacksfm_1.mp3">listen</a>|<a href="https://pcr.apple.com/id1296655154">subscribe</a>] </span> </footer> </article> </main> <footer> <nav> <a href="http://adambien.blog">adambien.blog</a> <a href="http://airhacks.tv">airhacks.tv</a> <a href="http://workshops.adam-bien.com">workshops.adam-bien.com</a> </nav> </footer> </div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10