06 September 2009

The Law of Sines

Ok, so according to Wikipedia:

The spherical law of sines was discovered by the 10th century Persian mathematician Abū al-Wafā' al-Būzjānī, whereas the plane law of sines was discovered by the 13th century Persian mathematician Nasīr al-Dīn al-Tūsī.

First, what's up with that? The plane law of sines is taught in every high school geometry class, and spherical geometry is something that most people never encounter in their lives... how was it discovered 300 years earlier?

Second, I'm totally curious about how a 10th century Persian dude did spherical trigonometry research... My imagination gives me images of cutting-edge researchers clambering over giant stone spheres, making marks on strings and calling out numbers to scribes lined up against the wall.

Third, why am I, an ostensibly well-educated engineering type, struggling at 3am on a Saturday night with geometry of the triangle? Well, if it gets published, I guess you'll find out. Hehe.

Anyway, this is getting kinda frustrating so I poured myself a Guinness. I'm going to bed when I get to the bottom of either the geometry problem or the beer, whichever comes first.

16 June 2009

Blindsolvin'

Step by Step

I've been taking the stairs to my 23rd-floor apartment lately to try to get some exercise. One thing I've tried to do a few times is count the steps, but it's actually quite difficult! For one thing, some flights have 7 steps and others have 8, so my stepping parity gets reversed every two flights. Another challenge is that the stairs go quite fast, so I don't fully have time to subvocalize the numbers as I go, and finally if I try to use kinesthetic or auditory rhythm to regulate the counting, I'm thrown off by the roughly 3 steps or so I have to take to traverse each landing, a variable which also depends upon which foot I finished the last flight on.

My point here is that it's interesting to explore the ways in which the mind works. Some tasks are inherently easy, and others quite difficult... which brings me to my topic for today.

Blindsolving the 2x2

So thanks to my good friend Florent, I've found a new way to pass the time on the buses and trains. My 3x3 cube time has kind of plateaued around 1:30 (I know, it's not the kind of time anyone would admit to on a speedcubing forum, but for the time being I don't see myself putting in the training hours to improve beyond this) so I've taken on a new Rubik's challenge: blindsolving the 2x2 cube.

Basically, the idea is to stare at the cube intently for a while and memorize its state, then close your eyes and twist away. It's quite difficult because it requires meticulous planning, careful memorization, and flawless execution. Until you've done it you probably don't appreciate the frustration that comes from forgetting a single rotation during a complex algorithm, and then continuing to work the cube for 10 minutes, only to end up with a cube that looks as scrambled as when it started.

My technique

What I like about this challenge is the way it lets me explore how my mind works. For example, I'm terrible at memorization, particularly when it comes to sequences of numbers and things. So I've been trying out ways to utilize the different parts of my memory to remember things like which blocks need to be exchanged in which order, and which need to be rotated in which direction. I'm sure this is horribly inefficient, but it's kind of interesting -- for exchanging the positions of blocks, I use musical notes.

It works out well because there are only eight blocks, so it exactly fits a major scale. For example, if the #2 block should be in the #6 position, and the #6 block in the #5 position, #5 in #8, and #8 in #2, then I remember it as Re-La-So-Do. I usually use the "#1" block as a reference to define which colors belong on which axes, so the melodies usually start on #2 or #3 and take on an eerie modal quality. If there are multiple cycles of blocks that need to be exchanged, I mark the divisions in the melody with half-notes.

For orientation of the blocks (which I memorize last and do first to minimize the amount of time I need to remember it, following the advice of some guy on youtube) I find left/right pairs or sets of three blocks that need to be rotated in the same direction. Again I use my audio memory to help me cache the information, but this time I use words. I use my own highly-nontechnical terms to describe the formation, then I use numbers to mark the blocks, and I use English words (right, left) to tag it with a direction, and finally Japanese words (migi, hidari, ue, shita, mae, ushiro) to flag which side of the cube my "reference block" is on, so I can rotate the cube back to the original position when I finish the orientation corrections.

As I said, I'm sure this is horribly inefficient, but it's kind of fun. :)

Results

I've been doing this on the train for about 2 weeks now. It usually takes me around 5-7 minutes to do the whole thing, memorization time included, although I'm still below 50% in terms of success rate. The hardest part for me is the orientation phase, because I have to change my grip and rotate the cube a lot to do it, so often I either fail to return the cube to its original position, or I accidentally rotate the wrong triplet of corners, ending up with two corners mis-rotated in an otherwise perfectly solved cube.

Looking online, people tend to dismiss blindsolving the 2x2 as too easy, citing that it's not that difficult to blindsolve the 3x3. Given that there are 20 "cubies" to move around, that would be almost two octaves on the 12-tone scale. If nothing else, it would be fantastic relative pitch training! I guess it would be possible to use an 8-tone major scale (including high and low "do") with vowels (a,i,u,e,o, and mm) to designate a position on a face. It would be a bit redundant since each corner piece would have three designations and each edge piece would have two, but maybe there would be ... some reason you'd want to do that?

If anyone tries something like this, let me know!

02 May 2009

People are not idiots

So, I've been doing a bit of user interface design lately, and I've been thinking a lot about what makes a good user interface.

What I've realized is that my design philosophy has evolved over the years. I used to believe that every system needed an "expert mode" and an "idiot mode" to accommodate the needs of power users (I want complete control!) and casual users (I just want it to work!).

I think that over time I have been pressured in the direction of "idiot mode". It's as if "usability" only means "usability by unthinking beginners". I will stand for this no longer. My new philosophy, I have realized, is "people are not idiots".

I believe people will rise to the expectations you set for them. This is not an excuse for hard-to-use interfaces, and it is not a justification for overwhelming users with too much information. I am merely asserting that the elements which are good for "expert mode" and "idiot mode" tend to be similar, and that I firmly believe it is reasonable for a beginner to be expected to make some effort to learn how to use a (well-designed) system.

Configurability

What I learned first, I think sometime after my college years of hacking my dotfiles and customizing my linux box beyond all recognition, was that infinite customizability is really not necessary. Sure, it's fun to some degree, especially for bored teenagers desperate for a place to express themselves, but really, excessive configurability is generally not useful.

The place where this always comes up is when I find myself helping a friend with some computer problem, and I have to figure out how to use their customized system. Standardization makes it easier to help people and to communicate about the system. Which is necessary because computers are NOT EASY TO USE.

Granted, having a few different modes is useful and necessary, but just a FEW. The perspectives in Eclipse, for example, are great. I don't really need to be able to customize and adjust every little view window within the perspectives, but the ability to switch perspectives adds real value.

Presets

Something I learned while playing around with VST effects for audio software was this: flexibility provides freedom, but not value. Presets provide real value. Give me 100 degrees of freedom in some effector module, and after weeks of study and experimentation I might be able to come up with something nice. Give me 5 presets, and I can make something sound good from the beginning, then quickly play around with them and make my own improved versions.

I'm intending to implement a "presets" style interface in some of my software for work. It really puts some structure on variable-tweaking.

Abstraction

Last night I was helping a friend with Windows over the phone. The conversation went something like this:

Me: "Ok, now change the file extension"
Friend: "I don't see the file extension"

Me: *sigh* ... "ok, open windows explorer"
Friend: "What's that?"

Me: "Open a window so you can see folders and files"
Friend: "Ok."

Me: "Open the Tools menu"
Friend: "I have Vista."

Me: *searches the internet for explanations of how to do it in Vista*
Me: "Ok, do blah blah blah"
Friend: "I only have a blah blah menu"

Me: *searches for a more recent screenshot, makes some guesses as to what the menu might be called in Japanese*

Friend: "Hmm... Can I just rename the file?"
Me: "Probably not, but try it..."

Friend: "Ok, I renamed it. It still doesn't open"

Me: "Ok, never mind then. Go to blah blah menu and uncheck 'hide ...', um... "

Me: *struggles to try to remember how to say "file extension" in Japanese*

Me: "Hide, um... I think it has the kanji for 'child' in it. Hide that for known files'"

Friend: "Hide it?"
Me: "No, uncheck 'hide it'..."

Friend: "So, wait, not hide it? Um, actually there are a whole bunch of options here. Which kanji was that?" ...

... several more minutes of confusion ...

Friend: *finally stumbles upon the right option*
Friend: "Oh, ok, looks like it worked. I can rename the file now. Now everything works!"

COME ON MICROSOFT!!!

In a discussion with a coworker today, we both agreed that the first thing we do when troubleshooting somebody's PC is turn OFF "Hide file extensions". File extensions are fundamental to the functionality of Windows, and they are not something you can ignore! On top of that, just trusting an icon is a security risk...

But really, a description of the type of file should be a completely independent field from the name of the file. In a good design, there would be no extension at all in the filename. Sure, I understand that for backwards compatibility, Windows can't redesign that at this point... But the solution is not to HIDE the extension from users! PEOPLE ARE NOT IDIOTS. Show them how it works. Then they can use it on their own, and I can go to sleep.

"Help"

The last thing I have been frustrated with lately is "help". Seriously, people, who uses this? I have NEVER ONCE found any of these help features useful, and I know nobody who has.

Au contraire, it is so frustrating when I'm rushing to complete something for a deadline, or to catch my last bus, and I accidentally click on Microsoft "Help and Support" or MS Office help, or Dell's built-in "In case you didn't have enough help already - oh and just to screw with you let's put this icon where the Run icon usually is" Help.

Usually there's a split-second of dread as I realize what I just did, and as my hard drive starts grinding away and my CPU is instantly pinned to 100%, my PC unresponsive to my desparate clicks - Cancel! Cancel! Cancel!!!!!

It seems that every help system I have ever encountered finds the need to swamp my computer, indexing volumes and volumes of information on startup, or launching a web browser to download some useless web page (and probably send out a bunch of my personal information in the process).

Ok, so "help" is theoretically a good thing. Here are my recommendations:


  • Make it useful

  • Make it require multiple clicks to come up (but make it obvious how to access it!)

  • Make the opening screen LIGHTWEIGHT, and quickly cancelable, so that accidentally opening it doesn't cost me a $40 taxi ride


In Conclusion

So, this may come off as a rant against Microsoft, but that's just because I use Windows every day. And really, I've grilled Apple enough about how much iTunes sucks (oh, did I mention? It keeps trying to install a Japanese update over my English iTunes!!! Needless to say, I just stopped installing their updates at that point. Like I need any more of their bloat anyway! iTunes 4.6 was fine.)

And Linux? Usability...? :P

But what I'm saying is that we should stop trying to idiot-proof user interfaces to such an extreme degree. Give people warnings when they're going to do something bad* and then let them do it if they want. Systems today are imperfect, and sometimes the user needs to do things that weren't anticipated by the designer. It's overly pretentious to take the stand that the designer is omniscient and that the user is an ignorant fool.

*bad: adj. - having actual negative consequences, as opposed to, say, moving your thumbs.db file !!!!!!!

15 April 2009

Counterpoint: Gaza

So I think that due to the fact that I rarely post anymore, most of my friends have given up on following my blog. But almost two months after my last post regarding the situation in Gaza, I was surprised to receive an email from an old friend, one of my students from the MEET program several years ago.

She was quite shocked at my statements about the situation in Gaza, and as an Israeli soldier who spent the war in bomb shelters 3 miles from Gaza, she offered her perspective on the situation. Here is what she said.

The Hamas rocket attacks are anything but ineffectual. Imagine what it would be like to hear an alarm announcing you have 15 seconds to get into a bomb shelter several times a day. Imagine what it would be like to have to constantly worry about being 15 seconds away from a bomb shelter. Every time you'd go out, you'd make sure you knew where the nearest bomb shelter was because you'd have to be 15 seconds away from one at all times. Every time you took a shower you'd have to ask someone to stay near the bathroom so they could let you know if they heard the alarm. Imagine sleeping with your neighbors on the floor of a cold shelter every night because everyone's terrified they won't wake up and make it to the shelter on time if they hear the alarm. Imagine living in a city where most adults take pills to control their anxiety and panic attacks, and where kids who are asked to draw themselves draw dead children with rockets on their heads. Now imagine living like this for 8 years.

Why, you may ask, would your government not do anything about this for 8 years? Because you live in one of those rare countries where the army refuses to harm innocent civilians, and the terrorists, who know this, make sure they're always surrounded by as many civilians as possible. If after 8 long years your government finally decided to do something, and the army went out of its way to target only terrorist training camps and underground tunnels, would you think it was responding disproportionately to the threat? If the army made a point of announcing its intention of bombing buildings where terrorists were hiding and giving civilians time to evacuate, would you consider that sinister? Would it be sinister of your government to regularly send the civilians supplies and medical aid?

I do genuinely offer my apologies to anyone I offended with my admittedly one-sided statements on the situation. Obviously, the whole point of terrorism is that even though the number of people actually killed is small, the psychological effect on the population is large, and I neglected to even mention that. Although I stand by my previous statements about how shocked I am at the things the Israeli military has done, it's certainly not anything close to a one-sided issue, and it should never be presented that way.

At the very least, I believe that it is really important to try to understand and sympathize with the people on both sides of the conflict. In a situation where both sides have innumerable grievances against each other, it just doesn't simplify down to good guys and bad guys.

18 February 2009

Not-so-extreme Opinions

Hey, so it's been a really long time since I've updated my blog. Maybe you can partly blame that on me being caught up in work (things have gotten busy lately and my research has been becoming more significant)(or, ok, maybe not my research, but the software I've written and am supporting has become more important to more people) or you can blame it on ... other distractions. Today was the first day I was able to solve the Megaminx without the help of a solution guide (I was able to solve it down to 5 (out of 62) pieces out of place about 4 months ago with no guide, but it's just beyond my attention span to work out the algorithms to switch edges, rotate corners, etc.)

Desperate for Input


So I went to download Monday's Colbert Report... but then saw that there was none to be downloaded. I guess it's Presidents' Week so they're on vacation.

No South Park yet (next episode airs on March 11th... I'll be at an international robotics conference then, so I'll try to catch it live in the US!) ... so I went to colbertnation.com and ended up getting sidetracked on his interviews with prominent feminists.

Awesome Feminists

First, Ariel Levy is awesome. I'm going to buy her book, "Female Chauvinist Pigs" if they have it at Kinokuniya. I think that living in Japan has really raised my awareness and interest in sexuality and sexual identity. This is such a weird place coming from an American viewpoint. But I could write a book on that topic.

His interview with Shere Hite was awesome too... both of these interviews were in 2006 but... I was busy? I'd like to read "The Shere Hite Reader" (covering 30 years of her work) but maybe that will be afterwards.

Then there was his interview with Jane Fonda and Gloria Steinem (also in 2006) which was brilliant. I went to check out their website and it's been shut down already, but I read some reviews on why it was shut down and found a link to Air America, which I have heard of but never really checked out.

Air America

The two articles I checked out there were "Bill O'Reilly - Consistent Sexist?" and "Closing the Polls on Peace". Both interesting.

Bill O'Reilly


The Bill O'Reilly thing... hmm... Basically they're calling him sexist for some of his comments regarding Helen Thomas. I disagree. I completely agree that he's slamming on her disproportionately for being liberal / disagreeing with his opinions, and that he's kinda harsh on her about her age, but I really don't think what he says is particularly sexist by comparing her to "The Wicked Witch of the East". I mean, I really think he'd rip on an 88-year-old guy just as hard, with some other (probably offensive) metaphor. The video segment does correctly point out that his ridicule of her question is misplaced, and it points out the hypocrisy of his rebuttals against Courtney Martin from the Women's Media Center, who demanded an apology.

I guess my point here is that I think we have this culturally-ingrained oversensitivity to sexism (which I think is not the real issue here), without a proportionately healthy regard for other offenses, like personal attacks against people (regardless of age or sex) and rhetorical offenses, like making analogies that seem appropriate but are misleading. Actually, come to think of it, I'm probably guilty of the latter. What I'm saying is, I think it his statements were not only really mean (from a moral standpoint) but also wrong (from a logical standpoint), but I don't think they were particularly sexist per se.

Israel and Gaza

The other video I watched was "Closing the Polls on Peace". That was just really disturbing. Ann Wright, a retired US Army Colonel and former member of the US State Department, gives a firsthand account of a rare look at the devastation inside Gaza during this period of war. It was quite disturbing, and I guess the reason I feel that way is that I completely believe that she is honest and giving a true account of what is happening there. So many people give politically-biased reports from one side or the other, but sometimes you see someone who is really just committed to doing what is right. The same reason I (and most Americans, I guess) trust Barak Obama... just an intuition that he understands what is going on and says what he means.

Anyway, the situation in Gaza is horrific. The things the Israeli military is doing are sinister. Destroying their industries, tearing up their crop lands... using ineffectual Hamas rocket attacks as a pretext for destroying the livelihood of an entire people.

It's so hard because, having lived in Israel, I have good Israeli friends, and also Palestinian friends. I think what everyone really wants is peace. I guess from a really cynical perspective, if the Israelis drive the Palestinians out from Gaza and the West Bank, then after a few generations maybe people will adjust to the new status quo and there will be more peace than we have now. But then again, the Romans might have thought that 2000 years ago, and look at the situation now. Yes, I know it's a bad analogy. But... I just don't know what to feel.

Like, take this disturbing Flash game for example. You play the Israeli military and your job is to blow the crap out of Gaza. Your score depends on the ratio of Palestinian casualties to Israeli casualties. As in: if you kill more than 25x the number of Palestinians as the number of casualties on your side, then you win. Or something like that... I played it a few weeks ago and don't remember the exact details. But you get the point.

So... yes, I absolutely think the Israeli military is responding disproportionately to the threat, and yes, I think the US government is wrong for supporting them unconditionally. I don't think Hamas is "right", as in morally right, in their policies, but they may or may not be "right", as in effective, in what they do. I guess if getting a reaction from the Israeli military is their goal, they're pretty effective. :( In the long run, I'm not sure what will result in the greatest happiness for the greatest number two or three generations from now. But it's just terrible to hear about the destruction in Gaza. In these modern times, nobody should have to suffer like that. And as war zones go, I'm not really that well-informed, but I'm pretty sure that there are other places where things are much, much worse. When will we get beyond such primitive ways of settling our differences? I'm disappointed in the human race.

Peace on Earth?


I may sound like a hippie, but I really believe that the only way to get ahead is to embrace an abundance paradigm, so that the haves feel comfortable sharing with the have-nots, and we can actually start worrying about the best ways to help each other instead of the best ways to protect ourselves from each other.

Maybe we have to wait for times of better economic prosperity before people will feel comfortable doing that. *Sigh*...

And sorry I haven't blogged for a while. I miss all of you.

16 October 2008

Ups and Downs

Up: I got my new fiber optic internet service this week!
Down: I've spent two long nights trying to configure it, and it seems to be about as slow as ADSL... plus it looks like I'll no longer be able to receive incoming international calls. :(
Up?: I've ... gotten lots of Japanese reading practice trying to configure the system?

Up: The weather has been cooling off lately. Yay! I can finally walk around outdoors without being constantly drenched in sweat!
Down: I heard my first Christmas song in the shopping mall today on the way home from work. CHRISTMAS!!!! The song was "Santa Claus is Coming to Town" in case you were wondering.
Up?: Now I can stop complaining about the fact that Halloween decorations have been up since the end of August?

I don't have a third up-down-up pattern for today, but I did have a "Dylan moment" on the way home from work. I was sitting down on the train, sleep-deprived as usual, and I saw a poster for an LPGA tournament (evidently the Ladies' Professional Golf Association, as I would later retrospectively infer from the many pictures of ladies playing golf on the poster). The way it registered in my head, of course, and which seemed completely reasonable at the time, was that LPGA must be the Japanese branch of the Role Playing Game Association! Only later did I realize the alternative explanation...

11 October 2008

Daily Show, Oct 7 2008

Sarah Vowell is just completely awesome. Mad props.