tnt's blog

  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • : Function ereg() is deprecated in /home/trinitrotoluene/ on line 647.
  • warning: Parameter 1 to theme_tagadelic_display() expected to be a reference, value given in /home/trinitrotoluene/ on line 650.
  • warning: Parameter 1 to theme_calendar_display() expected to be a reference, value given in /home/trinitrotoluene/ on line 170.

RainPattern Blog

Squirvoid is officially retiring and all focus will now be on the main page:

Accessibility: Overlooked Real World Problems

The common definition for accessibility involves making thing easier to use. Unfortunately this definition falls short when doing anything that requires practice or hard work. We can't always just slap a new UI or add new functionality to make something more efficient. In today's mobile technology world we have been solving many problems, but many of those are, in my humble opinion, low priority.

Some incredibly useful applications have been released for cell phones and the web that take care of problems that already had simple solutions and arguably have negative social effects. For example, one beautiful combination of GPS, local business directories and mapping software can display a “what's around me” type view. I'm sure most everyone who enjoys being away from home has wished for this magical functionality while in unfamiliar territory.

A lot of effort was taken to produce such a product. Even though two simple solutions already exist. For one, it's as easy as walking around and seeing with one's own eyes what is nearby. Second, one could always ask a passerby. Two solutions which are simple, elegant and have been well used. I for one have actually had made wonderful discoveries using such tactics. What has the application saved me? The horror of talking to another individual I suppose.

Now solving simple tasks isn't the problem in itself. I propose the main issue here is that we have lost focus on solving real problems that have no easy solution. Since I can only speak of my own experience I want to point out more specifically the challenge of learning math, the difficulty of being a beginning swimmer and riding the bus system in America. Each of these tasks have much more life changing consequences if they were more accessible for more people.

Recently I have spent my Wednesday evenings tutoring students in math to help prepare them for the GED. When I first started I thought my goal was to teach math. I have now learned that's not the right way to look at it. The main task is to show them that they can learn math and it is not nearly as hard as everyone thinks. I find that students are willing to put in the effort to do the work; it's more that people are afraid of frustration and any amount of it can quickly derail even the best of us. If one can remove frustrations for a student the world of understanding quickly opens up. That great moment when I see a light bulb turn on is what drives me to continue helping.

I propose there are all sorts of systems still undiscovered that can help individuals do the inevitable hard work of practicing math by making it more accessible. I have to constantly harp at students that algebra only gets easier the more it is done. Long division is hard the first hundred times but once the process is committed to memory it's no problem. One can only get there by continuously working on math problems, but early frustrations will lead to most students not wanting to put in the effort any more. Consistent success, on the other hand, will keep a student moving forward.

This awful problem has been mostly neglected and the few solutions include math games that have been shown to be more of a distraction. Another technological answer are calculators-- the user never has to have any understanding. That's a pure user interface and ease of use solution. It can get simple jobs done for those who have no knowledge but like all tools it is only powerful in the hands of masters. In other words, the calculator has not helped the new student at all.

I have to admit that I am in the fortunate position of assisting those who want to be there as opposed to hormonal high school kids who just want to be piss ants. The group of students mainly consist of adults who realized they needed to go back and improve their lives and immigrants who did not have the access to the same level of education. Although I believe that the same accessibility solution can transfer to any level.

The second difficulty I have encountered is learning to swim as an adult, or in my case swim again. Learning to swim as an adult quickly brings out all the insecurities of an individual. Now that I have made a commitment to myself to practice swimming several days a week I have been asking around if others swim as well. A common response boils down to, “I would like to swim but...” To be a good swimmer though requires constant practice.

The problems really have nothing to do with the actual act of swimming. I feel that people enjoy the act of learning to swim. The truth of the matter is that pools don't feel very accessible. Fortunately, most gym pools are at a low enough level that fears of drowning in the deep end are subsided. After that you have the issues of being exposed in front of others. One has to be naked in the locker room, shower outside the security of one's own bathroom and wear skimpy clothes in front of good looking gym rats. At the pool itself the good swimmers look great and the new swimmer looks horrible. If the pool is busy then one starts to feel guilty for being slow while anxious swimmers are waiting. The excuses for not swimming mostly spawn from the mind.

I can understand why this is not so appealing sounding to those who don't have the drive to ignore all the issues. Swimming is such a great activity though. It promotes good health, is addicting and is a skill that everyone should have just-in-case. This is another system that has no accessibility solution. Again I believe this to be a problem that once solved can be world changing. Imagine a world where everyone was good at swimming! That's a thing of beauty.

Finally my last example, and one I think is most easily solved using already developed technology, is riding of the bus system in the USA. I specify the United States because I have no experience any where else. In general public transportation is scary to those used to driving everywhere, which is, unfortunately the norm. I point out buses in particular because I've spent time in three major cities that pride themselves on mass transit: Portland, Oregon; Boston, Massachusetts and New York, New York.

In every one of them I find many who have no qualms riding the subway or the light rail system. Ask about buses and the responses quickly change to that of fear. Trains seem easier. They are stuck on rails so there is only one location they can go. Furthermore, limited stops minimizes what the rider has to know. It can be a little scary at first but still much easier to get the basics of subways. The bus though, is an unknown beast to those who are unfamiliar with it's intricacies.

The challenges are easy to point out. The majority of stops are inconspicuous signs along roads, it's hard to tell where one is at while riding, the rider must be proactive in getting the bus to stop, route numbers have no meaning and route maps are abstract. Even more disturbing is that paying to get on feels like a frikkin' pop test! Those issues are even difficult for me when I get into a new area even though I have tons of time spent sitting on a bus. I have been lost plenty of times too.

I don't think it has to be this difficult. One would like to be able to just step on, casually and quickly pay, sit down and arrive at one's desired destination without anxiety. Do we throw GPS, RFID, visual on-board maps, etc. at this problem? Maybe. Some new subways in NYC have a display showing the next stops but, again, the subway is already much easier to ride than the bus. There's a solution out there waiting to be implemented at low cost.

All this talk is really not to discourage developers and engineers from doing what we call, “scratching an itch,” because that's how capitalism works. Someone finds a niche problem and provides a solution (or an improved one). What I want to do is encourage people to look at the world truly in front of them. Personally this notion has drastically changed my own perspective on being a software developer: Build technology to change people's lives, not just change their day.

Random Changes

I just decided to become a pseudo-vegetarian (+fish, +dairy, +eggs) at the same time I decided to gain weight again. Typical of me to make things more difficult, but if I'm going to do something, might-as-well do it right. I have to say though the weight lifting has been great. I'm discovering my appetite and taste interests again with the vegetarian cooking. I think I'm actually getting more varied sources of protein than when I ate meat. Before I relied on just chicken or turkey for the majority of my protein but when it's not that easy things get a little creative and that introduces variety. Tho I have to say I am lucky in that I find very natural, earthy things delicious. Hats off to vegans, I don't think I can do that yet.

    Protein Sources:

  • Oregon Albacore Tuna (individually hooked, don't eat that other tuna shit)
  • Almond Butter (on whole wheat bread for full amino compliment)
  • Soy (of course -- tofu, milk, Clif Builder Bars)
  • Chickpeas (3 bean salad from Boston Common Coffee!)
  • Hemp Powder (mixes great with soy milk and egg whites)
  • Nature's Way Shake (how the hell do you powderize food?)
  • Whey Powder (Hammer Recoverite)
  • Lentils (easiest filling stews to make)
  • Quorn (the nuggets are awesome; going to try replacing ground turkey for the burgers I make)
  • Yogurt

Five Rules for Being a Good Friend

I will try my best to live by these rules. I hope I can expect it out of my friends too. Edit: I'm not trying to be on a high horse here. I have definitely broken these rules before.

  1. If a friend who has good tastes asks you to go see a show, don't be wishy washy and say you need to learn more about it. The point is hanging out with the friend. Valid reasons include money and scheduling conflict.
  2. Let your friend know your plan right away so they don't waste time waiting around (i.e say yes or no, no maybes)
  3. When you crash at someone's place keep your shit together and neat.
  4. Don't break plans with someone because you are tired. Being tired is not a legitimate reason. It's like saying, yeah I'm too lazy to be your friend. They probably shuffled shit around or are excited to hang out. Now their shit is fucked.
  5. Plan stuff to do too. Don't be a leach and just ride on your friends being proactive.

X-Mas Resolutions

All gifts given will be anonymous -- it's about the spirit of giving, right? Why should I want the person to know it was me? Secret Santa 100%. Also to budget a lot more money for toy drives. The only reason I care about Christmas is because the fireman gave my brother and sister toys when we were poor.

Burlusconi, hands to the face!

I don't know much about Italian politics but the reaction is definitely a negative sign. Bad governments react as stupid fascists when bad things happen. Fix the problems not the symptoms.

My Sexy Voice is Now on the Internets

We have officially released ARC: Automated Retrieval Console! My first big release for the VA and for the clinical informatics community. Not only do you get source code, binaries, documentation but also video recordings with voice narration.

The Massachusetts Veterans Epidemiology Research and Information
Center (MAVERIC) is pleased to announce the release of the Automated
Retrieval Console (ARC). ARC is an open source Java-based toolkit
designed to automate and streamline the processes of clinical
information retrieval (i.e., natural language processing, information
extraction, concept mapping, machine learning, etc.).

We designed ARC with a few goals in mind. Our first goal is to allow
users to achieve acceptable levels of performance with no custom
software or rules development between tasks. Instead, ARC
automatically and iteratively evaluates combinations of NLP output
with supervised machine learning classification algorithms. Our
second goal is to free up developers and IR researchers to focus on
improving the science and technology by empowering end users to take
over many of the processes of IR. Finally, we hope to meet these
goals by building upon and contributing to a growing collection of
open source IR software.

To allow us to remain focused on streamlining the processes of
clinical IR, this first release of ARC takes on document-level
information retrieval. Interested users can download ARC with a with
a simple UIMA pipeline from our Google Code site or, thanks to the
generous cooperation of the National Library of Medicine, users can
download ARC with a full version of Dr. Guergana Savova’s cTAKES,
complete with UMLS-based knowledge base. For machine learning, this
version of ARC ships with Dr. Andrew McCallum’s Machine Learning for
Language Toolkit (MALLET).

More information, code, a step-by-step tutorial, and how-to videos for
using ARC can be found on our website at

ARC development was made possible by the generous support of the
Veterans Health Administration Office of Research and Development’s
Cooperative Studies Program and the Health Services Research and
Development program’s Consortium for Healthcare Informatics Research

Software releases! Congrats all around.


My bro, Doogs, has PocketJIRA out for the Blackberry. Keeps you posted on issues in your JIRA system.

Metal Drift

B-Ram got his amazing game, Metal Drift, out the door. Check out the wicked YouTube trailer.

Touch Pets Dogs

Andrew Stern, creator of the classic game Dogz and incredible Façade, has released an iPhone version of Dogz: Touch Pets Dogs. He brought in many members of the Portland game community to work on it.

Android 2.0 on Linux

This is a reminder to anyone (well actually me) using Linux and installing the Android SDK in a shared location such as "/opt". After extracting the new component-based SDK remember to chown -R root:users the SDK folder. Followed by chmod 775 the folders in the SDK such as "platform" so that the android components can be installed without sudo'ing!

Hipster Fight!

Brooklyn, Rogue imperial stout, Smash TV, free 10 dollar bill, hipster fight, hipster blood on yellow shirt, 5 am sleep, fried mac and cheese balls, chocolate covered key lime pie on a stick, High Line Park, Passion Pit rocking, Phoenix blowing our minds, new friends, shuffleboard, 5 am late night again, kimchi soup, Bolt bus, home. NYC I love ya, but I can't be seeing you too often.

Awesome weekend.

More on the hipster fight:

Syndicate content