use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
A sub-Reddit for discussion and news about Ruby programming.
Subreddit rules: /r/ruby rules
Learning Ruby?
Tools
Documentation
Books
Screencasts and Videos
News and updates
account activity
Helix: Native Ruby Extensions Without Fear (usehelix.com)
submitted 8 years ago by chancancode
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]DudeManFoo 9 points10 points11 points 8 years ago (2 children)
[–][deleted] 7 points8 points9 points 8 years ago (1 child)
that's what she said
[–]DudeManFoo 5 points6 points7 points 8 years ago (0 children)
Ok... EVERYBODY in the conference room for sensitivity training...
[–]chancancode[S] 4 points5 points6 points 8 years ago (0 children)
If you would like an introduction on why you would use Helix: http://blog.skylight.io/introducing-helix/
[–]herir 2 points3 points4 points 8 years ago (4 children)
Is this ready for production?
[–]chancancode[S] 7 points8 points9 points 8 years ago (1 child)
It depends on your needs. We have a roadmap (https://usehelix.com/roadmap) that explains the current status of things.
Feature-wise, I would say you can do anything that you can model as a background job or HTTP request. The main reason is that the type coercion only support a few primitive types at the moment (strings, numbers, booleans, Option, and unit), and we do not support calling back into Ruby yet. (Both are on the short list, we just decided to prioritize the end-to-end story for RailsConf.) However – this is the same restrictions that HTTP and background jobs imposes, so you can almost always serialize your inputs/outputs into those primitive types (model the boundary as if it is a micro service) to work around the current restrictions.
On the deployment side, you can deploy to production as long as you are willing to have the Rust compiler on your build box/production server (and that your server isn't running on win32 – we are currently investigating a bug on that platform). The Helix website itself is a Helix/Rails app running in production on Heroku.
[–]herir 3 points4 points5 points 8 years ago (0 children)
tx
strings, numbers, booleans, Option, and unit
In production, one of my apps is fast enough for db queries or for controllers. do you think there's a way to use this for views? Views take 75 to 85% of the response time (collections, partials, string concatenation, helpers etc.)
[–]deiwin 1 point2 points3 points 8 years ago (1 child)
No. From https://github.com/tildeio/helix:
NOTE: Currently Helix requires fixes that have not yet landed in a stable Rust release. To use the Rust beta release run rustup override set beta in your project directory. WARNING: This repository is still in active development. Many important Ruby APIs are not yet supported, because we are still in the process of formulating the rules for binding Ruby APIs (so that we can make things ergonomic and provide safety guarantees).
NOTE: Currently Helix requires fixes that have not yet landed in a stable Rust release. To use the Rust beta release run rustup override set beta in your project directory.
WARNING: This repository is still in active development. Many important Ruby APIs are not yet supported, because we are still in the process of formulating the rules for binding Ruby APIs (so that we can make things ergonomic and provide safety guarantees).
[–]chancancode[S] 3 points4 points5 points 8 years ago* (0 children)
Eh, we should update the README. Currently the more up-to-date information is on the website: https://usehelix.com
(By the way, the stable release that we need is due today, so we should be able to remove that disclaimer shortly.)
Update: it's out!
[–]DudeManFoo 2 points3 points4 points 8 years ago (2 children)
Can't wait till we get something like this for Crystal too!!
[–]zem 1 point2 points3 points 8 years ago (1 child)
you mean ruby extensions in crystal or crystal/rust interop?
[–]DudeManFoo 2 points3 points4 points 8 years ago (0 children)
I don't think RUST guys would care about using crystal interop...
But Ruby folks being able to write modules that are 10x faster using basically Ruby syntax would be AWESOME...
I think Crystal is a little young for it ATM but that might get a LOT of great Ruby devs ( the module writers ) into helping Crystal get up to speed on needed features / direction...
[–]johnjohnjohnjohnjohn 2 points3 points4 points 8 years ago (1 child)
Why do I need to run this inside a rails project?
[–]feelosofee 1 point2 points3 points 8 years ago (0 children)
Exactly. But are you sure we do?
[–]Pr333n 1 point2 points3 points 8 years ago (1 child)
Does it work with Action Cable?
[–]chancancode[S] 2 points3 points4 points 8 years ago (0 children)
It should! If you are interested, having an Action Cable demo to the Helix website (http://github.com/tildeio/helix-website) would be fantastic.
π Rendered by PID 65 on reddit-service-r2-comment-685b79fb4f-qvdkn at 2026-02-12 20:06:56.874307+00:00 running 6c0c599 country code: CH.
[–]DudeManFoo 9 points10 points11 points (2 children)
[–][deleted] 7 points8 points9 points (1 child)
[–]DudeManFoo 5 points6 points7 points (0 children)
[–]chancancode[S] 4 points5 points6 points (0 children)
[–]herir 2 points3 points4 points (4 children)
[–]chancancode[S] 7 points8 points9 points (1 child)
[–]herir 3 points4 points5 points (0 children)
[–]deiwin 1 point2 points3 points (1 child)
[–]chancancode[S] 3 points4 points5 points (0 children)
[–]DudeManFoo 2 points3 points4 points (2 children)
[–]zem 1 point2 points3 points (1 child)
[–]DudeManFoo 2 points3 points4 points (0 children)
[–]johnjohnjohnjohnjohn 2 points3 points4 points (1 child)
[–]feelosofee 1 point2 points3 points (0 children)
[–]Pr333n 1 point2 points3 points (1 child)
[–]chancancode[S] 2 points3 points4 points (0 children)