panama-foreign
2014-slides
panama-foreign | 2014-slides | |
---|---|---|
14 | 2 | |
269 | 70 | |
-0.7% | - | |
10.0 | 0.0 | |
7 days ago | over 9 years ago | |
Java | ||
GNU General Public License v3.0 only | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
panama-foreign
- Optimize Java to C string conversion by avoiding double copy
- QuickBuffers 1.1 released
-
Java 20: A Sneak Peek on the Panama FFM API
Going to copy my Reddit comment over to HN because I think it's valuable:
---
One of the coolest things that's been worked on (by this same author, no less!) isn't even in the article!
Per has written a pretty-printer for MemorySegments and ByteBuffers that can hex-dump memory or render memory/buffers as their "struct" representations given some MemoryLayout.
You can also customize it with your own printers, it's wicked cool and helps so much to debug buffers when working with them.
https://github.com/openjdk/panama-foreign/pull/695
What do I mean by that? Have a look at this comment for an image of a raw memory structure layout I represented with MemoryLayout, and the pretty-print rendering of it:
https://github.com/openjdk/panama-foreign/pull/695#issuecomm...
- Java 20 - Sneak Peek on the Foreign Function & Memory API (2nd preview)
-
Use JNI or are there other alternates?
[Here's the project github](https://github.com/openjdk/panama-foreign)
-
Panama foreign function overhead - how can it be improved?
I am not using any special flag (is there one?) but the overhead seems quite high, especially considering the explanation on how these methods are compiled https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/panama_ffi.md
-
Possible to use Kotlin/Native to call Win API from Kotlin/JVM?
https://github.com/openjdk/panama-foreign/blob/foreign-jextract/doc/panama_jextract.md ..look at these examples
- It’s happening guys!
-
JEP proposed to target JDK 18: 419: Foreign Function & Memory API (Second Incubator)
I found the full context for the change written up here https://github.com/openjdk/panama-foreign/pull/554
-
Will scala-native run without a garbage collector?
Incentive for JVM devs? We know that C interoperability, malloc, free, structs are already supported on JVM natively since Java 14 with project panama's foreign-memory-api without JNI. I've been using sun.misc.Unsafe since Java8 and also LWJGL's C API.
2014-slides
-
In Praise of Memorization
Speaking of air gaps, here's David Beazley's wonderful classic talk about using Python as a secret weapon while locked in a vault:
>So, what happens when you lock a Python programmer in a secret vault containing 1.5 TBytes of C++ source code and no internet connection? Find out as I describe how I used Python as a secret weapon of "discovery" in an epic legal battle.
>Slides can be found at: https://speakerdeck.com/pycon2014 and https://github.com/PyCon/2014-slides
https://www.youtube.com/watch?v=RZ4Sn-Y7AP8
-
Obvious and possible software innovations nobody does
https://en.wikipedia.org/wiki/SWIG
>Initial release February 1996; 25 years ago
http://www.swig.org/history.html
>July, 1995. Dave develops SWIG while working in the Theoretical Physics Division at Los Alamos National Laboratory. Originally, it was conceived as an extension building tool for a customized scripting language that had been created for the Connection Machine 5.
David Beazley, the author of SWIG, is a brilliant programmer, and excellent presenter.
https://en.wikipedia.org/wiki/David_M._Beazley
Check out his many talks about programming, especially his PyCon 2014 talk on his work as an expert on a patent infringement case.
https://www.youtube.com/watch?v=RZ4Sn-Y7AP8
>David Beazley: Discovering Python - PyCon 2014
>So, what happens when you lock a Python programmer in a secret vault containing 1.5 TBytes of C++ source code and no internet connection? Find out as I describe how I used Python as a secret weapon of "discovery" in an epic legal battle.
>Slides can be found at: https://speakerdeck.com/pycon2014 and https://github.com/PyCon/2014-slides
https://www.reddit.com/r/programming/comments/25svd1/the_epi...
>YellowSharkMT 7y
>So much dry, geeky wit... Beazley should be a stand-up comic. This is probably the most entertaining talk from the entire 2014 PyCon.
>"This is my attempt to come up with the most boring talk title at the Pycon... that was actually one of the review in the submission..."
>"These are usually like the people at the law firm who haven't made partner yet, their job's probably on the line..."
>"You're gonna get all sorts of fun reading assignments...you read that, and it's just like your head explodes" (slide image shows dude from Scanners)
>"And the provided tools were Windows XP - awesome. The Windows command prompt - awesome. The Search Mutt - (audience erupts in laughter) [...] pretty awesome. Notepad [...] and then b/c they were feeling generous, they had Visual Studio on there."
>"By good fortune, I actually wrote the Python book, and I was allowed to bring books into the vault, so I was like OK, I'll be right back, I'm gonna go get my book..."
>His tutorial on generators was also really excellent. Lots of respect for him, he's really skilled at presenting technical concepts in an entertaining and engaging way.
https://www.youtube.com/watch?v=D1twn9kLmYg&ab_channel=PyCon...
What are some alternatives?
JNA - Java Native Access
LWJGL - LWJGL is a Java library that enables cross-platform access to popular native APIs useful in the development of graphics (OpenGL, Vulkan, bgfx), audio (OpenAL, Opus), parallel computing (OpenCL, CUDA) and XR (OpenVR, LibOVR, OpenXR) applications.
SWIG - SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.
Introducing .NET Multi-platform App UI (MAUI) - .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
jextract - https://openjdk.org/projects/code-tools
Anki-Android - AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.
win32metadata - Tooling to generate metadata for Win32 APIs in the Windows SDK.
rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries.