Tuesday, March 31, 2009

functional languages that have compact, concise syntax are sort of like einstein summation notation: you really have to go through a long time of mentally and manually unpacking things to learn what they mean, and only gradually will you get the ability to 'sight read'. i wish i had the luxury of being able to practice.

[blogger: conflicting edits.]
always fun to bash java around some more. makes me wish a good team could use a time machine to get me a copy of newspeak from about 20 year hence, to use today ;-)
i sure wish somebody would do the experiment of having an in-memory truly relational database (not just sql stuff) combined with a good functional programming language.

vs.

the thing today where most people use sql and some oo language.
i'm glad somebody has balls.
how many language naming conventions are from the days before IDEs, and are really a code smell? i mean, why should anybody know or care if something is a CONSTANT or a kConstant or whatever? isn't that like when somebody knows if data from an object is a field vs. a method property getter? in other words, coupling.

Monday, March 30, 2009

somebody's thoughts on how to write code.
taco bell is just plain bad. well, ok, maybe the crunchy tacos are ok, but i shudder to think what hypertransfatsupersaturated oil they use. anything in a hypothetical soft tortilla ends up just tasting like the lame kinda pasty tasting tortilla, more than any of the filling.
well, that's another fine mess we've gotten ourselves in to.
gosh. how many decades does it take for good ideas to catch on, and bear fruit?

[blogger: conflicting edits]
yeah, languages where reflection sucks are, well, lame compared to really introspective ones.
"especially in Western companies, they only track errors of commission, not of omission."
beware the hero.
i love it when i go tell somebody their web site is broken and i get the "oh i have never had a problem with it" response. i mean, are they really trying to get me to freaking kill them?!
i think the spine of a book should be the same color, or a 'louder' color, than that of the cover of the book, to make it easier to find. like, i was looking for "that pink-purple book" but it turns out the spine is just white. great.

Friday, March 27, 2009

given how bad the civil rights situation is in the UK, i'm at least somewhat heartened to hear they aren't quite as lame as the USA when it comes to torture.
at least, be iterative.
the onion: as awesome as your mind will let you believe.
i love how this 'gourmet' hot coco has as the fist 2 ingredients: fructose, coconut oil. i think that word 'gourmet' doesn't mean what they think it means. in other words, i hate most approaches to marketing!
"A logical deduction from this phenomenon is that if the details of the program's rules have little direct relationship to its behavior, then it is very difficult to directly engineer a simple program to perform a specific behavior. An alternative approach is to try to engineer a simple overall computational framework, and then do a brute-force search through all of the possible components for the best match."
"the really crucial thing was the fact that I had managed to boil everything down to a very simple and very general concept."
i think i am liking the whole "agile + cmm{i}" thing, because i've heard it described as being both agile and disciplined at the same time.
"Components of the system are necessarily sub-optimized to optimize the [overall] system."
"Thinking about it later, I realized that the top three agile methods are all about self-something, and that these phrases provide a key to the unspoken core of agile development...

1) Extreme Programming is about self-discipline.
2) Scrum is about self-organization.
3) Crystal is about self-awareness.

Agile development really is about all three."
"The really creative people are masters at splitting the risky items down to very small high-risk work items and relatively many low-risk work items that can be moved back in the work queue. Being good at this splitting means that these people can get the project into a very safe social and technical place quite quickly, and spend the rest of the project delivering business value in any desired sequence."
"1) Scrum = Address Project Management deficiencies.
2) XP = Scrum + Engineering practices
3) Lean = XP + Organization Change."
'"Bad" estimation has a minor effect on dates compared to interruptions. Interruptions cannot be planned for other than to increase team size or slack, two options that are not [often] available.'
firefox 3's ui for managing, updating, etc. plug-ins is... bad. it pretty much makes me see red any time it appears.

Thursday, March 26, 2009

shove usability up your ass.
because, you know, the job is always more important than the babies. (ok, there are some jobs where i could believe that, but this one wouldn't count that for me, i feel.)
think of debugging OO like this: you have an idealized/platonic program that is, say, a beautiful big glass animatronic sculpture. then you take a hammer and smash the living poop out of that thing. then you take all the pieces from that and scatter them into several different haystacks. from that you have to piece back together in your head what the original item looked like, let alone how it behaved.

(update: the kicker is that most of the time the original animatronic sculpture was itself actually sorta of a pile of poo.

so i sorta think now that there is a very slim part of the overall statespace of what you can do with OO that is actually good. the rest is a minefield of dog excrement.)
in the circles of hell that are reserved for different email offenses, i think the one where somebody replies w/out editing away irrelevant aspects of the original mail, especially when to a mailing list, is a worse circle than the one where you are a top poster. like, if you edit but top post i hate your behaviour less than if you don't top post but e.g. only add one line of your own to something that is like 30+ lines, only 5 of which are relevant to your response.
in a way, i'd rather hire people with less of a good memory. i think that there are developers who are so good at remembering things that it lets them create and maintain and multiply bad designs, because, heck, they understand it.
since we have such an overabundance of bees in the world, i think i'd like to make an ice cream flavor that is called Bees' Knees that literally contains the knees surgically removed from real bees.

[blogger: conflicting edits.]
we need programming language systems that can do deforestation / fusion ever more automatically, and stuff. because it gives us the ability to really separate concerns and yet not suffer as much from a performance/memory perspective. it really kills me how bad most code is simply because most programmers are loathe to "waste" cycles and ram.

[blogger: conflicting edits.]
here's the thing: the dynamic behaviour of a program is one of the most important / basic / fundamental things to understand about a program you are developing or debugging. right? i mean, i don't think that's really too debatable. so then you should look at the methodologies you use with an eye towards how much they help reveal vs. conceal that dynamic behaviour.

fundamentally, i think OO is too much on the obfuscation side of that equation.

Wednesday, March 25, 2009

i believe i am cranky and observant enough to see when things are shitty wrong dumb stupid. and i might even know / have read enough to have some idea of alternatives. but really i am neither experienced nor smart enough to implement the alternatives, a lot of the time. (i think i have a better chance when it comes to 'process', and regular software engineering, but not so much when it is about e.g. implementing a DSL). so what i'm really looking for is a place that has people who are observant in ways i am, but where they are smart enough to actually /do/ the things i only know about, i guess.

dogged! :-P

in other words, i need to get into a situation where i can help with strategy, with insight into appropriate tactics, but in a less hands-on-development style?

[blogger: conflicting edits]
oh, man, a challenge i can totally smoke.
yup, that sure sounds like my general experiences with SML/Haskell type languages. "In some ways it was harder, but I attribute that to redistributing the workload; it’s harder because I am forced to write code that is correct from the get-go, instead of accidentally introducing bugs and thinking I’m done."
"[Java is] simplistic enough to be inadequate in almost every situation. The commercial world just loves this aspect of Java as they exploit revenue streams from filling these gaps via endless Frameworks, Patterns, APIs, Annotations, IDEs and Toolsets.

The dirty secret of course is 25 - 50% of all of it is pure overhead, without direct value, but necessary to overcome the inherent limitations of Java.

On the other hand, the upside of Java for enterprise IT is pretty obvious. Any problem you might have can be solved with money and armies of plug and play bodies and you get mountains of buzz material for those presentations.

But honestly, is this anyway to deliver the IT solutions your company needs?"
likewise, if i ever have a yacht i'm definitely going to have to christen it "Henry Nicholas III".
if i ever run an organization that decides it needs to use some kind of CRM system, i think i want one that is sexy instead of the usual boring me to death stuff. i mean, imagine what Broadcom must have used.
nobody suspects the spanish inquisition! nor ndepend, either.
stm might have some real issues, but damn i hate the manual locking approach. i mean, it isn't just that it is overall hard to get right, it is also that the java docs suck so bad so hard.
as awesome as your mind can believe.
"References are made unforgeable by making valid representations of them either opaque or sparse (unguessable)."

Tuesday, March 24, 2009

mmm, ambient.
the internets are deep and awesome.
totally nsfw, but pretty funny none the less.
some folks sorta wave their hands and say that deficiencies in a given programming language can be made up for by writing some good libraries. that is so transparently untrue for so many languages (the vast majority of them by usage, in fact) that i'm probably making up that claim to begin with. i mean, nobody other than somebody with e.g. lisp macro power, or camlp4, &c. could reasonably make such claims.

in particular? i kinda h8 java.

(the crux of the nut being that adding features via libraries (e.g. http support) is not enough, it is being able to extend the syntax nicely. on the whole i think that at least requires nice support for lambdas from the get-go.)
hooray for the "balanced" mass media!

"Instead of weighing arguments, when faced with two or more arguments, some individuals will decide that: The truth must lie in the middle; or There is no truth; or There is no way to decide; or Previous intuitions are best; or Doing nothing is best. Individuals do this even when the arguments on one side are incredibly weak."
simplicity can be something of a double-edged banana. "Pare down to the essence, but don’t remove the poetry. Keep things clean and unencumbered, but don’t sterilize."
begin to learn to heal thy self.
be it fork-lift trucks or software, people suck.

"The surprising element in all of this was that a lower number of parts was achieved [by the competition] by utilizing technologies that had been developed by our client in the last ten years. The problem was that our client had patched each one of its newly developed technologies into an old platform, resulting in a complex and inefficient products, whereas the competition started from a clean slate and took full advantage of the potentials each technology offered. The moral of this story is that once in a while one should pause and reflect on oneself and begin anew."

Imitation; Inertia; Suboptimization; Change of Game; Shift of Paradigm.
i should try to name my mental models, and learn up on others.
languages that do not support reflection with alacrity (e.g. Java's massive boilerplate suckitudeiosity) do not lend themselves to DRY. which sucks butt.
too bad so many languages in big use (java!) make the supposed hallowed ground so difficult to reach.
wow, cool! i always wondered how to make a good dsl.
one thing that really bugs me is that nobody ever asks the question, "how does that make you feel?" when talking about how to approach a software project (or probably most projects). the money and the time to market is the only thing people discuss -- important things, no doubt, but missing the entire aspect that is quality of daily life of the folks doing the bloody work.
so there's the idea of doing refactoring and retrospectives and all sorts of corrective actions over time. i worry that people might get the impression that those things let them incur even more technical debt, or not feel worried about the same old technical debt. but the problem is that you can't change a lot at once, so your ability to deal with debt isn't all that great when compared to how easily you can get into debt. in other words, if you aren't doing your best to keep things squeaky clean at all times, you are screwing yourself, even if you do have the ability to do some rework.
macros rock. homoiconicity rocks. clojure rocks.

Monday, March 23, 2009

rails is obviously an incredibly important thing, a real contribution. but it seems to have missed (even still) a fair number of opportunities for improvement e.g. the new vs. edit pages for an item are very similar. and you can deal with it, but it doesn't start out of the box that way. does something like grails address that? (er, i guess not? i'm confused by that article! "So, if you have N entities in your application, you’ll have to write approximately 4*N pages. And what is more sad: basically, these pages are all very much the same. The only change is which fields are being exposed. Wouldn't it be nice if you could build these pages automatically?" and then they go on to say that Grails is like Rails, which to me means it doesn't automagically help you not have one edit.html and one new.html at all!)
i wish somebody at apple would kinda hang for the fact that every time this macbook pro starts up from sleep it does the physical "eject the cd/dvd drive" so the machine pukes. especially annoying in meetings!
some slides re: how to make a game that doesn't suck.
"So I have come to realize in my consulting practice that enterprise clients I need to focus on organizational maturity and less on productivity. And I woke up one morning and thought, OMG I'm saying things that Humphries was saying 10 years ago. And Cutters was saying 6 years ago."
ok, so there's this whole Agile/Lean thing, right? it wants to ditch process in favor of people being unconstrained (by a process demanding BUFD or specs or whatever else) and freed to do whatever they deem best to quickly get the Good Enough thing out the door.

that all makes sense, but of course brings up a host of question and issues. I think one core underlying aspect is: what is the quality of the people involved? i expect that process in the software world came about for various reasons including, sometimes, the belief that you need process to account for less than stellar workers. if you have less than stellar workers and suddenly remove the process, what happens? it could be that they suddenly become sufficiently less un-stellar so that it is a win, or it could be that everything goes to poo.

and even if you do have stellar folks, i think that people are human (gosh) which means that 'stuff happens' and communication is hard, all of which means that things can go wrong, which might mean that some folks then want to get back to some kind of process. so you have to decide what is the right kind of process, which might really be saying that you have to have the right kind of meta-process.
wow. the 'contacts' "feature" of gmail, especially the search, seems to just be a festering pile of excrement. nice!

of course, this might just be another case of the fact that search in gmail pretty much freaking sucks poo in general.
'When you focus on improving what you do you ask – "how could I have done this better?" In eliminating waste you might ask "did I need to do this at all?"'
"So my point is, if we focus on pull, waste drops out naturally. If we focus on waste, we do not know if it is truly waste."

Friday, March 20, 2009

uh, maybe, like functional programming? well, or, presumably better yet, functional-object a la Scala, F#, O'Caml, Scheme, &c.

having said that, i do think it is good that they are pointing out the distinct lack of textiles draped upon the ruling oppressor.
the law of unintended consequences is alive and well in modern programming language designs, more is the pity. i think the attempt to be compatible with something else tends to lead to tears (java generics, c++ in general, scala on the jvm).

on the whole i guess i'd favor simple anal consistent syntax rather than perl-esque more than one way to get really freaking confused and maybe even introduce bugs approaches.
the mac pdf reader 'skim' apparently has some 'frames' inside the window, e.g for making little notes i guess, and you can resize the borders of the frames inside the window to make the various sections whatever size you want. the borders can be positioned down to the pixel apparently, so you can end up with a single pixel sliver of one of the frames showing in the window. if you didn't know about all this, as i didn't, you would be staring at that long line of weird pixels and thinking "W? T? F?!". which makes me think that perhaps there should be some minimal size and that things should snap from 0 to that minimum size, and then after that it can be pixel moved. if you get what i mean.
c++ sucks because the really smart people working on it were doing hard work to keep it sorta mostly kinda backwards compatible with c.

java supposedly was better than c++, presumably to some large degree because it didn't try to be backwards compatible with c.

yet, java 1.5+ sucks because the i guess smart people working on it didn't learn the real lesson from c++, and were doing hard work to keep it sorta mostly kinda backwards compatible with java -1.5.

ha ha ha. ha.
oh. well, i think i was likewise confused, so good to read up. and, ever up.
hmmm: "When technologists, managers and customers talk about value, they may not all understand it in the same terms. At least not at first. But until they agree on what value is, there’s no way to build successful products or relationships."

Thursday, March 19, 2009

yeah, i hate polling.
i have to keep reminding myself, "The current Java wildcards are designed to support reading sub-types from a list and writing super-types to a list."
when done wrong, static type checking makes runtime checking seem hunky-dory. oh for another language to be popular, instead.
thank goodness for something like clojure: talkin' the talk, and walkin' the walk.
well, the military is good for something, i guess.
so many ways to be doing scrumbut. makes you wonder what the anti-scrumbut really is?
people say the jvm is so great (e.g. "use scala actors, not erlang!"), and in some ways i agree. but there are several really basic ways in which it sucks dirty buttocks, so i'm a bit annoyed that those suckful aspects apparently aren't considered by some other folks. examples: since debugging is built in to the jvm (ok, ok, maybe with it all being open sourced we'll have a chance to fix this particular issue, i can hope, but i won't hold my breath) you are stuck with the fact that no matter what language you are writing in, you get the same problems in your debugger. things like: it not showing you the correct source line (this happens in .net as well) when you are in a loop with a conditional -- it looks like it is executing code when in fact it skipped it (if you look at the bytecode); there's also the thing where the debugger often won't show a returned value if it isn't assigned to a local variable, so really studying a running functional-style program kinda sucks. etc.

p.s.: tco, too.
look, i'm certainly not a super-star sysadmin by any stretch of the imagination. but i'm basically familiar with the terms, and i run my own openvps machine (perhaps poorly, but still, it does work). so in a lot of ways i figure i'm an ideal example user for things like clark-connect or untangle, the latter being what i'm actually currently using.

the point? the untangle ui really pisses me off. it goes to all this trouble to look fancy and stuff, but it pretty much utterly falls down in terms of actual usability. it bugs the crap out of me when people put effort into totally the wrong thing, thinking that they are doing such a great job because ooh we have a brushed metal look! gah, humbug.

(yes, sure, if i had free time i'd sketch out if not actually implement a Better Way that i can already see nebulously in my head. i'll give you a hint: visualization.)

Wednesday, March 18, 2009

yes, hammers.

(i wonder if he was a C programmer?)
a new fun little game: which commercial airplane has the nastiest incidents and accidents? like, really: falling out of a plane, that is pretty high up on the oh shit why me scale. (the DC-10 represents (including bloody concorde for crying out loud!), although maybe so much partially because more of then were sold and operated than of the tristar.)
maybe skynet will just be born from the interaction of web ads: i read a mailing list post from somebody who sent from yahoo, so it has all the lame yahoo ads in it, and then gmail is trying to infer from the mail what ads to show, so gmails ads are equally irrelevant. yeah, that skynet would probably actually be kinda worse than the one that just eviscerates you.
great, they tried to make the label functionality more useful in gmail, but it still sucks! if you try to select more than one label at a time, you have to hit the apply entry apparently, whereas if you clicked just one name (not the checkbox for it) it would have been applied with that one click. st00pid.
ah, no wonder it all sucks so hard most of the time. of course.

[blogger: conflicting edits.]
"A system must be managed. It will not manage itself. Left to themselves in the Western world, components become selfish, competitive. We can not afford the destructive effect of competition."
this is your brain on erlang. "The fact that I often don't need to explicitly store my state anywhere, it will hang out in a receive block waiting for me to get back to it seems counter-intuitive." any questions?
i was (seriously) just today thinking about this. nice.

i did some quick and dirty charts to show them, fwiw:

linear (funny ha ha).

log scale, so you actually see things.

note that 1ns = 1e-9s, so none of these things take a full second. the largest takes .15 seconds.
some interesting thoughts on api design care of XOM.
fyi, we're 9 months away from 2010.

how.

effed.

up.

is.

that?!
ok, i should rename this blog to, "i hate the future".
if {you / your team / somebody else was pulled in to this experiment} wrote the same code again, in a different language, what are the chances that it would behave the same way? in other words, do you really know wtf you are doing vs. just sorta saying "eh it works, good enough"?
'If you believe something to be value-adding would you do more it? would your customer pay you more for the outcome if you do more of it?"

If the answer is "no" or "don't know" then it's waste - either necessary or unnecessary.

If and Only If the customer values the outcome of the activity is it value-added.'
gc is a nice idea, don't get me wrong. but it is funny-sad how often people end up doing crazy manual work to try to deal with gc behaviour they just don't like.

Tuesday, March 17, 2009

because the genius academics at scholarpedia have never heard of run length encoding? ok, ok, the rle program would possibly be too long to win, but their first example is given in natural language, so the whole setup is just really lame imho.
so, i'm told that software development is hard. i guess i can believe it.
go and rank how dangerous your system is! make it more dangerous if you don't score high enough?
the power-saving features of laptops are funny. i mean, who doesn't get annoyed when the screen suddenly dims, even if they weren't using the machine, and nudges the machine to get the screen light back up?
i guess i'm a cranky old geezer. i already have an rss reader, why would i install adobe wave? why shouldn't providers just use rss to get announcements out? (i mean, i'm talking from an end-user perspective, rather than from a technical performance perspective where rss might be considered kinda suckful.)
i guess i'm a bad person. it bugs me when people are crowing about something that should have been done right in the first place.
on the whole, i kind of hate the google apps settings uis. i also hate that what seem to me to be basic features aren't there e.g. simply being able to rename a folder in Reader. oh well, it is free, i can't complain... oh wait i just did.

update: yes!
just because you are smart and experienced, don't think that guarantees you will succeed in all ways on a fool's errand.
i am not sure how to put into words the degree to which i think it is self-evident that the tax system in the usa is outright fubar. i mean, i'd have to go through a year of incessant cursing before i could get through to making anything like a statement, and even then the first statements would be things like, "doesn't everybody see how fubar this is?"
yeah, dijkstra was a mensch, if you will. (it bugs the crap out of me when people use break, or have multiple return statements in a function.)

Monday, March 16, 2009

a nice post on how FP can infest your brain.
svn: always so near, and yet so far away. (ok, maybe if you work on a code base that doesn't suck, then it could be useful.)
in other words: "i made a game! it is a neat idea! oh, but, wait, the actual implementation sucks ass. ha ha!"
gosh, here it is: how to run a software company.
"The aim is to write an excellent book, not a perfect one."
there's a good chance that STM sucks, but it seems to me that classic shared-mutable-state is more often than not guaranteed to go wrong: either you have races, which you might not notice, or you have deadlocks, which you might find hard to reproduce and/or design to avoid ahead of time. so why hasn't the actor model taken off? i mean, if this is the way developers really approach development, don't they (we) obviously suck ass?
"we won’t be an expert in our field until we’ve made every mistake possible."
some thoughts on good citizenry in source code.
on set based concurrent engineering: like agile, only fatter (intended to be more flexible / likely to narrow down to the right idea in the end).
"Anything which needs agreement will eventually fail at scale."

Sunday, March 15, 2009

it kinda bugs the heck out of me that text areas (in firefox, at least) do not put the cursor at the every end of the entered text if you click below the last line of already entered text. (well, unless the last line is short and you click below but to the right of the end of it.) i would rather that if you click beyond the last line that it puts the cursor at the very end of the last line, so i can easily click to continue writing.

Saturday, March 14, 2009

so personally i feel that the legal system in most modern 1st world countries is pretty much evil in that the number of laws and the complexity of interpreting them is far beyond anything i can see as being reasonable. it definitely makes me think the legislature is kinda outright fubar evil.

of course, a quintessential example is was and always will be the tax code.

Friday, March 13, 2009

i fundamentally do not understand other people, i often feel. that and/or i just have a midas touch and can't really ever get technology to work correctly. like, i get nothing but ClassCastException errors in Clojure, with no further information to actually, you know, help me figure out where my code went wrong. so that's a lot of fun.
it bugs the crap out of me that people apparently completely epic fail when it comes to documentation for their project. like, clojure even has some docs, but finding them is dumb luck. e.g. the google code site's wiki doesn't point to the wikibooks stuff.
i think static type checking helps somebody who is new to a code base, because it helps to clarify if you are calling something incorrectly vs. the thing you called has a bug. if instead you are only getting runtime errors, it is harder to know which case it is.
i'm glad Clojure exists, to give Scala a kick in the ass.
in a parallel universe where i am even more vindictive, i would have just added another nail to the nail-studded baseball bat that i am saving up for if/when i ever meet the people responsible for the "you are trying to reply to a message in the trash" ui in gmail.
"Closer to the mark, but ever scarier in terms of its results..." Can we all just agree to not love C++?

Thursday, March 12, 2009

blah. i love how subclipse purports to remember the history of check-in comments i've written, so i can easily re-use/edit them, but in fact it utterly fails to do so, so i have to manually type them in again.
yes, you can be a hard ass, for good, and profit.
excellence >> perfectionism
it has always bugged me that i can't write 1,000,000 in the programming languages i use. if it is because nobody thought that would be nice, then that is sad. if however it is that people didn't want to get into wars over European vs. American punctuation for numbers, well, ok, i can see that point.
no i don't know the underlying details, but it seems weird to me that many programming languages don't have a "log base 2" function.
as far as i am concerned, any supposed benefit of economic globalization is far outweighed by the actual true implementations we have had and are ever likely to have. i'm really all for 'inefficient' smaller local economies, if only because i assume such a structure helps limit how wide-spread any damage might be.
i think my 2 favourite cuisines are Mexican, and Vietnamese.

Wednesday, March 11, 2009

i think the whole lisp-as-data thing is nice when it comes to doing really quick and dirty testing and debugging, because it should be easy enough to e.g. dump out the source of a test that fails.
i don't get why scala doesn't have 'when' (in the opposite of 'unless' sense).
immutability >> type checking?
man. wasn't that original Mac UI just a wonderful thing? so freaking clean, and mind-blowing at the time. just seeing a screen shot of it now, decades later, brings back such cozy happy comfy feelings.
on the $$$ that comes when you make sure to force something to remain toothless in perpetuity.
"when making decisions, the danger is that we make the wrong decision, often without realizing we are making one, or ignoring other options. so often the best decision is to defer the commitment until we have more information. or we reach the last responsible moment when we have to make a commitment."
"manage the time rather than the cost."
"manage the handover and not the detail of the task."
"it means on average an IT project takes twice the estimate but worst still, in 10% of the cases it takes more than four times the estimate."
for a language that i thought was supposed to be all about dealing with files, and doing things easily, it sure seems like reading files in perl takes a lot more ascii than it should.
why does google maps now insist on starting off in terrain image mode? i hate that. i pretty much mostly only ever want the abstract map view. it is also lame how if i click on a "hit" on the map and it brings up the details overlay and then i close that overlay, apparently (at least right this moment) i can't get the overlay back ever at all.

Tuesday, March 10, 2009

here's a problem with some approaches / uses of plug-ins, as exemplified by eclipse: it lets people wash their hands and say No My Problem (or even Not My Problem, i bet). i mean, just trying to get a newly installed Eclipse to work with SVN over SSH on WinXP is not a one-click thing. as if that isn't, oh, i dunno, maybe the most common configuration of eclipse in the entire universe?
i've been stuck with eclipse 3.3 on my main dev machine. i'm trying 3.4 in a win xp vm. wow. they changed the ui for getting updates and plugins... and it is still pretty much complete road kill from a usability standpoint. kinda stunning.

[blogger: conflicting edits.]
is there (apparently there is, working in the eclipse team) anybody on earth who doesn't look at the very initial newly installed eclipse welcome page, that consists of basically no text at all and only some arbitrary icons apparently haphazardly scattered around the screen, and just barks out a laugh at how obviously wrong bad lame silly dunder-headed of a user experience that is?
oh, right, i mean i have all the time in the world. (i wish i did, really.)
promises/futures >> callbacks/events?
here's my amazing genius suggestion for programming language syntax: rather than having the result of "/" depend on the types of the inputs, how about it doesn't matter what the input types are and it only matters what version of "/" you use? i mean, just because you are dividing two integers doesn't mean you want to ignore any remainder/fractional result. it just seems so utterly wrong to me, the way most languages go.

hey, i thought of that last night. i knew it was a good idea even before i knew that Guido said so, too. i mean, furthermore, he is saying it only matters because python isn't statically-strictly-annoyingly typed, but i'm saying it doesn't really matter what the typing regime is, it should be that way for basic usability reasons in all languages.
yeah, the more i experience the eclipse "solution" to plugins and updates, the more i dislike it.
if i had a million bucks, i'd spend a good $10 of it on setting up a bot that would auto-register cypherpunk@cypherpunk.com/cypherpunk everywhere. it is annoying when a site doesn't have that already registered.

or just do a google search and hope the answer works?
and another thing: why are all the commonly used dependency "helper" systems so far short of actually being what an end user would want? eclipse sucks, rpm sucks, yum sucks, maven sucks, you name it.

i mean, i guess it just must be a hard problem. (seriously.) although i think a lot of the suck could be resolved by uis that suck less and offer more magic (magic that, off the cuff, doesn't seem like it would be impossible to implement -- it is sorta just a recursive application of what already exists, in a way).
i like the idea of scrum as a path to integrity: living up to the ideal of done-done.
it continues to -- daily, minute by minute -- boggle my mind that people can still make such completely hateful web site uis.

i mean, as if they are being paid to actively prevent people from getting the product.

seriously. and don't even get me started on the issues with the actual product itself.

i feel like, even if i do figure it out, i should specifically boycott them for ever. otherwise how is the free market going to kill off this kind of crap?
well, gosh, does merging have to always suck? i mean, it just seems like a perfect place for visualization and gui-ness and interactivity to be applied.
instead of everybody trying to reinvent erlang on the jvm, and sorta failing to see all the important parts (which apparently the Maestro folks at MSFT have recognized, at least, to their credit), how about just implementing the jvm inside an erlang process, with extra actor libraries, so you could gradually make your lame shared-mutable-state-explicit-(dead)locking code be more actor like, and/or use some STM along the way?
for the love of heck, why oh why does database access remain so difficult and evil and bloated and broken and unsolved?!?!?!
kanban: make it visible. so you can learn.
post #3996: still haytering zimbra.

Monday, March 09, 2009

if you don't hate sendmail, you don't know jack.
todo.
is it funny or sad that computers have been put to use to make job search uis, and invariably they suck? funny when places like hp outsource it to some other company that sucks.

Saturday, March 07, 2009

gmail hates me or hates firefox or something these days, and often (randomly tho) refuses to load the ajax version. so i am now learning how foobar bad the ui of the plain html version is. oy veh. mein gott. whimper.

Friday, March 06, 2009

all i can tell you is: right now, centos 5 is not very well supported on openvz, as a ve.
so in theory, things like RPM make your life nice and easy right? yeah, well, i call bullshit on that. i think in the end i'd much rather just have all the os apps written in java and use maven.

hardy har har.
mmm, fuzzy!
so since all my 'VEs' on my openvz machine are the same centos, it would be possibly interesting if the 'HN' fs for them was a copy-on-write one, so that all the things which are the same would be not taking up N times the disk space?
why are there still no rpms for djbdns on centos (in particular, 5.2)? weird?
zoikes, talk about uncanny valley!
so the machine doesn't have rpmbuild. so i do yum install rpmbuild. no luck. google? oh. the package name is rpm-build. ha ha. thanks a lot.
wow. i fall into that trap all the time myself, although it is a bit of a twist on it: i don't go looking for bugs, it is more that the bugs jump out from behind the bushes and mug me while i'm just trying to do regular things.
why are there so many people in the world who completely fail to understand how to respond to email? like: not excerpting the entire thread and then inserting somewhere a single sentence of their own contribution?

Thursday, March 05, 2009

i get sorta sick and tired of reformed people talking, although, sure, there can be some interesting insight there. what i'd like to see some time just for silliness is a good person who decided to start being a weasel, and talking about that.
define:ethics == see enron.
there's an indie movie script in there, somewhere.
spikes. it's all about the spikes.
yes, maybe you should use erlang and just throw hardware $$$ at the problem: "Anything that mucks up isolation is a mistake."
i love how gmail puts up a big dialog box that wordily explains that i've been logged out because somebody logged into that account from somewhere else. when in fact all i did was click on the gmail "log out" link. sorta akin to the high quality of blogger's 'conflicting posts'?
hm. judging by some mailing lists i've seen, if you want to know who your lurkers are there's nothing like making a comment about programming language syntax. like, say, "anybody who things whitespace-sensitivity is OK is an idiot!" or some such, maybe.
"Feedback [XP] being the emphasis rather than eliminating waste [Lean], resulting in a management process derived from software development practice."
out of all the star wars stuff, i think the probot and the mon calamari ships are my favourites. (perhaps the runners-up would be the speeder bike, the at-at, respect for the millennium falcon, and the tie advanced. note that generally speaking i never find cg things to be engaging, no matter how cool the design. what's up with that?)
gmail kinda bites, or certain browsers do. who knows. i'll revise the statement to just say that technology sucks. or at least, the web. they have this new ui for the "label" ability, and it is pretty messed up under both opera and safari -- not that, i'm sure, they give a rats ass about those browsers?

Wednesday, March 04, 2009

wow. this is so weird. i actually used to like reddit. but now it has decided to actually pretty much just give me, their user, the middle finger. why would i stick around for some site that apparently hates me? that doesn't apparently actually want to work for me? it is completely insane, especially if they are just worried about botting -- put a bloody captcha in there, instead or something. yeah, it is probably them trying to make sure the comments don't suck, fine, i can sorta see it from their perspective, but from mine, from my experience as a user, there is no excuse.

seems like somebody should make a firefox plugin or greasemonkey script that just automatically makes a new account and posts the comment, to get around this bull-pucky.
well, i'll be darned!
personally, all i'm saying is, for me: if you don't start with usability, with user experience, first and foremost? you deserve to rot and die. that's all i'm sayin'.
ha ha, "an amiable work environment"?! when i was there, the phones were ringing off the hook with really bloody annoying ringer noises, and i'm just a customer there for 20 minutes, not somebody working there all day long.
i have it in my head that there was some chinese movie with english subtitles where somebody was insulting somebody else perhaps indirectly by saying, "you are so great!"

that is sorta how i feel about technology. like, i re-doc this macbook pro to the external monitor, and then firefox does this completely insane thing that totally drives me nuts and frys my brain: when i try to drag it to the other window, it pops back so that the title bar is on the window i don't want it on. i tried all sorts of things like maximizing and minimizing it and also 'detect displays' in the system properties etc., nothing worked.

i had to quit firefox completely, and then it stopped behaving like a methamphetamine jerk.

point being, i have no idea what combination of technological issues all combined to lead to this, and frankly i don't really want to have to spend time trying to figure it out.
time for some gospel.
another name and shame list? fun!
seriously, now that we have elwire, i think everything aviation-related should look like the automan tv show.
apparently,

1) you don't actually have to be that proficient to give a talk. maybe just be unaware of your gaps, and able to roll with the punches. (i'm too stressy uptight for that, but maybe i should just learn to lower my standards and start trying to give talks.)

2) if you paid for the convention, you are a sucker. either your company should pay for it, or you should have signed up to give a talk so you could get in for cheap/free.

apparently.
also? i kinda hate gmail today.
i really strongly dislike (i'm trying to change up my vocabulary and not just use 'hate' all the time) the thing in firefox where i try to load something that isn't html (e.g. a .cpp file) and it doesn't just freaking show me the file as ascii, no, it tries to save it, or load it into some external viewer program, or some such hayte.
hey, also, that centos 5.2 installing suckiness? yeah, well, it just keeps on suckin' in new ways with every step.

at least, i guess, it is free.
maybe it would be neat if your IDE could show you alternative ways of writing your block of code, so you could notice if there are cleaner ways to express what you mean. taking a simple example, it could show you the alternatives of using an if-else vs. using the ternary operator.
damn, dood! could the centos 5.2 install suck any harder?! i should go register the domain ihatecentos5.2.com or something.
admittedly, my opensuse 11.1 machine has limited ram. but the difference between how well opera works and how well firefox works is almost -- to use an over-used word -- stunning. opera just plain sucks.

Tuesday, March 03, 2009

funny how i burn cds and dvds in this macbook pro and like 50% of the time they fail to burn right. even when i tell it to burn at slower speeds. could be the media, i guess.
well, ok, at least null is less crappy than a pointer to 0xDEADBEEF. but it all still sucks butt.
i'm glad the scheme world is still kicking. in college, scheme was my first "wow, i don't hate this langauge!" experience, followed by sml. otherwise c/++ really always made me depressed.
even if the code doesn't require it, being as specific as possibly with types is good because if you ever log things then the humans who read the logs will have an easier time of making sense of it all. if everything is void* then it can kinda suck to trace back to what caused the log entry.
look, in this day and age, if your programming language system doesn't let you do something other than the bog-standard "constructors are named the same as the class" thing then it sucks ass because inevitably you are going to want a builder or something and it will be a yukky-poo experience to bother to try to refactor the code to do that.
Stepanov said something like how C++ was the only language that could do what the wanted to do. but i've always wondered, why not O'Caml?
what does it tell you about a language when there are things which basically you should never do, but which are supposedly pretty common / core things? like, in java don't clone, and in c++ everything is doomed, including inheritance, and equality!

Monday, March 02, 2009

some steps towards reducing the suck.
and how!
well, good thing we already have those killer robots to take care of things!
so, go and get your own darned kanban.
i want to write an atari 2600 game before i die. but i want to write it in a functional programming language that then auto-generates the 2600 code. so i can do all my work interactively in a simulator and all that jazz, and then spit it out to a real 2600 in the end.
wish it were available in a larger size.
i would like to read more True Stories of Becoming Agile.
"Q: When are goals appropriate, and what ingredients should be included?

A: Goals are appropriate when you know exactly what behaviors you want, you aren't concerned about secondary behaviors, and unethical behavior is not a big risk. In other cases, you still might want to use goals, but we recommend doing so with caution, and our paper discusses the needed steps to take (e.g., strong leaders who model appropriate behavior, oversight to prevent unethical behavior, etc.).

Q: One of the most famous stretch goals was delivered by President John F. Kennedy: "I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the moon and returning him safely to the earth." Good goal?

A: It was excellent for motivating behavior. It was a stretch goal that got us going. And as a side effect, it increased training and funding in the sciences. It may have also increased the degree to which the United States and the Soviet Union spent limited funds on mutually unhelpful defense expenditures. So, I think the answer is in the eyes of the beholder. Personally, I think society might have better spent the extra funds that went to NASA.

Q: If not goals, what?

A: Creating environments where people want to achieve, where they want to help the organization, and where they want to do so in an ethical manner. Research shows that an even stronger effect than goals is intrinsic motivation, having individuals do an activity because they find the work rewarding in and of itself. Given that goals can undermine this intrinsic value of work, sometimes the best solution is no specific stretch goal at all or at the very least mastery or learning goals.

I do not need someone to set a stretch goal for me. I am happy to help make HBS, Harvard, and the broader society a better place. And if I do not want externally imposed stretch goals, and believe that I do not need them, I think there are many others out there in the same condition."
yeah, i had to go through that SMART stuff before. fun!
so people make estimates about software engineering tasks to be done. and yet everybody knows it is sorta b.s., especially when you don't even pay attention to the inefficiencies of your 'pipeline'.
sure, seth had his 3000th post, big deal -- i'm almost up to 4000 already! er, of course one has to admit that technorati says this blog is "Rank: 2,506,682" so maybe the sheer number of quality posts here isn't quite enough?
opera has support for bit-torrent downloading. except for how it sucks: once the download is going, i can't find a way to alter the up/down speed limits. right-clicking doesn't seem to give anything relevant. so even if the feature exists, it sure isn't up there on the usability ranking.

so near and yet so far away.

Sunday, March 01, 2009

nil/null sucks, right? even tony hoare says so. so then you maybe want to use an Option or Maybe type a la Haskell, Scala, etc. but if you are in a dynamic language that doesn't do some kind of up-front static checking, then it isn't going to be a whole lot better. since nothing about checking with types is, there.
sure, my machine is not the newest and fastest in the world. but, sheesh, ruby is just way too painfully slow. and super likewise rails. there is just no real chance for getting into a "flow" state for programming there, and i don't have the desire or resources to throw money at the problem.
i think to use emacs without going insane and having your left hand cramp up and stuff, you pretty much have to have 2 ctrl keys mapped: one at the bottom so you can use the palm of your hand for things like ctrl-n, and then also i instinctively reach for the one where most keyboards have hateful caps-lock when i do some other commands. i guess there's something to be said for vi's approach.
emacs kills me. i wouldn't be able to use another editor, i grew up on emacs, but shoot. i wish somebody could come up with something that was close enough that my finger motor memory would work ok, and yet fix all the frustrating ui issues it has. of course, anything which tried to reinvent emacs would potentially just become another giant bloated thing with as many, if different, issues.

somebody really needs to come up with a strong mathematical theory / way to model usability. like, how feature interactions work.
yeah, i suck, too. and, frankly, any programming language that doesn't fully support recursion (e.g. with tail-call optimization) sucks rotten eggs (ruby, java, you name it -- why do We continue to use such crap, anyway?!). ok, maybe at least those languages which have a bsearch in their standard libarary get a stay of execution, but still, they should have a life sentance.
linux kinda sucks, even today. suse 11.1 gnome desktop is an experience in really very crappy ui and usability. centos 5.2 netinstall is an experience in really very crappy ui and usability. see the trend? i have wasted many hours because of those facts, rather annoying.