Whenever I see Repl product announcements, I'm reminded of this quote from Paul Graham.
If you want to take on a problem as big as the ones I've discussed,
don't make a direct frontal attack on it. Don't say, for example,
that you're going to replace email. If you do that you raise too
many expectations. Your employees and investors will constantly be
asking "are we there yet?" and you'll have an army of haters waiting
to see you fail. Just say you're building todo-list software. That
sounds harmless. People can notice you've replaced email when it's a
fait accompli.
I wonder if there's something similar going on with Repl, and if so, what their end goal is.
The end goal is to move the IDE and all development tooling to the cloud (similar to what GitHub Codespaces is trying to do). All editor defaults, build tools, linting, environment best practices, etc will be provided for you without all the ceremony of setting it up. This will make it easier for new team members to be productive from day 1 and it will allow you to have multiple development environments for each branch of work.
The realization is that if you control the development environment, by introducing seamless integrations with your hosting through things like easy-to-use databases (i.e. vendor lock-in), you also have control over the hosting of applications. That's a pretty lucrative business as we've seen with AWS, GCP, Azure, etc.
Also, there's a trend towards low code/no code, so everything is becoming tiny microservices integrated with other SaaS solutions. Something like Repl.it can help you with the "last mile" of development work when you need build something lightweight and quick.
I just thought that i feel like a medieval guild craftsman must have felt during the industrial revolution. We did have all this sharp and complicated tools we installed and configured on our laptops ourselves, spent years in apprenticeship just to learn now to awk or exit vim. Passed the secret knowledge to our own padawans.
And now they are replacing it with what? An IDE in a browser??? that you can just point to and start writing code? just like that??? 8-)
Honestly, as a data scientist, most of the time when people move to the browser/cloud, I feel more like a michellin chef who's now been told that they now have to cook everything on a george foreman grill.
That I lease from someone else.
Any by the way, it's in their kitchen, not yours.
And the power cord is administrated by someone else.
In all seriousness, there's no fundamental reason why an IDE CAN'T work in a browser. Its just that I feel like we're constantly regressing and this is all just a subtle way for an external corporate to capture me so that I can't opt out. The amount of time i have to spend at work negotiating with other parties/budgets/silos/corps dealing with remote environments and software, when I could have done the whole thing in half the time with a 5k budget on a local machine...
It doesn't feel like we're moving forward...maybe moving back to medieval guild craftsman, because control is being taken out of my hands and I'm forced to sign up to respective software/environment guilds to do my work?
> The amount of time i have to spend at work negotiating with other parties/budgets/silos/corps dealing with remote environments and software, when I could have done the whole thing in half the time with a 5k budget on a local machine...
Ironically, in an enterprise environment with heavily managed internal resources, moving so much to the cloud has exactly the opposite effect on my work.
A lot of this effect will depend on both the preexisting local org structure, and the particular cloud platform(s) you choose and how your org chooses to administer them. But certainly at least most of the big cloud providers seem to try to enable one stop shopping for fairly complete sets of solutions without any more organizational roadblocks than are interposed by your own organization.
At least at this point I don't think the craftsmen need to despair because I don't think the online IDE experience is even close to a good personal setup. It feels more like a solution for devices/locations where you quickly need to get an environment up, which has it's place obviously.
I've been programming (professionally) for over 20 years. I now do most of my development in Jupyter, and browser-based IDEs are preferable to me in almost every way.
As someone who just started teaching a highschool programing class, it's what makes my class even possible right now. I agree I'd rather have things run locally myself, but it is great for getting students up and running fast, and is pretty much the only option I've found for on their Chromebooks.
Excellent for teaching and showing examples with pet projects. CodePen is okay for some uses, this is a nice in between. I encountered some difficulty when trying to get a VueJS project wrestled into it since there are assumptions with how components are laid out on FS and how these tools operate.
I think we're only a few years away from browser-based editing being the default. I would definitely be surprised if more than half of the dev work happens in non-browser-based editors come 2030.
>And now they are replacing it with what? An IDE in a browser??? that you can just point to and start writing code? just like that??? 8-)
Huh, I don't think so.
VS Code which is "web-ready" is nowhere near to real VS capabilities when it comes to reliable intellisense
People often shit on VS because it's giant and requires something better than $100 PC, but it makes life waaaaaaaaaay easier and nowadays you don't have to buy Resharper because there are free and solid replacements
In that comparison, I find myself to be a luddite. It's not that the new tools aren't cool or useful. But they come with unacceptable trade-offs around ownership, and tie me into relationships with more third parties I do not want to enter into relationship with.
I suppose the market doesn't care, so I'll keep being a closet neo-luddite until all my tools are replaced with services.
The same, of course, was true about the industrial revolution. The emergence of capitalism forced previously self-sufficient craftsmen into becoming industrial workers, increasing the length of their workday and decreasing their quality of life, while invalidating alternative prospects for employment or life. This left a bad taste with luddites not only because they lost entrenched privileges, but the fact that they lost ownership of their means of production also forced them into a specific social relationship of production, whereas previously they could accept or refuse economic transactions at will.
Yup. And I appreciate what the story implies - that capitalism has brought more than enough to pay humanity back for these inconveniences, creating a golden age of the past 100 years (two world wars and upcoming climate catastrophe notwithstanding).
That said, I worry about what happens in the limit. Are we doomed to life without autonomy and without things to call our own? A life in which everything is leased, where money isn't something you accumulate or spend, but only manage the flow of[0] - money flows in through your job, and flows out to services[1]? A life in which you don't even produce anything yourself, but only provide a fractional (and useless on its own) input to the vast machine of civilization?
I can imagine how this is what we need for humanity to grow and spread among the stars, but at the same time I despair about the loss of what I consider to be core of being human: autonomy, having worth as a unique individual.
Talking about the "means of production" - I'm really starting to love this term. I'm not turning red just yet, but the phrasing nicely encompasses what it's about: owning the means that let you provide value for others (and yourself!) on your own terms, without strings attached. And the strings constrain your life way beyond just limits on your ability to make money. They constrain how you work, and - on the buyer side - they constrain how you live. Because if you don't own the things you use, it's the owners that dictate what you can and cannot do with them - and the things may also stop working if the true owners disappear or stop caring.
--
[0] - The difference between resource management in StarCraft and Total Annihilation, if you like. The former had a standard model of "you collect units of finite resources to your storage, and spend them later"; the latter had infinite resources, but each resource building (a mine, a power plant, etc.) provided some amount of resource per second, and everything else drained these resources at various rates. Buffers were small, so your primary focus was ensuring you produce (just a bit) more than you consume. In my eyes, the world has been moving from StarCraft economy to Total Annihilation economy at every level, including nowadays at personal level. Which I find worrying, though I'm not sure why.
[1] - Then again, maybe this is how things always were, and the change is in perspective, in the mental model?
Vim can be compiled to webasm and run in the browser now, so at least on the text editing front, there’s no reason the web text editor has to run a significant feature deficit compared to desktop.
I predict that at some point in the next five years we’ll start to see more apps that are written with webasm cross-compilation in mind, so that “browser” is just another target architecture, just like MacOS, Linux, and Windows.
Poorly written, but your desire for software freedom is admirable. There are very real concerns about computer users' freedoms with cloud based development. This isn't even new, it's why GPL3 is a thing. That the new license was an utter failure doesn't mean it was the wrong idea, it just means it was too late.
It’s interesting because AWS squired cloud9 a while back and currently offers something very similar with very little fanfare.
Sometimes the path you take your users through is more important.
Cloud9 was trying to take already established developers and put them into a cloud ide. Repl.it is taking new developers without entrenched habits and hoping they’ll never leave for the traditional local dev environment.
The problem to me with that approach seems two-fold:
1, companies all expect you to work in the traditional way with local repos etc. All their tooling is geared towards that. If experienced users who set the standards aren't being migrated over, then they'll reinforce that status quo, and so will people who learned on repl but were forced to migrate off (monkey ladder experiment style).
2., using older tools is a point of pride. There's definitely a strain of "if you use repl.it / etc. and not emacs / vim / vscode you're a noob." This obviously is toxic and not great, but it does exist, and acts as another obstacle to online IDE adoption I think.
The article says, "Repl.it is already the best place to build your apps."
I'm sure it's not the best place to build a video rendering app using multithreaded rendering to a video window, or an allocation-free audio synthesis engine supporting real-time scheduling. I think these are basically impossible to achieve client-server, and difficult if implemented in JS+WASM.
I was going to respond with a concern for performance when doing code analysis, large refactors, etc...but that could all be done server side, along with neat things like continuous recompilation, etc. Neat.
I love this comment because after reading it, I feel strongly that something like this is definitely going on with Repl.it. The potential of the product definitely seems huge, and it feels like we have not even seen the full picture yet.
Cloudflare seems to be on a similar path with their edge workers and KV store. No web IDE, but they do have a client side tool called wrangler that's integrated with all that.
This is slightly off topic for the thread, but it's always seemed to me that this is Google and The Internet, where the search engine is their "todo-list".
I’ve introduced REPL.it into my new job as a teacher, this year.
It is utterly transformative.
Multiplayer, in a COVID classroom, means I can easily help any pupil without having to PPE-up and break into their bubble. At the start of every class I post a google quiz whose sole question is “what is your REPL multiplayer link for this class?”.
I haven’t used many of the other school features for REPL.it. I can think of a few I’d love to see.
Packages are so easy to install. A pupil today told me they’d not really had any luck with their coursework because they couldn’t install textract. A few clicks and they had a poetry enabled repl with textract read to go.
REPL.it has brought about a quantum leap in the way we are working with pupils. It is the epitome of how frictionlessness can make an enormous difference.
Your post got me intrigued, but I couldn't get any multiplayer to work. Does it only work when signed in?
I think it is cool to offer some functionality to guest users, however they should make it clearer what the limitations are so that people evaluating it get a good sense for the features.
I even created an account, which changed my repl to "anyone can edit" to "forks on edit" apparently? But still no multiplayer?
Multiplayer URLs have “join-“ in the path, and are available from the “share” button in the top left.
It would be very handy (and intuitive) if all REPLs were a live read-only window on what the owner was typing. The reload-page-to-get-latest-version thing works, but multiplayer is there and awesome so it seems odd to hide it with a different type of URL that looks almost identical to the regular read-only fork-on-edit one.
Yes for teaching software development it's amazing, and I can even see it being really useful for professionals to demonstrate and discuss ideas.
But I can't imagine it's ever going to replace the IDE or the lowly text-editor, because there isn't a problem that needs solving. Most developers version control their configuration and move it between installations.
Codespaces, repl.it, Glitch, and friends are what the new generation of developers is being brought up on. They're coding on their iPads, Chromebooks, etc. and move between devices regularly. Browsers as a platform just make sense in this new world. These platforms may seem like "toys" now, but if we just look at the trend, it's hard to argue that even the most intensive applications are going to get serious browser-based competitors.
We use repl.it in an AP Computer Science course I co-teach. Incredible tool for students who are learning Java, allowing them to code and collaborate on their Chromebooks, no Java local setup required.
The AP CS course exercises and concepts don't require persistence of data, but this could really open up opportunities for students to create more advanced projects!
That's awesome! We've been working with some teachers to develop free curriculum, if you're interested doing something with data would love to chat (we have budget for this).
I have been using repl.it to teach coding to some high school students. Here is some feedback
1. It would be great if you gave a shell level access to the teacher/paid accounts to manage shared REPLs. When there are 100s of shared URLs to deal with, the UI is very limited to search and find repls.
2. While I understand the need to simplify UI, it is not clear why "Python" REPL comes with a folder view to the left by "Python + PyGames" one doesn't. Similarly shell is only accessible in certain types of REPLs. I understand there some key combination to start shell, but only works some of the time.
3. I had a case of one REPL running an infinite loop - none of us could do anything to terminate it.
4. Once we wrote some code that generated a file. It took us several refresh/logout sequences to make it visible in the file manager - clear support for such use-cases would be helpful.
>1. It would be great if you gave a shell level access to the teacher/paid accounts to manage shared REPLs. When there are 100s of shared URLs to deal with, the UI is very limited to search and find repls.
Like an account wide shell access? That's an interesting idea although not sure about the feasibility since every repl is it's own container.
One thing we've been toying with is a CLI-like tool that let's you manage your account. We can add account-wide grep and things like it there. You can access an early version here: https://repl.it/~/cli
>2. While I understand the need to simplify UI, it is not clear why "Python" REPL comes with a folder view to the left by "Python + PyGames" one doesn't. Similarly shell is only accessible in certain types of REPLs. I understand there some key combination to start shell, but only works some of the time.
This is great feedback and we're already starting to address it. The difference between different environments is annoying. I believe PyGame is the same environment so you might be talking about "Python with Turtle" which currently runs a different environment. We're getting close to addressing all this.
>3. I had a case of one REPL running an infinite loop - none of us could do anything to terminate it.
That's surprising to hear because we do a lot of work to try to handle infinite loops and make it easy to terminate (try this for example https://repl.it/@amasad/loop-test). Do you remember exact steps or do you have a link to debug? You can always email me with bugs or feedback: amjad@repl.it
>4. Once we wrote some code that generated a file. It took us several refresh/logout sequences to make it visible in the file manager - clear support for such use-cases would be helpful.
It's actually quite common use-case to generate files and while incredibly tricky to make it work well I believe we've recently became better at this. Can you give it another shot? Again please email me with the repl if it doesn't work.
Thanks so much, feedback like this is always valuable. You'd be happy to know that a company-wide priority right now is quality, bugs, and reliability. By early next year we'll be much more polished.
I teach the IB and IGCSE curricula and have used repl.it quite a bit in the last few years. What sort of materials are you looking for? Coverage of Python, Java, and C++ at the middle/high school level or smaller one-off projects with libraries like Pygame and Flask?
I tried Julia as well to test the database feature.
Unfortunately, when I `import HTTP`, I get "repl process died unexpectedly: signal killed".
(julia 1.3.1 and HTTP v0.8.17)
It's Postgres under the hood. The key-value service itself is Go and we run it on GKE alongside some of our other services.
Yep, that's the idea. If you had a user with ID 1, one scheme to get all her info could be storing attributes in keys such as:
user:1:name
user:1:email
user:1:city
Then a prefix search for "user:1:" would get you the relevant keys for that user.
But you could also go another way and drop a JSON-encoded object in a single key and work with it inside your app, since that might be the fastest way to get something off the ground!
I didn't look super closely, but it looks like your database works similarly to DynamoDB, in which case it could use similar data modeling. Here is a great post on single table design for DynamoDB that would probably be mostly applicable here:
Congrats on the launch! Very small thing, but I didn't initially see the database icon in the sidebar. Trying to `from replit import db` in Python and using the `db` resulted in an unclear error message about the REPLIT_DB_URL missing ("are we running on repl.it?")
Turns out I had to sign in to repl.it for the sidebar icon to appear and the code to work.
The documentation (and that error message) might need to reflect this? And/or should databases be available to all users (i.e., those who aren't signed in as well)?
---
Another issue: when going to https://repl.it/repls/HandyNiceBug (providential URL...) ;-) even when signed in, running the code shows the same `REPLIT_DB_URL does not exist` error. If you click the database sidebar icon and any of the 'Insert ->' buttons, then the env seems to update and the code runs successfully.
---
Hopefully useful nitpick: after clicking the 'Insert ->' button once in the db sidebar UI (in the url above), all of the 'Insert ->' buttons stop working.
Aaaand, if I try manually copying any of the code snippets to insert one myself, what's copied into the clipboard is not-the-best. Instead of copying `db["key"] = "value"` for instance, it copies it but with many extra new lines and some bits missing. Might be useful to have a copy-to-clipboard icon? Or do some DOM trickery to allow selection/copy&paste?
Good points, you're right: you have to be signed in for Database to work. We'll make this clearer. We'll also fix the code snippet copying. Thank you for giving it a try!
I love your product, it's definitely a game changer! I will continue to use my local setup but if I had so many environments at my fingertips when I was a student I would have gotten further in my career. I'm more or less stuck with my stack nowadays. I have a tangent question though, is the .it in repl.it connected in any way to Italy?
This sounds like a database-per-tenant architecture, which is something I'm interested in. Are you having to build a lot of custom tooling to manage that many databases? Does the existing repl.it code make it easy to just spin up an extra docker container for each session? Or are there off-the-shelf tools that make this easy?
We did! Our infrastructure has some unique constraints around filesystem persistence. We use btrfs and regularly take snapshots of the repl's filesystem while someone is editing the repl. However, we don't take snapshots when a repl is only acting as a web server without anyone editing it, meaning that we would need a solution that lives outside of the repl's filesystem.
Keeping each database outside of the filesystem also gives us the flexibility to let people access the same database across multiple repls in the future.
I have lots of love for SQLite; early prototypes of Database were backed by it!
Totally makes sense - SQLite is very dependent on a traditional filesystem.
I've been figuring out how to run backups recently and grabbing a copy of the file isn't enough - you need to be sure there are no transactions going on, so you need to use the SQLite backup API or run VACUUM INTO a separate copy, which then doubles the amount of disk space you need.
I have been a user of repl.it for quite some time. I use it occasionally to work on small projects with my younger sister who is a CS major. I would actually really love something like repl.it for my work. There are a ton of places where the normal code, review, deploy, validate, etc lifecycle of development is way too slow for small projects or for prototyping.
That's exactly how we use it internally at Repl.it and honestly it's almost like an organizational superpower. We can for example deploy a slack bot to help with deployment in minutes instead of days, and it's all collaborative. Working on internal tools resembles more gardening than building at this point -- constant improvement and evolution.
If you care to chat about this use-case and help us learn more please email me amjad@repl.it
This is a great addition to the product. Ive been working on adding repl.it to our toolbox. Is there sone kind of plan that would support a grassroots group like ours? I specially like the ability to have classrooms as we are teaching more and more every week.
Unsolicited testimonial: Repl.it is awesome! I'm a paying customer and use it all the time.
Even though I have all the JetBrains IDEs along with VS Code and Visual Studio, if I want to try out something quickly it's faster and easier to do it on Repl.it.
I've also been using Repl.it to post runnable code samples for some of my Stack Overflow answers.
I applied for a job there a couple of months ago and got to (virtually) meet amasad and several of the team members. It didn't turn out to be a fit, but they are great people making a great product and rapidly improving it.
For anyone looking, they are hiring, and yes, the jobs page is a Bash REPL! :-)
Cloud9 used to be my primary development environment for anything Node-based or intended for the web. Loved the features and the anywhere-access of an online IDE. Then Amazon bought it and effectively removed their free-tier by billing you for the AWS hours the environment took to run (I know there is an AWS free tier but it is one-time and expires after a year). When looking around for a replacement Repl.it was the only other thing remotely close in features.
The only two issues that I ran into was not having the ability to run local DBs and Chrome reporting the web preview page for my replit as containing malware and not letting me load it. C9 basically just dropped you to a Linux shell where you could install and run your own copy of Mongo or Postgres. This seems like it would satisfy a lot of use cases and running your DB on an external provider isn't too tough anyway. The second issue is probably just par for the course when allowing user executed code and web content to be hosted from your servers although I never got hit with the same on Cloud9.
Having a simple database it a great feature for prototyping, but I think having custom Dockerfile support would be even better.
Current PHP support in repl.it pretty limit (Very few extensions are enabled, so you can't connect to real MySQL...). This won't be a problem if advanced users can use there own Dockerfile.
UI wise, I think it would be good if repl.it can adopt a VSCode-like interface and their keybindings. GitHub codespaces and some other cloud coding platform already have this.
Reliability of deployed services should be improved too. I tried use a website monitor to a repl.it with "Always On", but it will still be down several times a day. Each downtime is about 1~2 minutes.
I'm quite sad repl.it is used in schools, as its accessibility for the blind is almost nonexistent, or at least it was when I last checked it a few months ago.
They have enough lock in with the collaboration and sharing features that just using a different tool might be difficult.
This is plain old discrimination against disabled students. Don't do it.
This is silly. Your argument is purely based comparisons.
If there is a tool that helps 99% of students learn better, don't refuse to use the tool just because it can't help the 1%. I'm NOT saying to forget about the 1%. Also do everything you can to help the 1%. But the 99% shouldn't be artificially slowed down just so they don't get ahead of the 1%.
Sorry if that's controversial. Just seems ridiculous to me to prevent people from learning in whatever way is most effective to them.
Why the negativity? I think Repl.it is a great place to prototype ideas and work on things without needing to spin up an entire environment on your computer. I think of it like a scratchpad, and with some of their new functionality, it's also become somewhat of a CodePen type platform where you can host tech demos and fun projects—all for free.
I've used Repl.it ever since it became publicly available and I've used it to teach some classes and camps. As a college student, it's also a great environment to quickly open a coding scratchpad to do the occasional LeetCode problem and share my solution with others.
"...work on things without needing to spin up an entire environment on your computer"
For me "spinning up the entire environment" comes to clicking the icon of whatever IDE I decide to run for whatever task I am about to do. Is it such a big trouble?
I understand that it has good value for teaching to the point until students have to accomplish something more serious then some glorified "Hello World".
As for access from anywhere - I can access my development workstations remotely from anywhere with no problems (thanks to NoMAchine ond/or RDP) but since I also lug my super duper laptop anywhere I rarely need to enable this kind of access.
But then again I am a cloud luddite. I own all my computing/development resources (well I rent some remote dedicated servers for backup/standby purposes). Other people have different attitude which is fine. I just hate the idea of my stuff residing/being controlled by any other entity but myself.
I do not perceive those as mutually exclusive. Both are good but for a different things. It does seem to me however that anything not cloud/web based is becoming anathema in some circles.
I have access to the Codespaces beta, but my friends (also in college) and I have struggled to find a usecase for it. It's a bit too hard to setup for one-off explorations/experiments (like Repl.it).
In the past, I've used cloud IDEs like Cloud9 and CodeAnywhere, mainly because I worked on the school computers in high school. But other than that, I don't know why a regular dev or even a college student might use this. Although one usecase may be easily-usable special-purpose programming environments for higher-level college courses that might otherwise require a ton of local setup. And the tight integration with Github might actually make sense for that setting.
Weird to see you downvoted on a forum called "Hacker" News. Who would actually use repl.it to build apps as opposed to the traditional way of having your text editor + compilers installed on a machine you own? I think repl.it is great for prototyping or teaching, but it is NOT the "best place to build your apps". I would doubt repl.it engineers even use it to design their software.
You see this with all "ad" posts. There are outrageously positive comments, someone who works on the project magically appears in the thread and are happy to answer your questions, there are bunch of anecdotal "ads", etc.
So many of these threads feel like a team of "social media workers" are manipulating it.
In most threads, HN hates centralization, loves privacy and loves personal control. In ad related threads, they love centralization, have no care for privacy and love giving up more control.
What could be more hacker-like than managing to string together a set of technologies like web browsers, HTTP/WebSockets and containers to let people develop apps?
If people can build apps on Google Forms + IFTT/Zapier or on Bubble.is etc then an entire programming environment plus database seems like it should be enough to build things on too.
Yeah, they seem to be a good place to build apps, but certainly not better than my local dev environment where I have total control over my packages and commands. E.g. some of these are restricted or not even supported in repl.it: sudo, dnf/apt-get, Vim plugins
Looks pretty neat! I wonder if multiple repl's can hook up to a singular database, this post makes it sound like it's a 1:1 relationship. Either way Repl stays adding great features.
Right now it is 1:1, but we're hearing that people would like to share one database among many repls. Something you can do right now is spin up a repl and have other repls talk to it over HTTP to share a database: https://docs.repl.it/misc/database#how-do-i-share-a-database...
I love repl.it and want to use it to build and run real apps.
I can’t do that without the hosting component (which afaik isn’t shipped yet) and I won’t write code that locks me into a specific hosting choice, which is what this new “Database” feature seems to be.
Coding to an API of a company that might not be in business in five years isn’t wise, no matter how much you like that company.
This makes sense, but the Database seems to work mostly like a normal python dictionary. From that perspective, it would be easy to replace with a different solution if required (not trivial, but not hard).
I agree, but I'd much rather just write to a non-proprietary Postgres client API once and know that the replacement is literally "update an environment variable" and nothing more.
It's almost certainly something that would need to be done in an SHTF, unscheduled event anyway, so best keep it to zero.
Love seeing team Replit respond to feedback and move fast. I am using them for https://suddenschools.org courses and couldn't be happier. Being able to start with the same environment for every student is a huge plus. Keep on crushing it!
Repl is a great tool that I have used many times and have directed many friends to. However, it is a bit surprising that I cannot choose a Python version? It defaults to >3.8 when starting a new Python repl
I've not used a cloud dev environment since a couple months before Cloud9 changed the terms of service. I see repl.it as a good replacement and absolutely will give it a chance
Next obvious step: providing a persistent PostgreSQL database where every customer can create tables, etc, up to a limit in storage or transactions to avoid misuse.
Has repl.it ever thought about supporting self-hosted repls? I would kill for a repl.it interface to my servers, even if it only supported one or a few languages.