The big draw for me is working on the iPad. If you attach the keyboard it becomes a pretty awesome 'do anything' device, now that you can code on it as well. Can't build native apps yet, but seems like a future opportunity. Web apps / PWA development works great, I can just have the app running in a hovering window / on a quarter of the screen.
First Impressions of GitHub Codespaces
71–80 of 97 posts
Re: First Impressions of GitHub Codespaces
#72> as a co-founder who is spending less time as a developer, and more time in meetings, writing emails, strategy papers, [...] this is just amazing [...] I’ve been spending a lot of time getting Windows Subsystem for Linux working lol, just ssh into a $3 vps as dev machine, real Ubuntu, real tmux/(n)vim, no setup, no hassle Edit: to be fair, Cloud9 was my entry drug into remote development bringing me to my setup abov…
> lol, just ssh into a $3 vps as dev machine, real Ubuntu, real tmux/(n)vim, no setup, no hassle Infamous Dropbox comment: https://news.ycombinator.com/item?id=9224
Re: First Impressions of GitHub Codespaces
#73The pendulum swings again. Remember mainframes? Remember PCs? Remember thin clients? Rememeber PCs again? Remember this i a couple of years as the pendulum starts to swing back.
Sometimes it appears to go “backwards” towards decentralization when there’s a shift in form factor. This is just to avoid getting stuck at a local optimum.
Eventually we’ll get to the global optimum where everything’s centralized but available from everywhere.
Re: First Impressions of GitHub Codespaces
#74One of the things I hope to use Codespace for is a CMS editor directly hooked into source control and its permissions (given static sites already get generated by the CI), instead of hosting some admin UI on a thirdparty server that needs to deal with all the authentication flows, without sacrificing ease of use for non-devs. If all goes well, it could even customize the Codespace with VSCode plugins to fit customer-…
My problem (so far) with github for CMS is no preview. Maybe preview could be added to Codespace as a VSC plugin. It needs to access all the media I'm adding as well. Hmmm, maybe I will look into this :)
And when I say editor, I don't just mean editing marketing blurb for some website, you could have something like Three.js's online editor to make 3D scenes for example.
I'd imagine it would be useful for remote learning as well, like a super-powered Codepen.
Re: First Impressions of GitHub Codespaces
#75I’d bet this stuff is mostly popular because of really really broken platforms like iOS. Also OT: Wow. That’s an entirely new level of broken web design. The links don’t even work! How can you mess up HTML this badly?
Re: First Impressions of GitHub Codespaces
#76Earlier quoted context omitted.
All of these frankly just sounds like you're unfamiliar with the typical workflow over ssh and have different tooling preferences. Nothing wrong with that - it's a matter of taste. But personally the reason I often work over ssh connections is that I find the local-only development experience deeply deficient. I package up environments in containers that I can bring up anywhere by dropping in a systemd unit file to p…
nice read and I also recommend anyone to try this path, living 24/7 in the shell has not just productivity benefits, you are just closer to the bare metal and will learn so much more. Something we lost in the decades of GUIs
I find shell environments incredibly limiting, I feel like my visual brain starves when limited to what feels like a visual desert to me for longer durations. Yes, there are a couple of things they absolutely excel at, and I use the shell for those, have one open all the time in a window – but everything else? Not my cup of tea. I'm a fairly visual person and I like manipulating things directly, I like visual cues, I like discoverable software, I'm into well-done(!) motion cues big time. I like using the mouse. I may have to hand in my hacker card after writing this.
I like how IntelliJ shows a million small annotations and cues that terminal just can't possibly support, how I can just stumble over features via the UI. I like how graphical text editors aren't just a featureless wall of text, that there is a UI for the eye to use for structure, that I usually have much more information immediately visible, and that the UI allows me to do things without having everything in my head or looking it up in huge manpages that often as not are hardly fit for for human consumption.
Lots of things I do wouldn't even be possible in a shell, like graphics/design work, 3d modelling, spreadsheets, and the rest wouldn't be much fun. Yes, I'm sure there is a way to do complex 3d modelling in emacs. No, I don't think that will work for me. Yes, I've tried vim and neovim and emacs, and I really don't like their paradigm.
As to what has been lost, I firmly believe I've gained much, much more, and I doubt I personally have actually lost anything substantial, but maybe we won't agree there. Not being bare-metal all the time is an advantage in my book; I've done some bare-metal and it isn't for me, huge respect to those who work with assembly all the time. A shell isn't very close to the metal for me, it's a really heavyweight, very idiosyncractic abstraction over bare metal, once you peel apart all the layers in between, it just makes it easier to manipulate other heavyweight abstractions directly. What I've learned in years of doing lots of work in shells is mostly limited to idiosyncracies of the shell I'm using (so far fish, sh, bash, a bit of zsh) and the various tools involved; especially macOS doesn't expose that much of its internals via the shell, not that much to be learned there.
Why stop at that level of abstraction, though? Why not put something on top that allows me to use all those areas of my brain that do complex visual and motion stuff? I strongly feel those are still way under-utilized, or rather badly over-utilized, or mis-used in general in all current mainstream GUIs; maybe that's why some people prefer theirs to be extremely simplicistic. Better use of motion might involve less motion than e.g. macOS currently has, but applied way more judiciously and effectively, possibly with a solid neuroscientific backing. Reality isn't a solid monochromatic wall of even-sized glyphs, why would UIs have to be?
Sadly, the only place where I feel motion in UIs is done well currently is the very rare game that gets it just right, but those paradigms wouldn't translate well to productivity UIs. But while not ideal by any means, I still find the macOS UI to be way ahead of any terminal UI in that respect; iOS even more so, but I can't use iOS devices for day-to-day work, not yet at any rate. I gather it's the other way around for some people, which is fine of course. You do you, and I stick to my animated GUIs, and I hope someone will figure out why we see these things so very differently some day, and we'll be able to make new things work better for all of us with that knowledge.
Another thing, discoverability and rich input. Take the Touchbar, fantastic thing – I'd absolutely love to have an external one that I can attach to my mechanical keyboard. With the touchbar I can do all sorts of stuff right away (in apps that support it) that I'd have to memorize arcane key combinations for otherwise; I hate doing that. IntelliJ supports the Touchbar pretty well. It can double as a sort-of analog slider, without any finger smudges on my main display like on Surfaces with touchscreens (though that's neat too – love to do this on the iPad). There are menus that contain pretty much everything an app can do, on macOS they're even searchable. I'm sure there are ways to replicate some of that in shell environments, but I doubt it would get very close – and then I wouldn't want to invest hours and hours to set it up like that, because, in the end, my visual brain would still starve. I've toyed with using my iPad and Pencil as a graphics tablet via Sidecar; I'll definitely do a lot more of that in the future. I wish there was a collaborative whiteboard app that supports this really well and also can get approved at my work. That would get close to whiteboarding my thoughs like I do all the time in the physical office, another thing I can't translate to a terminal workflow at all, I can't even translate that to a graphical workflow without a physical pen or similar.
I get that a higher-stimulus, "richer", more immersive, more physical user experience is the opposite of what some desire, but I believe there are lots of people who enjoy that sort of thing, when done well. I realize there are lots of upsides to shell environments as well (super stable software, highly portable, runs everywhere, relatively consistent, highly configurable unless you want anything not made of solid glyphs, etc. pp.) but those just don't rank all that high for me. Like, I have my Macbook set up the way I want it, I can move everything to another one just by restoring from backup, I don't need everything to be highly portable. I rarely work on remote machines – one of the upsides of doing everything as infrastructure-as-code, and when I do, it's via JupyterLab and the like.
Re: First Impressions of GitHub Codespaces
#77Earlier quoted context omitted.
I can't think of anything that I need in a config that isn't a) a luxury or b) specific to my local machine. There's a few tweaks I miss when working in a remote shell but none are essential.
So you can think of things that'd be useful, you just see it as a luxury. But the point is it's not a luxury once you commit the configs and setup scripts and turn it into a single command to deploy anywhere you want it. And what I found when I started doing that was that suddenly I was a lot less hesitant to let myself become dependent on time-saving tools because I knew they'd be available anywhere with ease. I can…
Re: First Impressions of GitHub Codespaces
#78While impressive technology, I still get that eerie feeling of my computer's ownership being slowly taken away from me. The problem is not Github codespaces offering us an alternative to traditional dev environments, the problem may be 10 years from now, when someone says: "All the coding is done on the web nowadays, why should we allow users to install compilers and dev tools on their machine? They may use those for…
Currently, web-based development is unsuitable for video streaming or native GUIs which operate on local filesystem files. I don't think video streaming over networks is easy. If development shifts such that people stop wanting local filesystems and native GUIs, I'll be sad...
Re: First Impressions of GitHub Codespaces
#79Earlier quoted context omitted.
nice read and I also recommend anyone to try this path, living 24/7 in the shell has not just productivity benefits, you are just closer to the bare metal and will learn so much more. Something we lost in the decades of GUIs
It's the opposite for me. Not living in the shell 24/7, for me personally, doesn't just have big sanity benefits, it also makes me so much more productive. I find shell environments incredibly limiting, I feel like my visual brain starves when limited to what feels like a visual desert to me for longer durations. Yes, there are a couple of things they absolutely excel at, and I use the shell for those, have one open…
I work almost exclusively in a terminal, but I never work in "a solid monochromatic wall of even-sized glyphs". Well, I usually use even-sized glyphs, but certainly not walls of them, and I rely heavily on tools that use unicode creatively to annotate text and colours.
Terminals have been able to handle graphics of various levels for decades (e.g. Sixel and ReGIS), though unfortunately it's not as widely used as it could be. E.g. my repo contains a script in bin/ to spit out images to the terminal using Sixel, which makes it transparent to ssh.
But the point for me at least is not an objection to graphics, but an objection to not having a command line to manipulate everything. Including graphics when I use it. And an objection to being unable to access data and code remotely without taking special steps.
The terminals gives me that.
It's not at odds with graphics at all. But it's add odds with a focus on graphics at the expense of function. And it's at odds with accepting a world where your app and your user interface needs to live on the same machine.
Re: First Impressions of GitHub Codespaces
#80Earlier quoted context omitted.
So you can think of things that'd be useful, you just see it as a luxury. But the point is it's not a luxury once you commit the configs and setup scripts and turn it into a single command to deploy anywhere you want it. And what I found when I started doing that was that suddenly I was a lot less hesitant to let myself become dependent on time-saving tools because I knew they'd be available anywhere with ease. I can…
I've had to set up a new machine like, maybe four times in recent years I think. Except for one time (new employer) I just restored a new Macbook from a backup and was good to go. I don't edit code on servers unless in dire emergencies that are extremely rare (as they should), and nano will do fine for those. Everything is infrastructure-as-code and I like it that way. What work I do on remote hosts happens through e…
It's not just about having my editor available, but being able to trivially easily pull in the basic tools to do what I want, and that is especially important during emergencies, but it's also about convenience in other situations.
It sounds like you're lucky enough to deal with very simple environments. That's great. I'd still argue the cost in time of committing your config is so low that it'd be worth it. It takes pretty much one reinstall before it's paid for itself, or one instance of being somewhere without your usual environment.
Or one instance of doing something silly to a config and forgetting what you changed.
The nice thing about it is that it can start extremely light-weight - just literally a "git init" and .gitignore everything, and then gradually force add and commit.