Illegal Argument
Mark, along with co-host Greg's ongoing discussions and arguments relating to the Java/JVM and general development/language space with an Auckland and New Zealand focus.
info_outline
178: Java 22 Released! And I Am The Technical Debt
03/25/2024
178: Java 22 Released! And I Am The Technical Debt
Last week, Greg and I had the pleasure of sitting down with Andres Almiray from Oracle to discuss this week's release of Java 22. I was hoping to get this episode out sooner but ended up fighting it out with a fever. Alert Notification Java 22 Released Tomorrow JDK 22 Release Notes: JavaFX Release Notes: Does Java 22 Kill Build Tools? Update on String Templates (JEP 459) (most likely to preview in 23) — First preview feature to be unshipped and reworked entirely? Misc released — This is the first release that requires Java 17! Welcome to Claro! — The Claro Programming Language Free OracleDb 23c Release Oracle Database Free — Oracle Database Free Container / Docker images — Oracle NoSQL Database — JSON in Oracle Database Office Hours: Binary JSON formats
/episode/index/show/illegalargument/id/30524988
info_outline
New Year, Old Year? What Year!?!
12/29/2023
New Year, Old Year? What Year!?!
It's been a long time (again) between recording/discussions, but finally, for the end of the year, we locked some time to record. Java Golang [Go 1.21 Release Notes - The Go Programming Language]( (soon to be released) Misc Versioning non-project repositories (config, pipelines) Semverbot looks good, but I found a bug: DORA - Software Design and Maintainability Dagger Java SDK examples:
/episode/index/show/illegalargument/id/29269113
info_outline
176 - Better Late Than Never?
09/04/2023
176 - Better Late Than Never?
Non-tech Music Banter A litany of languages and their passing, software archaeology and the issues of adopting new languages? JDK 21 to be released next month: has a good overview. Not a fan of the syntax, but also appreciate it's not just "string interpolation", it makes it very clear you're doing something different. I like that it's easily expandable and not too different from other languages that use r"Raw String here". NOTE: String Template Processing is runtime, not compile time, as Mark was thinking, as with being able to work well with Freemarker templates – which may work, but not as I implied. look like a nice improvement for consistency – annoying for library writers who may find it more useful, tho. Mark: 440: Record Patterns and 441: Pattern Matching for switch – having used these a bit now I love them, in places they fit – they work well for Algebraic Data Type style things, but should be used in moderation tho. It's a small win, but not having to name things “ignore” or “expected” etc. Initially didn't think I'd find much interest in this, but the more I experiment with Dagger.IO pipelines, and with the forthcoming Java SDK I can see this being enjoyable. as an alternative - JDK 22 to start warning on JNI usage… The Reddit thread is well - as you expect :) Quick Fire Last Minute things: BONUS Material
/episode/index/show/illegalargument/id/27933825
info_outline
175: 18 And Life...
08/21/2022
175: 18 And Life...
Episode 175 - 18 And Life Until last week, I was going to open the show saying it's been a long time since we last recorded, but we slipped in an interview with the guys from plz.review - so that's not exactly true anymore. It has, however, still been a while since we've had a normal, full session of discussion and argument. Delayed: The publishing/editing of this episode was unfortunately delayed due to me finally catching Covid. plz.review Updates Github "integration" is available, we even had listed in the show notes, as part of GerritForge there's for online hosted Gerrit+GitHub integration which uses Gerrit's replication plugin, and a Github integration for authentication/authorization. Patch sets and comments remain in Gerrit. JDK Related Since the last main episode, Java 18 was released (and earlier this week was released with various security and docker improvements.) Java 19 is currently in Rampdown Phase Two with a GA release slated for 2022/09/20 405: 422: 424: 425: 426: 427: 428: . Similar to the forthcoming Structured Concurrency for Java. - Interestingly no replies to that post at all. () - Replacing finalizers with Cleaners. Tooling - Switches from running with Jetbrains' JDK11 to JDK17 Java / JVM Languages Build Bazel Alternate Languages - Post-mortem of porting JS to Rust/WASM OCaml 5 and new Website C++ - An experimental successor to C++ Looks like it's getting a lot of flack on Twitter - Security Misc
/episode/index/show/illegalargument/id/24120147
info_outline
Episode 174: plz.review
07/19/2022
Episode 174: plz.review
Reddit Post: Blog Post: YouTube Introduction Video: Website: Guests: Dylan Trotter, Matt Schweitz It's been a while since recording, and as it happens, just before organizing the next episode, full of “discussion” on the recent Java 18, and forth-coming Java 19 release, I came across an r/programming post from Dylan Trotter from Bit Complete about their new stacked code review tool for Github. After reading the post, linked blog post, and introductory YouTube video, I reached out to discuss the product, the problems with Github's default PR model, and code review in general. Contents 00:00:03.754 Introduction 00:01:07.236 Bit Complete History 00:02:24.492 What Makes A Good Code Review? 00:12:32.219 DORA (not the Explorer) 00:14:38.308 Bisecting Squashed Commits 00:18:51.617 The plz.review Solution 00:19:08.934 plz.review Stacks - Grouping PRs Together 00:21:36.969 plz.review Revisions: Force push solutions 00:25:37.590 plz.review Migration - Moving from Gerrit? 00:29:34.371 Gerrit and Github Integration 00:32:23.516 Compromising your workflow to fit Github PRs 00:39:41.700 Code Review as Mentorship / Education 00:41:26.759 Github: Social Coding brought code-review to mainstream 00:45:52.124 Long Lived Support Branches 00:50:03.479 How to signup for plx.review Overview Before we get into plz specifics - I assume both Dylan and Matt have some interesting takes on what makes a good review: What makes a good review? What constitutes good review "hygiene"? Mark: IMHO A review/commit/PR should ideally do one thing. What the "thing" may be intangible, but ideally: If you're going to reformat code, keep it in a commit separate from business logic changes. If you're updating dependencies, keep them separate from business logic changes, however do include code changes to ensure the build continues to build and pass tests. If a dependency update introduces breaking API changes, keep that dependency change along with the implementation for it. - The four DORA metrics are: Deployment frequency: How often a software team pushes changes to production Change lead time: The time it takes to get committed code to run in production Change failure rate: The share of incidents, rollbacks, and failures out of all deployments Time to restore service: The time it takes to restore service in production after an incident The first three metrics I can see being highly impacted by small changes, automated testing and CI integration. These all intersect with code reviews – having visibility that a proposed change actually compiles, passes tests, and doesn't introduce any new security issues before a co-worker even looks at the change speeds up the process. Stacked code reviews promote changes (with small being a subjective size), We've spoken on code formatters before on the show, keeping consistency for reviews is a good thing regardless of being automated or not. plz.review The project/platform appears to solve several issues we're facing with Gerrit, and our adoption of Azure Devops: Azure Devops is unable to pull from patch-sets, due to the private rev nature of Gerrit Writing custom Azure function(s) to listen to Gerrit events and manually trigger a Devops build is viable, but not ideal. The prospect of abandoning Gerrit and switching to Githubs force push and squash approach makes me cry, Coming from the Gerrit Code Review Tool it's great to find a stacked review tool for Github, having people getting in the habit of force pushing to remotes just promotes bad hygiene IMHO. Looking at the available docs, several interesting things come to mind: Comparison: Gerrit and - which I've used in the past for some open source work ( originally used GerritForge). Gerrit keeps all patch-sets - and lets you compare diffs between patch-sets, is that also mirrored within plz.review? I guess Github would only track to latest/amended PR. Looks like the plz command line generates its own form of Change-Id footer: plz-review-url which tracks revisions of a change linking to https://plz.review/review/NNNN - which doesn't appear to be name-spaced in any way (company or repo). Gerrit's UI is getting better, but still leaves a lot to be desired – I still wish improvements to commenting/UX were more of a focus. plz.review's UI also seems simple in design (not necessarily a bad thing), UI/UX design is hard in general, the requirements of a stack version control also seem to make it a tricky balance between fully featured, and clean….` Gerrit Migration – Given git patch-sets/comments are all in git refs, is there a migration strategy to expose them into plz.review/github? Is there a potential migration strategy? plz.review feels early in the development stage. Such things may not have been considered, or deemed out-of-scope for the system. Comparison: - Open Source CLI/web dashboard stacked review tool based on Git, designed to work with Github. - - (Change Log Podcast Interview). Automated bot responses - with CI/test results often being published back into Github PR's as validations for viable PR merges, do these get reflected in the plz UI, or even -2 rejections? Dealing with commits outside of plz.review - such as automated release commits that push direct to GH / potential conflict resolution (having access to Gerrit's local git repo has often been a godsend). What's the business model for plz - per repo charge? per organisation? per user?
/episode/index/show/illegalargument/id/23786039
info_outline
173: The Red Zone
02/17/2022
173: The Red Zone
Catchups Happy New Year! Log4j Issues, fall out, ranty commentary And now : Java Stuff Java 18 set for March 22, 2022 Mark Reinhold: There are no unresolved P1 bugs in build 36, so that is the first JDK 18 Release Candidate. Binaries available here, as usual: are already available Continuations - merged. - Early Continuation API sample I believe I read somewhere are coming out of the incubator soon - is an interesting example. - it hurts just reading this, let alone the reddit comments Other Stuff
/episode/index/show/illegalargument/id/22164800
info_outline
172: Separating The Release From The Build
11/15/2021
172: Separating The Release From The Build
Once again it's been a long time coming between episodes, Auckland's recent extended Covid lock down and Mark's unscheduled and temporary relocation meant we missed out on discussion the release of Java 17 - and with Java 18 not all that far away, we thought it was about time to once again get our record on. Andres Almiray once again joins us to talk releases, and specifically the tool. Table of Contents 00:00:11 Introduction00:00:59 Lockdowns and Freedoms00:03:45 Java 17 and 18 Releases00:04:47 Java 17 Uptake00:05:37 Misconceptions of The Module System00:07:49 Spring 6 and Spring Boot 3 move to JDK 17 Minimum00:08:56 Maven Enforcer Plugin: Extra Enforce Rule - Enforce Bytecode00:11:40 Java LTS Releases Switching to 2 year cycle00:14:13 Quality of Life Language Changes In Smaller Releases00:16:00 Java Version Migration00:20:11 Is The Release Process Broken00:21:10 Reproducible Builds00:22:32 Maven Artifact Plugin00:24:36 Introducing JReleaser00:28:07 OSX Package Managers vs Tarballs00:29:23 JBang00:31:10 JReleaser Deployment Targets00:33:55 Replacing Ansible/Puppet?00:41:25 JRelease for Non Java / C++ Projects00:42:10 Live at HEAD00:44:34 JRelease for Non Java / C++ Projects (cont)00:51:15 JReleaser Configuration Formats00:54:22 Upcoming 1 Release and Potential Renaming00:58:27 Lombok and 1.x01:01:21 SDK Man releases via JReleaser01:04:04 Does JReleaser release itself?01:06:10 Rolling Releases and Announcers01:14:02 Closing Rant: Automated Code Formatters Java Related
/episode/index/show/illegalargument/id/21161189
info_outline
171: Breaking (up) The Build
03/19/2021
171: Breaking (up) The Build
In an unprecedented show of activity - merely two weeks after the new years first episode (170) Mark and Greg are back, this time joined by Andres Almiray (Oracle) and Stephen Connolly (Cloudbees) to discuss all things build, modules, this weeks Java 16 release, and why Java programmers should take a look at the rust programming language. Hosts Greg Amer Guests Table of Contents 00:00:15 Intro 00:00:37 Guest Introductions 00:02:05 Java 16 Released! 00:02:47 Jenkins and JDK Versions 00:04:38 var changes = LIPSERVICE; 00:05:11 Improve your Java by learning Rust 00:07:31 Hey Bruno - It's NOT YAML! 00:10:22 Project Liliput 00:11:31 Java Turning 26 00:13:30 Java for CLIs? 00:16:47 Modules: Thought on The Java Platform Module System 00:18:12 Modules: Modules and Versioning 00:19:15 Modules: Semantic Versioning 00:22:19 Build: Hijacking The Maven Release Process 00:26:40 Explicit Merge Commits 00:29:16 Build: JDK Dependency (Lacking) In Maven 00:31:21 Kotlin Standard Library Versions 00:31:53 Libraries should avoid Guava 00:35:36 Jackson Version 3 Changes 00:39:10 Modules: The Lack Of Runtime Versioning In Modules 00:39:46 Modules: Agents And Module Systems 00:40:39 Run The Damn Tests Twice 00:46:00 Modules: Module Systems and Debugging 00:55:02 The Ecosystem Is More Than Code 00:55:46 Build: The Hinderance of IDEs 00:56:47 Build: Mixins In Maven 01:02:18 Build: The Perfect POM is with a BOM 01:07:17 Build: Custom Lifecycles as Mixins 01:10:09 Build: Gradle is Surprises and Deathtraps 01:11:31 Build: Maven Consumer POM and POM 4.0.0 01:14:16 Build: Project Dependency Trees Proposal 01:23:28 Build: Maven 4 and 5 Releases 01:26:49 Build: Plugin Phases and Execution Order 01:33:05 Build: Interim Hacks and Abstractions Considered Harmful 01:39:33 The Problem with Preview Features News - OpenJDK proposal to reduce the Java object header by half or more would lower memory and CPU usage on all Java workloads. Pull Requests merging instanceof Pattern matching and many other new . and with it - JDK11 baseline Links and the versioning conflicts that may arise for Build Health Problems with sorting, tidying poms Build / life cycle order / Mixins (YouTube Video) Plugin Execution & Property Ordering Tests Module Systems Java Platform Module System / Jigsaw - Including an excellent video demonstration of Layrry in action with JavaFX. OSGi Runtime Dependencies (build is only half the picture)
/episode/index/show/illegalargument/id/18389687
info_outline
170: The UI is Broken!
03/07/2021
170: The UI is Broken!
Illegal Argument Episode 170 Mark and Greg emerge from their 2020/2021 Christmas/New Year breaks, and temporary Level 3 lock down to break their silence, attempt to remember how to podcast, and further the rumor that we only record an episode on the eve of a new Java release. Table of Contents 0:44 Holiday Periods 1:27 Java 16 Release 2:35 Standalone Nashorn 3:18 Native Script 6:28 R.I.P. Chrome 12:51 Module Systems 14:37 setProtected(true) 20:42 Java 16 Release (again) 25:00 Incubation vs Preview Features 37:56 Pattern Matching FTW 43:30 Equality 44:57 Inline Types and Classes 50:34 The Need For Namespaces 55:10 Bintray Closing Down 59:27 R.I.P. netbeans.org 1:07:08 SOA in C/C++ 1:14:18 Python and Rust Crypto 1:16:11 Autotools 1:18:34 Rust backend for GCC Java Related Miscellaneous Modules, Releases, and Builds CPP
/episode/index/show/illegalargument/id/18218375
info_outline
Don't Tweet Non Truths
11/30/2020
Don't Tweet Non Truths
ABNF for TLDS tldlabel = ALPHA *61(ldh) ld ldh = ld / "-" ld = ALPHA / DIGIT ALPHA = %x41-5A / %x61-7A ; A-Z / a-z DIGIT = %x30-39 ; 0-9 Rust Programming Nix Package Management ]()
/episode/index/show/illegalargument/id/16997723
info_outline
The Greg Cast
09/12/2020
The Greg Cast
Welcome to The Greg Cast Ron Pressler: Scalable Harmonious Concurrency for the Java Platform Virtual Threads Async / Await Java Platform Retention Graal Based Frameworks JavaZone: Building a Distribution Pipeline Lua: Java 15 is here, instanceof Fuzz 2020 Report Wither Reason Why Jonny Won't Upgrade .
/episode/index/show/illegalargument/id/15986648
info_outline
The Joy of Java
07/02/2020
The Joy of Java
After a lockdown/reopen period we're back with another argument. WARNING: The recording dropped out half way thru, and… creative edits were made. Your ears have been warned. Java 15 Ramp Down Second preview of Records Greg doesn't care for new JDKs whereas Mark wants to treat the JDK as "just a library/dependency" Microservices Reuse or no-reuse? Both Hellidon and Micronaut recently released 2.0 releases of their modern JVM web stacks HTTP Structured Headers Roy Fieldings Misappropriated REST Dissertation A toy JVM in AWK Perl 7 Annoucement A Tribute to Bill Shannon – A Giant of the Java Ecosystem Full links are available on
/episode/index/show/illegalargument/id/15059681
info_outline
Technical Writing
05/17/2020
Technical Writing
What’s this? Another Illegal Argument episode already? And so close to the last one - it seems the shift to working from home and remote recording has already showed a payoff. During the last episode, I’d had it in my mind to discuss the need to improve our documentation, and general communication skills that developers, and development teams often overlook. More so now that many organisations are moving into distributed, remote teams - many of which may never return to normal “office life”. With this in mind, I thought I’d make use of our new remote recording facilities and bring on both Tim McNamara (Vice-President of NZOSS, Canonical Guy, Author of Rust In Action) and Josh Addison (Technical Writer at MYOB, Game Developer, Conspiracy Podcaster) to lend their voices to our argument. On this episode we cover (or planned, as always - things got sidetracked): Java News JEP 384: Records (Second Preview) Why #Java record getters have no 'get' prefix? Call for Discussion: New Project: Leyden (static compilation for Java - the return of GCJ?) Technical Writing Why Writing Software Design Documents Matters Things Markdown got Wrong Writing Test Plans Architecture Design Records How to write better tickets/commit messages/emails etc. etc. Tooling? Asciidoc ProWritingAid, Grammarly Dropbox Paper Vale - cross platform command line style checker Question-led docs, e.g. cookbook type Doctests are better than you think Knowing your audience - differences between "documentation" and "book writing" Rust In Action WriteTheDocs Slack Full links to everything discussed and planned to discuss are found over on my .
/episode/index/show/illegalargument/id/14451224
info_outline
Illegal Argument - Episode 165
04/23/2020
Illegal Argument - Episode 165
Welcome to the “Locked Down Dependencies” remote recorded using whilst both Greg and I are stuck in a national COVID-19 lockdown. Full links to topics discussed can be found in the on Raindrop, but during tonights episode we discuss: How lockdown is affecting us The Release of Java 14 Beyond Java 8 and the Java Module System - a discussion over two recent streams/videos from Nicolai Parlog on new features in Java 9-14, and issues with the module system. Maven Dependency Pop Quiz Managing Technical Debt at scale, and designing large scale systems. Improving communication among teams in a work-from-home/remote-work world. Guides to writing technical documentation, test plans, better emails and bug reports.
/episode/index/show/illegalargument/id/14122835
info_outline
Episode 164 - Moments before Isolation
03/16/2020
Episode 164 - Moments before Isolation
Welcome to the first episode of 2020 - recorded just before all of Coronavirus Mania and then promptly the editing and publishing got unfortunately thrown to the sidelines for a week. This week (ha) Greg and I discuss the upcoming Java 14 release, along with C++20, and the granddaddy of functional programming - Miranda.
/episode/index/show/illegalargument/id/13564976
info_outline
163: The Continuation
12/22/2019
163: The Continuation
Topics - Reactive database clients for Java s I.e. they're not, this is just another research language. MS is however still heavily looking at rust, and employing rust developers. including nativeimages in the followup tweets Lambda performance in node - regressions: "My testing indicates that the for...of construct is about 60-70% slower as opposed to a classic for(let i; i; i++)." JEPs for JDK 14 was proposed to target. was proposed to target. was integrated. was integrated. was targeted. was integrated. was integrated. was integrated. was targeted. was targeted. was proposed to target. was targeted to JDK 14. was proposed to target. Thread suspend/resume are now deprecated for removal (build 21) Added LuxTrust Global Root 2 Certificate (build 24) NUMA JEP mentioned last week now has an Implementation merged for "NUMA-Aware Memory Allocation for G1": New JEPs
/episode/index/show/illegalargument/id/12494174
info_outline
162. A Conservative JDK/Java Migration Path
11/24/2019
162. A Conservative JDK/Java Migration Path
Java 8 adoption process Conservative migration Build under new JDK Deploy on JDK THEN switch bytecode target to new JDK or... keep main build JDK target, move tests to target new JDK and use new features in non production code records Local records inside a method - Stephen Colebourne give shallow checkouts, whilst yields a restricted subset of the working copy to check out.
/episode/index/show/illegalargument/id/12151517
info_outline
Illegal Argument: Episode 161
04/08/2019
Illegal Argument: Episode 161
00:00:00: Intro 00:01:25: Java 12 Is Upon Us 00:12:31: Supporting Multiple JVM Versions In Libraries 00:34:20: Graal 00:41:08: Autoscaling Is A Lie 00:50:49: Rust Is A Better C? 00:58:29: "Dynamic Types" In Haskell 01:01:09: Business Errors Vs Exceptions
/episode/index/show/illegalargument/id/9309263
info_outline
Episode 160
03/30/2019
Episode 160
00:00:00: Intro 00:02:37: Java 11 Is Here 00:07:22: 00:10:42: Chrome Blocking Add Blockers 00:15:06: Integrity In Tool Usage 00:20:33: Pharo Release - YouTube Video - YouTube Video 00:26:14: Java Migration And "Free Java" 00:29:17: REPL Based Development 00:34:04: 00:36:03: C++ Concepts 00:37:02: New Release Of Wine 00:38:42: 00:41:10: Looking To The Futur
/episode/index/show/illegalargument/id/9198824
info_outline
Episode 159: The Forth
12/29/2018
Episode 159: The Forth
building rpms, debs, MSI, and PKG installers too little too late? Have we all loved to kubernetes and orchestration systems. c builds / versions c++ 98 to c++ 11 D Lang Will so many distributions of Java lead to fragmentation? - Resolved! Opting into non-LTS and experimental features tooling still lacks
/episode/index/show/illegalargument/id/8069393
info_outline
Episode 158: Java 11 was quietly released...
10/17/2018
Episode 158: Java 11 was quietly released...
It’s been a long time between episodes, with illness, work, and rock’n’roll getting in the way - but after planning to get another episode out to discuss the recent Java 11 release, not even the arrival of Japanese doom band Church of Misery (my and ) was going to stop Greg and I from getting our rant on…. Intro to Episode 158 General Java Helidon - new NON JEE webstack from Oracle Actually, RC3 is now available at time of posting. Non Java Programming Language News Teh Strong Static Type Fail Code Style Interesting Books Java 11 Features JLink can't use automatic-modules - does that make it dead? — Moditect from Gunnar Morling @ Red Hat () lets you take existing Maven Jars, and add your own module-info / module specs for inclusion in your jlink application as a migration path. Licensing Issues / Changes Stephen Colebourne (video from Simon Ritter, AZUL Systems) Migrating - now conforming to the standard Mac package layout, which the official Oracle JDK release also follows. Java 12 and Beyond Implement C++14 Language Features - Java Bug System
/episode/index/show/illegalargument/id/7215362
info_outline
Episode 157: The Return of The Richard
05/16/2018
Episode 157: The Return of The Richard
Stuck In A Rut... - Continuous Delivery No more Apache Maven Releases - only SNAPSHOTs, into Docker images. Why scale? Maven Plugins and compile time code generation
/episode/index/show/illegalargument/id/6598976
info_outline
Episode 156 - Java 10 is the new Java 2
04/30/2018
Episode 156 - Java 10 is the new Java 2
It may have just clocked into April, but the first Illegal Argument of the year is finally here, much delayed, and extra long in it’s twists and turns of… well, let’s face it - you know it would be build didn’t you…. (YouTube link) Issues with Multiple Dependency Versions with Bazel Mark: My suspicion is the issue came from automatically generating bazel WORKSPACE/BUILD files from Maven. Maven Compiler Plugin - XML namespace issues in ‘other languages’ Make… - Slow and unreliable downloads of the Java Runtime Environment (JRE), the Java Software Development Kit (JDK) and deployment of JAR-archives, was a serious impediment to the Java adoption in its early years. This was due to sparse class-files, and short comings of the JAR-format and compressors available. JSR-200 and pack200 attempted to mitigate this problem by hyper-compressing the class-files.
/episode/index/show/illegalargument/id/6537602
info_outline
155: The End of the Year was demarcated by Annotations.
12/18/2017
155: The End of the Year was demarcated by Annotations.
For an ostensibly forthrightly podcast, we only managed 10 episodes this year, of which one was a mini-solo cast from Mark, too many holidays and rock concerts getting in the way of recording. Hopefully we can be more organised in 2019! The years podcasts: Crash ;-) Technical difficulties… Unit Testing and Java 9 (direct link to info on ) - from a native C .h file and Apple OSX:
/episode/index/show/illegalargument/id/6056728
info_outline
154: Don't Run Into Walls
11/23/2017
154: Don't Run Into Walls
Broken builds, continuous integration, feature flags and deprecations? - from Richard Vowles by Rachel White - Grinders and Biohacking - Static Analyser for Javascript are available
/episode/index/show/illegalargument/id/5974432
info_outline
153: Strutting Like A Cowboy
09/17/2017
153: Strutting Like A Cowboy
Java News - 6 month release cycle, breaking changes. 3 yearly LTS versions Module Hell - java.ee not in base ( , but ack ) Kevlin Henny JavaZone talk/video: Jitwatch
/episode/index/show/illegalargument/id/5746753
info_outline
152: XML Beware
09/10/2017
152: XML Beware
A short minisode on Apache Struts, XML deserialisation attacks, and Equifax. (2015 alert for Apache Commons Collections 3.x) Upgrade your s**t!
/episode/index/show/illegalargument/id/5724358
info_outline
151: I'm A Teapot
08/27/2017
151: I'm A Teapot
- I was hoping to actually shift the discussion of “Save 418” more towards the importance of specifications, and how ‘in the old days’ protocols/specs were king, as everything was reused and distributed - but now, it’s “the Twitter API” or “the Facebook API” — still, we managed an somewhat interesting discussion over the broadening of specification definitions. - HTTP/MediaType Driven API error handling - Fast. Configurable Argument Parsing for Rust (vimeo) - Cédric Beust Contact Us
/episode/index/show/illegalargument/id/5679327
info_outline
150: Breaching the Summit
08/04/2017
150: Breaching the Summit
Initially tonight’s episode was going to be called “The Patch Is All” (guess whose been enjoying the new season of Killjoys?) — with a discussion about pre code-review practises, however with Peter’s absence, the discussion centred mostly around the 2017 Java Language Summit which was taking place around the recording period. Upcoming Events - 3/4th October - 26/27th October in Christchurch, NZ JVM Topics Java 8u144 Released - - New Java Style Guideline for OpenJDK ( draft 6 ) - not everyone seems to like it. Not embracing 2 space indents maketh me sad :( Interesting to see how much conflicts with Googles standard, whose structural wrapping rules, whilst clearly delineating structural elements, can be a bit unsightly ) Java Language Summit 2017 - lots on value types, surprisingly little on modularity - After watching the JLS video - colour me (Mark) highly impressed. - Ken Sipe Video, JavaZone - Learn about a new feature for cloud systems in the IBM SDK Java Technology Edition, Version 7 Release 1 (pdf) - introducing edit cough at 18:42 JEP 307: - The module system gone awry ( ) General - David Turner (Lambda Days 2017) (youtube video) now officially supported by Jetbrains Autocomplete for macros Minimum version is 2017.1 - The semver trick refers to publishing a breaking change to a Rust library without requiring a coordinated upgrade across its downstream dependency graph. The trick is built around having one version of your library declare a dependency on a newer version of the same library ( ) Contact Us
/episode/index/show/illegalargument/id/5609550
info_outline
Episode 149 - null == 400;
07/09/2017
Episode 149 - null == 400;
Value Types give up value identity ( Youtube, 48 minutes ) Is SpringBoot/Grails good for Prototyping only? DZone Series on Java command line parsing:, , , ,
/episode/index/show/illegalargument/id/5519887