zeitwerk
haxe
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.
zeitwerk
-
Enhancing development with REPLs - A practical guide
To setup it's pretty simple, you just need to create a file inside bin/console and require all the files you want to use on a REPL, most of the times we use gems like zeitwerk to provide the auto requiring, but if you want to do it manually, refer to the example below:
-
Performance e elegância! Escrevendo uma CLI CRUD utilizando ScyllaDB e Ruby
zeitwerk
-
How to Load Code in Ruby
Zeitwerk takes a directory and makes every file underneath it available to load. The convention is that every new sub-directory is a new module, and every file defines a class with the same name as the file.
-
To Ruby from Python
There is a gem that does that used by Rails and multiple other gems:
https://github.com/fxn/zeitwerk
It is pretty easy to set it up in any Ruby project.
-
PHP – The Right Way
I actually prefer auto-loading, which lets you iterate through a package manager much easier/faster - PHP iterated through PSR-0[0] before landing on PSR-4[1], and you can always build your own (which is what most frameworks pre-composer were doing).
With Rails 7 and Zeitwerk, the Ruby community has landed on a very similar auto-loading system as PHP now[2] with constants translating to paths by convention.
[0]: https://github.com/php-fig/fig-standards/blob/master/accepte...
[1]: https://www.php-fig.org/psr/psr-4/
[2]: https://github.com/fxn/zeitwerk#the-idea-file-paths-match-co...
-
One Class/Module per File Rules - Working With Nested Modules
If you're working on non-Rails apps and need to deal with loading code, zeitwerk can be used anywhere, unlike the old Rails autoloader. It's also really easy to set up.
-
Move models, views and controllers to non-standard folders
https://github.com/fxn/zeitwerk#collapsing-directories
-
Code Loaders in Ruby: Understanding Zeitwerk
Zeitwerk
-
Ruby on Rails + Auth0: Authenticating your API with an external authentication service
With a few modifications in the gem source code, we could easily integrate Auth0 into our Rails API, but that on Rails 5. Rails 6 brought Zeitwerk code loader together, which makes it harder to perform the alterations suggested in my previous post.
haxe
-
Wax compiler – a tiny language designed to transpile to other languages
This remineds me of Haxe[1]. I like Wax better because of the Common-Lisp-like syntax.
[1]: https://haxe.org
-
Marimo: Interactive Fluffy Ball
I thought this was a three.js demo but it's actually built with a language called haxe [1]. I've never heard of this language before and looks really cool. Makes me want to play with it!
[1] https://haxe.org/
- Haxe 4.3.4
- Ask HN: Does anyone here use Haxe?
-
Ask HN: What are some unpopular technologies you wish people knew more about?
The Haxe programming language (https://haxe.org/). It's insane how unpopular this is compared to its value.
"Haxe can build cross-platform applications targeting JavaScript, C++, C#, Java, JVM, Python, Lua, PHP, Flash, and allows access to each platform's native capabilities. Haxe has its own VMs (HashLink and NekoVM) but can also run in interpreted mode."
It's mostly popular in game dev circles, and is used by: Nortgard, Dead Cells, Papers Please, ... .
-
One Game, by One Man, on Six Platforms: The Good, the Bad and the Ugly
For those interested in cross platform game development, don't forget https://haxe.org/! The usefulness / popularity ratio is very high on this one :).
- Flash Museum – explore more than 130k flash games and animations
-
Is this idea worth pursuing? (a common grammar interface for various interpreted languages written in C)
Sounds like haxe: https://haxe.org/
-
TC39 Proposal: Types as Comments
I really enjoyed programming in AS3, and https://haxe.org/ was really helpful at the time to make development easier.
-
TIL: "private_constant"
Been tinkering in the Haxe programming language recently. I definitely suggest checking it out, but one thing I liked was private constants. I know other languages have this, but its where I've encountered it most recently.
What are some alternatives?
jets - Ruby on Jets [Moved to: https://github.com/rubyonjets/jets]
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
JWT - A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard.
eso-light-attack-weave - This is a macro for the game Elder Scrolls Online
Karafka - Ruby and Rails efficient multithreaded Kafka processing framework
Phaser - Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering. [Moved to: https://github.com/phaserjs/phaser]
unholy - a ruby-to-pyc compiler
fut - Fusion programming language. Transpiling to C, C++, C#, D, Java, JavaScript, Python, Swift, TypeScript and OpenCL C.
dry-system - Application framework with state management and built-in dependency injection support
Fable: F# |> BABEL - F# to JavaScript, TypeScript, Python, Rust and Dart Compiler
unholy - a ruby-to-pyc compiler - _why mirror
love - LÖVE is an awesome 2D game framework for Lua.