What have, and am I working on? 👀
The projects ðŸ”
Is my company that develops software and offers consultancy and contract work around event-driven architectures and open-source software.
|
Is a next-gen code generator, that easily can be integrated into any project (regardless of language) that simplifies the implementation and testing phase. |
GamingAPI.org is a side project of mine where I try to use everything from AsyncAPI (tooling and spec) and incorporate it into a standard for interacting with all types of game servers (focus on Rust, upcoming Minecraft, etc.) through generated SDK's, documentation, governance, and more!
|
AsyncAPI was a spare-time project turned full-time job at Postman for an amazing 4 years and still engaged with the project. I am part of the AsyncAPI Technical Steering Committee, release coordinator for v3, and maintainer and creator of a bunch of the open source tools such as;
- Modelina a library I started with Maciej for generating models from various inputs (AsyncAPI, OpenAPI, JSON Schema, TypeScript models, etc) into various outputs (TypeScript, C#, Python, etc). Try it here modelina.org/playground
- EDAVisualiser a visualization tool for simple and complex systems, which supports all the major design frameworks, React, Next, Vue, Angular, etc. Try it here asyncapi.github.io/EDAVisualiser
- React SDK a contender to Nunjucks to render templates that could be anything. Read more here asyncapi.com/docs/tools/generator/react-render-engine
|
Tooling
Here are all the tools I am doing some kind of maintenance on;
- The Codegen Project CLI - the next-gen code generator that easily can be integrated into any project (regardless of language) that simplifies the implementation and testing phase.
- Modelina - A library I started with Maciej for generating models from various inputs (AsyncAPI, OpenAPI, JSON Schema, TypeScript models, etc) into various outputs (TypeScript, C#, Python, etc). Try it here modelina.org/playground.
- EDAVisualiser - A visualization tool for simple and complex systems, which supports all the major design frameworks, React, Next, Vue, Angular, etc. Try it here asyncapi.github.io/EDAVisualiser.
- React SDK - A contender to Nunjucks to generate anything from templates while enabling easy debugging and testing. Read more here asyncapi.com/docs/tools/generator/react-render-engine.
- AsyncAPI JS/TS Parser - Enable easy interaction with AsyncAPI documents and give a production-level abstraction so you don't have to change your implementation when new AsyncAPI versions get released.
- AsyncAPI Generator - can generate anything from AsyncAPI using templates.
- AsyncAPI Converter - can convert to AsyncAPI from OpenAPI, Postman Collection, and upgrade when new AsyncAPI versions occur.
- GH Action for bumping .NET versions - Automatically bump .NET/C# version of libraries, by following semantic release.
- GH Action for bumping AsyncAPI documents - Automatically bump the application version for AsyncAPI documents by following semantic release.
- AsyncAPI JSON Schema collection - The collection of JSON Schema documents that can validate all AsyncAPI versions, while still being maintainable through bundling, testing, and linting.
Here is a list of all the previous/archived libraries and projects I have worked on;
- https://github.com/jonaslagoni/Wizard-Of-Treldan, university group project, 2d and 2 different UI games in one, with a custom game engine, written in Java.
- https://github.com/jonaslagoni/NEON, university group project, a 2d tower defense game, using OSGi to use a modular system to load and unload towers, maps, game modes, etc on the fly, build upon libgdx, written in Java.
- https://github.com/jonaslagoni/csgoLiveServer, spare time project trying to reflect what happens in a CSGO server in the web browser, first version of GamingAPI I guess.
- https://github.com/jonaslagoni/asyncapi-quicktype-template, AsyncAPI generator template to generate typed models with QuickType.
- https://github.com/jonaslagoni/asyncapi-quicktype-filter, the core library code for the QuickType template.
- https://github.com/jonaslagoni/.NET-websocket-client-template, an old AsyncAPI generator template for generating a WebSocket wrapper in .NET.
- https://github.com/jonaslagoni/ts-websocket-server-template, an old AsyncAPI generator template for generating a WebSocket wrapper in TypeScript.
- https://github.com/jonaslagoni/Java-to-JSON-Schema, a JSON Schema draft-7 DSL for writing JSON Schema through code in Java.
- https://github.com/jonaslagoni/Java-to-AsyncAPI, an AsyncAPI DSL for writing AsyncAPI documents through code in Java. Uses the JSON Schema variant as well internally to define payloads.
- https://github.com/asyncapi/dotnet-nats-template, an AsyncAPI template for generating .NET/C# NATS code, superseded by [The Codegen Project](https://github.com/the-codegen-project/cli/)
- https://github.com/asyncapi/ts-nats-template, an AsyncAPI template for generating TypeScript NATS code, superseded by [The Codegen Project](https://github.com/the-codegen-project/cli/)
Writings
I am using eventstack.tech/posts as my personal sanctuary for writing stuff about projects, updates, and different tech stuff, but can also be found in the wild.
Here is an overview of the subjects so far:
- Automated code generation (introduction, versioning, for TypeScript libraries, for .NET libraries)
- AsyncAPI Governance (getting started, in practice part 1, part 2)
- API versioning (theory, in practice)
- Reusability in AsyncAPI causing problems
- AsyncAPI tooling updates (week 30, 33, 39, 46)
- AsyncAPI v3 (first look at request/reply, The New Era Approaches, release notes, AsyncAPI v2 to v3 migration)
- AsyncAPI tooling pitches (scaling parsers, better reference handling)
- AsyncAPI blogs (The Reference Rabbit Hole, Simplify code generation with React, Using JSON Schema Beyond Validation)
Conferences
This section is more for me than you, trying to keep track of what I am participating in or have.
Here is a list of previous conferences and speaking arrangements in case you find it interesting.
- (speaking) APIDays conference Helsinki, 2024, in-person, gave a talk about `Navigating the jungle of the AsyncAPI Ecosystem`
- (speaking) AsyncAPI conference, at Sngular Madrid, 2023, in-person (watch the recording here: https://www.youtube.com/live/FN5eR1Zqh9c?si=A4gxOaJlHCg4ID3P&t=7038)
- (participating) AsyncAPI conference, at IBM London, 2023, in-person
- (speaking) APIDays Paris 2022, in-person, gave a talk about `AsyncAPI and schema format complexity`
- (participating) GOTO Copenhagen 2022, in-person
- (participating) Digital Transformation World, TMForum, Copenhagen 2022, in-person
- (speaking) AsyncAPI conference 2022, had two talks here. The two talks were `Next Generation of AsyncAPI` (watch the recording here: https://www.youtube.com/watch?v=WOMDYzHh-3w) and `The Intricacies of a Single Keyword in AsyncAPI` (watch the recording here: https://www.youtube.com/watch?v=fLAAXAXOGlE)
- (speaking) API:World 2021, online, talked about `How AsyncAPI can enhance your developer experience`
- (speaking) APIDays Interface 2021, online, talked about `How AsyncAPI can enhance your developer experience`. Watch the recording here: https://www.youtube.com/watch?v=W7L0ryT3Qmo
- (participating) Info Security Denmark 2021, in-person
- (participating) APIDays Paris 2019, in-person, invitation by [Fran](https://github.com/fmvilas)
- (participating) Info Security Denmark 2019, in-person