My lovelies it is Holy Week, and you know what that means. That's right it's the unused drafts drop! Every day this week, except for Friday Saturday, and Sunday. I will post something I wrote, but never ended up using. I am trying to post these on a time delay but if the server doesn't cooperate. You get them a day early, or a day late. This one was meant for Wednesday the 27th. Or Spy Wednesday as it's called.

And what do i have for you on this sneakist of all days in the calender. It's a piece i wrote for a mainstream disability originization. I never named it at the time, but the prompt was "What can software engineering, teach people with disabilities?" After i submitted it, I was never contacted again. Two years have past. Note i wrote this for a mainstream originization so there's not much explict social model of disability language in here. But I did try to teach several of the concepts. Like someone once said. Be as innocent as a Dove and as crafty as a Serpant. Dude the bird you're looking for is an Owl. Apex predators, yet still cute! Anyway enough introduction, on with the show.


I was asked, to present talk on the subject of " what computer science, can teach people with disabilities about problem solving". I find the question to be perhaps a little malformed. Computer science concerns itself primarily with discovering new and interesting theoretical techniques in computational theory. Which is to be sure a thoroughly interesting subject. For example did you know a computer need not be electronic or even digital. You can actually make one based on purely mechanical principles. Examples have been built out of waterwheels, erector sets, and dominos, amongst many other things that you wouldn't expect. as fascinating as that is, computer science, and computational theory are obscure academic subjects, that have little to do with practical problem solving.

However the fact is, most people with degrees in computer science, actually practice something called software engineering. Software engineering, like all the engineering disciplines is about solving problems. Usually under some form of constraint. And this is the kind of thing that you're average disabled person could learn a lot from. More specifically there are two things, that your average software engineer has drilled into them from the start, that I find particularly applicable to the disabled life. We'll turn first to the mindset of the engineer.

Wheelchair Princecess


Project Management Triangle First, and this is sort of meta but it’s important. A computer scientist/software engineer/whatever knows that a computer is capable of solving an almost limitless number of problems. So she never assumes something can’t be done, unless and until they have exceeded the Time, Cost and Quality constants of the moment.

So many of us, have been told our perceived limitations are a fact of nature, that we start to believe it. I think approaching are limitations and problems from an engineering mindset, where everything is assumed to be possible. Unless the contrary is proved. Where even if you should prove that the problem is presented can not be solved within current constraints. You can often revise the problem. Or the constraints, imght one day change.

Example I was always told growing up that I couldn’t play a musical instrument. Cerebral Palsy too severe, eyes were too bad so couldn’t read music etc. But I never really gave up on this and occasionally looked for solutions, when I had time and was of a mind to do so. In college a Professor introduced me to several computer assisted techniques, which solved the dexterity issue, and I discovered Ear Training recently which solves the music reading issue. Now the problem is finding a music teacher who is willing to work with me using those tools so I can develop the skill. In the meantime I have made several remixes of classical music using old video game consoles. Which scratches my musical itch for the time being.

Bottom line it took 20 years for me to solve the musical issue, and it’s still only 60% solved. But this goes to show the power of the "possibility mindset"

I’m not saying "never give up" nor am I saying "think positively and you’ll be fine". Finding solutions to complex problems is an arduous thankless often soul crushing task. And you will encounter many dead ends along the way. What I am saying is the "possibility mindset" gives me and maybe you the one thing that everyone needs. Us more then most, and that is Hope. And not the kind of fluffy "maybe someday it will come" daydreaming that Disney is so fond of peddling. No the kind of hope that comes to you when you replace your can’ts with not yets. Is the rock solid assurance that you can improve things for yourself. You might not get everything you’ve always dreamed of, but it is better to have a piece of the pie rather than no pie at all. Be brave and curious

My second point on the subject of mindset will seem to fly in the face of everything I have just said, but those who work with computers have to cope with seemingly paradoxical situations all the time

I said before that what can be solved with a computer is almost limitless. While that is true in a mathematical sense. In a practical sense there are always three limitations on what can be done with a computer. The cost of hardware or developer time, the desired quality of the solution, and the time it will take to implement the solution.

This teaches us several things, An imperfect solution now might be better than a perfect solution two years from now. Solutions that cost too much aren’t real solutions at all. I could go on and on about the Triangle of Constraints. As it’s called. Indeed there are entire semester long computer science courses on this. But there are two things you need to know here. First is that you can only maximize two sides of the triangle at any one time. Meaning that a High Quality, Low Cost solution to any problem will necessarily take a lot of time to find and implement. A Low Cost and Fast Solution will necessarily be lacking in quality and so on and so forth.

Of More importance then the triangle’s dynamics. Is the fact that which limits to overcome and which limits to accept are ultimately subjective value judgments. Who decides what gets priority. Well in software it’s whoever has the money. But in the life of a person with a disability. The person themselves should decide. An example would be instructive at this point.

My college GPA went from 3.8 to 1.9 within the span of a year. Which to anyone not familiar with how college grading works means I went from nearly top of the class to flunking out. Why because I was walking up to six miles a day. My case manager had offered a donated electric wheelchair for getting around, and my doctor had even offered to prescribe one for me six months prior this grade apocalypse. But other people whom I trusted were resistant to the idea. They said I would be giving up. They said to try minimizing extra curricular activity. And a bunch of other solutions. That didn’t actually work to solve the issue. And after nearly being kicked out of college and having to take a years leave of absence do to the health issues that not accepting the help caused. I took a real long hard look at things. And decided that a wheelchair was worth it if it gave me the life I wanted.The next year I managed with the help of the wheelchair I managed to bounce back both academically and socially.

Bottom line here is I had people in my life who believed, and I took for granted that the only way for me to live a good life was through my ability to walk. But what does the good life look like. For me it was getting my degree, arguing with professors (respectfully of course) and hanging out with my friends. This was only possible if I accepted that I wasn’t going to walk everywhere. I’ll end this on a question for the disabled people in the room. This is your life are you who you want to be?

We often see things like walking unassisted, or speaking with our mouths, as goods in and of themselves. But are they really? I would suggest that if your voice is not being heard, or you aren’t getting where you want to go. Then what good is it? I believe at the core of my being that every human being has something to contribute to the world. You can call it an inner light or a song in your soul or whatever flowery language you’d like. Point is don’t let your disability stop your light from shining or singing or both. I am no exemplar in this regard. I spent years discovering the advice I have just passed on, and I still struggle living it out day to day. I guess the summation of all I have to say on mindset, is be persistent, be curious, and remember it’s the disabled person’s life to live.

Problem Solving Skills:

We are now in a healthy problem solving mindset, so we next turn to concrete skills of analytical problem solving. Unfortunately there is no formal course in this, or not a good one at any rate.

So let’s take a practical example. When I mention that I can cook to other disabled people. I often get the response. Oh that’s impressive. I can’t cook for myself.

Remember what I said about can’t. Don’t say it. Instead ask yourself the questions. First Do I want, or need to cook for yourself? Let’s assume the answer Yes.

Then you must reformulate the can’t into a question like so. How can I cook for myself? On it’s own that’s a terrible question. This is so because cooking involves multiple skills, and tools. But asking the question instead of can’ting yourself is a good first step.

The next step is to narrow the question. This involves two sub steps. Try to figure out which objects are problematic for you when you think of cooking . In my case. I had two objects

  1. Knives
  2. The Stove

Then pick one object, and ask yourself What about my disability makes using this object hard? Let’s go with the stove for this example because it’s the easiest. In my case the problems using the stove were

A) Balance issues B) I was deathly afraid of gas stoves.

These were easy to solve as it turns out. Issue A was solved by cooking from my wheelchair or having my cane nearby when standing couldn’t be avoided. Issue B was solved by moving to a place with an electric stove.

I can already hear some of you saying I’m not going to move just for a stove Thanks Matt, and some of you might have stovetops to high to sit at in any case. Or you might still be afraid of a stove even an electric one. For those people there exist a device called an induction hotplate. Which heats things using magnets. I’m not joking. Which means that unless your pan is made of magnetic material no heat will be conducted into it at all. Anyway we’re getting ahead of ourselves.

Once you have narrowed your question your ready for the next step which is to do research. Which is a little beyond the scope of this talk. But in general you want to do deep research, on as narrow a question as possible.

Example to solve the knife issue, I looked into how blind people used knives without cutting themselves, as well as how people with limited dexterity did it, as well as consulting someone at the OT school of our local medical university, and looked through several adaptive equipment catalogs, and as seen on TV products. Before I settled on my current best solution. Which involves a paring knife and something called a rocker-T knife. And even with this best solution. I still rely on my aides to do some cutting work.

In your research try to find multiple solutions, and don’t get attached to any one solution in particular. Because and here’s the big lesson.

Sometimes you will fail to find a solution, on the first try and that’s ok. This is an iterative and evolutionary process. All failures lay the groundwork for future success. And only further refine your problem solving skills.


There’s a lot more which could be said on both topics I’ve discussed today. Things I’ve only implied such as, don’t be afraid to ask for help. A partial solution now is better then a complete solution never. And other whit and wisdom that we programmers have developed and passed don through the 70 years of our craft. But the core of what I’ve tried to pass on is this.

As disabled people we all have profound limitations. But limitations are the fount of all creativity.

Once again I am not saying pull yourselves up by your own bootstraps. Or all you need to do is try harder. I am sick and tired of talks like that. However I do believe that everyone can build their dreams. With a little skill and a bit of help. So once again I ask the disabled people in the room. This is your life are you who you want to be?k