Sunday, November 30, 2008

so half life 2 is spelled with the a replaced by a lambda. but isn't lambda more like a modern l in usage than a modern a?
so alyx is like a super main character in half life 2 episode 1; you spend a lot of time looking at her. and yet the entire set of animations for her is really limited. and the way she talks, often, is in single sentences with long pauses between them, while the bad animation is i guess gearing up to play or something. immersive? not so much.
oh, yeah, and the ladders still suck a lot in half life 2.
good thing they spent all that time on the hallowed physics stuff for half life 2, so that in environments with water and stuff in the water i could end up bouncing on top of the water like it was a trampoline, or being stuck under the surface of the water bobbing up and down like some sort of strange under-water rube goldberg puppet.
so who were the design wizards that decided the start of half life 2 episode 2 should be a vortigaunt circle-jerk around alyx?!

(also: alyx is not hot.)
i sure am glad the half life people have learned how annoying it is for the user to have stuff in the environment which basically is there just to get in the way during a fight. yeah! getting stuck on things is fun!
yeah, i love how zimbra's log in page apparently doesn't know jack about user preferences for font sizes, so i can only see the top half of the letters i am typing in to the user-name text-field.

Saturday, November 29, 2008

hey, i really like that feature of steam for valve games like for all the different episodes of hl2 where you only have to set all your preferences-options once and they automatically get set in the other games, so you don't have to re-set-things-up every bloody time.

oh, wait.
i think steam also says that the servers are too busy in the case of the network being out, rather than saying something actually more accurate and informative like "hey, we couldn't connect to the steam servers." as if it is technically impossible for them to use ping or something.
i like how steam has inserted itself into the set up startup programs, and how it shows up and looks like it has focus and everything but when i try to type my password nothing happens and i have to explicitly (re)select the window before any keyboard input registers in it. (who knows, that might just be windows xp suckage.)

Friday, November 28, 2008

wow. half life 2 episode 2 really kinda super just plain sucks.
gosh, valve, thanks so much for somehow making anything halflife 2 related seem to take for ever to just launch, and then on occasion have the bonus thing of freaking right the <expletive> out, getting into some fubar'd loop of minimizing and maximizing some window, to the point where i have to just bloody hard power off the machine and then go through the stupid FAT file system check during reboot.

yeah! awesome! satisfaction!
effing lame pile of steaming turd, steam: i've told it to install Condition Zero, and the new window title bar says CZ but the text in the window says it is installing Dark Messiah, whatever on earth that is!?

Thursday, November 27, 2008

hey, hey, hey, i sure love the whole experience of trying to get a decent frame rate going under hl2 ep2. it would almost be easier to just rip my own <expletive> eyeballs out to finish the task.
oh my freaking i-would-like-to-kill-somebody god. steam says i have a certain game installed "100% - Ready" so i go to play it. and so it puts up a dialog box saying it is preparing to run the game, and that dialog box sits there for ever, and then eventually it says "Ready to play in approximately: 3 hours 5 minutes" and the thing that used to say "100% - Ready" now says "Updating: 3%, 17.2 KB/s" (yeah, my DSL sucks, and i'm already downloading a bunch of other stuff).

now that's customer satisfaction!

it is also "funny" that the window for downloading the update has a little advertisement for left 4 dead, saying "coming soon". even though i already bought it and played it for several hours yesterday. this is the hallowed intelligent and useful system they've come up with?!

[blogger: conflicting edits]
ok, i think i figured out something about sending email: gmail's html mode has a nice thing where it already has a reply area set up for you whereas the ajax version requires that you click to either reply or reply-to-all. i have screwed up choosing the right button many times to my chagrin. so what i think i really want is for the send step to be where i choose, not the reply one -- that way i'm making the decision right at the end and right before i send, which i really think would be a better point in the process.
yeah, i really enjoy having to manually kill the steam process because it won't actually cancel and go away when i tell it to cancel.
i like how i bought the orange box and tell it to install games and the dvd doesn't spin while it says it is installing things (actually it hasn't even gotten that far, no, it says it is "preparing" things, not actually bloody well "installing" them) so i guess instead it is doing everything over the network oh and look it seems to be stuck and not really completing this is lots of fun i mean that's really why i bought the bloody dvds right was obviously because i really wanted the install to ignore them and instead do everything over the network right.
left 4 dead lets you vote to change difficulty in-game. the vote tells you what you are voting for. it does not, however, as far as i noticed, tell you what you are voting from, which you might not know. which means you might not know if you are voting to increase or decrease the difficulty level. which means that user interface sucks.
another wonderful steam innovation is having windows that have task bar entries, but do not then actually show windows when you click on that task bar entry. like it is in some totally fubar'd state. fun.

(i do wonder how much of the suck is steam interacting with spyware+virus checkers. but, like, they oughta know that they live in a world of spyware+virus checkers and strive to not suck in that environment.)
steam sucks: it often has status that is nigh useless because it doesn't actually tell you what progress there might be when e.g. the network is slow. just looking at the program itself makes it appear that things have failed or died or stopped when maybe they are working. but you don't really have a way of knowing. and meanwhile it is actually sucking all life out of your internet connection?

because, you know, steam's motto is uckfay the ooseryay.
all those graphic option settings suck. come on. does nobody grok usability? i pretty much just want an FPS slider, you know?

(yeah, i know that isn't what everybody wants.)

Wednesday, November 26, 2008

it finally dawned on me why they called it "steam": because it is poo.
steam: because changing modes between on and off line really does force a software developer to structure their program such that it has to completely restart to make the change.

also? funny how in offline mode it says things like "download starting" about games.

augh.
i am willing to believe it is a hard problem, but it is freaking pathetic how left 4 dead claims to be able to pick good graphics settings for your machine... but ends up with really choppy frame rate.
steam: because you really don't want the program to help you automatically download everything successfully in the background, no, you want the program to fail miserably and instead pretty much devolve into forcing you to manually install things one at a time.
it's almost as if valve has never heard of the concept of concurrency for making guis not suck.

[blogger: conflicting edits]
i guess it is good to be the king(s); screw the little people.
right now, my job is eating these doughnuts.
my depth of hatred for steam seems to have no bottom. like, uh, it doesn't seem to want to let me, you know, actually perhaps, gosh, be able to buy a game?!

Tuesday, November 25, 2008

darnit! so near and yet so far away. i have a Number Nine Revolution 4 video card in this WinXP machine, and a driver was magically installed, and video comes out the VGA port. but! nothing appears to be coming out the OpenLDS port to my SGI 1600SW old school LCD monitor. i know the monitor works 'cause i had it hooked up to another machine via an SGI MultiSync Adaptery Thing. so all in all it seems like for some reason the card just isn't driving the port i want. dip switch? registry setting? voodoo chicken blood? help!
it kinda kills me how much itunes sucks.
now that's what i call a review. totally after my own haytin' heart.
yeah. i love java.

love it.
i mean, what could possibly go wrong with that plan?

Monday, November 24, 2008

wow.
as flash memory gets faster, and my home machines get older, i'd want a cheap RAM socket to FLASH adapter?
personally, i utterly despise the way Mac OS X dialog boxes animate into existence; i find it to be a waste of time, and distracting. it is really annoying because it makes me watch it -- the human ocular system is set up to be addicted to movement and stuff, right? so here they are activating that part of my brain for no good reason. i want to click on a button and am tracking it with my eye and hoping it will stop so i can actually do the clicking. etc. save all that animation stuff for an actually important and useful purpose instead.

Sunday, November 23, 2008

ok, i've pretty much always hated flickr's ui. the thing which especially kills me these days is the stupid hateful "let us put lots of rectangles with pop up text over the photo you want to look at" so-called feature. hayyyyyyte!
yeah, i also thought either obama is no nerd, or newsweek is dumb.

Friday, November 21, 2008

hey, wow, the stubbs the zombie demo was really lame. go figure. games which suck. 90% of everything sucks. including gmaes. like stubbs, apparently.
gmail sucks. i was reading a thread. a "new message do you want to update" thing appeared just as i was clicking on the delete button. the new message was not in my inbox. i used undo to bring back the deleted thread. the new unread message was there. so in other words, apparently gmail is designed so that people can miss messages.
call me a big freaking nerd, but i liked this CMMI/Agile paper.
DreamCalc (not free) isn't soooo bad, although personally i do not like the "let us try to pretend to be a physical calculator" approach to the problem.

the winxp power toy graphing calculator is just a freaking joke.
yeah, supposedly The Ultimate Windows Graphing Calculator. which actually turns out to be kind of a total turd. i mean, did they never look at any other competing products? five minutes with the Mac OS X (10.4 and up) Grapher app would have shown up all sorts of lameness with their product. (not that that mac thing is perfect, by any means.)

[blogger: conflicting edits]

Thursday, November 20, 2008

wow. mac os x 10.4 ui suck! well, or safari suck. or something: the save-as-pdf dialog box has defaulted to some directory named "bin" and i don't know where it is and it doesn't show me the full path and i don't see anywhere i could copy the full path out e.g. to then cd there in a terminal.

hate.
pretty much all politicians in the usa need a good beating. or two. or three. or to lose their seats.
thunderbird, you piece of excrement!
i think: code to the most specific, narrow interface you can. this can lead to trouble if your interfaces are not sufficiently decomposed. if you hit trouble, the knee-jerk answer should not, i feel, be to use a more general interface; rather it should be to refactor so you can still use a tight interface that doesn't drag in other issues.

the problem then is that in the extreme you'd have an explosion of interfaces, because it is the call site that leads one to make a new / refined interface. hm.
if i were either filthy rich, or had a lot of free time, i'd want to get a java based graphing calculator type application going; all the things i've seen so far kinda suck in one way or another. i'm sure it isn't an easy thing to do well.
maybe databases would be more cool-fun if it weren't for god-awful sql syntax? basically, they aren't fun until you can easily extract and munge and visualize data.
yeah, i'm sure it is a hard problem ui-wise, but the ui for editing equations in Mac OS X 10.4's Grapher application is utter feces, as far as i can tell.

also? it grossly lacks support for color i think.
i hate the neooffice built-in "help" docs.

"Growth: Creates a growth series using the defined increment and end value."

uh, yeah. that really clarifies wtf growth means.

"Growth: see 'Growth'."

or, perhaps more accurately:

"Growth: see 'F**k You'."
yesterday gmail changed the "theme" on me. so i went to the settings to see if i could control it. there was nothing about it. today, there is. all of a sudden.

whatever.

Wednesday, November 19, 2008

oh, thou most murderous, bedevilling, taste buds!
i. <expletive>ing. hate. typepad.

why do apparently all blogging uis have to be full of so much fecal matter? oh, right, because people suck. (me included: ui is hard. still, that doesn't excuse this crap!)
yeah, it bugs me when people get it wrong.
every. damned. word.
such power i have at my fingertips! sorta amazing how much effort over the last century went in to satisfying my, ahem, needs.
why is spotlight so much bloody slower than quicksilver? i mean, couldn't spotlight do more with the idea of progressive refinement, and layered results?
and now you know.
if i've said it once, i've said it a million times, people! "There is no historical connection between bagels and doughnuts."
shared mutable state allows you to pick any one of: deadlocks or race conditions. so that's a great system!
look, the economy sucks and i don't relish the thought of more people becoming unemployed. but i have to say i think there has never been anything yahoo has ever done that i actually really liked. it always seemed to me like in any y! product either the ui sucked, or the product was buggy, or both.

things i've used and kinda hayted: yahoo mail (both), yahoo groups, yahoo music, yahoo main site.

maybe the yui stuff for the web is good, tho?
being a person of suck myself, i can say this: people suck. and i mean that of both sides, and i mean that of using email as the communications medium. why can't we all get along? oh, right: money.
i hate blogger. why do i have to click on "sign in" when it then automatically logs me in since i'm already logged in to gmail? why didn't it just log me in automatically to begin with when i first went to the blog page?

Tuesday, November 18, 2008

haskell: because hitting bugs during runtime is a bitch.

dependent types: because regular HM type inference isn't enough.
the old adage of "code to interfaces, not concrete types" is quickly painfully obviously good advice when you start to try to retroactively add mocks and unit tests to old code.
wtf? has nobody seen repo man?!
science. is. hard.
the god of green lights.

(until 2009, when they become the god of red lights. dogged!)
a tad long, but interesting to skim.

Monday, November 17, 2008

the other negative 90%.
you are disturbed. i am disturbed. we all are disturbed.
genius.
"a new trailer from East India Company, the upcoming historical real-time strategy game. Here's the official description of the clip: 'This teaser highlights the key gameplay aspects of this stunning historical real-time strategy game – Manage, Rule, and Fight to build the World’s greatest trading empire! East India Company (PC) is scheduled for release across Canada and the United States in Q1 2009.'"

so, uh, is one of the mini-games, like, beating up Gandhi or something?!
for the most part, i suspect that learning Haskell would not, generally, lead one to really love Java more that one already might (or might not).
my (one person's) experience is that dependency injection and mocks and stuff are nice ideas and all, but they seem to quickly fall apart and become incomprehensible e.g. run into problems where they won't start up due to some interaction with static initialization code or some such. so then you have to go and figure out WTF is up with all that and try to debug it and maybe end up learning, i dunno, that you can't write code the way you were writing it and so have to change things etc. etc. etc. puke.

leaky abstractions is a good band name (but only when DSL isn't freaking out).

and java reflection is feces.

Sunday, November 16, 2008

yeah, i mean nothing could go wrong with that, ever, right?
it makes me hopping mad that untangle's remote web admin requires java since it runs some java app... which then has a way to get to the web pages for configuring. so you have to go through a middle step of using java to get to the web pages i wanted to get to in the first bloody place just via my browser. and since the java launcher is broken right now, i can't do anything remotely at all other than get a "version mismatch" error.

so that's a ton of fun!
have i mentioned recently how much i hate all software? and how, inevitably, when you want to get one thing done then everything else has to be failing then as well? thanks, universe.

hhhhhaaayyyytttteee!!!!
if you are learning imperative haskell, i think sooner or later you are gonna have to read this, because it can be easy to get too cargo-cultish about do notation and then write stuff that gives you really freaky type checking errors and thus become fubar'd.
gmail is sucking really hard right now, and it isn't the kind of sucking that turns me on. no, it is the kind of sucking where the ajax version doesn't ever completely load but doesn't give any explicit error messages, and i'm forced to use the plain html version, only to discover that it is lacking the marking commands for e.g. marking unread messages, as far as i can tell. so trying to bulk delete is now an even more painful process. yay!
i can appreciate anybody of whom it is said, "Upbeat and Eisman didn’t occupy the same planet."

now, as much as i wouldn't mind making a metric <curse>-ton of money, i think i can tell myself – with some large degree of accuracy and truth – that i wouldn't have saved any and would only be in the hole even deeper right about now.

p.s.: fun!

[blogger: conflicting edits.]

Saturday, November 15, 2008

there's this thing about math that's also true about haskell: you have to be willing to unfold the notation and get your mind exercised to be able to understand it and run little simulations of it and see how various pieces of it might match up and be able to over time to work with the compressed not-un-folded versions of things. like, at the moment i find it difficult with some types in haskell to grok how to actually use them the way i want. it isn't like i totally don't understand what the types mean, they make some sense, but then figuring out how to connect them to other things can be weird at first.
i still totally despise everything about the linked in user interface. i cannot fathom how anybody can create such abominable crap. (well, ok, given how most other web sites are also abominable crap i guess i can understand it. well, except for how i can't understand the other ones either, really.)

hayte.
more haskell fu:

yeah, well, personally i think this is sorta epic usability fail.

Friday, November 14, 2008

yeah, signifying nothing, but still important. personally, i'm not a big fan of the new-old-thing; the original is really such a stunning classic. sure, it was simple because they didn't have a ton of cash, but the result was one of those little bits of perfection that can only come about when there are restrictions in place.

while on the subject, i wish there were a DVD series of only the best episodes of the mainly crappy Enterprise series. so i could get just the good bits. (you know, like that episode where the hot vulcan chick has to use the anti-radiation gel, ha ha!)
more nerdy haskell links:

i'm looking at an old 'thread' in gmail. a bunch of the messages are collapsed. but there is no Expand All.
in my dictatorship, web sites where the registration form resets all sorts of things when a submission fails, so that when you try to fix the thing they mention and then resubmit it fails again because of the other things they unset, that sorts of web site would be dead meat.
in case you need to know about cpuid values for intel chips.

Thursday, November 13, 2008

wow. their lab doesn't completely and totally suck, as i would have expected given the general state of usability in the world.
i still don't like steam.
note to self: java maps are not bijections. so don't use them if you want a bijection!
absence of evidence is not evidence of absence. remember that next time you forget to write certain unit tests and later discover that, yes, the code sucks and has bugs.

ack. barf.
if your programming language doesn't let you make clean debug dump strings w/out being required to use a conditional or deletion to remove the final "," or " ", then it sucks. (in other words, it doesn't have something like perl's join, or fp's map.)

java!
i want people to start using the meme "WWHD?", which is "What Would HAL Do?"
given the way most software happens, i think it would be funny if somebody did a short film where the virtual reality was undergoing all the changes and hacks and reversions and breakage and freaking out that normally go along with production systems. so there would be all sorts of voice overs of the people behind the curtain freaking out and yelling about things and saying, "i don't know what's going on" and all that.

(sorta like that st:tng episode where worf was leading his brother and folks through the holodeck with geordie trying to fix things as they moved along the way.)
my new software development claim/mantra/rule-of-thumb: if you can't visualize it well in complete detail (like, on a whiteboard, or with actual viz tools), it is too complex.
programming languages are hard. like, just to implement, let alone to then use.
of course, some reports say that layoffs don't help. sorta like mergers and acquisitions. [1][2]

having said that, i would assume the standard retort to be: yeah, well, we have to lay off now to save money otherwise we won't last long enough to get out of the current recession, since we don't know how bad it will be. so the inefficiency later is the best choice.

although the studies claim that isn't really how it works, since the benefits from layoffs takes too long to really show up on the bottom line.
i want the onion to get together with other, "real", research groups to take real data and present it in ways that will get across to more folks. like, what would an onion version of PLoS look like (a requirement is that it has to retain the actual core facts)?
wow. i'm sorta blown away on so many levels.
omfg, art genius.
we need more of that. uphill. both ways. in the snow.
yay, sex!
the closest i could get: "Push the drive retaining tab down so that it is flush with the base of the chassis, as shown in Figure 4-5."

IF YOU KNOW WHAT I MEAN.
i read it for the quips. "When the environment is adversarial, smarter than you are, and informed about your methods, then in a theoretical sense it may be wise to have a quantum noise source handy. (In a practical sense you're just screwed.)"
ok, here is what the current crash is teaching us: corporations will expand and contract right along with the economy (well, lagging by some time, but basically in sync) which means that you might easily get axed! which means when things are looking good, you need to save. save save save. as in, save money.

really.

(note: kettle, pot, black.)
if your environment sucks, you might suffer.
some of the most precious comments, ever!
if you had Ultimate Testing, then wouldn't all your cycle times be greatly reduced? so how can you get ever closer to Ultimate Testing, via some reasonable investment strategy?
wow. i worked a little bit with the hyperscope folks, so this is an interesting screed, i think. and interesting to see some folks who apparently 'get it' instead. (i'm not saying any particular opinion is totally right or wrong, but i don't think the hyperscope-type-stuff is pointless.)
by now this is old news, but it is still fun.
in this day and age, if you have a product, and you want people to try it, and it has lots of dependencies, then instead of making people do all that work to get the dependencies set up, thereby killing off a lot of opportunities you might have had to get new folks involved, you should just make a vm image that has it all already set up. i mean, duh.
word:

"In order to solve all the naming problems, I made extensive use of the Visual Basic debugger included with Office, which puts many other debuggers to shame. It is at least 1000x better than any Haskell debugger I've ever seen, and equally far ahead of things like GDB. Microsoft's software may be maligned, but their debuggers are truly fantastic! It really does allow an entirely new style of development, and is particularly suited to dipping into a new API without having a large learning curve."
it sounds like OmniMark is good at handling ginormous streaming data, but otherwise is rather silly.
some misc haskell links and thoughts that i think have helped me so far to learn about handling state:


  • you could do it with iorefs, recursion, or a state monad.

  • fa.haskell can be helpful (i didn't know about it before, i was only looking at comp.lang.haskell).

  • awesomeness, all 'round. haskell ftw. "I hear you about real life though - totally gets in the way of the important stuff. Like monads, and haskell."

  • monads field guide.

  • the value that comes out of each "application" of the state monad needs to be manually captured; it doesn't magically get threaded through somehow automatically like the state itself does.

  • quick reference card.

  • part 2 of some monad tutorial.

  • i do not like them in a boat, etc.

  • on concurrency, although i think it has some glaring errors in presentation.

  • your 'main' code can maybe use runState to process some state stuff, or you can use the StateT thing so that your 'main' code is already "in" the state monad.

  • i gotta read some books some day.

look, non-essential complexity is a system smell, not a benefit. you need to constantly recursively ask yourself if what remains is essential or not.
all i'm saying is: i really think the supposed gains from allowing broken windows are bull-poop vs. if you were really good about not allowing them. (ok, ok, if the drop-deadline really is like tomorrow, ok. but if you have the choice of not taking such stupid projects, you should prefer to take sane ones instead.)
i really would like to make a new brand of cereal for kids. it would be called Hatyos and the design would be black ('labeled in black on a black background') and the text on the back (you'd use a black light to see it) where most kids' cereals have puzzles and did you know type stuff, it would tell kids about various genocides in history, various corporate rip-offs (uh, like the one right now maybe?!), about stolen elections, about humans killing off nigh-sentient species, etc.

and they'd be heavily fortified with caffeine.

i'm sure it would sell like hot-cakes.
i find it 'funny' how there are all these news items about Mortgage Relief, and yet i get the feeling that besides some minimal tax breaks for debt, it is all a big crock of nothing and people are just as totally screwed as they ever were.

the handling of the whole thing has been, from what little i've read, spectacularly designed to do nothing for a regular person, and everything to just keep around the sons of bitches that screwed it all up in the first place?

Wednesday, November 12, 2008

blah. i think that when i'm tired (not enough sleep due to demands in life) i end up with a double-whammy: i feel like i don't have the energy to exercise, and i also feel like i eat a lot more often. not being able to get enough sleep kinda sucks.
wow. art!

Tuesday, November 11, 2008

opera's view>style menu system is, well, really super crappy, i think. in particular, it doesn't seem to have been designed such that i would obviously know how to get back to "normal" rendering.
somebody found this ditty on the State Monad.
no sir, i do not like SVN.

Monday, November 10, 2008

"We're offering a flamethrower, a .30 cal, a vicious, brutal enemy and co-op - there's a lot to love here."
wow. here i thought opera was hallowed as some paragon of usability?! but the interaction for dealing with me multi-clicking to select some text on the page is really weird and wrong (at least compared to ie and ff). it tries to bring up some menu before i'm done clicking. maybe if you were raised by wolves only, then you'd be happy with that behaviour?
opera seems to insist on putting up a dialog box when i start it, to ask me what kind of initial page i want. and it doesn't seem to have a "never ask me this <expletive> question again, <deity> dammit!" option?!
can you make something that sounds like hell wrap all the way around back to being something really good?

[blogger: conflicting edits]
yeah! great advice!

not.
if your mac crashes, then even if you've told firefox to nuke all private data w/out asking whenever you quit, when you next start it up it will still have the old cookies. so that's probably not the most secure implementation. security is hard.

[blogger: conflicting edits]
yes, i need to do more BDD.
"In one sense, well designed software is all about preserving options and making as few one-way decisions as possible. Crappy software blows through this without a care in the world."
i was under the impression that Michael Chrichton was pretty anti-science. although this speech of his seems compelling, and to claim quite the opposite.
seems like every time i go to use flickr, i rediscover how much i utterly loathe the user interface. i will never understand how anybody can find it useful or fun or anything remotely desirable.

i also detest their sorta not entirely clear marketing speak: "Unlimited photo uploads (20MB per photo). Unlimited video uploads (90 seconds max)."
it amazes me how many photo upload/backup sites don't come with a decent synchronization system.

Sunday, November 09, 2008

wow. my experience with wikipedia just now makes me completely freaking hate them. hate! them. utter dumb-ass ui suck crappiness stupid poopy head ass munching usability uckfage!
wow. the process of making a wikipedia account kinda blows filthy goat private parts.
ok, sears, you can die now. i go to their web site to try to research something i want to buy -- you know, where i give them my money -- and it says the site is down for site enhancements. and the text which says that isn't even really text, it is an image of text, just to be particularly weird.
maybe google hates haskell, i dunno: trying to find something which simply explains how to use a/the State monad has been pretty much a dismal failure. everything seems to talk about how to write your own, not how to just use the one that comes with ghc.

reading this and this and this has sorta i think clued me in a smidgen. in a cargo-cult way.

to wit:


import Control.Monad.State
tick :: State Int Int
tick = do
n <- get
put (n+1)
return n


you want the type explicitly, so the compiler knows what the State will hold. the function runs in the context of some State Int, so the 'get' and 'put' operate on that context implicitly, i think.


let x = runState tick
:t x
x :: Int -> (Int, Int)
x 1
(1,2)
x 42
(42,43)


i guess you have to use runState to get the function into an actual State context?


execState tick 42
43


so execState runs 'tick' in the context of a new State which stared out holding 42, i guess.

that's about as far as i've been able to go so far. it still makes me scratch my head why there isn't a down-to-earth explanation anywhere that i've found...
as god is my witness, i do not find sarah palin in the slightest remotest most desperate sense attractive what-so-ever. it boggles my mind when i hear somebody say they think she is sexy. sorta like that throwing up a little bit in my mouth type boggling my mind.

Saturday, November 08, 2008

yeah, i voted for what i thought was the lesser of the two evils. and apparently the evilness shall, in fact, continue. i sure wish the nation of sheeple would wake up and go for a 3rd party candidate. although in reality i think that doesn't matter or work unless everything else (congress, states) is sufficiently not tied-down to the current oligopoly.

uh, in other words: we're pretty much doomed for ever.
oh, right, you-all mis-heard: it isn't so much a trickle-down economy in the USA as a dragging-you-down one.
it is remarkable to me how hard it is to find out what your local Lowes or Home Depot or Target actually has in stock when browsing for a particular kind of item. as if they want to piss me off.
The Death

Honor was crucial to the gladiatorial games and the audiences expected the loser to be valiant even in death. The honorable way to die was for the losing gladiator to grasp the thigh of the victor who would then hold the loser's head or helmet and plunge a sword into his neck.

To make sure the loser wasn't pretending to be dead, an attendant dressed as Mercury would touch him with his hot iron wand. Another attendant, dressed as Charon, would hit him with a mallet.
some people say that comments in code are a code smell. i do not completely agree with that, but i do get the point that if you could have done a better job of constructing the program such that it would no longer need comments, that is better. and i was thinking that might involve the rule of thumb that you should consider if you can convert code-with-a-comment into code-using-a-new-type. of course then you'd want a language that more easily lets you define new types. unlike, say, Java.
my observations of the software industry make me think that a lot of people somehow misheard the phrase as, "over-promise, under-deliver."
i know haskell is lazy so it might take some trickery, but i would really appreciate a gui that showed the various steps of evaluation so i could more easily get a mental model of those things. take any of the fold or map functions, for instance. those are easy enough on their own but quickly get confusing for me when they are used in conjunction with some lambda that uses some partially applied function itself etc. ad nauseum.
i'm looking around on the web at various pc system builder companies. the seem to fall into 2 categories: those with web sites that just plain suck like where their 7 year old nephew did the web site in VB to make something utterly unusable and hateable, and those where they apparently spend $10mm on flash developers to make something utterly unusable and hateable. none of them answer the questions i want to ask. i swear i could make a more useful web site in HTML 1.0.

Friday, November 07, 2008

the switch to intel for macs i guess was supposedly going to make a lot more games show up on macs. sure as heck doesn't seem that way when i'm poking around on the internet looking for a game demo to download to while away some time.
never get involved in a land war in asia.

never go in against a Sicilian when death is on the line!

never spend billions buying a graphics company.

never spend billions buying free software.
you have to hope that there is a hell for nature documentarians.
what if somebody exposed the truth and yet nothing changed?

(and, yes, plenty of other people have exposed that particular truth before e.g. chomsky + herman.)
"Design an experiment to learn regardless of the outcome."
word.
why isn't there a link in gmail that will try to automatically translate a message via the google language tools?

[blogger: conflicting edits]
frigtarded.
that. is. awesome.
awesome: the angst is palpable, i think.
ok, maybe we are starting to get somewhere with respect to non-suckful main-stream programming languages?

Thursday, November 06, 2008

i am not even approaching the cargo-cult stage of programming haskell, but so far it is actually... fun!
finding a font you have in your mind's eye is bloody hard. and the font i'm thinking of isn't even a "mainstream" one where like all the subtle differences among fonts to my untrained eye would screw up some machine-learned ai search tool; i could sketch some sample letters and they'd be unique enough (i think) that a match could be found. (i'm utterly clueless about actual pattern recognition for that kind of thing so i'm probably full of it.)
if you can hire people at a level of competency where you'd be able to never manage them, would that lead to good hires? (i don't think never managing really makes sense, but i think being able to err on that side rather than the micromanaging one is preferable.)
i think, overall, the Gears of War series is pretty much the pinnacle so far of just about everything i detest about video games.
a little coding suggestion: do what the data/input really says, rather than creating an implementation that embodies what you think the data means.
"...but we would want to minimize this and, as you imply, commit to dealing with it as soon as it happens, before it gets worse."

word!
argh. i want a tool (in Eclipse, ideally, at the moment) where i can say "here are 2 methods. now show me the code path(s) which connect them." of course that won't work with asynchronous fire-and-forget (as long as you think in russian) decoupled relationships, but it would be better than nothing.
yeah, i could see that working.
i guess the theory is if we don't do it first, somebody else will eventually?
the real election results. (i don't like winner takes all, however.)
web site that is top on my mind of "works, but usability-wise is sort of stuuuupid!": gog.

web site that is top on my mind of "holy cow, that is a hateful piece of excrement (but they're cheap so i have to use 'em)": net10. (and every time i go to a new part of that site, it just pisses me off ever more in new and amazing ways.)

Wednesday, November 05, 2008

get off my lawn, you damnable whippersnappers!
i know the expression problem has been done to death what with Scala, O'Caml, gBeta, etc., but nevertheless i found this quote from an abstract to be a nice little ditty: "At a fundamental level, functional and object-oriented programming languages are all 'higher-order', in the sense that they support computing with values that are themselves pieces of program code encapsulated with a local environment. In functional languages these 'active' values are functions, while in object-oriented languages they are objects. Both styles of higher-order language claim to provide good support for writing adaptable programs, but functional and object-oriented languages achieve this adaptability in different ways: functional programs rely on parameterisation at the value, type and module level, while object-oriented languages rely primarily on subtyping and implementation inheritance." and a related doc (this time freely available) from the same author, on the issue of approaches to adaptability.
OO ?= encapsulation: {behaviour, state, identity}. and with respect to extensibility, your ops are fixed but you can add new types which implement them (vs. FP where the data is fixed but you can add ops on that data easily enough).

i don't yet see that polymorphism or inheritance or im/mutability (or message passing, duh) are required by a general idea of OO, assuming that the languages commonly called OO are really OK to consider as forms of OO.
i sorta hope they are two great tastes that go great together: you got your csp all up in my haskellz.
hey, occam-pi for guis, kinda nifty.
some day it would be neat if somebody could get a good response from asking, "will the real OOP please stand up?"
hey, no wonder CA is foobar. er, fubar.
oh, great, another person who wants to sell weapons to both sides.

[blogger: conflicting edits!]
if i were the one designing the print dialog, i would have it say how many physical pages of paper are going to come out of the printer. so as i change the range of pages from the document and to n-up printing double-sided, i don't have to do all that silly math (so i'm lame) all the time.

Tuesday, November 04, 2008

i am very sad that california's prop 8 passed.
for the love of heck, all i want is a hypertext entry ui that lets me use the literals < and > wherever i want, and magically infers which ones are being used for html directives and which ones aren't. and shows me what it is deciding as i type so i can see if it is confused and i can back down to &lt;.
i sure would like to vote for simplicity (if it really is what simplicity means to me).
i want a web site where i can enter in a query like "a word starting with 'c' which is used in the phrase '<c> plan'".

(contingency, i just remembered it. shoes in the fridge are next, i guess.)
"user-centered, humane, values." word. we need way more of that.
when talking:

"(your goal) + (your request)"

is better than

"(your goal)"

is better than

"(your request)"

probably.
i can't find the blog post now, but somebody said that big companies are like the military and so you get bad results when it comes to software development. so when i read this it really resonated and clicked together, for me.
a short ditty, until you can read the book.
a site that is about usability design which then puts a multi-page quizz in your face, and doesn't tell you anything at all about how long it will take. which is not what i would call a good approach to usability design.
imho, almost as genius as tetris itself. standing on the shoulders and all that.
yeah, i didn't like bush before, either.
shyeah, right, like i believe the fbi, not.

[blogger: conflicting edits]
for you to ponder: contrast "core path, fuzzy edges" of decent usability design vs. "clear edge to edge" requirements for good code.
nice to see the us army ready to kick the ass of us citizens! that's what our tax money should be goin' to! yeah!
further link dump:

some thoughts on software development:



oh and that i hate how blogger formats <ul>, still.

Monday, November 03, 2008

personally, i find a lack of faith in static typing to be disturbing.
ha ha ha dogged.
i know it when i smell the opposite.
the problem is, people often can't even agree on what the inherent complexity is.
do you remember when there were those first sweatshirts that had LEDs in them? like, maybe 2 LEDs in them? worked in to whatever the artwork was on the sweatshirt. and that was really cool at the time.
code simplicity: first, see if you can do the same thing better (more succinctly, with fewer conditionals, more generally, etc.). if that fails, then see if you can do a close-but-not-exactly-the-same-thing that is simpler. (you have to know when you can make that trade-off.)

(also: the more the code can't easily answer questions about it, the more likely it is to not be simple, i think. that's a correlation more than a hard and fast causation. e.g. when can any given memory get freed, or when is any given data known to be consistent, or what race conditions exist, etc.)
from what i've heard, haskell's monad transformers are onion sandwiches. mmm!
the man.

Sunday, November 02, 2008

w00t.
companies put out cars that are mobile advertisements e.g. red bull minis. i guess whoever drives it gets some kind of super discount in exchange for being an advertising whore?

i was thinking i might go for a deal where i can get a free new Bob Revolution, that has been made up with e.g. Trojan ads.
genius. spybot search and destroy runs a wizard the first time you run it. one of the steps of the wizard is to download updates. which causes it to restart the application. which then gets rid of the wizard, and never brings it back since now it is the 2nd+ time the application has run. even though you didn't actually get all the way through the wizard.

Saturday, November 01, 2008

i don't know greek, so maybe i'm the dumbass (or maybe not), but there's no x in et cetera, mr. genius. and isn't it really freaky that they did such a "build it and they will come even if you don't really know who they are and so can't successfully do marketing" thing?
while i very much appreciate the spirit of Godin's talk, i think it is important to credit previous thinkers like Don Norman who were bringing this all to our attention before Godin, no?

(a guy from MSFT once gave an MSFT-self-deprecating talk where he went through the printer dialog boxes that people get. which is truly painfully hysterically bad. "printing related tasks" was a killer line.)
do you recall the feeling of advanced graphics sexiness that was the old hercules 132 column card?
for those of you looking for a replacement sgi 1600sw lcd power supply, these folks look decent, although i haven't bought from them so i don't really know.