Hacker News new | past | comments | ask | show | jobs | submit login
Repl from Repo (repl.it)
259 points by archmaster on Dec 11, 2019 | hide | past | favorite | 76 comments



Fyi, there's another similar project called gitpod.io

Take any github repo, prepend the url with "https://gitpod.io/#", and hit Enter

(so https://github.com/ZainRizvi/UseRWithGpus would become https://gitpod.io/#https://github.com/ZainRizvi/UseRWithGpus)

That'll open up an instance of VSCode in a web browser and you can start coding


Gitpod is awesome and a really bright team behind it.

However, Repl.it is different in that we're focused on speed and minimal configuration. You don't even need to login to clone a repo and start it.

The URL structure is repl.it/github/<GitHub path>

Try this 2048 implementation in C: https://repl.it/github/mevdschee/2048.c

(You can even run it on your phone!)


If the Github repo has a docker-compose.yml file in it, can it spin up all of the containers?


Not yet. But planned


I don't see how repl.it doesn't get burned doing that. You could host my entire ELK stack and Postgres database... what would the resource limits be? What would the cost be?


I think repl.it is still at the growth and scale stage. Actual profitability probably won't matter much for another couple of years. (They run on Google Cloud so the costs are pretty insane without VC funding.)


Okay this is irrelevant to the discussion but I just typed in `github/mevdschee/2048.c` in the address bar expecting Firefox to perform a Google search but it instead lead me to the repo! What!


If you type something that is not a valid/existing domain, Firefox will try to append .com and/or prepend www. in an attempt to get a valid domain. If that fails, it will do a search.

You can configure this via browser.fixup.alternate.* in about:config.


> Try this 2048 implementation in C: https://repl.it/github/mevdschee/2048.c

I did and got: "Failed to connect, retrying"


Are you behind a firewall? Some block websockets. It also could be an aggressive adblocker.


Yup, I can confirm it doesn't play nice with Ad blockers for some reason because it worked on chrome and Firefox on my android phone, but did not work with Firefox focus


Thanks -- we'll take a look!


At the time I tried turning off privacy badger and ublock, but the issue persisted.


Public sharing of REPLs for anyone even without an account is just awesome. Gitpod or anyone else that I know of doesn't offer this.


GitPod is a lifesaver on the go when you need to work on private repos. Couldn't recommend more highly.


What's special about private repos? Why not just clone and use a local editor?


Of course you can do this, however, if you're ever on a shared device or using someone else's computer, it's much faster to login to GitPod and make a quick fix than to setup SSH keys, download an editor (if you're an atom guy like myself), and go through the song and dance. Then have to tear it all down again.

Granted, this isn't a common scenario, but it's happened to me before and GitPod is just so much more convenient. I've tried AWS Cloud9 and wasn't that great of a development experience, the great thing about GitPod is it's fast, easy, portable, and honestly a great developer experience since it's the VSCode editor.


Thats pretty easy to explain! Some people are using multiple devices at once for programming,and thus need the ability to code from multiple devices.


> That'll open up an instance of _VSCode_ in a web browser and you can start coding

GitPod actually runs https://theia-ide.org/, not VSCode, but Theia is compatible with VSCode extensions, and they've themed it to look practically identical, so it's definitely not super obvious.


It takes forever to open on my phone, tried different browsers and it still doesn't work, is this intended for desktop use only?


when i log in to gitpod I get the message:

We have trouble parsing your context Error: Couldn't parse context '%22'. Please file an issue if you think this is a bug.


'%22' is an urlencoded double-quote: '"'

Maybe you accidentally have a double-quote in your URL?


I saw this message as soon as I logged in to gitPod. Will continue the discussion in another thread, but thanks


repl.it is a god sent for low income students I teach CS to. They only have Chromebooks but can run Python, C++ and more.

My feedback to the team is that please try using it on those slow and small Chromebooks. You'll see how the navbar is eating 20% of vertical space in a 11 inch Chromebook. Make the UI dense. Those kids have sharp eyes!


Chromebooks are one of the primary devices we test on (https://m.imgur.com/a/3eCnqUE)!

That's a good point tho, will discuss with the team.


I have that exact Chromebook! It runs Linux pretty well, but I can see schools not being all to pleased with going in that direction…


Might wanna check out Google colab, if you haven't. I switch between repl.it and colab, depending on what I'm working on.


It's amazing for anyone learning to code. I run my coding school's classes off of Replit Classroom.


Repl.it is an amazing cloud-based IDE, and I'm super excited that they just launched a Git GUI and GitHub integration! Now it's possible to import almost any repository from GitHub in the click of a button and get it running with a very minimal amount of configuration.

There are still a few kinks to work out, but I can see this being very useful.


It's great to post something you find exciting, but "Show HN" is explicitly for sharing your own work. So please don't use that in titles unless it's something you made.

https://news.ycombinator.com/showhn.html


I've been a fan of repl.it from the start, though I failed to see the utility that a senior dev/someone with compute resources would derive from it. With this new feature, however, I think repl.it will save developers a lot of time. Kudos!


Thank you! ^^

According to "disruption" theory we're on our way :P https://en.wikipedia.org/wiki/The_Innovator%27s_Dilemma


Somebody submitted a PR to a JavaScript/glsl game of mine last night (https://github.com/westoncb/under-game), adding a badge/link that would open the repo on repl.it.

I looked around at the user's activity a bit and they had sent essentially the same PR to at least one other repo recently, and appeared to be affiliated with repl.it.

I went ahead and merged the PR since it does just seem like a small net positive addition.

I still wonder though: what downside to this might I be missing?


Yep, I got the same thing. Haven't merged it and probably won't. Since it appeared to be a bot that created the PR, it seemed like a rather underhanded, spammy way of promoting the repl.it project. It kinda reminds me of the whole tip4commit debacle with the flask project: https://news.ycombinator.com/item?id=8542969


We're certainly not operating any bots if that's what you're implying.


The PR's commit message said that the commit was "automatically generated on repl.it". I guess I don't know how to interpret that. Maybe I'm mistaken and someone did manually created the PR with a bad commit message: https://github.com/davesque/go.py/pull/2


And I did eventually confirm that the commit was, in fact, created manually by an actual person and not a bot.


I looked up the PR author and it's a repl.it user and community moderator (https://repl.it/@eankeen).

Anyways, I hope the PRs are not annoying -- it certainly cool to be able to run under game quickly (I scored 97 https://imgur.com/a/HHMMXAY)


It's not necessarily an issue—I am for now happy to have the badge/link on my repo.

I would have been less suspicious if the messaging had been more straightforward (e.g. "Hey, we're seeing if some projects we like would be interested in adding a repl.it badge to their READMEs."). As it was, the PR initially sounded like something personalized, directed toward me—but then I go and find the exact message being sent to others, which activates my suspicion.


i send that pr - definitely didn't mean to miscommunication intent or arouse suspicion. thanks for actually saying that, since i'm never really sure myself that my words are good in their context


I really like Repl.it as a learning tool, and I used it a bunch while transitioning from ruby to python, although its also given me a few bad habits, and I've never been able to find much use for it while working on "real" projects. Still, I pull it up from time to time, just to confirm some bit of code I'm working on.

it's still the best multi-language Powershell ISE-ish repl I've ever used though :)


Give it a try for a "real" project and see how you feel about it. We've improved a lot recently. I'd love to hear your feedback when you try it out: amjad@repl.it


I would be surprised if repl.it didn't get acquired by Github before the end of 2020.


my thoughts exactly


I can get the repo cloned, but nothing builds automatically. Specifically, when I click the "run on repl.it" badge, a repl.it command line appears with the cloned repo, but the run command from the .replit file is not invoked. I can type the command manually and then everything works.

I tried the first three examples (ascii_racer, minesweeper, ddgr) on both Safari (with ad blocker) and Chrome (no ad blocker). I do not have a repl.it account, so I am not logged into anything.

Overall this feature looks very impressive.


hi, repl.it engineer here. Are you hitting the run button in the header?

We now put you in a blank repl, and will upgrade you to the right language once we read the .replit file. After we do that reload, hitting the run button should work!


Oh! My bad. The "Run" button is featured in the video.


I look forward to using this


What's the recommended way to deal with projects that have system level dependencies? (E.g. in C). I have build scripts but no way to install anything. Do I have to use docker or some other container technology?

Edit: sounds like they plan on allowing docker containers which would be really nice. Great job on the MVP.


There is a well established FOSS IDE that does the job: http://eclipse.org/che (SaaS http://codenvy.com)


This is awesome guys! One conversion suggestion, in your "Try it out" section, add the repl.it link beside the project. I went into ascii_racer and didn't find the repl.it button so I bounced.

From repo to running repl is a dream.


so it tries to automatically submit prs to repos using the users? sounds like why typescript has the @types org. I'd be annoyed receiving prs of weird metadata from people using some random site or tool.


No not automatically! It obviously suggest implementing it and it shows you what you have to do and prepares a pr.


Will this change the pricing model at all? Or add a new tier? NBD if it does, just wondering if a lot of people start using this if Repl.it can keep the lights on.


No, not at all. Our infra costs are a lot less than most people expect.


Can you talk a little bit about your infrastructure and how you manage that?

I'm also very interested in the distributed filesystem you mentioned as item 5 in the post.


Can I run nodejs projects on this? I wanted to see if I could run yazz Pilot on this


You can! In fact, I've found that it actually works the best with Node.js


Does run on repl.it work with all of the languages that normal repl.it supports?


It does!


I just tried to run zubairq/pilot from the github importer on repl.it, and after I ran:

npm install node src/electron.js

... * Loading driver: * : demo_timer * Loading driver: * : quicksort * Loading driver: * : bubblesort * Loading driver: * : new * Loading driver: * : new_microservice add_rest_api called Loaded all apps (may use already loaded drivers)

Yazz Pilot started on: http://172.18.0.154:3000

It starts up alot slower than running on a desktop machine, but when I go to http://172.18.0.154:3000 it never seems to connect from a browser. What am I doing wrong here?


Try listening on 0.0.0.0 which will listen on all IPs on the machine and is required for running on remote environments like repl.it. When you do that we automatically detect the port open and show you a web view.


Ok, thanks, that worked. And I learnt something new, about 0.0.0.0 even existing! :)Now I have the problem the Repl.it VM running Yazz/pilot keeps crashing after a few minutes started


Super, I’ll give it a go soon then :)


Try glitch too, it is pretty good for demos.


Can you import nodejs git repos into glitch?


Yes you can


The big thing missing on repl.it is to use visual studio code instead of their own editor (think like Stackblitz), that would really be a game changer to be able to use one custom key-shortcuts, to use vscode plugins and so on.


We decided against using vscode verbatim for a few reasons, chief among them is keeping repl.it simple for people starting to code.

And as much as I like vscode and the team behind it, it doesn't seem smart to tie your core tech to a project under the control of MSFT.

With regards to extensions you can easily imagine a vscode-replit bridge.

Finally, we came up with a novel approach to IDE/window management that we think people will be excited to write extensions for when we open it up: https://repl.it/blog/ide


I disagree, vscode UI is pretty simple and even if not you can always creat a basic theme and use it as the initial default (after all it's just css/html) to make it simpler for novice users, the code is not really under the control of Microsoft in the sense the is open source and in the worse case scenario you create a fork from the latest build, which is already pretty stable. Microsoft itself realized the reality of this rationale and that's why their latest web browser is Chromium-based despite Chromium being under the "control" of Google.


For engineers it may look simple but for someone new to programming -- and we've done the research -- the more elements in the app the more easy it is to get overwhelmed (cognitive load).

Repl.it, with all the features we added, still loads with an editor and a console and a huge green run button. Most users, even those very new to programming, intuitively get it.

>the code is not really under the control of Microsoft in the sense the is open source and in the worse case scenario you create a fork from the latest build, which is already pretty stable.

I'd like to see a 10 person startup maintain a monster codebase fork like that. I agree it's a nice insurance policy, but it just not realistic.

Anyways, your original feedback is well taken and we'll make sure to create some compat layer :-)


Chromium should really serve as a counterexample of what you're using it for. Unless you are prepared to fork it and maintain the fork yourself, it pretty much is under the control of Google. It's also likely Google will continue to drive it in a direction undesirable for everyone else.


I'd love to see an approach similar to Makepad for the Repl.it IDE (all powered by WebAssembly). Keep up the good work!

http://makepad.nl/

https://github.com/makepad/makepad


Suggest it at https://repl.it/feedback/ :D In fact,y es this would be really cool!


You can run your own hosted web-based VSCode.

https://github.com/cdr/code-server


Yeah all it would be missing is full integration with repl.it...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: