Archives for January 2006

Back to Archives

Welcome to the Internet, circa 2002

A quote from a web company I have cause to deal with:

I recall you folks are using Safari on Mac. Unfortunately, 99% of the population are not on this browser / OS combination. If you can test on Windows 2k/XP using IE 6.x and higher we should reduce the number of "issues" you're seeing/reporting.

This is 2006, people. Ignoring their obviously false numbers, how long has the standards-based development mantra been part of web development now? It's unreal to me that a company could get away with shunning large segments of the market these days. But I guess if you have a client that doesn't know any better you can get away with most anything.

New Discoveries All the Time

Is it weird that I just discovered my bedroom has an overhead light?

To be fair, while we've been in the apartment for a little over a year and a half I've only been in this bedroom for a few months. Still, though, I had no clue it was there.

I even had a light switch on the wall that baffled me. It didn't control any outlet in the room. I'm now guessing that's because it controls this little ceiling light whose bulb probably burned out a long time ago.

I'm not sure that this discovery will really affect how I light my room. That fixture is in a pretty random entry location to the bedroom, and not near anything useful.

But how odd to be walking to the bathroom and all of a sudden say, "Interesting. My bedroom has a light in the ceiling."

Time is Relative

I'm getting set to head home from work, and it's about 8:35pm. Over the last three days I've probably averaged close to ten hours a day in the office.

But you know what? That's my choice, not my employer's.

During high school I worked at a place I really enjoyed, and I'd go hang out at work just because I didn't have anything better to do. On the weekend I'd get up in the morning, drive to the office, and stay there until I had something fun to do in the evening. I was getting paid to play with computers; why wouldn't I be there?

That's sort of what I'm feeling like right now. I'm getting paid to mess around with computers. I mean, I either hang out here on the computer or at home on the computer and it just so happens that the stuff I'm doing here is cooler right now.

Checking Out Basecamp

I know I've heard of Basecamp many times over the past couple months, but only sort of in the periphery -- one of those things where you know the name, but you don't know much more than that. Today, though, I was in the market for a system to manage collaboration between a few people here and two different clients as we tweak and bugfix an app that'll be going live in the next couple weeks. I found that Basecamp was actually what had been used for a previous project with different clients, so I took some time today to play around and see what all the hype's about.

Continue Reading...

I Guess That's Inflation

In school I wrote all my papers using LyX, a document editor that lets you worry about the structure of your text while writing and handle the actual bits like how it'll look later. I love it before it creates really nice looking output, and typesets worlds better than a normal word processor like Word.

In any case, last week I started on a document using LyX running on a G5. Then Friday I got the iMac, but all I could find online were PowerPC binaries. So I figured, hey, it's open-source. I'll compile my own.

First, though, I had to compile QT, since it's used by the nicest of the LyX frontends. Simple enough. The open-source version of QT is a 25mb download. I unpacked it, ran configure, and started it compiling. Some decent value of a long time later it finished. And, well, the tree got a little bigger during the compile:

erichardson:~/src eric$ du -hs qt-mac-opensource-src-4.1.0          
2.6G

2.6GB out of a 25mb download. Yikes.

So That's Why It Was Slow

Yesterday afternoon I rode the Red Line up to North Hollywood to meet up with Kathy. The train was acting pretty funny: it showed up early, and then took multiple long stops at stations mid-route. Just before Universal we took the crossover to the southbound tracks and completed the trip on that side. 7th/Metro to North Hollywood, normally a 25 minute trip, took 40.

Turns out the slowdown was the result of an apparent suicide try.

A British woman was struck by a Metro Red Line train at the North Hollywood station Saturday afternoon when she stepped down onto the tracks in an apparent suicide attempt, authorities said.

The unidentified woman, in her 40s, suffered life-threatening injuries, officials said. Authorities said she left a suicide note in her backpack.

At North Hollywood half of the platform was taped off and there was a train stopped halfway into the station, so if I had to take a guess I'd say she jumped as the train was entering. Not all that great a way to take yourself out, though; the train's not moving that fast coming in.

Update (Just a few minutes later): The Daily News confirms my guess that the train was entering the station and slowing down.

Bought Some Good CDs

I mentioned that Kathy and I went to two nights of music a month or so ago and that one of the artists was Adrianne. I had grabbed a couple tracks off her website and put them on my laptop before heading to South Carolina, and I found they kept sticking with me during the two weeks or so there.

The cd I was ripping a few days ago was one of two Adrianne cds I ordered once I got back. I got both 10,000 Stones and Down to This. After having listened to both a couple times now "Down to This" definitely resonates more with me. I think I'm just drawn to the more raw sound and acoustic guitars. "Shout It Out" is probably my favorite track at the moment.

First Attempts With Rails: All Failures

Though I'm definitely a dyed-through Perl guy, I've been messing around with learning some Ruby on Rails over the past week or two. The Rails framework has some ideas to it that I think are really nice, so I think it's more a practical exercise than an attempt to stay buzzword-compliant.

I keep running into problems, though, and I think they largely stem from my refusal to start with crappy little address book style learning apps. I want to do something real, and it just so happens that my real life apps, though not especially complex, each have one or two little things in them that throw me off the Rails beginner curve.

Continue Reading...

A Little Geek Moment

So sitting beside my desk right now is a new Intel-chipped iMac. First one out of the Glendale store. I get to play this afternoon, but first lunch.

Is There Anything It Can't Do?

Back in November I extolled the virtues of XBox Media Center. Tonight I found even a new use for it. I had ordered a pair of cds through CD Baby and today they came in but I realized that with my laptop sitting at work I didn't have a PC with a CD-ROM drive in it. XBMC saved the day, though, ripping the cd and encoding to nice 192Kbps mp3s through lame. Then I just ftp'ed them off of the XBox and into my music collection. Really, really easy and quick.

Still a Few More Days

I just realized that the Jay Nash show I had thought was this upcoming week was actually this past Thursday.

Then I had that scary moment where you say, "I really hope I didn't miss a court date this week."

Maybe most people don't have that moment. It was a very vivid one for me. But no, my day in court is this upcoming Friday at 8am. If you, like me, have forgotten what this was all about, it's from the stupid ticket I was given heading down to Long Beach with my bicycle.

Scouting Out Options in Business Internet

I'm looking into business Internet connectivity this evening. It's more interesting than I thought it would be. Basically it's a situation where we need a good downlink, and a pretty strong uplink, but traffic levels aren't enough to warrant T1 level service.

There are more options available here in Downtown than I would have guessed. Traditional ADSL is a strong contender, but there are also various other things to consider such as SDSL and WiMax. As Alan just asked me, "Isn't competition great?"

Continue Reading...

The Time is: Dark

On Friday night I got into LAX around 1:00am (ok, so really that's Saturday morning). The last two nights I've been up pretty late. And now it's 8:20pm and my body's not particularly tired but my head keeps trying to tell me it's really late. I guess that's what happens when the day never actually brightens up.

Going to sleep early isn't a bad idea. Tomorrow I get up to start my new job.

Anonymous Subs and Reference Counters

I apologize to those of you who have no idea what I'm taking about in these coding posts. Just skip over them and you won't miss anything.

I had a breakthrough today in the whole memory leak issue when I realized that the way I am doing lazy initialization of some objects that I may or may not need but want available. The troublesome code:

# create system object
$swb->register('system',sub {
    $self->_->new_object('System');
});

As long as that anonymous sub stays in existence, $self is sitting there as a reference and the calling object isn't going to fall out of scope.

Continue Reading...

GC And I Go Way Back

I've basically been working on that memory leak all day, which may or may not surprise you. I've probably learned a lot about garbage collection and Perl variable storage, but I haven't gotten all that far toward the practical objective of stopping the leak.

Making matters interesting is the fact that eThreads is built with circular structures galore. Perl's reference counting garbage collector really doesn't like that. I've made use of Scalar::Util::weaken where it made sense, and I think all the obvious situations are taken care of. Perhaps some non-obvious ones as well. Just don't ask about code like this:

if ($obj->{_}) {
    my $a = $obj->{_};
    my $sv = bless \$a, 'B::SV';
    ( $sv->REFCNT > 2 )
        && Scalar::Util::weaken($obj->{_});
}

Just a few minutes ago, though, I found that my Template objects aren't getting cleaned up until global destruction, which means they aren't ever falling out of scope. Now to figure out why...

Fun With Memory Leaks

I mentioned recently that eThreads has memory leaks and that those leaks combined with a comment spam attack led to the system crashing while I was in South Carolina. I said at the time that the leak was "not big." Well, I think I have to retract that statement:

1: mem size: 20099072      change: 20099072
2: mem size: 20369408      change: 270336
3: mem size: 20635648      change: 266240
4: mem size: 20877312      change: 241664
5: mem size: 21114880      change: 237568
...

And the spam attacks haven't let up at all. It's only 3pm and so far today I've seen 8,033 comment spam attempts and 25,125 total page requests. Seeing as this blog really only averages maybe 115 or so pages a day right now (sorry for ignoring you lately), I tend to think those aren't human hits.

I'm blocking the spammers using lookups on the domains in the comments, but eThreads still runs most of the way through before processing that phase, so the damage gets done memory-wise (though not comment spam-wise, which is still a huge improvement). Tailing my access log for this blog roughly 1 in 3 accesses are comment spam. That's pretty crazy.

All this adds up to today being memory leak killing day.

Walking Around Downtown

Random, but walking back to the apartment last night after going to check out the cancelled Giant Village D4 and I passed the Los Angeles Athletic Club. There was a charter bus parked out front and people were boarding. The last person we saw get in was none other than Pete Carroll. I attempted to take a picture, but it didn't come out well enough to be worth posting.