"Voice Driven Development: Who needs a keyboard anyway?" by Emily Shea
Вставка
- Опубліковано 13 вер 2019
- As a programmer, being unable to use a keyboard can seem like a career-ending limitation. I was facing that reality a year ago due to Repetitive Strain Injury, when every productive day was a step back for my health. In a futile, last-ditch effort at saving my career, I turned to speech recognition. Unexpectedly, not only was I able to return to pain-free productivity, but I found voice-driven development to be enjoyable, efficient, and a source of renewed excitement for programming. Speech recognition isn't exactly known in software development circles as a workable approach to programming, but it's better than you (probably) think! Far from imposing a tedious workflow with a specialized set of commands, speech can enable flexibility and optimizations that are difficult to achieve with a keyboard, and does not get in the way when adapting to new technologies, tools, or languages. This practical, demo-driven talk presents the approach and tools that have allowed me to continue on with my career. I'll present real world experience with speech-related topics like disambiguating homophones on the fly and teaching the voice engine new technical vocabulary. Beyond technical aspects, I will share my experience guiding a team to support this working style, and challenges to adding a microphone into an open office environment. Speech not only removes the compromise between health and career when an injury is present, but can also augment and improve the workflow for a wider audience.
Emily Shea
Fastly, Inc.
@yomilly
Emily is a Senior Software Engineer at Fastly, where she works on the platform for delivering core CDN configurations, and develops in Perl using speech recognition. In a past life, she worked in HR at mobile gaming companies. Emily holds a BA in Architecture from UC Berkeley, and in her spare time likes to hang out in parks with her dog, named Chicken. - Наука та технологія
Wow... this is incredible. I'm 38. I graduated with my CS degree in 2004. I worked 4 years in development, and "burnt out" because of pain levels. I've been having problems with my left arm (everything from shoulder to wrist) since I was 17 - and at that point it ended my dream of being a musician (which I had worked hard for since I was 5). Now that I'm 38 I NEED to go back into development - trying to relearn my old skills and bring my knowledge up to date so I can go back to restart my career. I've quit gaming, entirely so that I can manage that. I'm already in some pain after 2 weeks of *learning* (ie. not working), not horrible yet, but I know it's coming back. I CAN'T take ANY nsaids (crushing chest pains), I've tried those keyboards and so many other ergo/ortho devices, tried literally having enough icepacks that I can have ice and heat alternating all day. I've had shoulder surgery. After my shoulder surgery I became dependent on painkillers - THAT wasn't fun, plus the surgeon botched the surgery and it was a whole lot of agony for absolutely nothing. Docs can't nail down whether it's in my shoulder, or in the cubital tunnel/guyon tunnel.
PS. my issues are on my left side. Left shoulder/elbow/wrist... biggest problems are, like I said, with the nerves that innervate pinky/ring and part of the middle finger - so it's ulnar issue. I rarely have carpal issues. Docs have gone so far as doing thyroid tests and electric conductivity nerve (NCV) tests - and let me tell you, that is NOT fun, even if you're not afraid of needles. It was a loathsome experience but I was (and to a degree still am) willing to do anything to get answers, or I'm going to lose all my dreams, waste my education, and likely die with a wasted life (and no retirement savings). I'm sure that sounds dramatic to some people, but I know it won't sound dramatic to the lecturer.
I'm in very similar situation. Just diagnosed with arthritis. Have you been able to get back into development?
I am just starting and I want to understand how to use it better. I got it today. I really enjoy this program so far, it is the most relaxing way to code and my hand doesn't hurt after work.
@@MarkusGebhard it is very learnable. The site has learning links, and it's very straight forward!
I have a very similar story (music as well originally). I'm 28 now, and in my first year of my CS degree and lost my last career due to injury. I feel up against a wall, but this truly feels like a ladder out of a very sad place. I'm just hoping that this will be the beginning of getting back to school, work, and music for me. Best of learning to you all
That was a great presentation. Nicely paced, funny (at times), and insightful and an useful view into voice control that I have not explored. I also thought the contrasting videos was a great way to communicate progress. When I had my brush with RSI, I picked up a Kinesis keyboard first a Freestyle and later an Advantage2 LF, and I was lucky to escape with a warning.
i broke both arms at once, and was being directed by my boss to try something like Dragon; which sounded totally absurd to me, given that i was estimated to be disabled for only a few months. now... i am having to learn braille, and the output part of coding seems like it is going to be very very daunting. i can kind of read braille literature, but my comprehension is too low because i don't read fast enough. punctuation is a total madhouse in braille. on computers, the ambiguous encodings are a problem.
Sorry to hear about your challenges. I hope you'll find the ways and tools to help you have a quality life with your ailments! Get well and keep on keeping on!
Say "escape colon whale quench enter" to exit vim.
Awesome talk/presentation! Very interesting.
This is pretty amazing. I would have never guessed that such speed is possible with voice input
The video description is missing links to all the things that were referenced in the talk. I watched this the other day and came back to it today and now I have to watch it all over again to find all the things that were referenced.
This was facinating thankyou :) Whale Quench!
I'm using it now, have wrist problems.
This was great Emily, thanks for taking the time to put it all together. I've had RSI for a scarily long time. Like 25 years. Definitely impacted my career, as I wasn't able to sit at a desk and type for 8 hours a day, as was/is sort of conventionally expected. You mentioned lying on the floor to work - how do you look at a screen from there without an injurious neck position? Good luck with your recovery! Waiting patiently for Dragon and Talon to come to Linux...
BTW Greg, there's a Talon beta for Linux now that doesn't require Dragon.
Check out aenea for Linux.
Not sure how Emily does it but I might use a projector pointed at the ceiling.
Amazing!
Blows my mind to think that Vim is relatively easy to use with voice.
Mindblowing
"Everything is command based", sounds like great for Emacs.
mind => blown
Does anyone know what overlay Shea uses to display the latest commands? The speech recognition in Norwegian isn't good, and it would be nice to know what pronunciation I have to change to be intelligible for my computer.
The recognition is pretty amazing in my opinion. I enjoy typing whale quench. This is really giving me confidence that I can continue my career. I am typing this on
my first day of using Talon, and it's not impossible to learn in a day.
(To my level, anyway!)
Neat, I want to incorporate this more, but also think there is enough changes to the wording that it'd be like learning to code again. And when I pair program with someone, if I say Down Score to them, will they know what I mean? I understand it being hard to say certain things, or it'd be longer with more syllables, but I have to train juniors all the time and might find it difficult to see the language in two different ways. Do I force everyone to understand my language so that I don't have to change, or should I be the one having to code in two different languages now. Not an actual question to you, but the things that I wonder about when considering this option. I think the maodel could be trained to understand code better, and therefore cd can just be cd and not cap dip.
Ohhhh, getting the Mitosis was a mistake. No tenting it seems either, that's bad.
Basically, Xah Lee's articles on keyboarding:
“Why Function Keys Are Useful” xahlee.info/kbd/keyboard_function_keys.html
“Ban Key Chords” xahlee.info/kbd/banish_key_chords.html (also, “Why Undo Cut Shortcut Keys Are Bad?” xahlee.info/kbd/keyboard_remap_copy_cut_paste_undo.html)
You could buy a separate numpad and assign keys to various functions there as well.
how would you use this with something that is not python?
How is she saying link I can’t get that to work
This is amazing! I'd love to see a future where voice coding is more normalized; someone shouldn't have to struggle through great pain or risk losing their career.
This stuff is amazing. But I'll tell you what: We're humans. Speech is our default mode of communication. It's five times faster than typing. I predict speech-based development becomes the default choice before this generation is out.
I too was wondering why... why perl?