this post was submitted on 26 Dec 2024
171 points (96.2% liked)
Linux
48744 readers
941 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It's incredibly fast, has the features you would want like tabs/splits, maintains comprehensive compatibility, and is written cleanly in Zig. What's not to like?
I've never seen a slow terminal emulator. Most terminals have tabs and splits. Never experienced compatibility issues. Don't care about Zig at all.
Are these all the reasons? Another toy software written out of boredom.
Most terminal emulators are in fact slow and they can be a huge bottleneck if you run complex TUIs or workloads that print a lot of output.
Ever written a program that was extremely slow only for it to run instantly after removing your debug print statements? That's because your terminal is slow.
Fast terminal emulators already exist, but they notably refused to add tabs/splits and overall tended to be quite janky. Ghostty merging these features may not be the most groundbreaking innovation, but a high quality piece of software that can drop-in replace something you use daily with some cool improvements is something to be excited about to me. :-)
Thanks, this clears things up. I didn't know what exactly was making print IO slow.
I don't use any complex TUIs. Pretty much everything is CLI or GUI. Which TUIs did you have in mind that were slow?
I'd like to test this soon. I'll look for a modern TUI framework.
On slow terminals k9s can be rather sluggish when scrolling through the lists
Fair. I hate kube though. Most companies run just 10 pods because they cargo cult google. The complexity of it is completely unjustified
The right tool for the right job.
I agree that many small businesses jump to Kube too early. If your entire app is a monolith and maybe a few supplementary services, then Kube is massive overkill.
But many people also tend to overlook all of the other benefits that suddenly become very easy to add when you already have Kube, such as a common way to collect logs and metrics, injecting instrumentation, autoscaling, automated certificate handling, automated DNS management, encrypting internal network traffic, deployment tools that practically works out of the box, and of course immutable declarative deployments.
Of course you can build all of this yourself, when you need it, but once you have the foundation up and running, it becomes quite easy to just add a helm chart and suddenly have a new capability.
In my opinion, when the company it big enough to need a dedicated ops team, then it's big enough to benefit from Kube.
Something like heroku is better for out of the box stuff like logging and autoscaling. Some companies like banks have to have their own data center. But they should write their own "tools".
Must be fun looking at 10 pods and pretending to be in control of Google search by proxy. Autists have a peculiar way of day dreaming, as they're extremely limited in imagination. They always seek artificial complications to cover up the fact that what they're doing is actually not far from trivial, and without gatekeeping a school kid would be capable of doing.
I'm not quite sure what you are getting at... Are you implying that I'm autistic because I only have 10 pods in a Kubernetes cluster?
Presently our clusters run roughly 1400 pods, and at this scale there certainly are benefits to using something like Kubernetes.
If your project is small enough to make sense on Heroku, then that's awesome, but at some point Heroku stops making sense... both for managing at scale, and costs. Heroku already seems to be 2-4x as expensive as AWS on-demand. Presently we're investigating moving out of AWS and into a datacenter, as it seems that we can reduce our costs by at least an order of magnitude.
No. I didn't mean to attack you in particular in any way. I apologize if it came off as such. I just dislike the blind copying of what Google and Facebook do. Docker is another atrocity that everyone seems to feel obligated to use.
Heroku supports moderately large amounts of requests. It's less expensive than having a proper sysops team in most cases.
With 1,400 it's probably worth it to move away from AWS. Something like self-hosted Triton (descendant of Solaris) cluster would be far more elegant than kube and lxc.
Apology accepted, and thank you for not name calling.
And yeah, if you can save the ops team salaries by picking Heroku, then it certainly might offset the costs.
When you talk about Triton, do you mean this? Because funnily enough one of their bigger features seems to be that you can run Kubernetes on top of it. It looks pretty cool though, but I must say it was quite hard to find proper info on it.
Triton also seem to push for containerization quite heavily, and especially Docker... So when you talk about Triton are you suggesting to use the Infrastructure Containers or Virtual Machines instead?
Triton and SmartOS are still Sun Microsystems people. Solaris zones preceded Linux containers by almost a decade. They lost the popularity contest, so they have to provide compatibility with kube and docker. I think infrastructure containers are zones with extra whistles.
For even better performance, I'd go with Xen and Linux unikernel. The startup time can be just 1s with such minimum overhead. It also greatly reduces the attack surface. I highly doubt you'll be allowed for such a drastic change though.
My team is constantly looking for new technologies to make sure we're not turning ourselves into dinosaurs. We all know that Kubernetes won't last forever, something better will come along some day.
That being said I don't really see the full value of Triton or Xen with unikernels... They might have a bit less performance overhead if used correctly, but then again Kubernetes on bare metal also has very little overhead.
Kubernetes is certainly comes with a learning curve, and you need to know how to manage it, but once you have Kubernetes there's a ton of nifty benefits that appear due to the thriving community.
Need to autoscale based on some kind of queue? Just install the Keda helm chart
Running in the cloud and want the cluster to autoscale the nodes? Just install cluster-autoscaler helm chart
Want to pick up all of your logs and ship them somewhere? Just install the promtail helm chart
Need a deployment tool? Just install the ArgoCD helm chart
Need your secrets injected from some secret management solution? Just install the external-secrets helm chart
Need to vulnerability scan all the images you are using in your cluster? Just install the trivy-operator helm chart
Need a full monitoring stack? Just install the kube-prometheus-stack helm chart
Need a logging solution? Just install the loki helm chart
Need certificates? Just install the cert-manager helm chart
The true benefit of Kubernetes isn't Kubernetes itself, but all the it's and pieces the community has made to add value to Kubernetes.