Archive for the ‘Uncategorized’ Category

A reminder that I’m not so original…

September 4, 2008

I came across this and after reading back to April or so was surprised to find a collection of quotes that summarize everything I’ve thought for… a long time now.  Looks like I’m a slightly more quirky and moody version of a subset of miscellaneous Paul Graham remarks, Brad Bollenbach advice, zen philosophy, and nerd jokes.  Good to know.  Anyone that couldn’t stomach my last fit of self-critical psychoanalytical naval gazing posts (tl;dr!) can get a much more entertaining rendition of the same theme there– with lotsa pictures, too!

(The generic looking office pictured in the many mug shots there reminds me of the matte background of the endless cubicles in Tron.  To think that something so generically stultifying could have once been glorified….)

How to Leverage Your Understanding of Your Personality Type to Get What You Need

August 29, 2008

I apologize for this up front. I hate the psycho talk.

Fred: I really like superheroes.

Bob: I hear you saying that you really like superheroes.

Fred: Yeah… uh… I do. Do you like superheroes?

Bob: You’re asking me if like superheroes. I understand that. You are trying to relate to me. This is good.

Fred: Uh… I’m trying to find out… uh…. Oh, never mind.

Bob: You know what you’re problem is? You never reflect anything back to me. I reflect your thoughts back to you and it shows that I care and appreciate you. You are totally insensitive and do not know how to have healthy communication.

Fred: I hate you.

[Extend, remix, and rework above until it's a full fledged Monty Python sketch.]

So yeah, this is fundamentally stupid, but it may be helpful if you take it with the usual caveats and grains of salt.

You need to learn to negotiate. If you have a genuinely rare personality type, you tend to cave in to other people’s assessments of you way too quickly. They’ll walk all over you because they don’t understand you and don’t think your perspective has any value. You adapt to the majority all of the time, but they will cut you down for implying that they need to accommodate you in any way. They think they have you “pegged”, but the real problem here is that they don’t have enough empathy to actually care about this. There may not be any real ill-will or animosity behind their attitude: they’re dealing with something they don’t know anything about and they *don’t know* that they don’t know anything about it!

What this means is, you don’t have to be hurt or insulted by their ham-fisted attempts to belittle or blow off your needs. You have these discussions all of the time because you’re literally a square peg in a round hole– you’re the odd man out. You’ve been criticized all of your life so you’re probably oversensitive at this point: when these people come after you, you are humiliated and maybe turn your anger and disappointment inward. This results in a downward spiral of depression and/or classic co-dependent behaviors. Some people will push you over the edge and you’ll explode in what looks to them as being completely random outbursts of anger. This makes you look bad. You look like a freak, and then they take the moral high ground… and from that position of relative power they’ll continue to turn the screws on you and kick you while you down. (Figuratively speaking, now. Stay with me, here….)

Don’t take the bait. Stay calm. Don’t be shocked that you have to keep explaining your perspective. If you hang back and give them enough rope, they’ll hang themselves. You’re not asking for much: just a little sympathy, that’s all. Just some sort of compromise here or there. You’re flexible. When they can’t handle this, they will resort to being negative… they might whine or criticize you… they may even try to commit some form of character assassination. But none of this has to affect you. It doesn’t bother you at all! The balance of power has shifted because you know what’s going on and they don’t.

Stand your ground. Have patience. You don’t have all of the answers, but you have to help your friend collaborate with you to form a solution that may end up surprising both of you. But stop apologizing and stop taking these sorts of conflicts personally. That’s not doing any of you any good. The other person will ultimately benefit from working with you in these things, so stop beating your breast because you feel like you’re so selfish you can’t even raise the issue. You’re not being selfish… you’re the one being the mature one and you’re trying to make a positive contribution to improving things.

Things aren’t as bad as you think.  You can benefit so much by just a small number changes.  Go ahead and stand up for youself.  You do deserve it.  And they do, too.

Irrepressible Conflict: An INTP(?) in a Wasteland of Normalcy

August 26, 2008

“Throughout history many of the INTPs who contributed substantially appear to have never fit in with established norms enforced by the institutes of scholarship. This makes sense if the institutions are fundamentally flawed and don’t consider that different people learn in different ways. School always seemed to shut my mind down rather than open it. Only by following my own interests when I wanted did I excel. I always considered grades and deadlines as hindrances to learning. Such things are more useful for teachers and administrators than for students. Whenever I wrote a paper in college I was compelled to solve some enormous problem faced by mankind. If I could not, I thought the exercise was pointless and became disinterested. Needless to say I did poorly in school only completing three years of college.” — Glen Andrew Hendler

My first memory of that horrible consuming fear that welled up from the pit of my stomach is from when I was four. I was supposed to go to swimming lessons and I really did not want to go. I remember laying in bed at nap time, fan in the window, trying to look totally asleep hoping that everyone would forget about me. I was forced to go and I survived somehow.

Things got off track about the time I was singled out. The “challenge” program was once a week, so I was cursed with having to keep up with the school I’d missed. Completely not my forte– too many lists of things I would never get around to working on. I remember sitting at different tables at challenge… with pretty boards tacked up with cool projects to work on. I remember certain ones would stick out to me as ones I would do, but most of them… there was that sinking feeling again. I don’t know what I needed, but being left there to pick, choose, and complete those things… that wasn’t it.  It was a shame, though.  Those teachers had worked so hard to make their pretty little boards.

In middle school I would be subjected to the ultimate humiliation: I had to carry a booklet around with me, write my assignments in it, have my teachers sign off on it, and then have my mom sign off. To have to be seen by the cool kids and the cute girls every single period… it crushed my spirit. I think that was when I lost what little tolerance I had for putting up with the bureaucratic suburbanite wasteland gulag of normalcy. I stopped trying to dress like other people and I stopped listening to the same music everyone else did. I created elaborate plans of running away with a friend– we’d picked Louisiana because there was a lot of water there and we figured we could live off fish or something. Never did it, but to the extent that someone could “drop out” but still show up every day, I did.

In high school I would exert myself on anything except the officially sanctioned curricula. I read Dune, Lord of the Rings, James Gleick’s Chaos and other books in class. I would spend enormous amounts of time tinkering with complicated wargame/rpg hybrids. I would work through Pandolfini chess exercises. I collaborated with similar folk to produce a relatively clean (but self-consciously subversive) underground newspaper– completely insane: published daily, pasted down computer printouts put together during homeroom. (Do you realize what they’re doing in those schools… all of those brilliant kids marched around and made to go to… homeroom?! What?) We lasted two weeks before we were caught and duly punished. My role was not the superstar, but more of the mastermind– I could inspire people to collaborate… and I’d somehow harness and sift everything and provide a framework from which more talented people could do their thing. Okay… not mastermind: co-mastermind. But I was an enabler… a key supporting role in the center of the action. There was definitely a controlled drama to it… but what we did had to be something that ignited a fire behind our eyes. I guess we shouldn’t have watched Dead Poets Society or anything like that….

About that time some silly girl became enamored with me. I’d thought it was something that I’d always wanted, but I completely did not know how to handle it. One minute there’s sonnets spontaneously bursting from my chest (as it were)… but I was going away for a special 5 week program. Of course I said, “I’ll write you every day.” How many letters do you think I wrote? None! Completely consumed by that mysterious paralyzing fear. What the heck is that thing!? She’d later forgive me for it, though I didn’t deserve it.

After compiling underground poetry magazines and recording completely improvised song tapes (awful, but very fun; we actually came up with a few good tunes) I was about ready for college. I hooked up with someone that taught Meisner method acting and did a couple of shows. That’s another thing I remember doing in school: memorizing my lines for the plays. The horrible sinking feeling returned after our last show. Oh yeah, there was one more show we need to do; it wasn’t on the schedule. Just a random thing the director agreed to. Mentally I was already done with it and ready to move on to the next project. I declined to do the show and left my drama pals to their own devices. I felt horrible about it, but lacking the… what, mental fortitude? Character? What? I just couldn’t make myself do it.

In college I’d settle down for a moment. I’d dabbled in so many things, but never gotten good at anything. I was completely slack with music lessons up until then. What would happen if I went all out? I had to know. I loaded up on Music Theory classes and practiced for hours every day, blowing off other tasks I needed to do. I’d play all twelve scales for over an hour at a time. I switched instruments over the summer just so we could make a band– the other guy was better than me anyway. I went nuts– but come hell or high-water we were going to have a jazz group on my campus. For two years I pursued my dream… and Wynton Marsalis actually showed up along with a dozen of the state’s best jazz musicians. It was a summer camp thing and I’d become sort of a cult hero to some of the classically trained kids there– teaching them blues scales and trying to get them to improvise something with me. (I was working a summer job in the kitchen, not attending the camp.) So it’s a late night jam session and they start playing “When the Saints Go Marching In”. I check the fingering, realized I could fake this one, and went up with the band. The crowd went nuts. It was some sort of crazy cult hero thing… they all wanted me to blow the roof off and I was soaking it all in. I played two choruses and the applause was deafening to me… and I totally got out of there because I knew that was all I had considering who else was there playing.

At the end of the night Wynton took a moment to exhort the kids. His point was to a) not hog the spotlight too much… and b) when you play something… *play* it. And to illustrate his point, right? He singles *me* out. “Where’s my man that was up here,” he says, right? Except… I was the man! Good grief. I was completely floored. (The guy that disappointed so many teachers and “broke so many hearts”… he’s the one that was called out on that night. Sheesh.)

It was not to last. I was instrumental in breaking new ground by creating some kind of jazz happening out of thin air on a campus that maybe wasn’t the most conducive environment for such activity, but… what to do after that? The wall for me was conducting and Music Theory IV– the 20th century stuff. And sight singing and ear training exercises decimated me as well. Collectively all those things… I just wasn’t as into them. Not good at them; couldn’t make myself go through the months of small daily practice in them necessary to master them– but somehow not able to see how to go about it.

So with music, I’d made my first concerted effort to become disciplined in the practice of something. I was very promising and went relatively far in a short time, but conquering one set of obstacles only revealed the next set– and I wasn’t up for them. The sinking feeling won and I wouldn’t even have a lousy major in music to show for it. Part of it was that the two years was up, the fire had gone out, and a new passion was taking its place.

I knew something was wrong. Wrong with school… wrong with the world. I read dozens of books on a cross section of topics that connected together in a randomly oblique way that made sense to me. I published an essay in the college paper that would later be lampooned as being the same style as the Unabomber. I was non-violent of course, but they were dead on about my lame polemics. I could not keep my mind off of it, though. I’d constantly be connecting the dots… everything from Lewis Mumford and Neal Postman to Noam Chomsky and Wendell Berry. I really thought I was seeing something. I put together this strange project… not really an essay… more of a collection of extended quotes from books connected by my mediocre ramblings. I heard from people years later that copies of it were passed around for a long time after. Crazy. I tried to pass it off for a project for an English class, but maybe got a C or a D for it– I was totally unorthodox in my subject matter and execution. It’s a wonder I graduated.

As far as writing goes… I never could do it. Those awful five paragraph essays they made us write in high school? I just couldn’t do it. And the drafts we were supposed to do? You’ve got to be kidding me! These things ate me up. I drifted into math practically by default. The one English class I did okay in was a summer class. I didn’t take anything else at the time and all we had to do was read some stuff and then write a short little ditty about it. Instead of agonizing essays… we just had to have something reasonably coherent that was more or less on topic. I could totally get into that. (Hey… that teacher had inadvertently invented blogging! If only he knew….) I’d also done pretty good in Philosophy 101, but my teacher was more interested in clear structure to arguments than to particular styles or premises– and he was pretty unorthodox himself. In other English classes I’d get consumed with getting ahold of the deepest truest meaning of the works involved… but the cogency was beyond my grasp. English majors would laugh at me for obsessing over the authors when they could write entire papers without having even read the books. Me? I’d read entire books looking for a way to build on a single point that would probably get thrown out of the final paper by any sane editor.

Ah well…. There’s more of this, but it’s all the same: some crazy guy with a fire behind his eyes chasing something regardless of the cost… and regardless of what the “official” specifications were. I’d thought he’d grown up and moved on… but he’s still here. He’s somehow stayed with programming for more than two years, but stylistically he couldn’t avoid being unorthodox to save his life. He makes his way somehow through the cubicals and the constantly shifting requirements, but he’s always up to something. There’s always some sort of damn fool idealistic crusade brewing in the back of his mind….

Okay… it’s time to finally define those function keys in Emacs…

July 21, 2008

Here’s my set-up. For “help”, most of the time apropos is what I need to do. Yes… I waste time mousing over to the drop down menu. The other twenty percent of the time, I want to know what a key is doing. Those two functions are going over to F1 and shift-F1 respectively. I’m not setting anything onto alt-F1 or super-duper-F1 because I’m not liable to remember more than two functions per function key.

The most important tool for the lazy roll-tester: comment and uncomment region go to F2 and shift-F2. (I’m sticking it next to F1 because I definitely “need help” if I’m using it a lot!)

F3 fires up the shell, because it’s the first thing I do most of the time anyway.

F4… “close” the current buffer. I sometimes use “kill other windows” (now shift-F4), but usually I forget what it does exactly and kill the wrong thing.

F5 is now the one stop keyboard macro stop. The usual scenario is… edit some code, start recording, save the file, change to the shell buffer, type the shell command to run the code I’m working on, then stop recording. Now F5 works like all those other IDE’s out there, except I get to keep my entire command and output history and I’m just one C-x b away from getting back to my code. Viva roll testing!

F6 switches to the “other” window. Yes. I still confuse C-x o and C-x 0. Maybe I’ll have more windows open if I have this, but I usually like just having one giant buffer, so I doubt I’ll use this.

F8 to run my emacs code I’m fiddling with– and shift-f8 to load a whole file. Yes… my left hand hurts from doing C-x C-e too many times today. (F8 was the next most often used key after F5 in one of my old IDE’s, so maybe I’ll think of something better, but I want something that will encourage me to fiddle with Emacs a little more often.)

Finally… what’s not listed here is what illustrates what an Emacs loser I am! (I’m still addicted to Tortoise SVN. Sad, but true.) Yes… those lists of things that “if you don’t know how to do these things with your editor, then you stink” are NOT yet represented here. Maybe some day…. For now… just preface your comment with, “I can’t believe you didn’t make a hotkey for ___! You are obviously an emacs loser n00b!”

(global-set-key [f1] 'apropos-command)
(global-set-key [S-f1] 'describe-key)

(global-set-key [f2] 'comment-region)
(global-set-key [S-f2] 'uncomment-region)

(global-set-key [f3] 'shell)

(global-set-key [f4] 'kill-this-buffer)
(global-set-key [S-f4] 'delete-other-windows)

(global-set-key [f5] 'call-last-kbd-macro)
(global-set-key [S-f5] 'start-kbd-macro)
(global-set-key [M-f5] 'end-kbd-macro)

(global-set-key [f6] 'other-window)

(global-set-key [f8] 'eval-last-sexp)
(global-set-key [S-f8] 'load-file)

Array References and Hashes of Hashes in Perl

July 18, 2008

Here’s some Perl code showing how to pass arrays around and also how to use a hash of hashes instead. The Perl books I have, perldoc, and Google did not really tell me what I wanted to know to do this sort of stuff, so I wasted a lot of time messing around. I’m not sure why that was…. I guess them Perl folks have different habits or terminology or something. (Not that I have anything against that…. I wouldn’t be learning it if it wasn’t different, now would I?)

(Note the the threearrays subroutine is returning an array of references. The crazy subroutine is casting those references back into local variables that you can play with. You have to do similar stuff when you want to play with hashes like that, too. I haven’t yet picked up a less verbose approach for doing that sort of thing.)

Anyways, with these notes, you might be able to more quickly move from a quick-and-dirty Perl script style into a more functional approach in your Perl coding. Good luck.

#!/usr/bin/perl
$foo[0] = 1;	
$foo[1] = 4;	
$foo[2] = 9;	

@bar = makearray(1,8,27);

showme(@foo);
showme(@bar);

&crazy;
&notascrazy;

sub makearray {
    my @array;
    foreach(0..2){
	@array[$_] = @_[$_];
    }			
    return @array;
}

sub showme {
    my (@array) = @_;
    foreach(0..2){
	print "$array[$_]\n";
    }	
}

sub threearrays {
    my @one, @two, @three;
    foreach(0..2){
	@one[$_] = ($_ + 1) * 1;
	@two[$_] = ($_ + 1) * 2;
	@three[$_] = ($_ + 1) * 3;
	#print "($one[$_], $two[$_], $three[$_])\n";
    }
    
    my @all;
    @all[0] = \@one;
    @all[1] = \@two;
    @all[2] = \@three;
    return @all;
}

sub crazy {
    my @x = &threearrays;
    my @a = @{$x[0]};
    my @b = @{$x[1]};
    my @c = @{$x[2]};
    showme(@a);
    showme(@b);
    showme(@c);
}

sub hashorama {
    my %hash, $a;
    foreach(0..2){
	$a = $_;
	foreach(0..2){
	    $hash{$a}{$_} = ($a + 1) * ($_ + 1);
	}	 
    }
    return %hash;		
}

sub notascrazy {
    my %hash = &hashorama;
    my $a;
    print "not as crazy\n";
    foreach(0..2){
	$a = $_;
	foreach(0..2){
	    print "$hash{$a}{$_}\n";
	}
    }	
}

OOPSLA 2008 in Nashville: Let’s go!

July 2, 2008

John McCarthy will be there.

Mark Jason Dominus, too.

I reckon it’d be a shame if I didn’t go down yonder to see them folks, seeing as how it’s just down the road and all….  Other lispy/geeky blogger types out there: can you make it as well?


Follow

Get every new post delivered to your Inbox.