Some images from earlier this year, edited with https://demo.thi.ng/umbrella/webgl-channel-mixer/ (made with my #ThingUmbrella tools)...
#LandscapePhotography #Photography #Color #TypeScript #FalseColor
#Tag
Some images from earlier this year, edited with https://demo.thi.ng/umbrella/webgl-channel-mixer/ (made with my #ThingUmbrella tools)...
#LandscapePhotography #Photography #Color #TypeScript #FalseColor
Some images from earlier this year, edited with https://demo.thi.ng/umbrella/webgl-channel-mixer/ (made with my #ThingUmbrella tools)...
#LandscapePhotography #Photography #Color #TypeScript #FalseColor
Finally got around documenting a little more the small CLI app "framework" I've been using for almost a dozen projects now (incl. several work projects). The package in question is now already 3 years old (https://thi.ng/args), but I've only just managed now to add a basic, commented usage example for this `cliApp()` feature to the readme:
Defining a multi-command CLI app (incl. two sub-commands):
https://github.com/thi-ng/umbrella/blob/develop/packages/args/README.md#declarative-multi-command-cli-application
Also part of this: I've refactored a few other projects to simplify their CLI handling using this `cliApp()` wrapper (project links are in the above readme, in case you'd like to see more advanced/realworld uses...) One of the (non-public) work projects ended up consisting of up to a dozen sub-commands and I found this declarative and modular setup to be very, very helpful (and elegant)...
Finally got around documenting a little more the small CLI app "framework" I've been using for almost a dozen projects now (incl. several work projects). The package in question is now already 3 years old (https://thi.ng/args), but I've only just managed now to add a basic, commented usage example for this `cliApp()` feature to the readme:
Defining a multi-command CLI app (incl. two sub-commands):
https://github.com/thi-ng/umbrella/blob/develop/packages/args/README.md#declarative-multi-command-cli-application
Also part of this: I've refactored a few other projects to simplify their CLI handling using this `cliApp()` wrapper (project links are in the above readme, in case you'd like to see more advanced/realworld uses...) One of the (non-public) work projects ended up consisting of up to a dozen sub-commands and I found this declarative and modular setup to be very, very helpful (and elegant)...
Yesterday I released new versions of https://thi.ng/wasm-api (and its add-on packages), a modular and extensible bridge API & toolchain for hybrid JS/TS/Zig/WebAssembly apps, now updated to be compatible with the latest Zig version 0.15.1...
The update addresses some of Zig's breaking syntax & build system changes only, nothing on the JS/TS side has changed. As a result https://thi.ng/wasm-api-dom has a slightly revised internal structure (also a breaking change, but nothing major & unavoidable). All bundled Zig examples[1] in the repo have been updated too, take a look for reference (if needed).
FYI More details about the Zig language changes here:
https://ziglang.org/download/0.15.1/release-notes.html#Language-Changes
Specifically, the removal of usingnamespace has had a major impact on the existing handling of generated types in these wasm-api support packages (or your own) and now forces an additional level of hierarchy in terms of namespacing. This is because usingnamespace enabled a form of namespace merging, which allowed the generated WASM⭤TS interop types (written to their own sourcefile) to be merged/hoisted into the main library module.
For example, previously after importing const dom = @import("wasm-api-dom"); we could refer to a type via dom.WindowInfo. Now with namespace merging removed, we have to use dom.types.WindowInfo. As I said, it's not a major departure, but a breaking change nonetheless[2]...
The build.zig file bundled with https://thi.ng/wasm-api is now also only compatible with Zig 0.15.1 (for now). Build files for older Zig versions are still included too (in the same directory)[3].
Lastly, once more for the record: The wasm-api bridge itself is NOT tied to Zig (or a particular version), however it's the main use case/language for my own WebAssembly use cases...
[1] https://github.com/thi-ng/umbrella/tree/develop/examples (all examples starting with zig-*)
[2] The existing design of these modules helped to keep these breaking changes to a minimum in userland code and these updates are all following the same uniform pattern (i.e. exposing interop types via modulename.types.TypeName...)
[3] https://github.com/thi-ng/umbrella/tree/develop/packages/wasm-api#using-the-zig-build-system
#ThingUmbrella#Zig#Ziglang#WebAssembly#WASM#TypeScript#JavaScript#Interop
Yesterday I released new versions of https://thi.ng/wasm-api (and its add-on packages), a modular and extensible bridge API & toolchain for hybrid JS/TS/Zig/WebAssembly apps, now updated to be compatible with the latest Zig version 0.15.1...
The update addresses some of Zig's breaking syntax & build system changes only, nothing on the JS/TS side has changed. As a result https://thi.ng/wasm-api-dom has a slightly revised internal structure (also a breaking change, but nothing major & unavoidable). All bundled Zig examples[1] in the repo have been updated too, take a look for reference (if needed).
FYI More details about the Zig language changes here:
https://ziglang.org/download/0.15.1/release-notes.html#Language-Changes
Specifically, the removal of usingnamespace has had a major impact on the existing handling of generated types in these wasm-api support packages (or your own) and now forces an additional level of hierarchy in terms of namespacing. This is because usingnamespace enabled a form of namespace merging, which allowed the generated WASM⭤TS interop types (written to their own sourcefile) to be merged/hoisted into the main library module.
For example, previously after importing const dom = @import("wasm-api-dom"); we could refer to a type via dom.WindowInfo. Now with namespace merging removed, we have to use dom.types.WindowInfo. As I said, it's not a major departure, but a breaking change nonetheless[2]...
The build.zig file bundled with https://thi.ng/wasm-api is now also only compatible with Zig 0.15.1 (for now). Build files for older Zig versions are still included too (in the same directory)[3].
Lastly, once more for the record: The wasm-api bridge itself is NOT tied to Zig (or a particular version), however it's the main use case/language for my own WebAssembly use cases...
[1] https://github.com/thi-ng/umbrella/tree/develop/examples (all examples starting with zig-*)
[2] The existing design of these modules helped to keep these breaking changes to a minimum in userland code and these updates are all following the same uniform pattern (i.e. exposing interop types via modulename.types.TypeName...)
[3] https://github.com/thi-ng/umbrella/tree/develop/packages/wasm-api#using-the-zig-build-system
#ThingUmbrella#Zig#Ziglang#WebAssembly#WASM#TypeScript#JavaScript#Interop
Would love to hear migration thoughts & plans (if any) from other FOSS maintainers (and sponsors!) currently using Github Sponsors. Are you planning/supporting to leave? Are you afraid you'll lose sponsors?
Personally, I'd also love to hear from my own sponsors (some of which are also here 👋). I'm considering migrating various public & still private https://thi.ng repos to @Codeberg (and plan to join as a club member), but would keep GH as passive mirror for now (updated only during new releases). Issue tracking would move to CB...
Would you support such a move? What are your own concerns? Instead of GH Sponsors, I've also started accepting donations via https://liberapay.com/thi.ng/ and the old https://www.patreon.com/thing_umbrella also still exists (though their greedy 8% fee makes it a non-preferred option)
Would love to hear migration thoughts & plans (if any) from other FOSS maintainers (and sponsors!) currently using Github Sponsors. Are you planning/supporting to leave? Are you afraid you'll lose sponsors?
Personally, I'd also love to hear from my own sponsors (some of which are also here 👋). I'm considering migrating various public & still private https://thi.ng repos to @Codeberg (and plan to join as a club member), but would keep GH as passive mirror for now (updated only during new releases). Issue tracking would move to CB...
Would you support such a move? What are your own concerns? Instead of GH Sponsors, I've also started accepting donations via https://liberapay.com/thi.ng/ and the old https://www.patreon.com/thing_umbrella also still exists (though their greedy 8% fee makes it a non-preferred option)
A space for Bonfire maintainers and contributors to communicate