How organizations can become more inclusive of people with disabilities

shapes of women and men illustration

(first published on

“Diversity is being invited to the party, inclusion is being asked to dance.” -Verna Myers

With this in mind, communities should invite as many individuals as possible to dance the night away. Diversity and inclusion get a lot of attention in the tech community these days, perhaps more than in any other industry. Many experts agree that when people of different backgrounds work together to find solutions to problems, the result is a broader scope of innovation and better outcomes.

Many organizations, including open source projects, publish reports on diversity to ensure that everybody understands its importance and participates in efforts to support it. But often diversity initiatives are limited to gender (specifically, bringing women into technology fields) and ethnicity.

Gender and ethnic/racial equality in the tech community are both important, and I certainly don’t want to downplay these issues. But limiting diversity efforts to gender and race excludes many other worthy groups. One of these is people with disabilities.

According to many sources, at least 15% to 20% of people in the U.S. alone struggle with some type of disability. About 70% of these are disabilities such as blindness, cognitive challenges, or chronic disease, which are not visible from the outside. This group includes many talented individuals who can bring unique and valuable experiences and insights to projects and workplaces.

Oscar-winning actress and activist Marlee Matlin said, “Diversity is a beautiful, absolutely wonderful thing, but I don’t think they consider people with disabilities, and deaf and hard-of-hearing people, as part of the diversity mandate.”

Inclusion means everybody, not just specific groups. When diversity efforts focus only on specific groups, many others are excluded. And often, the loudest group wins attention at the expense of others.

Open source communities are particularly well-positioned for workforce inclusion, because technology can help level the playing field for people with disabilities. But the community must be willing to do so.

Here are ways organizations can become more inclusive of people with disabilities.

Making conferences more accessible

Scheduling a conference at an ADA-certified building doesn’t necessarily mean the conference is accessible to all those with disabilities.

Providing step-free access from streets and parking lots and wheelchair-accessible restrooms is a good start. But what about the presenter’s stage?

Accessibility to events should consider both presenters and attendees. Many conferences have likely missed out on a great deal of valuable insight from disabled speakers who were unable or unwilling to participate based on previous negative experiences.

It’s also important to scatter reserved seats and areas that can accommodate mobile devices and service dogs throughout the venue so all attendees can be seated with their friends and colleagues (a big shout-out to the fine folks at AlterConf for understanding this).

Visual impairment doesn’t need to preclude people from attending conferences if efforts are made to accommodate them. Visual impairment doesn’t always mean total blindness. According to a 2014 World Health Organization report, 285 million people worldwide suffer from some form of visual impairment; about 14% of this group is legally blind, while the rest have low or impaired vision.

Finding the way to sessions can be a challenge for visually impaired individuals, and an open and welcoming community can address this. For starters, be sure to make accommodations for guide dogs, and don’t distract them while they’re working.

Communities could also implement a “buddy system” in which a sighted person teams up with a visually impaired person to help guide them at sessions that both individuals plan to attend. Attendees could find a match using IRC, Slack, Forum, or some other tool and meet at a designated location. This would be a win-win from a community standpoint: Not only would the visually impaired attendee get to the session more easily, but both would have an opportunity to connect over a topic they share an interest in. And isn’t that sort of connection the very definition of community?

Preferred seating can be provided to ensure that attendees with limited vision are located as close as possible to the stage. This would also benefit people with physical disabilities who rely on assistive devices like canes (yours truly), wheelchairs, or walkers.

If you are a speaker who is sharing your insight with the community, you deserve respect and credit—it is not always easy for people to stand onstage and address a large audience. However, if you use slides and graphics to enhance your presentation, and if these images show key data points, the words “as you can see on this slide” should be eradicated from your talk. This is considerate not only of people with visual impairments, but also anyone who might be listening to your talk while driving, for example.

Another group to consider are people with hearing impairments, or D/deaf people. Enabling them to participate presents a technical challenge I would love to see addressed as an open source solution. Live speech-text-transcription would be beneficial in many scenarios. How many people reading this use the closed-captions on TVs in sports bars or at the gym?

Providing sign language translators is great, of course, but this can present a challenge at international conferences because sign language, like any other language, is regional. While ASL (American Sign Language) is used in the U.S. and English-speaking Canada, there are also dialects, as in other languages. Speech-to-text may be a more realistic option, and accommodations for CART (Communication Access Realtime Translation) would benefit many, including non-English speakers.

Making content more accessible

Sometimes you are simply unable to physically attend a particular conference due to conflicts, distance, or other factors. Or perhaps you did attend but want to catch up on sessions you were unable to fit in. Not a problem, thanks to YouTube and other sites, right? What if you’re D/deaf, and the videos online don’t include captions? (Please don’t rely on YouTube captions; the hashtag #youtubecraptions was created for a reason.)

Fortunately, you can provide your own recordings. Be sure to format event content, including any posted slides, so that visually impaired users can use an open source screen reader like NVDA on Windows, or Orca on Linux, to navigate both the site and the slides. Correct formatting is key so that screen readers can follow the flow of the document in the right order. Please include ALT IMG tags for pictures to describe what the image shows.


Perhaps the first step toward creating a more inclusive community is to acknowledge that it involves a much wider group of individuals than is typically discussed. Communities have a lot of work to do, and particularly for small teams, this can present an extra challenge. The most important part is to take note of the problems and address them whenever possible. Even small efforts can go a long way—and for that I offer my heartfelt thanks.

Ira Glass on beginners

“Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you. A lot of people never get past this phase, they quit. Most people I know who do interesting, creative work went through years of this. We know our work doesn’t have this special thing that we want it to have. We all go through this. And if you are just starting out or you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Put yourself on a deadline so that every week you will finish one story. It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions. And I took longer to figure out how to do this than anyone I’ve ever met. It’s gonna take awhile. It’s normal to take awhile. You’ve just gotta fight your way through.”

-Ira Glass

How to get rid of stickers on your Macbook


MacBook Pro with open source project stickersIf you are roaming the open source world, chances are you’ve either come across people who have tons of stickers of various projects on their laptops or you yourself made sure it has ample sticker coverage.

But what if you want to sell your laptop, or have to return it to your employer in a clean state? Get ready to invest some elbow grease.

I simply decided to go more with the clean and simple look on my MacBook Pro and so the
stickers had to go. I thought I’d share a very simple way as I found a wide range of solutions varying in complexity and chances of success.

This is only aimed at MacBooks as other laptops (like my beloved Thinkpads) have different surface materials which may or may not react different.

First you will need some paint thinner:

Can of paint thinner used for cleaning

I started by simply pulling off everything I could with my fingers and finger nails. Some stickers are easy, others not so much. Get off as much as possible.

Next get some paint thinner on a paper kitchen towel and begin to rub it first into the remains of the sticker and then in circular motions with some pressure until the glue part dissolves. Keep going and make sure every part of the sticker comes off. Wipe off multiple times to not just spread the remains all over the lid.

Once you got it all off use a clean paper towel with some paint thinner and give it a final wipe. Then use yet another clean and damp paper towel and wipe off the remaining paint thinner (it smells terrible).

The end result should look like this:

Cleaned up MacBook Pro with old stickers in the back

Make sure you do this in a well ventilated room or ideally outside. This stuff really can cause some nasty headaches.

Deallocating multiple VMs with azure-cli & bash

The great thing about Azure (and to that extent Azure Stack) is that you can quickly spin up and down test environments. If you’re like me, you prefer a command line over any browser interface any day of the week for repeatable tasks.
In the Azure world, the great azure-cli command line tool comes to the rescue. The great thing about it is that it is a) open source, and b) cross platform. So working with resources in Azure from my Linux workstation is no problem. Until I ran into one.

For testing out some network configurations, I spun up a bunch of VMs in Azure. Once I was done, I wanted to deallocate them to not have them consume resources, and thus cost money. That’s after all the great thing about a cloud.
All my VMs were in their own resource group to have a dedicated network for them and since it’s a test lab, easy to manage without interferring with other resources. The azure-cli provides the functionality on a per VM basis to deallocate a VM from the shell. That is all good for one, but not for multiples. Let’s take a look:

mschulz@eowyn:~$ azure vm list -g db2lab
 info:    Executing command vm list
 + Getting virtual machines
 data:    ResourceGroupName  Name       ProvisioningState  PowerState      Location  Size
 data:    -----------------  ---------  -----------------  --------------  --------  ----
 data:    db2lab             db2-node1  Succeeded          VM running       westus    Standard_A2
 data:    db2lab             db2-node2  Succeeded          VM running       westus    Standard_A2
 info:    vm list command OK
 This is the environment for the simple test. Two VMs (more to be added) to form a cluster in resource group db2lab.

The azure-cli tool provides us the name of the resource group, as well as the VM names.
From here we can do a simple one liner to get the respective VM names we want to target and write
them into an array for later processing:

mschulz@eowyn:~$ vmname=($(azure vm list |grep -i db2lab | awk '{print $3}'))
 mschulz@eowyn:~$ echo ${vmname[@]}
 db2-node1 db2-node2
 Now that we have those names in the array, we can then proceed to process them in a simple loop that
 will take the action on the VMs we want.
for i in "${vmname[@]}"
 do :
 azure vm deallocate –g db2lab -n $i

The above example reads the values from the array, passes them to the azure-cli and deallocates the VMs. In order to do the revers, we could simply replace deallocate with start.
Since this would be a bit cumbersome to do every time we need this operation, let’s pull all this together in a handy shell script:



startvms() {
         vmname=($(azure vm list |grep -i $rgroup | awk '{print $3}'))
         for i in "${vmname[@]}"
 do :
 azure vm start -g $rgroup -n $i

stopvms() {
         vmname=($(azure vm list |grep -i $rgroup | awk '{print $3}'))
         for i in "${vmname[@]}"
 do :
 azure vm stop -g $rgroup -n $i

deallocvms() {
         vmname=($(azure vm list |grep -i $rgroup | awk '{print $3}'))
         for i in "${vmname[@]}"
 do :
 azure vm deallocate -g $rgroup -n $i

case $2 in
 start)  startvms ;;
 stop)   stopvms ;;
 deallocate)     deallocvms ;;
 *)      echo "usage: $0 "resource group" start|stop|deallocate" >&2
 exit 1


Using this script, we can now on the command line specifiy the resource group in question, plus
define the action we want to be taken (start, stop, or deallocate).

The azure-cli tool is a fantastic resource in the tool belt of the Azure admin to perform many tasks from the command line of either Linux, WIndows, or Mac OS X. Look Ma’, no GUI.


Softrock Lite II build day 1

Finally made some time to start building the Softrock Lite II SDR
receiver. The original plan was to build it as a pan adapter for my
TS-940S which has an IF out port. Since I no longer have this rig,
and my K3S has a different first IF, I decided to build it for 30m as
a WSPR receiver.

20160117_235335715_iOS (2)
First test of the oscillator stage

Checking on the frequency counter confirms everything is working as
it is supposed to be.


Next up was the divider stage. All went fine, except with some need to
tidy up my soldering of SMD parts. First time I used a hot air rework
station for SMD parts. Not as easy as I thought, but turned out OK.

20160119_001549348_iOS (2)

Again tested all the steps and made sure the voltage readings for example
were correct. It is really important to do this for each stage to make sure no
errors sneak in and then are harder to find later.


The divider provided the expected signal at the test points with the expected
frequency. So on to the next stages ….