Gitpod is fantastic. I used it when I was running an online workshop a while ago - I gave the workshop attendees instructions on how to use it to get a reliable Python development environment, skipping the horror that is getting 20+ people to a place where they have a working environment on their own computer.
How is Gitpod for other languages, e.g., SBCL Common Lisp, Haskell, etc.? Isaw mention of running your own containers.
I have spent a fair amount of time using just an iPad Pro while travelling. To be honest, I have been finding a much cheaper Lenovo Chromebook to be better in some regards: slightly lighter, and Linux container support makes it possible to do some things locally. For deep learning, I like Colab, and any device is OK for that.
works great for Rust and Elixir in my experience, granted those languages have very forgiving installation processes. i use GitPod on my iPad and Linux machines for misc. editing projects outside of my main machine.
ex. i was on vacation visiting my twin for a week and left my daily driver at home to wind down -> got a gh notification about a bug and released a PR on my sister's computer within a couple hours.
> I have been finding a much cheaper Lenovo Chromebook to be better in some regards
I've been disappointed with my Lenovo Chromebook. It's more unstable than Windows 98 for anyone that yearns for the good old days. Several times a day I would be typing away and it would restart without warning. The previous sentence is past tense because I gave up and now use only the browser.
Geoff here from Gitpod. Compsci adjacent languages is an area where Gitpod really shines because it enables you to share whatever you are hacking on without subjecting who you are sharing it with, without the burden of installing dependencies. We see lots of folks using Gitpod to develop their own toy compilers and sharing “launch my compiler” links on reddit asking for feedback.
Howdy Simon. Thanks for the vouch. If other folks run workshops and are interested about Gitpod please read my blog post at https://www.gitpod.io/blog/workshops-as-code and send me an email.
A laptop can't do all the things an iPad can. Other things, it can, but it's worse for them. It's not as practical to add on hardware & software to make a laptop able to do those things, as it is to add a keyboard and pointing device to an iPad and try to attack the problem from the other direction, if you don't strictly need some of the things that a laptop can do but an iPad can't (local virtual machines, for example).
The more likely reason is the iPad has software that the laptop does not. If you need to use Procreate or GoodNotes (for example), then it might make sense to find some compromise solution for the rest of the work that you would normally do on a laptop.
That's could be part of it, but for AR, drawing or (hand) writing, reading long-form text, applications that involve putting your device where a piece of paper or a paper notebook might go (lecterns, music stands), anything that requires or is made better by orientation sensors and accelerometers, basically anything involving a camera that's not video conferencing, plus probably some other stuff I'm forgetting about, the format and hardware capabilities of an iPad make it significantly better than a laptop.
Laptops are better at some other things, but if you do very much of the above you're probably gonna have a tablet, too. If you don't do much of what laptops can do that iPads can't (mostly for software-limitations reasons), then replacing the laptop with your tablet might be a viable approach. You can't really do the reverse without a bunch of extra hardware (admittedly, you do need a keyboard and some kind of pointing device for the iPad-as-laptop-replacement thing, too) or just carrying two devices.
Just as an example iPads have usually better screen than laptops, so if you work outside in a sunny place at a caffee place, iPad may be a better device to bring with you.
I think most just geek out; I find it exciting when I can open iSH.app on my phone.
In practice though I think it’s just a painful experience since everything that’s easy to do on your computer now needs a brand new, bespoke and paid solution.
Gitpod is just a free VSCode instance. On a computer you have the option to use this cloud instance; on the iPad you must use it.
I think it is Surface envy. The iPads are just not very capable in productivity scenarios and Macs are not very flexible. So, if you want a touchscreen device for leisure and a productive device work work, you end up with two machines with very similar specs on the inside. It does not make a whole lot of sense, but it is the state of the Apple ecosystem. Now, Microsoft has a whole bunch of other problems (mainly around reliability) that make the Surface a bit of a mess. But, they do seem to have the right form factor for modern computing.
mentioned this in another comment but my use case is mostly not wanting to spend a lot of time setting up a dev environment on a machine i rarely use for programming. in my case, sometimes i like to do my code reviews in bed and/or in an emergency be able to quickly access my env prod.
it's mostly a novelty to ':0' at but i'm sure it's useful for showing people how to get started. i could easily see an intro workshop making use of gitpod and advertising it as a platform agnostic beginner course!
And the pendulum swings another few degrees towards thin clients and “mainframes”.
I don’t think it’s necessarily a bad thing, but it’s definitely a more common thing as even our super powerful laptops can’t run full application backend (not saying they couldn’t if it was a goal, but they can’t).
The world's rich and powerful want you to rent your software, and allowing them to force us into mainframe/client architecture again, will force us to rent hardware as well.
I want to own, not rent. Thus, I will never support mainframe/client architecture for end-users, or developers.
You don't need to be opposed to that kind of architecture to avoid that problem. You just need to make sure everything running on the "mainframe" side is licensed under the AGPL.
Yep. Gitpod is thin client for hipsters. Unlike Virtual Desktop Infrastructure which is all about unburdening system administrators at the expense of developer happiness. Cloud-based, reproducible developer environments like Gitpod are all about developer experience and sparking joy for software engineers.
Gitpod is VSCode front running on the browser and the backend is in a Linux container on their cloud. They have a running script you can commit which lets you run any command while starting up or even specify your own docker (which inherit from theirs). This allows you to create dev environment for most common languages. This article also shows how to use Gitlab CI/CD on every push.
Pros: No need for high end laptop/pc (Shared on 16cores). Free HTTPS exposing for every port on the machine. Docker included. Standardize you dev environment (including VSCode extensions). Amazing if you are handling multiple projects and context switch between them a a lot (K8s, Dockers, nodejs, React and more) or for education with no hassles.
Cons: Not all VSCode extensions are supported, as some are proprietary. Only support Gitlab, Github, Bitbucket. Free tier limited with 50 hours/month
Personally, I love the product. Helps me spin up dev env in seconds.
I started using their product last year, but ended up coming back to VS Code + .devcontainers.
I've found their configuration scheme (.gitpod.yml) confusing and lacking documentation. I couldn't get trivial stuff like Prebuilds to work correctly.
Would love to learn more and connect you with one of our product managers that looks after configuration and pre builds. Email me at geoff@gitpod.io? Thanks.
Geoff here from Gitpod. Solid write up and overview here. Some minor clarifications and helpful pointers!
There’s a community WIP pull request open right now to add Gitea support.
The visual studio marketplace is proprietary (by design) and as such we created OpenVSX for the open source ecosystem then gifted it to the eclipse foundation. If you see something not in OpenVSX send the pull request here https://github.com/open-vsx/publish-extensions
Maybe I didn’t commit enough to the platform. It’s hard to then work on a normal MacBook where the shortcuts are different. I remember some didn’t work on the browser (I want to say cmd + d but not 100% sure)
My point is YMMV but the tech to run remote environments and connect to them using vscode on browser has been there for several years now. My main issue was the hardware (different keys and supported shortcuts in the browser). But I guess pointing someone’s real life experience merits HN downvotes
Not quite. Apple requires app developers to opt into Mac distribution. The non-zero cost of doing so on top of testing costs for a new platform (testers may have iPads but not Macs) in addition to fear of the new ability to access the sandbox directly (the horror if players were allowed to edit-in 100,000 gems instead of buying them with IAP) killed a large amount of potential Mac support.
Most App Store developers have opted out of letting you run their iPadOS or iOS apps on macOS. Most of the interesting stuff is blocked and the stuff that does remain is filled with weird UX inconsistencies. From my own decade of App Store purchases, I've found none that opted in to it that I thought were worth using on macOS consistently. It's not really a headlining feature and it still doesn't make for a productive software developer tablet experience.
I mean, with Big Sur it's pretty hard to not see where they're coming from: big round borders, bloated quick settings menu and widgets that somehow manage to be equally as useless as they are on iPad... as a fan of 201x-2018-era MacOS, I'm pretty dissatisfied with the latest releases. Compared to Mojave, it feels much less like a professional workstation OS and more like a LeapPad with POSIX compliance.
Those are mostly design changes though, not a full blown merge of two operating systems. One could say MacOS looks closer to iPadOS every release, but that doesn't indicate they're merging.
The case could be made for either. On a technical level, Apple is depreciating their desktop APIs in favor of their mobile-first solutions (like Metal) as well as encouraging developers to target iPad/iOS first, then port to desktop later (with Catalyst). Hell, they even switched Mac hardware to closer resemble iDevice internals with their Apple Silicon switch. You can't really blame them, since mobile is their moneymaker and it's only natural for them to want to cater to them first, but it's hard to deny that MacOS is converging with mobile workflows and not the other way around.
So far the best solution I saw using a tablet for coding was connecting the tablet to a rapsberry pi and sing network over usb-c and doing the work in the Pi with ssh connection. Is jenk but it does work.
I bought my iPad Pro 12" given the form factor in 2020. Here's my two cents on coding on it.
It's a brilliant form factor for writing. Get a Bluetooth keyboard and place the iPad vertically it's perfect to write with. I also hoped to code on it. I do connect to a raspberry pi to run Emacs. Coding on it depends on what you want to create. If it is backend servers, parsers, or anything that can be tested on your remote machine it works really well. The moment you want to do web development or create iOS apps you hit a wall. The form factor is great but the software is terrible for coding. Great for consuming, and occasionally for some productive work.
I had a similar experience. Mainly wanted to do stuff with R and LaTeX, and doing workarounds to view plots gets tired fast. Didn't help that my Mac Mini I was connecting to would often lose WiFi but not auto-reconnect (no wired option where I was living at the time). What's super depressing is my $80 Kindle Fire is a more capable device thanks to Termux+X11 server despite being multitudes slower as you can do everything on the device.
Maybe. IDK. I typically think of those as a Python thing and personally I was never very fond of jupyter notebooks so it's not something I thought of. For LaTeX I bought TeXpad which is okay but you sometimes needed to access their cloud servers to compile with certain packages. iPad is a very workaroundy workflow for coding.
I'm currently using my iPad as a VNC client for a headless Mac mini, it's pretty close to a laptop. But need to figure out how to get a better wifi connection from my home office to my bed room btw.
Nothing special, I bought a Mac Mini about a year ago, things have changed a lot and I don't get to sit at my desk as a regular during the night, selling it seems hard, and Apple just accept a Late 2021 M1 mac mini with 16GB RAM, 1TB SSD for $450 lol. So I decided to continue using it as a headless computer via my iPad instead of trying to sell it.
The image quality on VNC depends a lot on the internet connection btw, even for the same wifi at home, I had to use Adaptive Quality mode for a better experience. There are not so many good VNC clients on iPad, Screens Connect seems to be the best one.
I tried pretty hard to make my iPad Pro a development machine by installing a great ssh/mosh client, then setting up an EC2 instance in the cloud with my favorite terminal tools.
It was always "almost good enough" but the effort required outweighed the benefits. Any time I needed a new tool, I had to try to figure out if the tool was going to be resource-hungry enough to bring down my EC2 instance. This stopped the whole show multiple times.
I have mine connected to a AMD Ryzen 9 5900X with 128GB of ram and NVME disks in a 'real' datacenter because overkill is probably the smart move when it comes to work machines...
Copy/Paste is my main problem working in blink. I mean, I use tmux, but it's a real pain copy/paste from blink->slack/teams/jira/whatever.
> Paste from iPad to blink works out of the box, but in opposite it depends. If we copy wrapped lines, usually they breaks. I don't mind apps with menus and interfaces (i.e. mc, tmux with window splits, editors, etc.)
> As for now, the perfect solution is to use OSC52 escape codes, these works well with ssh and recent mosh.
> In order to get clipboard setup working, we need recent software: tmux 3+, mosh 1.3+, vim 8+ or neovim 4.3+
It comes with Dex. Dex is like running chrome OS (desktop window management).
You can run full KVM and install apps from outside the store on android unlike iPad OS.
Emulators run great on it. You can run vscode server in the VM and use it via chrome. You can get desktop grade experience with chrome including developers tool.
It has potential to replace my main device with android 13 making it easier to use KVM without hacks.
I credit the iPad with my switch to a MS Surface Pro. I loved the iPad experience so much that I really wanted it to work as a coding machine, but ran into significant barriers that left me feeling that it wasn't ready back in 2019. However, the Surface is just a windows machine with a similar form factor, and returning to Windows after a 10 year hiatus left me feeling pleased at how much better it is for development these days.
I just want to run a VM on an iPad. I don't consider the iPad or Apple to be the best device to protect my privacy, but it is the most comfortable tablet/portable experience. What I read last, was that Google is adding it's "Tensor" processors to its Nexus phones, and Android 13 will allow running full VMs as "apps" within Android. That's what we want to happen on the Apple side.
I don't like Android or iOS fully. I want the freedom of a full Linux distro. I think we're going to transition to that over many years. The next step is Linux (Android) running Linux in a VM. Once Apple sees that expect a competing technology on the iPad. Then we'll have real tablet development machines. It will take years more for Linux desktop environments to gain a tablet experience as comfortable as iOS. :\",
Dex is just a fancy window manager. With Termux and an Alpine or Ubuntu proot there's very little even a Kindle Fire can't do on the device. It's even possible to run X11 and a desktop environment like XFCE4.
Not on modern Android, given the lockdown on NDK APIs, while Termux folks refuse to embrace JNI instead of private Linux syscalls (as per Google's point of view).
It's a strange situation where, in order to code on an M1 iPad, you might end up phoning into a box either you own or in the cloud, and that box is likely much slower than the M1 is on a single-thread.
Geoff here from Gitpod. I’ve been using an iPad to build Gitpod with Gitpod for a while now. Dumped my brains and recommendations over at https://Ghuntley.com/anywhere if you are curious.
79 comments
[ 1.7 ms ] story [ 148 ms ] threadI have spent a fair amount of time using just an iPad Pro while travelling. To be honest, I have been finding a much cheaper Lenovo Chromebook to be better in some regards: slightly lighter, and Linux container support makes it possible to do some things locally. For deep learning, I like Colab, and any device is OK for that.
ex. i was on vacation visiting my twin for a week and left my daily driver at home to wind down -> got a gh notification about a bug and released a PR on my sister's computer within a couple hours.
I've been disappointed with my Lenovo Chromebook. It's more unstable than Windows 98 for anyone that yearns for the good old days. Several times a day I would be typing away and it would restart without warning. The previous sentence is past tense because I gave up and now use only the browser.
Thus, yes, indeed Haskell and SBCL or anything works exceptionally well - even operating systems such as NixOS https://github.com/gitpod-io/template-nixos
Re: Hask
https://github.com/gitpod-io/template-haskell or https://github.com/gitpod-io/template-haskell-nix
of course with some exceptions like hardcore gaming
Laptops are better at some other things, but if you do very much of the above you're probably gonna have a tablet, too. If you don't do much of what laptops can do that iPads can't (mostly for software-limitations reasons), then replacing the laptop with your tablet might be a viable approach. You can't really do the reverse without a bunch of extra hardware (admittedly, you do need a keyboard and some kind of pointing device for the iPad-as-laptop-replacement thing, too) or just carrying two devices.
In practice though I think it’s just a painful experience since everything that’s easy to do on your computer now needs a brand new, bespoke and paid solution.
Gitpod is just a free VSCode instance. On a computer you have the option to use this cloud instance; on the iPad you must use it.
it's mostly a novelty to ':0' at but i'm sure it's useful for showing people how to get started. i could easily see an intro workshop making use of gitpod and advertising it as a platform agnostic beginner course!
I don’t think it’s necessarily a bad thing, but it’s definitely a more common thing as even our super powerful laptops can’t run full application backend (not saying they couldn’t if it was a goal, but they can’t).
I want to own, not rent. Thus, I will never support mainframe/client architecture for end-users, or developers.
See https://Ghuntley.com/anywhere for further thoughts on the flip and flop.
Pros: No need for high end laptop/pc (Shared on 16cores). Free HTTPS exposing for every port on the machine. Docker included. Standardize you dev environment (including VSCode extensions). Amazing if you are handling multiple projects and context switch between them a a lot (K8s, Dockers, nodejs, React and more) or for education with no hassles.
Cons: Not all VSCode extensions are supported, as some are proprietary. Only support Gitlab, Github, Bitbucket. Free tier limited with 50 hours/month
Personally, I love the product. Helps me spin up dev env in seconds.
I've found their configuration scheme (.gitpod.yml) confusing and lacking documentation. I couldn't get trivial stuff like Prebuilds to work correctly.
There’s a community WIP pull request open right now to add Gitea support.
The visual studio marketplace is proprietary (by design) and as such we created OpenVSX for the open source ecosystem then gifted it to the eclipse foundation. If you see something not in OpenVSX send the pull request here https://github.com/open-vsx/publish-extensions
And, finally, Open source communities are eligible for complimentary plan upgrades to unlimited hours. https://www.gitpod.io/blog/gitpod-for-opensource
It's a brilliant form factor for writing. Get a Bluetooth keyboard and place the iPad vertically it's perfect to write with. I also hoped to code on it. I do connect to a raspberry pi to run Emacs. Coding on it depends on what you want to create. If it is backend servers, parsers, or anything that can be tested on your remote machine it works really well. The moment you want to do web development or create iOS apps you hit a wall. The form factor is great but the software is terrible for coding. Great for consuming, and occasionally for some productive work.
The image quality on VNC depends a lot on the internet connection btw, even for the same wifi at home, I had to use Adaptive Quality mode for a better experience. There are not so many good VNC clients on iPad, Screens Connect seems to be the best one.
(hehe, sorry, I got over excited)
It was always "almost good enough" but the effort required outweighed the benefits. Any time I needed a new tool, I had to try to figure out if the tool was going to be resource-hungry enough to bring down my EC2 instance. This stopped the whole show multiple times.
Copy/Paste is my main problem working in blink. I mean, I use tmux, but it's a real pain copy/paste from blink->slack/teams/jira/whatever.
> Paste from iPad to blink works out of the box, but in opposite it depends. If we copy wrapped lines, usually they breaks. I don't mind apps with menus and interfaces (i.e. mc, tmux with window splits, editors, etc.)
> As for now, the perfect solution is to use OSC52 escape codes, these works well with ssh and recent mosh.
> In order to get clipboard setup working, we need recent software: tmux 3+, mosh 1.3+, vim 8+ or neovim 4.3+
https://github.com/andrius/blink-dotfiles
Blink (Mosh) + Tailscale + RDP for edge cases where Gitpod doesn’t fit (ie topics of GUI or needs to run batch compute processing)
It comes with Dex. Dex is like running chrome OS (desktop window management).
You can run full KVM and install apps from outside the store on android unlike iPad OS.
Emulators run great on it. You can run vscode server in the VM and use it via chrome. You can get desktop grade experience with chrome including developers tool.
It has potential to replace my main device with android 13 making it easier to use KVM without hacks.
https://www.xda-developers.com/android-13-dp1-google-pixel-6...
I don't like Android or iOS fully. I want the freedom of a full Linux distro. I think we're going to transition to that over many years. The next step is Linux (Android) running Linux in a VM. Once Apple sees that expect a competing technology on the iPad. Then we'll have real tablet development machines. It will take years more for Linux desktop environments to gain a tablet experience as comfortable as iOS. :\",