[kcdc 2021] Java 17’s Project Panama Newbies

This post is my live blog from KCDC. For more, see the 2021 KCDC live blog TOC

Speaker: Carl Dea (Azul)

Twitter: @carldea


Foojay.io has more

JEP 412 – Foreign Access API

  • https://openjdk.java.net/jeps/412 – ties together other JEPs
  • incubator module. Third incubabor
  • in making for at teast 6 years

Problems with old way

  • Communicating with required wrapper code and distributing a .ddl
  • Have to do a lo of work yourself to interfaces with C


  • jdk.java.net/panama
  • https://github.com/openjdk/panama-foreign
  • panama-dev@openjdk.java.net
  • https://foojay.io/today/project-panama-for-newbies-part-1/
  • https://foojay.io/today/project-panama-for-newbies-part-2/
  • https://foojay.io/today/project-panama-for-newbies-part-3/
  • https://github.com/carldea/panama4newbies


  • java -version. Make sure says 17-panama. (Not part of main JDK)
  • jextract -h to get help
  • jextract will generate Java code for you by looking at C header file
  • Most important options
    • -I (capital Eye) – include file path
    • -d – destination for generate files
    • -l (lowercase ell) – specify a library
    • -t – target package
  • Must add incubator module and enable native access flag to run
  • Can call C methods from Java by importing them
  • Java wil hande the memory allocation/cleanup based on scope


  • Copies file and puts in this file.
  • Not like import where it a reference

My take

This is a topic I knew nothing about. (Or forgot what I had known.) It was really cool to see!

[2021 kcdc] How to equitably close the CS education gap

This post is my live blog from KCDC. For more, see the 2021 KCDC live blog TOC

Speaker: Allison Hartnett

Twitter: @dralllisonhart



  • 67% of new jobs in STEM are in computing
  • Over 400K opening
  • Only 47% of US schools teach CS
  • Black students almost 3x less likely to take AP (advanced placemen CS Principles) than White or Asian students


  • Technology Education and Literacy in Schools
  • Microsoft pays for this but volunteers from many companies
  • Finds volunteers to pair teach for a year so a teacher can teach CS by themseves
  • Both in person an remote instruction
  • Four courses: Intro CS, AP CS Principles, AP CS A, CS Topics

Think about

  • How give feedback and be encouraging

My take

This session has speech to text/captioning on the screen. It heard everyone in the room. Some more accurately than others. I knew the session was largely about TEALS. I was hoping there would be more general points as well. (I didn’t read the abstract carefully enough)

Ended with good call for volunteeers: aka.s/TEALSContact

[2021 kcdc] who got dna in my code – intro to genetic algorithms

This post is my live blog from KCDC. For more, see the 2021 KCDC live blog TOC

Speaker: Randall Koutnik

Twitter @rkoutnik


Genetic Algorithm

  • Machine learning
  • Represent problem as an array of things
  • Create a weighting to represent the problem as a number
  • Showed scale of evolving solutions and when processing exceeds laptop processing capacity
  • Keep changing best on best one until that point
  • Fiinite state machines – also like an array of booleans representing choices. Generate possibilities and see which one works. Use fitness function to see which are most successful
  • Get jitter in high score as average goes up because randomness
  • Determine if need perfect answer vs good enough answer


  • Generating counterfeit art
  • Eater game demo where they learn to eat plants
  • Calcu-lords game to determin which cards are best

My take

I learned what a genetic algorithm is And was nice to see some code. The examples were al fun. Hard to take notes on but I enoyed the presentation.