Friday, November 30, 2007

i bought an Acer TravelMate 8210-6245 mostly because it was affordable and it has a slightly curved "ergo" keyboard. it is running windows xp.

sufficeth to say, there are many things about it which suck ass. i'm not going to harp on them too much because i don't want to make myself too bummed at having bought it. i mean, it works well enough - i've played all those FPS demos i couldn't play on my aging desktop machine.

one thing in particular i'd like to call out, though, is the whole trackpad thing. i guess it is a synaptics setup. anyway, it sucks filthy buttocks like there's no tomorrow. it blows my mind that things like this get made and shipped at all in a world with MacBooks that have the easy two-finger scrolling kind of good crack, ya know?

(we also have a MacBook at home, and i use a MacBook Pro at work, so i also know that they have their fair share of hard- and software issues, don't get me wrong there either.)
mmm, Leopard.
it bugs the heck out of me that the keyboard shortcut for "find selection again" in Eclipse doesn't work when you have the full find dialog box up.
eclipse doesn't give you a fully expanded tree of search results. you have to manually either open things up, or click on the "+" icon to fully open things. i pretty much always want the search results to just be fully opened. (not to mention showing me the text of the matching line.) yay!
here's a good gmail ui-izm: when it shows you the date something was sent, it does not, apparently, bother to include the name of the day. you know, something humans like. so that's really nice. (it goes to the trouble of saying things like "3 days ago" when all i really care about is the name of the bloody day.)
things like Araxis Merge suck when they require you to start completely new different windows for doing a file vs. a directory comparison. the most obvious reason why it sucks is that they aren't easily distinguishable when already open, so you might spend time in one trying to get it to open the other type of thing, which is a waste. it would clearly be better if there was just one unified UI which let you pick either type. i think.

Thursday, November 29, 2007

i am such a glutton for punishment. i go on vacation and apparently forget precisely why all freaking real estate sites suck ass. so like an idiot i go to ziprealty and do a search and get the map of results and click on a marker... only to rediscover that they are complete freaking idiots when it comes to freaking basic UI: the map overlay for the property shows up and is not all visible within the map area so it is clipped at the top, which is apparently where the close box is for the overlay. and clicking elsewhere doesn't get rid of the overlay window. so now the map is freaking useless to me because it has this stupid <barnyard animal> <expletive>ing window stuck over it.
oh, <deity> <expletive> - i'm trying out the "getting started" of Grails web stuff, and get a 404 not found from my example application. after much examination it turns out to be a typo of mine: "scafold" instead of "scaffold". of course the <expletive> kicker is that there were no obvious error messages about that. so all in all gosh that bodes well for making an actually real, big, application in grails.
if your programming language does not make it trivially easy to spit out a comma-separated string without a trailing comma, then it kinda sucks or is perhaps at least somewhat over-hyped. to wit, for-each loops in Java.
in my dictatorship, i would probably penalize those folks who made web sites with a large fixed with. yup. where "penalize" would in my language mean "hurt".

i mean, what on earth ever happened to the basic idea of the web letting the end user control the look? i really think it was a good idea, but apparently nobody else does. at all. mostly.
i say, well said. i think.
all the people involved in wiki syntax pretty much would be in jail in my dictatorship. i mean, for example, people who think that having more "="s for a header should make it a more important header, or people who think their TOC rules make any sense are, fundamentally, bad people.
all i'm saying is, the ui for setting preferences in Apple's Mac OX S Terminal program is a great example of... crap!
a problem with exceptions in the Java style is that you tend to put the catch way down after where the exception might be thrown, because you want everything after it getting thrown to not happen, you know? but then that means when you see the catch it is hard to know what part of all the code in the try block caused the exception.

exceptions might seem like a neat idea, but really they have issues, and often the devil isin the details. maybe the D approach is better.
i love inconsistency in user interfaces... not. on this mac, many programs (most?) do not "use" the click when you click to focus on them if the click was on something active. e.g. if firefox doesn't have focus but i click on it, on a hyperlink in the page, it just gets focus w/out actually navigating along that link. eclipse, on the other hand, does use the click.
any architect/designer who puts the men's bathroom door facing the women's bathroom door (or vice-versa), something i've seen at several supposedly fancy office buildings, is, i think, kinda dumb.

along similar lines are the buildings where the bathrooms are in the same place on all floors, with the exception that they swap the women's and men's on each floor. that way if you are in a hurry to pee you can easily end up in the wrong bathroom e.g. on a (fortunately, i guess) quiet weekend so there's nobody coming in and out of the bathroom to make it obvious you are about to go into the wrong one. (the couch should have been a clue, but i just thought it was a fancier department of the university on that floor.)
i'm trying to compose a message in gmail in firefox. i'm trying to get the cursor to the start of the message. since the keyboard method is fraught with peril (see immediately preceding post), i am trying to - get this - simply use the mouse pointer to click before the very first character of the message, in the text field of the web page. guess what? it is nigh impossible, apparently, to just get the cursor there. i think it is because there isn't enough of a gutter/margin in which i can click. so instead i end up either clicking just outside the actual text box, causing it to lose focus, or i end up in some mode where firefox thinks i'm trying to do some kind of, i guess, region selection so after i click and move the mouse i'm getting the region selection hilight following my mouse cursor?!

technology, defn: that which, when composed with other forms of technology, creates an even more broken, crappy, hateful, discombobulated, combinatorially insanely hard to use crappy experience for the user.
face it. the Mac has too many modifier keys. the bottom left-hand side of the keyboard on this MacBook Pro has the Command, Option, Ctrl, Fn, Shift, and Caps Lock keys all together around the edge. so when it comes time to move forward by a whole word, or page up, or move to the start/end of the whole document, it ends up being like a 50% chance that my motor memory will get it right. this is especially true because the Mac is a mish-mash of old school Mac + Unix behaviour, so trying to do things like word-forward often depends upon what app you are in.

and this is supposed to be the most usable personal computing system? shee-oot.

Wednesday, November 28, 2007

just further proof (read the comments) of how utterly horrible everything is when it comes to Web UI development.
go go gadget Firefox upgrade. it said it had a new update and asked me if i wanted to restart - most times i say no, but this time i said yet. when it came back, it had apparently completely forgotten the fact that i had two windows, each with tabs in them, open: it only restored one of the windows as far as i could see.
everything sucks. even gmail has utterly hateful tool-tippy/pop-up windows when you e.g. ever so briefly hover over somebody's name, or whatever.

shoot to kill, men.

Tuesday, November 27, 2007

i wish i were smart. well, i also wish that everybody would learn that their use of inheritance in their programming is actually probably most times pure evil from a correctness standpoint. Subtyping and subclassing shouldn't be stuffed together the way Java or C# lead you, even if it looks like a nice cozy garden path. Delegation is really the right default, methinks. Or, staying away from OOP. I do have similar feelings about OO as Stan: "OO speeds up my programming, but does not make me a better programmer or improve my success rate." Whereas things like SML seem to front-load the bugs so that the surprises are early, and once things are ironed out the program "just works".

though, on the other hand...

all in all, i think the mixing of behavior with data makes sense at first blush from an encapsulation and abstraction standpoint, but then seems to fall apart when you get into the simple circle/ellipse, square/rectangle questions. the fact that those questions aren't difficult to answer in basic geometry is, i guess, due to the fact that those geometric concepts don't have instance methods on them.
word: it's the tools. everybody wants better usability when it comes to development. at least to some important degree. of course, certain representations make it easier for people to come up with the new tools, i think; s-exprs are easier for everybody to slice and dice and generate and parse than some hoary C-style syntax, even if it shows up as an AST because that isn't what you see on your screen while programming.
i haven't tested other browsers, but FireFox chokes on (fetish alert, follow the link of your own responsibility) this really long page somewhere in the middle; as I'm page-down-ing, it eventually freaks out and stops redrawing the page.
oh my freaking god. i used to think that it was only gmail's search that sucked so much ass, but now i see google's main web search doing the same thing (at least when i restrict it to a site): not finding singulars of plurals that only add an "s". so you can search for "foobar" and it won't find the "foobars" as hits. which is just dandy handy useful great usability. (it won't even find them if "foobar" gets zero results.)
testify, brother! (The difference with me, though, is that I do blame them all.)
i don't know what it is about programmers: they mostly seem to want to write things in terse format rather than natural language. personally i think that while it doesn't seem like a big deal to write "msg" instead of "message" to some people, in the long run i think the tiny but non-zero mental load incurred while reading that style of code ends up making it all look pretty crappy. what's wrong with just writing what you mean, rather than doing some kind of unix arcana? blah. i know, some people just don't want their fingers to wear out, but that is arguing for the creation side of things when in fact what can be way more important long term is the maintenance side.
i freaking hate monitors that do not have brightness (and, ideally, also contrast) controls up-front. like, on this MacBook Pro you can use the keyboard's F1 and F2 to adjust it, but on the external Dell monitor I've connected you have to go through some painful button pushing and menu navigating to make the adjustments. and, of course, the button-to-menu-navigation mapping is just utterly stupid from a usability perspective.

but hey, cheap big monitor, right?

Monday, November 26, 2007

you say FP, they say OOP, call the whole thing off.
funny how often things which can sound well-defined and sorta final when your professor says them turn out to be much more nuanced and squirrelly. like "referentially transparent" or "firfst-class" (in the programming, not travel, sense).
did i mention the doom? it is all so very Douglas Adams - aliens come to Earth years hence and determine that what killed us off is utterly pathetic usability.
we are so utterly doomed.
what's in a number?
things like Eclipse are too complicated and end up with all sorts of commands that I don't really ever want, stuffed into menus next to things I do want. so on occasion I accidentally select those things I don't want, and then end up having to undo whatever it did ("Go Into" for example) which really really sucks. i wish i could easily just get rid of those bloody commands from the menus, or shove them off into some sub-menu.
(at least one of the several) Eclipse's Find/Replace dialog box has radio buttons for Direction: Forward or Backward, and then has a single Find button. I think a better design is to only have a Find Next and Find Previous button.

Friday, November 23, 2007

oh my freaking god. i'm on vacation and make the mistake of using my laptop and firefox, only to learn new suck: it freaking deletes files out from under you! complete insanity. so now i'm in a bad mood while on vacation. yeah, i'm just not the right kind of person to be using technology - ever. i only pray that ff3 doesn't introduce as many new suckful things as it claims to fix.

Wednesday, November 21, 2007

i'll sum up what i think of this resort: just further proof that nobody knows anything about usability.
i love how windows (and also mac os i think? dunno about e.g. GNOME) don't show directory sizes by default. if ever at all.

Sunday, November 18, 2007

funny how after staying at the cheap-ass hotel, staying at the fancy hotel i see that the usability of things in the expensive room is pretty crap. two concrete examples: The tv has fancy-pants VOD, but doesn't have a mute button on the remote and doesn't even have a way to get into basic picture brightness, contrast, color, etc. adjustments. And, there are two telephones in the room, one at the side of the bed, the other on the "work" desk. But the one on the desk doesn't have any instructions printed on it e.g. for how to dial an outside line. They're only on the one by the bed. Genius. At least at the cheap-ass hotel you weren't expecting anything to not suck, ya know? Oh, and I love how fancy places claim to be all about making your stay so nice, and then when you go try to get a cup of coffee at the only restaurant that is open they tell you they don't serve coffee there at all. That's customer service, w00t.

Saturday, November 10, 2007

it blows my mind how stupid and self-defeating people are. "I decided to hold my anger in me and just purchase the TV." dood, you are a sheep who begs to be commanded which way to graze. (not that he's completely dead to the world. "Something I noticed the females at Best Buy seem to be a bit more attractive then the ones at Circuit City but I will get into that later.")
when a text field doesn't have focus, it doesn't respond to the page up/down keys. but if i click on the scroll bar for that text field and move it around, it still doesn't respond to them. so that's nice.

Friday, November 09, 2007

why can't i pick some colors and have the web image search results filter so the hits are images with a preponderance of those colors? (no i'm not looking for flesh tones.)
what is it that makes something a functional programming language? there are bits and pieces, but i also think there is a critical mass, or event horizon - before it, you are just a language which some good things in it on occasion, and after you are suddenly something wonderful.

it also means that if you used some subset of the critical mass and didn't like it, you cannot then curse those languages which do have it - because you weren't really in the zone when you learned to dislike it.

on the other hand, there are times when any given thing, be it FP or not, is the wrong shoe; OO exists for some reasons, surely.
basically, i think subversion is a tub of poo. i mean, come on, it is brought to you by the same people who did cvs, as if that is supposed to be reassuring?

(i'm not saying that i personally can do better, i'm just saying that there are better things out there. i really think perforce is worth every penny.)
we can only hope that things like Prism will get us out of the hell of web applications. you know, the applications that can't even have safety checks for "did you save your document?" when you Cmd/Ctrl-W close them.

Thursday, November 08, 2007

Unreal Tournament 3 demo has shown me the future. A future where I can't play online because of crappy registration UI which just keeps telling me something is wrong with the passwords I try and maybe it has something to do with the email address I give but the error message isn't really specific. A future where I go to do quite possibly the single most basic graphics configuration ever, namely setting the resolution, and am told that I have to restart the whole game for it to take effect. [Well, it said "some settings require restart" or whatever, but never said that I could change resolution, and didn't change resolution until I quit, the first time around. The next time it worked w/out restarting. What! Ever!] A future with menus that resize entries as you scroll through them (a feature I'd dreamed up before, like everybody else, and then as soon as I used it in Win XP or in the Mac Doc, realized it was completely bad.) A future where menu options are put as far apart on our super high rez screens as possible and the mouse cursor in the menus is kept really slow, so it takes for every to try to just do something in the menus.

A future were - I kid you not! - the "uninstall" menu item doesn't uninstall, but instead launches the game. So I tried to uninstall it from Add/Remove Programs and it brought up a dialog box that said "install unreal tournament" not "uninstall unreal tournament" and then had progress bars which went forward then backwards then forward again then restarted all over from zero once more for good luck. And then after all the progress bars had gone away seemingly froze on "removing backup files" or some such for a good 45 seconds.

A future of... Unreal Suck.
took me for ever to figure this out / find some docs that helped: "let pointArray : Point [] = [||]" in F#.
does no-one actually learn from previous games to avoid suck when it comes to - you know - playability?
i like how plain crappy usability harasses folks in amazing ways.
i <heart> java and debugging under eclipse. not.

i have a breakpoint in an instance method. the breakpoint has a condition on it along the lines of "this instanceof FooBar". and i get a com.sun.jdi.ObjectCollectedException all the time so i can't use that condition.

wtf?
the Mac has too many freaky UI things now, so if you don't know about them and about the sekrit key-codes which cause them to happen, you can find yourself in really weird places: dashboards or exposes or other things like those i don't even know what they are or how i got there.
can! we! please! have! something! other! than! effing! tripodish! walker! aliens!

tabula rasa, hl2, crysis '07, yadda yadda yadda.

Monday, November 05, 2007

it blows my mind how bad the whole experience is of trying to download large files (video game demos). things just don't work together, so if you aren't lucky enough to have T1+ bandwidth at home you are probably in for a rough time trying to get a complete copy of e.g. the new Crysis demo downloaded (not that, in the end, it was even worth it). Sure, there's supposedly all that technology for continuing downloads, like with wget and curl, but quite often things just don't work. fun when there is a possible technological solution, but it requires that the people setting things up don't suck, which means the technological solution is pointless, because people do suck.
could the gmail ui for dealing with labels suck any harder? i'm trying to get all the things with a given label and archive them, and it just isn't apparently do-able. it is pretty nuts.
perhaps not surprisingly, the control panels for graphics hardware - like the ATI chip in my laptop - are wonderful examples of confusing, annoying, weird, and generally hateful UI. yay.
the new crysis single player demo is a pristine example of how people make what i guess they think is cool stuff but in actual fact is crap, from a usability perspective. like, i just want to, you know, try the game, not sit through a ton of intro FMV. funny how their last (and only) game did the same thing to me on my xbox; i guess they are at least consistent asshats.

also? in-game it totally doesn't work: there's a constant giant grey polygon blocking out pretty much everything. no wonder people buy consoles. [Update: I turned off ATI's "A.I." thing in the display control panel and that seemed to fix it.]

Sunday, November 04, 2007

why doesn't emacs remember minibuffer histories across restarts? (maybe there's some elisp somewhere that would make it do that?)
windows xp is killing me with the thing where i delete a file and the little dialog box with the progress bar comes up and then it shows 100% complete but never goes away, like, ever, i have to hit the cancel button. the file already is deleted, so hitting cancel doesn't seem to cause any trouble - so i don't know why it does that. sure is annoying.
funny how somebody can make something so near and yet so far away from what I want. like, gosh, it is almost as if different people have different needs, and if you don't stumble across the other person's way of thinking, you might never realize what else to add as a feature. (i'm just saying making things 'complete' is hard, i'm not faulting the person for making a tool which serves their own needs. although, on the usability side, the whole "teach mode" and "half teach mode" things in Key Tweak are a little, well, tweaked.)
why, rhetorically, must everything always kinda suck? (especially including the spacing that blogspot ends up with for things like <ul>?) photobucket's Flash-based upload program:



  • doesn't seem to have a way to refresh its view of the file system e.g. if you copied files over from somewhere, after you went to the upload program, that you then want to upload.


  • doesn't seem to have a "details" view, and the space for the file names is really short, so the only way to figure out what you want to pick and choose is to hover over things individually and wait for the full name to show up in the tool-tip.


  • seems to not use shift-click as a selection extension, rather uses ctrl-click (on Windows)!?


Friday, November 02, 2007

basically, i really think debugging is mostly no fun. especially when it is not about higher-level logic or design problems, but about something just exploding sorta low-level. it especially sucks when there are many possible causes of the bug. that's why i prefer to program with systems which try to reduce the number of things which could be causing it: garbage collection and no direct pointer manipulation means i don't have to worry about somebody stomping all over memory; static type checking means i have less worry about screwing up how things are created vs. consumed; immutability means less chance of somebody off elsewhere in the system fiddling incorrectly with data. Etc.

in other words, i prefer correct-by-constrution as the asymptotic goal over C.

(admittedly, all the things which go into making things like garbage collection or referential transparency both safe and performant (i hate-love that word) could themselves have problems because they are usually kinda complicated systems internally. so i guess the trade off is that if you control everything, both the horizontal and the vertical, you can theoretically more easily track down the error since it is your own code. but any remotely complex system will have code that isn't yours, and heck even if it all is, you might have old code you no longer recall or grok.)
Eclipse really does smoke the crack. Along with Subclipse. Seems like when I'm comparing files with what is in SVN, when I get to the end of the differences in a given file I sometimes get one kind of dialog box, and sometimes get another, both of which are about the fact that I've reached the end. But they have different contents. And, the kicker is that the choices they present don't have what I really want! All I want is to have nothing happen when I reach the end; I don't want to wrap the top of the file; I don't want to move to the next file. I just want it to stop at the last change, so if I press the button to go to the change after that, nothing should happen. No stupid dialog boxes, nothing.
tool-tips officially, most of the time, piss me off - why can't anybody get a freaking clue and implement them slightly less hatefully? i don't generally want things getting in the way of what I'm trying to look at, you know? having to try to find some "dead space" for the mouse is proof that whoever made the app is a jerk when it comes to usability. cough cough mac version of araxis merge.
various Mac programs have a keyboard shortcut to bring up the Font window - Terminal, for example. the font window is some weird evil thing with a really small title bar, so the close, minimize, and maximize buttons are tiny. and the kicker is that the Esc key doesn't dismiss it, and Cmd-W doesn't close it, but does close your underling window. so all in all it is a really miserable experience. i see other programs following suit, like Araxis Merge. so that's a great thing Apple has spawned.
another circle of heck is reserved for all those web sites that say, "only click 'pay' once otherwise you might be charged multiple times!" when you are paying with your credit card.
yeah, i still think Eclipse has some suck of the super variety.
nice to see Blender is still insane crap when it comes to UI.
whoo doggy, macros of doom. tra la. oh, and pointer suck, to boot. some day it would be worth having a pure OS.

Thursday, November 01, 2007

impressive how bad Gmail's search is. i'm staring at mail that has "foo bar baz" in it, but if i search with foo bar baz as the query string that email doesn't turn up at all in the search results.
it is kinda funny to think that now game developers have to test for all the different graphics cards and design for all the different resolutions, plus all the different monitor aspect ratios, including when people rotate their wide-screen monitors (like Radius in the good old days).
i think e-lang is hyper cool. it really helps expose all the stupid, broken crap we have in our systems!
know what i hate? know what i really, really, hate right now? i'll tell ya: the fact that on the Mac, now to get a file to open in the right program you not only have to get the file association right, but you also have to get the file extension right. See, I downloaded a file named with .xls which actually is a .html file, so I renamed it to .html and then opened it... and it opened in Excel, not Firefox.

start. the. beatings. or: give! me! linux! (as in, ext3.)
i think it is pretty freaking stupid that there's no "rename" when you right-click on a file in the Mac OS X Finder. (well, at least up to Tiger.)
so if you go find and old blog posting and then edit and publish it... you don't get to see it in blogger. no, you have to re-do your search to go find it again. so that's a really wonderful workflow.
well, it's true. i really like writing unit tests for my code.
apparently, in the debugger view in Eclipse, the "link" thing between the Project Explorer and the Editors doesn't freaking work?! are the Editors not Editors in the debug view?!