Vaio III is here!
He’s 750 GB. He’s got a back-lit keyboard. He’s compact and cool.
WOO!
I’mma go set him up.
I’m mourning
Bad news, all.
Vaio II is no more.
His hard drive had a serious mental breakdown, so I took him in to see if someone could fix him up. Nope.
Thank god for external hard drives, eh?
Big Compy’s still up and running, so I’m not totally helpless and curled up crying on the floor due to lack of internet.
But I’m sad. Vaio II was family.
Edit: His successor, Vaio III, has been purchased. He looks like this.
LOOK WHAT I MADE LOOK
Want to see my pretty? Or part of it?
This is the spreadsheet.
Here’s what it looks like when I select DAISY as the file type.
Here’s what it looks like when I select .epub as the file type.
Like two days ago, I had no idea you could do this in Excel. Excel has gained a whole new level of respect from me. Not that it cares.
(In my head, Excel is the most arrogant of the Microsoft Office products)
The obsessive part of me wants to now go back and fix the code for this so that it’s not six billion lines long.So that might have to happen soon.
Haha, sorry, I’m excited.
END!
I…
Just taught myself how to write macros in Excel. A lot of them. In like two hours. It was fantastic.
I basically figured out how to do what I was trying to do in R in Excel. It’s actually a lot easier to implement in Excel, especially since (I totally just learned this, pardon my beginner’s excitement) you can create a hyperlink in a cell that links to another cell within the same spreadsheet. Totally had no idea you could do that.
But now I can do stuff in Visual Basic. Woot.
Okay, that’s all.
Adventures in R: Decisions, Decisions, Decisions!
Hokay. So. Here’s the earth. Here’s what’s going down at work:
My boss put me in charge of writing up all these instructions for the ten or so AT programs that are used at Pima Community College. These programs make text/images/etc. on the computer accessible for students who need something to help them learn, be that need from a physical disability (low-vision, blindness, etc.), a learning disability, or some other such thing. These programs can do a lot of things: read text aloud on the computer, enhance displayed text so that it’s easier to read (magnification, color change, background color change, etc.), highlight individual words as their read…things like that.
Cool, huh?
It turns out, though, that of the twelve or so general features we utilize from these programs, each of the programs is able to different things. For example, a person using FS Reader will only able to change voice speed and magnify the screen, whereas a person using Kurzweil 1000 will pretty much be able to alter the visual and spoken text any way they wish.
The problem with this program diversity is that it makes it fairly difficult to help students choose which program is best for them—especially considering you have to keep track of ten different programs, some of which change with each software update.
So one of my tasks at work has been to make some sort of visualization that shows which programs have which features.
Which has turned out to be a more arduous task than first thought. Mainly because it’s difficult to include both the “reading features” (those related to the text-to-speech) and the “visualization features” (those related to how the text can be manipulated on screen).
The most “uncomplicated” visual I could do for the reading features was this pyramid thingy (even a regular flowchart looked horrible).
You don’t want to see the pictures for the visualization features. They’re horrible. There are twelve main features and no two programs have the same features. As you can probably guess, the pyramid looks like somebody vomited words everywhere and the flowchart looks…well, even worse.
My boss finally told me not to worry about a visualization for the features just yet, but I wanted to see if there was a way that I (with my lack of programming skills in everything but R) could make some sort of automatic “decision maker” that would spit out the appropriate program(s) if a user input what features they required.
So what did I, with my lack of programming skills in everything but R, use to do this?
R!
It took like four days, too. Either I’m a moron and over-thought this waaaay too much or it really is this complicated to implement in R.
Either way, here we go:
I wanted to make it so that someone wanting to figure out what AT program they needed could just input a binary YES/NO for each of the four reading options, copy this info in to R, and automatically get an output telling them what they could use. So I made this little Excel thing (click to enlarge, as always).
Next, I had to figure out a way to program my R function so that it would spit out the appropriate program for the given input (e.g., if I needed all four reading features, it would only show me Adobe Reader, EasyReader, Kurzweil and MAGic). This part wasn’t that big of a deal. But when I wanted to also make it possible for the function to spit out the appropriate program for ALL levels of customization (like if I wanted just voice speed to be editable, the function would give me ALL programs as options, not just FS Reader), things got a bit more difficult.
So I finally just made a code that included what to output for all possible combinations of the four reading features.
tellme <- function(x,print=TRUE)
{ A=sum(x[,1])==1
B=sum(x[,2])==1
C=sum(x[,3])==1
D=sum(x[,4])==1
E=(sum(x[,1])==1)&&(sum(x[,2])==1)
F=(sum(x[,1])==1)&&(sum(x[,3])==1)
G=(sum(x[,1])==1)&&(sum(x[,4])==1)
H=(sum(x[,2])==1)&&(sum(x[,3])==1)
I=(sum(x[,2])==1)&&(sum(x[,4])==1)
J=(sum(x[,1])==1)&&(sum(x[,2])==1)&&(sum(x[,3])==1)
K=(sum(x[,1])==1)&&(sum(x[,2])==1)&&(sum(x[,4])==1)
L=(sum(x[,1])==1)&&(sum(x[,3])==1)&&(sum(x[,4])==1)
M=(sum(x[,2])==1)&&(sum(x[,3])==1)&&(sum(x[,4])==1)
N=(sum(x[,1])==1)&&(sum(x[,2])==1)&&(sum(x[,3])==1)
&&(sum(x[,4])==1)
O=(sum(x[,3])==1)&&(sum(x[,4])==1)
if (A==TRUE)
{FSReader="YES"}
else if (A==FALSE)
{FSReader="NO"}
if (A==TRUE|B==TRUE|E==TRUE)
{NaturalReader="YES"}
else if (C==TRUE|D==TRUE|F==TRUE|G==TRUE|H==TRUE|
I==TRUE|J==TRUE|K==TRUE|L==TRUE|M==TRUE|N==TRUE)
{NaturalReader="NO"}
if (A==TRUE|B==TRUE|C==TRUE|E==TRUE|F==TRUE|H==TRUE)
{WYNN="YES"}
else if (D==TRUE|G==TRUE|I==TRUE|J==TRUE|K==TRUE|L==TRUE|
M==TRUE|N==TRUE)
{WYNN="NO"}
if (A==TRUE|B==TRUE|C==TRUE|D==TRUE|E==TRUE|F==TRUE|
G==TRUE|H==TRUE|I==TRUE|J==TRUE|K==TRUE|L==TRUE|
M==TRUE|N==TRUE)
{AdobeReader="YES"
EasyReader="YES"
Kurzweil1000="YES"
MAGic="YES"}
else if (C==TRUE|D==TRUE|F==TRUE|G==TRUE|H==TRUE|I==TRUE|
J==TRUE|K==TRUE|L==TRUE|M==TRUE|N==TRUE)
{AdobeReader="NO"
EasyReader="NO"
Kurzweil1000="NO"
MAGic="NO"}
result <- rbind(FSReader, NaturalReader, WYNN, AdobeReader,
EasyReader, Kurzweil1000, MAGic)
return(result)
}
It’s still way too complicated for my taste; I was going to do it with the visualization features, but there are eight of those features and considering I had to do 16 different combinations just for the four reading features, I figured I’d hold off on the visualization features until I get a more streamlined code going for this project.
But check this noise:
Let’s say I was a student who needed to figure out what program(s) I could use based on my needs. I go to this little Excel check box thingy I made and select Voice Speed, Voice Profile, and Volume Control as the three things I need to be able to change.
I copy this info onto the clipboard and run the code in R. This is what it tells me:
FSReader "NO" NaturalReader "NO" WYNN "YES" AdobeReader "YES" EasyReader "YES" Kurzweil1000 "YES" MAGic "YES"
Cool, huh?
What if I only needed to be able to change the Voice Profile?
FSReader "NO" NaturalReader "YES" WYNN "YES" AdobeReader "YES" EasyReader "YES" Kurzweil1000 "YES" MAGic "YES"
Yay!
Next mission: to make it better!
Old Vaio is Old
My stuff came this morning, yay!
First thing I did involved digging out the monitor to Big Compy and hooking it to Old Vaio (the one with the busted screen). Laughed at all the old crap from high school senior year and all my undergraduate silliness.
Examples!
Haha, I’d totally forgotten about the time I recreated Van Gogh’s “Starry Night” using flour, water, and food coloring.

Spinning pineapple drawn and animated in Flash! I had this titled thereisaseasonturnturnturn.gif. (EDIT: apparently you have to click on stationary pineapple to get it its own page. It’ll spin there.) (EDIT 2: apparently it depends on your browser)

A bunch of my silly high school friends and me at a bowling party. Poor Aneel.

An experiment with eyeliner and some eyeshadow back when I actually had eyeliner. I might still have some, but who knows where it is.

Also, of the 50 songs I currently have rated 5 stars, 22 of them were rated 5 stars back in the era of Old Vaio.
That is all.
What is blogging?
I was living in the dank, dull doldrums of Vancouver when Watson debuted on Jeopardy! back in February of this year. However, tonight I was able to catch an old repeat show from when the IBM computer competed against Ken Jennings and Brad Rutter.
All I have to say is this: how freaking insane is it that we have the technology to create AI computers that are able to not only compete but beat humans in a real time trivia situation? Some philosophers like John Searle argue that Watson can’t really “think,” but how much longer until computers become so sophisticated that the line between computation and thought becomes totally blurred?
Crazy times, 2011, crazy times.
This is what happens when technology-addicted people lose power
So for no other reason than the fact that my life in Vancouver is cursed, I lost power to all the outlets in my living room.
Solution?
We (my mom and I) went out and bought a super-long extension cord, hooked it into the single working outlet in the main room, and from it constructed a fun tangle of extreme fire-hazard proportions.
And we bought a router, so now everything that is able to access the internet is ABLE to access the internet.
Fun times.
Rome was actually built in a day and a half.
When I’m not carrying anything and feel like I could run five miles, I get to the bus stop just as the bus is pulling in.
When I have 50 pounds combined of backpack and groceries and it’s windy and cold, I miss the bus by about 30 seconds.
SUCH IS LIFE.
Anyway.
One gripe I’ve had with my iPod Touch is the fact that, unlike the Nano, it doesn’t have a pedometer. I love Nano’s pedometer ‘cause I’m that type of obsessive person who likes to track progress and estimate changes in my daily patterns and just generally be a number watching weirdo.
But today I found probably the coolest “you’re obsessive so you’ll love this” app: iTreadmill. I will utilize this tomorrow on my walk to whatever the hell mall I decide to go to, but I calibrated it this afternoon and can already tell it’s awesome.
It tracks:
- Steps
- Steps per minute
- Time
- Average pace
- Average speed
- Calories
- Distance
It keeps track of your history and gives you graphs! You can create a playlist to listen to as you go (I just put my whole “Favorites” playlist to play), you can enter your weight to get an accurate calories estimate, and you can set step, calories, distance, or time goals and set alarms to sound for certain milestones to your goals if you like that kind of stuff (I do). It also pauses automatically after 5 seconds of inactivity so waiting at stoplights and such won’t lessen your average speed.
HOW COOL IS THAT?
Download it, dudes.
Also, they should just make this a static claim on CTV weather for Vancouver:
Earlier today when they still had Saturday’s prediction up they actually had words (“light rain,” “rain,” “more rain” (seriously), “rain and snow”), but I guess they ran out of synonyms.
SUCH IS LIFE.






