You can lead a horse to water but you cant make him think

(note: to the reader who’s commented to me about the cat… this has nothing to do with you ;D promise!)

I keep running into the same basic wall when dealing with people: I am not a good teacher. I’m not. Period. There are many possible reasons, both internal and external, why this is. The bottom line, though, is that I cannot teach people my thought process. It never. EVER works. I’ve come to the conclusion that I don’t see the world from the same angle as all the rest of the people I know. My brain seems to process the input altogether differently.

This is not, at all, to say that the way my brain processes input from the world is better. In fact there are a great many times when I’m a blithering idiot when it comes to simple things (simple for other people.) For example I don’t remember things well unless there is some sort of trigger which my brain associates with the memory. A great example of this is names and times. I remember faces, but not names. I remember events, but not times (up to and including todays date.)

What I do well, though, is (apparently) whatpeople might call “abstract thinking.” I see a problem (note: I dont usually think of things as “problems”, really, it’s just something that needs to be worked out. there’s none of the negative connotation that I associate with the word “problem” when something can be worked out/through,) I take stock of my resources, and I deal with it if it can be dealt with, or I dont.

It doesnt bother me to try something N times before getting it right. I just do it. It doesnt bother me to do a highly tedious task when it has to be done. It has to be done. And it doesnt bother me to deal with that I’m given and figure it out.

And therin, i think, lies the difference. Most people expect to be handed something that solves all their problems. And it never happens that way. Most people have unstated expectations which are rarely met. I’m happy to get half the answer to a problem and work the other half out. To me thats an intriguing process. It’s fun and rewarding. To most people, I think, its work.

Thats the crux of the problem. Thinking is work. And people dont like work, especially that kind of work. So I cringe when people ask me to teach them something… because they usually dont want to be taught what I know, they want a dictionary of situation and response. I dont have one of those. I’ve never needed one. I can search, I can work, I can evaluate, but most importantly: I can think.

And unfortunately… I can’t teach that…

.mobi … seriously?

If we’re talking about really bringing the web to mobile devices, which are by their nature smaller, why are we using a longer domain name?

sure its just one character, but… on a keyboard thats 1/15th the size of a regular keyboard… or worse… with handwriting recognition, shoulldnt we go with the motto “more is less” ??!

apokalyptik.mobi ? how about apokalyptik.m … I mean… come on… throw us a fricken bone here!

opera mobile

i have to say that, so far, opera mobile (demo/beta mind you) is the best web browser available for my ppc6700 phone. minimo (ppc mozilla port) would win out except its slow (read SLOW) and crashes a lot. opera mobile is quick, responsivee, has tabs, and works with wordpress (how i’m posting this now!) thunderhawk was a promising cpntender but turned out to be a joke (to be fair my pho ne isnt supported)… at this point i’m stuck in IE hell… and it sucks…now… to find a *good* ssh client with dsa public key auth support

A class for normalizing mixed value containers

There are times (like when dealing with simplexml) when you just wish you had an array that you can iterate over for whatever your reasons are (especially when dealing with variable structured multidimensional unpredictable input.) This is also a good example of recursive functions, simplification of difficult specialized problems, and how one might use a class to accomplish large tasks in an encapsulated fashion.
[coolcode]

/**
* A class for [N]ormalizing a [C]ontainer to an array
*
* This will class will take any type of variable container and return a normalized array
* For example this will take the output of simplexml_load_string and render it all into
* a multidimensional array.
*
*
*/

/**
*
*/

class nc2array {

private $original_container;
private $normalized_container;

/*
* Takes a variable, and builds a normalized comtainer out of it
*/
function __construct($container) {
$this->original_container=$container;
if ( is_object($container) ) {
$this->normalized_container=$this->recursive_parse_object($container);
} elseif ( is_array($container) ) {
$this->normalized_container=$this->recursive_parse_array($container);
} else {
$this->normalized_container[]=$container;
}
return($this->normalized_container);
}

/*
* takes an array and parses it recursively, passing objects off to recursive_parse_object
*/
function recursive_parse_array($array) {
foreach ( $array as $idx => $val ) {
if ( is_array($val) ) {
$rval[$idx]=$this->recursive_parse_array($val);
} elseif( is_object($val) ) {
$rval[$idx]=$this->recursive_parse_object($val);
} else {
$rval[$idx]=$val;
}
}
return($rval);
}

/*
* Takes an object and parses it recursively, passing arrays back off to recursive_parse_array
*/
function recursive_parse_object($obj) {
$vals=get_object_vars($obj);
while (list($idx, $val) = each($vals)) {
if ( is_object($val) ) {
$rval[$idx]=$this->recursive_parse_object($val);
} elseif ( is_array($val) ) {
$rval[$idx]=$this->recursive_parse_array($val);
} else {
$rval[$idx]=$val;
}
}
return($rval);
}
}
?>

[/coolcode]

I’ve become a MySQL snob…

I find that, after keeping alive a database whose size I cant comment on specifically, on a budget that I cant comment on specifically (which would shock you if only you knew), I’ve become aloof to a great many people and their MySQL war stories… 300Mb, 1Gb, 100Gb, 1Tb, HAH! HAH I SAY! Here’s a quarter call someone who’ll be impressed.

Next time you have to move your datacenter across the country (literally coast to coast,) and you cant let your application go down, and you have 14 days to plan and execute, alone, oh and you cant cease taking information in on the old coast until you start can taking it in on the new coast, with over 1Tb of data to move, and replication to deal with… Oh, yea, and you dont get to take a break from running the old datacenter to impliment the new one, you have to do both simultaneously… yea… then come knock on my door.

Till then go take your 2Gb “one server is enough but i have a second server for backup purposes” MySQL (or any brand really) database, and be thankful you arent playing with the big boys. I’ve had the potential to lose more data to a power outage than you’ve got total.

Of Nature, Suffering and the Internet

If you live in an area with earthquakes, you might suffer. If you live in an area with a volcano, you might suffer. If you live in an area where it floods, freezes, scorches, has terrible storms, landslides, avalanches, aligators, bears, lions, snakes, spiders, insects… you might suffer. Sounds like suffering is inherent in nature doesnt it?

If you live in a city, you’ll most likely suffer. If you drive a car, you’ll most likely suffer. If you ride a bike, walk dow the street, deal in business, dont deal in business, work too hard, work too little, live in an unstable country, live in a stable one, work in a school, work at a prison, work (hell anywhere), IF YOU DEAL WITH PEOPLE YOU WILL SUFFER.

I don’t understand why it is that when suffering happens, iether because of nature of because of people, we all drop what we’re doing and gawk like a global community of rubberneckers. And I dont understand why we expect that the internet should be without suffering when we’ve taken nature out (the milder of the two) and replaced it with a heaping handful of human. Anonymous human at that. People this is life… Do something unprecedented about it, or learn to live with the fact that something might happen. Because lets face it you could fall for an e-mail scam, or you could trip on a crack in the sidewalk and sustain fatal injuries. Life’s just a bitch sometimes… It’s enough of a bitch without all the bitching going on…