Can't speak for the other guy (who wants a portable monitor+keyboard system), but what I'm mostly looking for is a terminal that I could carry around/outside the house (i.e. potentially high-glare conditions) and program while connected to wifi, while not recharging for as long as possible, so this is perfect.
Maybe I can embed some stuff like vim or emacs on the device itself to help reduce utilization of the wifi. Is there any sort of "smart" protocol that could handle buffering files while editing on a remote host? I can probably do it, but I'd rather not reinvent the wheel, caching can be non-trivial.
Secondary use-case: RTTY or PSK31 or other amateur-radio textmode terminal, that could idle for as long as possible on a portable (QRP) battery pack. When you're schlepping the gear around, every ounce counts. Something that can talk serial is probably good enough, wifi is redundant there.
If I can find a paper-ink display that I can drive somehow with a UART, I'd be quite happy to wire it up and hack up a MagicShifter app that turns it into a dumb terminal. Know of such a thing?
They have a horrible bit of forcing the user to connect an account online during first power-up. This can be avoided with a bit of SQL. This site talks about "activating" without the desktop app (and other bits of tinkering):http://uscoffings.net/clc/tech/embedded/kobo-touch/
>Connect the Kobo via USB, and mount its onboard storage on your desktop machine.
> Ensure you have an SQLite3 database browser installed, or some way to execute SQL. For example, sudo apt-get install sqlitebrowser
> Open /mnt/onboard/.kobo/KoboReader.sqlite.
> Execute this SQL: insert into USER values("foo", "foo", "foo", "foo", "foo");
> Save, unmount, and disconnect.
Here's a bit about enabling Telnet (and cross compiling for Arm7): https://github.com/drj11/kobonotes
Here's someone who turned their Kobo into a GPS for their glider. http://hackaday.com/2014/05/28/e-reader-becomes-sailplane-an...
The appeal, at least to me, is that they can display information with little energy cost. For example you could have it monitor the system's health and have it update every half an hour, showing graphs and such, and it would be able to do that for a very long time with a smallish battery.
When Steve Jobs left Apple and started NeXT, he pitched Adobe on the idea of using PS as the display system for his new workstation computers. The result was Display PostScript, or DPS. DPS added basic functionality to improve performance by changing many string lookups into 32 bit integers, adding support for direct output with every command, and adding functions to allow the GUI to inspect the diagram. Additionally, a set of "bindings" was provided to allow PS code to be called directly from the C programming language. NeXT used these bindings in their NeXTStep system to provide an object oriented graphics system. Although DPS was written in conjunction with NeXT, Adobe sold it commercially and it was a common feature of most Unix workstations in the 1990s.
http://www.codersnotes.com/notes/a-constructive-look-at-temp...
Terry himself is schizophrenic but it's a fascinating piece of outsider art in many respects. He's even posted on HN under several accounts, but he's aggressive and disruptive and inevitably ends up banned.
I read some of your post history - can you explain how what you were doing with Ticketmaster was systems programming? It sounds like what would now be considered application programming, but I have no idea how intensive your work was at the time. High-performance code can often cross the line.
TempleOS is simply fascinating. I'm sure you know that I can't agree on the 'divine' part but it's certainly a fascinating OS. Writing an OS is a tough task by any means, let alone a reasonably fast one with a novel presentation. That's a lot of work, even for a productive OS programmer.
Have you taken a look at MenuetOS, Plan9, Oberon, or other non-traditional OSs? I'm curious what you have to think of their own unique features.
I applaud your goal of taking it back to basics. I think you're largely right about the number of abstractions between you and the hardware. Really really fast code needs to be written close to the metal.
I worked in VAX assembly language.
I did firmware for a bar code reader networking device with keypad and display. I worked on image processing for an actual bar code reader itself.
I worked there 1990-1996. About half was user space. The other half was kernel or firmware on bare metal.
-----
Pat and I started at the same time. He was in school with me, in fact in my differential equations class. He dropped out of school. I stayed in and got my master's in electrical engineering while working part time at Ticketmaster. I graduated with master's in 1994 and stayed with Ticketmaster for a year.
I returned to Ticketmaster for 3 weeks in 2002. Pat was a boss.
It seems quite odd that old VT terminal hardware is still in use, while it would be almost impossible to resurrect something like NeWS. A case of complexity I guess, but also the worrying volatility of storage media.
There are also some e-ink Android tablets, but I forgot if I found any that seemed good.
I also have a strong desire to ssh by e-ink, latency be damned.
https://www.youtube.com/watch?v=ymei7UwBgX4
Looks like it's running a pretend-terminal website which probably explains the latency (the Kindle does not have a fast processor).
Way on the other end - here's a Dasung 13.3" eInk monitor (i.e. you feed it DVI and it handles all the display driving for you). It can be yours for a cool $1000. I'll pass, but it's looking pretty good even for GUI usage. Probably uses more power than a purely embedded solution could, though.
My method was extremely rudimentary - inotify -> long-polling JS (being fed entire new file) -> innerHTML rewriting, with the Kindle connected over 802.11g - but hitting Save in my editor produced updates on the Kindle's display in around around 20-40ms.
I would put a moderate amount of money on the possibility that the latency is coming from the fact that the terminal app in the video is being run on a non-local server, and that keystrokes have to go up to the cloud-hosted app and then come back down to get onto the Kindle's display.
If the whole thing were local (with the terminal app hosted on target system, ideally) I expect updates could happen in <100ms.
Also, the CPU is a 1GHz i.MX6 (@ 996MHz), next to 400MHz LPDDR2 (@ 396MHz). It performs quite well in my experience; it's the OS that's terrible. :P
(The best OS I've yet seen was the one on my Ericsson MC218, which let me drag windows around the display faster than the LCD crystals could physically keep up. Solid windows, not outlines. On an ARM7TDMI running at 36MHz.)
Actually, depending on what you are doing, the nostalgia-induced slowness might even be intended.
That'd still be painful for interactive use, though.
An article on here a little while back goes into detail about how even very small latencies affect the typing process: https://news.ycombinator.com/item?id=10787812
[1] Yes, I know it takes longer on an e-ink display to refresh the entire screen than to update a single character. My point is that page turning speed is thought by most to be unimportant, but being used to PC interfaces with fast response times made it unbearable to me, especially when I was skipping through pages trying to find something.
I've always wanted an ultra-low-power dumb terminal using eInk paper displays - something you could hit days of runtime with using a small battery pack. eInk uses no power when they're not updating - so idling or long-running operations would hardly use any power.
So far the easiest approach I've found is using a hacked Kindle with an attached keyboard. You can run a terminal client on it and ssh into another system, which I think is a sensible access mode.
Ideally, something like the AVR PicoPower microcontrollers would be fantastic - they run on ultra-low-voltage, eat 1 mA/MIPS, and idle down to basically nothing (<1ma active and a few dozen microamps during sleep). ssh is probably out of the question but I could toss a VT100 stack on it. Unfortunately the eInk display is the hard part there - most eInk parts have very poor documentation.