Amjad Masad

@amasad (778) • Replit
ceo of repl.it
▲
12
🥇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
16
posted to Announcements by amasad (778) 8 days ago
▲
10
New repl.art for a secret project
It's become a tradition where for new projects we're working we get art done. That way we get to hype up our releases way ahead of time __#vaporware__. You can always go to [repl.art](https://repl.art) for all the art. So without further ado we bring you GFX (that's as much as we're letting on): ![gfx3](https://storage.googleapis.com/replit/images/1549934789681_4ae9aac3970312d7e54a77fb94b47e1f.pn) ![gfx2](https://storage.googleapis.com/replit/images/1549934790055_d2892fea23546bbca431767cd9e416ca.pn) ![gfx1](https://storage.googleapis.com/replit/images/1549934790149_2abe14b2e1d1f611822b3b8e6a477af2.pn)
1
posted to Announcements by amasad (778) 10 days ago
▲
14
💲Make Money 💲Building a Bot 🤖
Hey, I'd like a bot that reads comments and posts from repl talk in realtime (you can use @mat1's `repltalk` pip package) and posts it to a channel on Slack. In the comments propose a bid in dollars and deadline date and I'll select the best bid and when you're done I can send you the money via your favorite money app, gift card, or check.
15
posted to Ask by amasad (778) 27 days ago
Pinned
▲
228
👋✨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 😉
665
posted to Announcements by amasad (778) 8 months ago
▲
9
PySimpleGUI Adds Support For Repl.it
PySimpleGUI, the simplest cross-platform Python GUI framework just added support for Repl.it (web in general) and it's the simplest way I've seen UI being done on Repl.it yet. ![ezgif-3-d257c06699ea (1)](https://storage.googleapis.com/replit/images/1548743581870_2040a56b3c7ca4c642ccd97e9a4df3d1.gi) It has good autocompletion and it's [well-documented](https://pysimplegui.readthedocs.io/). It's especially great for new coders that want to try their hands at coding GUI. To get started simply import the library, create a window, and give it a layout! Here is a name reading app and repl: ```python import PySimpleGUIWeb as sg window = sg.Window('hello world').Layout([ [sg.Text('hello world')], [sg.InputText('enter name')], [sg.Submit(), sg.Cancel()] ]) [button, [name]] = window.Read() if button == 'Submit': print('Hello ' + name) ``` https://repl.it/@amasad/PySimpleGUI
14
posted to Announcements by amasad (778) 24 days ago
▲
65
Announcing Universal Package Manager
Open-source has revolutionized software development -- it wouldn't be an overstatement to say that it's been the most significant productivity win for developers in the last decade or so. At Repl.it, our goal is to make programming more accessible and what better way to do that than make available to programmers the entirety of open-source packages available at their fingertips. Today we're excited to announce our Universal Package Manager -- the Repl.it package manager that will grow to support every language on our platform. Where traditionally you have to learn and use different package managers for different languages, now you can install any package in any language that we support behind the same interface. We're now starting with JavaScript, Python, HTML/CSS/JS, and the web frameworks that we support. ![](https://thumbs.gfycat.com/AmazingPessimisticAddax-max-14mb.gif) We've had [basic support](/site/blog/python-import) for automatic package detection and installation for a while now, but what changed is that we support search and spec files (package.json, gemfile, requirements.txt, etc) across the board. Furthermore, where we used to write custom code for every language that we support, now we merely add fields to a config file. This was made possible by creating a common package manager runner abstractions. Adding package manager support for a language is as easy as adding a couple of fields in a JSON config: ```json "dependencies": { "env": { "PYTHONPATH": "/run_dir/customize", "MATPLOTLIBRC": "/run_dir/" }, "installDir": ".site-packages", "findCommand": [ "python", "/run_dir/findreqs.py", "--ignore", "/home/runner/.site-packages" ], "installCommand": [ "pip", "install", "--target=/home/runner/.site-packages" ], "specFile": "requirements.txt", ``` In addition to this we have a more ambitious project in the works to build the same package manager that works across all languages (with the same semantics). You should [come work](/site/jobs) with us. [Signup](/signup) and start [coding](/languages).
28
posted to Announcements by amasad (778) 7 months ago
▲
15
HTTPS-ready custom domains for websites & servers
We released [web hosting](https://repl.it/site/blog/deploy) back in March and since then you, our dear replers, have deployed 250,000 websites that served outside traffic. Some of those websites were games that went viral, apps that gained a lot of users, and APIs that served lots of traffic. Although Repl.it gives you unlimited free `repl.co` domains, custom domains is something every business or respectable project requires. That's why today we're excited to announce free HTTPS-ready custom domains just a few clicks away. In less 30 seconds I was able to link my [10print.art](https://10print.art) domain to my Commodore 64 maze simulator built on Repl.it. ![ezgif.com-video-to-gif (1)](https://storage.googleapis.com/replit/images/1539906371008_8d9e40b97a54be789407aaa91f0aada0.gi) This has been in beta for a couple of days and we've already seen lots of fun apps getting domains: - https://hop-fighter.tk/ by @kaldisberzins our most favorite multiplayer game written in NodeJS - https://darktheme.tk/ by @mat1 is a site-wide dark theme for Repl.it - https://classaware.cf/ is the popular class schedule app by @Vandesm14 - https://plat.ml the platformer game by @Fhillis written in NodeJS If you add `/__repl` to the domain you'll be able to get to the repl powering the site! With this, anyone with minimal programming knowledge can build and deploy websites: no git, cli, or any other complications are required -- just code and ship! Start [here](/languages) and select HTML for static sites or your favorite language or framework for a server/fullstack app.
19
posted to Announcements by amasad (778) 4 months ago
▲
15
First Official Repl.it Art: MULTIPLAYER
We commissioned an artist to make something for the upcoming Multiplayer feature (renamed from "live-coding"). This is what he came up with -- what do you guys think? ![replit-3](https://storage.googleapis.com/replit/images/1541443245473_26de59e47478d2db85a79b2efe3b7bdb.jpe) ![replit-comingsoon](https://storage.googleapis.com/replit/images/1541740625199_6c805c431f2d3d00932296548fc2977a.jpe)
8
posted to Announcements by amasad (778) 4 months ago
▲
19
[Beta/Explorers] Announcing repl.run: publish your terminal apps as websites
Almost everyone's first computer program is a terminal program along the lines of: ```python name = input('What is your name?\n') print('Hi, %s.' % name) ``` Every programmer has experienced an intense sense of accomplishment when someone uses their program. The problem is that, until today, there was no easy way to share text and terminal-based programs. That's why we're excited to announce [repl.run](https://repl.run), where every, and I mean every, terminal program on Repl.it can be published as a website. You'll get a website with a fullscreen terminal with your program automatically running. Here's the @pyelias's classic chatroom `repl.run`ing: ![Screen Shot 2018-10-19 at 4.45.43 PM](https://storage.googleapis.com/replit/images/1539992794270_d005a7259a30aac0a7a88ae303ec0874.pn) Here's what it looks like to publish @ericqweinstein's snake game: ![ezgif-5-af050f7332f1](https://storage.googleapis.com/replit/images/1539992004450_47b122d708c762914fe14f8bebfab063.gi) You can play it at [sssnake.ericqweinstein.repl.run](https://sssnake.ericqweinstein.repl.run/). And the chatroom here: [chatroom.pyelias.repl.run](http://chatroom.pyelias.repl.run). This is only the beginning. We think we built a whole new way to share terminal apps on the web and it's going to take us a while, with your help, to explore all the implications here. Get your own repl.run link by [becoming an explorer](https://repl.it/talk/announcements/Become-an-Explorer/6180).
6
posted to Announcements by amasad (778) 4 months ago
▲
50
Repl.it Discord Bot
https://repl.it/@amasad/discord-bot-example It started from just trying out discord.py but people on the Repl.it discord \(https://repl.it/discord) loved it so we made it better. Join discord and check it out :D Edit: I made it into a server so that it stays up: https://repl.it/@amasad/discord-bot-server
21
posted to Share by amasad (778) 10 months ago
▲
51
90s LIVE CHAT!! JOIN NOW
https://90s-chat--amasad.repl.co/ source code: https://repl.it/@amasad/90s-chat
18
posted to Share by amasad (778) 12 months ago
▲
12
Blog in Node.js
Check out my blog that I wrote a while ago in Node.js. It used to be hosted somewhere else but now repl.it is powerful enough to host it for me. The way it works is that it has an `essays/` folder with markdown files and every file has a descriptor -- title, date, etc -- at the top. When the server starts it reads the essays directory, parses the files, and builds the index. It's simple, but I like the freedom it gives me to change it easily, unlike some static site generators where they can be really hard to change.
3
posted to Share by amasad (778) 3 months ago
▲
34
ATTENTION: Scoreboard API
You can use this to create and persist a scoreboard for your game. It's very simple: 1. include a script in your app `<script src="https://scoreboard--amasad.repl.co/scoreboard.js"></script>` 2. You'll get a global object `scoreboard` 3. `scoreboard.submit\({username: 'playerNameHere', score: numberScoreHere}\)` 4. List the scoreboard using `scoreboard.list\(\).then\(topTenScores => console.log\(topTenScores\)\)` The script is smart enough to create a board for your game \(it's domain-based\) so it's very easy to use. End to end example here: https://repl.it/@amasad/scoreboard-example Here is the source code for the service if anyone is interested https://repl.it/@amasad/scoreboard 😉
17
posted to Share by amasad (778) 11 months ago
▲
10
Best resources for learning how to code?
It's no secret that repl.it is a destination for a lot of new programmers or learners. Many of them ask us for recommendations for the best resources to learn how to code. Be it tutorials, videos, courses, etc. We're trying to build the Learn board to become a destination for people to find coding content. In the meantime I'm putting the question to the community: what's the best resources that helped you learn?
13
posted to Ask by amasad (778) 5 months ago
▲
15
Tic Tac Toe in remi a cross-platform Python Remote GUI Library
We're toying around with [remi](https://github.com/dddomodossola/remi): a platform-independent Python GUI framework. It works on Repl.it because it renders to HTML. Events are sent back to the Python program via Websockets to react to. It's a pretty neat idea and surprisingly faster than I expected. It's perfect for people who have learned Python but haven't done web development yet (which is relatively more complex and takes time to get into). This is a GUI TicTacToe game that me @basicer and @masfrost coded together. Here is the source: https://repl.it/@amasad/tictactoe
8
posted to Share by amasad (778) 6 months ago
▲
13
It's HACKTOBER
Skeleton cow to start your october
7
posted to Share by amasad (778) 5 months ago
▲
9
Round-robin load-balancer with other repls as backends
This is a load-balancer that uses other repls as backends. That way you can build a scalable service on repl.it!
5
posted to Share by amasad (778) 4 months ago
▲
10
ProTip: add __repl to a website or webapp to get the repl
Say you have a repl.co (hosted repls domain) url like my awesome TicTacToe game: `https://tictactoe--amasad.repl.co/` Now if you add a `/__repl` to the url you'll get redirected to the source repl. Try it, copy this url into your browser: `https://tictactoe--amasad.repl.co/__repl`
3
posted to Learn by amasad (778) 5 months ago
Introducing Repl Talk (beta): the friendly discussion and code sharing platform
At Repl.it, our goal is to make programming more accessible. To achieve this, we spend most of our time building the [IDE](/site/blog/ide), the cloud [infrastructure](/site/blog/deploy), and the [tooling](/site/blog/intel). However, ever since the advent of open-source, version control, and collaboration software, programming became much more than just about the act of coding -- it became an inherently social activity. Our foray into Repl.it as a social coding platform started with the [I Built This](https://repl.it/site/blog/feb-2018-competition-results) (IBT) competitions. Every competition had a theme -- games, bots, websites, etc -- people submitted their creations and others voted on them. This opened our eyes to the creativity in our community, and to the energy to which people are dedicating to building amazing things on this platform. There are just too many great moments in the history of IBT to recount all of it but two things stick out as the major driver in thinking this platform could be much more than just competitions: - When @pyelias created his [Chatroom](https://repl.it/talk/repls/Working-Chatroom/3741). We saw people logging in every day, talking with other people, sharing their repls, and asking for help. Furthermore, when @pyelias and @lukaswoodruff created a shared handle @replitcode to collaborate on the chatroom and other projects, we knew that there's so much value in connecting people together. - When @caleblol created his all-time popular game [WebGL Rolling Sky](https://repl.it/talk/games/WebGL-Rolling-Sky/3791) and saw how people were forking it and adding features and changing the game -- for example a level-designer, which Caleb eventually incorporated into his game. ## Introducing Repl Talk So given that we outgrew the competition use-case (although we'll continue to do those). We built this forum to make it easy for all of you to share your creations, discuss various programming-related topics (say talk about your [favorite programming language](https://repl.it/talk/replit-ama/What-coding-language-do-you-like-best/5000)), find collaborators for projects, etc. Repl Talk is structured kind of like Reddit or Hacker News -- here are some of the features: ### Boards Each board has a certain subject/function. The main board is [All](/talk/all) which functions like the front page of Reddit -- all the posts are aggregated there. This is where most users will be viewing submissions unless they want to dig deep on a single board/topic and explore it. Presently, there are three boards: 1. Share: this is where you share your creations with the community 2. Ask: if you have any coding questions or how to best use the platform then you can ask here. 3. Announcements: this is announcements from the Repl.it team. Like this one. ### Posts There are two types of posts: - Repl posts, which have a linked repl that are also embedded below the post - Discussion posts, which don't have a linked repl and can just be texted and images ![Screen Shot 2018-07-16 at 3.32.18 PM](https://storage.googleapis.com/replit/images/1531780456591_7188f3113bf01405431ffe359fbc6689.pn) ### Upvotes/sorting We'll be using the wisdom of the crowd to surface the best creations and topics of discussion -- upvotes! The default of view on the boards is an algorithm that tries to balance between upvotes and time, making it easy to discover new submissions while also surfacing things that people like. We call this "hot". Other ways to sort is by time "new", or by all-time votes "top". ### Cycles (karma) Cycles are Repl Talk's way of doing what's commonly known as Karma. Every time you get an upvote you'll see that reflected on your profile. Anytime you post there will be a number next to your name which is the number of cycles you accumulated. The reason we called it "cycles" and not "karma" is because in the future you'll be able to use "cycles" as cloud credits. You can spend them on getting more resources (CPU, Memory, Storage) on Repl.it to host your applications. We'll announce this officially soon. ### Profiles If you click on a user's profile you can look at, in addition to their repls, their posts and comments. ![Screen Shot 2018-07-16 at 3.28.10 PM](https://storage.googleapis.com/replit/images/1531780117128_f7bf18fe1bafc455575b3fd8a2be207a.pn) ## Values Every discussion board on the internet has a certain culture and value system. For repl talk these are the values that we came up with from observing the interactions on I Built This and thinking about how we can build a great community: 1. We are kind and welcoming. We treat people with respect and friendliness. Being playful is fine, especially with community members you know -- but please be self-aware and always think about not stepping your bounds in a way that's hurtful. 2. Prefer "Yes, and" over "No, but", which means that instead of shutting down ideas you should build on them. We're here to learn from each other and have fun, so while having strong opinions is fine, try to frame your feedback and comments in a constructive way. Ideally, in a way that promotes further discussions and ideas. 3. Prefer giving over taking. If everyone is generous with their time, their feedback, and their creations then the community as a whole would be a lot more valuable. So don't just lurk -- try to upvote, discuss, comment, etc. If your shy, then that's ok, feel free to ease into it. ## What now? To start: 1. Introduce yourself over at the [intro thread](https://repl.it/talk/updates/sparklesIntroduce-yourself/4944). 2. Familiarize yourself with the [rules](https://repl.it/talk/repls/Rules-for-Posting-Read-me/4886) 3. Share your first repl. Even if it's something simple, try to share something -- the community is welcoming to newbies. Have fun and I'll see you around 👋
26
posted to Announcements by amasad (778) 7 months ago
▲
7
Thread with the best repl.it/discord bots
I'm talking to the nice people at Discord on Friday and I want to convince them to partner with us on Discord bots. To make repl.it a semi-official place to build and deploy discord bots. I want to show them some examples. So please paste here your discord bot with maybe a screenshot of what it does. Thank you
3
posted to Ask by amasad (778) 4 months ago
▲
7
10 PRINT
A few years ago I read an entire [book](https://10print.org/) about a single line of BASIC code that runs on the Commodore 64 which creates an infinite maze (a single line!) It's simply this: ``` 10 PRINT CHR$(205.5+RND(1)); : GOTO 10 ``` It was so simple yet so magnificent in what it generated, which made it revered by hackers at the time. Here is an example run: ![WwhRV](https://storage.googleapis.com/replit/images/1529620390161_a42943298b112041943faec9d473a484.pn) So after I finished reading the book I decided to port it to JavaScript. It took almost an entire day and a couple hundred lines of code instead of one (it could've been a lot shorter but that wasn't my goal). I initially used the Canvas API and was disappointed with the result. I wanted -- needed -- an exact or close to an exact rendition of the original C64 output. So I rewrote it to use a lower-level API, to basically draw pixels, which made it look a lot closer to the original. Finally, I had to write a maze solver. So I wrote a depth-first-search agent that would try to traverse the maze and finds solutions for it. So I just ported this to Repl.it and I present to you: - website: https://10print--amasad.repl.co/ - source: https://repl.it/@amasad/10PRINT
3
posted to Share by amasad (778) 8 months ago
▲
6
July 11th Repl.it IRL Meetup -- San Francisco
Our [first meetup](https://repl.it/site/blog/first-irl) was a blast so we'll be doing it again, but this time a slightly bigger venue and a slightly different format. Venue: [Bradfield School of Computer Science](https://bradfieldcs.com/) [576 Natoma St, San Francisco, CA 94103](https://goo.gl/maps/CQpvexqXKbn) Format: -- Pizza and socialization -- Repl.it updates and demos by @masfrost -- Show and tell -- If we have time we'll do a mini-hackathon so bring your laptops! **RSVP on our [Meetup event](https://www.meetup.com/Repl-it-IRL/events/252232488/).**
0
posted to Announcements by amasad (778) 8 months ago
▲
5
Hacking Shell access on Repl.it
😱 ![bash](https://storage.googleapis.com/replit/images/1530817131863_7e6728896ed3de43abf0cc705482b5eb.gi) It's not entirely ready yet but you can try bash here: https://repl.it/languages/bash
1
posted to Share by amasad (778) 8 months ago
▲
5
A Node.js program that prints the American flag 🇺🇸🇺🇸🇺🇸
https://repl.it/@amasad/america ![Screen Shot 2018-07-04 at 2.40.04 PM](https://storage.googleapis.com/replit/images/1530740681000_95696b0086352787b681b7a8dfef1be8.pn)
0
posted to Share by amasad (778) 8 months ago
▲
3
repl name generator
This is what we use for automatic names on repl.it if anyone was curious.
1
posted to Share by amasad (778) 3 months ago
▲
2
Happy Eid
Muslim eid is mostly associated with sheeps but I couldn't find a sheep say library and so this will do for now 🐑
2
posted to Share by amasad (778) 6 months ago
▲
1
Open AI GPT-2 language model
This is a language model recently released by OpenAI. I got it to run on repl.it and been having some fun with it. It runs slow, especially if you're not on the Hacker plan, but basically you give it a prompt and it makes a bunch of lies. Example: `Model prompt >>> henlo friend` > henlo friend, grandmother and former girlfriend. There may not have been a physical collision. Whether she was knocked about or hit by a car was not made clear. A second strike would not have banned drivers of his car from the intersection, said Frank Bryn Lehmann, San Diego sidewalk planner and welder. In police hailry, a railroad has two sets of rails. Carstriker trains have the only rails at the corner of Main and Liberty, and Central Valley Street is crenellated by LED trusses. Boeing does not use waterfront trusses because dolphins head east. The actions described in the papers shed light on whether boats could sway cities to minimize collisions between motorists and passing cars.
1
posted to Share by amasad (778) 9 hours ago
▲
1
Interactive plot
Shows how you can interactively plot
0
posted to Share by amasad (778) 7 months ago