Updates from the Repl.it team about the product

Posts
Pinned
✨✨Introduce Yourself! 👋 ✨✨
Hi everyone! Use this space to share anything you want to share with our community - your name, where you're from, what you program in, what brought you here... whatever you're comfortable with! Can't wait to get to know y'all. 💖 Katya
61
posted by katyadee (429) 5 days ago
Pinned
25
⚡️DEVELOPER SPOTLIGHT #02:⚡️simontiger
### Welcome to another **Developer Spotlight**! Today we (virtually) sat down with 9-year-old Belgium-based [wunderkind](https://www.youtube.com/watch?v=6tTTTefBOTM) [Simon Tiger](https://simontiger.com/bio) and his mom, Sophia. ![virtualcafe](https://storage.googleapis.com/replit/images/1558117457012_f78ae7e0c19948a20c80589fa6bf96be.gi) Simon came to our attention after he shared a [repl](https://repl.it/@simontiger/Raytracing-AI-Full) of a neural network he’d built. Without further ado, here’s our interview: ![DSC_1714](https://storage.googleapis.com/replit/images/1558117472077_b0302d03c7cd3f6bc8d000215dbde72b.jpe) **@katyadee**: If you could sum yourself up in one sentence, how would you do it? **@simontiger**: This would sound a bit circular, but I would say: "To sum me up in one sentence: You can't sum me up in one sentence.” **@katyadee**: I think that actually says a lot! You’re really well spoken—are you really 9 years old? **@simontiger**: Turning 10 soon. **@katyadee**: Wow. So, are you in school? **@simontiger**: No, I’m homeschooled. We even had to move to Belgium to be able to homeschool, because school is mandatory in the Netherlands (where I'm from), and it didn't fit well with me. **@katyadee**: That’s really cool that you guys find a way to make it work. I really like your mom’s site. It says you’re a mathematician… I’m wondering, what does that mean to you? Are you doing research? **@simontiger**: Well, that's a difficult question. I see patterns in the world wherever I look. I just love doing math, I'm doing math loads of time every day. Like I'm writing a short book about knot theory and experimenting with knots. Or I want to use Penrose's Illumination Problem in my coding. And I make math videos. Ron Graham said he liked my video about the Graham Scan Algorithm!
 ![DSC_2176](https://storage.googleapis.com/replit/images/1558117484722_10c8c3e4cf27345350a24dc98989e0a2.jpe) **@katyadee**: I’m blown away. [Ron Graham](https://en.wikipedia.org/wiki/Ronald_Graham) - that’s no joke! Speaking of coding, how’d you start? **@simontiger**: With Arduino and Sparkfun. And I discovered Arduino through [littleBits](https://littlebits.com). Arduino was how I discovered [Processing](https://learn.sparkfun.com/tutorials/connecting-arduino-to-processing/all), and how I discovered [Coding Train](https://codingtra.in) by Daniel Shiffman. He always watches my videos and has become my friend. And I participate in [Coding Train Live Sessions in Slack, too](https://youtu.be/LdWCL0pRD6M). **@katyadee**: Wow! Where’d you go from there, after Arduino? What was your first language? **@SimonTiger**: Surprisingly, not English! It’s not my native language. I taught myself English by watching coding videos, mainly. My actual native languages are Dutch and Russian. **@katyadee**: Oh, I meant programming language! I’m sorry. **@SimonTiger**: After C, with Arduino, I started using all sorts of languages for a while but now I have settled on JS, Java, Python, and sometimes Haskell. And sometimes even the Wolfram language! ![DSC_2019](https://storage.googleapis.com/replit/images/1558117496934_e4e80268ac5e30e2979f34b7513480b2.jpe) **@katyadee**: What brought you to Repl.it? **@SimonTiger**: I was first just looking for an online Python editor, because my computer memory was (and still is!) almost full.  I first found onlinegdb.com, but then, after a while, my code disappeared! And then I started using Repl.it. And now I even no longer only use Python on Repl.it, but also JS. I one time tried to use Haskell on Repl.it, but that didn't really work for my purpose, because the browser runs on JS which is a strict language, and Haskell is a lazy language. **@katyadee**: What’s your favorite thing you’re building on Repl.it? **@SimonTiger**: Pretty much all of my repls are a work-in-progress. Here are two: [Raytracing A.I.](https://repl.it/@simontiger/Raytracing-AI-Full) [Sorting Algorithms](https://repl.it/@simontiger/SortingAlgorithmsImproved) **@katyadee**: One last question for ya. What are your plans for the future? Your present is pretty darn cool. **@SimonTiger**: Depends on what you mean. More coding, math, and physics—if that counts. ![IMG_20190510_131529](https://storage.googleapis.com/replit/images/1558117528301_d3c17eea2606c9e49d535b4f99b1408e.jpe)
17
posted by katyadee (429) 5 days ago
37
Repl.it Mobile App MVP
**We did it!** [10 days ago](https://repl.it/talk/ask/Replit-Mobile-App/13853) I created a post asking if people were interested in a mobile app for Repl.it. The answer in general was yes, and I set out to build the best possible thing I could. And I just released the MVP of the app. Here are some supported features: - Creating and deleting repls and files 📂 - Both dark mode and light mode 🌚 - Integrated code editor with syntax highlighting 💻 - Rich editor preferences ⚙ - Works on both Android and iOS 📱 And I'm planning on adding much more, including Repl Talk support. I couldn't have done this without the help of all the amazing testers on our Discord server as well as support from Repl.it team members. This was also a fun experience learning React Native. ![Screenshots](https://storage.googleapis.com/replit/images/1557505257614_3675e7514d3ef4c35bd5da45cff18b87.pn) **Q: Where can I download it?** A: You can download the Android app [here](https://exp-shell-app-assets.s3.us-west-1.amazonaws.com/android/%40kognise/replit-mobile-fedb162be7844a9a97edd7dd4bed7c82-signed.apk). iOS is supported but I don't currently have a release. **Q: What about running repls?** A: Although you can view web repls, other types of repls are not currently supported. Repl.it recently moved to an API based on [protocol buffers](https://developers.google.com/protocol-buffers/) and due to several concerns of theirs we may have to wait until June. **Q: What the heck is an MVP?** A: MVP stands for "minimum viable product." According to [Wikipedia](https://en.wikipedia.org/wiki/Minimum_viable_product), it is "a product with just enough features to satisfy early customers, and to provide feedback for future product development." **Q: What did you build it with?** A: I used [React Native](https://facebook.github.io/react-native/) as well as many other open-source projects including [React Native Paper](https://reactnativepaper.com/). I really appreciate all the work the maintainers of these projects put in that helped make Repl.it Mobile so much better. If you're interested and want to learn more or get early access to features, make sure to [join the Discord community](https://discord.gg/sVxJJZA)! *Disclaimer: Repl.it Mobile is currently a community-run project. You can view the source code [here](https://github.com/kognise/repl.it-mobile).*
34
posted by Kognise (142) 12 days ago
15
Repl.it Feature Roadmap
At the current time of writing, the Repl.it team is 8 people, and we are often asked about what we're working on. We actually use our [Feedback boards](/feedback) as a roadmap, though it may not be clear. Posts can have statuses like `Planned` or `In Progress`. Let me explain what each one of those means: `In Progress` means that development or design for the feature has begun. It may have just started, or we may have released a semi-working version of the feature (like the [Shell](/site/blog/shell)), for example), and are looking for ways to expand its capabilities. Github integration is another example of such a feature, where we have [importing github repls](/github) but not the other way around - that will come soon. ![image](https://storage.googleapis.com/replit/images/1557814183959_fa7804aff115664e088ce140efccd76c.pn) `Planned` means that we're actively looking for avenues into a particular feature, but development has not yet begun on it - for example, we know for sure that we want to make a Repl.it mobile app, but we currently don't have the bandwidth to support it right now. And then there are features that are not in progress or planned. If you've been eyeing a feature in this category, fear not! It does not mean that we don't want to implement it! If we put every feature we wanted to add under "planned", that word would lose all meaning as we would love to implement 99% of feature requests that come in. But as a team of 8, we can only do so much, and we ask for your patience as we build the perfect tool for everyone. [View features in progress](https://repl.it/feedback/?status=in-progress) [View planned features](https://repl.it/feedback/?status=planned) What you see on these pages are also not exhaustive. We're quite busy every day and we sometimes forget to give a post a particular status. If you're ever curious about any of them - just ask! We don't bite. :) Happy programming, Tim
3
posted by timmy_i_chen (851) 8 days ago
28
Kickstart your project using Templates!
At Repl.it, we are all about propping you up to launch your next website, app, or game. To that end, we've created Repl.it Templates, a page containing starter code for various projects you can build on Repl.it. ![templates-min](https://storage.googleapis.com/replit/images/1557165473632_69224b048b43035e83017fdaf1763f97.gi) Templates include: * an e-commerce landing page using Bootstrap * an interactive game using Phaser.js * a backend server running on Python's Flask * a virtual reality environment in your browser using A-Frame * And so much more! ![](https://images.templates.repl.co/html/aframe-starter.gif) We're proud to showcase these templates, created by our community. You can access these templates at the [templates page](https://repl.it/templates), or by finding the card in your dashboard's recent repls: ![image](https://storage.googleapis.com/replit/images/1557165340307_f5d8189066b99e14a78bae7d440689dc.pn) Want to add a template to the page? We're always looking for new templates. Submit your repl [here](https://forms.gle/5653FVhuqgP6jG5Y8)! Please be sure to leave any feedback for us in this thread. Happy templating!
5
posted by timmy_i_chen (851) 16 days ago
9
Weekly Repls #34
Welcome back repl.it-ers. Actually, I have a received a request that we should be called replitears. I really like that name, so from now on I hereby declare that repl.it users are called replitears! Now it's time for the repls, replitears. @niorg2606 [Creates a site that allows you to add some pizzaz to your *own* repl.it websites!](https://repl.it/talk/share/ReplTheme-Sparkle-your-web-REPL-up-a-bit/14528) @A5rocks [Compilers, can be tricky, thankfully repl.it compiles it for you. However if you ever wanted to change your compiling settings, checkout this tutorial.](https://repl.it/talk/learn/Using-Custom-Compiler-Switches/14487) @FellowHashbrown [Creates a great tutorial, explaining how to create the Quine-McCluskey Algorithm in python!](https://repl.it/talk/learn/Python-Quine-McCluskey-Algorithm/14461) @bossotron13 [Creates a great reaction time calculator, that stores the results for a leaderboard!](https://repl.it/talk/share/Reaction-time/14392) Thats all *replitears*, have a great week! (Also, happy mothers day, even if I'm a bit late)
15
posted by 21natzil (595) 9 days ago
🏆GAME JAM WINNERS INSIDE 🏆
## After a long wait, we’re finally ready to announce the winners of our inaugural Repl.it Game Jam! Without further adieu… the winner of 1BTC—which as of Monday, April 29th, 2019, is valued at 5,158.14 U.S. dollars—is ... 🥁🥁🥁🥁 ## @ggzor and @MarisolH’s [SceneMachine] (https://repl.it/talk/challenge/SceneMachine-Drag-configure-and-shoot-SVG-2D-Physics-Game/13329)! ![](https://newsletter-images--timmy-i-chen.repl.co/044/scenemachine.gif) SceneMachine is a 2D physics game made with SVG graphics. The goal is to find out what happened to planet New Sphene’s colors (and eventually restore them). ** What the judges liked most about SceneMachine: ** * Creative storyline * Easy, fun, and elaborate game play * Clean, polished UI * Clear instructions ## Here are our runner ups… ![](https://newsletter-images--timmy-i-chen.repl.co/044/isekai.png) *Best Individual Game:* [CryptoStory:Isekai, Action Adventure game using Phaser CE] (https://repl.it/talk/challenge/CryptoStoryIsekai-Action-Adventure-game-using-Phaser-CE/13298) ![](https://newsletter-images--timmy-i-chen.repl.co/044/zanderian.png) *Best Group Game:* [Zanderian Prince Simulator 2020] (https://repl.it/talk/challenge/Zanderian-Prince-Simulator-2020/13352) ![](https://newsletter-images--timmy-i-chen.repl.co/044/type.png) *Best Storyline:* [Type] (https://repl.it/talk/challenge/Type-An-Adventure-Story-Game-based-on-your-Typing-Skills/13180) ![](https://newsletter-images--timmy-i-chen.repl.co/044/priceofadventure.png) *Best Graphics:* [The Price of Adventure]( https://repl.it/talk/challenge/The-Price-of-Adventure-Game-Jam/12701) ![](https://newsletter-images--timmy-i-chen.repl.co/044/fishing.png) *Most Community Votes:* [The Fishing Game](https://repl.it/talk/challenge/The-Fishing-Game/12016) Winners will be notified via email with more info on their prizes. 😊 ## Check out our full game gallery [here](https://gamejam2019.repl.co). ------- Special thank you to [Satoshi's Treasure](https://satoshistreasure.xyz) for sponsoring the game jam. We wouldn't have been able to give out such a generous prize package without them!
71
posted by katyadee (429) 23 days ago
8
Chrome Extension for Repl.it: Make a new repl from anywhere.
Hey, Everyone! I made a Google Chrome extension to quickly create new repls, no matter what page you're on! While I did initially make this for personal use, I hope other people can find a good use for it and save yourself a bit of time. If you would like to download it [here's a link to the chrome web store](https://chrome.google.com/webstore/detail/new-repl/ebpfoggdhbonnbpioddlandlicknhobk). ![image](https://storage.googleapis.com/replit/images/1557892496626_67637c0c2e32b8d93b5cc28942694ac3.pn) Let me know if you like it or have any issues. (I am aware that you get a message that says the extension is not in the webstore, that will hopefully go away sooner or later. I'm pretty sure it's because it just got accepted.)
10
posted by GavHern (44) 7 days ago
13
⚡️DEVELOPER SPOTLIGHT #01:⚡️yaboigraves
We’re test driving a new content series here at Repl.it—developer spotlights! Each week, we’ll (virtually) sit down with a developer or group of developers from our community who are working on something neat. Today, we’re talking to Nico, Michael, Dakota, and Jackie, runners up in our game jam & the masterminds behind [“Zanderian Prince Simulator 2000.”](https://repl.it/talk/challenge/Zanderian-Prince-Simulator-2020/13352) ![20190502_180142](https://storage.googleapis.com/replit/images/1557509511104_d67023fac56e7753f7a1a70507da7160.jpe) **@katyadee:** Hey guys! It’s great to e-meet you. Let’s start by learning a little bit about you. **@yaboigraves:** We're a small group of co-workers at The Coder School San Francisco, we're instructors and teach programming to kids and use repl.it all the time for lessons and instruction with students. Our names are Nico, Michael, Dakota, and Jackie. **@katyadee:** How did you hear about the game jam? **@yaboigraves:** We heard about the jam through the website, since we all use repl.it pretty much every day at work. I (Nico) have done a couple jams before but this was everyone else's first time in a jam and all of our first time in a jam as a team. **@katyadee:** Your game is pretty cool, how’d you come up with the idea? **@yaboigraves:** We were throwing around ideas for what we could do that involved money as a theme. I thought it might be fun to base a game off the classic 'Nigerian Prince' email scam that I remembered hearing about when I was younger. We thought it might be fun to take the role of a scammer, as we hadn't really heard of a game that had done that before. **@katyadee:** You were one of our group submissions—what was the work breakdown like? **@yaboigraves:** I handled alot of the creative decisions and had always been a big fan of [Lucas Pope's work (creator of Papers Please)](http://dukope.com), and I think the influence he's had on me is pretty evident in our games design. ![LUCAS](https://storage.googleapis.com/replit/images/1557509439222_5e665dbd5467c51cd03355aff36c8a1c.pn) **@katyadee:** How long did the game development process take? **@yaboigraves:** The design process took about two-ish weeks, we had a rough prototype done pretty fast of the virtual desktop and then we decided we needed some way to decide whether the contacts you email send you money. What we did is we had our team member Michael design an AI that would read the emails and reward players who were creative and got into the role of a Zanderian Scammer. The AI decides to reward you based on your use of keywords like 'help, donate, urgent, etc.. as well as comparing your mail to actual Nigerian Prince style scam emails we had the AI read and analyze. ![main-qimg-cc51dc8f689c53b72a016dac271dcc16](https://storage.googleapis.com/replit/images/1557509570498_b6b17ac007e779dd0d390bc032a81626.pn) While the mail app and bank app were being created by Jackie and Dakota I did the visual work designing the virtual desktop, which I based off of Windows 95, the first computer my family had that I always had a bit of a soft spot for. We split up the work among our team members with Dakota handling alot of the class structuring and dynamic sfuff, Jackie handled the email client, Michael handled the AI that reads the emails and decides how convicing they are, and I handled some general purpose stuff and did alot of the asset design and art. **@katyadee:** Any future plans for the game? **@yaboigraves:** We've thought the game might be fun to try and flesh out a little more but time will tell if we build on it further. We built the game entirely on a p5js canvas embedded onto a website, due to us all being pretty comfortable with it and the fact that p5js would be able to handle the small graphical needs of our project. Overall it was a great experience, very proud of what we were able to build!
11
posted by katyadee (429) 12 days ago
22
Weekly Repls #33
Welcome back everyone! We had a lot of events going on, such as the discord server's code jam. The results of that have yet to be posted, however I have a feeling that they'll be coming out soon... Anyways, you're not here to learn about the jam. You're here for this week's repls, so let's check them out! @CowNationz [Creates a wonderful, easy to use database in C++, lightweight and can easily display it's tables.](https://repl.it/talk/share/MooDB-A-lightweight-database-program/14307) @timmy_i_chen [Created an entertaining game for all to play! Flip switches until you create the correct combination.](https://repl.it/talk/share/Byte-The-Game/14229) @eankeen [Explains how to create your own blog setup, all inside of repl.it!](https://repl.it/talk/learn/Blogging-on-Replit-with-Hexo/14074) @lukel_lv [Through the new Love 2D language on repl.it, play asteroids to explode all of space.](https://repl.it/talk/share/Asteroids-game-made-with-Love2D/14066) @TristanArmstron [Play a simple, but really fun game of cows and bulls, where the objective is too find a 4 digit combination, with a variety of small hints.](https://repl.it/talk/share/Cows-and-Bulls/14124) That's all for this week. I can't wait to see what you guys make next week!
0
posted by 21natzil (595) 16 days ago
23
So… who exactly won the repl.it Game Jam?
We (virtually) sat down with **@ggzor** to talk about his and **@MarisolH’s** coding background, what they plan to do with the 1BTC, and of course, their game, [**SceneMachine**](https://repl.it/talk/challenge/SceneMachine-Drag-configure-and-shoot-SVG-2D-Physics-Game/13329). ![Axel Suárez](https://storage.googleapis.com/replit/images/1556666291148_7d39a5c5eaf21039f85a2ca24a892003.jpe) ![Marisol Huitzil](https://storage.googleapis.com/replit/images/1556666305755_52d485db0ad16ea675a15b9e18ae4899.pn) **Katya:** First of all, congratulations! The team here at repl.it and our judges loved your game, SceneMachine. **@ggzor:** Hi! I'm just shocked!  :O It's incredible! I didn't think we could win the Game Jam, it's just... I'm really shocked. Thank you a lot! **Katya:** We know your usernames, and we know your game. Who’s behind @ggzor and @MarisolH? **@ggzor:** I’m Axel. I’m 19 years old and I study computer science in [Puebla, Mexico](https://www.visitmexico.com/en/main-destinations/puebla). I’m a young programmer who loves to code—I’m really passionate about [functional programming](https://medium.freecodecamp.org/an-introduction-to-the-basic-principles-of-functional-programming-a2c2a15c84?gi=6946a0fc643b). 

My teammate, Marisol, is also 19 and studying CS in Puebla. She is more passionate about design and cats. ![cat](https://storage.googleapis.com/replit/images/1556666318299_2b98446ddf714802255fd38e8bf30f81.jpe) **Katya:** How did you hear about the game jam? **@ggzor:** I saw the game jam badge while I was working on a repl. I didn’t immediately go to the blog, but I was curious about it… After I finally read it, I started thinking about what to do. **Katya:** Had you ever made a game before? **@ggzor:** The only game I made before was a little private project. I never finished it, but I plan to finish it soon. **Katya:** How did the idea for SceneMachine come about? What's the story behind the game?
 **@ggzor:** Well, the SceneMachine was an idea I had right after reading the Game Jam post. I am really excited about [reactive programming (RxJS)](https://medium.freecodecamp.org/an-introduction-to-functional-reactive-programming-in-redux-b0c14d097836), so I wanted to make a game about it.  I really love how stream operators mix and match, so I first thought of replicating operators in the game. The original idea was to make a "pipes" game, but then, I was watching some videos from [“The Coding Train”](https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw) and how he used the Matter.js library to make awesome stuff (he was creating an Angry Birds replica), so I got inspired to create something similar, but with additional "elements" which were intended to work as the RxJS operators. ![coding train](https://storage.googleapis.com/replit/images/1556666331233_a5fed55ded4884cbd01778295ebf408d.jpe) It was a little bit hard to me to think how to create the game mechanics without pipes, because some basic RxJS operators are all about pipes (streams). Additionally, the physics add another dimension to the game, so I discarded the idea of replicating the operators. But the idea of **composing elements to complete objectives** (there was no story at this point), was just incredible for me.  Here the name "SceneMachine" was born. You put elements into the scene to create your own machine.  ![Screen Shot 2019-04-30 at 4.20.02 PM](https://storage.googleapis.com/replit/images/1556666412632_f9efb34cce3b7c25d3565352a69cd06d.pn) **Katya:** How long did it take you to design? What was your work process like?
 **@ggzor:** It wasn’t completely planned.  I began playing with the [Matter.js physics library](http://brm.io/matter-js/) and the [SVG.js library](https://svgjs.com), and I was trying to make them work well together. Then, I found that Matter.js had a SVG parser, so I started designing a quick level with Inkscape. After designing a simple level, I tried to display it on the screen and make it work with Matter.js. It took me a complete day to make it work, but when it was done, I realized the potential of designing the levels with an SVG tool, and then loading them into the game.

After getting level loading to work, I realized that I would need a game scene camera. So I started programming the camera, but I wanted to do it with RxJS. It was painful. I had not used RxJS for this kind of stuff before, so I fell into the many pitfalls of reactive programming. It took me four days to get it working properly.  Fortunately, I eventually got it working, I learned a lot and I got enormous flexibility from the implementation (I didn't take full advantage of all the features the implementation gave me, as automatic positioning, zoom and object tracking). Now, I had to manage game state. How to do it? RxJS. Result: still painful. It took me another three days to try making RxJS handle the game state, but this time, I failed. By this time, I was already working on the UI, so, when I tried to join the state management and UI, they didn't work. So I changed my approach, and let the UI code guide the game state design. Finally, this gave me a solid state management implementation (which I didn't have time to refactor). This is what let me implement cool features like the physics engine pausing. The last two weeks, I worked designing and implementing the elements (with RxJS, of course) and polishing many parts of the game. This time, it was way easier two make RxJS work well, as I got more fluent with RxJS for this kind of stuff. Finally, the last week was really intensive, I had to work night and day designing and testing the levels. In-game tips were hard to implement. The reason I used HTML/CSS/Javascript is because it is supported natively by almost any computer. Also, because it's the main technology I've been working at recently and also because it's ease of use. **Katya:** What inspired the storyline? **@ggzor:** The story was inspired by the movie [“The Core"](https://www.youtube.com/watch?v=mZzhJeuOJGQ). I really liked this movie since I was a child. **Katya:** How did you and @MarisolH find one another?
 **@ggzor:** I worked with @MarisolH before, making some illustrations with Inkscape for a school project. She is an amazing drawer, so I didn't doubt telling her about the project I was working on. She did amazing work designing the backgrounds, and even designing some levels (level 3, 5 and the two maze levels).  She also helped me test the game, I really appreciate her work. As I have said before, this game wouldn't be possible without her help. **Katya:** Do you plan on fleshing the game out, and making it bigger? Any plans for a wider release?  **@ggzor:** Yes! I plan to continue working on this idea. But maybe I will take a different approach to make games. I've learned a lot from this project, I haven't made anything like this before (it impresses myself a lot!). I loved how RxJS let me write clean game state management and user interaction. I think that with more time, I could do something really cool. **Katya:** What are you going to do with the 1BTC?  **@ggzor:** Well, we didn't make plans to spend the Bitcoin, but I think we both will get better computers to continue making games.
20
posted by katyadee (429) 21 days ago
37
The Repl.it Chrome Extension 🌐
Hey everyone, One of the coolest things about repl.it is how fast and simple it is to experiment with others' code. I've been working on a chrome extension which allows you to run code all over the web on repl.it, with just one click. The chrome extension adds prompts to NPM Packages and Github Gists - letting you try out examples as soon as you see them. ![Gist + NPM demo](https://storage.googleapis.com/replit/images/1554287819263_b57c54681794c790cff4bb6eea83602f.gi) But, that's not all! The chrome extension lets you run literally *everything* on repl.it! Just select some code, enter a language and boom 🤯 ![Right click run demo](https://storage.googleapis.com/replit/images/1554287926512_0df04df5f9eb5c6d4bf7db61e74131a8.gi) 🚀🚀🚀 Get it now on the [Chrome Webstore](https://chrome.google.com/webstore/detail/replit/kihnihckibjknmebghcjpmemaginnipl) I'm looking forward to hearing ideas + feedback from y'all :)
19
posted by jajoosam (471) 2 months ago
16
Handling Infinite Loops with Backpressure
In 2017 we published a [post](https://repl.it/site/blog/infinite-loops) on how we handle infinite loops at Repl.it. The post was very popular and went on to inspire similar work at [React.js](https://reactjs.org/blog/2017/12/15/improving-the-repository-infrastructure.html) and other projects. Our approach then was a mixture of code instrumentation and throttling. Throttling, however, turned out to be tricky. We used to throttle all output indiscriminately at a certain rate (20 messages / second), essentially taxing all output to reduce the chance of lock-up in the most underpowered of our clients. As our users' applications got more complex and ambitious it became apparent that this handicapped our development environment and restricted a potential for high output applications. Consider a reimplementation of [this very forum in the terminal](https://repl-talk-terminal.mat1.repl.run/) by @mat1 that needs to respond to mouse events and needs to (re)paint large portions of the screen: ![repl talk](https://storage.googleapis.com/replit/images/1556158002694_18f1502e4d1364b812dbd1c33412eebd.gi) Another complication was the introduction of Multiplayer: Now every program had multiple clients receiving output and sending input. So how do you build a system that works well for fast clients and degrades gracefully for slow clients? ## Enter Backpressure To understand [backpressure](https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7) consider a scenario where you have a *producer* sending data to a *consumer* for processing. Often times the consumer is slower than the producer and might get flooded with messages before getting a chance at processing. At which point the consumer typically crashes. Backpressure is the mechanism in which the consumer tells the producer to slow the heck down! ![1_ZQWlVVyCANAmgUKJU9xUlw](https://storage.googleapis.com/replit/images/1556156478402_aa47eb6c600c9ea15bffe3ecf388fd79.gi) [*Backpressure explained — the flow of data through software*](https://medium.com/@jayphelps/backpressure-explained-the-flow-of-data-through-software-2350b3e77ce7) In our case the *producer* is the your program and the *consumer* is your browser. If your program had an infinite loop with a `print` in it, it will be sending data at a rate which your browser will normally crash. However, with backpressure we made it so that your program will blocked until the write goes all the way from the container, through our servers, network, your router, browser and to your terminal! That way your program writes at the perfect speed for you. But this presents a new problem -- what if you want to interact with your program by providing keyboard or mouse input? If it's blocked then it can't handle your input. Enter bursts: ## Bursts Bursts are periods for which the program can write freely without being constrained by the consumer. Every program starts out with a burst so that the initial set of output gets sent out to the client. Additional bursts happen with input. Every time you interact with your application you put it into burst mode so that it can catch up and be able to handle your input. That way interactive programs remains interactive. ## Multiplayer Now imagine coding with a group friends and one of them has a wooden laptop that can barely handle much output. At first the program will slow down to accommodate said friend. But say your friend's computer crashes and never processes any output ever -- what should we do? Sadly, we have to sacrifice the one to save the many: Simply disconnect your friend with the wooden computer. ![Computer-art](https://storage.googleapis.com/replit/images/1556157842232_fbef800320288e9e889cbc45256cef53.jpe) *Your friend's computer.* ## Try it ```python while True: print("hello world") ``` https://repl.it/@amasad/hello-forever ![while](https://storage.googleapis.com/replit/images/1556158126388_426c84e460d4d320a7f16afbb6f94e09.gi)
6
posted by amasad (1172) 27 days ago
44
Repl.it GFX Public Beta: Build Games and GUI Apps
Hello everyone, We've spent months researching methods to implement a cross-platform and cross-language graphics engine in Repl.it. With our Explorer's help, we've explored different ways of doing graphics -- some of you even built [amazing](https://repl.it/talk/share/NEW-Play-2048-248-In-The-Terminal-in-Cheavy-plusheavy-plus-With-SIXEL-Graphics/9750) things on it! However, the time has finally come to start rolling out our graphics system. It's still buggy and requires some more work but it works. Some of you might have even already discovered it. ![Screen Shot 2019-03-09 at 6.43.13 PM](https://storage.googleapis.com/replit/images/1552185817380_328d759b19256760a3ee8bfbc3e495f6.pn) While we intend to roll this out to all our languages we're starting with a few specific environments and we'll generalize from there: - [Python Pygame](/languages/pygame) - [Lua Love2d](/languages/love2d) - [Python Tkinter](/languages/tkinter) - [Java Swing](/languages/java_swing) Here is a taste of what the development environment might look like: ![ezgif.com-gif-maker (7)](https://storage.googleapis.com/replit/images/1552186822795_393dd03eb8f3426892863ffbf5df31bc.gi) Some limitations and known issues: 1. The graphics window is shared across clients. I.e. if you share your repl with someone they'll be able to interact with the same window you're interacting with. It 2. You have to fork someone's repl before seeing the result. 3. Sound sadly doesn't work yet We're hoping to fix these pending issue in the next week. [TO TRY IT FORK AND FUN] I pulled a few examples from the web for you to check out. - Java Swing Pacman: https://repl.it/@amasad/Java-Pacman - Love2D Snake: https://repl.it/@amasad/LOVE2D-snake - A simple platformer in Pygame: https://repl.it/@amasad/simple-platformer - Simple color game in Tkinter: https://repl.it/@amasad/color-game
41
posted by amasad (1172) 2 months ago
249
👋✨Introduce yourself 🎉😀
Hello everyone! Let's use this thread to get to know each other. Just say hi and a few words about who you are, maybe what are you building or learning with Repl.it. If you're not comfortable sharing anything then share something fun 😉
698
posted by amasad (1172) 11 months ago
34
📕Language Learning Club 🤓
Henlo frens, We're planning on starting a programming language learning club where we pick a language and a book (ideally with lots of exercises) and start learning it together. I'm flexible on the structure but here's a proposal: - We read a chapter and then we discuss it on discord (maybe voice) - We then do the exercises and share them here on repl talk I sadly don't have time to organize this so we need volunteers. @noah427 is interesting in organizing if someone else would join him as well. Please comment if you want to join `||` volunteer
36
posted by amasad (1172) 3 months ago
11
Weekly Repls #31
Woah, no weekly repls last week? Yep, sorry everyone, I was away. However do not fear, for I'll make up for it today. How you might ask? By showing you a whole bunch of awesome, and some of them famous, posts made by you guys! Let's not wait any longer, here are this week's repls. @kspgaming2006 [Shows us how to make games using repl.it's new pyxel language.](https://repl.it/talk/share/Not-So-Snake-Game/13512) @mat1 [Mat opens a new realm of possibilities, releasing a program that is more than a game. It's a way of life.](https://repl.it/talk/share/full-blockfull-block-Empty-full-blockfull-block/13315) @eankeen [This post went quite unnoticed, despite it's amazing content. Use this repl to view all questions on repl talk, with a very nice interface.](https://repl.it/talk/share/Replit-Talk-Post-Fetcher/13505) @cloud9c [Checkout this amazing six sided civilization / age of empires game!](https://repl.it/talk/share/HexaWar/13486) @a_siebel [Shows us how to use a really awesome wrapper on pygame! I highly suggest anyone that has used pygame in the past, check this out.](https://repl.it/talk/share/Miniworldmaker/13299) @Scoder12 [Via the power of websockets, checkout this program to sync your repls, and have them work together!](https://repl.it/talk/share/Coordinate-your-repls-with-WebSockets-up-down-arrow/13280)
6
posted by 21natzil (595) 30 days ago
9
Weekly Repls #32
*Snap* And just like that, half of all repls cease to exist... just kidding! Not even Thanos would want that. Instead, Thanos and the avengers want the weekly repls, so that's just what I'll do! Here's a challenge for this week, make an avengers themed repl (But no spoilers!!!) @RobotScorpion [Has a great idea, and does a great job implementing it. Put your security cameras online, and have website visitors report crimes on cams to win rewards!](https://repl.it/talk/share/CrowdcamOnline/13757) @JesseMalnik [Creates a very simple AI, without the use of tensorflow and such!](https://repl.it/talk/share/Neural-Network-Class-in-Python/13713) @sojs [Watch as balls bounce around in a space without gravity on this mesmerizing site.](https://repl.it/talk/share/Bouncy-Balls/13655) @SPQR [Utilizing repl.it polygott feature, you can get games such as minecraft running on repl.it (though, not well)](https://repl.it/talk/share/Minecraft-on-Replit/13590) @ItsEmpCs [Simulate your hacking experience in this idle clicker game!](https://repl.it/talk/share/A-great-Hack-the-world-idle-game/13591) See you all next week!
3
posted by 21natzil (595) 23 days ago
14
Mark your question as ✔answered on Repl Talk
You can now mark your question as answered on [/talk/ask]([https://repl.it/talk/ask](https://repl.it/talk/ask)). Also, If you know the answer to someone's question you'll get awarded 5 cycles if they choose your answer as correct! Once a comment is marked at the answer, it will be pinned to the top of the thread. Try it out and let us know what you think. ![answer](https://storage.googleapis.com/replit/images/1555359506197_1bc94a757fb336d6baba39768fb04320.gi)
3
posted by moudy (48) 1 month ago
14
[UPDATE AS OF 4/15/19]: 📕Language Learning Club 🤓
## *Update* I have books/resources, and they're free! **SCHEDULING** We will be working on 1 concept a week, starting today. Next Monday, I'll check in with everyone--if that's too fast or too slow, we can always change it. But that will be the pace to start. **VOICE CHATS** [Discord](https://repl.it/discord) voice chats will begin next week (4/22/19) and decided on based on the results of the following polls: **JAVA poll link:** https://doodle.com/poll/kzukrpm3z8dd44m3 **GO poll link:** https://doodle.com/poll/piq93mhaipxz8wx9 And without further adieu... your books: **JAVA LEARNERS:** http://greenteapress.com/thinkjava6/thinkjava.pdf **GO LEARNERS:** https://gobyexample.com I encourage everyone to download/save this information somewhere just in case! ----------------------------- Hey everyone! Following up on @amasad's post [here] (https://repl.it/talk/announcements/Language-Learning-Club/11191). We're building out some learning materials over on our [Discord server](http://repl.it/discord?channel=llc), and we would love your input! We've now added a few Language Learning Club channels, with the idea being we'd all learn together. Before we choose our very first language, I'd love to see what you all are interested in learning. If you could fill out [this survey](https://docs.google.com/forms/d/e/1FAIpQLSeP5Y5MplZbX5oMScat21zV0eJlnXLb7audGT5EC13zizbuUg/viewform?vc=0&c=0&w=1) by Weds at 5:00 PM CST, that'd be great. Feel free to post any questions/concerns below. P.S. YES, we will have voice chat for this! 🗣
10
posted by katyadee (429) 2 months ago
15
Repl Talk notifications are here
We just added Repl Talk notifications. Instead of digging through your emails you can now see your notifications at https://repl.it/notifications. In the coming weeks, we'll make notifications even more useful by adding additional context (like the details of the related post). Let us know what you think and share any feedback/suggestions.
9
posted by moudy (48) 2 months ago
15
Two new languages: Nim and Crystal
Continuing on our language-adding binge, today we're excited to announce two new languages: [Nim](https://nim-lang.org/) and [Crystal](https://crystal-lang.org/)! ## Nim Nim is a statically-typed language tailored for systems programming. It's fast but it also looks good and is easy to use. Furthermore, it's cross-platform and sports multiple compile targets (including JavaScript). [Give it a spin](/languages/nim)! ![nim](https://storage.googleapis.com/replit/images/1552684457928_c22784535191bb2bf65f97c503395389.gi) ## Crystal Crystal plays on the same theme as Nim -- a statically-typed language with a pleasant syntax inspired by Ruby. Additionally, Crystal early catches bugs like null references and sports a powerful macro system. [Give it a spin](/languages/crystal)! ![crystal](https://storage.googleapis.com/replit/images/1552684613897_f4793eefe5ee371786cbff80f97a1fd0.gi)
14
posted by amasad (1172) 2 months ago
19
🥇repl.run homepage contest 💻
We're about to release [repl.run](https://repl.it/talk/announcements/BetaExplorers-Announcing-replrun-publish-your-terminal-apps-as-websites/7802) to the public and we want something cool to exist at the [root](https://repl.run). Right now we have Star Wars ASCII animation. Which is kind of lame (Star Trek FTW!) so I'd like to run a mini contest where the winner repl.run program would get featured at the root and you also get a $50 Amazon Gift Card to sweeten the deal. I think it should be something fantastic. Go crazy. Make it weird. The only requirement is that it has some explanation of what repl.run is for new users. Here's a sample copy for what the intro could say: - title: repl.run - tagline: publish your terminal apps as websites - description: up until now there was no way to publish terminal applications on the web. Although terminal apps is what most programmer start their career building (e.g. Hello World) most programs live and die on the coders' machine. repl.run changes this by making it possible to publish an app written in any language that repl.it supports on the web. Deadline: Friday the 22th
28
posted by amasad (1172) 3 months ago
13
Introducing @mention suggestions (and myself)
Hey all! I recently joined the Repl.it team and am focusing on repl-talk. I just added suggestions for at-mentions. To try it start typing "@" on a new post or comment. You can use the UP/DOWN arrow keys to navigate and hit ENTER or TAB to select. ![mentions-loading](https://storage.googleapis.com/replit/images/1552581024081_4517b8d705ec5e330d483e902cb1fc5d.gi) Try it out and let me know if you have any feedback. Also, let me know what other features you would like to see in repl-talk. Thanks!
15
posted by moudy (48) 2 months ago
18
Introducing Julia support
Typically programmers are forced to make a tradeoff between speed and ease-of-use. [Julia](https://julialang.org/)'s designers set out to solve this problem and make a language that achieves both! It seems to have achieved its goal as its one of the world's [fastest growing](https://www.zdnet.com/article/is-julia-fastest-growing-new-programming-language-stats-chart-rapid-rise-in-2018/) programming languages. No doubt it's the third-most [requested language](https://replit.canny.io/languages-requests?sort=top) on Repl.it. That's why today we're excited to announce Julia support. ## Walkthrough Julia also ships with an amazingly powerful REPL. In typical Repl.it fashion you'll be able to write full programs in the IDE and then drop into the REPL to explore the output: ![ezgif.com-gif-maker (3)](https://storage.googleapis.com/replit/images/1551987270744_eb3fe8993044774524c8b8dc845519a0.gi) However, it doesn't stop at that. Julia ships with a really nice documentation engine in the REPL. Simply hit control+? and you'll get the help prompt: ![ezgif.com-gif-maker (4)](https://storage.googleapis.com/replit/images/1551987346916_21355d88d18c2c16e8090d6f043ece8b.gi) Finally, Julia has an easy way to include packages from its registry and Repl.it supports that too: ![ezgif.com-gif-maker (5)](https://storage.googleapis.com/replit/images/1551987404312_6fcdda00bd40dc6ebc10e7f9fea80d4d.gi) ## Conclusion This release comes on the heels of our [TypeScript release](https://repl.it/talk/announcements/Introducing-TypeScript-Support-and-JavaScript-Intellisense/11426). This is because we've built infrastructure that allows supporting more languages faster in the future. Give [Julia](/languages/julia) spin and let us know what you think.
4
posted by amasad (1172) 3 months ago
20
Repl.it Node API
# Hey Repl.it! I made a Node module that lets you create, write files to, and run Repl.it projects! If you want to install it, it's called `repl.it-api`. **If you want to quickly try it out there's a usage example hosted on Repl.it close to the end of this post.** ## Why? I wanted to distribute a NPM library that uses fairly modern coding practices that also has a use. One possible use is a command line program for deploying projects to Repl.it. Earlier I made one but as soon as Repl.it updated their API it broke and was a pain to maintain. With this dedicated, isolated library, something like that would be **much** easier to both develop and maintain. The other thing which I am more excited about, is a "Deploy to Repl.it" button. Have you ever seen those buttons on GitHub repos that say "Deploy to [Now/Heroku/Netlify]"? They're super awesome because you can have your own copy of an app deployed in seconds. I want to make one for Repl.it. You click the button and it transports you to a new Repl.it project with all the code ready to go and running. ## More Info If you're interested, here are some links where you can find documentation on how to use and install it: - [A usage example on Repl.it](https://repl.it/@Kognise/Replit-API-Example) - [The package on NPM](https://npm.im/repl.it-api) - [The code on GitHub](https://github.com/arch-lord/repl.it-api) - And if you want, contact me on Discord at `archmaster#6356` (nicked archaka) If you have any comments, questions, or feedback of any sort I'd love to hear it in the comments! Thanks for reading this far :D
4
posted by Kognise (142) 3 months ago
18
Refer a Friend for Free Hacker Plans!
## What's this Referral Program? Do you want to get Hacker Plan, but are unable to pay? Worry no more - with the referral program, you can get Hacker Plans for free! Grab your referral link from your [account settings](/account). Sharing that link with anyone will bring them to the upgrade page, filling in your name as the referrer. If they purchase it, with you as the referrer, you'll get a free 30-day voucher for the Hacker Plan that you can redeem (or gift to someone else to redeem). You can see a full list of all your earned vouchers in your account settings. In the future, we may have referral competitions with hot hot prizes! Any questions? Post below! ![](https://media.giphy.com/media/eCqFYAVjjDksg/giphy.gif) ## FAQ **Q: How many times can I refer a friend?** A: You can only refer the same friend once. Meaning, if Alice refers Bob and Bob cancels his plan right away, Alice can't refer Bob anymore. **Q: How many times can I use a coupon?** A: Only once! And each one is good for 30 days.
7
posted by timmy_i_chen (851) 3 months ago
21
Repl.it Stability Update
Some of you might have noticed some features on Repl.it might have not been working quite as expected over the last few days. To be more specific, we've had a few bugs with servers not waking up and packages not installing. We've been actively working to get these bugs fixed, but you might want to know what caused them. Behind the scenes, we've been migrating Repl.it to use a brand new protocol when talking to your container. Our new protocol has all sorts of fun stuff like channels to do multiple things at the same time and collaboration as a first class primitive. We've been using the same protocol since the beginning of our containerized repls (about 4 years ago) and it has long since started to show its age. It was designed for a simpler time when Repl.it was just sending an `eval` and get a `result`. Pretty much every feature after that was hacked on top of this simple protocol. Very soon we'll start rolling out features previously not possible in our old protocol. At this point, all the bugs (we know about) related to the new protocol have been ironed out. If you run into anything unexpected please post them over at https://repl.it/bugs/. Or, if you are on our discord, let us know in the #bugs channel (you can @turbio). Remember to include a link to your repl, that helps us out a lot.
8
posted by turbio (34) 3 months ago
22
New Feature: Folders for your Repls
If you look at our [top requested features](/feedback/?sort=top), repl management is both the 3rd and 4th most requested feature. We understand that many people have multiple uses for Repl.it, and that they want to organize their repls to more easily find the ones they want. ![folder-demo-min](https://storage.googleapis.com/replit/images/1548984875519_01e1c638882256eeb64de63e2c7fb260.gi) To that end, we are happy to announce that you can now organize repls into folders on your [repls dashboard](/repls). You can create as many folders as you like, and you can create folders within folders. Moving repls is a breeze - you can drag and drop repls into folders. If you want to move a repl or folder deep into nested folders and you don't want to drag it around too many times, you can do so by clicking on the 3-dots-menu and selecting "Move". Selecting multiple repls is also a breeze. Hold shift to select a range of repls and folders, or hold ctrl/cmd to select specific repls and folders. Multiple items can be dragged and dropped into folders. This is just the first step in a few steps we're taking to improve the Repl.it experience. Soon, you will have a special folder called "Unnamed" where unnamed repls will automatically go. If you wanted to get a head start on this feature, you can do so simply by creating a new folder called `Unnamed` in your home directory on your dashboard. Newly created repls will then go into this folder. We have more planned and in the works. We're excited to see how users will use this feature, and we welcome any suggestions and feedback you have on our [feedback boards](/feedback). You can also leave a comment on this post.
12
posted by timmy_i_chen (851) 4 months ago
11
Weekly Repls #29
Sorry, no weekly repls for today. See you guys next week! ... Alright just kidding, how could I resist to show off all these amazing projects! Plus, we already did an April Fools day prank on the *"Ocaml.it DIscord Server"*, so no need to do one here too. Enough of the pranks, lets finally show off this week's repl highlights! @Lord_Poseidon [A while back, we announced this game, but it was hidden in a message. Now that it's announced, here's a tutorial on how you could have solved that puzzle!](https://repl.it/talk/learn/How-I-solved-the-Secret-Announcement/12577) @21natzil [Scheduling events can be hard, especially when they need to happen in a long amount of time. ActionDB solves that issue!](https://repl.it/talk/share/New-Action-lib-Persistent-gevent-scheduler/12486) @glench [To make developing games easier, this person made python play, a wrapper on pygame to make game developing super easy!](https://repl.it/talk/learn/Announcing-Python-Play-beta-and-a-pong-game-tutorial/12430) @smrsan761 [Made a very impressive Tetris game, with no external libraries, runs very smoothly!](https://repl.it/talk/share/Tetris-without-canvas/12433) @Scytherbar [Makes an easy to use chatroom client, colorful and all!](https://repl.it/talk/share/Chat-Room-Online/12372)
2
posted by 21natzil (595) 2 months ago