It's really simple, it's a container containing a virtual os, which runs a browser and a webserver to run the app. The app connects to several external api services to do it's thing.
It's like, really simple!
1. Be civil
No trolling, bigotry or other insulting / annoying behaviour
2. No politics
This is non-politics community. For political memes please go to [email protected]
3. No recent reposts
Check for reposts when posting a meme, you can only repost after 1 month
4. No bots
No bots without the express approval of the mods or the admins
5. No Spam/Ads
No advertisements or spam. This is an instance rule and the only way to live.
It's really simple, it's a container containing a virtual os, which runs a browser and a webserver to run the app. The app connects to several external api services to do it's thing.
It's like, really simple!
I‘m very scared that this might actually be the case in some apps out there.
If they're running a virtual OS in a container, they're doing it very wrong. Containers and VMs are quite different, even on a Windows host.
I‘m not sure I understand. At least docker containers have their own os, mostly alpine linux. Dunno if that applies to other apllications.
Nah, a container isn't running nearly as much as an entire OS. Not by a long shot. The Kernel isn't there at all and the entire device stack is gone. Most don't even have an init system running like systemd. They're closer to a chroot in a single terminal than running an entire OS.
The OS flavor in a container is mostly about what flavor of supporting tools are available inside the container. Almost everything else is a thin wrapper making calls in to your host OS or container services.
Hmmm! Interesting! I knew the container shares the kernel with the host OS but I thought most of the rest would be there. I did never really have time to go through every detail tbh. Running 60 docker containers is too time consuming :) thanks for elaborating though.
Yea, I still need to learn a lot myself. Heck, I still have https://optimizedbyotto.com/post/linux-containers-docker/ open in a tab waiting to be read... For a couple weeks now. Sigh.
Dont worry. Learn as you go. I rather make projects to learn things in a practical way.
I try to do both study and practice. So many things either don't exactly work as advertised, or have really obscure catches that are really difficult to tease appart yourself. So the only way to get a clear picture is to both study and practice. Then, you get to know all of form, intent, and function and not just what you can working.
It probably was very simple for the kid who wrote it, just import everything and write a couple of lines to use all this stuff that already exists!
Gotta love using a base container image that is far too overkill for what you're trying to run.
I get to witness to enterprise services flavor of that. Where the company pays software architects that aren't actually coding and coders not allowed to make architectural decisions.
You have software that takes http? You need to rewrite it so that you only speak rabbitmq, and use it for every http request or Web socket message, don't worry, we have a team that specializes in making http translate to rabbit mq, so you only have to rewrite the server code, another team will handle the http listener that translates to you.
What's that, you have a non http protocol? Well, the other team isn't scoped to handle that, so you'll need to convert your listener to rabbitmq and create a whole separate container to actually receive the packets in udp and then translate to rabbitmq. No "processing" software is allowed to speak anything but rabbitmq, and network listener containers are only allowed to dumb receive and Forward.
It also sends your IP and location to Firebase, because the response comes as a push.
Every third time it outputs an ad text and plays an audio ad in the background.
Tech hipsters be like: you had me at container!
Some of those can be good if you want a single command to install on any OS.
And not have to wait for a maintainer to update the package to have the latest version.
You think of distribution packaged rpms/deb, but the softwate developer can self publish, and you'll see plenty of self published packages in ppa, copr, flathub, and even just loose websites because it's not rocket science to make an apt or yum repository. However the distribution versions may take a little more time, but more likely to work together as a cooperative whole. Flathub has a decent shot by allowing concurrent versions of dependencies to install, while preserving the concept of updating dependencies independent of the package maintainers.
However, as you go down his chart, it's less likely that you'll reasonably update after install. You may get the latest at the second you install, but 6 months later you'll likely be stale. You may neglect to update npm in each and every project, or it may automatically dependency lock (because self publish nature results in developers having to vet dependency updates, and devs are lazy about that).
Bash/Sh on Windows? And what's so bad about 2-3 separate commands anyway?
I assume he refers to npm/pip/cargo to be the multiple os option, not saying the last one is obviously better for multiple os. At least that has to be because that's the only option that is os independent.
Of course it sucks because the essentially uncurated dependency trees result in either instability on updates, or missing updates. Of course also the natural OS updater won't help you out with pip/cargo/npm, but it will help with apt, yum, snap, and flatpak.
How much you wanna bet the "dev" doesn't realise chromium is a dependency, in this scenario?
What do you mean you don't have to restart your terminal software every afternoon when the four windows consume six gigabytes of RAM?
I saw a terminal app a few weeks ago that had AI INTEGRATION of all things.
Genuinely, fuzzy search and autocomplete is a great application of "AI" (machine learning algorithms).
They just need to stop branding it as AI and selling everything they feed the models....
Hopefully that day is soon what with those 1-bit models I've been hearing about. I'd be all for that, but I'll be damned if I'll be putting an OpenAI key into my terminal lol.
Do those really require ML? For an e-commerce with millions of entries maybe, but for a CLI I don't see it.
"need"? Of course not. Though I do see it being capable of much more sophisticated autocomplete. Like a tab-complete that is aware of what you've already typed in the command and gives you only compatible remaining flags, or could tab-complete information available in the environment, like recognize it's running in Kubernetes and let you tab through running hosts or commands that'd make sense from 'here', etc, etc.
Sure, it's all things a very nice and complicated algorithm could do, but ... that's all "AI" thus far. There have been zero actual artificial intelligences created.
So I didn't do it in the CLI direct, but I had a whole lot of files in a collection that obviously had duplicates.
So I first used fdupes, which got a lot of them. But there were a lot of duplicates still. I noted a bunch were identifiable by having identical file size, but just some different metadata, so I made a quick work of presenting only files with identical stuff and went about reviewing and deleting.
Then I still see a lot of duplicates, because the metadata might be slightly different. Sizes were close, but non dupes also were close. I might have proceeded to write a little something to strip it the metadata to normalize, but decided to feed it to an LLM and ask to identify likely duplicates. It failed to find them all, and erroneously declared duplicates, but it did make the work go faster. Of course in this scenario a missed duplicate isn't a huge deal, so I had to double check their results and might have missed some things, but good enough for the effort.
Sometimes my recall isn't quite good enough for ctrl-r, but maybe an LLM could do better. Of course a better "search engine" also could do well. Also a mind numbingly obvious snippet could be generated without the tedium. Again, having to be careful to reviee because the LLMs are useful, but unreliable.
But shouldn't it be feature of the shell (extension), not terminal emulator app?
Not sure what you mean. It's already a completely superfluous and additional feature. It "should" execute completely separate of everything regardless of what integrations it has.
Though if it doesn't yet exist as a separate thing to hook in to (and it doesn't), it's got to execute somewhere. Makes sense it'd show up as a canned extension or addition to something before it'd show up as a perfectly logically integrated tool.
Terminal emulator is the window, the tabs, integration with your desktop, etc.
Shell is more complicated but TLDR is this is everything showing in your terminal window by default, the base program you use that runs other programs. The prompt showing current user, saving history, coloring the input, basic editing keyboard shortcuts, etc.
By having this AI integrations in a terminal emulator we are very much limiting ourselfs. It would look more fancy in popup windows, but it won't work over remote connections and not be as portable.
Usually when we do some smart functions like autocomplete, fuzzy search or integrations like that we do it as an shell (fish, bash, zsh) extension, then it will work on any emulator and even without a GUI.
Yea, I agree it 'should' be integrated in a more general way. Though my point is from the dev's perspective: Why go through the extra effort to 'properly' do it if it is an unproven tool many people don't want?
Not saying it should stay there, just saying it makes sense it showed up somewhere less sensical than the ideal implementation.
Warp.dev! It’s the best terminal I’ve used so far, and the best use of AI as well! It’s extremely useful with some AI help for the thousands of small commands you know exist but rarely uses. And it’s very well implemented.
I don't understand what is the benefit here over a terminal with a good non-LLM based autocomplete. I understand that, theoretically, LLMs can produce better autocomplete, but idk if it is really that big of a difference with terminal commands. I guess its a small shortcut to have the AI there to ask questions, too. It's good to hear its well implemented, though.
There are two modes of AI integrations. The first is a standard LLM in a side panel. It’s search and learning directly in the terminal, with the commands I need directly available to run where I need them. What you get is the same as if you used ChatGPT to answer your questions, then copied the part of the answer you needed to your terminal and run it.
There is also AI Command Suggestion, where you’ll start to type a command / search prefixed by # and get commands directly back to run. It’s quite different from auto-complete (there is very good auto-complete and command suggestion as well, I’m just talking about the AI specific features here).
It’s just a convenient placement of AI at your fingertips when working in the terminal.
closed source sadly :/
Alas. They have said they plan to open some of the source and potentially everything, but it’s little progress.
They recently ported to Linux, which I think will give them much more negative feedback here, so hopefully with more pressure they’ll find the correct copy left license and open up their source to build trust.
Which one ?
came to mind. It uses web technology to make a terminal. I've never used it, so I have no idea if it works well or not.
I stopped using iTerm because it was using too much power while I was on battery. Kitty is by far the best terminal.
Kitty is really popular. I'm using foot, as long a terminal has the basic functionality I need, best latency is what I care about.
I've used it a while back, it works fine, probably not as effecient as other emulators but works well enough
is-even
Also curious.