Monday, September 08, 2008

Blogger Labels: No more than 20, unless there are more than 20.

I think it's dumb that the "Labels for this post:" line at the bottom of this bottom of this editor only lets me enter in 20 labels, but if I go into the "Edit Posts" and check this post, I can add as many existing labels as I want one by one.

So I have posts that have more than 20 labels. When I EDIT them, I have to DELETE labels in order to SAVE, and then I have to re-add them using the "Edit Posts" manager.

It's also dumb that Blogger prompts me for label completion and then picks the first one in this list when I hit "," regardless of whether I actually entered the list. So when I type "tex," in the "Labels for this post", it changes it to "AUC TeX," because that label is higher in the list but appears to match. (yes, I can scroll down to "tex" and select it... but what if it DIDN'T EXIST? What if I wanted a new label? In that case I have to let it complete and then go back and modify what it entered WITHOUT hitting comma again and causing another auto-completion.

I wonder when web development started going so far down hill. I'm sure "certification" has something to do with it. You can promote people based on their "certification" and not on their merit... I guess. I suppose that's a subject for another post.

Visit TiVo.com to manage your account!

UPDATE 2: After calling back, waiting on hold, being transferred, and waiting on hold, I was given a Tivo Case number and told that this case was escalated to an account specialist. I was told that rarely do account specialists actually call the customer. Rather than expecting a call back, I should check my account over and over again for the next three to five business days. If I don't notice a change after five days, I should call back with my Tivo Case number handy.

There was an automated survey after I was finished with the representative. As you can imagine, I dialed "not satisfied" to every question.
UPDATE: TiVo's hold just hung up on me!!!
I'm on hold with TiVo customer service right now. When TiVo answered my call, I was told multiple times to visit TiVo.com to get a quicker response to my question. On hold, I'm told over and over to visit TiVo.com to manage my account. These reminders to visit TiVo.com are making me REALLY angry... The reason I'm calling TiVo is because of these messages from TiVo.com's account management:
Sorry, you are not the billing contact for this DVR, so you cannot view billing history for this DVR.
We're sorry, you are not the billing contact for this TiVo Service Number, so you cannot change the credit card. If you feel you have received this message in error, please call TiVo Customer Support 1-877-367-8486.
I'm the only person on the account, which makes a snarky message like this even more frustrating.

The support people don't know what's going on. Everyone's confused, and I'm stuck on the phone... not doing work...

It's going to be a good day!

How much is good coffee worth?

Today I decided to try getting McDonald's coffee on the way to work. The small black coffee that I purchased:
  • was $1.00 (I thought it would be $0.99 or less)
  • was burnt
  • was just slightly above tepid
  • had room for cream (even though I asked for no room).
  • had a fancy plastic lid that forced the coffee up into my lip rather than my mouth, which would have hurt me if the coffee was actually hot
Additionally, I had to wait in a line of cars to get said coffee.

If I had gone to Starbucks or Brennan's or one of many other coffee places that the media refers to as selling "$4 coffee," I could have had the same drink, but
  • It would have been $1.25.
  • It would have been fresh and tasty.
  • It would have been hot.
  • It would have been filled to the brim.
If the McD's coffee was $0.50, then I might have been able to overlook this... but for only $0.25 more, I think the "designer" coffee is much better.

You have to work HARD to buy $4 coffee at a place like Starbucks. Usually your drink has to involve milk and froth and lots of other ingredients that make it stop being a "coffee." That's why those drinks are NOT called "coffees." A coffee can be served to you in a few seconds, while a more exotic drink takes time to prepare. That's why those other drinks cost more.

So good coffee is a quarter more than bad coffee. Now that I know the value of good coffee, I hope I won't make the mistake of buying bad coffee again.

Saturday, September 06, 2008

Walk because you CAN

QUICK SUMMARY: SUPPORT ME in my walk to d'Feet ALS!

Later this month, I'll be walking in my 3rd Walk to d'Feet ALS. My brother Kenny has ALS (Lou Gehrig's disease). It's a fatal disease that few people know much about, and researchers are having a hard time even slowing its progression. Stephen Hawking has a mild form of ALS that has progressed slowly enough for him to live a relatively long life. The disease has put him in a wheelchair and taken away nearly all control of all of his muscles, but it has left his mind sharp. The same thing has happened to my bother, who is shown in a wheelchair here earlier in the disease's progression:
My brother Kenny and family
Now he still is in a wheelchair (or frequently his recliner), but it usually has a computer attached whose mouse is controlled by his eye movements (a camera captures them). He has a joystick to move him around. It's not too much unlike Stephen Hawking.

My brother's form of the disease is not genetic, but there are genetic forms that they use in the laboratory. Scientists don't understand the cause of ALS, and so they have to use the genetic form in the laboratory and hope they can make discoveries that help everyone. So far successes that they've had with mice models in the laboratory don't map well onto humans. There's so much more work that needs to be done.

Senate Republican Tom Coburn of Oklhaoma has put blocks on bills that would support ALS research. He uses them as leverage. Just weeks ago, a Republican filibuster prevented passage of the ALS registry act. You see, there's not even a nationwide registry of who gets ALS. My brother also had a strange case of shingles when he was younger, and maybe that has something to do with him developing ALS later on in life. If doctors could look for correlations among people with ALS, they could figure these things out, but they'd need a nationwide ALS registry for that. For the moment, Republicans are preventing that. (oh, and stem cell research (embryonic and otherwise) benefits ALS research too)

I can't vote against Tom Coburn (I'm registered to vote in Ohio). I can try to get Republicans out of office. More importantly and more quickly, I can participate in this walk. I can donate to the ALS association. I can spread the word. AND SO CAN YOU.

So come and support my walk with a donation or come and walk yourself. I'll appreciate it, and so will Kenny, and so will Stephen Hawking and many others who were surprised to find one day that they have some link to this sad disease.

Above all, walk because you can. As my brother recently said on the MDA telethon when they talked to him, ALS does not discriminate.

Friday, September 05, 2008

Graduate School Reflection

When looking for a good graduate program, most people focus on the adviser. After all, with as individual-driven as graduate school is, having an adviser who checks in every once in a while and cares is a nice thing to have. However, I don't think most people think about the department. That's probably because there's no help there. It's probably the case that wherever you go, the department doesn't care about you or its classes. The department will do its best to screw you over. The department will put you through hell... but maybe that's their job. Maybe everyone gets a good hazing as a rite of passage on the way to joining academia.

I suppose it could be worse. One thing I didn't realize as an undergrad is how much the department really really doesn't care about them. Undergrads are a little bit like the coppertops of The Matrix; they plug in and go about their lives not ever realizing that they're just there to generate revenue. There's no social good. There's no professional obligation to educate young professionals. It's all about the money.

One day I sat in on a meeting of large donors to The College. A marketing person from The College or The University gave a PowerPoint presentation on improving the ranking of The College. One major topic of discussion was about which pictures to put on the front of brochures that are mailed out to other Colleges who contribute to the rankings ("Ah, yes, but what type of people both become engineers AND become deans of engineering colleges? Maybe engineers prefer charts, but deans prefer pictures of people walking on grass!" (no joke)). Another topic was how many graduate students to accept in order to maximize one variable in a large formula that contributes to ranking. Too few graduate students and you have too few research dollars being spent, but too many and the professor-to-student ratio is all upset. No talk of "excellence" or anything like that. All about marketing and presentation. Oh... why was I there? I had to sit and be pretty so the old donors had some young people to talk to during the dinner.

Welcome to a research I university.

Thursday, September 04, 2008

Squirrels 1, Chipmunks 0

I just saw a squirrel carrying around a dead chipmunk in its mouth.

I guess campus squirrels get hungry when school has been out for a while...

Course web pages, LaTeX, and Mercurial — Oh, my!

I have been assigned to TA yet another different course for the Autumn 2008 quarter. That was a bummer for me because I have been taking instruction way too seriously, and it has been taking up way too much of my time. However, I've been pretty happy with the results. I've been getting flattering praise and very helpful feedback. More importantly for this post, I've been producing lots of revision-controlled content that can be used for reference or as examples.

The four course web pages that I've produced so far...I've tried to generate lots of reference material all with LaTeX, and I've tried to put the sites together so that everything can be build via standard Makefiles. I've put all of the source code (minus the exams/quizzes) at my public Mercurial repository home:In my latest adventure, ECE 209, I'm going to give my students extra credit if they use TeX for any assignments they hand in. So I've put getting-started information at those web pages, and they can use the Mercurial repositories for more working examples.

I'm really a lot more proud of this work than I thought I'd be. I'm actually looking forward to the new ECE 209 class. It's the youngest group of college students I've taught since a long time ago, and I think it will be interesting. Yesterday I went through and got the lab in order. I put up instructive signs about how to use oscilloscope probes and pin-outs of commonly-used ICs. I numbered all of the tables. I added notes to the function generators telling them how to set them for high impedance output termination. Earlier I went through and repaired all of the phase-shifter circuits (out of 16 circuits, only about 4 were working, but the other 12 could be easily repaired with a little solder and/or a new op-amp IC) and added a little instructive page on how they work. Now all that's left is the actual experience that will make me even more jaded and realize that all of that work was for nothing. :)

Meanwhile though... Lots of free LaTeX examples and circuit references. Yay!

iTerm AppleScript crashing fix

Lately, my officemate and I noticed that iTerm build 0.9.5.0902 crashes whenever AppleScript tries to talk to it. I was excited about some of the full screen fixes, but I couldn't do without my "Open iTerm Here" context menu item, and so I had to come up with a fix.

In my old scripts, I was doing things like this:
tell application "iTerm"
activate
set theTerm to make new terminal
tell theTerm
set theSession to make new session at the end of sessions
tell theSession to
exec command "/bin/bash -login"
write text "ls"
end tell
end tell
end tell
It appears like it's the make new session that's causing the problem. So I changed the set theSession... and tell theSession... lines to use a launch instead. The result:
tell application "iTerm"
activate
set theTerm to make new terminal
tell theTerm
launch session "Default Session"
tell the last session
exec command "/bin/bash -login"
write text "ls"
end tell
end tell
end tell
Not only does that not crash for me anymore, but it seems to be a bit faster (my imagination?).

Tuesday, August 19, 2008

Building MATLAB images from Makefiles

Recently I beefed up my LaTeX Makefiles to make image generation more automatic. These implicit rules have worked very well for me (note that the indentation is done with TABS — that's important).
%.pdf : %.eps
epstopdf $*.eps

%.eps : %.m
matlab -nosplash -nodesktop -r "$*;quit"

%.eps : %.png
convert -density $(RESOLUTION) $*.png $*.eps

%.eps : %.jpg
convert -density $(RESOLUTION) $*.jpg $*.eps

%.eps : %.dvi
dvips $* -D $(RESOLUTION) -E -o $*.eps

%.dvi : %.tex
latex -interaction=nonstopmode $*.tex
rm -f $*.log
rm -f $*.aux
That if, if I need a file called FILENAME.eps or FILENAME.pdf, the Makefile will look for FILENAME.m, FILENAME.png, FILENAME.jpg, or FILENAME.tex. Depending on which one it finds, it will run the appropriate command to generate the image I need. Note that I define RESOLUTION=1500 in the top of my Makefile.

I want to point out the MATLAB build line:
matlab -nosplash -nodesktop -r "$*;quit"
That handy line starts up as little of MATLAB as possible and runs a script that contains something like:
% First, generate a figure somehow

% Next, setup the figure's print proportions
set( gcf, 'PaperType', 'usletter', ...
'PaperOrientation', 'portrait', ...
'PaperPosition', [0.0 3.5 11 3.5] );

% Finally, save the figure as a (color) EPS
saveas( gcf, 'FILENAME.eps', 'epsc2' );
After the script finishes, MATLAB exits. It won't get started on any subsequent makes so long as the script file doesn't change or the image isn't deleted.

Getting back to the more general case, up high in my Makefile, I have something like
RESOLUTION=1500
BASETEXIMAGES=$(shell perl -ne \
'/\\includegraphics\s*(?:\[.*?\]|)\s*{\s*(.*?)\s*}/ \
&& do { print "$$1 " \
if (-e "$${1}.tex" || \
-e "$${1}.png" || \
-e "$${1}.jpg" || \
-e "$${1}.m"); };' *.tex)
TEXIMAGES=$(addsuffix .eps,$(BASETEXIMAGES))
and a little later I make $(TEXIMAGES) a dependency for my document (or something equivalent to that).

Those lines have saved me a lot of time, and I'm pretty happy about them.

Wednesday, August 13, 2008

"Don't Be Upset" by Jeffrey and Jack Lewis

Great lyrics and a fun little song...
i took my darling out to the aquarium
sea creatures stared at us and we stared back at them
my baby freaked when she peeked at that 8-legged blob with a beak
she was too scared to speak
i said don't be upset it's only an octopus
don't bother it and i'm sure it won't bother us
please don't be upset my darling, please don't get upset
my baby came riding to meet me one time
on the crowed last car of the downtown-bound 9
she was brave but she caved
when the train was delayed
it was just the last straw in her hard busy day
i said don't get upset 'cuz it's not a catastrophe
nothing will happen and soon you'll be back with me
please don't be upset my darling , please don't be upset
my gal's got a headhache, her ankle is hurting too
boots she bought gave her a rash & her winsdom tooth
is coming in and it's damp out and she's having cramps and she's so mad at me cuz i didn't shave
i said don't be upset i know you're feeling sensitive
i'll try to be kinder and be more attentive
please don't be upset my darling please don't get upset
darling i said, i'm gonna be 27 soon
i've only got rejection letters and a sense of impending doom
i think it's too late for me
all the comic companies hate me
and i try but it's always the same
i guess my art is just lame and it's strange but still somehow i'm
always not suiting their needs at this time
and she said ........don't be upset,
you know that you're wonderful
just keep on trying ...(actually what she really said was)
all you ever wanna talk about is your self and your comic books and your album and your tour
and everytime i see your friends they just ask me where you are again and it hurts
it makes me feel like dirt
i'm just gonna write where you are on my shirt
and i said don't be upset, don't be in a bad mood
let's just go to a show and hang out and feel good
come on please don't be upset my darling, please don't be upset, i'll do anything baby, just don't be upset