Welcome to my home page. I became blind at birth. I started programming computers at a young age. I also earned my general class amateur radio license, KA3TTT, a hobby to which I have returned with great joy. I practice Qigong, and consider it the most important thing in my life. I cook gluten-free vegan meals. I use Linux as my desktop and Android as my mobile OS. For the rest you'll have to read my blog.
We will have my grandmother’s funeral today. She turned one hundred and one last August. She taught English, and told me to speak quietly in order to get a crowd’s attention. Her life began with the introduction of electricity and ended with us having a video conference with our cousin on a cellular telephone. I used to go to her house all the time for sleepovers while growing up. She had so many fun and interesting things to play with, including a magic disk which could answer yes or no questions.
It looked like a thick plastic cylinder measuring two or three inches across as well as in height. The top and bottom sides had a metal depression into which A ball would fit. The ball had a chain attached to it, forming a pendulum.
If you imagine the disk divided into four sections, the north and south sections said YES, and the east and west sections said NO. Interestingly, on the other side, the disk had BUY and SELL written on it. This would supposedly allow someone to get advice on the stock market. This item came from the golden age of spiritualism.
My grandmother gave me simple instructions. To use it, just think about a question with a yes or no answer, then pick up the chain and allow the ball to swing. She explained it in a very simple way; your mind knows the answer, and the muscles in your arm move the chain. She never got into any supernatural theories.
I don’t even know how she ended up with it. The family story goes that her sister used a divining rod to find water on her farm, but my grandmother had a down to earth outlook on life mixed with a sense of humor. She would have regarded it as a fun curiosity.
This item has a name. We call it a dowsing pendulum. I know that skeptics will point to studies which show inaccurate results, and I would certainly never advise buying and selling stocks on its recommendation. Still, I will fondly remember going to my grandmother’s house where I could ask her magic disk questions and seemingly get responses. I’ll probably never see it again.
RIP Ruth Talbot 1916-2018
Siri vs. a Dowsing Pendulum
Just for fun I decided to use a dowsing pendulum to predict the results of the NFL divisional playoffs. Which will have better results, dowsing or Siri? I didn’t have my grandmother’s magic disk, but I followed her instructions. Siri uses Yahoo Sports to source its data.
|Eagles vs. Falcons||Eagles||Falcons||Eagles|
|Patriots vs. Titans||Patriots||Patriots||Patriots|
|Steelers vs. Jaguars||Jaguars||Steelers||Jaguars|
|Vikings vs. Saints||Vikings||Vikings||Vikings|
To my shock, I picked all four of the games correctly. Many picked the Steelers to defeat the Jaguars. The Saints came from behind and almost beat the Vikings, but the Vikings scored an unexpected touchdown in the last seconds of the game and won. I know that statistically I had a one in four chance, but it did feel eerily magical when the Vikings scored that touchdown.
I dowsed on Friday night, but have the idea to write this article while watching the Eagles game, so didn’t publish the results beforehand. Make of them what you will. A believer would say that I have tapped into my natural abilities, and might even suggest that my grandmother has amplified my powers. My grandmother would attribute them to coincidence and probably tell me to get back to more serious work. If nothing else, I’d say that it shows that we will never tire of trying to find ways to predict sporting events.
Last night while eating dinner I received a text from out of the blue.
Sorry, I can’t talk right now.
I recognized the automated message, but I hadn’t contacted this person. I did not have them in my contacts or in my recent calls. After a bit of thought I came to the most likely hypothesis. A telemarketer had spoofed my number using their caller ID.
When caller ID first came out, the telephone company controlled it. All calls occurred over what we call the
Plain Old Telephone System. It would take some real hacker know how to alter caller ID data. Then we invented VO/IP and everything changed.
VO/IP stands for Voice Over Internet Protocol. It covers the class of technologies which allow voice and video communication over the internet. Software such as Asterisk and Freeswitch allow anyone to freely configure a software based telephone system which would have required custom hardware and software in the past. I wrote the Philly Touch Tours phone line in Freeswitch.
Unfortunately, telemarketers can use these same tools to easily make anonymous international calls. Instead of their telephone company sending the caller ID data, their software switch sends it. Anyone can easily make their number read as anything. Any reputable VO/IP service provider would ban them, but these people do not care about reputation.
I can’t confirm that this happened in my case, but the facts fit. A random person received a call from someone with the same area code and exchange. This makes it appear like a local call. The recipient sent an automated text message, which as the true owner of the number I received. This left both of us feeling very confused. I explained it to them and they thanked me for the info, so I decided to write this article.
It pains me to see the plain old telephone system abused in this fashion. I remember when I would pick up the telephone and feel delighted to hear another human’s voice. Now I just expect to get scammed. We should not have to get rid of our land lines or nervously respond to unknown numbers on our cell phones, and Jolly Roger Telephone agrees. They make bots to waste telemarketers’ time, breaking their business model. Check out this great example!
It has taken over three years, but my first app Eyes-Free Fitness has gone live in the app store! I wrote it in RubyMotion. The project involves a team of people. Apple has given us quite a Thanksgiving present.
In June of 2014 I attended a tech event at the Associated Services for the Blind. A woman named Lynne Maleeff who works for Apple though not in this capacity battled an unruly crowd and discussed Apple technology. I remember sizing up the situation and trying to play defense, helping a few random users in the back with their problems so she wouldn’t have to. A few of us went out for lunch afterward, and Lynne introduced me to her friend Mel.
Mel Scott started BlindAlive to produce accessible audio workouts for the blind. She noticed that even if workout apps had VoiceOver accessibility, they assumed that the user could see the video. At the time I had given several speeches about RubyMotion, and planned to write an app, but hadn’t started on one yet. I agreed to write her app on the spot.
Mel and I began conversing. This happened in June of 2014. We threw ourselves headlong into the project. I met Chris Cox and Lisa Salinger. Chris writes the web site and the API which the app uses to get data. Lisa does customer support. A few others worked in the background, but the four of us had weekly Skype meetings, and slowly but surely the app came into existence.
I could never have written the app if not for RubyMotion. I have blogged and spoken about it a lot, and for good reason. I find Ruby a more expressive language than Objective C or Swift, and perhaps more importantly I far prefer using Emacs to Xcode. If you check Xcode’s reviews you’ll see why. Had I not discovered RubyMotion I would have probably decided to devote my efforts to other activities. Recently, Amir Rajan has taken over development, and I have good hopes about this. He has already proven himself by writing the extremely popular game A Dark Room, which has first class accessibility.
Writing an app doesn’t just mean writing code, it also means dealing with Apple’s way of doing things.
Fastlane helped with some additional tasks, but I still spent far too much time battling with Apple’s developer portal and iTunes Connect. Sometimes it came down to accessibility issues, and a few times they even fixed them upon request. Other times it simply came down to Apple making things difficult for developers. I’ve begun to understand why many prefer Android development, but I also understand the reason for Apple’s curated approach. In either case you can’t do anything but accept it. I do feel I have some special cause to complain - if sighted developers find it confusing, try closing your eyes and using VoiceOver!
At times the project never seemed to end. I cleared hurdle after hurdle. We brought on testers using TestFlight. In time the app began to fill out and have the same features as the web site. Finally we decided to submit it for review to Apple. They rejected it.
It turns out that Apple requires IPV6 compatibility for any external services. I have no control over this, Chris does. It required him moving a lot of things around. We submitted it again. They rejected it.
They said that the app had in app purchases, but did not provide a way to restore all purchases. This confused me. I pointed out the exact steps to do just this.
- Tap the button that reads Get Workouts
- Tap the button that reads Restore All Purchases
They thanked me for the clarification. The app’s status changed to In Review. We waited…
I woke on Thanksgiving feeling a mixture of emotions. The holidays always make me feel a little cranky, but I also felt happy because of the Mystery Science Theater 3000 Turkey Day marathon. I have fond memories of that going back to high school. I meditated. I’ve begun writing a meditation app. The meditation helped, and my crankiness began to lift. I had some stupid notifications on my iPhone. I ended the meditation in my app, then checked my notifications. The app’s status had changed to For Sale! Apple had approved the app on Thanksgiving!
In shock I searched the App Store and sure enough I saw it: Eyes Free Fitness. It felt surreal after all this time. Mel and I had an excited chat amid our holiday gatherings. MST3K played in the background. Then it hit me. I did it. I had created something from nothing. I had my first app in the App Store. I felt thankful.
My Mom has a verizon.net email address. Recently, Verizon sent out notices informing everyone that they would stop handling email, and recommended migrating to AOL.
“I won’t have an aol.com email address, will I?” asked my Mom.
I assured her that she wouldn’t. At first I simply updated the server settings, but in recent days things became unreliable. She could still receive email through POP3, but could not send mail. I also wanted to move her to IMAP. This took three hours and the help of a knowledgeable Verizon tech named Dan to figure out, so I wanted to document the procedure for any other Moms or anyone else in this situation. The AOL help does not include instructions for Apple Mail. That would make it too easy.
This looks kind of scary, but it works. And before I begin, if you don’t keep regular backups then you really should. On a Mac this means buying an external USB hard drive and setting up Time Machine. The procedure to migrate your account involves deleting your existing verizon.net account and creating a brand new account on AOL. Your messages will disappear but they will return if you do this correctly.
Open System Preferences, located in the Apple menu. Go to Accounts. Remove all of the accounts associated with verizon.net. If you have other accounts such as iCloud or Gmail you can leave those alone.
Now add an account. Select AOL for the account type. Enter your email address, for example
firstname.lastname@example.org. Enter the password and continue.
If you get a warning about a duplicate account, do the following. Open Mail and go to its preferences. Go to accounts and remove any lingering verizon.net email accounts. Close mail’s preferences. Return to creating an account in your System preferences. It gets a little confusing since you have several types of accounts.
It will tell you that you need to create a custom account. For the account type, select IMAP. For the outgoing server, enter
imap.aol.com. For the incoming server, enter
Create, and with a bit of luck your account should show up in the list of accounts, and your emails should return.
That hurt my head. My mom gave me an apple pastry from La Colombe as a reward. If this post helps someone else in this situation then it will seem worth it.
For those who don’t know, an unconference has the same type of schedule and format as a conference, except that the conference starts with an empty schedule. If you want to give a talk you show up and put it on the board and they fit it in. The event starts at 08:00 A.M. and they say to get in early to get on the board.
I woke up at 08:30 A.M. and sent in a plea via Twitter which they accepted. I rolled in around 10:00 A.M. and got online. I received an unexpected text message. I had left my keys in the Lyft. They returned them to security and the BarCamp volunteers did a great job assisting me. My Bring Back Mystery Science Theater key ring made them easily identifiable.
I gave my speech at 12:15 PM to a filled classroom. Some people came in and stood in the back at the end. My friend Meg from Snack like a Local showed up. The audience asked some good questions. Someone asked what I listen to. Later I posted some ambient music by the Future Sound of London. I also referenced my setup using the Raspberry Pi to replace AirPlay.
After a half hour the talk ended and we went to lunch. I always look forward to going to the Sitar Cafe. We got back just in time to attend a talk about mnemonics, but we forgot the room number.
The speaker went over some basic techniques to aide in memorization. I knew of the Loci technique because I used it successfully when I gave my talk at TEDx Philadelphia. He also covered the Major System for memorizing numbers, which I once knew and need to relearn.
We took a break and got small smoothies and big cups with chickpeas. Meg wanted to see Rana Mayez, who organized an Arab-American punk festival called YallaPunk. I enjoyed thinking about the link between startups and the punk rock philosophy. I wondered if we would throw our cups in a fit of rage! That didn’t happen, but my cup’s fate seemed sealed.
A little over a month ago I met a guy named Ajmail. I recently told him about BarCamp, and how anyone could give a talk.
“Oh cool. I’m going to give a talk about psychedelics.”
he stated nonchalantly. It went on the board in the afternoon and quickly filled up. By this point a few friends had joined our core group. We found ourselves surrounded by a bunch of people, including many we already knew, which we found funny. Ajmail played a video about psilocybin, and talked about the efforts to make psychedelics more accepted in medical contexts, including a recent study from England. He covered microdosing, a practice which has become popular in Silicon Valley. A woman asked why we keep using spiritual words to describe the experience. Perhaps she will find out. The talk had become a fun mess of several concurrent discussions. Chaos had begun to prevail. Everyone laughed and talked and laughed a little more. My cup of chickpeas fell on the floor! At least they made some cool patterns.
BarCamp had started winding down. They made closing remarks and told everyone about the after party. I decided to tag along, even though I really wanted the opposite - a hardy meal in a quiet setting. We sat at a table at the bar and tried to have a conversation. Meg offered me a coffee covered cricket and I almost ate it before realizing that she meant it seriously. I’ll stick to hemp seed for easy protein!
I enjoyed the company but the party got progressively louder and louder until I could not hear anyone, and conversation became pointless. I got a ride home and crashed. Another unforgettable BarCamp had ended. Psychedelic!
Update, May 2018
Ajmail Matin contracted me to write the mobile platform for his startup. After three months of work done in good faith and in the worst of my eye pain I made it clear that I could not work until I got paid. He disappeared. This has nothing to do with BarCamp, but it does have to do with a person featured in this article. Please take note.