19 February 2011

Dreamlog 2011 02 18

Wow, pretty intense dream last night. I'll spare you the minor details, but this was the general storyline:

Step 1: In an old abandoned subway tunnel, near the forgotten "Depression Midway" station recently unearthed during construction of a stage for charity concerts by Lito and Yuka's band, conceal 20 almost-dead victims of a virulent plague, hooking them up to IV's in order to keep them alive and unconscious.

Step 2: ...

Step 3: Profit, by dominating the market for tea exports from the UK to France.

16 February 2011

Octopus's Garden

Hey, so I just signed up for Twitter, thinking "aha, now I can be a part of the online community and be more active in the world!"

But then I realized... not being the most concise person in the world, expressing my feelings in 140 characters or less may prove to be quite frustrating... :P

So here's my overlength thought for tonight. I've been listening through some old Beatles stuff lately, and I'm continually amazed at how creative, talented, and experimental they were. I always thought of the Beatles as "from a previous era" but really they only broke up a few years before I was born. Their music reminds me of my young childhood - whereas at the time I was mostly preoccupied with fascinating things like plastic cups, crayons, and laundry baskets, in the background of my memories I often see the record sleeves of Beatles albums lined up leaning against the stereo cabinet, and although I don't explicitly remember a lot of these songs, they conjure up a strange mix of feelings (half-imagined, I'm sure) from a simpler time when my parents had long hair, my toys and clothes were handmade, and my family would go on picnics in the mountain fields, singing along with my dad playing Peter, Paul, and Mary songs on his acoustic guitar.

So, to my point...

The song "Octopus's Garden" weaves a beautiful image of a safe, secret hideaway beneath the ocean, where we can dance around without a care and be happy and free. Why does this image work? I mean in reality, the ocean is filled with dangerous predators, pollution, and fish poop, right? So it wouldn't seem particularly safe to a creature born and raised in the ocean. It's only with contrast to our world with its harsh and changeable weather that the bottom of the ocean seems like a safe, calm place.

So I started wondering, is there any perspective from which our world would seem like the Octopus's Garden? Off the top of my head, the thing that comes to mind is someone living outside the Van Allen belts. Out in the harsh vacuum of space, buffeted by radiation and solar flares, life down on Earth inside of our warm and protective atmosphere and magnetic field must seem pretty cozy and safe! If we could live down there life would be so wonderful.. we could sing and dance around without a care in the world!

Kinda makes me want to go outside more.

07 February 2010

Yah I know i haven't posted in forever...

But I just wanted to relate this one exchange from tonight:

Me: That, uh, you know... that guy who's in a bunch of ... that other guy's movies...
Lito: Johnny Depp and Tim Burton?
Me: Yes! Exactly!

Awesome.

Sorry, I'd share two more as per my previous policy, but it's time for bed, and those two people in giant furry dog suits who wandered into my local bar at 2:30am, well... this is Japan and things like that are just kind of commonplace here. ;)

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.