Is it just me or does programming with the new mootools (1.2) suck balls? They changed (and broke) a lot of unnecessary things. Tool tip titles are broken, form.send() no longer works, $E and $ES are “deprecated”…more like too easy.

Come on, MT guys, what the fuck are you thinking? This post is a little late, but I just finished converting beeets (JS heavy) to use MT1.2 and it was a big fat pain in the ass.

Plus, the documentation is lacking, the demos are castrated and only about half of them are there, and the new site just sucks in general. Bring back the old website, plz!!

Ok, everything sucky about it aside (everything), it does work marginally better. Some things that were buggy (IE of course) in the old mootools 1.11 are now working smoothly. Was it worth it? If one person has a better experience on the site because of it, yes. If not, then fuck…waste of my time.

But gee willickers, I can’t wait for version 1.3!!

“We released Mootools 1.3! BTW it’s not compatible at all with 1.2!! AND WE CHAINJED OWR WEBSIGHT AGAYN!! LOL BAI!”

So after hours of searching and tweaking, I finally got the answer I never wanted: it’s not possible to have apache serve mod_fastcgi requests through it’s own reverse proxy (ie load-balance mod_fastcgi). I know this is incorrect. But it had taken me so long and wasted so much time getting to the point where I was almost as clueless as when I started, that I took drastic action.

I installed lighttpd. I already had the FastCGI setup running, not to mention I got a new Linode for testing remote PHP. The only problem was that I couldn’t load balance between my slack box (web server) and my new linode (debian app server). BTW I chose Debian because the image was smaller and from what I know, it’s essentially the same as Slack. I really haven’t had ANY problems moving to it yet, and let’s face it, Deb is a lot more standard. Installing PHP was a bitch, but that’s what apt-get is for (no, I compiled PHP…but I’ll be damned if I’m going to hand compile all the stupid dependencies).

Anyway, within 20 minutes, lighttpd had PHP running through FastCGI load balanced between two servers. Needless to say, I fell in love. Not to mention all the information I was inundated with along the way about how small and lean lighttpd is swayed this choice a little.

So as far as I know, beeets is running great on both of its “new” servers and loving it.

There was a bit of trouble getting used to the new URL rewriting scheme, but generally instead of doing apache’s

RewriteCond blahblah !-f

You can just do url-rewrite(‘(images|css|js)’ => ‘$0′)

(this is a horrible oversimplification, but you get the idea)…you write the URLs you DON’T want to be rewritten to $0. Works wonders.

All that’s left is some cache-control headers (I’m crazy about them, if you can’t tell yet), and some speed testing. I’m excited to see if lighttpd is actually faster than apache under ab.

Next up, Capistrano.

Amazon S3

Very cool service. I updated beeets to pull all images from images.beeets.com, an S3 bucket. Also, all css files now go through

/css/css.php/file.css …which rewrites

url(/images/…) to

url(http://images.beeets.com/images/…)

And guess what, it all works. I had some bad experiences with the S3Fox firefox plugin in the past, but it’s since been updated and I’ve been using it regularly.

Also, using S3.php, all profile images now go directly onto images.beeets.com. Wicked.

So what does this mean? A few things:

1. Less bandwidth & work – beeets will spend more time serving HTML, CSS, and JS than images.

2. Safer – We were backing up profile images to S3 indirectly before, but the chances of S3 going down VS our hosting are slim.

3. Worse image caching – Before, I had .htaccess controlling all the caching for static files. I liked it that way. S3 doesn’t do this very well at all. Apparently it’s configurable, but I don’t know how…any ideas?

All in all, it should be better for beeets. Maybe we’ll actually let users have images bigger than 10×10 now ;)

Thumbs up to S3 (and probably all other Amazon web services).

Linode VPS

I gotta say, even though Linode is the first provider I’ve had a VPS through, they kick ass.

Their control panel is boss, and adding units is apparently very easy (haven’t messed with it quite yet). I’m excited to have beeets on there.

Having full control of the environment (and the fact that it’s Slackware!!) gives me a boner. I’m on there tinkering too much. I almost hope the site never gets big, because once it does I can’t fuck with it anymore (or I’ll have to have a test machine, I guess).

Anyway, there’s not enough positive information about these guys on the net. It was between them and Slicehost, but I ended up going with Linode because they were a) a bit cheaper, and b) not as “hip.” I tend to shy away from trendy companies.

Good work, Linode. Keep it up. Oh yeah, and thanks for offering Slack ;)

Wow. You’d think it would be easy. In fact, it should have been. Compile a module, load it from apache. Recompile PHP with –enable-fastcgi…oh wait, I already had it in there (always thinking ahead!!). Change some apache settings.

Right? Yeah, right. It took two days. I can’t even really remember why. The biggest problem was that running make && make install in the mod_fastcgi source was NOT yielding a ‘mod_fastcgi.so’ as the documentation PROMISED! In fact, it installed mod_fastcgi.la instead, a highly useless file.

So how did the master get out of this bind? Beats me, try asking him. As for me, I had to run ‘ld -Bshareable *.o -o mod_fastcgi.so’ which is mentioned in some document from a long time ago in a galaxy far, far away.

Let me interject and say that the information on the FastCGI website is “not very well documented.”

Day 2. I figured, what’s the point of FastCGI if it’s not set up to connect to a remote App server? Maybe I don’t HAVE an external server set up, but we can pretend. Well that’s another nightmare. There’s a good external FastCGI guide written about it, and guess what it worked. Not really a nightmare at all, come to think of it. Quite pleasant.

All in all, shouldn’t have taken 2 days =P (I’m a tinkerer)…but fuck it, I have FastCGI now, ready to connect to all those App servers I have churning away in the background (one day).

In all the excitement, I also compiled and installed the apache worker-MPM. A few tests with ab didn’t really show any noticeable difference. But threads are cool, right?

Next up: figure out how to configure Apache to pass all requests ending in .php (whether the file exists on the web server or not) to our “app” server. Is this possible?

IIS and PHP

So tonight I helped a client set up PHP5 on IIS 7 using MSSQL 2005. These things always work great in theory but judging my my use of the word “theory” in italics, you can probably guess that things weren’t so smooth in practice.

The client was smart enough to get FastCGI working through IIS…something I would have probably rolled over on. From then on, it was an upward battle getting a simple PHP prototype project going.

In the later versions of PHP 5, it would seem that all mssql_* functions have…been… removed? There is an ntwdblib.dll that needs to be replaced to play nicely with mssql 2005…but it doesn’t exist in the latest releases. How strange. I ended up reverting to 5.2.5, making me a not-so-bleeding-edge pushover :’(. It’s cool though.

Then MSSQL doesn’t accept normal logins, only windows ones, and it’s bloomin’ impossible finding out how to change that.

One thing Microsoft seems to have actually done right is release a rewrite module (much like mod_rewrite) that you don’t have to frickin’ pay for, which is nice. On a side note, I really hated Windows Server 2008. It’s like Vista in every way, except that the design is slightly different, somewhat. Sorry, MS, but get your shit together plz, kkthxbai.

Anyway, we got everything going. What a pain in the ass though!

If you’re wondering, I’m more of a Unix guy ;). And yes, I have used a computer before.

So, being in the service industry, one has to keep track of time. In my case, when I’m programming, I have to keep track of how many hours something is taking, and be able to organize all of my tasks.

Coming from QuickBooks timer, I knew something better had to exist. I was getting ready to buckle down and build it in .NET if I had to. I searched for days to find something useful. I finally did.

ToDoList by Abstract Spoon has had everything I’ve needed so far. I can keep track of everything I’m doing in a hierarchical list (tasks and sub-tasks, or projects and tasks) and TIME everything. I can also add in comments for all items.

This keeps client invoicing accurate and simple. Plus, it’s free. Can’t fucking beat that.

I tried a few items that sort of did what I want, including a few web interfaces which I was weary of (my work is MY business), but ToDoList takes the cake.

Normally I wouldn’t sponsor something like this, but I think they did a really great job. It has a lot of features (like list sharing) I’ll hopefully never have to use, but it’s awesome.

I started surfing about 3 years ago and have been doing it very regularly since then. It seems like I reach points where no improvement happens and I’m doing the same stuff, over and over, without change. I’ve had a few instances over the my surf career where out of the blue, I would do something, either by accident or by intuition, that launched me into a new paradigm.

I think it’s about to happen again. I’ve been the same surfer for months now. My bottom turns are good, I can generate power on a wave and turn without losing power (still working on gaining power), I can smack the lip on a steep section and keep control, and forever now I’ve wanted to do floaters. None of this has really changed for a while now.

The problem is that every time I’m sitting there thinking about how on the next wave, I’m going to do a floater, I get on the wave and completely forget…I get too excited.

Well, a few days ago I remembered. I saw a section breaking up ahead and instead of doing a finishing off the lip, I pointed my nose straight at the section, angled up, and just went for it. The wave shoved the nose of my board way up and I never even got over the section, but the point is that I finally had the self control to not cream my wetsuit after getting a good wave, and instead keep my desire to improve in mind. So I fucked the move up, but I’ve been able to keep a cool head when surfing, which I’ve never done before.

My hope is that this continues and I’ll be able to make quick, clear decisions based off intuition and will, instead of letting my emotions do the surfing for me. Any tips?

amazing…hehe

Now this this site is up and running, I’m finding that ideas come to me a lot easier than when it wasn’t live. I made it super-easy to post stuff, and it works great, so I’m having fun with it.

I put ads on the site because I want to make a bit of money off of it. I have a lot of traffic going to howtobepunk.com but only a moron or greedy fuck would put ads on a site about punk. I could make some real cash, but at what cost? Hopefully this site will get some traffic. Maybe when Google decides to actually index it. I hope the keywords it files it under aren’t too retarded. Most of the ads for it are about the Radio…hmm, maybe try actually reading the content? Maybe it takes a while though. We’ll see.

Lyon Bros. has a meeting with a big client tomorrow, and we’re going to be kicking off a project (hopefully). Should be nice. It’s part time work, but even still we’ll be making more a month than I would have ever thought possible at this age (22). I’m stoked, and glad it’s part time. I’ll only be working 2 or 3 days a week which leaves room for some other projects, and of course, beeets.

That said, we’re going to be doing a beeets marketing boom around Santa Cruz soon. Fun stuff. OHH and business cards are on the way, baby! How fuckin’ cool is that. We’re going all out, and I gotta say it’s the only way to fly. It’s so cool we’ll have business cards that we designed for a product we made. Really fun shit.

A frenzy broke out in a Pasadena Walmart this morning when the corporate office announced that from now on, all employees will receive breaks at the same time, instead of in shifts. The excited workers mobbed together and all ran to the break room at once, injuring two and killing a 28 year-old female shopper.

“We heard the news and got so excited,” one employee said. “Everything happened so fast. I mean, I know we killed someone but come on…there are 6 billion people in this world. What’s one?! Plus, you know, break time…”

“Really? We trampled someone to death?” asked another employee. The attitude seemed to be the same amongst everyone. Either they didn’t know or didn’t care.

“I can’t believe it,” said Lily Person, sister of the trampled corpse. “It’s one thing if you or me do it, but Walmart workers aren’t even real people. Someone should trample one of them and see how they like it!” Lily ranted for an hour before we got sick of the sound of her voice.

“Sorry,” said the CEO of Walmart, issuing a general apology, before leaving the press conference. Walmart’s general statement is that it probably won’t happen again, as “Stampede Safety” will now be a mandatory employee training requirement.

In an act of immeasurable kindness, Walmart has offered the bereaved family a 5% discount on all merchandise at their stores (offered in limited stores only, discount expires after 30 days of issuance, subject to change without notice).