I’ve known Tyler Spivey for just over two years. In that time, we’ve hung out on a TeamTalk VOIP channel on a near daily basis. I’ve had the opportunity to watch Tyler work, we’ve talked about nearly any other topic that came into our minds, I’ve grown tremendously fond of Tyler and he is my friend. Thus, be warned in advance, this article is written with this bias built in so do not expect a high level of objectivity.
Over the past 35 years or so, I’ve had the opportunity to work with hundreds of programmers and have managed dozens of such during that time. I have found that the programmers with whom I’ve worked over the years fall into a number of different categories. Some of these people are serious computer scientists, they’re really good at inventing algorithms to solve hard problems. Another set would be called software engineers and are really good at the process of turning algorithms into functioning bits. The final and my favorite category are the hackers, individuals who look at a goal and then take whatever path they can to reach that goal, even if such a process is not documented or officially sanctioned in any manner.
Tyler Spivey is a hacker’s hacker and this article is about some of the things he has accomplished this year, 2015, alone. I’ve seen a lot of blind programmers work over the years and I’m willing to wager that Tyler, in the first six months of this year, has had one of the most productive runs in the history of blindness and programming.
The Two Definitions Of Hacker
In my recent article “Who Are The Champions?,” I discuss two definitions of the word “champion.” Here, we’ll explore a pair of definitions of the word “hacker” and talk about the spectrum of activities a person who carries that title might do with their time.
In his terrific book, Hackers: Heroes Of The Computer Revolution, Stephen Levy tells his readers that the term “hacker” was coined at MIT’s Tech Model Railroad Club and was used to describe individuals who did something interesting in the switching system that ran the giant train set. If someone found some electrical parts either at a local electronics junk store like Eli Hefron and Sons, just off the MIT campus in Cambridge or by taking something else apart and repurposing these components to make the train set better, they would receive the title of “hacker.” The role of the Tech Model railroad Club in the history of computing is far too long to describe here but those interested in learning more can find a lot of information about it in a number of books and by googling on it as well.
As many members of the model railroad club at MIT were also hanging around their Laboratory for Computer Science (LCS) and Artificial Intelligence Laboratory (AI Lab), the word “hacker” followed them and its definition changed from something specific to model trains to a more generic term meaning anyone who does something interesting with technology, especially if what they are doing is exceptionally clever or forces technology to do something for which it was never originally designed. In these labs, “hackers” might be doing something with software, hardware or both. Some were MIT students and employees but most, including the legendary Richard Stallman, would find their way to the lab driven by the desire to play around with cool computers and other interesting gear and arrive without an official position.
As the original hackers moved out of MIT and into jobs doing research, writing software for corporations and governments, teaching at other universities and so on, the word “hacker” followed them but retained its original definition. But, at some point in the late seventies, the media took hold of the word “hacker” and applied a dark and sinister definition to it. If one only hears the media definition, they’d think that all hackers were performing illegal activities as their primary purpose and that the word didn’t apply to the good guys doing interesting things that cause no damage to anyone. The US media has the tendency to ignore reality when the reality is too complicated and decided to label all hackers as outlaws rather than using the original full spectrum definition.
Tyler Spivey is an original definition hacker. He gets an idea and then makes it happen, whether the idea is supposed to be possible or not. Tyler doesn’t allow computer science textbooks or OS documentation to restrict his activities, if he sees a solution, he goes for it, even if said solution would seem entirely out of bounds to the original authors of a program or OS on which he is hacking. Tyler will use every resource available to him to deliver interesting solutions for blind people and, recently, people with unrelated disabilities as well. Tyler is a “true hacker” under Levy’s definition of such and I find myself continuously impressed with his accomplishments.
Tyler Spivey 2015
This year, sill only slightly more than half over, we’ve seen Tyler accomplish a number of really interesting software tasks, some of which are very public and about which you’ve likely already heard but, others, sometimes using very non-standard techniques, that have gotten far less publicity. In each of the cases I describe in this section, though, Tyler has impressed me both with his technical acumen but also with his high level of professionalism, his excellent ability to fit in with a team, his skills working with beta testers and the sheer joy Tyler expresses when he does something very cool.
NVDA Remote Access and QRead 3.0
Two of Tyler’s more publicly notable releases this year are the NVDA Remote Access plug-in for NVDA and QRead 3.0, an excellent book reading program for Windows sold by GetAccessibleApps.com. I’ve written two articles about NVDA RA on this blog earlier this year (one when the crowdfunding campaign started and a second when it had reached its goal in about 36 hours) so I won’t repeat myself here. On QRead 3.0, Tyler added a number of new features and fixed a bunch of old bugs making it the best QRead to date.
“Tyler is the best debugger I’ve ever known,” says Christopher “Q” Toth, leader of GetAccessibleApps.com. “Tyler views things differently, he looks at the symptoms, the manifestation of a bug and can drill down rapidly into the code and get it fixed faster than anyone else we know.”
Another of Tyler’s more impressive skills that I observed on the Remote Access project and, last year, when he released 3MT Reader was his terrific ability to interact with product beta testers, get the information he needed, fix a bug and get the software back to the testers for verification. Glen Gordon, the primary hacker on JAWS and one of the greatest blind hackers with whom I’ve ever had the opportunity to work, would never hang out on an actual beta mailing list with the testers nor would most other programmers in this space as doing so requires a combination of both technical skills but also a terrific amount of patience and Tyler demonstrates both in a highly productive manner.
Readers old enough to remember the nineties may recall the popular Nintendo GameBoy handheld gaming device and the popular Pokemon game that a lot of sighted kids enjoyed back then. Like many blind people who grew up in the nineties, Tyler had always wished he could play the game and, this year, he made that possible and a bunch of blind people are enjoying playing his version of the game today.
Continuing on what Toth said about Tyler in the previous section, Tyler got the old Nintendo GameBoy Pokemon game accessible not through simple programming skills but, rather, through an advanced understanding of how to get useful information out of a programmed called a “debugger” so he could make the software talk.
What Tyler did to make the Pokemon game work for a blind player is simply incredible. He started by downloading an off-the-shelf GameBoy simulator program for Windows. He then loaded in the Pokemon game into the simulator and loaded the simulator into a debugger and started hacking. His first course of action was to search through the RAM in the GameBoy simulator to find a specific bit of text that he knew appeared on the screen. When he found the text, he knew he was looking at the video memory and he was able then to calculate offsets to build a map of the other objects on the GameBoy screen. From there, Tyler wrote code that would describe the action taking place in the game in a manner that a blind person could interact with well enough to play. After about two weeks of part time hacking, Tyler released his game to other blind people and, as it’s FLOSS, has already received further enhancements contributed by other blind programmers from around the world.
For those readers who may not understand the implications of what Tyler did to get his Pokemon game working, I can summarize it by saying that Tyler wrote what amounts to a single purpose DOS screen reader in a day or two and then extended it to describe a very visual experience well enough for a blind person to enjoy using. For those more technical and old enough to remember DOS assembly language hacking, Tyler effectively found the equivalent of the DOS B000 segment and was able to write code that, in real time, builds something of an off screen model to give blind players a rich gaming experience.
You can check out Tyler’s Pokemon game on his AllInAccess site.
YASR and e-speak for Macintosh
When Tyler gets bored, amazing things happen. Over the past few months, Tyler, having heard stories that the command line (Terminal app) on Macintosh wasn’t as accessible as one might want it to be so he did some googling and found an old screen reader called YASR, a command line screen reader written years ago for UNIX systems. His research also showed that at least one other hacker had tried to port it to Macintosh but had given up. Tyler found the emacspeak speech server for Macintosh and used it to get YASR compiling and talking on OS X in a single day. Often, the sign of a great hacker isn’t the number of lines of code he generates but, rather, how he uses existing pieces of technology to affect an outcome and Tyler is one of the best at assembling existing technologies into something purposeful.
Recently, one of our 3 Mouse Technology clients bought Tyler a completely tricked out Macbook Pro in order that he could more efficiently work on projects for both Macintosh and iOS. I think that the single most controversial and personally held opinions in the world of blindness aren’t the “hot topics” of the day but, rather, the answer to the question, “what’s your favorite speech synthesizer?”
Personally, because most of what I do is write, I really like the Alex voice on Apple products because, to my ear at least, Alex does better than any other synthesizer I’ve heard at preserving the metrics, the rhythm of the English language and, as one who enjoys writing long sentences that contain subordinate clauses within subordinate clauses, Alex makes it all sound natural. Tyler, however, finds all of the extra pauses and timing related features of the Alex voice to simply take longer than necessary and prefers a synthesizer like Eloquence or espeak that, in spite of sounding a bit robotic, work much better at faster speech rates.
Once again, Tyler did some googling, found that someone else had tried to port espeak to Macintosh in a manner that it could be used with VoiceOver but had abandoned the project. Tyler had it compiled and talking, albeit not perfectly, in about one day of part time effort.
At this stage of their development, neither Tyler’s YASR nor his espeak are yet available of public consumption. He hasn’t fully tested his YASR for Macintosh and his espeak needs some major refactoring to get it working properly with VoiceOver. But, I include both here as, while you can’t see them yet, we’re talking about two days of Tyler’s time to get these programs as close to being fully usable, an amazingly compressed schedule for even a proof of concept.
Tyler The Contractor
On top of doing NVDA RA, QRead 3 and the hobby hacking projects described above, Tyler Spivey has been doing a terrific job as a contractor for 3MT. His projects include both testing web sites for accessibility against standards and guidelines using a number of different screen readers and writing up reports with remediation suggestions for the clients and, most recently, doing some very interesting tasks that repurpose an off-the-shelf hardware device to be used with great value for people with a set of disabilities entirely unrelated to blindness.
The 3MT clients who’ve worked with Tyler all give him very high reviews and are eager to work with him again in the future. 3MT will provide references from these clients if you contact us about doing some contract work with Tyler or any of the others on our team.
As I wrote in “Who Are The Champions?” I think we should be cautious when crowning “champions” and tossing around superlatives. Thus, when I refer to Tyler as “The Greatest Living Blind Hacker,” I do so both with the bias I state in the introduction but with this laundry list of accomplishments done all within a six month period. I’d love to hear the names and stories of other blind hackers doing amazing things as, while I know Tyler personally, it’s easy for small, single person efforts to avoid my radar. For now, at least, given the five projects plus consulting I describe above, I can’t imagine any other blind geek has had such an incredibly productive year and I cannot remember any having such a great year ever before.