Keys | E362 BB4F 16A9 981D E781 2F6E 10E4 AAD0 B00D 6CDD |
Blog | https://blog.io7m.com |
GitHub | https://www.github.com/io7m/ |
Quay.io | https://quay.io/user/io7mcom/ |
Liberapay | https://liberapay.com/io7m/ |
Contents
Software | Software projects |
Documents | Documents and articles |
Contact | Contact information for the author |
Keys | Key information |
Public Domain | Public domain dedications |
Links | Links to important third parties |
Software
Software projects of which I am (or have been) the primary author and/or maintainer.
Core
abstand | Interval trees. |
anethum | Generic parser API specification. |
aradine | Modular programmable synthesis. |
aurantium | Aurantium audio sample map format. |
bishopsgate | JMS → Matrix relay. |
blackthorne | Functional streaming XML data extraction. |
blockhead | Unbound blocklist maintenance. |
bodyrecomp | Body recomposition tools. |
boxwood | EPUB parser. |
brackish | JavaFX waveform display component. |
brooklime | Nexus Pro staging repository API and command-line tool. |
calino | Strongly-specified 3D texture file format. |
canonmill | Directory-based Java Keystore. |
cardant | Inventory server. |
cardant_gui | Cardant JavaFX GUI. |
cedarbridge | Generic, strongly-typed, versioned message protocol compiler. |
certusine | ACME client. |
changelog | Software changelogs. |
checkstyle_rules | Common Checkstyle rules for io7m projects. |
chione | Opinionated builds of Apache Artemis for small-scale deployments. |
cxbutton | Customizable embossed CSS buttons. |
darco | Minimalist, opinionated database access. |
digal | Java FX rotary dials. |
dixmont | Dixmont Jackson extensions. |
ervilla | JUnit 5 Podman container creation. |
ethermaker | Ethernet MAC address generator. |
exfilac | Simple, reliable, automated S3 uploads for Android. |
flail | DNS server stress testing tool. |
garriga | AlertManager → Matrix Alert Relay. |
gatwick | BOSS GT-1000 controller. |
genevan | Generic protocol negotiation algorithm. |
gtyrell | Git repository mirroring tool. |
hibiscus | RPC Client API Specification. |
idstore | Identity server. |
idstore_gui | GUI for idstore. |
idstore_trafficgen | Traffic generator for idstore. |
ieee754b16 | Functions for converting to/from IEEE754 binary16 values. |
immutables-style | Immutables.org annotations for io7m projects. |
ivoirax | JavaFX piano component. |
jaccord | Java library to assist with musical analysis. |
jade | Java application directory etiquette. |
jaffirm | Simple and fast contract checking. |
jarabica | Type-safe OpenAL wrapper. |
jattribute | Observable, functional, mutable variables. |
jbssio | Java bytestream structural I/O. |
jcamera | Camera implementations for 3D simulations. |
jcathinone | Apache Artemis message directory spooler. |
jcip | Clean-room JCIP annotations. |
jcolorspace | Color space conversions. |
jcoords | Functions for specifying and converting between coordinate spaces. |
jcoronado | Type-safe Vulkan wrapper. |
jdeferthrow | Defer and combine exceptions. |
jdownload | Resumable HTTP downloader library. |
jequality | Equality handling. |
jeucreader | Unicode codepoint reader. |
jfsm | Finite state machines. |
jintegers | Integer handling. |
jinterp | Interpolation functions. |
jlexing | Lexer types. |
jmulticlose | Collective try-with-resources. |
jmurmur | Java implementation of the Murmur hash function. |
jmutnum | Trivial mutable numbers. |
jnfp | Normalized fixed-point value functions. |
jnoisetype | SoundFont® I/O. |
jobj | Java Wavefront OBJ parser. |
jodist | Coffee-flavoured source code generation. |
jorchard | Mutable rose-tree types. |
jpita | Simple text alignment algorithms. |
jpplib | An improved fork of the unmaintained jpplib package. |
jproperties | Typed property handling. |
jptbox | Unicode box drawing. |
jpuddle | Trivial object pooling. |
jqpage | SQL pagination functions. |
jranges | Range handling. |
jregions | Immutable area types. |
jsamplebuffer | Audio sample buffer types. |
jsay | Tiny JMS text message sender. |
jserial | Serial number arithmetic. |
jspatial | Spatial data structures. |
jspearmint | SPIR-V toolkit. |
jspiel | Java RIFF I/O. |
jsx | S-expression parser. |
jsycamore | OpenGL GUI library. |
jtensors | Vector/matrix math package. |
junreachable | Exception types for marking unreachable/unimplemented code. |
junsigned | Missing unsigned value conversions. |
jvindicator | Type-safe HTTP servlet parameter validation. |
jwheatsheaf | JavaFX file chooser. |
jxe | Hardened, boilerplate-free XML parsers. |
jxtrand | Utility classes for XML string resources. |
kabstand | Kotlin port of the Abstand package. |
lanark | Restricted dotted name specification. |
laurel | Image caption management. |
looseleaf | Minimalist transactional HTTP key/value store. |
medrina | Role-based mandatory access control. |
mime2045 | RFC 2045 MIME type parsing. |
minisite | Tiny software project static site generator. |
miscue | UI error dialogs. |
montarre | Application packaging tools. |
northpike | Continuous integration server. |
northpike.packaging | Platform-specific packaging for Northpike. |
oxicoco | Embeddable Java IRC server component. |
pallene | An ultra-minimal single-file static web server. |
peixoto | Packaged and shaded Amazon S3 SDK. |
percentpass | Percent-passing extension for JUnit 5 tests. |
primogenitor | Ancestor POM for io7m projects. |
quarrel | Strict, opinionated, typed command-line argument parser. |
quixote | Tiny embedded web server for unit testing. |
repetoir | Service directory. |
scando | Tiny japicmp command-line wrapper. |
seltzer | A specification for structured, user-facing error values. |
servitor | Static podman/systemd service generator. |
sigiltron | Mysterious symbol generator. |
smfj | Minimalist sequential mesh format. |
streamtime | Input/output stream progress tracking. |
string-template-maven-plugin | String Template Maven plugin. |
sunburst | Asset package system. |
tabla | Plain text table rendering. |
taskrecorder | UI task recorder. |
tavella | Podman Java interface. |
timehack6435126 | JVM high-resolution timer bug workaround. |
trasco | SQL database schema revision system. |
usq | Unsupervised persistent queues. |
verdant | Binary protocol for HTTP endpoint version announcements. |
verona | Semantic versioning types. |
wendover | Java NIO channel tools. |
xoanon | JUnit 5 JavaFX test harness. |
xstructural | XSLT implementation of the structural document language. |
xyloid | Repackaged xerial sqlite-jdbc binaries. |
zelador | JUnit 5 cleaning service. |
zeptoblog | Tiny, modular, static blog generator. |
Irradia Components
datepicker | Minimalist Android date picker. |
fieldrush | High-performance, low-allocation, type-safe, recovering stream JSON parser. |
http | Tiny HTTP interface. |
mime | RFC2045 MIME type parsing. |
opds1_2 | OPDS 1.2 parser. |
opds2_0 | OPDS 2.0 parser. |
servicedirectory | Android-oriented lazy application service directory. |
Adoptium
openjdk-api-java-client | Java client for the AdoptOpenJDK API. |
Immutables
immutables-vavr | A set of Immutables encodings for Vavr. |
Library For All
epubsquash | Java EPUB size reduction API and tools. |
lfa-android | LFA fork of SimplyE. |
lfa-launcher | LFA Android launcher application. |
opdsget | OPDS feed retrieval tool. |
repomaker | A lightweight repository generator for the LFA Updater. |
updater | Application to download and install LFA applications. |
LWJGL
lwjgl3-osgi | LWJGL OSGi packages. |
Palace Project
palace | The Android client for The Palace Project. |
palace-audiobook-android | The Palace audiobook player API. |
palace-ci | The Palace continuous integration scripts. |
palace-drm-core | The Palace DRM API. |
palace-http | The opinionated Palace HTTP client. |
palace-r2 | A replacement navigator for Readium 2. |
End-Of-Life / Unmaintained
blueberry | End-user automated junit test runner. |
cantoria | Java 9+ API analysis tool. |
claypot | JCommander conventions for io7m projects. |
coffeepick | Java runtime retrieval API and shell. |
coffeepick-gui | CoffeePick GUI. |
ftgr | Fossil → Git replayer. |
halite | Maven plugin to accumulate dependencies and artifacts. |
jareas | Area types. |
jaux | Auxiliary library. |
jboxes | Box types. |
jcache | Generic cache algorithms. |
jcage | Run-time configurable JVM sandboxing. |
jcalcium | 3D realtime skeletal animation package. |
jcanephora | OpenGL plus static safety. |
jdae | JAXB COLLADA bindings. |
jfppg | Java fixed-point code generator. |
jfprop | Server for synchronizing Fossil repositories. |
jfunctional | Functional types. |
jguard | FreeBSD jail management tools. |
jjacob | High-performance, memory and type-safe bindings to the JACK API. |
jlog | Hierarchical logging. |
jnull | Null pointer handling. |
jparasol | Minimalist, pure functional shading language. |
jpismo | OpenGL text renderer. |
jpra | Fast, mutable, packed records for Java. |
jrai | Apache Artemis → IRC relay bot. |
jrcl | Restricted class loader. |
jrpack | Rectangle packing algorithms. |
jstructural | Java implementation of the structural document language. |
jtimeline | Generic timeline package. |
jvvfs | Virtual filesystem. |
jwhere | Disk cataloguing tool. |
kstructural | Kotlin implementation of the structural document language. |
modulechaser | Maven plugin for reporting on the modularization status of dependencies. |
oakleaf | Minimalist article schema and stylesheet. |
oatfield | OSGi bundle I/O and analysis. |
oci-images | OCI images for various projects. |
plain-site-skin | Boring Maven site skin. |
portero | Matrix Homeserver invitation token service. |
r1 | Aggressively minimalist deferred rendering system. |
r2 | Aggressively minimalist second-generation deferred rendering system. |
readme | Tiny README generator. |
saxon-plugin | Simple XSLT processing with Saxon. |
sombrero | Shader management and preprocessing system. |
thoth | Experimental, extensible OSGi-based IRC bot. |
waxmill | FreeBSD BHyve manager. |
Art
Date | Description |
---|---|
2016-10-18Z | Baguette |
2016-10-19Z | Corn |
2016-10-20Z | Pillow |
2016-10-24Z | Rabbit |
2016-10-29Z | Workbot |
2017-08-31Z | Chemriver |
2017-09-08Z | Pine |
2019-03-14Z | Unbolted Frontiers |
2019-09-07Z | Convenience |
2019-12-30Z | Dimenec |
2020-03-19Z | The Vanishing Path 1 |
2020-08-23Z | The Sleep Of The Engineer |
2020-09-11Z | Heavy Water Station |
2020-09-27Z | A 3D-printable shell for the MakerHawk OV5647 webcam module |
2021-04-04Z | Dust Yard |
2022-04-08Z | Calais |
2022-04-08Z | Turnwise Broadway |
2023-12-30Z | OpenPose rigs for Blender |
2024-01-07Z | Low carb 3D models for Stable Diffusion |
2024-04-14Z | Wide outpainting workflow for ComfyUI |
2024-07-28Z | Star Path |
Documents
Date | Description |
---|---|
2012-01-19Z | A Brief History Of Vertex Specification In OpenGL |
2012-04-25Z | 2D GPU Displacement Mapping |
2012-04-26Z | Lightweight Static Exceptions |
2012-06-18Z | Type Tricks 0 - Propositions In Constructors Of Immutable Objects |
2012-06-19Z | Type Tricks 1 - Phantom Types |
2012-07-29Z | Crash Course In Algebraic Types |
2012-07-30Z | Glow Maps |
2013-07-24Z | Type Tricks 2 - Interfaces As Capabilities |
2014-06-28Z | Fragment Shader Outputs - Through The Ages |
2015-06-03Z | Type Tricks 3 - Generic Visitors |
2016-01-19Z | Algebraic Types On The JVM |
2016-08-20Z | Reliable UDP Algorithms |
2016-09-03Z | A Brutal Approach To Logging In An Embedded Apache Felix |
2018-09-11Z | Aeron For The Working Programmer |
2021-08-29Z | The ATMega328P From (Almost) Nothing |
2022-10-30Z | Simple GPU Outline Shaders |
Contact
Using PGP (and therefore, the email addresses contained within the PGP keys) is preferable. But if this is not an option, the author can be contacted at:
Donate
I now accept donations using Liberapay. Like something I've built? Hate something I've built? You can always throw money at the problem!
Keys
This section provides public keys of various forms. All packages released on Maven Central are signed by the current release key. Personal correspondence is signed by the current personal key. The current key policy is yearly-expiring keys, with each new set of keys being signed by the previous set. Expired/revoked keys are archived here in order to allow for the verification of old releases.
Key | Comment |
---|---|
5400 4CFD A763 C502 6A49 995A 7D39 1AC6 06A1 F804 | 2024 android APK signing key |
E288 E54A 25D3 F5A9 BF68 6BB4 E64D 38C0 2097 0A85 | 2024 github-ci-maven-rsa-key |
37A9 97D5 970E 145A B9DB 1409 A203 E72A D3BB E1CE | 2024 maven-rsa-key |
E362 BB4F 16A9 981D E781 2F6E 10E4 AAD0 B00D 6CDD | 2024 personal |
The following keys have either expired or have been revoked:
Public Domain
This section records public domain dedications as they occur.
Date | File |
---|---|
2014-12-23 | jspatial.asc |
2015-08-23 | jrpack.asc |
2016-04-27 | timehack6435126.asc |
2019-03-21 | unbolted_frontiers.asc |
Links
Apache Maven | A software project management and comprehension tool. |
Dyn4j | Java 2D collision detection and physics engine. |
Immutables | Java annotation processors to generate simple, safe and consistent value objects. |
JGraphT | A Java library of graph theory data structures and algorithms. |
LWJGL | Lightweight Java Game Library |
LYRASIS | LYRASIS |
Library For All | Library For All |
Library Simplified | Library E-books and Audiobooks Made Simple. |
OpenJDK | The place to collaborate on an open-source implementation of the Java Platform, Standard Edition, and related projects. |
The Palace Project | Libraries are Palaces for the People |