Some of them are definitely more "historic" than others.
For instance, #2 (<table>-based layouts) definitely shaped much of early-to-mid-2000s web design, and can be viewed as a precursor to flexbox/other modern layout engines.
Same with sIFR -- custom webfonts are totally taken for granted today largely because of "hacks" like this.
“Discipline” is one of those albums that totally changed the way I thought about music.
When I was a kid I was really into classic prog rock (i.e. Yes, Genesis, ELP, etc.) and was mesmerized by Bill Bruford’s playing and technique on “Close to the Edge”, which led me to this incarnation of King Crimson.
One song in particular that really stuck out to me was “Thela Hun Ginjeet”, which includes a recording of Adrian Belew recounting an experience being heckled on the street, but until I read the Wikipedia page for the album I had no idea it was secretly recorded by Fripp and wasn’t scripted (including the maniacal laugh at the end). It blew my mind that they were able to create this soundscape that turned a recording of a totally sane Belew into what I thought was a paranoid schizophrenic.
Each song on the album stands on its own, and it’s probably my favorite in King Crimson’s discography.
I wrote a reddit post[0] about why Oni takes so much space to build, but the TLDR is that we build a bunch of native libraries from scratch on a fresh build, namely Skia.
I would like to note that we don’t maintain/support/promote the Oni package on AUR. Builds from scratch are mostly for “trial” or contribution purposes. We do try to help with build issues in the Discord, though!
I would also disagree with the idea that a light and fast program must be easy/quick to build. C++ is notorious for having huge resource/time requirements to compile, but the end result (assuming good code) can be faster than some C code! Consequently, it takes relatively little time to spin up a node interpreter but the resulting program is orders of magnitude slower.
Oni is written in OCaml, so naturally it requires the OCaml compiler to build. Those NPM packages aren’t JS — we just leverage the existing NPM ecosystem for our native code.
We do recognize that building from scratch is not ideal, which is why we provide prebuilt binaries for purchase. I can’t give an exact timeline, but we’ve discussed publishing public trial builds probably before the end of the year, which further reduces the need to build from scratch.
Feel free to ask any other questions in the Discord!
Yeah the UI is completely custom built using Revery (a custom-built Electron alternative). Similarities to VSCode are just a result of it being the main inspiration. I would say Sublime also has a large influence on our design, i.e. in the minimap
I think Oni is in a hard place where it’s the primary source of income for Outrun Labs. Oni is open source in two senses
- the source is available online (technically doesn’t meet some definitions of open source, but the source is open)
- we MIT commits after 18 months.
In terms of contributors retaining rights to the product, we do have a bug bounty program where if you fix a bug with a PR, you get a license for free. Not quite what you mean I’m sure, but it’s essentially payment for contributions.
We definitely aren’t deliberately trying to undermine the OSD. The reality of open source software at the moment is that most of it is either created or sponsored by large companies who have a ton of money to throw at it. We are trying a new model of making money from open source software to allow us (well, Bryan) to work on Oni full time. We’re definitely open to suggestions, though!
Unfortunately none of the main contributors are designers. I think we end up with a very VSCode-similar look because in terms of UX that’s our main inspiration. We do diverge in some areas, though.
Debug functionality is on our radar and it will hopefully be in relatively soon!
I’ve actually been working on adding more support for native widgets in Revery, mostly focusing on macOS since thats my daily OS, but Windows too. You can now use native buttons and menus, and I’m looking into adding other native inputs (like text fields).
I assume by FOMO you mean the increased license price as time goes on, but as far as I understand (that decision was made before me), the idea is that the product becomes more valuable over time as a result of more features being added. You can still buy a one time license as of right now.
As far as abandonment is concerned, I can let you know that hasn’t been discussed. Bryan recently went on his first vacation since working on Oni, but work has resumed since he returned.
Feel free to let me know if you have any other questions — the Discord is always open!
Hey, Onivim contributor here. Sorry to hear about that syntax highlighting bug! It’s something we’ve received a lot of feedback on, and I know bryphe is planning on dedicating more resources to syntax highlighting fixes in the next couple of months. If you haven’t already, feel free to open an issue on GitHub (or comment on one that’s similar)! It helps us put our finger on where the editor falls short for people.
Hey, Onivim contributor here. Thanks for the feedback! I will mention that syntax highlighting fixes are something we’re gonna be focusing on in the coming weeks/months so if you haven’t already, feel free to file an issue on GitHub (or comment on one that looks similar)!
Because our political ideals don't operate that way. It's the same as there being a myriad of Chinese companies listed on US stock exchanges, but few (if any) American companies being listed on Chinese exchanges because they forbid it.
Not quite sure how this is going to be successful. Uber and Lyft already hemorage cash on ride-share -- how is a co-op whose workers can (and most likely will) vote to increase wages able to not only compete but make money?
I tend to find lldb a lot easier to use for the same reasons. There isnt a 1:1 mapping of gdb commands to lldb but the cheatsheet really helps and it doesn’t take that long to get a hang of it.
After that, I would recommend the new (beta) version of Real World OCaml — it gets a lot more in depth about more advanced language features: https://dev.realworldocaml.org/toc.html
If you think of ReasonML as a separate language (as I find it all too often is described), then it doesn't provide any extra value. However, as someone who is a contributor to Revery, a fairly large Reason project, the benefits of using Reason over OCaml are:
- JSX. OCaml has infamously never had a great UI lib, even though the language parallels with many of the functional paradigms popularized by React. JSX is a great medium to bridge that gap.
- The syntax itself. A lot of the contributors to Revery have no OCaml background, but rather JS since it's often billed as an Electron alternative. Reason's familiar syntax opens the door to many people who would be turned off by OCaml's "obscure" (not my actual thoughts) syntax.
- The tooling. Since it's just an alternative syntax for OCaml, you get all the OCaml tooling for free, plus the Reason-specific tooling. I'm a huge fan of refmt, which is a tool that parses and formats Reason source files. Sure other langs have close-ish equivalents (i.e. clang-format), but refmt is much more opinionated, meaning you never have to worry about intricacies with your formatting.
Belt isn't a standard library for Reason, it's a standard library for Bucklescript that has specific optimizations since it knows it's going to be compiled to JS. Reason uses the same Pervasives/Stdlib as OCaml.
For instance, #2 (<table>-based layouts) definitely shaped much of early-to-mid-2000s web design, and can be viewed as a precursor to flexbox/other modern layout engines.
Same with sIFR -- custom webfonts are totally taken for granted today largely because of "hacks" like this.