⚡ Extremely fast online playground for every programming language.

Overview

Riju

Riju is a very fast online playground for every programming language. In less than a second, you can start playing with a Python interpreter or compiling INTERCAL code.

Check it out at https://riju.codes!

Service uptime available at https://riju.statuspage.io/.

Is it free?

Riju will always be free for everyone. I pay for the hosting costs myself.

A number of people have asked me if they can donate to help keep Riju online. In response, I have set up a few methods, which you can see in the "Sponsor this project" sidebar on GitHub. All donations will be used solely to cover hosting costs, and any surplus will be donated to the Electronic Frontier Foundation.

Is it safe?

Riju does not collect your personal information.

  • Your code is deleted from the server as soon as you close Riju.
  • Your terminal input and output is never saved or logged anywhere.
  • Riju uses Fathom Analytics to measure traffic. Fathom collects very limited data and does not sell it to third parties, unlike Google Analytics.
  • Riju does not serve advertisements or share data with any third party aside from Fathom Analytics.

All of the above notwithstanding, any service that allows people to run code online is inherently risky. For this reason, I can't make any guarantees about the security or privacy of your data.

See also Reporting a security issue.

Are there rules?

Yes, there is one rule and it is "please be nice". Examples of not being nice include:

  • Trying to consume as many resources as possible. All this will do is prevent others from using Riju, which isn't nice.
  • Mining cryptocurrency. Since hosting Riju comes out of my paycheck, this is exactly equivalent to stealing, which isn't nice.

Can I help?

Absolutely, please see Contributing guide.

Similar projects

Acknowledgements

  • A big thank you to Mike Diarmid of Invertase for being an early sponsor of the project and helping out with hosting costs! Thanks to Mike's generous support I have the runway to get Riju stable enough for everyone to use.
  • Thank you to the maintainers of Monaco, node-pty, and Xterm.js! Without any one of these open-source libraries, version 1.0 of Riju could not have come to life!
Comments
  • Riju frontend enhancement

    Riju frontend enhancement

    Hi, @raxod502 congrats on bringing Riju live again. I have spent a day recreating the Riju front end. Here is the demo URL. https://inaseem.gitlab.io/riju

    Improvements:

    1. Redesign the Home page
    2. Redesign the Editor and Terminal page.
    3. Added Search as scrolling to find a language option to click is a little tedious.
    4. Added colors to terminal output.

    Additional: (can be implemented/partially implemented)

    1. Dark mode (turned off by default as this needs some more changes)
    2. Editor and Terminal layouts.

    Note: Clicking/selecting any language would open the JavaScript editor and terminal. It requires languages list from backend so for now its fixed for JavaScript. Also the option to switch language dropdown needs data so that is also on hold.

    Screenshots: Home page image

    Search image

    Editor page image

    Looking forward to hearing from you.

    opened by inaseem 27
  • Add Claro to Riju!

    Add Claro to Riju!

    Claro is my hobby language that I started working on around the very beginning of 2021. Check out the repo at clarolang.com. I provide both a compiled and an interpreted version, so there's a REPL out of the box as well. As such, I'm able to make full use of Riju and I'm extremely excited to get Claro merged and hosted to celebrate 1 year of working on this passion project!

    Claro supports things like functions, loops, conditionals and variables. It also supports static type inference and strictly enforces typing constraints. Claro, however is missing a ton of functionality as it's very much a work in progress. Here's hoping that Riju's happy to be a place to host languages that are currently in development as I have many plans for this language and hope for Riju to be its home as I continue to enhance it over the coming months and years :).

    opened by JasonSteving99 10
  • Bug with terminal

    Bug with terminal

    image I think sending and recieving each character base64-encoded, similar to how I do it with https://github.com/hello-smile6/libv86-terminal-forwarding/ , might fix it.

    opened by hello-smile6 7
  • Some containers are still not cleaned up

    Some containers are still not cleaned up

    Got paged for this at 2am -_-

    image image

    Aside from someone opening a number of tabs at once, the main problem with memory usage seems like it's come from containers not being cleaned up:

    2021-09-15T08:23:18.403833694Z Sep 15 08:23:18 [85de97f2dcc74cacae79f3ac3e04bd2a] Creating session, language false
    2021-09-15T08:23:19.905523390Z Sep 15 08:23:19 [85de97f2dcc74cacae79f3ac3e04bd2a] Tearing down session
    2021-09-15T08:23:24.079569326Z Sep 15 08:23:24 [522c2a8d7d8b44239e4de2ee9689b75c] Creating session, language fish
    2021-09-15T08:23:25.591740114Z Sep 15 08:23:25 [522c2a8d7d8b44239e4de2ee9689b75c] Tearing down session
    2021-09-15T08:23:30.114268035Z Sep 15 08:23:30 [83a3f602aad94f4399b3b9ab08579a75] Creating session, language groovy
    2021-09-15T08:23:31.588653754Z Sep 15 08:23:31 [83a3f602aad94f4399b3b9ab08579a75] Tearing down session
    2021-09-15T08:23:34.474230653Z Sep 15 08:23:34 [378ee89bb6a042c691d5f89b120bfcc7] Creating session, language gap
    2021-09-15T08:23:38.504119850Z Sep 15 08:23:38 [6e75aaee8d9e47e8b6bd13af09dd8580] Creating session, language fortran
    2021-09-15T08:23:41.905103286Z Sep 15 08:23:41 [6e75aaee8d9e47e8b6bd13af09dd8580] Tearing down session
    2021-09-15T08:23:55.709381625Z Sep 15 08:23:55 [d40738ba57094c37a8ca4640762ab7bd] Creating session, language cobol
    2021-09-15T08:24:01.871654385Z Sep 15 08:24:01 [d40738ba57094c37a8ca4640762ab7bd] Tearing down session
    2021-09-15T08:24:12.020033345Z Sep 15 08:24:12 [26b49ad05ba54b15a69c8c32a95d9eee] Creating session, language antecards
    2021-09-15T08:24:15.227850670Z Sep 15 08:24:15 [26b49ad05ba54b15a69c8c32a95d9eee] Tearing down session
    2021-09-15T08:24:20.060560376Z Sep 15 08:24:20 [9b4a8e0902a446899249a2f2fca10740] Creating session, language algol
    2021-09-15T08:24:23.348434054Z Sep 15 08:24:23 [9b4a8e0902a446899249a2f2fca10740] Tearing down session
    2021-09-15T08:24:26.802293359Z Sep 15 08:24:26 [e565af45b4dc40aeb6f1dd85aa668da0] Creating session, language afnix
    2021-09-15T08:24:28.020948526Z Sep 15 08:24:28 [e565af45b4dc40aeb6f1dd85aa668da0] Tearing down session
    2021-09-15T08:24:32.426413903Z Sep 15 08:24:32 [984364aefae544d4abeb020799808932] Creating session, language ante
    2021-09-15T08:24:47.257043958Z Sep 15 08:24:47 [39d1a60d584842b3bb822df95d8b475d] Creating session, language gel
    2021-09-15T08:24:51.492574248Z Sep 15 08:24:51 [9accf17faf7946c2b855ce60c29079f4] Creating session, language gdb
    2021-09-15T08:24:52.557775904Z Sep 15 08:24:52 [9accf17faf7946c2b855ce60c29079f4] Tearing down session
    2021-09-15T08:24:54.659807132Z Sep 15 08:24:54 [6ac1b0492baa4b7cb4f053c91b289b05] Creating session, language gap
    2021-09-15T08:24:57.705151112Z Sep 15 08:24:57 [39105a7f0cd84cdbbe7ba5ab714601fd] Creating session, language gambas
    2021-09-15T08:25:01.579222292Z Sep 15 08:25:01 [a54935d1326f45a09aaeb15f61e716c8] Creating session, language hack
    2021-09-15T08:25:10.613626576Z Sep 15 08:25:10 [a54935d1326f45a09aaeb15f61e716c8] Tearing down session
    2021-09-15T08:25:18.770395630Z Sep 15 08:25:18 [4ba129adc8dd4296ba725574fe626be9] Creating session, language haxe
    2021-09-15T08:25:20.374993434Z Sep 15 08:25:20 Error: WebSocket is not open: readyState 2 (CLOSING)
    2021-09-15T08:25:20.376462210Z Sep 15 08:25:20     at WebSocket.send (/src/node_modules/ws/lib/websocket.js:314:19)
    2021-09-15T08:25:20.376477081Z Sep 15 08:25:20     at Session.send (file:///src/backend/api.js:166:15)
    2021-09-15T08:25:20.376481463Z Sep 15 08:25:20     at ChildProcess.<anonymous> (file:///src/backend/api.js:330:16)
    2021-09-15T08:25:20.376485493Z Sep 15 08:25:20     at ChildProcess.emit (node:events:394:28)
    2021-09-15T08:25:20.376493228Z Sep 15 08:25:20     at ChildProcess.emit (node:domain:470:12)
    2021-09-15T08:25:20.376496687Z Sep 15 08:25:20     at maybeClose (node:internal/child_process:1067:16)
    2021-09-15T08:25:20.376500135Z Sep 15 08:25:20     at Socket.<anonymous> (node:internal/child_process:453:11)
    2021-09-15T08:25:20.376510693Z Sep 15 08:25:20     at Socket.emit (node:events:394:28)
    2021-09-15T08:25:20.376513729Z Sep 15 08:25:20     at Socket.emit (node:domain:470:12)
    2021-09-15T08:25:20.376516444Z Sep 15 08:25:20     at Pipe.<anonymous> (node:net:662:12)
    2021-09-15T08:25:20.417840106Z Sep 15 08:25:20 [4ba129adc8dd4296ba725574fe626be9] Tearing down session
    2021-09-15T08:25:33.627040524Z Sep 15 08:25:33 [c8fb31e756754dcdaa210053a4937c3b] Creating session, language io
    2021-09-15T08:29:10.851786621Z Sep 15 08:29:10 [f2b3f2e7954d46ec81c6a0ae3ed57517] Creating session, language less
    2021-09-15T08:29:21.531177179Z Sep 15 08:29:21 [bb881a11c94043ec8079a09bf72b49c9] Creating session, language nelua
    2021-09-15T08:31:03.384472898Z Sep 15 08:31:03 [bb881a11c94043ec8079a09bf72b49c9] Tearing down session
    2021-09-15T08:31:04.464174473Z Sep 15 08:31:04 [00a485a8a2574d53b79f057d10646e0e] Creating session, language nelua
    2021-09-15T08:32:47.187915024Z Sep 15 08:32:47 [00a485a8a2574d53b79f057d10646e0e] Tearing down session
    2021-09-15T08:32:48.487120762Z Sep 15 08:32:48 [755e3a6f8ca443a2bc0ba9323e38cf52] Creating session, language nelua
    2021-09-15T08:37:42.242107789Z Sep 15 08:37:42 [755e3a6f8ca443a2bc0ba9323e38cf52] Tearing down session
    
    admin@ip-172-31-5-254:~$ sudo docker ps
    CONTAINER ID   IMAGE                                                           COMMAND                  CREATED          STATUS          PORTS                                NAMES
    831c5494b0a3   riju:lang-less-020ed29996e38a16cd5a29bd7aa0d444a29cb1d9         "/usr/local/sbin/my_…"   25 minutes ago   Up 25 minutes                                        riju-session-f2b3f2e7954d46ec81c6a0ae3ed57517
    4aad599413df   riju:lang-io-986826bb00ad502b44d97e88292096e22ee5b4c5           "/usr/local/sbin/my_…"   28 minutes ago   Up 28 minutes                                        riju-session-c8fb31e756754dcdaa210053a4937c3b
    080021d0c007   riju:lang-gambas-722b47c0304dd37b6d3433830b3c04220ca73eab       "/usr/local/sbin/my_…"   29 minutes ago   Up 29 minutes                                        riju-session-39105a7f0cd84cdbbe7ba5ab714601fd
    b7b038346383   riju:lang-gap-4975f73761f8fa881390194f4f5086601cb6909c          "/usr/local/sbin/my_…"   29 minutes ago   Up 29 minutes                                        riju-session-6ac1b0492baa4b7cb4f053c91b289b05
    648fef306d44   riju:lang-gel-0488e207128b9549196226a8d161b0945947e4f5          "/usr/local/sbin/my_…"   29 minutes ago   Up 29 minutes                                        riju-session-39d1a60d584842b3bb822df95d8b475d
    060f124e1a5a   riju:lang-ante-d3131f5d8969dee5b1bc1387f896699cb291db4c         "/usr/local/sbin/my_…"   29 minutes ago   Up 29 minutes                                        riju-session-984364aefae544d4abeb020799808932
    da0a4f91d0e6   riju:lang-gap-4975f73761f8fa881390194f4f5086601cb6909c          "/usr/local/sbin/my_…"   30 minutes ago   Up 30 minutes                                        riju-session-378ee89bb6a042c691d5f89b120bfcc7
    4b29d77a3adf   riju:lang-carp-d4a04d4eba9611f9cbd84b1c50e363b6a7a8a1cc         "/usr/local/sbin/my_…"   33 minutes ago   Up 33 minutes                                        riju-session-7b63c6092c164ea0bae3c2f8e4c78098
    95ee4cc847b0   riju:lang-j-7c38ef5c7f44c3c561b7e96c870c6242683dad50            "/usr/local/sbin/my_…"   34 minutes ago   Up 34 minutes                                        riju-session-98b0714858824b58b254bc0880efb6b2
    bfc2b8fc6ff5   riju:lang-kotlin-d1b5c52d0197281ef7e08f388cef7b62da501ed6       "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-9fb83bfc31744e0eac7a27781b16b359
    cd08aa6fcb24   riju:lang-javascript-9bb992b670ea091d03e52d1f758a8f76c90059b5   "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-8ca8a814872540f29c25f6029b7d4c4e
    365f21b105ce   riju:lang-javascript-9bb992b670ea091d03e52d1f758a8f76c90059b5   "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-041a796ad8f24d3aa57a0fd8d46bedb4
    7e86af5eae15   riju:lang-javascript-9bb992b670ea091d03e52d1f758a8f76c90059b5   "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-7004628ec6484ea19040173b38307737
    8c870ecf43e1   riju:lang-lua-435c8d7589bb82b7e5fbaa73df24282ed952c5c9          "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-104a89fadaeb4f839f5be4fbdf9c5a2b
    893c835fc3e1   riju:lang-kotlin-d1b5c52d0197281ef7e08f388cef7b62da501ed6       "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-c8fcd1b63e5d4275accccfcdd7304fa4
    9928c65edee3   riju:lang-javascript-9bb992b670ea091d03e52d1f758a8f76c90059b5   "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-50defd6571e140fa943d53c1802baaf1
    7ce4d6222100   riju:lang-javascript-9bb992b670ea091d03e52d1f758a8f76c90059b5   "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-a9ee98a290af44eab810852bcbfd98b9
    14d705421978   riju:lang-lua-435c8d7589bb82b7e5fbaa73df24282ed952c5c9          "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-f70aa4104990452ba39207b1028597ce
    dacc30edd141   riju:lang-javascript-9bb992b670ea091d03e52d1f758a8f76c90059b5   "/usr/local/sbin/my_…"   23 hours ago     Up 23 hours                                          riju-session-b9389a4518844562a2680b81de93575c
    8a6319cf8558   riju:app-deeff5850afa3abb61363d6627af99312035129c               "/usr/local/sbin/my_…"   2 weeks ago      Up 2 weeks      6120/tcp, 127.0.0.1:6230->6119/tcp   riju-app-green
    475ac022fe74   riju:lang-python-9791918a7b8fa220cdc395fded5935ba7095932f       "/usr/local/sbin/my_…"   2 weeks ago      Up 2 weeks                                           riju-session-4a31366839194646b0833d865488e905
    

    I captured the full container logs for later analysis since they don't seem to be being shipped to Loki (https://github.com/raxod502/riju/issues/98), killed the rogue containers, and failed over the server process using the supervisor API.

    sev panic resource leak 
    opened by raxod502 5
  • add jbang

    add jbang

    This adds a jbang language but it would make more sense this was used by java to enable use of dependencies.

    i.e. you can run this java code with this:

    ///usr/bin/env jbang "$0" "$@" ; exit $?
    //DEPS com.github.lalyos:jfiglet:0.0.8
    
    import com.github.lalyos.jfiglet.FigletFont;
    
    class hello {
    
        public static void main(String... args) throws Exception {
            System.out.println(FigletFont.convertOneLine(
                   "Hello " + ((args.length>0)?args[0]:"jbang")));  ;;
        }
    }
    

    Notice the //DEPS line that is picked up by jbang to build and run with that dependency.

    I did try add install steps under manual but for some reason java is not available within that making it difficult to install jbang using jbang itself.

    Is there a way to have java available in the manual section ?

    Otherwise I'll need to add more manual steps to install jbang.

    opened by maxandersen 4
  • Questions about self-hosting outside AWS

    Questions about self-hosting outside AWS

    Hi; I wanted to build riju locally, to test it (and it is my second time), to in the future host it myself but I don't wanna host it on AWS and rather do it on a VPS I'm already using.

    I have two questions:

    1. I have failed to build riju for the second time, and I'm not sure what I'm doing wrong whilst following the docs.

    I have cloned the repo and ran make shell I=admin which gives me a root shell but I can't run latter commands inside it as it just returns me a make: *** No rule to make target '<make's arg>'. Stop. I've tried running make tmux outside of this shell, and it seems it works? I had to update the commander package, but then it throws

    sudo chown root:riju system/out/riju-system-privileged
    chown: invalid group: ‘root:riju’
    make: *** [Makefile:160: system] Error 1
    Error: command exited with code 2
        at runCommand (file:///home/maciej/archive/riju/tools/util.js:42:11)
        at processTicksAndRejections (node:internal/process/task_queues:96:5)
        at async main (file:///home/maciej/archive/riju/tools/depgraph.js:678:3)
    

    when I run dep image:runtime.

    1. Even If I build it, is the project too AWS'y to run it not on AWS?
    self-hosting 
    opened by Nevalicjus 3
  • Get Riju back up

    Get Riju back up

    As per the status page, Riju is currently down:

    image

    This issue tracks the needed work to get it back up. I started by doing two things, each of which was a fair bit of work:

    • Use a system-level cgroup to limit the total resources consumed by all user containers together, thus guaranteeing that Riju itself will never run out of resources.
    • Configure persistent logging using Promtail and Loki so that I can actually get some visibility into anomalous behavior.

    Unfortunately, due to https://github.com/moby/moby/issues/42704, it turns out that the resource constraints don't do anything. My current plan to mitigate this issue is to update the sentinel process running inside the container to allow commands to be fed in on stdin, with the output exposed through named pipes. This would allow us to execute processes inside the container without using docker exec, thus bypassing the linked Docker issue. I believe this would fix the current problem I'm seeing where Riju goes down almost immediately as soon as it starts receiving traffic. (In testing, opening seven Python tabs is sufficient to bring it down, even without any other traffic.)

    This process has taken longer than I would like because of the interference of "real life", as it were---health issues and preexisting social engagements. However, I still want to get Riju back up as soon as I can manage.

    sev 
    opened by raxod502 3
  • Create a (separated?) status page

    Create a (separated?) status page

    I noticed that whenever the site goes down you put up a relatively speedy notice on the issues page of this repo, however it might be beneficial to host a separated status page that shows instance health and website uptime (to name a few items). You could also add reports about downtime as well.

    The best example that comes to my mind is probably Typeform's.

    monitoring 
    opened by rayhanadev 3
  • Error While Setting Up Dev Environment

    Error While Setting Up Dev Environment

    followed the docs step up step.

    After running make tmux and then running dep image:runtime throws

    Error: unset environment variable: $DOCKER_REPO
    

    I tried making an .env file after that and making a docker repo but it didn't work. (Throws a tags error)

    Any fixes?

    build system 
    opened by tnb24 3
  • Keyboard shortcut for running the code

    Keyboard shortcut for running the code

    comment imported by @Owen-Gillespie

    Would be nice to be able to run the code without using the mouse. Cmd + enter or Ctrl + enter seem like intuitive shortcuts.

    improvement 
    opened by raxod502 3
  • [FYI] Project moved to GitHub Organization

    [FYI] Project moved to GitHub Organization

    This issue is just a public explanation of why Riju moved to a GitHub Organization, and what the implications are. I should have posted this earlier, but the honest reason why I didn't is I was in the middle of moving apartments and I just forgot! (I did announce it other places, though, like https://github.com/radian-software/straight.el/issues/946.)

    Why I did it:

    • Donations for Riju were going to my personal bank account, and to be more honest and transparent about how I was spending those donations, I wanted to use a separate business account instead. (financial records from my personal spending; financial records from my business account)
    • GitHub Organizations have a lot more options than personal accounts; in particular, it's now possible for me to grant a lot more access to collaborators on my various open-source projects than it was before.
    • In the United States, anyone can wreck your life with a malicious lawsuit if they have enough money to spend on it. This is something I've been threatened with in the past, and it sucked. My lawyer advised me that one of the best ways to avoid something like that happening again is to conduct my open-source work as part of an LLC that I set up for this purpose, so this is me following that advice.

    What actually changed:

    • The GitHub repositories moved from https://github.com/raxod502 to https://github.com/radian-software (but there are redirects from the old locations, so existing tooling should continue to work).
    • The license notices updated their copyright statements to say "Radian LLC and contributors" instead of "Radon Rosborough" (but they are all still under MIT licensing).
    • The contact email addresses changed from [email protected] to [email protected] (but I still read both of them).
    • All of my infrastructure for these projects (AWS, Heroku, Fathom, etc.) moved to separate accounts specifically for Radian LLC, with billing from a separate business account (but the same things are running on them).
    • I created separate donation accounts (GitHub Sponsors, Patreon, PayPal, etc.) for Radian LLC and got rid of the ones that go to me personally.

    More FAQ available at https://radian.codes/.

    On May 12, I sent out this message to my GitHub Sponsors (thank you, @JoshuaTheMiller @JasonSteving99 @plondon @romatthe @shanesveller!) explaining that any future donations would need to be re-routed:

    TLDR: Please move your sponsorship from https://github.com/sponsors/raxod502 to https://github.com/sponsors/radian-software, it will help me keep making projects like Riju!

    Hey friends,

    I'm finally moving my projects to a GitHub organization @radian-software rather than my personal account @raxod502. This does a couple of things:

    Makes it easier to collaborate with other open-source developers on projects like straight.el and Selectrum, since GitHub limits many of its collaboration features to organizations. Lets me keep the finances for donations totally separate from my personal bank account, so that I can be extra sure I'm not accidentally using the money on something unrelated to these open-source projects. (All my open-source finances will be publicly available on GitHub going forward, as they have been already for Riju.) Allows me to conduct open-source work as part of a limited liability company that I formed, which will let me be less scared of people who want to use their money to shut down open-source work, if heaven forbid that kind of situation should come up again. Frankly I would have preferred to just not deal with the paperwork, but after the Replit situation, a lawyer told me this is what you're supposed to do as someone who puts out a lot of open-source work, even if you're not interested in starting a company. Anyway, to make this happen, what I'm asking from you is a simple bookkeeping change: to move your existing sponsorship from https://github.com/sponsors/raxod502 to https://github.com/sponsors/radian-software at your convenience.

    In case you're curious, for the foreseeable future, the vast majority of donations will go to Riju, as they do currently. I've also put some other pieces of open-source infrastructure under the radian-software organization, like GNU ELPA Mirror and Tidier. There are some other pieces of overhead, like domain name fees from Namecheap, a separate email domain, and some government fees for running a company, but I'm trying to keep those minimal compared to infrastructure costs. In any case, everything will be publicly reported on GitHub.

    One new project I'm working on is a miniature educational clone of the Heroku platform, deployed on Kubernetes. It's a bit in the same vein as Riju, but with a different focus. Like Riju was an experiment in learning about containerization technology, this new project is an experiment in learning about Kubernetes and container orchestration at a larger scale. If it works out, I'll make it a public thing people can register accounts on and deploy their own web applications onto.

    If you have any questions about this change, any of the projects I'm working on, or anything else, feel free to reach out! I'm always happy to chat.

    Best, Radon

    My personal account has not had any hosting expenses since early May, and everything since then has been paid out of my business account. I've submitted a ticket to GitHub Support today asking for them to disable my personal sponsor account, and (as promised) have donated the leftover proceeds from my personal account to the EFF.

    image

    opened by raxod502 2
  • Bump json5 from 1.0.1 to 1.0.2

    Bump json5 from 1.0.1 to 1.0.2

    Bumps json5 from 1.0.1 to 1.0.2.

    Release notes

    Sourced from json5's releases.

    v1.0.2

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295). This has been backported to v1. (#298)
    Changelog

    Sourced from json5's changelog.

    Unreleased [code, diff]

    v2.2.3 [code, diff]

    v2.2.2 [code, diff]

    • Fix: Properties with the name __proto__ are added to objects and arrays. (#199) This also fixes a prototype pollution vulnerability reported by Jonathan Gregson! (#295).

    v2.2.1 [code, diff]

    • Fix: Removed dependence on minimist to patch CVE-2021-44906. (#266)

    v2.2.0 [code, diff]

    • New: Accurate and documented TypeScript declarations are now included. There is no need to install @types/json5. (#236, #244)

    v2.1.3 [code, diff]

    • Fix: An out of memory bug when parsing numbers has been fixed. (#228, #229)

    v2.1.2 [code, diff]

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Enable Dependabot

    Enable Dependabot

    I ran into https://github.com/xtermjs/xterm.js/issues/3353 and figured that setting up Dependabot here would be more useful long-term than only bumping Xterm.js in yarn.lock.

    opened by bb010g 1
  • FYI: Project status

    FYI: Project status

    Hey community members,

    You've probably noticed that development progress on Riju isn't active right now - no updates have gone out for many months. This is because I was caught up in other work for a time, and when I came back to Riju, I found that everything had become horribly broken. Unfortunately, I architected the build system of Riju in such a way that out-of-band issues introduced by upstream language changes are very hard to work around without fixing everything - to say nothing of infrastructural changes like updating to a new version of Ubuntu.

    I'd like to get Riju back to a place where it is not only easy to update, but also easy to contribute to and self-host for anyone who is interested - and I don't think I can honestly say I've done a good job of getting the project there in its current state. So, although there is more than one thing that I do with my free time, I've allocated a category for "making existing projects more maintainable and contributor-friendly", and Riju is at the top of the list for that category. I hope to push out some updates in the future in this direction.

    In the meantime - I'm really sorry but I probably won't be able to merge pull requests or implement feature requests with the project in its current state. That's not because I don't want to take the time for reviewing them, but literally because I myself do not have the ability to deploy changes, even if I want to - that's how broken the build system is.

    Of course, if you can't wait and really want to implement some fun feature or embed Riju into your own project, feel free to do it! You will just have to run your own version, and probably fix a bunch of the stuff that has broken.

    opened by raxod502 0
  • Adding debugger for languages?

    Adding debugger for languages?

    Hi, How hard/compilcated do you think it is to add a debugger option like this. ? I went through the roadmap but didn't see any plans of adding debugger and was thinking if maybe I can help with it, but I am unsure on how one would go about it? Any ideas?

    opened by RahulBadenkal 7
  • Cannot run Elm

    Cannot run Elm

    Steps to reproduce:

    1. Go to https://riju.codes/elm
    2. Click on Run

    Error:

    Compilation failed -- PROBLEM LOADING PACKAGE LIST ------------------------------------------------

    I need the list of published packages to verify your dependencies, so I tried to fetch:

    https://package.elm-lang.org/all-packages

    But my HTTP library is giving me the following error message:

    ConnectionFailure Network.Socket.getAddrInfo (called with preferred socket type/protocol: AddrInfo {addrFlags = [AI_ADDRCONFIG], addrFamily = AF_UNSPEC, addrSocketType = Stream, addrProtocol = 0, addrAddress = , addrCanonName = }, host name: Just 'package.elm-lang.org', service name: Just '443'): does not exist (Try again)

    opened by thdoan 1
  • REPL output sometimes cuts off/drops early

    REPL output sometimes cuts off/drops early

    Sometimes, the REPL doesn't print output that it's supposed to print, and the program prematurely ends before all output has been sent. Example-- the following program prints 0 through 9; when this program is run, most of the times the correct output is shown but sometimes, seemingly at random, the output cuts off early:

    image

    Inspecting the websocket message log shows the following exchange:

    • (up) {"event":"runCode","code":"#include <iostream>\n\nint main() {\n for (int i = 0; i < 10; ++i) {\n std::cout << i << std::endl;\n }\n}\n"}
    • (down) {"event":"terminalClear"}
    • (down) {"event":"terminalOutput","output":"0\r\n1\r\n2\r\n3\r\n"}
    • (down) {"event":"serviceFailed","service":"terminal","error":"Exited with status 0","code":0}
    • (down) {"event":"terminalInput","input":"\r"}

    So it seems like the missing output is not transmitted at all by the server, rather than it being hidden by some UI-level bug.

    (Another example, in which the last output line hello is dropped:) image

    • (up) {"event":"runCode","code":"#include <iostream>\n\nint main() {\n for (int i = 0; i < 5; ++i) {\n std::cout << i << std::endl;\n }\n\n int n;\n std::cin >> n;\n\n std::cout << \"hello \" << n << std::endl;\n}\n"}
    • (down) {"event":"terminalClear"}
    • (down) {"event":"terminalOutput","output":"0\r\n1\r\n2\r\n3\r\n4\r\n"}
    • (up) {"event":"terminalInput","input":"7"}
    • (down) {"event":"terminalOutput","output":"7"}
    • (down) (down) {"event":"serviceFailed","service":"terminal","error":"Exited with status 0","code":0}
    opened by kwshi 1
Owner
Radon Rosborough
Software engineer recently graduated from Harvey Mudd College studying computer science. Interests include package management and Emacs, or both at once.
Radon Rosborough
Hadmean is an internal tool generator. It is language agnostic, schema driven, extremely customizable, featured packed, user-friendly and has just one installation step.

Hadmean Report a Bug · Request a Feature · Ask a Question Table of Contents About Quick Demo Motivation Why you should try Hadmean Getting Started Pre

Hadmean 344 Dec 29, 2022
Cookbook Method is the process of learning a programming language by building up a repository of small programs that implement specific programming concepts.

CookBook - Hacktoberfest Find the book you want to read next! PRESENTED BY What is CookBook? A cookbook in the programming context is collection of ti

GDSC-NITH 16 Nov 17, 2022
Write "hello world" in your native language, code "hello world" in your favorite programming language!

Hello World, All languages! ?? ?? Write "hello world" in your native language, code "hello world" in your favorite language! #hacktoberfest2022 How to

Carolina Calixto 6 Dec 13, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
Code Playground is a online application for testing and showcasing user-created and collaborational HTML, CSS and JavaScript code snippets

Code Playground About Code Playground is a online application for testing and showcasing user-created and collaborational HTML, CSS and JavaScript cod

Arshansh Agarwal 5 Dec 17, 2022
js move playground by imcoding.online

JS MOVE PLAYGROUND Wrapper move playground by pontem. Only support Browser environment. Demo imcoding.online Install npm i @imcoding.online/js-move-pl

imcoding.online 14 Dec 3, 2022
🎒 Accessible and extremely useful website for public school in Poland, built on fun and modern stack.

✨ Strona Szkolna ?? Zadania · ?? Pomysły Struktura ?? apps ?? backend: headless CMS (API) używający Strapi, które umożliwia dowolne typy contentu, np.

Elektron++ 26 Dec 21, 2022
The (extremely) lightweight alternative to the mmenu.js plugin for creating off-canvas mobile menus.

mmenu light The (extremely) lightweight alternative to the mmenu.js plugin for creating off-canvas mobile menus with the exact look and feel. Examples

Fred Heusschen 172 Dec 12, 2022
JIT Compiler is a open source online code compiler. You can run more than 40+ most popular programming languages in your browser just-in-time using jitcompiler.

JIT Compiler is a open source online code compiler. You can run more than 40+ most popular programming languages in your browser just-in-time using jitcompiler.

Rajkumar Dusad 36 Jan 5, 2023
Programming language makes by hobby <3

Joule Programming language makes by hobby <3 About It's a compiled programming language written in JavaScript :/. Codes compile into Assembly code tha

null 6 Feb 17, 2022
VSCode extension for the rickroll-lang programming language (incomplete)

Rickroll-Lang VSCode Extension The Rick Roll programming language is a rickroll based, process oriented, dynamic, strong, esoteric programming languag

Siddhesh Zantye 6 Oct 10, 2022
A Flow-based programming language for universal applications.

Hlang A Flow-based programming language for universal applications. Hlang aims to make programming easier, faster and more comfortable. It avoids codi

HSET 5 Dec 25, 2022
A programming language (WIP)

Umo programming language Concept Effect system (not implemented) Subtyping (not implemented) Opt-in shared mutability (not implemented) Gradual typing

Masaki Hara 15 Feb 25, 2022
Jaksel Script, Programming language very modern and Indonesian style

Jaksel Script Jaksel Script is a new programming language, very modern, easy to learn, using Indonesia-slang language. No programming experience requi

Rio Chandra 823 Jan 3, 2023
The Javascript and canvas port of MarkovJunior : A Probabilistic Programming Language.

MarkovJunior.js MarkovJunior is a probabilistic programming language where programs are combinations of rewrite rules and inference is performed via c

nullday 17 Nov 15, 2022
One-stop Go+ programming language environment manager

InGop (Go+ language) One-stop Go+ programming language environment manager How do I learn the Go+ programming language quickly? Start with installatio

uiuing 15 Nov 21, 2022