Live data from Hacker News

The HTTP TTY

htty.github.io

41–50 of 51 posts

Re: The HTTP TTY

#41
post #23

Earlier quoted context omitted.

> Sometimes installing an entire programming language just to use one tool is not worth the time I could possibly waste just trying to figure out how to get it working (assuming it works). That's why I would love to see more Docker containers and docker-compose.yaml files for tools shared on HN. A Docker container for this would be super simple to build using an official Ruby Docker container and it would save so muc…

Docker for a command line tool? I thought docker was more for your public facing service sort of thing. Does it even have a full on terminal, being a container? I'll be honest I've not been keeping up with Docker. It shows, right?

A Docker container is like chroot, but portable. So yes. You can do

    docker exec -it $NAME /bin/bash
to get a shell in a running container, or

    docker run --rm -it $NAME /bin/bash
to get a shell in a new container that will remove itself upon exit. Neither of these require your docker host to be local.

Re: The HTTP TTY

#42
post #27

Looks cool, but— The website lags on my laptop. Scrolling lags. Why does scrolling lag? How ? What's going on with the internet these days...

I fiddled around with the code and I think I found the reason for the lags: The "stylesheets/styles.css" file contains the following rule at the beginning: body { ... background: url('data:image/png;base64,...') fixed; } If you remove the "fixed" attribute it's... fixed! (Oh, the irony...)

That's a bit odd, what browser is this? The fixed background should be handled by compositor layers, and while it is certainly more expensive than having a scrolling background, I'm surprised it makes the experience unusable.

Re: The HTTP TTY

#46

Earlier quoted context omitted.

This is why I advocate that software authors package their software for a variety of OS's in their native format. Yes, technically anyone can use Ruby gems or Python eggs or wheels or whatever Go calls their packages, but practically if I can apt-get/brew/emerge/rpm your package, I don't care what language it is written in. It is more effort but it makes a big difference in adoption IMO.

> whatever Go calls their packages Just fyi, but go doesn't have packages (in this context). Just native binaries with no dependencies.

Well, it has `go get foo` which I'd consider a kind of installer/package manager. That's what I'm referring to since I've seen a good chunk of Go software distributed this way. The README usually says "install Go, then run `go get foo`".

Edit: in fact https://golang.org/doc/code.html refers to this as "Remote packages".

Re: The HTTP TTY

#47

Earlier quoted context omitted.

> whatever Go calls their packages Just fyi, but go doesn't have packages (in this context). Just native binaries with no dependencies.

Well, it has `go get foo` which I'd consider a kind of installer/package manager. That's what I'm referring to since I've seen a good chunk of Go software distributed this way. The README usually says "install Go, then run `go get foo`". Edit: in fact https://golang.org/doc/code.html refers to this as "Remote packages".

That's fair - i just make the distinction because there's a difference, imo.

In the case of `go get`, there is no preconfigured package, it's akin to a pull and make. Because of that, `go get` tends to be targeted at Go developers. Unlike Python/Ruby/etc, typically only Go developers have the Go compiler at hand.

I mean, i'm in a similar camp with the OP (that you replied to), i don't like installing a runtime just for a specific package. But i typically look at projects that use Ruby as targeted for Ruby developers - not me.

Go is slightly different though, because the compiler is mainly for developers. You don't have to know what Go is to run a "Go binary". So, it's worth an asterisk. That's all i meant :)

Re: The HTTP TTY

#48
post #27

Earlier quoted context omitted.

I fiddled around with the code and I think I found the reason for the lags: The "stylesheets/styles.css" file contains the following rule at the beginning: body { ... background: url('data:image/png;base64,...') fixed; } If you remove the "fixed" attribute it's... fixed! (Oh, the irony...)

That's a bit odd, what browser is this? The fixed background should be handled by compositor layers, and while it is certainly more expensive than having a scrolling background, I'm surprised it makes the experience unusable.

Unusable is a bit extreme a description but I also experience the comparatively slow scrolling. It's worse at the top of the page.

It's not a Mac thing like other commenters suspect---I'm on Linux, using Firefox.

Re: The HTTP TTY

#49

Earlier quoted context omitted.

> whatever Go calls their packages Just fyi, but go doesn't have packages (in this context). Just native binaries with no dependencies.

Well, it has `go get foo` which I'd consider a kind of installer/package manager. That's what I'm referring to since I've seen a good chunk of Go software distributed this way. The README usually says "install Go, then run `go get foo`". Edit: in fact https://golang.org/doc/code.html refers to this as "Remote packages".

Go get is a thin wrapper around git/hg/cvs/whatever. It's supposed to be used by developers, not end users. Note that your link is titled "How to write Go code". For distribution to end users just do whatever you'd do for a program written in C/C++/Java/Erlang/whatever. No need to rub your favorite programming language into your users' face constantly.

But yeah, there's a bunch of Go programmers (presumably those coming from Python or Ruby) that don't really seem to get that you don't need to put source code and a compiler onto your production servers.

Re: The HTTP TTY

#50
post #7

Looks cool! Any non-ruby alternatives with similar features?

Why?

Well, I've never encountered an ecosystem before where it is so totally painful to install and maintain programs coming from there. It's not necessarily the language but the community mindset that doesn't seem to care one tiny bit about backwards compatibility.

Say I want to run two programs an a server, both written in Ruby. Those programs depend on a bunch of libraries. Ok, so I go on and just install those libraries. WRONG. The programs need specific versions of those libraries (both of which differ from the one coming with my Linux distro) and there's no single library version that works with both of them. To make things worse, one program needs a different version of the Ruby interpreter than the other. Only one of those is included in the Linux distribution I'm running.

So instead of being able to (at least partially) rely on the maintenance done by my Linux distro, I'd have to maintain my own Ruby interpreters and libraries. Yeah, right.

For that reason I consider running Ruby programs a liability. Sure, you have to deal with stuff like that everywhere but I never encountered an ecosystem where things are that bad and things break with any other update. I've heard the Javascript/Node people do an equally crappy job but I'm not going to find out personally.

So while I saw a couple of quite nice things written in Ruby, we're not going to use them if their maintenance is such a pain.

Post reply on HN