Welcome to my homepage. I became blind at birth from retinopathy of prematurity. I developed an early interest in computers and radio. I use Linux, MacOS, and iOS. I have an extra class amateur radio license. I practice Qigong daily. I consider myself a Taoist. I don't drink alcohol, eat meat, or gluten. It makes me feel optimal, and helps with migraines, which I also have to deal with. For the rest, you'll have to read my articles.

National Mechanics

January 17, 2013

In November I went to BarCamp. Of course, they had an after party. It happened at National Mechanics. At the time I wrote somewhat disparagingly, because of the loud environment. I now realize my error, and felt like I had to write an article to resolve the situation.

Lots of people attended BarCamp. They had a huge party afterward. We filled the place! One could hardly walk. People sang karaoke and played Rockband. It all made for quite a noisy time.

I just can’t stand situations like that, faced by a sea of sound from all directions. I imagine everyone feels this to an extent, but not having sight and therefore relying on my ears makes it even worse. I stuck it out and felt glad I did, but I longed for something quieter. I even talked about forming an alternative to the alternative at a quiet place with good conversation and vegetarian food. I figured I would only go to National Mechanics once or twice a year. I figured wrong.

Last week I joined Indy Hall. Has that only happened eight days ago? I feel stunned. Last Thursday I gave a speech at the Philly Cocoaheads group. Afterward, we went to National Mechanics. I figured I’d come along, since a beer sounded good after my ordeal. To my delight I founded it less crowded and therefore less loud and had a good time celebrating my victory. I even ate a good veggie burger and fries.

Today, Indy Hall had an event for something called Jellyweek. At first I didn’t understand the meme of jellying, but the guys explained it to me. When people meet somewhere with free wifi to work together, they call it jellying. Apparently the guy who originally blogged about it had a big jar of jellybeans at his house, and he’d invite his friends over to work together, so they called it jellying. Now this has spread. From jellying comes collaborative workspaces like Indy Hall. But it all started in a bar.

During Jelly Week, different events go on all around the world to celebrate collaborative coworking. Basically, if you have a laptop, something to do, and a good attitude, you can show up and do some free work. To go back to their roots, Indy Hall went back to National Mechanics. In the beginning they worked out a deal with them where they could come and work during the day, and of course give them business. Things worked out and that grew into the wonderful space we now know as Indy Hall. What a story!

I didn’t know what to expect, but figured I would have fun at anything they did, so signed up. The day started at 11:00. I showed up around 02:00. I had never worked at a bar before. It felt weird to reach over the bar to type on my MacBook Air or browse on my iPad, but I quickly adapted. I finished reading the RubyMotion book, which made me feel good. Then I started working on this article. The afternoon had started getting on. A friend and I stepped out for a smoke. I came in and enjoyed my free drink, a Great Lakes Porter.

While checking in to FourSquare, I learned something cool from unlocking a special. National Mechanics has an iTunes library, and lets you use Apple’s Remote app to request songs. What a great idea! I requested with All TOmorrow’s Parties, by the Velvet Underground. I started feeling really good.

I met a girl named Sonia and her boyfriend Ian, as well as their colleague Jim. They run Paperweight Design Studio. We chatted about all kinds of things, including the Mayan calendar, business, cats, computers, and beer. Sonia asked if I remembered Netbooks. My goddess! I started out on an Apple II/e way back in 1984! Have Netbooks really died that quickly? In the summer of 2009 I lauded them, calling them the end of note taker fascism.

I had started getting hungry. This felt truly novel. I had spent the afternoon working in a space, and now I would just remain and eat. I had one of their excellent veggie burgers and more of their amazing fries. Sonia had a hummus platter and shared a little. I also had another porter. I really felt the vibe now, so requested Once in a Lifetime by Talking Heads, a classic.

Things started winding down for us, and heating up for the bar. The Indy Hall crowd had started thinning out. I decided I should go. Sonia helped me catch a cab home. On my way out I requested A Farewell to Kings, by Rush. It felt like a rallying cry for the spirit of Indy Hall and those who wish to build a better space! In retrospect perhaps Closer to the Heart would have served that purpose better, but oh well, I left and the song played.

When they turn the pages of history

When these days have passed long ago

Will they read of us with sadness

For the seeds that we let grow?

We turned our gaze

From the castles in the distance

Eyes cast down

On the path of least resistance

Cities full of hatred, fear and lies

Withered hearts and cruel, tormented eyes

Scheming demons dressed in kingly guise

Beating down the multitude and

Scoffing at the wise

RubyMotion and Accessibility

January 10, 2013

I just gave a great talk at the Philly Cocoaheads group. We met at the life-transforming Indy Hall. I covered basic iOS accessibility, RubyMotion, and how the two go together. I’ve given serious thought to giving a similar talk at the RubyMotion conference in Belgium. We’ll see how that goes.

It all started last night at my first ever night owl session. Indy Hall has them every Wednesday night. They don’t count against your days, any member can go. They make a great social outlet and a chance to get a little work done. I did both.

I had started thinking about giving this talk, but didn’t know if I could actually do it, or if I should fly across the world to try. I met Mike on my first day there and that got me thinking about Philly Cocoaheads. I wondered if I could maybe persuade him into perhaps giving me a few minutes at the end of his meeting to give it a try. I messaged him on Twitter and he said he’d attend the night owl session. I got there and he found me.

“So what’s the agenda like for the meeting?” I asked, trying to work in my idea. He sort of laughed. “Well it’s pretty loose. Our speaker bailed at the last minute.” Perfect! I told him of my idea and he agreed. The pieces slid together like a puzzle.

I began preparing an outline then and there. I felt so excited. I took a break and wandered upstairs, where I found a girl named Kara cooking tomato soup and polenta. This place just keeps getting better! I ate and talked, working off my energy. I began wishing I could telekinetically teleport my beer from downstairs, then a girl brought it. That made me think about language as a lower form of telepathy. I finished the glass and wondered about more. Then they introduced me to the hard cider… Appleeeeeeeeeeeeeeeeeeeeeeeee?!

I woke up the next day and finished my outline. I also got some tips from some blind developer friends as well as the awesome RubyMotion mailing list. Things really came together. I got an awful cab ride there. The interior smelled like an armpit and I wanted to vomit. I found myself at Indy Hall and had a quick smoke and word with Adam. He had recommended to me a service called Uber. I told him I would have to register for it for the journey home.

I went up to the second floor and found Mike and everyone else just hanging out. I had eaten so declined pizza, though would feel hungry later. I drank water and went over things one last time. I tried to stay calm and mostly succeeded. The meeting began.

They went over some business issues and had a cool show and tell period. One guy showed off some custom layouts he made for images. He encouraged people to publish them on github, which fit perfectly into my talk, as a number of developers have released open source RubyMotion apps. A high school kid showed a sweet jailbreak tweak he made to make the iPhone have a universal QR code scanner. I wanted to bring up the accessibility implications, but didn’t get a chance. Very cool! And great to see someone of that age doing this stuff. Keep it up man, just stay out of trouble.

The time for my talk had come. Mike offered a patch cord and suggested an audio demonstration. I hadn’t thought of that, but liked the idea. I tend to gloss over all this basic stuff, but forget most people have never encountered it before. I got everything set up and began. Listen for yourself.

First I covered VoiceOver basics, explaining just how a blind person uses an iPhone. The iPhone changed my universe as soon as it entered it. I wrote an article which went viral. So many amazing apps make such a difference. I mentioned Color ID, Looktel Money Reader, and BlindSquare as examples, though hundreds more exist. Someone asked a great question about how one would begin, in other words if they just walked into an Apple store what kind of help would they get? I told them of my experiences which I recounted in my very funny article entitled Rejoining the Apple Family. Someone asked if BlindSquare provides contextual information of your surroundings like a sighted person would have, they got it exactly. It also helps you not get ripped off by cabbies.

Next we turned to the exciting world of RubyMotion, which lets you write iOS apps in Ruby. I apologized in advance for pushing Ruby, even though I love the language. I also plugged TinkerLearn, a great course for learning iOS and Objective C. I recounted my initial experience hearing about RubyMotion, like a vision crystalized into physical reality. I covered some things that make Ruby great, and RubyMotion especially. I mentioned some common gems including BubbleWrap, sugarcube, formotion, geomotion, and Motionmodel. I also discussed creating views. We prefer to do it programmatically, which works better for a blind developer as well. To that end the Teacup gem provides a domain specific language for designing stylesheets.

I then brought the two topics together, and discussed how RubyMotion helps accessibility. I started by restating my opinion that I just seem to get more work done in Ruby. It also sounds better with speech to me. I also know plenty of blind C programmers, so don’t take that as a generalization.

Now I got into one of the big points of the discussion. RubyMotion has unit testing, something quite cool in itself. This lets a developer write automated tests on various parts of their app. Not only that, RubyMotion also provides functional tests. This lets you simulate the effect of tapping a button in a view. And how does it know the name of the button? From its accessibility label! In other words, if you write specs like a good developer, you will have to label your buttons properly, the main complaint.

After making more fun of Xcode, I covered a challenge for blind developers. The iOS Simulator doesn’t work well with VoiceOver, so it doesn’t matter which language you use. Either way testing an app on an actual device works much better. This means that you can’t use the super cool REPL which RubyMotion provides. Instead you have to use the debugger. Based on GDb, it works well enough, but the developers intend to create a more friendlier and higher level debugger in the future.

I finished my main talk and opened it up for questions. Someone asked how I used Xcode when I tried it. “Oh, I didn’t try very much.” I responded matter of factly. That got a laugh.

I explained about interacting with items with VoiceOver on a Mac. Xcode has a very complicated layout. I had no idea. Mike asked about build settings. And of course you just add them in your Rakefile, just edit a plain textfile. Nice and easy. He also asked about constraints. Some of the gems I mentioned have begun supporting them, but I don’t know much about them yet. I understand more now though, thanks to the wonderful Cocoaheads.

Someone asked another good question, if I see difference in accessibility across Apple devices, an iPad vs an iPhone for example. I said they behave very similarly, though iPad screens do have more complicated layouts with more going on. The iPhone does give a more streamlined experience. I also forgot to mention Zoom, Apple’s large print magnification software. Someone asked about Siri. I said it works as well for me as it does for anyone, except for me it seems to have happened in reverse. I’ve always enjoyed having my text messages read to me. Now sighted people have finally discovered it.

Someone asked about any egregiously bad apps, in other words really inaccessible ones. My mind went blank. We always have one or two apps in mind and they change over time. For lack of a better answer I said the one I had most recently thought of: theLost Treasures of Infocom. I also recommended Applevis which has ratings.

Mike asked about web sites and I gave my standard answer: skip to content links, good use of headings, and a minimum of Flash and Javascript weirdness. Mike collaborated my statement that if you use standard Cocoa controls and label them properly you’ve dome 90% of the work. I mentioned how the designers of the Color ID app didn’t even intend it for blind people, and felt surprised at that use for their app. Someone asked how I perceived the color. I explained that I can see blurs of color. I can also see by using echolocation, but we’ll save that for another talk. Someone asked about native vs responsive apps with HTML views. I didn’t know for sure, but feel pretty sure in saying that native works better. And that did it for my talk.

My brain felt shot. Beer and tobacco sounded good. We made our way to National Mechanics. I had a bad opinion of this place because we came here after BarCamp and it sounded so loud. This time it had a more tolerable volume. I had a double cream stout, then felt hungry so ordered a veggie burger. I also wanted a beer from Belgium to get that vibe going, so got a Corsendonk Christmas Ale. You Belgians make some good beer!

I felt like a nice ride home plus I had gotten some credit for it so tried Uber. Within minutes a nice black car pulled up and brought me home. I had a very pleasant experience. I’ll take fake vanilla over real armpit any time.

As I sat down to write this article I got another delightful surprise. A guy named Drew mentioned me on Twitter. “Worlds collide.” he said. He referenced Alex, one of the organizers of Indy Hall, so I thought it had something to do with my talk. I asked if we know each other. He said he didn’t attend my talk, but he rememberd playing Barneysplat! I wrote that game in the nineties and it became insanely popular. It always warms my heart when someone else remembers it. It made my night.

Vedge

January 09, 2013

I just went with a friend to a great vegan restaurant called Vedge. The same cooks used to run a placed called Horizons, which I also reviewed. As soon as I learned that I knew we had picked a great place. We had wonderful food and a wonderful time.

My friend Liz and I felt like going somewhere nice since we didn’t get to hang out over the holidays. My mom told me of Vedge, 1221 Locust Street. Directory Assistance didn’t have their number, so we began to wonder if they even existed. I found their web site, and eventually found their contact information. Why do restaurant web sites never have the location and phone number on the main page? This one proved no exception, but eventually I found the number and Liz called. She learned that we could not get a reservation, but if we showed up early enough we could probably get a seat. We figured we’d just walk right over since they open at 05:00 and just see what happens.

To our delight, they could take us. We quickly met our waitress named Alison. She helped us the whole time and took good care of us. I had a Cadillac Mountain Stout and Liz had some red wine.

Alison started naming all the wonderful things they had and my brained turned a summersault. As with Horizons, you can easily get overwhelmed. I eventually decided on Korean spring rolls and squash pierogis in a wine sauce. Liz got some wonderful turnips and kale, and a lentil crepe thing. We shared portions and sampled each other’s and had a good time. I could eat those spring rolls every day, and you can’t lose with squash pierogis in wine sauce. Liz enjoyed her’s as well.

I felt a little confused by the meal format. They have starters and main entrees. At first I didn’t know if I’d get enough food, but as I ate I began to get very full indeed. I called it an incremental feast.

We both felt so content, both from the alcohol and the wonderful food. Of course I had to save room for dessert. I got this triple chocolate thing with a pretzel crust on the bottom and peanut butter. It also came with some stout beer ice cream which tastes exactly like how it sounds, and some chocolate bar. I don’t know exactly what I got, but I described it as intergalactically good. It made me hallucinate. Liz got some vegan cheese cake and loved it. Alison also gave us some dessert wine. Even though they call it wine, it seemed a lot more potent, and I felt glad we just had to get a cab home, which they called for us.

As with Horizons, I highly recommend this place. They have similar food but with differences. A lot of the food had subtle flavors. This doesn’t apply to everything, those spring rolls had some real spice, but it seemed to hold true for the main courses. And those desserts left us speechless. Make a reservation ahead of time, or show up right at 05:00 and you will have an unforgettable night. We did.

My First Visit to Indy Hall

January 07, 2013

At long last I have finally come to Indy Hall, a coworking space in Philadelphia. Many people told me I HAVE to check it out, and now I see why. The web site has testimonials of people saying how it feels like home. I agree. I love it here!

I signed up for a tour on their very accessible page. The email said to reply with any questions so I replied and made sure they could assist me. Adam wrote back and said of course they could. He also checked out my blog and said it blew his mind. Good.

I don’t live far, so took a cab. The ride only cost me nine dollars. I stepped out of the cab and heard some people talking about hackers and knew I had found the right building. I pulled out my tobacco pipe and lit up. “Is that legal now in Pennsylvania?” a guy quipped. “This is just tobacco.” I said. “Oh I know.” he laughed. “But it will be legal soon enough.” I added. I think I will fit in just fine here.

I went inside and Adam met me at the desk. He wanted to know what I saw with echolocation. “I see a big space with a lot of desks.” I said. “That’s exactly what it is!” He showed me around the two floors. The actual tour didn’t take long. They have done a lot to bring a good ambience to the place. They have lots of art and plant life, as well as an aquarium with a turtle. They have a full kitchen, a healthy snack machine, and plenty of caffeine. And they have two wi-fi networks.

I didn’t really know what to expect at a coworking space, but I quickly got the idea. People rent desks, and the open area lets people talk and mingle as they choose, or work when they need to. Some people come in a day or two per month, some come every day. You can choose the plan that works best for you. And on Wednesday nights they have their night owl sessions. As a night owl myself I appreciate this, and will go to one very soon. “We also tend to drink more beer then.” “Then I’ll definitely have to go.” See I told you drinking beer made me more friends!

Adam found me a desk and said I could just hang out. I didn’t bring anything specific to do but figured I could read mail or something. I met Mike who sat across from me. I quickly dove into my email and spent a half hour doing that.

A friend of Mike’s named Corey came over and they started talking. I overheard something about the Shindig app of which I wrote about. I had wanted to talk to the developers about improving the app’s accessibility, and now by chance or design I found myself sitting with them. “That’s great! We’re all about that.” they said. Mike also runs the Philly Cocoa Heads group. Cocoa refers to the frameworks used in Mac OS and iOS. I promised I would show up for sure. They also want to know more about RubyMotion which I raved about despite still learning it. I spent the remainder of my time writing this article.

So in my first day I made some new friends, found a new user group, and a new place to work. I know i will come back here regularly. It feels so good to hear people talking about programming, HTML, games, whatever. They have created something very special here, one of Philadelphia’s gems. Anyone with similar interests should come to Indy Hall. The more the merrier! Oh and by the way they have seventy-two quartz of Baskin Robbin’s ice cream.

Social Yoga

January 05, 2013

Ever since I moved into the city I have wanted to become more social. We have so much more going on here than in the suburbs. I’ve needed to ease myself into things. I call this process Social Yoga. It has mainly involved watching football and drinking beer with my brother, as well as a few incredible excursions.

Yoga means union. Most people think of doing postures. in that case the yoga refers to the union between body and mind. In the case of social yoga, the yoga refers to the union between the self and a social act. And just like with an exercise regimen, I planned to just start by doing little social things to make myself more comfortable with doing bigger social things.

It actually started in May. A girl in our building had a party. Usually I would shy away from such things, but I decided to pull myself together and go. That started some new friendships. Now I know a bunch of my neighbors, including a few board members. I knew I made the right choice by going.

A few days later they had a block party. There I learned that I like good beer. I didn’t drink at all before moving into the city, but everyone drinks beer in Philly, and when in Rome… This new interest has made me new friends by itself.

Shortly thereafter I learned echolocation. This incredible skill has totally helped in my social yoga, because it makes me feel more immersed in the world around me, like plugging in to something larger. I could have or would not have done some of the other things I’ve started doing if I didn’t know it. It lets me go to a new surrounding and into a new building and feel much more confident.

The summer came and we started going on the roof deck. Everyone loves the roof deck. It gives a great view of the city, and has better quality air. I also swear you get drunker up there, perhaps because of the height, but then I read that actually doesn’t happen, so perhaps it just happens as a placebo, or perhaps just because of the different setting.

Autumn came, and that means football. I used to listen to football on the radio around age twelve or so. Since then I stopped following it, and regarded it as a stupid distraction set up by the new world order to keep people focused on crap that doesn’t matter. Bread and circus. My brother likes watching it, and invited me a few times, but I never did. One day my brother texted me to come over and watch the game, or if not to at least turn it on. I tuned in and felt glad I did, because I watched the end of a close game. The Eagles lost of course, but I still enjoyed it.

It got me back into the vibe though. It made me feel like a kid again. I resolved to go to my brother’s the next weekend and did. We continued this tradition all through the season. Some friends wondered about my metamorphosis, even expressing concern, but I had a method to my madness.

I learned some things while watching football. Firstly when I say watching I really mean listening. They like the television for the video, but everyone agrees the commentators suck. You just can’t beat Merrill Reese! He has provided the voice for the Eagles since 1977, the year of my birth. Hearing his homely voice brought everything back for me. I especially enjoyed his optimistic comments during this awful season such as: “It’s still mathematically possible.” “It may be impossible for [the Eagles] NOT to turn the ball over.” and “There’s not much less we can say without losing our jobs.” Everyone felt glad I insisted on the radio despite the delay. For me Merrill made the game.

Speaking of the delay, we really wanted to resolve the issue, but in the end just dealt with it. The video comes through first, so they would see the play and possibly react, then we would all hear it. They tried to keep their reactions down for my sake. We wanted to hack together something to sync the two, but it takes a lot of effort. Why?

The answer came over and over again from several different people: “Because the NFL are dicks.” This really came home for me when I listened to the disclaimer at the end of a television broadcast. It said something to the effect that any rebroadcast is prohibited, understandable, but also any description of the game. Really? So if I told you that the Eagles lost their final game on a sad penalty I would technically violate their license. I hardly believe that of course, but it still made the point.

I had to buy NFL Audio Pass on my iPad. But it won’t stream the games on an iPHone, just a tablet. No technical reason exists for this restriction. Why? Because the NFL are dicks!

During the course of the season I attended a PANMA talk. While there I made a new friend named Christine. We stayed in touch, and it turned out that we both picked this season to begin watching again. She wrote an article about her re-initiation as well. We started texting each other during the games. She said: “Football is always better with friends.” and I agree.

We picked a terrible season to get back into the Eagles. They finished with a four and twelve record. Long-time fans told me that this would harden me. If I could last through this season it would make me a better fan. And they’ll get better draft picks next year. So here’s to 2013!

Every time the Eagles score a touchdown at home they sing the Eagles Fight Song. We all would sing it as well, irrespective of their location. In a way it felt like the best part of the game. Too bad we didn’t get to sing it very often.

Fly Eagles fly, on the road to victory

Fight Eagles fight, score a touchdown one two three

Hit ‘em low, hit ‘em high, and watch our Eagles fly

Fly Eagles fly, on the road to victory!

(then my favorite part)

E! A! G! L! E! S! Eagles!

I would also like to mention some commercials, since they make up part of the experience. I award the best commercial to Dietz and Watson even though I don’t eat meat. They have Momma Dietz do the commercials which adds a homely quality to them. And for the worst, hands down the award this year goes to KeenanAutobody.com. It has an annoying song that you cannot get out of your head, no matter how you try or how many beers you drink. I figure they must have done it on purpose. I also thought it very funny that PNC Bank sponsored the broadcasts. At every break, sometimes after an awful play, they would have to say “PNC: for the achiever in you.” I could picture some guy at PNC going SHUT UP! Don’t say that now.

My social yoga continues even though the season has ended. I gave a great speech at BarCamp. On Monday I will check out Indy Hall. And my brother and I have already begun making plans to listen to baseball while drinking beer in his new rooftop pool. The future looks very bright and very social. I feel fantastic.

Turn the Page

Search my Weird Life