Good Information About Autism

I realize that lately it may seem like I'm happy with my new hammer and the horse isn't getting any more dead, however, it's important that I say these things. It's been only about 6 months since I started researching AS or Autism in general and am still not officially diagnosed, although there's a chance I'll have one soon with the money for the diagnosis coming from an outside source. It's a lucky stroke for me because I'm not certain I could pay for the diagnosis otherwise.

For those who might like a primer, here's a recording of some news from the NPR show All Things Considered talking about the Global and Regional Asperger Syndrome Partnership (GRASP). I wish I could tell you when this aired, but it's on the GRASP website and I didn't hear the date in the recording.

I'm trying to practice "radical honesty" although that's not the reason why this is so important. Radical honesty is an interesting thing for someone with Asperger Syndrome (AS) or "aspie". There's a lot of talk amongst the autism community about whether or not having an official diagnosis is a good thing, just as whether or not disclosing your autism is a good thing. Although talk of "passing" for "neurotypical" (non-autistic) reminds me of talk amongst the queer community of "passing for straight". People in the queer community are concerned about "passing" for the same reason as autistics, because the members of both communities are frequently bullied although for different reasons.

The murder of Matthew Shepard was a tragic event. Shepard wasn't looking for trouble, he wasn't even in a public place, he was seduced in a private bar by two straight men with the express purpose of beating him. Ask yourself this question: if you had a hobby that you basically lived for -- doesn't matter what the hobby is, say bird watching -- and you knew that for whatever ambiguous reason, there were a lot of people who hated bird watchers, so much so that you couldn't even attend bird-watching groups without there being the nagging fear that the group might contain spies pretending to be bird watchers with the express purpose of beating the crap out of you, how would you cope? Even today there are still people who pretend to be gay to do vicious things to people in the queer community. Fortunately it's not usually so severe, but beatings do still happen. The good news out of Shepard's murder is that it raised awareness about hate crime and prompted social activism for the queer community.

Shepard is a dramatic example. Problems for autistics are much more subtle and much more likely to go unnoticed. I don't generally fear physical abuse (although I might if I found myself in certain testosterone-rich environments). I do fear or have feared quite a lot becoming homeless. I don't talk about that in particular so much -- I certainly don't mention it as often as it flashes through my mind. More often I mention my child support (although I'll omit mentioning the amount of the debt this time). I'm not sure if the average person makes the rather literal connection I do between the child support and either homelessness or sometimes death. I got fired from a job in 2006 and seriously considered suicide. At the time I was living about 50ft from a train. The reason for that is that although I've always wanted to find a place where I fit in (both work and social), to be accepted for my strengths and to be paid on the merit of my abilities, that hasn't really happened. What has happened is that I've been fired from an average of about 1.5 jobs per year for the past 7+ years. (That's a rough average, it's more than 1, less than 2.) I understood it more when I first started working because my fear of social situations at the time was so powerful that I continually made myself sick in the first few years and missed a lot of work. This was on the heels of such intense fear of people as a child that I couldn't buy a candy bar at a convenience store without an extreme fight-or-flight response. Apparently I was afraid the clerk at the 7-11 was going to yell at me or beat me.

I've come a long way from having an asthma attack over buying a candy-bar at a Stop-N-Go to being an outgoing, even extroverted employee of various software companies... and still according to the world around me, it's not enough. Not if I want to survive, not if I want to see my children again (who I haven't seen in 2 years and that for only a couple days and then not for several years before that, all due to finances), not if I want to consider something other than a bullet as a retirement plan.

People with autism fall through the cracks. We're obviously smart when it comes to our particular interests, like software in my case, we can quickly fit together puzzles that have other people scratching their heads (physical puzzles have actually been part of the diagnostic criteria). So it's natural for those outside the autism spectrum to think that there's an overall effect of our "Intelligence Quotient" (IQ) that applies to all areas of our lives. I.e. you're smart, therefore, you must be perfectly capable and just not want to hold down a job!

My natural, gut response to the "you must not want to hold down a job" comment is to be very snarky and say something sarcastic in response... I'll suppress that urge here. No, desire has nothing to do with it. The reality is that IQ doesn't really mean much. As a matter of fact, people with Asperger Syndrome typically score better on IQ tests as they get older, which is interesting because part of the way that IQ is measured is by age. This inclusion of age in the IQ test is supposed to compensate for the average amount that a person learns from year to year, so a person with an IQ of 100 who learns what the average person learns per year should take the same test and still score 100 a year or three or five years later. People with AS supposedly actually become smarter with age. Although ultimately imo that just goes to show how ridiculous IQ tests are to begin with. Intellectual capacities can't really be quantified that way. There's no correlation between a person being good with math or spacial puzzles and being good with social situations.

No matter how much I work at trying to figure people out, I'm constantly, neurotically second-guessing every word out of my mouth for fear that I'm going to unintentionally offend someone. The same is true of my contributions to mailing lists, blogs, etc. Aside from being a very distracted individual, that's another part of the reason why my blogs end up being so freakishly long (in comparison to others). This blog was intended originally to be a lot shorter. :) Though I'd also like to briefly address the other complaint I hear people make frequently (after the "you're just not trying hard enough / just don't want to work" comment), and that's the "you're using x as a crutch". Quick question. If someone is using something as a crutch, do they generally go around telling people it's a strength? Or do they just look for ways to be incompetent in every area? Do people who're using something as a crutch generally spend nearly 24-7 working in the hopes of succeeding in an entrepreneurial endeavor? In my case I have volumes of work that's generally available to the public for anyone who's interested in seeing what I've been up to. (Potential employers have all but flatly refused to consider the work I've done as evidence of my abilities, up to and including Fig Leaf.)

I wanted to post this article because I want people to know about not just my situation but I want people to know more about autism in general. I wan't people to understand that Amanda Baggs is a very intelligent woman, who through a quirk of neurology, can't speak any language understood by humans. For this reason she's always been referred to as a "low functioning" autistic. Yet she's a prolific blogger.

I'm also going to go out on a limb here in keeping with the notion of "radical honesty". As I said, it's an "interesting" prospect for someone with AS. People with AS generally speaking don't do "ulterior motives". We're not good liars. We may at times be decent actors with practice, but for whatever reason, most of us find lying almost physically, palpably uncomfortable. I myself find it almost physically challenging to just "shut up" when I see or hear someone say something on a subject that's important to me (and there are many), particularly when I disagree with the "conventional wisdom". So for many of us "radical honesty" is less an ideal than it is a natural state (although it is also an ideal for me). I've known this about myself for a very long time. Many months ago, before I had started researching Autism, I tried to explain this phenomenon on the Extreme Honesty forum on Tribe. And true to form, the experience is so foreign to the average person that several of the people on that tribe called me a liar! Did I say "foreign"? I meant "alien" as in "extra terrestrial" as in Wrong Planet -- the most popular website for autistics currently.

But I do try. I make a herculean effort at times to keep quiet... When I shouldn't need to really... I agree with Adlai Stephenson that a free society is one in which it is safe to be unpopular and unfortunately that's not true here in the US at least not yet. I was watching just recently some video of several of the leaders of Exodus International (part of the ex-gay movement) who had resigned from the organization, apologizing for the damage they had done and admitting to complete and total failure after years of effort at the objective of altering the members' urges. One of them mentioned a young man who under the pressure of the judgment that his sexual orientation was "wrong", chose to cut up his genitals and poor alcohol into the wounds as a form of penance for his "impure thoughts".

It seems fairly often people choose to hurt us, thinking that somehow it will help. I may not be mutilating myself physically, although I have in the past contemplated suicide as a direct result of my inability to retain a steady income appropriate for my skills and substantial enough to support my family. When I was arrested for being poor a couple years ago (driving w/ a license that was suspended for child support), my father's response to the news was "I can't help him" (which was a lie), "he'll have to figure it out on his own". According to him, I'm just a deliberate irresponsible screw-up and perhaps similarly to Exodus International that it's nothing a little "tough love" can't fix. We're different, damn it! That is all. It doesn't make us tainted, disturbed, lazy, irresponsible, sick, afflicted or evil. We don't need to be "fixed" - we need people (in my case the state) to have realistic expectations.

So here's the limb I'm going out on. As I was perusing a bit of autistic research today, I came across GRASP and I listened to the All Things Considered clip I posted above and I scrolled down on the grasp site and saw the poster of Sigourney Weaver who's receiving their DNA award for 2008. "the award itself--the physical object--shall be a round peg in a square hole, in reference to the "square peg in a round hole" that we are often referred to as. This acknowledges that our honorees probably didn't fit so correctly into the societal mode themselves." I read the quote, "Not everyone on the autism spectrum wants to be cured." and I cried... I'm sitting in the office at my day job, with just a cheap particle-board barrier between me and the rest of the office and I'm crying. I can't stop... bawling like a child...

So for those who may be interested in finding out more about autism, here are a couple of additional links to sites I'm researching.

And lastly, thank you for reading. :)

How NOT to Design a Toolbar (Winamp Browser Extensions)

Okay, so it's true that I am a programmer, and pretty darned advanced at that... however... I've spent a great deal of time thinking about user interaction as well, a subject that it seems most programmers prefer to avoid if at all possible... I'm not most programmers...

A few years back I read Alan Cooper's book the Inmates Are Running the Asylum and I recommend it heartily for anyone in software. When I first started reading it, I thought Alan was being pretty darn harsh. I said to myself, "come on Alan! Surely SOMEONE who was a programmer once, during a full moon when the wind was in the west and mystics called on the ancient sages of the lost civilization of Atlantis for guidance, had a decent idea about user interaction. Maybe it was on a Thursday in Denmark in '87."

Old Alan seemed dead convinced that there's an impenetrable iron bulkhead separating the hemispheres of a programmer's brain, making them physically incapable of predicting the desire and/or behavior of a non-programmer. Wait, I take that back, it's not iron, it's made of one of those strange alien substances that you see on an episode of Star Trek where the engineer has to say "I'm sorry, Captain, we just don't have anything that can penetrate it". And it's locked tight such that not even the smallest and fastest of tachyon particles can eek through around the edges to tickle the neurons at the edge and give the programmer some faintest dream-like sensation that he's receiving signals from afar in Morse code.

I disagree. I believe I personally have the ability to see both sides and I honestly think a lot of programmers could, if they wanted. But the more I've used today's software, the more painfully in-tune I become with Alan's frustration. I've also talked to some other programmers and where Alan was very careful to be PC in saying that programmers aren't to blame and that they genuinely want to create useful, helpful tools for the users, I seem to have met and talked with a lot of programmers who are in spite of the recent interest in "web 2.0" and "AJAX" or "RIA", actively HOSTILE toward the people who're spending good money to purchase their software. (Though honestly, I've seen similar pent-up hostility in other industries, so I'm not certain it's unique to software.)

I seem to be different from a lot of the programmers I've met in that I've never shared or understood that hostility. And any time I've noticed that someone was struggling with an interface I designed, I've given serious consideration to what caused that rift. Frequently that consideration has contributed to a fairly large body of work around the idea of eliminating the frustration with software. One salient example of this actually applies to something I did for other programmers (including myself) recently with this 3.0 release of the onTap framework in which I spent several hours weeding through my own code, replacing instances of <cfmodule template="#request.tapi.xhtml()#"> with <cf_html> just to make it more legible for people. I wonder how many other people in our ColdFusion community or even the software industry in general would have taken those several hours to do that, knowing that the existing code was already working?

In other words, I fixed what wasn't broken. But then I've always fixed what wasn't broken. For that matter, I take issue with the notion of "if it ain't broke don't fix it". Given that notion, we would all still be sitting around with candles and keroseen lanterns, using an abacus to calculate our taxes. Hey! Those things still work! They didn't need any fixing! There are still AMC Gremlins on the road, but I'm not going to drive one.

But that change in particular was a convenience for myself and for other programmers -- it was something to simplify our lives, not the lives of our clients. Generally speaking, the things I do to make the lives of my clients easier take more time and are much harder to accomplish. Which may be another part of the reason why other programmers don't tackle a lot of those interaction issues, because it takes time and given that they're already disinterested, they're even less inclined to spend much time on those endeavors... Maybe it's an effect of the Asperger Syndrome (AS) that drives me to devote so much of my time and my thought-space to these interaction challenges.

But I digress...

I'd been waiting (not very long, but I was) for a winamp plugin for Firefox. Why? I have Firefox open all the time for work, and it would be more convenient to have the pause & play buttons there than to go through the icon in the system tray, which while functional, doesn't provide a very convenient interface via the right-click context menu.

And now it's here! Huzzah! And my god, it's CRAPTASTIC!

For starters, half of the items on that toolbar are things you're not going to use. Skins and Plugins, right off the bat! Who changes the skin for their radio often enough to want it on the toolbar?! Much less the search. I understand that the search feature was probably an outcropping of the ability to search your media library or possibly radio station lists, but it defaults to searching the web! Which you probably already have in your browser! (Yep, defaults matter.) But even if it didn't include the web search, there are buttons on the other side of the toolbar to open the media library where that search would be more appropriate, yet isn't found. (As an aside, who thought building a complete browser into the WinAmp player was a good idea?)

You can't see it in the screen-capture, but there are tool-tips on those buttons on the right, the ones that you can tell from conventional symbols are for "play", "pause" and "stop", you know, the ones you actually want in this toolbar. The tooltips don't display what the buttons do. Instead they display the title of the current song! Umm... Aside from the fact that I'm not sure why moving my mouse over those buttons indicates that I'm interested in the song title moreso than moving my mouse over the toolbar in general, some of those buttons do things that aren't intuitive and could really use to be labelled.

Just to the right of the "next track" button, there's a button that looks to me like "eject", which I thought was odd... It doesn't eject the CD tray like I expected, it opens the file dialog for you to select a playlist. Great IDEA! Awful execution! Label the button for starters... but then there's the ShoutCast item to the left, which is also part of what I was actually interested in a WinAmp toolbar. That lets me switch the radio station (which I should but can't also do from the previous / next track buttons, since my playlist contains all radio stations, instead of individual MP3s). The open menu in the above screen capture is the ShoutCast menu, but let me rephrase, it almost does what I want. It does let me select the station, but there doesn't appear to be a way to edit the list of available stations, and they're not tied to anything significant or useful, like oh I don't know say... a playlist? Or maybe even stations I've listened to recently?

The "stations I've listened to recently" would be nice, like the "files I've edited recently" that we get in things like Photoshop or Word. It's also something I've integrated into the contact manager I've been working on this past year, particularly uncommon amongst web applications. But to simply slap a menu of radio stations up there in such a random and hideous fashion is just cruel and unusual. Let's let them change the station! To a predefined set of random stations we choose in various different languages they may or may not speak. WTF?!

Give me a list of recent and/or playlist items, let me change the playlist, label the buttons and over there on the left where you're going to remove all that crap nobody will use, add in a HUD for the title of the current song that shows the media search to add items to the playlist when you click it.

If I'd been paying closer attention, I'd have expected these issues, since they were already there in the Internet Explorer toolbar. Oddly, although the IE toolbar was available first, it seems pretty obvious the folks who work on WinAmp are Firefox fans because the IE toolbar has a different set of graphics with really bad anti-aliasing. Maybe what WinAmp needs is some good stiff competition. Someone who knows how to create a decent interface.

So okay, this article isn't related to anything specific with regard to the onTap framework or even ColdFusion programming. It's just a very good example of very bad interaction design and I think programmers in general (self included) can use to learn from these kinds of mistakes. These are issues that affect us daily. An interface that keeps tools you rarely use constantly in your face for example, like the skins & plugins options in this toolbar aren't helping anyone. They're at best a distraction from the task at hand most of the time and actually, empty space in the interface would be preferable to distracting people with things they don't need. And a lot of the ColdFusion software I've worked on over the years suffers from that same issue, so I think it's a good thing to remember when we're designing our software. A fly-out menu containing lots of options for different things you could do for example might not serve the user as much as a link to the most frequently used item and neighboring link to a page containing navigational access to less frequently used tools. There may be situations in which the fly-out menu is really useful and makes a lot of sense, but most of the time I would wager if you can avoid it, your users will thank you.

Version 3.0 - p.s. I'm not dead.

No I'm not dead, yes I'm still maintaining the framework. :)

Long story short, I had a really rotten year and couldn't afford my dedicated server and had to let it go. A friend of mine parked the domain for me, which is why it looks like it's been "re-purposed". It hasn't, I'm just not using it right now. I plan to put something back up there sooner or later. Although I'll probably continue to host the svn repository, etc. here once the domain is back up.

I just recently realized that Ray set up RIAForge for all the OS projects on Adobe platforms, so while I was reticent before about putting it on SourceForge or Tigris I'm happy to have the project hosted here. (And honestly I think although certainly there may still be some areas that could use improvement, the interface on this site is a phenomenal improvement over those other sites. Kudos Ray.) :)

I've just committed the latest build of framework version 3.0 which I've been working a lot on in the past couple months, cleaning up, removing outdated items, adding support for CF8 features. I've had to lose all the version history from version 2.0 up to now because I didn't want to nag Ray into letting me email him a 6MB subversion dump to import into the RIAForge repository, so that's why the new repository starts at svn version 1 with verision 3.0 of the framework core. I'm also planning to set up the Plugin Manager and the Members onTap plugin here and may create a separate project for the framework sample application. I had at one time created a blog (Blogs onTap) as a sample application, however, due to features unrelated to the framework it became far too complicated to serve well as a "sample" application. Too much complexity in the non-framework parts. So I'm thinking I can convince myself to avoid that trap with a Wiki. :)

The new features in CF8 have resolved some long-standing issues which I think may have been barriers to entry for some people. For example, now that the framework can set up its own default custom tag paths, I've replaced all the instances of <cfmodule template="#request.tapi.xhtml()#"><xml ... /></cfmodule> with <cf_html>. I think a lot of folks saw the original request.tapi.xhtml() tag call bandied about in my code and became overwhelmed.

Thing is, the onTap framework is chocked full of all sorts of things you don't really need to understand in order to leverage the framework. It's just like you don't need to be a Java expert to leverage ColdFusion. It might be interesting to know how Java handles email, but at the end of the day, you send an email with the <cfmail> tag (or your preferred wrapper). And the same thing applies here.

It's just that my wrappers *looked* complicated (even though they were simple to use), because I always refused to make people do anything that required access to the CF Administrator to install the framework. And although I didn't realize it at the time, that's even a "great minds think alike" moment with the folks from your favorite editor (not mine), Eclipse. Installation instructions for eclipse: step 1 unzip. Installation instructions for the onTap framework: step 1 unzip. But ColdFusion 8 removed the only limitations that were keeping me from using standard custom tag syntax, which imo is a big plus for this new version.

Longer Story:

Honestly losing the old server may be the best thing. Truth is, I was paying through the nose for a server that essentially couldn't run a game of Solitaire without herniating under the load. It wasn't even half as robust as the notebook I use for development at home, which does a pretty decent job of running the framework honestly except that I don't have enough RAM and so it's constantly garbage collecting, which slows it to a crawl half the time. But I know why that is, and it's not even because of the framework's memory consumption -- it's because the combined basic memory consumption from ColdFusion 8 (and I used to tandem 7 and/or 6), SQL 2005, Dreamweaver1 and honestly Firefox2 bring me up to 50% of the 1GB RAM I have at home, which is more than twice what was available on my dedicated server at CrystalTech (which incidentally also had no L2 cache due to being an older Celeron).

It wasn't until after I had to give up the server that I started researching Autism and have come to discover that there's a very good chance that I am autistic (Asperger Syndrome or something similar). Aside from the anecdotal evidence of having had a lot of similar experiences and having been described by acquaintances as being this way, I score in the average range for people with AS on this online survey.

This is actually good news for me because I've lost a lot of jobs over the years and usually for political reasons. The Wikipedia article mentions the Diagnostic and Statistical Manual of Mental Disorders, which lists the diagnostic criteria psychologists use for making official diagnosis. Among the criteria for AS is that people who have it can't keep jobs. Well autism was virtually unknown when I was a child -- heck, it's *barely* understood even now. So at the age of 33, I finally understand why the social / political aspects of work have always been such a challenge for me in spite of how effortless it seems for other people around me.

It has a lot to do with behaviors that you normally don't think about, like eye-contact. For the average person, eye-contact is an instinctual behavior, you don't have to think about when and how to make it, but it's not built-in like that for people with AS. For us we have to learn it the same way you might learn to play the piano. And since we're just learning from scratch whereas you basically had it built-in to your BIOS from day-1, that makes it a real challenge for us to keep up... So for the last 7 years since I split up with my ex, I accrued $10k/yr in child support debt (based on an annual amount that I've never earned and apparently was never likely to earn), which means, unless something changes I'll die in debt3, possibly on the street.

There isn't any medication for AS or Autism (that I know of) and honestly, I'm not certain I would want any... The problem is that while it has its drawbacks, AS is also a good part of the reason why I'm as talented a programmer as I am. It's a good part of the reason why I with only a GED routinely write application code that makes people with 4-year degrees scratch their heads. Honestly I think I just need to find the right non-autistic sales guy to help me sell my own software4 and I'll be okay . I'm not out to be the next internet billionaire, just as long as I can pay my bills and get out of debt and some day retire, I'll be happy. And maybe if I have an official diagnosis I can convince the state to have a realistic expectation of my income (even though a local attorney advocate for autistics here in Portland recently told me that was impossible).

p.s. I'm now in Portland OR. Give me a shout if you're in the area, I'll buy you a beer sometime. :)

Footnotes:

  1. Yes, I use CFEclipse at the office + Aptana + VSS plugin
    1. Yes, I'm trying to convince them to let me migrate their VSS repository to SVN - I remind them of the hoops it makes us jump through on an almost daily basis
    2. I still haven't found anything to like about Eclipse -- the search-and-replace features alone make me want to scream -- okay I take it back, I like the installation instructions for Eclipse - after that point however, it's just constantly getting in my way and making it a challenge to do my job

  2. Firefox - I'm not kidding, check its memory consumption some time -- but it's worth it for the countless hours Firebug saves me in testing CSS alone
  3. roughly $160,000 by the time the kids all turn 18 and assuming I don't die first - accurate figure - (and with no benefit / nothing to show for the debt)
  4. so that I have multiple income sources

BlogCFC was created by Raymond Camden. This blog is running version 5.5.006.