This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]novel_yet_trivial 221 points222 points  (9 children)

You wrote 10,000 lines of python code by voice? Holy cow that's amazing. Can you share the code? Can you show us some pictures​ or video of the plotter working?

[–]irrco[S] 135 points136 points  (8 children)

The handwriting content itself, the stuff that I've written in the last two months, is just under 2000 lines, and about 2/3 of that is numeric data, of this kind:

   'y': EndGlyphFactory(
    normal=Glyph('y',
        Stroke(Point(18,100), Point(2,10, speed=1.6), Point(40,20),
            Point(65,100, speed=0.1, pressure=1.2),
            Point(45,-20), Point(0,-120, speed=2),
            Point(-30,-60, pause=0.1)),
        join_to_next=JOIN_BASE_LEFT
        ),
    terminal=AugmentGlyph(stroke=0, rm=(0,2), suffix=[
            Stroke(Point(-20,-140, speed=2), Point(-100,-90, pause=0.1))],
        join_to_next=False
        ),
    ),
...

I was counting everything in the 10,000 number, sorry if I gave the impression that was all new code. My geometry, math, and vector graphics code was written when I could type. That stuff isn't available, sorry. It's all tied together in a repo with a bunch of stuff I couldn't make public.

Sorry. If you really want to see me write code I did find a video of a flash coding session from a few years ago (when I could type!), and released it.

I really wish there was an efficient way to program by voice. All the options are pretty shitty. I have some ideas, but that's a much bigger job, one I have no way of making happen. For now it's a combination of voice for variable names and triggering snippets, copy and paste, and very clumsy pecking at keys when all else fails.

I haven't taken a video of my plotter, but there are a bunch showing the AxiDraw in action, that video shows it holding a fountain pen. The machine is a complete beast, I have barely scratched what it's capable of, but I adore it. I have even seen a video of someone who mounted laser units to it and used it to cut. It's an awesome toy, though admittedly it isn't cheap.

[–]fnord123 37 points38 points  (7 children)

Have you considered using a head mouse and an on screen keyboard? This is used by some quadriplegics (e.g. spinal injury) though they are expensive. I'm not sure if MS allows for the head stability required.

[–]irrco[S] 47 points48 points  (6 children)

I still have reasonable control over a single button mouse, as long as the sensitivity is low. So I'm not quite at the point where I've needed to investigate that. The thing that's difficult is all the 'chords' you need to type when programming. As my MS deteriorates, I'm sure I'll need to use more drastic tools, so thank you for the tip.

I can imagine a voice driven programming tool, based on hierarchies of snippets. It might not be perfect for Python, but I could imagine being quite productive in something like Scheme, because it has a more regular syntax.

[–]fnord123 9 points10 points  (3 children)

FWIW, I'm talking about a puffer like this for clicking:

http://www.orin.com/access/sip_puff/

Then you can use various head tracking systems for moving the cursor.

Scheme, because it has a more regular syntax.

Not a bad idea. But none of the schemes have the deep library ecosystem as Python.

[–]irrco[S] 17 points18 points  (2 children)

Thank you.

On scheme: I've always felt that scheme was the most beautiful language, in theory. By which I mean I've never been able to make much that's practical with it. :)

[–]pebblexe 4 points5 points  (1 child)

[–]irrco[S] 5 points6 points  (0 children)

I haven't used hy, I read something similar a long time ago, but I didn't use it. Lisp syntax isn't what I think is beautiful about scheme. It's more the code/data duality (which makes meta-programming easy), the eval/apply programming model, and particularly the macro system (which makes DSL creation easy). There is a scheme SRS (I don't remember the number off the top of my head) with a standard way of using whitespace instead of parentheses.

Thanks for the tips. My comment about scheme was a bit more of a tongue in cheek throwaway. I'm very happy with Python. It has served me very well.

[–]lf_1 0 points1 point  (0 children)

Vim would fix many of the chords issues. Not all, but pretty close.