Category: development

  • Geeky… Oh Yes, So Geeky

    I just finished moving from the lovely flat Berkeley DB to MySQL for Movable Type. I’m not sure what that will buy me, but hey, it gave me something to do.

    We’re going to a concert tomorrow night! Sigur Ros is playing downtown tomorrow night and Jen and I are taking the “kids” (Steve and Heather) while mom watches Max. It should be entertaining. A full report sometime on Tuesday.

  • Black is Beautiful

    I’ve been thinking about this big redesign I’m working on for this site, and I think black is going to make a big comeback. I used to be a huuuu-uuuuge fan of black pages, but I’ve been ignoring it for a couple years and I think it’s time to give it another shot. I’ll still keep black text on a white background, but I think blapck is the way to go… keep your eyes peeled for the new design (ok, don’t forget to blink, it may be a while).

    You know, I love designers. They give me neat desktop wallpaper (my collection is the envy of everyone who sees it), great ideas and lots of funny rules to laugh at. I’ve now worked at AOL for seven and a half years and dealt with visual designers for almost four, and respect what they do. Most of their rules are valid, but they sure do make me laugh. I love the way Jeffrey Zeldman gets feisty about fonts and colors, and the folks at k10k fight about flash vs. html. Why am I talking about them? Well, because I realized I’m not one of them. I am good at what I’m good at, and it’s not what they’re good at. I am really good at interpretting designs into tight HTML and producing functionality (ewww, hate that word) from their requirements. But, I’m at a loss for actually designing things. I think if there were a category for “design critic”, I could be that. I can spot design flaws, but how to fix them is beyond me. I can offer suggestions, but that’s only because I have a good memory and remember how a good designer solved a similar problem in the past.

    So, if you come here looking for design advice, you won’t get much. If you want to know how to build a really cool search box using left floated divs, I’m probably your guy.

  • Cascade My Style, Baby

    It’s paint with mucous day at Chez Lawver! Max has had a cold for about 3 days, Jen for 2, and now me. We’re all irritable, unpleasant and chock-full of mucous in our various snot-containing body cavities. We’re tired… but achey enough that a nap doesn’t seem possible.

    I was going to send myself something to work on while watching TV, but my machine crashed while trying to zip it all up and I didn’t get around to it. How stupid is that? Now, I’m trying to work on the big redesign of this site, but it’s not the same. At work, I have this challenge, and it’s driving me nuts. It came from people who I don’t think understand what it will take to get it done, and even if I do it, I’m not sure that they’ll get how monumental the accomplishment is. Will I tell you what it is? Probably, if I pull it off.

    Did you know that almost no one still uses Netscape 4.x? Anyone who still does has (hopefully) come to the realization that no one cares about the three of them and that sites will look really goofy for them. This is very good news for me. No more compensatiing for old, evil browsers (I will explain the “evil” in a minute) that don’t understand the gorgeousness that is CSS1 and 2, divs, spans and other neat-o things. Why is Netscape 4.x evil? It wasn’t evil when it came out. It was great when it first came out. I used it religiously for years. That last word contains the evil: years. It didn’t keep up with Internet Exploiter. It was fat and happy and didn’t bother keeping up, and people just kept right on using it, and those of us who build sites (and I do mean sites, if I had to list all of the thousands of pages I’ve built over the years, I just couldn’t) had to compensate by building these ugly table layouts with spacer gifs and wacky background images. No longer!! I have shuffled off my regret for those poor people using 4.x. Get with the times! You have alternatives of many flavors. Use Netscape 7, Mozilla, Phoenix, Chimera, Opera… all of which do edible jobs of supporting CSS and neat-o clean pages (in some cases, better than IE).

    Ok, sorry, that was another rant. I don’t know what’s gotten in to me. I just can’t help it.

  • Sudden Urges

    All of a sudden, I have a desparate need to redesign this site. I’ve been thinking about moving all the family pictures in Max’s page to a blog (I even figured out a cool way to take a PhotoShop generated web gallery and turn them into importable entries), and turn the Geekery into a blog as well, just to be able to update the pages a little easier, and be able to add tidbits as I come across them (like installing Apache2 and Tomcat the other day). I just seem to keep putting it off. Since we’re trying not to leave the house except when neccessary (why take a risk when you don’t have to), I should have time to do something this week… I hope.

  • Wearing a New Hat (a Red One)

    I got my uberBox at work upgraded to RedHat 8.0 today. It’s nice. The dithered fonts in XWindows look really good, and the admin tools actually work (as opposed to things like the X Services Tool in 7.2). There were some glaring omissions like ksh and the telnet server made in either the pursuit of ease-of-use or danger avoidance, but if you’re behind a firewall, telnet’s just fine to have installed.

    So, the lesson today kids is to choose the “Custom” option and install what you want. Don’t expect “Workstation” to actually have everything you use in it.

    And in non-geeky news, Jen and Max are coming home tonight instead of tomorrow. They were going to go to the beach, but because it’s been raining for three days, and is supposed to keep dripping right on through the weekend, they’re coming back. Last night was kind of tough. It was really boring without anyone to talk to, and no Max to play with. I didn’t know when to go to bed, partly because I didn’t want to go up there by myself. I’m glad they’re coming back tonight…

  • It’s So NEW!

    I’m learning a new language. Yes, I’m doing it. I forgot how much fun it is to jump into something brand new and see it work. We’re moving to Java/JSP/Tomcat at work, and that means that I get to switch from my beloved AOLserver to the strange world of virtual application urls, beans, servlets and JSP tags.

    To make this fun, I found the fabulous Apache2/Tomcat bundle from the kind folks at Server Logistics. The setup was virtually painless past doing some configuration (that’s unfortunately not in their readme). So, I’ve replaced the Apache that comes with OS X with Apache 2 and a JSP engine. I’ve now written my first jsp. It’s ugly, but it works. I can now include files, do neat-o for loops, switches and if statements. I do like that you can switch from code snippet to regular HTML mid-process (like int he middle of an if statement). You can’t do that with AOLserver, which means you sometimes have problems with escaping quotes.

    I’m looking forward to this move. This afternoon was a lot of fun.

    In sad news, Jen and Max are in Pennsylvania with my mom for the next couple days. I’m aaaa-aaaall alone, which explains why I’m still at work.

  • I Don’t Know an Alias From A Join In The Ground

    In the spirit of learning something new every day (and the fact that the way I was doing it took 20 minutes each time I ran the query), I learned how to select aliased tables with Postgres today. For those of you who aren’t geeky, you may want to skip this post altogether.

    I’ve been using SQL when I had to for almost five years now and never run into a spot where I’d do something like this, but it worked really really well and runs a whole lot faster than the old way (mostly because I was doing a JOIN of a table with almost a million records to one with 250k records).

    I know the suspense is killing you… how do you do it? This example is completely unrelated to what I’m actually using it for, because it’s work related. Let’s say you have a table full of used car ads and you want to get each distinct manufacturer and how many ads there are for each of those manufacturers. Now, if you have a separate table of car makers, this is fairly easy. But, let’s (for sake of my precious example) say manufacturer is a free text field where the user can enter whatever they want. To get out the list of manufacturers and the number of cars ordered by most often listed, you could do the following:

    select distinct lower(manufacturer) as carmaker,(select count(*) from car_ads where manufacturer = carmaker) as car_count from (select lower(manufacturer) from $table where timestamp between $begin and $end) as all_ads order by car_count desc,carmaker

    How cool is that? You can create a virtual table with a select statement from either the same table or a separate one. You could even join your virtual table with another virtual table for even MORE fun!

  • I’m Related to Who?

    Who are you related to? I’m just thrilled I’m related to Jodi.

  • Geek Tip of the Day

    If you create a database, don’t expect it to live forever. Always keep a backup of at least your schema, and preferrably your data. After having experienced a total data loss, I’m at least reassured that I kept my schema on a system other than the one the database was running on. I had to recreate all my tables and indexes, but thankfully I’d saved them offline and it was as simple as cutting and pasting. Now, if only I had backed up my data…

  • If I Were Rich…

    If I were rich, I’d get one of these for the office, one of these for upstairs to go along with my work provided Powerbook and abandon the PC World forever.

    While I’m dreaming, I’d have 1.5mb/sec DSL, a wireless network and everything would have Airport cards so there aren’t wires strung all over the place. And because it’s OS X, everything would just work. I wouldn’t have to worry about Microsoft anymore, or the weirdness that is Windows XP. I might miss my games, but I have a PS2 now, and I don’t play games on my PC much anymore anyway.

    It’s a nice dream, isn’t it? It’s a $6600 dream, but still nice (I actually thought it would be a lot more than that)