Server-Side JavaScript with jQuery and AOLserver at jQueryCamp07

Dossy presenting at jQueryCamp07

Here are the slides for my presentation, Server-Side JavaScript with jQuery and AOLserver, that I gave at jQueryCamp07 today.

Title slide screenshot

Tags: , , , ,

Overnight Website Challenge in New Jersey

A few days ago, Pete Prodoehl twittered about Sierra Bravo’s F1 Overnight Website Challenge that will take place on March 1st, 2008, in Minnesota.

I’ve had a similar idea that I’d been mulling over in my head, a kind of “Geek Corps” where geeks donate their time and volunteer to help people in need with technology–with a focus on local organizations, not overseas.

Are there enough web developers in New Jersey (or who would be willing to travel to NJ for a day) who are willing and able to donate their time for such a cause? Considering the trouble I’ve had finding geeks in Northern NJ, I really don’t know.

I’m sure there’s plenty of non-profit organizations who could use the help, but I don’t have a good idea of who they are or how to reach out to them. If you are part of or know of a non-profit that would benefit from participating in such a competition, in New Jersey, I’d appreciate it if you’d pass along a link to this blog entry to them.

At this point, I’d love to hear from anyone who is interested in a similar event as the Overnight Website Challenge, but in New Jersey. I would be especially grateful for any help in organizing such an event or spreading the word about it.

Alas, I’m still obese!

Even though I’ve lost a net of 5 pounds since last year, I’m apparently still obese. Losing 5 pounds doesn’t seem like a lot, but sometime during the year I peaked at 215 pounds (!) … so making it all the way back down to 185 lbs feels great.

I also measured myself and it appears that I’m 5’4″, not 5’3″ like I thought. It’s not a big deal, but it makes a difference to these calculators, I guess.

It seems that I need to get down to 174 lbs in order to reduce my BMI to 29.9, which would put me at the top of the “overweight” category instead of in the “obese” category which starts at 30.0 and up. Getting down to 160 lbs would get me to a BMI of 27.5, right in the middle of the overweight range. To get into the optimal range, I’d have to get down to 145 lbs for a BMI of 24.9.

So, since I’ve managed to shed those 30 (!) pounds going from 215 down to 185, I think I can manage to lose another 15 to get down to 170. I’d like to try and do that by the summer of 2008. Then, maybe I’ll try for another 15 to get down to 155 in 2009.

I can’t even imagine what I’d look like–much less feel like–if I weighed 155 lbs again!

Tags: , ,

Progress on nsjsapi running jQuery under AOLserver

It’s not fully baked yet, but let me take a break from coding to … squee! You have no idea how excited I am right now.

Back in February, I blogged about nsjsapi, an AOLserver module that makes the SpiderMonkey JavaScript interpreter (written in C) available to Tcl. Then, in July, John Resig blogged about env.js, which he used to load jQuery under the Rhino JavaScript interpreter (written in Java). env.js is neat because it’s a JavaScript implementation of a basic browser and DOM environment which isn’t provided by either SpiderMonkey or Rhino.

However, env.js assumes its running under Rhino, or at least has all the java.* and javax.* and org.w3c.dom.* APIs available, so it doesn’t completely work under SpiderMonkey. So, I’ve set out to implement all those missing bits in JavaScript, in nsjsapi.js. (Yes, I know I’m crazy …)

After a few days of furious coding and much head-desking, I’ve gotten far enough that I can do this from an AOLserver control port:

nscp 1> set js [js create]
js0x88e0838
nscp 2> js load $js /home/dossy/htdocs/js/nsjsapi.js
undefined
nscp 3> js load $js /home/dossy/htdocs/js/env.js
undefined
nscp 4> js load $js /home/dossy/htdocs/js/jquery-1.2.1.js
undefined
nscp 5> js eval $js {jQuery.fn.toString = DOMNodeList.prototype.toString; true;}
true
nscp 6> js eval $js {window.location = 'test/index.html';}
undefined
nscp 7> js eval $js {$('body').html()}
<div><span id='foo'>This is a test.</span></div>
nscp 8> js eval $js {$('div').append('<span>Hello world!</span>')}
[ <div> ]
nscp 9> js eval $js {$('body').html()}
<div><span id='foo'>This is a test.</span><span>Hello world!</span></div>

I guess this doesn’t seem like much of an accomplishment, but it’s a huge first step towards being able to do actual JS-based server-side web development under AOLserver.

I want to iron out a strange crash bug when the JS interp. is destroyed via [js destroy], and complete the file I/O stub that isn’t finished yet, then check in nsjsapi.js. I plan to get this done in time for my talk at jQueryCamp07 this weekend.

Tags: , , ,

del.icio.us/dossy links since October 15, 2007 at 09:00 AM

del.icio.us/dossy (RSS) links since October 15, 2007 at 09:00 AM:

The disaster which is my home office

The disaster which is my home office
The disaster which is my home office

Why did I just take a picture of this mess and post it? I’m not exactly proud of my setup, compared to other people’s swank chairs, multi-monitor setups, and so on. There’s nothing really noteworthy about the picture, really.

So, why post it, then? Well, I’m trying to motivate to clean this mess up, and this picture is going to serve as my “before” photo so I can see what kind of progress I’ve made. I’m realizing that I really downplay any progress I actually make when I set out on a task and that really feeds my sadness, anger and depression. Maybe having something tangible to measure against will help me get out of this hole I’ve dug myself into.

Okay, why not keep it to myself, then? Well, posting this publically makes me feel more accountable. Now, you all have seen it and those of you who are inclined to, can help me stay motivated to work on it.

This is an experiment. Hopefully a change in approach combined with the Wellbutrin XL I just started taking can help make a difference.

Tags: , ,

Find fun questions in your web referer logs with Google Analytics

I know that reviewing web referer logs is nothing new, but Google Analytics lets you filter your view. One use for this is to find search queries that were posed in the form of a question using the common question-forming words who, what, when, where, why and how.

Perhaps undocumented, but well-known to programmers, is the technique of concatenating terms with a pipe character (the “|”) which means “or”. This way, we can create a single filter containing all those words at once.

Screenshot of Google Analytics Keywords report filtered on 'who|what|when|where|why|how'

Try it out, see what kind of questions people were asking that resulted in a click-through to your site. Maybe you can add content to your site that better answers some of those questions and help future visitors who ask a similar question.

Tags: , , ,

Running AOLserver … on the iPhone?

Apparently Eric O’Laughlen has managed to compile AOLserver for the iPhone. Then, he went and forked the code into what he’s calling “Joggame Server“. (If you thought “AOLserver” was a bad name, it’s nothing compared to that!)

I haven’t jumped on the iPhone bandwagon, sticking with my old Treo 650 for now, but this makes me wish I had access to one. Running web applications locally on the iPhone opens the door to applications that are usable online as well as offline. Of course, someone has to write such applications, first, which remains to be seen.

Still, maybe this will help get some new folks interested in AOLserver and that can only be a good thing!

Tags: ,

del.icio.us/dossy links since October 8, 2007 at 09:00 AM

del.icio.us/dossy (RSS) links since October 8, 2007 at 09:00 AM:

Better living through chemicals, chapter 2

Last year, I started taking Paxil CR. Today, my doctor decided to add Wellbutrin XL to the mix, starting with a 150mg dose, possibly going up to a 300mg dose. In a few weeks, we’ll see how it goes.

Coincidentally, today I received an unsolicited invitation to join the Depression Support group at the Revolution Health website. The irony is, what depressed person wants to hear another person whine about how crappy their life is? It’s like taking advice on how to stop drinking from a currently abusing alcoholic.

Lately, my wife has been using my car more than I am–because I don’t need to drive much any more–and she went and took out the Pink Floyd CD from my CD player and swapped it with an Indigo Girls CD. As I got into my car to drive home from the doctor’s appointment today, Prince of Darkness started playing–a song I haven’t listened to in quite a while. The first few lines really made me cry (which is not good while you’re trying to drive):

I don’t know when I noticed
Life was at my expense
The words of my heart lined up
Like prisoners on a fence

My dreams came in like needy children
Tugging at my sleeve
I said I have no way of feeding you,
So leave

Sadness is an incredible emotion; it seemingly has no limit.

Tags: , ,