New Kind of Paper
mlajtos.mu
mlajtos.mu
I’d expect 3km ÷ 26m to evaluate to roughly 115.4 (no unit). I hope it wouldn’t try to be too clever about whether “m” means metres or minutes, because such cleverness invariably goes wrong. Change it to “26min” or “26 minutes” or some such thing, please?
units(1) does this right where one symbol corresponds to one unit only
Yes!! Can we all just agree to make that illegal? If a developer writes an app that automatically defaults to having configs right in the home dir or if they don't separate their cache from their persistent data, they go to jail for a week to think about what they did.
All joking aside, it really is a shame so many things don't stick to the standard. The ability to just copy .config to another machine and have it be pretty much a carbon copy of the original would be really useful. I guess I should just finally switch ti Nix, huh?
To be fair, I think `units` and `~/.units` predate XDG paths by a couple of decades at least (`units` was from Bell Labs, XDG paths are from somewhere around 2005-2010 as best I can find.)
To be fair, I think the probability of a normal person using 'h' to mean the Planck constant is low enough that "2h" meaning "2 hours" is going to be right ~100% of the time.
(Although, actually, having just learnt that `units` comes from Bell Labs, they might well have been using 'h' for Planck constant more than for hours.)
This kid comes out on stage, holding a tablet, and starts writing math formulas, which are recognized and displayed on the screen. Then he starts balancing the equation; dragging variables from one side of the equals to the other, and the program automatically does stuff like invert the operations.
Then, he graphs it.
A whole conference hall of geeks gave him a standing ovation.
That became the first Apple Graphing Calculator app.
A lot of ATG demos never really saw the light of day (except in MS products, which was one reason they stopped doing them).
Nowadays, you can do that with a Web browser, but back then, we hadn't seen anything like it.
It was ahead of its time.
Being someone with poor handwriting, this would slow down writing for me. A possible answer for this would be to update the expected places for a character by taking the boundaries of previously written ones.
Writing in monospace is not only unnatural, but the approach shown even makes it one step worse: you need to write in the cells. You're completely giving up the flexibility of handwriting, you need to know your equation before you write it down, otherwise you're risking running out of "cells" on the left or right.
The problem you mentioned – that you have to plan ahead – is not true for grid cells. There is a part in the GRAIL system demo where it is shown that you can go quite far with this approach. [0]
But as you mentioned, flexibility of handwriting is in its non-modal interactions. I am currently working on a line-based editing, but it's a bit tricky.
Historically, graffiti-like systems have also been used for "night writing", so they might have some accessibility benefits as well.
> it can display graphics such as graphs, plots, diagrams, images or even interactive ball-and-stick model of a chemical compound
> it is programmable, i.e. you can write your own functions with recursion, conditionals and loops
This sounds similar to Ken Perlin's Chalk Talk. See the demo at https://youtu.be/xuzrF_82z7U?t=2679 but the whole video is worth watching.
> RAND Tablet had handwriting recognition that was based on _clever heuristic+, i.e. no machine learning, and it required person to write slightly different than it would normally write with a pen and paper.
The linked page on handwriting recognition is as interesting as this article: https://jackschaedler.github.io/handwriting-recognition/
I had a glimmer of hope when Apple started selling styluses, that they might succeed where Microsoft failed. But instead, they're putting mouse cursors on iPads, and the stylus is still a niche tool for artists.
Have you tried it recently? Pencil is surprisingly well supported across Apple’s apps.
I'd use Remarkable if: it was cheaper and supported a full colour display/Procreate. But, obv. that's not what the device was designed for and that's ok.
I think your idea of the state of the art may be several years out of date.
Unconnected from the rest of the world, my writing exists only as a conduit from me to the page.
If I want to refine that and digitize it, I can then hand-type it into a digital medium, which acts to reinforce in my brain what I wrote and allow me a bonus editing pass.
I'm picturing the scene in 'Saving Private Ryan' where the translator is trying to shoehorn his typewriter into his travel supplies and Tom Hanks slowly raises a pen instead.
I agree with you. I have enough paper and pens to last a good while of first drafts. My typing them into digital medium works for me like it does for you.
Or if I could select an equation, mark parameters and get an interactive chart.
Or if I could select a graph and have it topologically sorted for me.
Funny how different people still act equally as blown-away by technology that's been around for decades, but I guess that's retrofuturism raison d'etre.
Maybe my MO of writing this down is not the standard way, but there were endless examples of a quick 2-column layout here and there, special underlines of parts of the line or single characters, arrows pointing somewhere.
Also I'd been usually writing very packed (my high school math teacher once wanted to gift me some extra paper for christmas so I'd use more space) and I'm simply not sure it would translate well. It's not really an artsy representation, but it's definitely my style that I highly prefer over how math text books look.
The same is not true for normal text, but even there I very often insert quick drawings or diagrams and I'm also not sure if the software will let me keep them in THAT place where I put them. I think it's a hard problem to solve for people who don't just write paragraph after paragraph.
And I may be in the minority but I much prefer there is an iPad that doesn't have a camera bump so it can lay flat on the table.
The video your linked is making latency even more obvious by moving the finger fast.
Well, I designed http://canonical.org/~kragen/sw/dev3/paperalgo, and I like it okay, but I still find it a lot harder to read than more conventional languages.
[0]: https://gregorias.github.io/2014/11/22/early-high-level-prog...
Thank you for linking me to Grzegorz's post, which is a much better explanation of Plankalkül than I'd seen previously! I just celebrated Zuse's birthday on Tuesday. I jotted down his TPK example in paperalgo and found that it was about 64 symbols (characters and non-character lines), about a quarter the size of the Plankalkül version he gives†:
But there are definitely some real parallels: the horizontal bracket for the loop and what I take to be the tabular condition-consequent-condition-consequent representation of conditional logic, with each consequent to the right of its condition, and of course the use of subscripts for array indexing. It is a peculiar combination of the comfortable and the rebarbative—why A9 or W2, for example?
______
† If we count by non-whitespace characters, it's a bit over a third the size of his Python, too.
I read what you have wrote on paperalgo and I like it a lot. It's terse and thought out. I think pattern matching makes more sense than conditionals and looping, but it is easier to transliterate it from different languages. ↑ from Smalltalk just feels right.
enum { size = 8192 };
int main()
{
char *n = "tmp.mmapcrash";
int f = open(n, O_RDWR | O_CREAT, 0666);
if (f < 0) err(errno, "open: %s", n);
for (size_t i = 0; i < size; i++) {
if (write(f, "x", 1) < 0) err(errno, "write");
}
....
rather than in 1D like this: enum { size = 8192 }; int main() { char *n = "tmp.mmapcrash"; int f =
open(n, O_RDWR | O_CREAT, 0666); if (f < 0) err(errno, "open: %s", n);
for (size_t i = 0; i < size; i++) { if (write(f, "x", 1) < 0)
err(errno, "write"); } ...
Are you saying that your experience it's the other way around?Pattern-matching makes some code a lot easier to express and understand, but it's true that there are some languages where you end up having to kind of hand-translate it into a nest of conditionals and whatnot. It's kind of mindless work, though, so I don't really feel like I'm missing anything important in the pattern-matching representation of conditionals in paperalgo.
From wikipedia:
The original handwriting recognition engine was called Calligrapher, and was licensed from a Russian company called Paragraph International. Calligrapher's design was quite sophisticated; it attempted to learn the user's natural handwriting, using a database of known words to make guesses as to what the user was writing, and could interpret writing anywhere on the screen, whether hand-printed, in cursive, or a mix of the two. By contrast, Palm Pilot's Graffiti had a less sophisticated design than Calligrapher, but was sometimes found to be more accurate and precise due to its reliance on a fixed, predefined stroke alphabet. The stroke alphabet used letter shapes which resembled standard handwriting, but which were modified to be both simple and very easy to differentiate.[..]
For editing text, Newton had a very intuitive system for handwritten editing, such as scratching out words to be deleted, circling text to be selected, or using written carets to mark inserts.[5]
Later releases of the Newton operating system retained the original recognizer for compatibility, but added a hand-printed-text-only (not cursive) recognizer, called "Rosetta", which was developed by Apple, included in version 2.0 of the Newton operating system, and refined in Newton 2.1. Rosetta is generally considered a significant improvement and many reviewers, testers, and most users consider the Newton 2.1 handwriting recognition software better than any of the alternatives even 10 years after it was introduced.[6] Recognition and computation of handwritten horizontal and vertical formulas such as "1 + 2 =" was also under development but never released
https://en.wikipedia.org/wiki/MessagePad#Handwriting_recogni...
I prefer to take notes with a pen. The built in Notes app seems to think you write in a notebook the way you type into one: that each line contains one topic. But in fact when writing notes I tend to make columns of stuff on the right (mostly stray thoughts or TODOs that come up, or list of action items, or an outline, or meeting attendees, or who knows what). I add missing points or clarifications elsewhere and use an arrow to show where they go. Notes agglomerates them all together based on vertical distance from the top edge.
Notability and Goodnotes have some editing that is better than Notes and some that is clumsier. Notability and Soulver and most other apps don't recognize the pencil at all.
What they all need to do is do some actual user research and explore how people use paper and use some machine learning to do a better job of inferring what the user is up to. Some of them (including apple) do that when you draw a triangle or circle but at the end of the day those are just party tricks.
I do assume more effort has gone into the drawing/"painting" capabilities. That's not my use case so I can't tell. But I doubt those applications require or bear the same kind of semantic interpretation that's required for freeform text.
I may have misunderstood your comment, but Notability uses pen-pressure to regulate stroke width, so it must know the pen is there. Conversion from handwritten strokes to text is very far from perfect (unusable for code snippets and math formulas), but it is good enough for writing "human speak", like say forum comments or a CV intro.
In fact the two apps I use for writing are Notes and Notability. GoodNotes is OK¡ but I found Notability a bit better for my use.
They just don’t feel that useful. For complex work, typing on a keyboard and using a cursor at the same time is much more productive.
(this comment typed one-handed using the iPhone’s swipe keyboard)
Also, having all of the input terms be integers, yet the answer returned as a floating point, seems a basic type error.
In general, though, it seems to miss the mark. If you’re going with a hybrid electronic/pen approach, why not let the computer handle the annoying bits, like having to wrap things in parentheses that you manually need to keep balanced? Why not draw a circle around some terms, and have that get used for grouping? Why not have the entry itself be interactive, like in the works of Bret Victor?
Totally.
> Also, having all of the input terms be integers, yet the answer returned as a floating point, seems a basic type error.
Spot on.
> In general, though, it seems to miss the mark. If you’re going with a hybrid electronic/pen approach, why not let the computer handle the annoying bits, like having to wrap things in parentheses that you manually need to keep balanced? Why not draw a circle around some terms, and have that get used for grouping? Why not have the entry itself be interactive, like in the works of Bret Victor?
I am familiar with Bret Victor's work, but I don't know which interaction you have in mind. I think he would despise any such notation akin to APL.
Just the idea that since you’re working on a computer, you should be able to take advantage of it. So once the numbers are in there, you should be able to tweak them around without having to re-write everything. What if this value was higher? What if it was lower? How would that affect the results? Let the calculation be explorable.
I got the latest iPad Pro with the Pencil 2 some time ago - and as much as my friends rave about the "very good and totally great" handwriting recognition in text fields, it's just totally bust for me. I can't write a single word and have it recognized correctly on first try. It takes me 10x as long to scrible as it does to just poke at keys on a virtual keyboard with the pencil.
And yes, I can read my own handwriting. Just the computer apparently can't.
[0]: https://www.nebo.app
While Scribble can do a little or it by correcting shapes if you are careful enough as you draw, it isn’t able to “autocorrect” hand drawn titles by replacing with rendered text.
I tried getting into the iPad Pro + pencil workflow but it didn’t work for me initially. Even I couldn’t decipher what I’d written because the smooth surface made my handwriting worse. I didn’t think that was possible.
What changed it for me was adding a textured screen protector and Apple releasing Scribble in iOS 14. My handwriting can’t be deciphered by humans but apparently ML can manage it! The workflow of annotating PDFs and kindle books with the pencil very enjoyable after these two changes. It subjectively feels more productive because I’m not interrupting my thoughts by bringing up the keyboard and searching for keys with one finger.
On a side note, I've made my handwriting more readable on the past year, and it was a fairly small effort. Changing a few letter forms, but mostly just slowing down and being conscious about it. Little things like slanting the crosses on 'f' and 't' so they're distinct rather than running together.
APL mentioned in the article, has a strict prefix syntax without operator precedence, which works fine.
When I watched the video in the post where it converted the written text to characters, my immediate thought was that I wished those characters lined up with what you wrote because it's jarring to just see them rearrange far from where you wrote them out. I was happy to see the later example with the boxes.
What people often forget is the importance of writing feel. I have a remarkable and its like night and day compared to writing on a regular tablet. Fortunately with the remarkable the kobo elipsa the onyx we are now seeing more and more devices aimed at note taking.
[1] https://goodereader.com/blog/reviews/hands-on-review-of-the-...
(x+3)(10-y)
then dot, then asterisk. Nobody writes "x" for scalar multiplication cause it's easy to mistake it for the variable x. What do you mean by 2xy? 2 * y or 2 * x * y?Another cultural difference is how 7 and 1 is written - in USA you write 7 with 2 strokes and 1 with 1 stroke. In my country 7 is always crossed (always has 3 strokes) and 1 has 2 strokes.
And variable z is usually crossed in equations to distinguish it from 2 (but that varies regionally).
https://en.wikipedia.org/wiki/Dot_operator#Notation_and_term...
What does this mean?
Recordings enable conversations over time.
There's a broader symmetry between records and signals generally that I've realised, though I don't seem to find any other notice of this:
Signals transmit encoded symbolic messages from a transmitter across space through a channel by variations in energy in time to a receiver, enabling creation of a new record.
Records transmit encoded symbolic messages from a writer across time through a substrate by variations in matter in space to a receiver, enabling creation of a new signal.
I've noodled on this in a few places, recently: https://toot.cat/@dredmorbius/106388460596905072
I've no idea if this is somehow profound or mind-bogglingly obvious.
It's not.
That's an "affect" not an "effect."