Rank #1: The Greg Cast
Welcome to The Greg Cast
- The Virtual World Podcast
- On The Metal Podcast
- JavaZone 2020
- Ron Pressler: Scalable Harmonious Concurrency for the Java Platform
- Virtual Threads
- Async / Await
- Why Continuations are Coming to Java
- Java Platform Retention
- Graal Based Frameworks
- JavaZone: Building a Distribution Pipeline
- Lua: Splitting a String
- Oracle Developer Live
- Java has moved to Github
- Java 15 is here, Nashorn is not
- instanceof Pattern Matching
- Why The C Language Will Never Stop You Making Mistakes
- Microsoft Control Flow Guard now in LLVM/Rust
- Microsoft Core C++ Checker gains Rust like checks
- Fuzz 2020 Report
- Wither Reason
- Why Jonny Won't Upgrade
Sep 12 2020
Rank #2: 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"
- 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 https://raindrop.io/collection/12086308
Jul 02 2020
Rank #3: 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?)
- 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.
- 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 raindrop bookmarks.
May 17 2020
Rank #4: Illegal Argument - Episode 165
Welcome to the “Locked Down Dependencies” remote recorded using Squadcast.fm whilst both Greg and I are stuck in a national COVID-19 lockdown.
Full links to topics discussed can be found in the shared bookmark folder 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.
Apr 23 2020
Rank #5: 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.
- Multiline String literals with Java Text Blocks
- Preview APIs in the Java Platform
- Java 14 Arrives with a Host of New Features
- JDK 14: The new features in Java 14
- Stephen Colebourne’s Tweet Thread on JDK Modules
- Miranda (forerunner to Haskell) open sourced
- C++20 IS FEATURE COMPLETE; HERE’S WHAT CHANGES ARE COMING
- Project LightSpeed: Rewriting the Messenger codebase for a faster, smaller, and simpler messaging app
Mar 16 2020
Rank #6: 163: The Continuation
- Fibre's are dead - long live "Virtual Threads"
- Undelimited continuations are not functions
- R2DBC 0.8.0 goes GA - Reactive database clients for Java
- RUST: Shipping a compiler every 6 weeks
- Microsoft: We're creating a new Rust-based programming language for secure coding
- I.e. they're not, this is just another research language. MS is however still heavily looking at rust, and employing rust developers.
- Unleashing the (Armed) Bear past Java 11
- Using Jlink to shrink your webservices… including nativeimages in the followup tweets
- Style guide for Text Blocks
- Lambda performance in node - regressions:
- Version 13.5.0 -- Questionable Changes? "My testing indicates that the for...of construct is about 60-70% slower as opposed to a classic for(let i; i; i++)."
- JEP 305: Pattern Matching for instanceof (Preview) was proposed to target.
- JEP 343: Packaging Tool (Incubator) was proposed to target.
- JEP 345: NUMA-Aware Memory Allocation for G1 was integrated.
- JEP 349: JFR Event Streaming was integrated.
- JEP 352: Non-Volatile Mapped Byte Buffers was targeted.
- JEP 358: Helpful NullPointerExceptions was integrated.
- JEP 359: Records (Preview) was integrated.
- JEP 361: Switch Expressions (Standard) was integrated.
- JEP 362: Deprecate the Solaris and SPARC Ports
- JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector was targeted.
- JEP 364: ZGC on macOS was targeted.
- JEP 366: Deprecate the ParallelScavenge + SerialOld GC Combination was proposed to target.
- JEP 367: Remove the Pack200 Tools and API was targeted to JDK 14.
- JEP 368: Text Blocks (Second Preview) 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":
Dec 22 2019
Rank #7: 162. A Conservative JDK/Java Migration Path
- CppCon 2018: Thoughts on a more powerful and simpler C++ (5 of N) - Herb Sutter
- Resources for writing modern Java
- Java 8 adoption process
- Conservative migration
- Build under new JDK
- Deploy on JDK
- THEN switch bytecode target to new JDK
- keep main build JDK target, move tests to target new JDK and use new features in non production code
- Local records inside a method
- JEP 345: NUMA-Aware Memory Allocation for G1
- Java switch - 4 wrongs don't make a right - Stephen Colebourne
- Jakarta EE 8: The new era of Java EE explained
- Git Partial clones give shallow checkouts, whilst sparse checkout yields a restricted subset of the working copy to check out.
- Dart native
Nov 24 2019
Rank #8: Illegal Argument: Episode 161
00:01:25: Java 12 Is Upon Us
00:12:31: Supporting Multiple JVM Versions In Libraries
- Apache Maven Compiler Plugin: Multi Release
- Building Java 6-8 Libraries for JPMS in Gradle
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
Apr 08 2019
Rank #9: Episode 160
- 00:00:00: Intro
- 00:02:37: Java 11 Is Here
- 00:07:22: JEP 342: The JVM and Spectre
- 00:10:42: Chrome Blocking Add Blockers
- 00:15:06: Integrity In Tool Usage
- 00:20:33: Pharo Release
- 00:26:14: Java Migration And "Free Java"
- 00:29:17: REPL Based Development
- 00:34:04: Racket Documentation Language - Scribble
- 00:36:03: C++ Concepts
- 00:37:02: New Release Of Wine
- 00:38:42: Advanced Mac Substitute
- 00:41:10: Looking To The Futur
Mar 30 2019
Rank #10: Episode 159: The Forth
- jpackage builds available
- building rpms, debs, MSI, and PKG installers
- too little too late? Have we all loved to kubernetes and orchestration systems.
- JDK 12 now in Rampdown and due in March
- c builds / versions
- Gradle source dependencies
- Custom Apache Karaf Distributions
- D Lang
- C Modules & Large-Scale Development
- CppCon 2018: Andrei Alexandrescu “Expect the expected”
- Java 11 and beyond at Allegro
- CppCon 2018: “Closing Panel: Spectre”
Dec 29 2018