pander dander
cakephp makes you pass the null. It’s infuriating to have to spend so much time in the api docs to figure out if its 6 or seven nulls that need to go as arguments in method calls. cocksuckers. I guess I’m just frustrated that I have to spend 20 minutes figuring out how to do something I could grind out in 5 minutes with ruby/rails. And since I am so frustrated I’m not really learning it while I’m making it just work ™.
There is a little spark of shallow enjoyment to be found in spending far more time writing code than reading about writing code. But fuck me if the problems don’t get more complicated as I gain more understanding. Despair clusters blot out my will as I slouch in my seat at the certainty of my spending the next week 16 hours a day writing code I’m going to be dissatisfied with. Because if i was smarter or better at paying attention or could formulate and retain the complex abstractions in my head and see how all the different platforms/languages/workflows/processes/types would most elegantly tie together if I could just muster up a little more understanding of the complex meta programming design patterns or transparent type conversions using format bridgeing with json/soap/xml-rpc/REST/clr interconnections over web services using a distributed grid network. But since I can’t my code is shit. I am that which those who know mock. This is why I rarely leave the house.
Just because I get it doesn’t mean I got it. After all, you can drive a car quite well without knowing how to rebuild the carburetor.
social engineering and the angry hermit
airport extreme + actiontec dsl gateway modem + sbc/att dsl = continuous connection loss & and me F*&KING pissed off
airport extreme log: dns lookup failure ntp.apple.com actiontec gateway modem log: *dns lookup timeout 68.94.156.1 *(anywhere from 5 to 20 lines of this crap and then): actiontec modem gateway log: serial cable appears to be disconnected actiontec modem gateway log: dns lookup failure 68.94.156.1 - connection reset
Problem fixed. Until I updated the firmware of the airport extreme. Back to the goddamn dropped connections all the mother****** time. Not only is it making my life harder, but I get yelled at by a certain lady when she can't read the paper and do her crossword puzzles online. So much worse than disappointed clients. Disappointed client stress is nothing compared to super pissed girlfriend.
Even though every machine and device in this house has been set to use DNS through opendns the airport extreme still looks for something with one of the addresses sent back to the client from our sbc dsl connection, and I have yet to find the elusive panel/setting that is ignoring the DNS I've set manually along with all of the other network settings.
I unchecked set time with apple time servers in the airport extreme base station and I'm hoping that will fix the problem. But the IP assigned to the airport extreme just had a failed dns look on one of the sbc DNS addresses. Sonofabitch. I have deep hate in my soul for all those gray beard bastards that made this shit so difficult.
giggle jiggle
Holy, holy. Resplendent dementia whets the madness whistle. Very few things in my lifetime of experiences have provoked as lucid a recognition of my own instability as this bit’o’cinema.
imagemap rollovers with area shape="poly" | The Prototype Remix
A long time ago I had to make an imagemap with pixel precision outlines of the continents with a hover state on the links, so I cobbled together a kludgey script that worked. That was then, this is now.
Prototype makes it very easy:
(prototype.js; mapHover.js)
Event.observe(window, 'load', function() { var mapLinks = $('Map').childNodes; $A(mapLinks).map(function(element) { Event.observe(element, 'mouseover', function(){ $('mapBlock').addClassName(element.id)}); Event.observe(element, 'mouseout', function(){ $('mapBlock').removeClassName(element.id)}); }); });
get the code for this
If you prefer, behaviour.js is also a way to solve the problem:
(prototype.js; behaviour.js; styles.js)
var maphoverrules = { 'area': function(element) { element.onmouseover = function(){ $('mapBlock').className = element.id; } element.onmouseout = function(){ $('mapBlock').className = 'mapbase'; } } } Behaviour.register(maphoverrules);
So fresh and so clean-clean.
Markup
The css/html is relatively unchanged (just some DRYing up, really) from the original example.
Scripting
The basic premise is the same as my original implementation I'm just leveraging the power and utility of the prototype.js / behaviour.js libraries to simplify with the added benefit of built-in cross browser/platform support.
Besides, prototype.js is solid krunk, yo.
filler up
been busy
Released the major xhtml/css overhaul of Jambo‘s website, released version 3 of the rails app I spend most of my time trying to fix, and produced no less than 3 xhtml/css builds for another client. I never pictured myself as a code for 24 hours straight type of guy, but I’ve proven a half-dozen times in the last 2 months that I can and will subject myself to the torture of little sleep, little food, and LCD burned eyeballs. I feel like after a few more years of this I could maybe, tentatively, call myself a developer. I think you have to miss showering for a month and sleep under your desk to be called a programmer. You get to be a bona fide uber geek when you can claim with pride that you haven’t seen the sun (anywhere but in a virtual world) for over 2 months.
I kinda dig the way my mind will become consumed by the inner workings of an application I’m working on. How thoughts of food and and other life sustaining concerns are forgotten, and in their place is installed an intimate knowledge of all the moving parts inside the code I’m desperately trying to understand more clearly and bend to my will. How I’ll dream about how to re-write a method, or other ways of attacking a problem that took way too much time to solve.
It’s also kinda cool to look at an error in the logs and actually know where to start looking to solve it, or why it happened.
Prototype 1.5.0 and json.js
IE7 tried to kill my soul - but the internets saved me
Another notable
In my source code I'm replacing all of these: With these:Because IE6 likes to choke on (itsowncock) comments in the code, and this will hide comments from the IE family. Anything I can do to deny IE full disclosure of my intent is a win. VIA [positioniseverything.net]