Thursday, January 31, 2008

while there might be some perfectly logical, technical reason for it, for average Joe Programmer I think it is pretty lame that you can't do this in Java:


SortedMap<Double,Set<Integer>> foo =
new TreeMap<Double,HashSet<Integer>>;


instead, the Set has to be HashSet.
there is some kind of lesson in there, i think.
while historically there has been plenty of debate, i think i'm on the side of anality mostly because i really don't like debugging, especially when it is hard to reproduce stuff that one can get via shared mutable state.
i sorta want to go around grabbing people by the lapels, screaming AND! STILL! NO! ONE! LEARNS! at them.
as lord is my witness, i will never be able to catch up on reading. :-(
i am renting a truck. somebody at the rental company has come up with an extra charge, and it has been stunningly aptly named the "Cost Recovery Fee". total genius.

Wednesday, January 30, 2008

mutiple OSs + ssh + subversion == i hate svn.
ok, i'm impressed with how bad the colors are, but overall the presentation seems pretty good to me at getting across the idea of software execution paths and testing and formal methods.
as far as i can empirically tell at the moment, even if you call Java ArrayList.ensureCapacity(), if you then try to set() something rather than add() it you can still get an IndexOutOfBoundsException. grn.
the problem (in Java, C#, etc.) is that you want to have just a top-level exception handler, but the logging needs to be at each layer along the stack because you want to know situation-specific data (local variable values). which means you end up catching and re-throwing, so your code ends up really sucking a lot no matter what you do.
gmail frustrates me in that it seems to make it hard to just archive one message out of a thread. or at least it looks that way to me. i don't get it.
subversion's cli ui kinda sucks. one example: in the logs it shows version numbers with the letter 'r' in front, which is not accepted by commands when you use "-r <revision>".
Eclipse has decided that when I tell it to "Clean" and "Immediately Build" a project it will instead... do nothing.

Tuesday, January 29, 2008

Stop the Spying!
a nice indictment of starting with mutable structures is Java's Collections.unmodifiableMap() call which doesn't give you a type that shows it is immutable, so if you return the type Map and then change to return an unmodifiable Map you could easily break many clients of your code.

Monday, January 28, 2008

is String.valueOf() some kind of indictment of OO?

my current answer: no, but it is an indictment of Java's division between reference and value types.
hey apple, thanks for changing the iTunes interface all the time. you know, i wouldn't want to be able to burn cds or anything like that particularly often, so it is great that things are changed around so much i have to re-find how to do that pretty often.
it would be neat to be able to do real programming on things like the Parallax Propeller.
technology is so cool and easy to use. like how when i am ssh'd somewhere and unplug the ethernet cable and go wireless, and the ssh session locks up rather than the packets re-routing. i thought that's what the internet was supposed to do, was re-route around problems?

(i know, there are technical reasons for why this happens, like i guess the ip addresses are different for the different network connections. the point is just that as a user who shouldn't have to know about all that techno stuff, it seems really frustrating and broken from a usability perspective. well, i guess the classic truism is that often security and usability are strongly at odds.)

Friday, January 25, 2008

now that's neat.

well heck. so is that!
personally, i think the Ruby on Rails logo is kinda dumb. to me it looks more like some weird kind of cactus bathed in the blood of programmers, from a bad Star Trek episode, or something.

Eclipse is killing me. Things that look the same respond differently depending on what they really are. To wit, there are the main "editors" and then there are things like the "search results" tabs. I the UI they all look really similar. But, even if I've got e.g. the search results tab selected, where it is blued-in and all other tabs and editors have their tab grayed-out, and do the keyboard shortcut for "close", it doesn't close the tab, it closes whatever editor was visible.
macports is cool and all, but damn this MacBook Pro gets hot when installing something from source.
it isn't so much that Edward Tufte would be rolling in his grave (not just because he isn't dead yet), i like to think it is more that he's actually going to go on a shooting rampage because of what Semmle does: they take a generally bad idea (the pie chart) and then they make it even more effed up by doing transparency and stuff.

could Eclipse screw the pooch more? i'm trying to make a window that is a tab become a free window independent of the workspace - to undock it, or make it a floating window, if you will. there doesn't seem to be anything to do that. i tried "fast view"... and in actually made the tab go entirely away and i have no freaking idea how i would ever get it back. so that's more like a "fast <expletive>" in my book. ass hats all 'round!
yes, Scala is cool, but the tooling around Java is really freaking hard to beat. not that it makes up for how crappy the language itself is.
they shoot the moon, and miss really basic functionality like the widget to fully expand the tree results. oy veh.

still, it could be a great tool for trying to shore-up development practices by putting in lots of queries to check up on code practices, to help enforce patterns.
all i'm saying is, i think the Eclipse UIs for dealing with plug-ins could use some serious usability work.
i don't really like databases the way you run into them in your regular class or your regular job. they just feel really crufty and pedantic and sorta boring, and SQL sucks. at the same time, they are really neat - the real relational model is way cool, and if you know what you are doing and have a database with fun stuff in it you can have some data mining fun. so i'm interested in other approaches to relational-esque ata.
some days Eclipse just wants to really screw me over. it has suddenly decided that it can't find the source to files when i'm in the debugger. so i manually added a path to them, and now i can't set breakpoints in them.

whatever.
for those emacs users with Eclipse-envy, the Harmonia project seems to bring a lot of nifty GUI-IDE style functionality to the more text-based world.

(too bad it is for xemacs, not for gnu-emacs.)
i love how sometimes the toolbar area at the top of the page in blogger just doesn't load at all.

Thursday, January 24, 2008

since deadlock (among other issues) sucks a lot, and yet we are mostly stuck with things like Java, this dynamic avoidance trick seems pretty pragmatically useful. (well, that is, if you can get it out of working just in academia and into the real world of every day Java.)
subversion sucks because you can't do something like "svn -n up ." to non-destructively see what needs to be changed.
having a wiki might be better than not, or it might be something which is sorta like having a seemingly shiny nice helpful pointed stick jabbed right into your eyeball.
in this here Eclipse i'm using, if a window with a vertical scroll bar is really short, the scroll bar ends up being drawn all wrong where it actually shows the 'thumb' moving in the opposite direction.
everybody needs killed. i hate that gmail keeps popping up the contact picture i a new window. adium is even worse: i double click on a name to start doing chat with them, which opens up a different window in which to chat. but my mouse cursor is still over the name, and even though the new chat window has focus, the fact that the mouse cursor is still over the name in the background causes it to put up a big floating window showing a bigger version of their icon. which tends to cover the new chat window i'm trying to type in!
if you have a serialization library, then you should make it clear and easy to find out what happens with nulls. do they get written as ""? do they not work at all? how are they deserialized vs. e.g. a really empty string?

Wednesday, January 23, 2008

i don't know if it is Acer's fault, or MS Windows XP's fault, but it puts up the little balloon thing from the Tray telling me I need to plug in because the battery is low - so I plug it in, and for like 3 more minutes the stupid balloon still doesn't just automatically go away.
nice how Firefox 2's ui for dealing with things web sites want to install actually sucks more than the ui for that same issue in ie 6, simply because ie 6 lets you do a one-shot temporary load. (i think?)
it amazes me how much money Microsoft has to burn on learning the hard way, rather than, like, using common sense, maybe? i dunno, maybe it is just one of those obvious-in-hindsight things.
i appreciate all the hard work that goes into things like last fm, i just wish their ui didn't suck stupid obvious hairy natty festering dingleberries! here's a hint: let people type in any string to the search box and find anything that matches, so i can just type in the name of the song i want right in that in-your-face search box, ya know?

ARGH.
crap, more stuff i'll never get around to trying and learning. along with all the other stuff on the laundry list, like occam-pi: "The most interesting thing about Occam is also the most frustrating thing. The language is designed such that the compiler can statically check that your code is using concurrency correctly and it prohibits or manages side effects explicitly. The runtime can also detect dynamic problems like deadlock. Its really hard to get code to compile, you have to unlearn a bunch of bad habits, but when you do a large class of concurrency related bugs can't happen."
communication is hard, if you are humans talking, or if you are machines talking.
hey, neat, you can maybe run Ada on the JVM, and get all the "goodness" (it is a matter of opinion, to be sure) of Ada.

Tuesday, January 22, 2008

sometimes Eclipse just bites nasty poo. like, the "Format" command doesn't include the effect of the "Correct Indentation" command, which is just broken and wrong to my mind.
here's hoping Y! Hadoop Pig goes somewhere useful to us all.
maybe we're outsourcing white-collar stuff because US engineers suck?

Monday, January 21, 2008

here's hoping somebody makes a truly open source version of netkernel some day.
gosh, google, thanks for making it so i can't right-click on a search result hit and save that pdf to disk. no, instead it is saving some intermediary "htm" [sic] file. which, when opened, appears to be the ACSII contents of a (binary?) PDF file.

what!

ever!
what the <expletive> is wrong with people? have they never used a browser with tabs? you know, so maybe their page wouldn't start blaring the sound from the video as soon as the page loads? in a tab that is somewhere in my browser but heaven only knows where? so i'm frantically trying to find that tab to shut the bloody thing up?

ass-hats!
things like Sandy sure seem like a great idea. too bad the ui is within the first 5 minutes of using it revealed to be, apparently as with everything in the universe, kinda stupid and wrong: "x" means delete, people.
ja, sure, i can sort of understand the motivation, but in the end isn't like how everybody does a bad job of reinventing Lisp? i mean, why not just learn Chinese writing? you'd be able to communicate with a heck of a lot more people, read a lot more interesting stuff, and play all those import video games!

Saturday, January 19, 2008

cordless phones, especially or at least the ones made by VTECH, are apparently a big freaking scam to take your money and give you something which turns into toxic land fill within a year or two. generally, from what i can tell, it is just that the base station recharging circuitry dies and your phone is then useless. first of all, i don't see why it should be so hard for them to made a decent charging circuit - other than that they want you to have to buy another phone every year or two. second of all, it bugs me that i haven't yet found a 3rd party recharger for them. seems like there should be some universal recharger for cordless phone batteries by now? somewhere? maybe?
any time i use anything from yahoo - and i pretty much do mean anything - i hate it and cannot fathom how anybody can like what they do. and it isn't just that the user interface sucks a little bit in some way that i don't like or grok (e.g. flickr), it is also that some of their stuff just doesn't even freaking work, like their music store.

today i was checking into y! answers, and i wanted to thumbs-up on what somebody said so i clicked on it and it then made me log in, and then i had to click on the thumbs-up all over again and it then made me fill out the Answers sign up sheet, and then i had to click on the thumbs-up all over again - only then it didn't do anything and then i saw that it cryptically said something like "you have to be level 2 to rate".

please, somebody, just yank out the plug.

actually, thing that really gets my goad is that there are apparently enough dumb ass poop heads in the world using all the crap that y! puts out that y! doesn't just die like it should. i just don't get it!

Friday, January 18, 2008

when monads tutorials are much like capitalism.
sure, Eclipse has some really great refactoring tools. on the other hand, i find myself doing work in Emacs pretty often instead, because the search-replace features combined with easy-to-define keyboard macros are better. yay Emacs!
some interesting security history. "Before we implemented the capability ideas, we feared that a system built on these principles would use most of the storage to hold these mysterious new capabilities. Instead it turned out that capabilities replaced so many other ad-hoc mechanisms that our capability-based systems were usually smaller than equivalent access-list based systems, because they unified not only various naming functions, but also made older basic security mechanisms largely unnecessary. That performance was excellent was a pleasant extra."
not sure precisely whom to blame, firefox 3 (beta) or mac os, but i'm guessing the former: at least sometimes, when i have multiple tabs open and close one tab with Cmd-W then the next tab i'm in does not let me use the Page Up / Page Down keyboard shortcuts. presumably the focus isn't in the page body - when i click to get the focus in the page then it works.

bleck.
any logging system which doesn't have equivalence classes (as opposed to only having levels) of logging is not so... great.
i do not like the way Firefox 3 (beta) shows the list of possible url completions when you are typing in a url. the problem is that for each entry it has 2 lines, and tries to differentiate them by making one bigger than the other. in the end it all just looks like crappy noise to me. i believe i was happier when it just showed the urls and no other stuff.

there might be a way to make the new display of extra data not suck, but the way it is right now isn't it, i feel.
seems like when this happens the act of opening the System Preferences turns off the disablement.

what! ever!
i really fundamentally don't understand how Google can make Gmail and Blogger and heaven only knows what else use a search that is so broken it only does exact word matching. is there nobody at the helm?

Thursday, January 17, 2008

except for the part where he ended up liking it - much like green eggs and ham, i do not like working on or with code that goes the shared-mutable-state-concurrency route. i mean, precisely which millennium are we in? don't we know better by now? cue wailing and gnashing of teeth.
also? the ui for when Firefox 3 starts up and checks if you extensions are compatible and all that jazz really... kinda totally sucks buttocks in the usability department.
firefox is great, and the world would be much worse off without it.

but...

i go to download FF3 and the page shows me visual instructions about how to download and install it. but they got it wrong - they missed the very first dialog which asks me if i want to open it, or save it to disk. and i'm using FF2 to download it, so presumably it isn't as if they couldn't have figured out how FF2 on a Mac works when making those instructions.

whatever.
"hi there, i'm an idiot who can't even color my graphs all the same."
interesting thought on task estimation, that thing everybody oh so loves to do.

Wednesday, January 16, 2008

at least sometimes, i see these oh so usable things in Mac OS Tiger:


  • Right-clicking on the entry in the Dock doesn't bring up a menu with Force Quit in it, and yet the program is horked such that using the Quit menu option doesn't kill it.

  • It seems to wait to see if the program will put up the right-click menu, and if it doesn't then it will put up the menu with Force Quit in it. Since there is the delay and no visual indication that it got the first click, it is easy to click again impatiently which means that when the menu does show up it will immediately disappear. Lather, rinse, repeat.

  • Force Quit doesn't even freaking work sometimes! I have to open up bash and use kill -9, which isn't something your run-of-the-mill non-techie Mac user does or should know about, really.



hayte.
hm, kinda interesting: who is willing to pay for Quality?
anybody who claims computers are pretty usable hasn't stopped to wonder why in e.g. telnet you write "a.b.c.d port" whereas in http you write "a.b.c.d:port". or how backspace vs. delete, or newline vs. linefeed, cause problems. yadda yadda yadda. ho ho ho. (yeah, ok, i'm whining about command line stuff, which in this day and age probably isn't so relevant to most people. not that there aren't a zillion silly inconsistencies in the world of GUIs.)
don't get me wrong - it is a nice idea, but without QoS features it is dead in the water to me.
as much as i want to like Erlang or Alice ML or GdH or Eden, in the end if O'Caml had a good library for doing distributed computing i'd lean that way since it is seemingly such an alive language.

(on the other hand, i have in fact tried O'Caml in the past, and run into all sorts of total suck with it, so basically i assume nothing really doesn't just suck horribly in some way or another. Erlang's compiler error messages are horrible, Alice ML doesn't have a debugger, GdH and Eden probably don't have much in the way of a debugger and probably don't have much in the way of a really active development and support team behind them, etc.)
well, i guess there is hope for us yet: "This means individuals are often impervious to the recommendations of their friends, and resist buying items that they do not want."

("We saw that the characteristics of product reviews and effectiveness of recommendations vary by category and price, with more successful recommendations being made on technical or religious books, which presumably are placed in the social context of a school, workplace or place of worship. A small fraction of the products accounts for a large proportion of the recommendations. Although not quite as extreme in proportions, the number of successful recommendations also varies widely by product. Still, a sizeable [sic] portion of successful recommendations were for a product with only one such sale - hinting at a long tail phenomenon.")
if your language doesn't have syntactically simple yet powerful reflection, i think it kinda sucks ass. Java!

on the other hand, i just want the power or features of reflection; if they can be obtained in a better way then i'm all for that instead.
for the love of Tog and Xerox PARC, could Apple freaking fix their bloody green "maximize" window title bar button to not be so utterly completely hatefully stupid? gaaaaaaaarhg!

Tuesday, January 15, 2008

well, thank goodness there's no crustaceans. what a load off of my mind!
if i weren't such a sloth, i think things like hummers and jeeps would in and of themselves be enough to make me go postal. the more i think about it... ok, gotta stop thinking about it.
i don't understand how anybody can pay for and continue to use the name which unleashed ClearCase, and sundry UML things on the world. i mean, what total abominations.
it still amazes me how people presumably do a lot of work to implement something as new-fangled as songza, and then when i use it the user interface is killing me within 60 seconds.
people need hurt. not that this will be the end of such bull crap.
sure, CPAN has lots of neat stuff in it, but I always find it hard to actually bloody install anything for Perl. it just isn't the kind of thing a non-Perl-nerd finds easy, i posit. especially when e.g. it doesn't even install dependencies!? and the whole TMTOWTDI means that you don't have much chance of finding the answer even with the power of Google etc. no wonder people love Python - not so much because it is perfect, but at the very least because It Isn't Perl.

(don't get me wrong, i love hacking up me a perl script to get some dirty job done dirt cheap. it is just as soon as i need anything other than the already-installed packages that i start to tear my hair out.)

amazing how much easier it was do get going with Python. of course, in the end, that library screwed the pooch on several data format things, so all my hopes and dreams came to naught and i'm back to manually exporting things!

Monday, January 14, 2008

Aquamacs Emacs sucks less, probably, than running a vanilla Gnu Emacs on a Mac... but when it comes to meta keys and keyboard shortcuts, good freaking luck not going insane trying to keep the two universes clear in your head.
it makes me mad to see exceptions being used for normal control flow. i think part of the problem is that many languages lack clean and simple higher order abstractions, so you end up with a lot of boilerplate if you try to be good and not abuse exceptions like that. suck!

Sunday, January 13, 2008

oh, sure, it is great to have all your music ripped and available over your home iTunes or whatever. except for how many songs don't get the right metadata, or the data is different for some albums by the same artist e.g. KMFDM vs. K.M.F.D.M., so when you actually try to go browse things you can't find what you want. this is the hallowed future, new millennium, flying cars, etc.?!

suck. suck suck suck suck suck.

here's hoping that some day i'll have the time to experiment with musicbrainz, and that it will, like, work wondrous super magic.
go go gadget internet! bust those trade barriers and stuff! information wants to be free! power to the people!
it bugs me that not only do most Windows programs not hide the mouse cursor when you start typing (an old Mac trick), but that Firefox 2 on Windows doesn't, either. I would have expected them to be a little more advanced in their UI fu.

Saturday, January 12, 2008

i gave up on Rush quite a while ago, and haven't really listened to them in a long time. on the other hand, in the Old Bands From When I Was Younger category, i can't seem to ever give up on KMFDM, even if they've lost a bit too much of the politics on Tohuvabohu. Looking for Strange makes me all verklempt.

Friday, January 11, 2008

seems like the whole skeleton / patterns thing for parallelism, of course with the rise of may-cored machines, is important to learn and love.
wait, did i mention how much i want this?
why does firefox 2 insist on taunting me so? it sorta vaguely comes close vaguely to having some user interface and usability features i expect from a decent program, but then managed to screw the pooch nevertheless at the last second. for example, there is still no "match whole word" for text searching. and the "hilight all" isn't apparently something you can leave on all the time. it keeps resetting to off, which i kinda hate.
i know! let us work on usability and on security at the end of the project! yeah, that will lead to the best thing possible! w00t.

Thursday, January 10, 2008

i hate eclipse. it shows you the different overloaded method signatures, but the little floating window it shows them in is too bloody short for just about any methods short of no-argument getters, so if the different is arguments at the end, you can't see which is the one you want straight off. great.
oh gosh. really. just, like, wow. wish i could take a class like that. well, me and everybody i work with so i could turn them away from the run-of-the-mill dark side of software "development".
i want Scala. but i also want ESC/Java2 and all that other Java ecosystem tools goodness. any proposals? grn.
in some wonderful parallel universe there would be a web application framework that didn't suck and actually was well designed and powerful. things i want:


  • have good templates, avoiding the JSP mistake of having code in your markup.

  • be able to support CSS/HTML mode as well as AJAX/DHTML mode without the developer having to do a lot of work.

  • it would thus super easily support a good graceful degradation or fallback of the client when the servers go tits-up on occasion.

  • it wouldn't be come blighted nightmare of EJB or Spring or Hibernate type things, but would be more like the RoR, lift, rife, etc. approach.

  • would be at least moderately efficient in terms of server load per user.

blogger seems to really like making it easy to end up with duplicate posts, and really hard to understand why they happened. like, i see a duplicate post, then go look for it via Edit Posts and see that it is apparently just a draft. but it showed up when searching blog, so apparently it was actually published. so does that mean all drafts are showing up? looking at other saved drafts (there is apparently no easy to way to clean up and delete them all; nice) it doesn't seem like they are all posted.

whatever. more wonderful user experience - but, hey, free dummy!
"Take stand up meetings as another example. There are a few reasons why I work to keep these as short as possible in any team I am part of, but the most important reason is to help discipline ourselves when it comes to valuing other people's time. Productive meetings don't just happen when you want them to happen. Timing them is an art, and knowing what bits of information are worth discussing in front of the entire team, and what can be pushed off or condensed down to three words or less requires a few different skills. A daily ten minute stand up meeting eventually brings that out of you, and if you do the math, you will choose your words carefully in a five person team when you have only two minutes of everyone else's time to say them."

some day i'll work there, too, maybe.
wow, i'm glad to see somebody analyzing a software license since i think it is an important and complicated subject matter.
i dunno who is at fault, but it sure sucks, whatever the cause: in gmail, i click for the pop-up menu with actions for manipulating message (like adding tags) and it is too long so it has a scroll bar, and what i want to do is off the bottom so i have to scroll. but then when it reaches the end of the scrolling for that menu, then the whole page starts to scroll, which means the menu moves, which means the target i'm trying to click on moves, etc.

this is with the mouse wheel. i guess it would be different if i were 'manually' dragging the little scroll bar in the menu.

gah!
ok, since most all software sucks, read up on some ninja things for software development. and some others. word to your abacus! or something.

Wednesday, January 09, 2008

right on, testify!
yay, finally somebody implemented my idea for me! and i got to add my other wish as a new project.

update: of course, they had to fail sorta miserably when it comes to making the UI of the web site not suck. that's one thing different between my idea and what they did - the part were my idea says "and not suck".
interesting: "Teaching genericity (i.e., parameterized polymorphism) before introducing inheritance seems to ease the understanding of both topics." There's also a mention of how some of the common Ada libraries use advanced Ada features, which means if you are new to Ada you can't use those libraries! Which makes the lameness of Java sort of a bonus; I feel like I have oft heard somebody say that in an advanced language, you can still have libraries that are easy to use and which hide the advanced-ness, but I guess that isn't a perfectly down-to-earth claim.
everything sucks. on the mac, i hate the Preview utility so i'm trying to use something else. i've told the Finder to use the new other program. but Firefox 2 doesn't apparently know about that, and so it continues to default to Preview. and it doesn't have the new program in the list of program choices to use to open the downloaded pdf. so i guess i have to go find whatever configuration there is in firefox to fix it to use the new thing. what a pain in the ass.

so i go find "Configure how Firefox handles certain types of files" and it doesn't let me set the config for PDFs! there are some pre-existing mappings (PNG, TIFF, and TGZ) and a Remove Action and a Change Action... button, but no Add Action one!

just start the shooting, already. it isn't "going postal" any more, it is just anybody "using technology" as far as i am concerned.
gotta say, i'm pretty impressed with how undo doesn't freaking work in Neo Office's handling of spreadsheets.
if you don't refactor, you can end up with APIs which aren't consolidated, which means a newbie to that codebase can't easily see what is required together, and can miss setting up important values.
heaven only knows if it is Eclipse or the Java debuggering system inside the VM to blame, but I'm seeing a variable in Eclipse that I can expand and everything, but when I try to see it via an Expression, it completely doesn't work. impressive.
it isn't exactly the implementation i want, but the fact that Subclipse has the "show annotations" thing freaking rocks, at a level of basic features i require from my revision control system.
word up!
nice. i installed some mac os x updates, and now the dock has forgotten that i don't want it to auto-hide. gosh, i wonder what other random things the software update has blown away? thanks a bunch.

Tuesday, January 08, 2008

quantity of hydrogen in the universe < < quantity of stupidity in humans on Earth.

Monday, January 07, 2008

programming is hard, yup. good thing there are smart folks working on it. now, if only i can understand what they're thinking.

Sunday, January 06, 2008

i think it would be great to do a remake of Silent Running, only where you do not have the particularly painful Joan Baez tunes. ya know? maybe more KMFDM, or something.
one thing i particularly detest about Amazon is that they don't have a "log out" feature.

Friday, January 04, 2008

sweet.
fundamentally i don't understand why anybody thinks it is cool to do things at the last minute. i don't think it shows that you have a good commitment, i think it shows that you can't freaking plan anything and you hate your employees.
funny how the timing of coming acros something like this was so apropos. (although not specifically about Happy Holidays.) reminder to self: would this be a good read?
look, one big holy grail of software development is extensibility. and yet it is a hard problem which seems to only recently be having big traction? of course, the traction we have now might look like peanuts a couple of decades hence.
one of my other places for ranting. along with others. and others. and others.
remind me to remind myself to remember to get around to all that reading i really want to do. some day.
i guess computers are hard. i wish i were smart.

Wednesday, January 02, 2008

there all sorts of ways that i love linux. really. i use it at home, it is great for servers at work, all sorts of wonderful greatness for free. it is fundamentally a completely amazing thing, and everybody who has made it what it is today is a great person, even if they are actually a jerk or whatever you hear from various linux soap opera happenings.

as much as it is wonderful, however, i have to say that the installer still sucks hairy fetid unwashed heavy dangling wrinkly donkey's testicles. basic usability of it hasn't changed much since it first came out, as far as i know. sure, there are the graphical installers, and maybe some of those are great - i'm talking about the ASCII art mode installer. i don't request or expect that it look fancy, i just wish it was revamped (yes i suck no i don't have the free time or inclination to fix it myself because i'm just a useless free-loading whiner jerk) with some basic usability in mind.

er, gnu/linux.

and, well, maybe it is all the hardware that is to blame, but it still is a crappy experience. and whoever claimed linux supported everything is, as far as i can tell, kind of full of crap when people are obviously still running into these things (like i am today).

and, in what might be warranted defense of the kernel, it might just be that some distros have crappy installers whereas others don't (even just the text based installer) since it sounds like people who have e.g. had trouble with ubuntu but success with fedora aren't completely unheard of... so i am giving up on the ubuntu installer and am trying centos now :-P
i love how you are trying to type something into some part of your browser, and something else decides to rip the cursor away from you. happens all the time. lots of fun. luff it.
"white" on my laptop screen at the brightest setting isn't very white. what is really strange is that somehow the mouse cursor is actually white. it is, like, twice as bright as the rest of the screen. and it is the only thing like that. wtf?
seems like "option types" (a la SML or Haskell or Scala) are a possibly useful tool in the morass of "do i return a special value e.g. null or false or -1, or do i throw an exception? and if i throw an exception, is it checked?"

e.g. there's exceptions being used for flow control (which is a code smell to me) in which case i'd maybe rather use an option type because it is more distinguishable from returning null.

Tuesday, January 01, 2008

awesome! "How to use: You can understand it intuitively through simple UI. So there is no need for instructions."
i hate everything, pretty much. like when i'm trying to edit the path where a windows program is going to be installed and i double-click and it doesn't select the stuff between "\" directory separators, no, it is using whitespace as the edge delimiter instead for 'words'.
f# (f-sharp) gotchya: you have to say array.[index] rather than array[index], otherwise you get a rather cryptic error message.
i think the whole "webinar" term is annoying, because to me it sounds like it implies that the event only happens once and if you miss it you are screwed, which seems like missing the whole point of the web. probably most webinars are available afterwards, so i'm barking up a hypothetical tree or something, but i guess i'm annoyed that not only did somebody have to invent "podcast" but that somebody had to then invent something for "live podcast". it all just seems very "web 3.0" - a term that doesn't have a solid meaning to me and is just too buzzword-marketingspeak-y. bah, humbug.