top | item 27042629

MapSCII – The Whole World in Your Console

187 points| luke2m | 4 years ago |github.com

43 comments

order
[+] gregsadetsky|4 years ago|reply
It's such a beautiful project. The telnet access, the supported zoom and scroll gestures...

I once heavily hacked the (very!) well organized and readable code to send the vector features -- the roads -- to an Arduino that was generating a TV signal. I actually used two Arduinos, one showing text labels only, the other one for line features.

MapSCII was programmed to slowly pan between two of my homes (between Quebec City and Montreal), along the highway connecting these cities. The pan was in real time -- 300km in about 3 hours. I've been going back and forth between these cities for many years. This art piece, named "Contrecœur" (a city name along the way, and also "against one's heart" in French) was a digital contemplative take on this.

A video, if anyone's curious:

https://www.youtube.com/watch?v=QrTbg49Tx7k

@rastapasta, thanks a lot for your work!

[+] rastapasta|4 years ago|reply
thank you for the big smile and amazement about MapSCII being adapted for a whole new level of creativity - beautiful project, kudos to you!
[+] naikrovek|4 years ago|reply
two homes! is this common or am I a mere plebe with my single home?
[+] kzrdude|4 years ago|reply
I've recently been looking into terminals that can show images properly - and it's looking more widely supported and maturing than I thought. Is there anyone else also looking into the same thing?

It's promising but my main problem is that the multiplexers tmux and screen don't really support the various protocols.

There are some terminals that support images using various protocols:

- iTerm2 (Macos) - bespoke protocol

- Kitty - bespoke protocol

- Mlterm - Sixel and iTerm2 protocol

- Wezterm - iTerm2 protcol (and potentially Sixel too)

- Xterm - Sixel (but not built with it in your distro, maybe)

- Gnome-terminal/libvte terminals - Sixel - not released yet/not available to me, so unconfirmed

Using this support one can for example configure IPython to render images in the terminal inline using its mime-type hooks.

It would be great if we could slowly move terminals forward with this (even if I understand the technology is quite cumbersome to work with). Imagine having neovim, IPython or jupyter notebooks etc all available with image support in a multiplexed terminal.

[+] dohliam|4 years ago|reply
Given the terminals you listed above, I assume you are referring to something very specific when you say "show images properly". However, there is a lot more flexibility to use the terminal of your choice (not to mention compatibility with other programs like tmux) if you don't need pixel-perfect reproduction.

For example, I made an image browser for the terminal [0] based on Terminal Image Viewer [1] (for most image formats) and catimg [2] (for animated GIFs) that doesn't require installing a new terminal. It works great with tmux and SSH and I use it all the time for this purpose (though I didn't initially expect to find it so useful).

YMMV, but I have found that the image quality provided by TIV for example is more than sufficient for the kinds of use cases I tend to have when in a console session and needing to quickly view one or more images. Mostly that involves quickly identifying a particular image file among others in a directory, but it's so much easier to not have to leave the terminal and change contexts that it's often more convenient to reach for it for more general tasks too. Any tradeoff in quality is more than made up for in my view by the convenience of being able to use my regular terminal.

[0]: https://github.com/dohliam/console-image-browser [1]: https://github.com/stefanhaustein/TerminalImageViewer [2]: https://github.com/posva/catimg/

[+] themk|4 years ago|reply
Googles hterm also supports the iTerm2 protocol. Can be good for embedding a terminal in a slideshow presentation.

If your language has a REPL with appropriate control over the display of objects you can get a pretty great experience. I used it to get familiar with Haskell's diagrams and JuicyPixel libraries and it was great[0].

[0] https://hackage.haskell.org/packages/search?terms=iterm-show

[+] rbanffy|4 years ago|reply
You can get 2x3 Teletext mosaics on VTE without font support. Sixel support is problematic for full-screen. You can try Tektronix graphics.
[+] rastapasta|4 years ago|reply
Quick update: scaling up again atm, HN was a bit too much for the current machines :)
[+] ant6n|4 years ago|reply
That video zoomed in to a place 200m from my house (near C-Base, Berlin). It felt totally natural (of course I'll zoom to my house!) and only when it deviated slightly from my actual home did it seem weird (wait, It's not me who zoomed to my house).

Really like the Braille Console hacks.

[+] kderbyma|4 years ago|reply
this is great. I have been looking for map alternatives to google and apple. this is great for those times when all you have is a shell and no Gui. very nice. will bookmark and remember this.
[+] rpastuszak|4 years ago|reply
> this is great for those times when all you have is a shell and no Gui.

Genuine question: like when?

[+] bluenose69|4 years ago|reply
This is impressive, and really quite fun.
[+] seryoiupfurds|4 years ago|reply
Beautiful!

The telnet server zooms and scrolls more smoothly than Google Maps for me.

[+] heleninboodler|4 years ago|reply
Feature request: ability to toggle mouse support off so I can copy/paste portions of the map more easily. :)
[+] unixhero|4 years ago|reply
The TUI. It truly explodes my mind using it for novel applications like this. I don't know why.
[+] enriquto|4 years ago|reply
It's great, but what's novel about that? I've seen similar stuff since more than 20 years ago. This particular repository is maybe 6 years old?