i. utterly. loathe. the. jaman. installer.
could it be more hateful?
also: the actual player software is kinda hateful, too. it uses embedded IE6 or something unfun like that.
all in all it makes me wonder: does nobody (besides, supposedly, Apple) understand user experience at all?!
Wednesday, June 25, 2008
Tuesday, June 24, 2008
it is fun to see scheme for ada, sorta like lisp flavoured erlang.
i love how Eclipse with plugins ends up being something where I have to restart it several times a day to get around bugs in the core implementation and the extras. they need something like the ^G of emacs?
for the love of something-or-other, could we stop with the crapy motivations for OO already?
while it doesn't immediately solve the issue of asynchronous events from the larger world context, using virtualization for high-fidelity testing sounds very appealing: a way to avoid the heisenbugs of "oh i added some logging to find the bug, and the bug went away" because in a sufficiently advanced and nuanced system you would add the logging at the virtualization level.
i love 3D en'at, i just wish i had more time for all the goodies.
it kills me how often developing ui sucks when presumably better approaches exist?
somebody should make the web site "www.howdidthiseverwork.org" where people can post examples of things which aren't just your run-of-the-mill wtf, but are extremely supposedly impossible.
a fair number of bugs are a result of - however it might be phrased e.g. the common complaint of "bad specs" - a lack of quality semantics. and yet people are apparently loathe to nail down their semantics as they are creating things.
i can appreciate that sometimes you want some flexibility to experiment, and nailing down the semantics can be bad. but that's a different issue: we should be able to have a general feature which everybody agrees and understands is general, and likewise less general things. the problem is when one person thinks it was general and the other does not. or, worse and all too common, when the humans even all sort of agree, but the actual code does not meet what they think.
so, uh, specs? tests? beuller?
i can appreciate that sometimes you want some flexibility to experiment, and nailing down the semantics can be bad. but that's a different issue: we should be able to have a general feature which everybody agrees and understands is general, and likewise less general things. the problem is when one person thinks it was general and the other does not. or, worse and all too common, when the humans even all sort of agree, but the actual code does not meet what they think.
so, uh, specs? tests? beuller?
hm, maybe it isn't exactly the best design to have very different features with keyboard shortcuts that differ only in their modifier key? so i can try to move to a previous entry in the shell history only to end up sending something to the printer, w00t.
firefox is absolutely killing me. it is doing address completion based on the title of the old pages, not on their url.
even if capitalism can kinda suck, it sure makes a good first impression.
Monday, June 23, 2008
i don't think i really want to spend the effort to switch my emacs brain and fingers over to vim, but i do wonder if vim users have pinkies which hurt a lot less? constantly holding down the ctrl very quickly sucks.
the google groups ui is kinda of a pile of feces. like, the fact that it doesn't ever update how many messages in a thread are new-to-me aka unread.
i've seen this on several different web sites: people who use flash scrollbars, which do not respond to the mouse wheel, need some 'cution. 'letro-cution.
bad behaviour under stress: sounds like something goebbels and neocons know all about, and software engineers need to recognize.
if i had the luxury (?!) i would very much like to be using contract things like JML and ilk. the main thing that sucks about the Java tools is that they don't all work with Scala :-}
(note that you can also use types in the code itself, such as Option/Maybe, to address some of the concerns without resorting to a meta tool.)
(note that you can also use types in the code itself, such as Option/Maybe, to address some of the concerns without resorting to a meta tool.)
huzzah for leaky abstractions, which are basically the only kind to exist in the real world, ya know.
i do love me some visualization, especially when it is nerdy.
while i don't think the source is entirely reliable, i think sometimes you can get some good food for thought from the mouth of babes. (er, 'babes' doesn't mean pr0n. go read a bible ;-)
if only it were all as easy as "bla bla transform the code"! not that i would be annoyed if somebody managed to find out that it really is that easy, that would be ok with me :-)
open office does phrase completion when you are using the search feature, but it does the most hateful kind of completion: it fills out the phrase and if you hit enter it will assume you wanted the whole phrase it inserted, rather than just whatever you typed so far. you have to hit the delete key first to get just what you typed. vs. other styles of completion which show you the completion and let you choose that (e.g. how the address field in firefox works).
i was trying to theorize some benefit of the doubt like: i guess it is a 'standard' excel thing to do things that way since people really do type in exactly the same thing over and over? i can sorta see that for data entry in the main part of the spreadsheet, although it sorta drives me bonkers there, too, and so i guess then they wanted to be consistent in the search dialog as well to work with motor memory.
but then i tried typing something into the main spreadsheet area, and it did no completion at all.
?!
i was trying to theorize some benefit of the doubt like: i guess it is a 'standard' excel thing to do things that way since people really do type in exactly the same thing over and over? i can sorta see that for data entry in the main part of the spreadsheet, although it sorta drives me bonkers there, too, and so i guess then they wanted to be consistent in the search dialog as well to work with motor memory.
but then i tried typing something into the main spreadsheet area, and it did no completion at all.
?!
i still prefer san francisco to just about any other metro area in california, although it is sorta run by elite jackasses, which is a big shame. (apparently, according to some, it has been thus since the city was founded. hooray for progress.)
hm. maybe actually i should really prefer berkeley?
hm. maybe actually i should really prefer berkeley?
Sunday, June 22, 2008
and you wonder why i tend to prefer static typing (of an SML/C#3/Scala/inference style, not an old Java style)?
oh. wait. we are living in the future, just sort of a bizarre one that (so far) lacks every-day jet-packs.
spotlight on the mac and slocate on unix has sort of vaguely started us off in the right direction, but overall i think the right thing is to have the file system completely be a relational database. well, or at least have all the metadata in a relational database.
ok, ok, what i'm really thinking is simply, i guess, "gosh, i hate windows!"
ok, ok, what i'm really thinking is simply, i guess, "gosh, i hate windows!"
wow. i probably won't actually follow the advice, but i think their recommended humility is really a good, constructive, thing to be telling newbies. well said.
i'd rather stretch my brain and use F#, but the C# compiler is a hulluva lot faster, so i sorta think i should just use C# so i don't waste time, ya know? slow compiles really suck.
Saturday, June 21, 2008
microsoft is still putting big silverlight popup overlay hateful annoying advertisements on all their web site pages?! as if that is going to make me not hayte them more?
f#'s sundry myriad syntaxes sorta kills me. scala doesn't have a #light mode, but does have the problem of having changed syntax several times in several places, so web searches can turn up now-totally-bogus answers. blah.
after dealing with getId() and getID() and that kind of thing with multiple developers on a project, i am sorta buying into the "camel case is evil" meme. if i were to ditch it, i would like to not have to use the shift key, which means the underscore is right out, so it would have to be naming-with-hyphens. which, i guess, some languages which don't even use camel case really don't want to support!?
Friday, June 20, 2008
i hate everything. i cancel a big download about half way through in firefox. and the file it was downloading? nowhere to be found. it certainly isn't where it says it is in the properties of the download in firefox (...\My Documents\file.exe). so i can't use wget to continue the download because there is nothing to continue from. is the os? is it ff? is it something about the place i'm downloading from? is it just me? (probably.) hayyyyte!
not to mention my age old complaint that i assume things like wget existed long before ff2, so why doesn't ff2 have a "resume download" feature?
not to mention my age old complaint that i assume things like wget existed long before ff2, so why doesn't ff2 have a "resume download" feature?
here's a fun game i like to get sucked into: inherit questionable code. code which for sure doesn't have stand-alone tests. and which isn't immediately amenable to them. be under time pressure to fix things in it. run the risk of introducing problems because it isn't tested.
so i'm advertising injection and mocks and, better yet how about just not having questionable code in the first place? like, only work on projects which use pure functional programming. blah.
so i'm advertising injection and mocks and, better yet how about just not having questionable code in the first place? like, only work on projects which use pure functional programming. blah.
some browser video players let you play back at a faster rate. like, some do the thing where they remove the silent parts of the video, so for somebody giving a talk you can play it faster and yet still hear everything.
i sure with they all did that. i really hate audio and video pod casts that don't have that after having experienced it. just seems like such a waste of my life.
i sure with they all did that. i really hate audio and video pod casts that don't have that after having experienced it. just seems like such a waste of my life.
java might be sufficient to get the job done, but it just isn't much fun.
if you are stuck with Java and can't run to Scala or Clojure, maybe the (various? there has to be some competition in this space, no?) functional libraries might help keep down the Java Hayte?
i do kinda wish somebody could finally invent the perfect version control system. but it seems like it is just not possible yet.
Thursday, June 19, 2008
i kinda thing the C++/C#/Java style OO approach is kinda designed to screw you if you want code reuse, because it seems like people are led to use inheritance, which is generally a mistake. so i'm more thinking that FP makes sense again. although i certainly appreciate the idea of encapsulation, and even polymorphism. just not so much code reuse via inheritance. ever. mostly.
sometimes ui is all about nuance. in Eclipse you can tell the compiler output tab to show itself when stdout changes. but that isn't really what i want. what i want is for it to show itself when i first run the build command, but then to not force itself to the front after that (until the next build command). but there isn't an option for that (that i've noticed).
hint: when writing code, try to use a "pick and choose" approach to converting data rather than a flowchart-y process, because the flowchart you had in mind is likely to change, because specs change.
hey, i like it: the thermocline of truth. or, perhaps more honestly: everything is fubar'd.
Wednesday, June 18, 2008
there's something which makes me dislike people who have the habit of, like, spending mental energy on how to ha ha deal with telemarketers (as opposed to just saying no thanks and hanging up, or letting the answering machine screen it), or of complaining but not actually voting with their dollars.
business is hard. business plus technology? shyeah, good luck, buddy!
are people actually surprised when company mergers don't work, or outsourcing is more trouble than it is worth? what kills me is that the only way i think somebody could be surprised is that they didn't know ahead of time anything about the reality of these pursuits, ya know?
overall, i think Scala has jumped the shark, so i'm hoping that Newspeak and GScript will hurry it up! in the meanwhile, i really should be spending quality time with Clojure and maybe, maybe, Fan.
(although, I wish dynamic languages like Clojure couldwouldshould gain the Dialyzer thang so i could have a slightly more statically typed world.)
'cause, gosh, i sure hate Java. (i won't worry about hayting the JVM since it seems to be pragmatically OK, but the Java language per se has outlived its usefulness, in my brain.)
(although, I wish dynamic languages like Clojure couldwouldshould gain the Dialyzer thang so i could have a slightly more statically typed world.)
'cause, gosh, i sure hate Java. (i won't worry about hayting the JVM since it seems to be pragmatically OK, but the Java language per se has outlived its usefulness, in my brain.)
somebody smart please explain this post to me about sequential vs. concurrent programs and data handling; i feel like there's something worth learning there, and i sort of understand fragments of the discussion, but i don't grok the (hopefully simple) crux of the nut just yet?
in my dictatorship, if i asked the interview question, "so, what do you think of C++?" and the answer was anything other than, "no sir, i don't like it"...
Tuesday, June 17, 2008
it bugs me when people say things which could be interpreted to mean that the only kind of testing you need is end-game functional testing, because by nature that kind of testing will exercise all the layers of the system. which might be true, but misses several important points, like quality of life for the people working on the project.
if you didn't write your code to be testable then you didn't write your code to be debuggable. fail, go straight to jail, do not collect $200. (hey, i'm somewhat guilty too, but at least i'm trying to learn a little and maybe even improve.)
why is it that, even though everybody claims their web app system is sane (among other esoteric subject categories), they invariably cannot explain their way out of a paper bag? i have yet to come across a web project that actually makes any freaking sense to a newbie. whatever. (yeah, you can feel like a smarty pants if it is all trivially obvious to you, but then you aren't able to understand that you are part of the problem.)
i've witnessed this a lot when it comes to people who are smart enough to successfully do things - they are smart, and they understand what they did, so it all seems obvious to them, and so they seem to be unable to grok any other perspective and construct examples or documents or a talk which helps anybody else get what the eff they are talking about.
basically, teaching things is hard, and the more complicated or unique the subject matter, the harder it is to successfully get the story across. i just wish people would get that through their heads, and go seek help in getting their presentations into some form which would actually not just be a gobbledygook waste of time.
i've witnessed this a lot when it comes to people who are smart enough to successfully do things - they are smart, and they understand what they did, so it all seems obvious to them, and so they seem to be unable to grok any other perspective and construct examples or documents or a talk which helps anybody else get what the eff they are talking about.
basically, teaching things is hard, and the more complicated or unique the subject matter, the harder it is to successfully get the story across. i just wish people would get that through their heads, and go seek help in getting their presentations into some form which would actually not just be a gobbledygook waste of time.
Monday, June 16, 2008
when i have free time, maybe i'll do some noodling around with mini languages, to get a feel for how to do such things in O'Caml.
don't just learn FP, learn FP + Dataflow, given the end of the free lunch yadda.
i like unit testing. but, just because it passes some unit tests don't be too surprised when it fails miserably in actual use! it is quite possible for the real world clients to do things differently than you were expecting when you wrote the tests. dogged.
wow, a five-hundred-dollar ethernet cable. and you thought the only ass monkeys were Monster.
Sunday, June 15, 2008
the "penumbra black plague" demo pretty much instantly proves that the game is what i would, overall, term: excrement. the controls for manipulating things suck, it doesn't let you change resolution w/out restarting the game, yadda yadda yadda.
it boggles my mind that there are people making junk like that who, i guess, don't instantly just go out of business? does the consuming public really have such pathetically pathetic expectations and requirements of their entertainment?
weird.
it boggles my mind that there are people making junk like that who, i guess, don't instantly just go out of business? does the consuming public really have such pathetically pathetic expectations and requirements of their entertainment?
weird.
bloody windows xp is such a flying piece of excrement. i guess vista is worse, so i'll stick to xp, but deity expletive! to wit: the file explorer has "rename" in the right-click menu in situations where, once you type in the new name and hit enter, it is guaranteed to tell you that you can't, in fact, rename the bloody thing (because it is "in use"). hayte.
Saturday, June 14, 2008
emacs suck: if you can't write to the autosave directory, it puts up annoying messages - i think it did the bell and put stuff into the minibuffer. if you try to ^G when it says that, it apparently keeps trying to put up the message; the message doesn't go away. i wanted to ^G and then do M-x auto-save-... to turn it off, but it was just doing the bell thing (i have it as visual bell) every time i did ^G. anyway, a sort of unpleasant experience.
turns out america has its own bletchers park, after a fashion, in oh so scenic Ohio!
Friday, June 13, 2008
learn from the mistakes of things like netscape, and now parrot/perl6. (i'm pretty darned happy to be stuck with perl5, personally.)
some day, i'll grok haskell. oh... wait... maybe no, i won't. it is both good and bad that the required learning there never seems to end.
interesting point: what kind of program requires local vs. global reasoning?
it must be hard to decide when, during many releases of many versions of your product, changing things is right vs.when it is wrong.
overall, e.g. when running Eclipse, this MacBook Pro is faster than my WinXP laptop. but i think XP actually starts and gets you into your first running application faster. The Mac is really freaking painful - the doc icons are bouncing up and down, but nothing shows up for ages.
Thursday, June 12, 2008
maybe one day we will all be actually constructed from lego, not dna.
it is always a little confusing to me when i hear things about functional programming and haskell like, "there's no state" or, "monads give you state", etc. in the case of monads, at least, it is interesting to think of them as just being an interpreter of a stateful language.
actionscript is a little... weird. like, there are final classes which you can't extend, but if you get at them as the prototype field of an object you can muck with them. it seems like some parts of the system really do want to be dynamic in the classic prototype-languges approach, whereas other parts are trying to be all anal-java-y?!
i like that Simpson's quote where Homer says, "Bill Gates once said nobody will ever need more than 256 monkeys flying out of their asses."
Tuesday, June 10, 2008
the away 3d flash demos kinda sucked, and i was looking for something relatively small, so i was interested in Sandy 3D. but then i experimented with it only to discover it doesn't seem to have APIs to help you make triangle meshes e.g. the way OpenGL has triangle strips etc.
so that sucks. so now i'm on to away 3d. :-P
so that sucks. so now i'm on to away 3d. :-P
i was just trying the Penny Arcade game, Episode 1, demo on the MacBook Pro at work. frankly, it kinda sucked, overall. it didn't seem to want to let me actually really have much of any input into what was happening for the first 5 or 10 minutes, with the exception of a character modification screen, which is the kind of thing i generally don't give a rat's ass about. i mean, how about being able to - you know - play a game somewhere along the way?!
oh and then just when it seemed like maybe, just maybe, it was about to let me actually do something approaching game-like... it wedged and i had to hard cycle the machine.
yeah, sure makes me want to rush right out and buy it!
oh and then just when it seemed like maybe, just maybe, it was about to let me actually do something approaching game-like... it wedged and i had to hard cycle the machine.
yeah, sure makes me want to rush right out and buy it!
so when all too soon (not even remotely if) every creature species that existed when i was born is extinct, at least they'll have made for a fun game. :-(
i would like to make one where you must take a running jump impact shove to get things out.
Monday, June 09, 2008
ui is hard. when there are lots of options it makes it possibly confusing and frustrating to the end user who just wants the application to do what i want, even if it isn't what i said since i couldn't find or didn't notice the relevant option somewhere in the ui.
so i'd like to suggest that people take a page out of google's ui and try to find out what common errors are and then do those searches as well and present them as "did you mean" kinds of things.
concrete example: i'm searching throughout the java project for something and the search is returning no results and i'm really scratching my head, until i realize that case sensitivity is on in the search. what if the search had said "0 results (387 did you means)" or something much better worded but hopefully you get the drift?
so i'd like to suggest that people take a page out of google's ui and try to find out what common errors are and then do those searches as well and present them as "did you mean" kinds of things.
concrete example: i'm searching throughout the java project for something and the search is returning no results and i'm really scratching my head, until i realize that case sensitivity is on in the search. what if the search had said "0 results (387 did you means)" or something much better worded but hopefully you get the drift?
say you have a collision in method names in Java interfaces you want to implement e.g. A.foo and B.foo. it sucks that you can't rename it in the implementor with some kind of alias so that callers would get routed to the one you want. i mean, presumably the compiler knows the caller is trying to get A.foo or B.foo, right? what with all that static typing and everything?
we had a ZX81 when i was a kid, the a spectrum, then eventually i had a C64. at some point my dad had PCs at home, too. i have always loved the chunky crappy hard-fought feel of ZX81 graphics and games - sorta like a dog playing chess, it isn't that it plays well, it is playing at all that is the feat. anyway, drawing ZX81 art is an awesome homage idea.
i mean this very seriously: back when i was a kid, a computer felt like a computer. you knew you were doing something special and worthy of being in a nerdy movie like wargames, or something. how things are so slick, easy, un-clunky, and user-friendly that (it is a good thing) they don't feel like computers. hm. it does take something away from the overall feel when using them to do development work. ditto assembly language programming.
it kind of makes me weep, how good and important PKD was, and how much further into the morass of unreality we have, as a species, managed to keep pushing ourselves.
ohgodbandname!
"One woman thought about Christmas tree decorations. Another spent the whole day silently repeating to herself the names of two snacks - Twinkies, Granola."
"One woman thought about Christmas tree decorations. Another spent the whole day silently repeating to herself the names of two snacks - Twinkies, Granola."
i've done C++, but i'm always humbled by how effing hard it is, even for simple stuff. i mean, now you know why GC and Java took off?
i guess the whole ESA thing is an indication that there's a lot of money in games, at least.
wow, somebody who gets it, and maybe Call of Duty 4 can teach us all that war is bad.
static typing without type inference, a la Java, really freaking sucks. throw in generics and you are double-dogged. like, just doing tuples in Java is like sticking needles into your eyes, what with all the angle brackets and types everywhere and stuff. compact, readable, lightweight it is not. explicit, sure, sure.
interesting theory: a committee can work but only on consensus, something which groups like Food Not Bombs have experienced and known for a good while now.
personally, i hate that layout from that redesign; i hope they did lots of usability testing with real people real users to find out if it was ok. (for me, i would rather have the short cuts be the top 3 bottons horizontally across the screen.)
it is interesting how many things get swept under the carpet in software development, most of the time. like the fact that random number generators really aren't, so your hashing isn't super great. or that our "numberical" types don't go on for ever (even in languages with arbitrary precision, memory will run out). does it just not matter that much usually? guess not.
there's always some hullabaloo in software circles about "reuse". it can be OO reuse, or it can be Web Services, or it can just generally be the nebulous "components" term. but it all sorta seems like a bunch of crap from one perspective that comes to mind, via analogy: if you wanted to build a sky-scraper, you would not simply take the single-story house in which i live and instance it 50 times on top of each other, ya know? even if you wrapped each individual house in some kind of framework that somehow adapted them all together, it would still really suck.
i'm not sure what, if anything, to learn from that little thought experiment, other than maybe software is heck.
i'm not sure what, if anything, to learn from that little thought experiment, other than maybe software is heck.
it is weird to me that somebody so involved with things like UML could turn out to be somebody with sane, useful things to say about software engineering otherwise!
i think, somewhat tongue-in-cheekily, one thing that checked exceptions are good for in Java is that you can quickly see who is really, really, flailing.
ok, wow, i really need to understand this. wish i could print it out without feeling guilty about how many pages it is.
a great one-pager programming language taxonomy diagram.
Sunday, June 08, 2008
ok, well, i least i was born before the chance of being born as an organ host.
i draw 'em like that all the time myself, but it bugs me to see space ships in games, tv, movies, etc. with big engines in the back and nowhere else. as if they were airplanes or submarines or there was ether or something. st00000pid!
Saturday, June 07, 2008
ah, the magic that is the ui of thunderbird. i click to write a message, write nothing in it, make no changes, and click the close button on it. and i get a message saying oh hey the changes haven't been saved, do i really want to close it?
when you first log in to os x, it supposedly smoothly animates the menu bar and then the dock sliding onto the screen. only since the machine is apparently furiously doing work to get the desktop going, the animations tend to skip several frames, so it all ends up looking like something you'd expect from linux, not a mac. oh, wait, or am i somehow managing to dodge the reality distortion field?
ok, java is a stunningly impressive thing compared to what came before it. but it still bugs me that the docs are often light on information that i think is crucial. for example, i want to know how many threads max any given use of Executor might make, but it doesn't seem to be documented much at all. mostly it seems to be a wording thing, that the docs are too close to English and not anal-specification-speak enough.
i mentioned this to a NASA guy who talked at BayCHI a few years back: if they are having so much bloody trouble with the foam falling off the outside of the tank, how about inventing a way to put the foam on the inside? just a random idea, might not be plausible of course.
Friday, June 06, 2008
"Of the characteristics mentioned, only extensibility actually relies upon the OO mechanism of inheritance." Good thing inheritance is actually kinda of a complete and utter cluster suck.
Thanks for Alistair (especially the hard-learned advice to be "not using .NET at all" part :-), and folks like him.
'They also cite: "Capers Jones recognised this when he argued that the root causes of software failure should be traced back to faulty management and quality control practices rather than to requirements processes [16]. " with their [16}: [16] C. Jones, Patterns of Large Software Systems: Failure and Success, IEEE Computer, Vol.28, Issue 3, March 1995.'
And things like social architecture, wow!
'They also cite: "Capers Jones recognised this when he argued that the root causes of software failure should be traced back to faulty management and quality control practices rather than to requirements processes [16]. " with their [16}: [16] C. Jones, Patterns of Large Software Systems: Failure and Success, IEEE Computer, Vol.28, Issue 3, March 1995.'
And things like social architecture, wow!
integration is hard. i can rename something in Eclipse, across many files. but then if i SVN revert the single source file of the changes SVN can't know about all the other edits which are related to it, so then things can get out of sync.
call me weird, but i think java's "set" classes should have a "get" method. especially versions which take "comparators". instead i have to laboriously use "map"s.
oh sure, why not just make your native tongue such that it is easier to come up with mnemonics? stupid English lameness.
i wish there were a star trek episode where people just stuck their head under a food replicator and guzzled down the beer. i mean, it would have to happen sometimes, no?
ok, so it was first called wheel in tenex, but that doesn't answer where the name 'wheel' came from in the first place.
not everything Cooper says makes perfect sense to me, but often it makes a heck of a lot more sense than what anybody else is saying!
[nice how blogger gives me a publishing error i'd say about 25% of the time. which i can manually fix by the back button and pressing publish again. so i don't understand why the hallowed google plex machines can't do that for me in that case? sheesh.]
[nice how blogger gives me a publishing error i'd say about 25% of the time. which i can manually fix by the back button and pressing publish again. so i don't understand why the hallowed google plex machines can't do that for me in that case? sheesh.]
so basically some day people will slap their foreheads and say, "all this time i've been laboriously testing, when i should simply have been writing specifications!" welll, shoot.
any world where this is the definition of "correctly" is one with which i wish to have no trade. still, maybe the lesson is that default arguments are just evil in any language.
yeah, well, that and implicits. grn.
yeah, well, that and implicits. grn.
so to escape fascism here, one could try to move there... oh, wait.
you read it here: by 2015 we will all be speaking Mandarin. and we'll like it. so you might as well get cracking on learning it, eh wot? (why does Michigan hate America so much? (i kid! i kid!))
in actuality, i sure hope we as a world can somehow all come together some day rather than all (like, really, pretty much everybody with any money, and even those without) being really bad with the humanitarian thing, or the generally getting along thing. you'd think with all the upcoming traumas of peak oil and monotonically increasing food prices we'd maybe want to bandy together? nah, i guess we'll just all get into bitching and wars instead. yay, humanity.
in actuality, i sure hope we as a world can somehow all come together some day rather than all (like, really, pretty much everybody with any money, and even those without) being really bad with the humanitarian thing, or the generally getting along thing. you'd think with all the upcoming traumas of peak oil and monotonically increasing food prices we'd maybe want to bandy together? nah, i guess we'll just all get into bitching and wars instead. yay, humanity.
there's this thing where products like Gmail and Blogger seem to be focusing on new features rather than fixing the ones which already exist and which freaking suck. for Gmail, consider that it does not to partial word matches when searching (at least by default, and i don't know that it can do it at all). in my dictatorship, that kind of bull-hooey wouldn't go over so well.
hm, very interesting: maybe we could actually grok capability approaches to security after all, as developers.
i was never super into Donkey Kong, but i have to say that one thing which really works well in it is the audio: the sounds are really something that seem like you can sink your teeth into.
new york, or texas? either way, maybe you can match your interior decor really well now.
it also kills me how Eclipse tries to be helpful with closing quotes when i am trying to fix up some unbalance quotes - i type a quote in to fix things and it oh so helpfully inserts 2 quotes instead. argh!
it is still killing me that search results in Eclipse don't (a) default to fully expanded and even worse (b) don't show the text of the lines that matched.
Thursday, June 05, 2008
you can encapsulate too much. if you find yourself wondering precisely what equals() should do, or wanting to write a bunch of different Comparators, then maybe you put too much into your class and need to separate out some concerns.
so it seems like a lot of people tout how great Eclipse is when it comes to e.g. being able to find out who uses a piece of code. yeah, well, how about telling me who uses a given class's implementation of equals()? ideally including possible Collection matches (based on parsing the generics in the source code)?
yeah, not so much.
yeah, not so much.
in my own little OCD way, i wish i could easily tell Eclipse to keep the unit test file editor window always to the right of the editor window of the class being tested.
while i think it is true that the semantics outweigh the syntax in importance, that doesn't mean the syntax doesn't matter. the whole data-program thing with s-exprs is an example. the current thing on my mind is local functions; Java doesn't have them, so that sucks, and while Scala has them i wonder if the Lisps, Schemes, Haskells and MLs of the world have even nicer (terser) syntax for them. but, the point is: i'm hayting java as usual.
i wish Eclipse's search had a checkbox which caused "." to be considered when deciding if something was whole word, so that i could more easily replace only the "FooBar"s while avoding the "FooBar.baz"s. ya know?
so maybe Java can be wrestled into being purely functional, pretty nifty stuff!
hey, i've been there, too! ok, not quite the same, i'm not that smart or familiar with C++, but our C++ tools sucked for our target environments, and so i ended up being the guy who got to become The Human C++ Compiler, hand writing Sorta-OO-C code.
not a lot of fun.
not a lot of fun.
wow. it is a good thing that the nazis get to kick ass? you decide.
where's my winning lotto ticket, so i can have the time to catch up on a few things here and there?
Wednesday, June 04, 2008
it is interesting to see how complicated and social and polititcal it is to make progress (make sure to read the comments).
"This is a general observation in programming language design, IMHO: If you simplify some aspects of a programming language, others will turn out more complex, and as soon as a programming language grows beyond a certain size, the best you can do is to try to balance the various trade offs. Unfortunately, the initial simplifications in the originally covered areas limit the kinds of decisions you can afford to make in other areas later on. This is a fate that a lot of programming languages have faced in the past and are still facing."
Does that mean so far as anybody knows we cannot get that super clean approach, if we want any "real" functionality? I'm willing to believe that is true, that compromise will always be required, but on the other hand I do hope that somebody smart will always exist to try to push out the limit of what can be done actually cleanly.
"This is a general observation in programming language design, IMHO: If you simplify some aspects of a programming language, others will turn out more complex, and as soon as a programming language grows beyond a certain size, the best you can do is to try to balance the various trade offs. Unfortunately, the initial simplifications in the originally covered areas limit the kinds of decisions you can afford to make in other areas later on. This is a fate that a lot of programming languages have faced in the past and are still facing."
Does that mean so far as anybody knows we cannot get that super clean approach, if we want any "real" functionality? I'm willing to believe that is true, that compromise will always be required, but on the other hand I do hope that somebody smart will always exist to try to push out the limit of what can be done actually cleanly.
there are things in programming languages which are designed to be general, so that you can figure out / be unconstrained in how you want to use them. in a "dynamically typed" (whatever that means, but hopefully you will catch the drift) language you might be likely to use naming conventions or i guess ever more decomposition to try to indicate what specific use a particular generalization is used for. in a static language, i'd expect that you might want to nail down some new types for it.
take the unfortunate situation with some common implementations of inheritance (e.g. in Java): it can mean at least 2 different things. the fact that the language designers either didn't know that, or didn't want to codify it, and as far as i know didn't really say much about it, kinda really sucks. (well, maybe not to people who then get to write papers about it.)
how could you come up with types in Java which would let you define those concerns really well? yeah, well, you'd have to resort to hacking up an extension of the language, i guess, per the paper.
so i'd like a language which has such things pre-thought-about. or which somehow magically really lets us modify it cleanly to handle such things w/out too much pain. (and ideally avoid the possible combinatorial explosion of everybody writing their own incompatible solution to the issue.)
take the unfortunate situation with some common implementations of inheritance (e.g. in Java): it can mean at least 2 different things. the fact that the language designers either didn't know that, or didn't want to codify it, and as far as i know didn't really say much about it, kinda really sucks. (well, maybe not to people who then get to write papers about it.)
how could you come up with types in Java which would let you define those concerns really well? yeah, well, you'd have to resort to hacking up an extension of the language, i guess, per the paper.
so i'd like a language which has such things pre-thought-about. or which somehow magically really lets us modify it cleanly to handle such things w/out too much pain. (and ideally avoid the possible combinatorial explosion of everybody writing their own incompatible solution to the issue.)
cue the jokes about Ada & the DoD, ba-dum-dum, but i think Ada has some neat ideas, nevertheless.
somebody please start mass producing child strollers which are sorta like segways - so they end up having one or two wheels and can also thus fold down to something easy to put in the trunk, while still having biggish wheels so they can go out-doorsing, yet not have such a large wheel base that you can't use the same thing in the supermarket.
(the only thing is i wouldn't spend the big $, and would have to wait for it to be available inexpensively used, which would be by the time the kids are in college, oh well.)
or maybe hovercrafts. yeah! with lasers.
(the only thing is i wouldn't spend the big $, and would have to wait for it to be available inexpensively used, which would be by the time the kids are in college, oh well.)
or maybe hovercrafts. yeah! with lasers.
somebody implement a mash-up / extension of the music recommendation services out there that lets me enter old bands i like, and get a list of new bands that are similar and don't suck. so i can try to not be 20 years out of date.
Tuesday, June 03, 2008
nice how "delete 'word'" does different things in Eclipse depending on what window you are in. so in a text editor it handles camelCaseThings OK by deleting only a fragment e.g. down to camelCase, but in the text search fields it deletes the whole thing.
similarly, double-clicking on words.
blah.
similarly, double-clicking on words.
blah.
i didn't quite grok all of it just yet, but syn sounds interesting.
i think it is people who aren't familiar with either (a) doing debugging maintenance work or (b) invariants for programs who feel like using multiple return points in a function is ok. that drives me up the freaking wall mostly because of (a) but also because of (b). but i realize that if i were using a language which had local functions (the lets and wheres of the fp world) then i could get around it by adding wrapper code w/out bloating or confusing things too much. but, no, i have to use freaking Java.
i love how Eclipse+SVN has wildly varying expenses for things; reverting a directory of files is super slow, going file-by-file, but if i just deleted the files and updated it goes much faster.
the thing where firefox apparently picks some pretty unrelated url to actually use when it doesn't have a really good completion for the url fragment i've typed really sucks from a usability perspective, i think.
Monday, June 02, 2008
i'm glad to see the web still really, really, really sucks when it comes to authoring.
well, they forgot the fat lady, but otherwise have some good points about actually finishing something in software.
i forgot it all already. sorry, Mom and Dad. i'm not even sure where my diploma paper is any more.
people + process + tools (+ whatever else i'm papering over) = products.
i did not use an inequality. don't think i'd use a bijection. maybe it really should be more of a perpetual motion feedback loop sort of flow chart.
i did not use an inequality. don't think i'd use a bijection. maybe it really should be more of a perpetual motion feedback loop sort of flow chart.
i dunno what the deal is, but this MacBook Pro seems to wait too long before spinning up the heat dissipation fan, and then it has to shove the fan into 110% duty cycle. sorta sucks from a user's perspective.
of course the bloody local public transportation map I was looking at turns out to not have north as up, nor a compass indicator anywhere that i noticed on the map. so i was mightily confused for a while, while riding the train.
ass monkeys.
ass monkeys.
Sunday, June 01, 2008
trying to get something java-based to actually work, what with classpaths and sourcepaths and all that, and even different bloody versions of java (go apple!), can be a real pain in the butt. and yet when i go and have to use a ./configure shell script i realize just how much more pathetic things were before, and must grudgingly say that java is generally better / at least not worse. more or less. sorta.
hey, i know! what if eclipse kept saying it was out of perm gen (or some such) space all the time, to make sure i can't get any work done? yeah, that would be neat.
how do / can i get eclipse to always remove trailing whitespace on lines? i don't like having all those extra tabs and stuff ending up at the end of lines as i'm inserting new lines.
woah. numerical methods in exact geometry. if only it were available to Java/Scala.
wish i had free time, if only read the solution programs for mental stretching.
Subscribe to:
Posts (Atom)