Hardware Love

I was up till past 1am last night, after a long day at work (which went fast which is good) and a good (well, “Ok”) workout at the gym. I finally got around to installing some new hard drives that Cat5 brought over a couple of days ago and discovered that my current workstation case simply didn’t have the room, so I moved naked‘s guts to phoenix’s (my workstation) case, and vice versa. The whole operation took about three hours, starting after CSI. Went really smoothly as well, only one cable turned around, and only one missing power cable (working on getting a splitter now).

Anyway, starting to code now, update soon.

For Cuv an article on DBIx::Recordset.

Oh, by the way, that is funny. Pretty much describes my first Unreal experience with the redeemer.

4 Comments on “Hardware Love”

  1. A fairly good article… I think that the module is useful in a place, although I disagree with some of their reasons and examples πŸ™‚
    – The final DBI example needs a lot of refactoring. It could easily be a third of the size and be a lot easier to read. The reader of the article is given the impression that the author has gone OUT OF HIS way to put a bad light on DBI. It also seems like he doesn’t know much about basic database features. Maybe that’s an affect of only having experience with MySQL and not other more feature-rich databases… πŸ˜‰
    – Using the full package names to get the variable names makes the code cluttered
    – eek! super long variable and function names!!
    – DBI does have an equivalent of $handle->Names()
    – Why ever use $dbh->quote()? Placeholders work great
    – Why type ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,? when join (‘,’, ‘?’x15)
    – map, grep, etc are very useful…
    – use stored procedures to hide even more SQL code. Depending on the database, you can overload a procedure to allow for different number of arguments due to fields being added/removed
    I think the beauty of DBIx::RecordSet is that it is more object oriented… OO always seem to be a lot slower then procedural code…
    Speaking of which, I’m always keeping my eye out for a nice OO/MVC style Embperl2-based app. There are few examples of even MVC plain-perl apps.

  2. Suggestion: Don’t take hints from your opponent on any game, especially if they are competitive!

  3. I think he addressed some of this in saying that sure you could put something like the ‘?’x15 in, but that’s just an extra level of hackage, where DBIx just gets a hash thrown at it, and no need for people go to and change x15 to x16 when the db is changed.
    Either way, it’s just another tool in the toolbox πŸ™‚

  4. Yep, just another tool… there’s a time and place for everything.
    ‘course, you could do
    @fields = @{ $sth->{NAME} };
    $sql = “insert into foo (“;
    $sql .= join (“,”, @fields) . “) values (“;
    $sql .= join(“,”, ‘?’ x @fields) . “)”;
    $dbh->do($sql, undef, @fdat{@fields);
    That’s scalable, but still ugly to litter code with. That would lead to refactoring it into a helper routine, but by then you’re basically re-writing DBIx πŸ˜›
    or let @fields