4 ms·
Edit: Check out Dasher for a much better interface to enter text with a cursor, compared to a virtual keyboard. https://dasher.acecentre.net/ https://dasher.ac
by bacon_waffle 3y ago
Edit: Check out Dasher for a much better interface to enter text with a cursor, compared to a virtual keyboard.
https://dasher.acecentre.net/ https://dasher.acecentre.net/ , source at https://github.com/dasher-project/dasher https://github.com/dasher-project/dasher
---
I remember seeing a program years ago, which used the mouse cursor in a really neat way to enter text. Seems like it would be far better than clicking on keys of a virtual keyboard, but I can't remember the name of this program nor seem to find it...
Will probably get some of this wrong, but just in case it rings a bell (or someone wants to reinvent it - wouldn't be hard):
The interface felt like a side-scrolling through through a map of characters. Moving left and right controlled speed through the characters; for instance moving to the left extent would backspace, and moving further to the right would enter more characters per time.
Up and down would select the next character - in my memory these are presented as a stack of map-coloured boxes where each box held a letter (or, group of letters?), say 'a' to 'z' top-to-bottom, plus a few punctuation marks. The height of each box was proportional to the likelihood that letter would be the next you'd want, so the most likely targets would be easier+quicker to navigate to. Navigating in to a box for a character would "type" it. IIRC, at any instant, you could see a couple levels of letters, so if you had entered c-o, maybe 'o' and 'u' would be particularly large, and inside the 'o' box you might see that 'l' and 'k' are bigger so it's easy to write "cool" or "cook".
(I do hardware+firmware in Rust and regularly reference Richard Hamming, Fred Brooks, Donald Norman, Tufte. Could be up for a change)
- Avshalom 3y agoDasher https://dasher.acecentre.net/ https://dasher.acecentre.net/
- bacon_waffle 3y agoWow that was quick, thanks! Have imagined a music theory/improvisation practice program that looks something like Dasher + Guitar Hero.
- follower 3y agoOkay, so, your comment about a "Dasher + Guitar Hero music theory/improvisation practice program" just sent me down a huge rabbit hole... Well, rabbit hole(s) plural, I guess, most not directly related. :D Largely because I made the "mistake" of looking at your HN profile & discovering you're also in NZ & we seem to have somewhat overlapping interests (and an affinity for "bacon" in account names, apparently), so, some thoughts[0]... :) # Topic 1: Nissan Leaf VSP hacking After reading your recent posts (https://ianrrees.github.io//2023/07/03/vsp-hacking.html https://ianrrees.github.io//2023/07/03/vsp-hacking.html & https://ianrrees.github.io//2023/08/05/voltage-glitch-injection.html https://ianrrees.github.io//2023/08/05/voltage-glitch-inject...) on this topic & noting your remark about wanting to try reverse engineering a firmware image, I found the following thesis PDF (via a brief google search for `"reverse engineer" "firmware" "Renesas"`): * "AUTOMOTIVE FIRMWARE EXTRACTION AND ANALYSIS TECHNIQUES" by Jan Van den Herrewegen https://etheses.bham.ac.uk/id/eprint/11516/1/VandenHerrewegen2021PhD.pdf https://etheses.bham.ac.uk/id/eprint/11516/1/VandenHerrewege... Not really what I was anticipating finding but seems relevant to your interests--I don't think it was already in your resource list. While the thesis addresses the Renesas 78K0 rather than the Renesas 78K0R, from a brief look at the "Flash Protection" PDF Application Note in your resource list it seems there's a large overlap. Perhaps most significantly the author presents "novel methods" that combine bootloader binary analysis with constraint-based power glitching in an effort to improve on the results described in "Shaping the Glitch". While I haven't read the entire 186 pages :D they theorize that using their approach extracting 8kB firmware might only take ~10 hours. And, most helpfully, they even published their source code under the GPL here: https://github.com/janvdherrewegen/bootl-attacks https://github.com/janvdherrewegen/bootl-attacks So, an interesting adjacent read even if it turns out not to be directly applicable to your situation. Given I have an interest in & a little experience with firmware reversing my original thought was to maybe provide some hopefully helpful references that more generically related to firmware reversing but more specific is good too, I guess. :) In terms of reverse engineering tooling, I've used Rizin/Cutter/radare2 previously: https://rizin.re https://rizin.re https://cutter.re https://cutter.re On the CAN tooling/info front, you might be interested in taking a look at my "Adequate CAN" list which I originally wrote-up for a client a couple years ago: https://gitlab.com/RancidBacon/adequate-can https://gitlab.com/RancidBacon/adequate-can Some other probably outdated reverse engineering tooling links of mine: https://web.archive.org/web/20200119074540/http://www.labradoc.com/i/follower/p/notes-reverse-engineering https://web.archive.org/web/20200119074540/http://www.labrad... In terms of how to approach RE, other than just "getting started & digging in" & learning by doing, I've sometimes found it informative to read other people's firmware reverse engineering write-ups to learn about potentially useful approaches/tools. Anyway, hopefully some of this is helpful! [0] I have a tendency to be a little... "verbose" and/or "thorough" (depending on one's POV :) ) so I'll probably split this over a couple of comments, in case I run out of steam while writing and for topic separation.
- jwm1 3y agoThat sounds like Dasher (https://dasher.acecentre.net/about/ https://dasher.acecentre.net/about/), invented by the late David MacKay.
- bacon_waffle 3y agoYep, thanks!
- tsegratis 3y agoNice. Random thought: Geometrically 50% of the movement does nothing (going left is a null action). In terms of distance moved by the pointer it would be more efficient to arrange the options as a circle around the pointer, with maybe the bottom 10% of the circle used for the null action A possible benefit is 90% of the screen could then be used to display a larger set of options, which could let the user bisect their choices more quickly
- bacon_waffle 3y agoThat is an interesting idea! The space of possible next characters expands polynomially, so as you say, the display might be better used with a polar grid compared to cartesian.