New Goal

I have thought a lot over break about what I will be doing the coming year. While I have planned my life to be attending graduate school immediately after I graduate, I do not think this is the best choice for me anymore.

I know I’d get into most schools. But, I don’t know that I would be happy in them. I can only point out something obvious before I just give up. (How many times have I heard people brag about the accessibility of virtual worlds? I guess only wheelchair users are disabled.)

Getting into a school of choice doesn’t mean it’s where one belongs. Before entering computer science, I had been accepted into a top advertising department. While I liked my courses and profs, I didn’t belong there. Many of my peers did not relate to me. I don’t know if the stark contrast between my peers and my profs was from a maturity gap or what. Either way, it didn’t make me happy.

… I have gotten disgusted by academia’s insistence that I prove I’m worthy of something without doing the same for me. They brag about papers and research, but never say what I get in return for joining them. Big deal if I get my name on publications; this assumes I don’t earn it. I get a degree that I earned. Yet, the university gets cheap research and teaching labor. While there is the employer-employee format, there is a lack of the cross-interview portion.

In industry, I don’t know whether I will be happy either. Being a code monkey is a frightening prospect. But,I don’t want to believe that a company wouldn’t want to fully utilize it’s workforce. Would be a rather ignorant and inefficient format.

Compilers, Networks, and Software Engineering

I have taken two embedded systems courses, and am now in compilers and networking. Despite having my passion in human-computer interactions (HCI), I have taken predominately systems courses for my capstone work (the exception being A.I.). I suppose that’s because I also like ubiquitous computing, the movement towards embedding technology into the world until it becomes invisible.

Compilers seems useful, but we’re still reviewing context-free grammars, parse trees, etc. from the computing basics. We will be making a compiler for MiniJava. This basically takes a subset of the Java language and produces MIPS, an assembly language.

Compilers are very involved productions. One needs to know what kind of hardware it is compiled on, what the specification is for the language, etc. I’m not taking it to spit out compilers (there’s compiler compilers for that). It’s better for enforcing appropriate testing and debugging. (I admit to doing a ludicrous all/several test cases after writing my programs. The appropriate method is to do unit/module testing throughout creation.)

Networking focuses on how the Internet works: how data gets from one machine to another and protocols for different types of data. I’m taking it more for interest in mobile devices. I don’t know if I’ll get a full answer to these, but it is best to know why I’m doing something:

  • How do cellphones, laptops, etc. protect data when it is on a wireless network? (Someone else can grab the bits I send from out of the air.)
  • What types of machines make up the Internet? What is the ratio between embedded systems and standard computers?
  • With the imminent death of the Internet, what comes next? (We’re running out of IPv4 addresses, and IPv6 adoption has been quite unsuccessful. The only viable solution if this trend continues is the creation of “gated communities.”)

And then there is software engineering. Many students, including myself, put off this course until their last semester. This is because of reports of how not useful the course is and that it is taught backwards from the actual process (testing is done first, while design and specification is taught last).

My first assignment is read either a 30 or 50 page paper on software disasters  and report on it in 2-3 single spaced paper. More distressing is that the course is packed with students; this is not helping my anxiety.

All three courses involve group work. So, that’s a definite shift from my previous coursework and I don’t know what to expect.

… As an aside, for anyone that does a Powerpoint presentation, please don’t use a white background. It visibly color shifts and flashes on a projector. (It’s bad enough for my migraines to be around florescent lights; I don’t need the screen I’m reading to blink, too.)

Meeting Dr. Duck & More Ableism

Dr. Duck has done wonderful work towards outreach and encouraging children to pursue science and math. His name is on several papers that I have come to love, rereading as if they were a beloved novel.

I wanted to work with him.

Up until I met him.

Oh, and did meeting him hurt. My chest, two days later, still feels heartbroken. And I’m so tired of crying.

I spent my time with him having tears welling up in to my eyes. My anxiety echoing through my head, telling me that I wasn’t safe here and I needed to leave. I cried most of the hour drive home. I didn’t realize why I was so upset beyond that he caused it. I was so happy about meeting him, and now…

Turns out the person I admired counted disabled people as “other.” He repeatedly told me that his lab does education, not disability. These two  things are mutually exclusive in his mind. I guess disabled children aren’t worth educating; it isn’t an unheard of belief. But, to hear this from someone I admire, someone whose fucking research is education…? I was godsmacked. All the data and stories indicating that society has enforced the failure of persons with disability, the number of children that are disabled, the National Science Foundation (which doled out a lot of grant money to this guy) pushing that people with disabilities are needed to attain diversity in the sciences, none of these things occurred to him.

When asked about my grades, I mentioned that I got two Cs in Calculus. And I briefly stated that my unaccommodated attention deficit was one of the reasons. “Yes, but what about your grades now?” I know that tone. I’ve heard it before. Directed at my brother who is on the more severe side of ADHD. That’s the tone of a pseudoskeptic. Someone that feels ADHD isn’t really a disability. Obviously, I just didn’t do well in Calculus and am making excuses. (We’ll just ignore the As on my assignments and the confused TAs.)

I’m still upset now. But, I’m comforting myself best I can that I could have had him actually had him as an advisor; that would be infinitely worse.

Learning from Projects

My department encourages undergraduates to do research beginning in their freshman year. I get the impression that many schools limit this to a senior design project, which is rather saddening.

I’ve stopped reading my CS text books because, well, they’re just not helpful. But then, trying to learn anything more unusual like how to use the tools available is still very difficult. So, I’m just going to do a quick overview of what I’ve learned from using different tool sets.

LilyPad

So, the LilyPad series of embedded systems modules is designed for wearable computing. So, the best place to start learning about the LilyPad stuff is from the creator, Leah Buechley. Things to keep in mind:

  • I never needed to create a pad for my units to prevent slippage. But, you’re millage may very.
  • Pins (rather petals) of the LilyPad Arduino are dictated by an int (integer) value.
    • 13 is reserved for the LED that exists on the LilyPad Arduino.
    • RX/TX are for serial connections (see XBee below)
    • Analog (denoted by “a” on the petal) pins retain the same numbering scheme as the digital ones(so there’s an analog and digital pin 0, which are both labeled “0.”)
  • Buttons should be set up connected to two digital pins. One should be written to be HIGH while the other is written to LOW. Then, just do something whenever the HIGH pin reads as LOW. (This is contrary to the standard debounce that is done with buttons.)
  • Do not EVER cross conductive thread lines or allow them to touch one another. This will destroy one or more modules.

I have used all of the LilyPad modules available. Except for the slide switch it’s pretty much “find the closest example and repeat” (if anyone knows how to use the slide switch, I’d like to know).

XBee

Based on the ZigBee standard, XBees are designed for WPAN. Indoors, they are restricted to within a room, but can be separated by miles outdoors.

This forum post is probably the easiest I’ve seen in getting started. Things to also consider:

  • RX connections go to TX and vice-versa. Weird, counterintuitive, but that’s how it goes.
  • With a firmware update, it’s possible to have the XBee use actuators. This isn’t direct control, more like if one XBee has a pin go HIGH, the XBee it talks to will also have that pin go HIGH.

Personally, I found it a lot easier just to use the XBees for communication and an Arduino for the actual sensor data and actuator control.

Trackmate

Trackmate is a computer vision based tangible object system. From a user standpoint, it’s pretty easy to control: cut out some inch-square icons, tape them on to objects, and use the interface.

From a programming standpoint, not so much.

  • I recommend the Minim Processing library for any audio work. Seriously, don’t even bother trying to do this from scratch.
  • The code itself, when I last looked at it, was very hardcoded, so don’t expect to change the behavior of the system unless wanting to write it from scratch.
  • Review Processing. While it is derived from Java, it leaves some more advanced things out.
  • Review matrix algebra and vectors. While you won’t be doing math directly, it will help to make sense of some of the values.
  • I did the initial setup using the PlayStation Eye camera as recommended. While I could use the camera’s drivers and operate it from outside Trackmate, it didn’t work with Trackmate (looked like snow). Don’t know why, but it just wouldn’t work for me.

Secondhand Sufferers

I’ve stopped trying to find blogs by people that share by disabilities. Searching “[condition/label] blog” doesn’t send me to blogs of people with that condition or label (hell, I might not even get a blog). No, I get to see the ugliness that is “Secondhand Sufferers.”

The concept of Secondhand Sufferers developed from several years of attempting to find blogs by people with attention deficit disorder. Rather than get blogs by people with ADD, I get bombarded by parents, teachers, doctors, and others affected by people with ADD. These typically refer to children with ADD and focus on the negatives of the disorder.

Or, to be more precise, the negatives of having to put up with someone with  ADD. The underlining tones are that people with ADD are tiresome, irritating, unruly. But, damnit, they’re going to be helped. Helped being regulated to making people with ADD more normal, behaving within social constraints, etc.

The emphasis isn’t on whether the person in question wants help, let alone the help of the Secondhand sufferer. The person with a disability is pushed to the background because their condition is “hurting” them. Hurting the person with a disability as defined as “being a burden or irritation for an able bodied person, typically a family member, coworker, or friend.”

So, what do these Secondhand Sufferers complain about anyway?

My AD/HD Child Won’t Do His/Her Homework,Chores, or What I Tell Them to!

First off, this complaint assumes that a child’s disability is the cause of the problem. Why mention it at all? Children independent of disability may be disobedient.

And the solution? Be stricter and enforce discipline more. This delves into the pseudosceptical belief that children with ADD don’t really have a disability, they’re just undisciplined. In addition, this tactic doesn’t address the why of the child’s behavior, because it’s just their ADD, right? Well, no, not necessarily.

In my case, if someone wants me to do something they need to tell me: why they want it done, when they want it done by, why the hell I should be the one doing it, and who it impacts and how. Sorry, but I’m not going to waste my time and energy on something that I don’t see as important.

X Cures/Treats Y

Alright, there’s lots that’s been said already on why this isn’t okay. So, why is this relevant to a discussion of Secondhand Sufferers? Because many of these people are parents who may implement these “treatments.” Again, there is no statement as to whether the person with a disability accepts the treatment or is in a position to denigh it.

This is particularly dangerous in regards to diet changes to treat symptoms. Diet changes should be talked over with a doctor, not accepted because someone on the Internet claims that sugar causes hyperactivity, gluten causes autism, etc. In regards to children, they most likely do not have the skills, knowledge or finances to prepare their own healthy, balanced meals and may be forced to eat a questionable diet or starve.

He/She Won’t Do Anything, Stays on the Couch All the Time, etc.

More common with pain disorders, mobility limitations, depression, chronic fatigue, and other conditions that limit a person’s energy or mobility, this complaint assumes that the person in question doesn’t need this additional down time. For anyone that thinks lying around is fun: bedsores hurt, boredom is often, and bathroom and eating tasks are fucking hard in a stationary position.

In addition, the Secondhand Sufferer blames the person with a disability for the Secondhand Sufferer not going out or doing X activity. The Secondhand Sufferer doesn’t just do this activity by/for themselves despite being perfectly capable of doing so.

And the person with a disability already feels bad about being limited in their activities. This isn’t to say that the person wants to be pitied, but the activities he or she does do must be pretty damned important to them.

How Not to be a Secondhand Sufferer

That’s just 3 cases that I can relate where a non-disabled person has, in person, demonstrated that they “sufferer” because I have a disability. So, how should one behave to not end up sounding like a Secondhand Sufferer?

  1. When complaining about a person, don’t mention his/her disability. It isn’t relevant and is enforcing a stereotype of people with a disability. This is a person not a disability that is being talked about.
  2. Don’t suggest or enforce a treatment for a person unless you are this person’s physician. It assumes that you know what’s best, which isn’t the case and insinuates that the person’s symptoms somehow affect you.
  3. Don’t assume someone gets angry at you because of their mental illness. As surprising as it might be, people (even people with mental illness) have the right to be angry at you. Yeah, maybe you don’t understand why they would be angry, but that doesn’t mean their anger is wrong.
  4. Having to change your habits, work styles, or settings to accommodate another person isn’t a fucking hardship for a non-disabled person. I know doing things differently is scary, but just think of it as a learning experience.
  5. Believe a person when they say they need something. If it’s a few hours lying down, prescription pain killers, a larger font size, lactose-free meals, etc., just believe them. Telling a person that they’re making you do extra work, ruining family-time, not pulling their weight, lying or that it is “all in their head” isn’t constructive.

Any other suggestions? Or Secondhand Sufferer sightings?