Archives for 2007

Web traffic doesn’t necessarily equal ad revenues

My little blog doesn’t get too much traffic–on average, around 150-200 unique visitors a day. I have some 140 subscribers to my RSS feed, but almost 80% of my traffic comes through search engines. I haven’t implemented item view tracking in my RSS feed yet, so I have no idea what percentage of my subscribers actually read my feed.

Two days ago, I wrote a political rant and submitted it to StumbleUpon to draw some traffic to it, hopefully to get some responses. I knew that SU was good for a bunch of drive-by viewers, but I’m surprised by how many: almost 1,400 more than usual. Check out the graph:

SiteMeter traffic for Dossy's Blog from 9/18 to 9/25

That’s a serious spike. There’s still bits and bobs of traffic dribbling in, even today. However, I noticed a few things:

  • Only 5 out of the 7 comments I actually did get were from people I didn’t already know, which I’m guessing arrived via SU. This is a remarkably low percentage of overall visitors.
  • Someone else eventually submitted a link to my entry to Digg, which brought a lot less traffic than I would have expected.
  • Although my few CPM ads might have gotten a small bump, my CPC ads CTR was zero. The extra traffic did not convert into extra revenue, at all.
  • According to FeedBurner, I may have picked up 9 new subscribers. That’s only 0.5% of the new visitors.

Now, I’m not surprised by this–it actually confirms suspicions I’ve held for a while now. But, as I’m thinking of reworking my blog layout and design, it’s always good to get real data as a baseline before I start making changes.

Tags: , , ,

Dave Winer’s embarassed to be an American, too

I wrote about my feelings towards the American reaction to Ahmadinejad’s trip to New York City this week. Dave Winer wrote about the 60 Minutes interview by Scott Pelley and unless I’m misreading Dave, I think he and I might be in agreement about it.

One thing is clear from the interview: Ahmadinejad is far smarter than Pelley. After seeing this interview, I wouldn’t be surprised if nobody accepts another interview request from him. His questions were just fishing for sound-bites. Where was the journalism?

The best part of Dave’s reaction was captured in this Twitter update of his, though:

Dave, I totally feel you on this one.

Tags: , , , , , ,

del.icio.us/dossy links since September 17, 2007 at 09:00 AM

del.icio.us/dossy (RSS) links since September 17, 2007 at 09:00 AM:

Just when you thought Americans couldn’t get any dumber

I read this article and cringed. Iranian President Mahmoud Ahmadinejad is to come to New York and speak. Americans are pissed off that he’s coming. Right now, I’m actually embarassed to be an American–I don’t want to be lumped in with those fools.

Fortunately, Scott Adams cleverly expresses why I feel this way–anything I could have come up with would have probably been labeled anti-Semitic ranting. Whatever I would have written about the irony of the situation wouldn’t have been as effective as how Scott expressed it.

My kids, who are 7 and 4, stick their fingers in their ears and go “la la la” when they don’t want to listen to someone. America, can we grow up, please? President Amadinejad wants to come and tell us his side of the story, first-hand, instead of all that rubbish that the pop media spoonfeeds you through the idiot box. I have no proof, but my hunch is that Iranians aren’t the puppy-murdering evil people that they’ve been made out to be.

Our own President has waged a war against a small group of people who he can’t clearly identify and locate. He controls a known arsenal of weapons of mass destruction. Americans are terrified to travel–not because of “the terrorists”–but because we stand a good chance of losing our rights and being detained at the airport because of what we look like, how we dress, what we have in our suitcases, or where we’re going. Our children bring guns to school and shoot each other. We don’t feel safe leaving our kids playing in our own backyard any more.

As ego-centric Americans, we act as self-appointed stewards of freedom (doesn’t that just make you laugh out loud?). Therefore, we have an obligation to recognize that President Ahmadinejad represents his people and by sharing his story–that of the people he is responsible for–we might have a chance to learn that they are not so very different from us. Perhaps we can even help each other, somehow. But, as long as we keep believing the rhetoric of our own government and media and act like immature children and refuse to listen to what we don’t like to hear, how will we learn? And if we don’t learn, how will we ever improve?

I beg you all to show the world why America truly is the greatest nation in the world–stop being fools and start being part of the larger world as one nation out of many. Let us listen to what President Ahmadinejad is trying to tell us about the conditions of his people–their fears, their angers, their hatred–and try to understand how what we are doing here, affects them, half-way around the world. It is time to see past the end of your cable television from your little trailer park and know that the reason why Americans can’t locate America on a world map isn’t just because “we don’t have maps.”

Tags: , , ,

64-bit AOLserver on Debian 4.0 (etch) Linux works

John Buckman pointed out in this thread that AOLserver wasn’t working right on his 64-bit Linux box that he wants to upgrade BookMooch to. I offered to help, but pointed out that I don’t have a machine to test on–so, he graciously provided me temporary access to one of his machines to diagnose the problem.

After some poking and prodding, I believe the correct change to get AOLserver to build is to edit include/ns.mak on line 79, after running configure which generates it from ns.mak.in. Change the line from:

LDLIB           = ${CC} -shared ${CFLAGS} ${LDFLAGS}

to:

LDLIB           = ${CC} -nostartfiles -shared ${CFLAGS} ${LDFLAGS}

Simply add the “-nostartfiles” after “${CC}” in the LDLIB variable. I reported this to the AOLserver mailing list as well.

John confirms that he’s now able to run AOLserver on his luscious new 64-bit 2-CPU Xeon E5335 Clovertown quad-core box.

In return, I asked John to do me a favor and perform a simple benchmark, fetching a 4K static file from AOLserver using ApacheBench, and here’s what you might be able to expect:

# ab -c 50 -n 50000 http://.../x.txt
...
Server Software:        AOLserver/4.5.0
Server Hostname:        ...
Server Port:            80

Document Path:          /x.txt
Document Length:        4070 bytes

Concurrency Level:      50
Time taken for tests:   3.281485 seconds
Complete requests:      50000
Failed requests:        0
Write errors:           0
Total transferred:      217654353 bytes
HTML transferred:       203504070 bytes
Requests per second:    15237.00 [#/sec] (mean)
Time per request:       3.281 [ms] (mean)
Time per request:       0.066 [ms] (mean, across all concurrent requests)
Transfer rate:          64773.42 [Kbytes/sec] received

No, that’s not a typo: 15,237 requests per second. This is without any tuning or tweaking of the IP stack or anything. Of course, 15K req/sec at 4K per request is ~218MB–over a span of 3.2 seconds is effectively 544 Mbps, so you’re more likely to run out of upstream network bandwidth than run out of horsepower serving static assets out of AOLserver on this kind of hardware.

Naturally, you shouldn’t epxect this kind of throughput on dynamic requests and benchmarking those isn’t really meaningful since the nature of your application code will greatly affect the request execution time. However, it’d be fun to do a “web server shootout” where each implements a trivial piece of dynamic functionality in their best environment–Apache with mod_perl, mod_python, FastCGI/PHP, etc. vs. AOLserver with Tcl–and see which one has the least amount of overhead.

Still, it’s great news that John’s BookMooch service is going to be able to move to a beefy 64-bit box, and I’m very glad to know that 64-bit AOLserver does run just fine for at least one application on Debian Linux.

Tags: , , , ,

Too many thoughts swimming around in my head

I’ve been very depressed again and I just can’t seem to get my head in order. I’m going to try to get them all out here before the zombies eat my brain. In other words, I’m going to reduce my intellectual essence into a meaningless trail of bullet points:

  • Can my life–my thoughts, my feelings–be reduced to a list of bullet points?
  • I think I’m burned out on AOLserver. There’s so much I want to see happen but it’s more than I can do on my own.
  • I want to visit northern VA to hang out with my ex-coworker friends from AOL, but I just can’t motivate to make the 5 hour drive.
  • I hate fighting with my wife. I wish we could be happy together … happy with each other.
  • I’m glad my oldest daughter seems to have adjusted to public school okay.
  • I “know” a lot of people online, but I still feel incredibly lonely.
  • I’m really disappointed, but perhaps not surprised, that TWX stock is still tanking.
  • I hate being ugly.
  • I wish I weren’t so damn lazy.
  • Maybe I really do belong in California–my inability to find ubergeek friends in New Jersey is really making me sad.
  • I really don’t want to move to California. I don’t want to have to live in California.
  • How does some 6th grader raise $6.5M of funding for a ridiculous business (marketplace for buying/selling MMOG crap), while the company I currently work for, TrustELI, can’t seem to get any?
  • I wish I could figure out what would make me happy.
  • Someone recently bought some $300+ worth of stuff via one of my Amazon.com links–whoever you are, THANK YOU.
  • I wish I could just write my thoughts down like other people can. Why is this so hard for me? They race around my head but as soon as I try to type them out, they disappear.

I give up … I can’t just sit here and stare at the screen any longer. Maybe I’ll try again tomorrow.

Tags: , , ,

Arrr! Blymy, I’m a Pirate … err, Puppet!

Ahoy, me hearties! In honor of International Talk Like a Pirate Day today, I wanted to point out the great work of my friend David, who has gotten into puppeteering.

Here is his Rocky Horror Puppet Show, performing to the tune of Blymy the Pirate A Halo Called Fred - Sgt. Pepper's Lonely Hearts Club Band - Blymy the Pirate by A Halo Called Fred:

Tags: , , , , ,

del.icio.us/dossy links since September 10, 2007 at 09:00 AM

del.icio.us/dossy (RSS) links since September 10, 2007 at 09:00 AM:

I can has a meme

The Internets, they are:

Tags: , ,

OTRS SQL query to show most recent ticket activity

 OTRS, the Open Ticket Request System, is a GPL’ed open source request tracking application. Here’s a screenshot of the Queue View:

OTRS Queue View screenshot
(click for full size)

This is fine if you’re a CSR managing your own queue of tickets, but when you’re monitoring the activity of everyone’s tickets, the Queue View doesn’t help you quickly identify which tickets have had activity.

Fortunately, the Admin interface has a Select Box link under the Misc heading which provides you an ad-hoc SQL query screen. I took a look at the database schema for OTRS, and came up with a query that lists new and open tickets sorted by most recent activity:

SELECT  q.name AS queue_name, t.tn, t.customer_id, t.title,
        a.id, a_t.name AS article_type_name, a.create_time, a.a_from
FROM    queue AS q, ticket AS t, article AS a, article_type AS a_t, (
            SELECT  _a.ticket_id, MAX(_a.create_time) AS create_time
            FROM    ticket AS _t, ticket_state AS _t_s, article AS _a
            WHERE   _t_s.name IN ('new', 'open')
            AND     _t.ticket_state_id = _t_s.id
            AND     _a.ticket_id = _t.id
            GROUP   BY _a.ticket_id
        ) a_max
WHERE   q.id = t.queue_id
AND     t.id = a_max.ticket_id
AND     a.create_time = a_max.create_time
AND     a_t.id = a.article_type_id
GROUP   BY t.id
ORDER   BY a.create_time DESC

Here’s a screenshot of what the query results look like (I’ve sanitized out sensitive information):

OTRS tickets with recent activity query screenshot
(click for full size)

The Select Box doesn’t display the column names as headings, but they are: Queue Name, Ticket#, Customer ID, Ticket Title, Article ID, Article Type, Article Create Time, Article From Header. The results are sorted in descending order by Article Create Time, so the most recently created articles appear at the top.

I can periodically refresh this page and execute the query to watch for new activity to pop up at the top of the list. This way, I can monitor activity and see new activity in a ticket, at a glance.

Do you use OTRS? Do you have any good tips or tricks that you’ve created? Share them with me in the comments below!

Tags: , ,