Mon, Apr 5, 2021Introducing Kaboom
Games are awesome, making games is even more awesome. I love making games, making games makes me happy, being happy makes me make better games, i hope everyone can be happy and enjoy making games! -- me, today We at replit are thinking about ways to make programming more accissible, Kaboom is an effort to try make game making more accessible and fun for both beginners and intermediate programmers. I want to discuss some core designs of both the library and the editor here. (it's strongly recommended first check out some examples on the kaboom website to get a quick taste of what kaboom looks like) Official website
Wed, Mar 10, 2021Markdown Preview
It's always been super fast to start writing markdown in a repl. However, the more we used it, the more we realized there were some key features we were missing that would make our lives easier. Which is why we're excited to announce all of the new improvements we've made to the markdown editing experience on Replit! Now, if you open up a markdown file (a file with a .md extension), you'll notice that a new tab appears to the right of your editor with the file's contents. This allows you to see a live preview of the rendered markdown right as you type it! You can also toggle the preview off if you no longer wish to see it. The file that's being previewed will persist in the markdown tab until you open another markdown file or toggle it off explicitly. This has the added benefit of being able to see instructions or notes, like the repl's README, alongside your code. You'll also notice in larger documents that the preview window stays synced with your current position in the file. As you type or move your cursor in the editor, the markdown pane will scroll with you, consistently keeping your cursor in the center of view. Lastly, we've added the ability to render local images that you reference in your markdown file directly in the preview pane!
Tue, Mar 9, 2021Replit Dotcom
tl;dr In the next few days, we'll be moving domains from "repl.it" to "replit.com." Nothing is required on your end -- all urls will automatically redirect and you'll remain logged-in (as if by magic). Nothing else changes. We prefer if people referred to us as "Replit" (pronounced rep-lit 🔥). To understand the origins of our name and how we got here, it's useful to tell you the Replit genesis story: Back in university, where I was studying Computer Science, I had to set up a development environment for every subject on each computer I wanted to use to work on homework. Whether it was object-oriented programming in Java, Data Structures in C++, or Operating Systems in C, they all had their unique setup process complete with gigabytes worth of IDEs, system dependencies, and packages to download. Even worse, IT admins locked down some computer labs at school, and you had to chase them down to install software. Still worse, sharing code was a nightmare. You had to email files around, and more often than not, they didn't run on the professor or other student's machines because of versioning issues. Around the same time, we saw giant leaps in browser and web technologies. Inspired by Google Docs, I had an idea: Why not write and run code in the browser. Make it extremely easy to share code in a reproducible environment. Another inspiration for such a system was a cloud portable Virtual Machine where you wrote code and shared the entire machine that could be cloned by others. Another mental model useful for inventing what became Replit was REPLs—inspired by Paul Graham's Lisp essays, SICP, and Scheme—I thought a REPL was the easiest way to spin up an environment to learn to program. After years of work, in 2011 we had a prototype, which we initially called "JSRepl".
Mon, Mar 8, 2021Introducing Threads: Have Conversations Around Code
A few months ago, we announced Annotations for our education users, a feature which lets Replit collaborators highlight code and discuss it in context. As classrooms were remote, Annotations became a major part of our teachers' workflow. Over a 100,000 annotations have been created since its launch. Students have used it to ask questions and clear doubts. Teachers have used it to provide feedback, and help students debug issues with their code. We've learnt a lot from them. And now, we're building Threads to make the experience complete. As repls have become more powerful, the way people use them has evolved.
Thu, Feb 25, 2021HTTPS by default
The easiest, fastest way to put a server on the internet should also come with secure defaults. That's why we're excited to announce that Replit is now HTTPS-first, which brings additional privacy, integrity, and security benefits to servers hosted on our platform. This applies to every HTTP server repl on Replit. HTTPS-first Our hosting infrastructure makes it easy for anyone to instantly have a secure, HTTPS-secured server by default without having to lift a finger. Any repl can open up a port and we'll automatically give it a publicly-accessible URL. Routing requests from the internet through to individual repls is handled by a component of our infrastructure we call the proxy.
Mon, Feb 8, 2021Hosting Apps with Always On
Today we're excited to announce that Always On repls are available to all hackers! Anyone with Hacker plan can choose up to 5 repls and keep them running all the time. Users with a free plan can access Always On power ups using Cycles! With Always On, you can for example spin up and host an app like a Discord bot in 30 seconds: As a reminder, Replit gives you most of what you need to rapidly build and ship apps in the cloud -- at lightning speed: A blazing fast online IDE Automatic Package Management Automatic hosting
Wed, Feb 3, 2021Introducing Spotlight pages
Replit has never been just about code. It's also about the stories we tell, the apps and games we build, and how we collaborate. It's a part of Replit's DNA to make our community baked into the experience of learning and making. Today, we're announcing Spotlight pages: a new way to showcase your repls to the world. Whenever you visit someone else's repl, you'll see its Spotlight page where you can play with the repl's output, browse its code, and comment all in one place. And if you want to start a multiplayer session with someone new, you can directly request to edit their repl. Here's a demo of adding a new feature to a game using the Kaboom framework on Replit.
Fri, Jan 29, 2021Rails in 30 seconds
Philosophically, Replit and Rails are incredibly aligned. We both exist to remove excessive configuration and complexity that stands in the way of building things. However, for a long time, it bothered me that Replit didn't work well with Rails because we focus on small and lightweight projects. Recently, our infrastructure has gotten much more powerful, and I decided to give Rails another spin. It turns out it's not only possible to do Rails on Replit; it's quite a delightful experience. It takes less than 30 seconds from starting a project to seeing the welcome screen: There is no magic under the hood. You can view the template here. I merely followed the getting started guide on the rails site and had to do only a couple of modifications to make the development website show up in the iframe on Replit (detailed in the readme file). Give it a spin, and let me know what you think!
Fri, Jan 15, 2021Native Graphics Love ❤️
We have reimagined the native graphics experience on Replit. Our community of educators and hackers have given us immense feedback on graphics performance and reliability. Yes, It Runs DOOM! Our engineers have built a native graphics experience that is faster, more reliable, and elegant. Games and other native GUI applications launch quickly and reliably on our platform. Common issues like applications not launching and window resizing have been fixed. Among our most popular use cases is Pygame for beginner game programming and Java Swing for AP CSA students. Engineering behind the scenes Before we take a peek behind the curtain, let's look at a very high-level view ofhow graphics work in practice. Like many Linux systems, Repl.it uses the X Windows System to display graphics. The X Windows System is natively a network-ready system: so there is one process that directly interacts with the hardware (the server), which doesn't need to be the on same machine where the program (the client) is being run. Nowadays, the networking capabilities of X are rarely used, since many optimizations rely on the fact that both the server and client processes run on the same machine and are able to share memory between them cheaply, to avoid having to move around massive amounts of graphics data through a narrow networking pipe. In order to support being able to view and interact with graphical user interfaces remotely other techologies are used, like VNC. And just for completeness' sake, X is not the only solution for graphics in Linux, and Wayland is slowly becoming the alternative of choice for X. Android users will be more familiar with SurfaceFlinger.
Mon, Dec 28, 2020Tabbed Shell
Among the many things that makes Repl.it special is our ability to provide free compute to millions of users. We've built a platform that not only lets you write and run code, but also gives you access to a Linux container through which you can execute arbitrarily complex commands. Despite being such a powerful feature, we haven't done a great job of exposing that capability to its fullest. Today, we're excited to announce that we're rolling out a redesign of the shell as a separate tab next to the console. Although we've already had a shell, this new redesign helps make it a more integral part of the experience in a repl. Here's what it looks like: Now it'll be easier than ever to switch between viewing your program's output in the console and executing bash commands in the shell. This will also greatly benefit beginners that are new to Linux since it will expose them to an easy to use shell that they can play around with in any repl. Note that you can still use the existing keyboard shortcut (Cmd/Ctrl + Shift + S) to open and focus the shell in addition to the new tab UI. If you have any comments or feedback, please let us know on Canny. We'd love to hear it!
Tue, Nov 3, 2020reCAPTCHA and the anonymous experience
When we started Repl.it, we set out to remove all friction from getting started with programming. That also meant getting out of the way and letting you code as quickly as possible. As part of that, and for a long time, you could start coding on Repl.it without a user account. We anticipated that giving free unfettered compute to the universe would be challenging. Still we didn't flinch and made it a point to innovate on sandboxing, security, and anti-abuse tools, and we've been largely successful at that. Today, Repl.it the largest open compute platform on the internet, one where you don't need a credit card or even an account to start executing. We run 150,000 concurrent containers, which is 10x what we used to run last year. We have our fair share of war stories, like when we had to battle dark-web hackers trying to sell DDoS attacks from our site for Bitcoin. Luckily reCAPTCHA from Google was a massive help, protecting against botting made it possible for us to continue to grow and offer our services for free. Sadly, earlier this year, Google surprised us that they're going to be charging for reCAPTCHA. Of course, it makes business sense for them, but for a startup like ours, operating at the scale we operate at, it meant that we have to pay them more than we make in monthly revenue[1]. That leaves us with two choices: leave the site vulnerable to botting and attacks resulting in an immense amount of time spent fighting abuse and risking outages
Sun, Sep 13, 2020A database for every repl
Repl.it is already the best place to build your apps. But there was a missing piece: where do you store your data? We’re introducing Repl.it Database: a fast, free, and easy key-value store that’s built into every repl.[](preview end) All you have to do is import one of our packages for Python, Node.js, or Go, and you can instantly start setting keys in your database. Because Database is built-in, there is no setup, provisioning, or configuration. It's the fastest and easiest way to store data on Repl.it.
Wed, Aug 26, 2020CLUI Command bar and Search
One of the challenges of adding new functionality to any interface is balancing discoverability with visual clutter. We've written before about how a universal command bar can be a great way to expose features without overloading the UI with buttons. This pattern already works well for us in our mobile interface, so now we're bringing it to desktop! Here's a demo of what it looks like: The new command bar replaces our old shortcuts and file switcher modal. Just like before, you can use keyboard shortcuts (Cmd/Ctrl + P to switch files, Cmd/Ctrl + K to bring up all the options, etc) to interact with it. As we add more commands, power users will be able to have a keyboard centric experience while beginners can learn about features by exploring the different options. Among the new features introduced in the updated command bar is Search! Search indexes the contents of every file in your project (with the exception of hidden files such as node_modules and anything in your .gitignore) and allows you to see every instance of a query across every file in your repl. From there, you can scroll through the results, see which line and file they appear in, and select a result to navigate directly to that line in the code like so:
Tue, Jul 28, 2020Shareable Computing
This is a guest blogpost by GPT-3, the new AI software from OpenAI. We only gave it the title and "Repl.it" and it generated the following post for us For a while, I wondered why it's so hard to share code. Surely sharing webpages is easy, since you can link to them with a URL. But webpages are static. They're basically just text files. Their content never changes, so there's no reason to try to sync it. What changed my mind was the birth of "repl" programming. With repl, you type your program into a text box, press a button, and it runs immediately. A second text box shows its output. Repl turns programming into an activity like writing prose, in which you revise continuously, as many times as you like, and always with access to the latest version. I used to write my first drafts on paper, and then rewrite them in Word, or Google Docs. But repl turns code into the equivalent of a first draft. At first, repl was strictly for "quick-and-dirty" programming. But now that it's become popular, more and more people use it for serious coding. And repl is inherently more social than code sharing has ever been. Even if you're the only person in the world working on a particular program, you can invite your friends to code with you by sharing your repl, and anyone can see the source code.
Sun, Jul 26, 2020Emmet support
Emmet is a plugin for many popular text editors which greatly improves HTML & CSS workflow, it's also one that's been requested by many of our users. It works for both HTML and CSS and you can use emmet in any repl as long as you're editing an HTML or CSS file. Please check the Emmet docs to learn more about it, and give it a spin by starting a new HTML repl and let us know what you think.

