theBeamBook
framework
theBeamBook | framework | |
---|---|---|
7 | 21 | |
3,044 | 126 | |
- | 1.6% | |
5.8 | 7.9 | |
about 1 month ago | 5 days ago | |
Erlang | Ruby | |
Creative Commons Attribution 4.0 | GNU Affero General Public License v3.0 |
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.
theBeamBook
- Ask HN: Programming Courses for Experienced Coders?
-
Erlang/OTP: Garbage Collector
It's my understanding the state of the art in observing JVM-based applications is a combination of using thread dumps, gc logs, thread activity visualizations. Thread dumps give us a snapshot of the the name of the thread, its current running state (waiting, blocked, etc), and the stacktrace of the work its currently doing. GC logs give you a record of when and how much garbage was collected and Thread activity visualizations show you the timeline of thread moving between different running states.
The BEAM gives you the ability to see the bottlenecks in your system, via the REPL (in real time!)
It has world-class introspection built in that gives you the power to observe and manipulate your running application through a REPL.
The BEAM has hundreds of features like this, because the BEAM is more of an OS than and VM.
I get it, you're a JVM expert, but the BEAM is more than a check list of optimizations that on paper the JVM can do.
I strongly suggest, before the next time you comment on an BEAM VM vs.JVM debate, please consider watching https://www.youtube.com/watch?v=JvBT4XBdoUE, "The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019"
and reading https://github.com/happi/theBeamBook " an attempt to document the internals of the Erlang runtime system and the Erlang virtual machine known as the BEAM."
Best of luck!
-
Lunatic is an Erlang-inspired runtime for WebAssembly
it does. values are immutable in the BEAM, not at language level.
The impact of bugs is minimized by compartmentalization. This is done from the lowest level where each data structure is separate and immutable [1]
But you can simulate mutability with stateful processes.
Directly from Joe Armstrong: https://joearms.github.io/published/2013-11-21-My-favorite-e...
[1] https://github.com/happi/theBeamBook/blob/3971e8e2d09e367670...
-
Log 2022-10-19
theBeamBook repo
-
Will project loom make java concurrency comparable to erlang's?
On a side-note, if you're really interested in grokking the BEAM itself, https://github.com/happi/theBeamBook is a very good resource that delves deeper into the internal working of BEAM. Regardless of whether you use it, it's a fun read!
-
How are processes scheduled
Check the https://github.com/happi/theBeamBook/blob/master/chapters/scheduling.asciidoc
-
What is your opinion on Ada? Have you used it for embedded development? When did you use it?
Did you find this? As far as I know, it is the best resource: https://github.com/happi/theBeamBook
framework
-
RubyJS-Vite
I'm working on a framework inspired by React/Next.js which turns Haml into Ruby. It's 100% server side, but it runs pretty fast. I'm currently working on a rewrite, I just wish I had more time to work on it.
https://github.com/mayu-live/framework
https://mayu.live/
-
Ask HN: Show me your half baked project
Mayu, a server side web framework written in Ruby, inspired by React. Been working on it for over a year, and I'm currently doing a complete rewrite now that I have a better idea of how it should work.
https://github.com/mayu-live/framework
-
Why Ruby on Rails Needs Components
Mayu Live[1] has components, it works kinda like React. I have been thinking about making rdom[2] work with Rails but I got a memory leak to fix first. It's possible to do all this in Ruby though.
1. https://github.com/mayu-live/framework
2. https://github.com/aalin/rdom
-
Is there Ruby LiveView Framework?
Thanks, yes mayu.live is a close thing, but I looked at its examples, it's overcomplicated, if done a bit differently, the counter code it shows as example would be 3 times shorter. Nice experiment, same principle as LiveView, but not quite there.
- Mayu: Live-streaming server-side component-based VDOM framework written in Ruby
- Mayu is a live-streaming server-side component-based rendering framework in Ruby
- Mayu: Live-streaming server-side component-base VDOM rendering framework in Ruby
- mayu-live/framework: Mayu is a live-streaming server-side component-based VDOM rendering framework written in Ruby
- Show HN: Mayu Live, a reactive web framework written in Ruby
-
The Web I Want
I've been working on a React-inspired framework in Ruby [1,2]. It only requires a few kilobytes of JavaScript, and only includes the relevant stylesheets for each page. Works pretty well and I guess I'm in a rural area (about 90 minutes down the river from Iquitos, Peru) on a 4G connection.
I recently did another experiment [3] where each static DOM tree becomes a custom element, which also reduces the amount of data that needs to be transferred.
I should probably make a Show HN post soon...
1. https://github.com/mayu-live/framework
2. https://mayu.live/
3. https://github.com/aalin/rdom
What are some alternatives?
chat - A telnet chat server
kons-9 - Common Lisp 3D Graphics Project
yjs-sqlite-test - Test combining yjs and sqlite wasm
rdom - Server side reactive DOM updates in Ruby
overworld - Open source framework for scalable multiplayer games.
anvil-runtime - The runtime engine for hosting Anvil web apps
rascal - RAnsac Assisted Spectral CALibration
Vapor - 💧 A server-side Swift HTTP web framework.
Django - The Web framework for perfectionists with deadlines.
codebase-visualizer-action - Visualize your codebase during CI.
zillion - Make sense of it all. Semantic data modeling and analytics with a sprinkle of AI. https://totalhack.github.io/zillion/
elide - elide: verb. to omit (a sound or syllable) when speaking. to join together; to merge.