This makes me sick. Not the article, not the story, but the responses to it.
It's one thing to laugh at one's own tragedy as a way of coping. But for people to just go ahead and willy nilly make fun of this is disgusting. Truly.
I'm quickly losing faith in the good of humanity. Not like I had much left to begin with.
I'm embarassed to ever have viewed or participated in that site. Much like Slashdot. Another once-good site that I'll have to stop following now.
Is anyone else offended by this, or am I just being overly sensitive?
http://www.propylon.com/news/ctoarticles/030624_database-centric.html
Think he's changed his tune in the last 3 years?
My first module release in I don't know how long has hit the streets. Run for cover
CGI::Application::Plugin::HTDot enables magic-dot support for HTML::Template in CGI::Application based applications. For those of you like me who need some of the power of Template Toolkit but can't afford a migration to AnyTemplate or Template Toolkit can become immediately more productive with no change of code! Just need to add the plugin to your base application's definition:
package MyApp;
use strict;
use base("CGI::Application::Plugin::HTDot", "CGI::Application");
# rest of your module goes here. . .
Apparently I'm already getting some good press here and here. Coincidentally, those are the two people who made the invention of this plugin possible. Rhesa and Mark did some awesome work to enable the dot in HTML::Template. Which reminds me I need to do something awesome for Rhesa - we were completely feeding off of each other's energy there for a few days
HTML::Template users should really check out the dot. It's awesome
Wow.
Really, wow. Richard Dice and the whole Toronto.pm crew did the most awesome job of putting YAPC::NA 2005 together. I've never been to such an informative and entertaining conference in my life. And even if the rest of things had gone poorly, just being able to make the CGI::Application BOF session made the trip worthwhile. But everything, everything (I thought anyhow!) was awesome, and it make it that much better.
YAPC was full of many memories for me, and here's but a few of the more memorable ones:
Some of the people I was fortunate to have met:
I want to give a special thanks to all the members of the CGI::Application mailing list, who really made the conference extra special for me. You guys rock.
Just finished arranging my trip to Toronto for YAPC::NA. I am tremendously excited about this.
Look forward to seeing many of you there!
Valuable bonus points* will be awarded to the first person to detect the stupid error found in this code snippet:
# Check the login credentials
my $username = untaint_string($self->query->param("username"));
my $password = untaint_string($self->query->param("password"));
if($username ne "" and $password ne "")
{
use KW::Users;
my $user = KW::Users->retrieve($username);
if($user and $user->login_password eq encrypt($password))
{
# Last check! User info matches, but are they active?
if($user->active_yn eq "Y")
{
# Log the user in
$self->session->param("username", $username);
$self->session->param("is_logged_in", 1);
}
}
}
$self->param("message", "Please enter a valid username and password combination.")
unless $self->session->param("is_logged_in", 1);
# Return the user to their chosen destination
return $self->redirect($redirect);
Stupid mistake aside, there's a bigger issue above that I am unsure as to how to deal with. Traditionally, I've used the session parameter message when I've wanted to tell my output function to throw a message at the top of the page (to indicate an error, etc.). I've always done this in the context of a single script before - for example, user is trying to login (as above), fails the login (and therefore sets a message), and I call the function to redisplay the login form again, and the message gets displayed. Nowadays, I'm potentially redirecting to another script in another process, and so my message parameter goes out of scope. Any suggestions on how to do what I want?
Thanks in advance!
* Valuable Bonus Points have no real or imaginary value. They do, however, give you bragging rights (for whatever THAT is worth!)
The whole point of upgrading is to end up with something better than you had before, and/or to fix problems you might have had before? Someone had better tell that to Linksys. I am not impressed by my new cable router.
While my wireless connection speed has doubled, my internet connection speed has plummeted. IM services (ICQ, MSN, AIM, and Yahoo) take significantly longer to connect, and some of my games (most importantly, World of Warcraft) will not play at all. I've opened all the recommended ports, I've even moved my machine into the router's DMZ (thereby denying myself any protection offered by the router, and thereby letting ALL traffic reach my machine, right?), and it makes not one fucking bit of difference. If I plug my machine directly into the cable router, the problem magically goes away. But then I can't connect to my home network, and that's a bigger problem.
A coworker has the same router that I do, but has an older revision of the firmware. Oddly enough, he doesn't have the same issues, which tells me Linksys' QA on the last firmware release sucked some major ass. I'm going to try to find a way to get back to the original firmware and see if that makes a difference. Failing that, anyone have any suggestions?
That would be me!
I updated the source on our FreeBSD server at work from 5.2.1 to 5.3, and subsequently recompiled the operating system. I'd never had one of these go awry before, and while I realized that the version of BIND was upgraded, my research led me to believe that my current configuration was ok. Damn was I wrong!
When I rebooted the machine, named failed to start, and subsequently any services that needed name resolution failed to start. I booted single user, but much to my dismay, the root filesystem booted read-only. So I mounted another filesystem, copied what I needed to boot single-user over to it, then rebooted into single-user again on the new filesystem. I mounted my real filesystem and started digging in. Turns out named no longer liked being passed a -g option. Oops. Changed the named parameters, rebooted, and voila, everything worked!
So my 5 minute reboot led to an hour of downtime and fun. Go me.
Anyway, after that I got onto a roll... Got Subversion installed on our development server, updated Apache and mod_perl (VERY out of date!), and got webmail running for all of the domains we host. Patched all of our internal servers too. So after my original fuckup it turned out to be a productive day
OpenWebmail is pretty cool. Wish it supported mod_perl over Speedy CGI though
At what point does naming become cumbersome? For example:
DEVNET::PropertyTax::Parcel::TaxDistricts
where:
DEVNET = my company
PropertyTax = product (as opposed to Recorder, Imaging, etc.)
Parcel = Piece of property
TaxDistricts = Taxing districts a parcel is in
I had started doing DEVNET::PropertyTax::Assessment (for a property's tax assessments) and so forth originally. Then I ran into a problem: I had previously defined DEVNET::PropertyTax::TaxDistricts, which is the listing of all possible tax districts. But now the above seems too lengthy. Is it? What do others do? Am I being too organized?
Well, based upon some discussion on the CGI::Application mailing list, I will likely be going through the list of bug fixes and feature requests for CGI::Session and making the changes myself. The author has been unresponsive for quite some time, and myself and others would really hate to see C::S fester and die. My intent is to try to make contact with the author while I am making the changes, and failing that, release a fork of the module.
Should I have to fork C::S, my intent is to not break compatibility with the original C::S in case the author resumes maintenance of the module. Would be nice to just offer whatever fixes and improvements as a patch to his code.
In other news, I spent waaaaaaaaaay too much time at the office last night. However, I accomplished much. I built, configured, and installed another server for our support department, configured and installed two new Cisco routers, upgraded our wireless network, and even had time to get a game of Madden in on the company's projector
Delight is progessing nicely. Most of the database implementation modules are complete, and has full test coverage to boot. Should be starting the interface to the app shortly, and am getting very curious to see how it all comes together. This is probably the most ambitious Perl development project I've undertaken.
I have also found myself writing code for a site my friend is doing. It's going to be Yet Another Comparitive Shopping Site, and while I'm not sure how it will do, I look forward to doing it as a learning experience.
And while I am not really much of a fan, go Red Sox