Benjamin Franklin and the War on Terrorism

I’ve been reading Walter Isaacson’s excellent biography of Benjamin Franklin lately and just came across a letter Franklin wrote to his English friend Joseph Priestly in late 1775:

Britain, at the expense of three millions, has killed 150 Yankees this campaign, which is 20,000 pounds a head… During the same time, 60,000 children have been born in America. From these data his mathematical head will easily calculate the time and expense necessary to kill us all.

Continue reading


Dear Google Recruiter

Dear Google Recruiter,

I’ve been contacted by a recruiter at Google every 3-6 months for the last 4+ years or so and I’ll tell you what I tell all of them:

I have no interest in interviewing with Google ever again. I expect to be treated professionally by companies and for them to be honest with me in their communication, but that did not happen when I went through your interview/hiring process. This is not negotiable and you only get one chance.

I also tell every recruiter at Google to please put a note in your HR database to not contact me any more. Obviously that never happens or doesn’t work, because you still contact me. Honestly, I’m not sure why this is so hard to accomplish for a company which specializes in storing and retrieving information, but I do find it rather annoying having to explain myself over and over again. Hence, I’ve decided to create this post so the GoogleBot will add it to your database for you.

Have a nice day,

UPDATE: I posted this after being contacted by a Google recruiter and so I replied with this link. He replied back, was very apologetic and promised to update their records to indicate I did not wish to be contacted again and apparently that actually worked. Success!


Why Tcpreplay went GPL

I’ve been thinking about this for a while and honestly pretty made up my mind months ago, but I finally go enough determination to edit almost all the files in the trunk source tree and change the license from the 3 clause BSD to GPLv3.

There’s actually a number of reasons for the change and I wanted to share the ones that were most important to me. I don’t expect everyone to like the decision, but probably most won’t care since it doesn’t really impact them. But sometimes people get all bent out of shape when a project that has been around as long as Tcpreplay (10 years? Damn, where did the time go?) changes its license so I wanted to give my side of it. The change doesn’t mean I don’t like the BSD license anymore, just that I now feel the GPL is more appropriate for the Tcpreplay Suite. Continue reading


tcpreplay 3.4.5 beta1 released

Just a quick heads up for everyone, I’ve released tcpreplay 3.4.5
beta1beta2: https://synfin.net/tcpreplay-3.4.5beta2.tar.gz

I wasn’t originally planning on doing a beta for 3.4.5, but due to
feature creep it’s taking more time then I thought. Now that I’m done
racing for the summer, hopefully I’ll have more time to fix the
remaining open bugs & enhancements before the fall. It’s my goal that
3.4.5 will be the final 3.x release, with future enhancements being
placed in the 4.0 branch- it’s become too much of a PITA to keep
merging code between the two branches since 4.0 is really nothing like

Anyways, this release concentrates on features & bugs users requested
or found. Special thanks goes out to Dmitriy Gerasimov who
submitted a patch for Linux TX_RING support. It’s not yet supported
on all Linux systems, but on those that it does should hopefully see
improved topspeed performance. I’d love what people’s experience is
with this feature- does it help? If so when? The other major feature
is sending two files at the same time- one out each interface. Should
hopefully be useful when replaying traffic captured via network taps.
Both features probably haven’t seen enough testing by me, but
hopefully some people are interested enough by them to try them out
and let me know how well they work.

Obligatory changelog:

08/15/2010 Version 3.4.5beta1
   - First pass at fixing 'make test' on many little-endian systems (#429)
   - Don't try to fragroute non-IPv4/v6 packets so we don't error out (#432)
   - Warn users when processing LINUX_SLL frames w/o an Ethernet source MAC (#434)
   - Initial Linux TX_RING sending support (#435)
   - Update to GNU Autoconf 2.67 (#436)
   - Add tcpcapinfo which dumps information about the pcap header/packets (#437)
   - Add --dualfile support for replaying two files at the same time (#439)
   - Fix bug where --tos=0 didn't do anything (#440)
   - Fix crash when processing CIDR data (#441)

Update: Turns out I forgot to merge the TX_RING support in. 3.4.5beta2 fixes that. Sorry for any confusion!


Worse to Better: AFM 2010 Round 6

I didn’t do race reports for the last two rounds at Thunderhill because frankly I just wanted to forget them. Even though I put in personal best times at round 4, dropping 4 seconds from last year, I was disappointed with my results where anything but top novice in 650P just isn’t good enough. But then round 5 was just a complete disaster- I never made it out on track due to an engine failure. I thought the noise from my engine was a cam-chain issue (which I thought was fixed Friday night at the track), but the ride to the hot-pits was enough to dissuade me of that notion and so I took it to BRG Racing. KC listened to my description and then the bike and with a long face told me to just push it into his truck. Continue reading


AFM 2010 Round 3

Rounds 1 & 2 were a bit more difficult then I was hoping for so I was really looking forward to round 3 and a change of luck. That almost didn’t happen as I crashed on cold tires during a Keigwins track day just a week before the race. I escaped without a bruise thanks to my Helimot leathers, but the bike took quite a bit of damage and it was a big rush to get everything squared away in time for the weekend. A couple of long nights working on the bike and lots of help from BRG Racing and I was good to go just in time.

Friday evening Eric and I had a wedding to go to in San Jose, so we didn’t get to bed until around midnight in our hotel in Novato. We both fell to sleep right away, only to be awoken at 3:30am when the TV in the room was apparently possessed by an evil spirit and magically turned on. WTF? Mostly asleep and confused I finally found the power button in the dark and went back to sleep. 6am came far too early.

Practice went well. Jeff & Craig with Viets Performance loaned me a set of tire warmers since mine were on backorder and I was able to immediately put in some decent laps right from the first session. I was pretty happy that my crash just a few days ago didn’t get into my head and affect my riding. Like most, I spent the day trying to come to grips with the intense wind which really affected where I could brake into turns. While my times weren’t anything to brag about, they were at least very consistent and I knew in the races I’d naturally drop a couple of seconds so I felt good. For the first time, no saturday races for me, so I was able to relax with a beer and enjoy watching the Clubman/Formula 40 races in the afternoon.

Sunday was another beautiful day in Sonoma- a little warmer then Saturday, but still very windy. I was race 9 (650 Twins) and 12 (650 Production) so I had a long break between morning practice and my races.

It seemed to take forever for them to call 650 Twins after Formula Pacific and I was worried that I might of missed the call. I finally heard the call and went out for my warm up lap and got gridded. I got a nice start and ended up having a great battle with Jason Baumbach #516 for most of the race. Jason took me into 9 and I got him right back in 11. A lap or two later Jason gets me back and I stay on his rear tire trying to find where I’m stronger to make another pass. Jason seems to be getting off the corners a little better then I am, but I’m stronger on the brakes. After 6 laps though, I’m suffering from a cramped right hand and arm pump and I’m struggling to keep up. I try a couple of times to make an inside pass in 4, but Jason shuts always the door.

By the last lap I realize I don’t have the pace to pass him back and foolishly take it a little easy going into Turn 7 on the last lap only to find Pat Clar #758 sneak pass me on the inside on the brakes. Where did he come from? I tried to get Pat back in turn 9, but he was strong on the brakes and I ended up finishing 21st- my best finish ever in the class, but I wasn’t happy about loosing a place at the end… something to remember I guess.

The break between races allowed me to physically recover and get ready for 650 Production. Not nearly as good of a start this time and I find myself in 7th position behind Alan Cunningham #368. Alan had about 1 second lead on me and I spend the first half of the race trying to close the gap. By lap 4 I’ve closed the gap and I know Alan is about 2 seconds faster then I am, so he’s just gotta be taking it a little easy because he doesn’t know I’m right on his rear wheel. If I pass him right away, he’ll have plenty of time to find a way back around me and will probably just check out. However, I don’t know if someone else has snuck behind me and is lining me up for a pass like last race, so when I see an opening on the inside of Turn 11 I go for it without hesitation.

Alan and I cross and end up drag racing down the front straight, but as I learned from Ernie last round, since I’ve got the inside line, Alan will have to brake first and I’ll be able to make the pass in Turn 1. Alan broke a little later then I was expecting, but I was still able to make a nice clean pass in 1. :)

Now that I’m ahead, I concentrate on getting a good drive out of 2 and the try to keep Alan behind me. Things are going pretty well until Turn 11 when I brake too late, bottom out the forks and end up going way wide and let Alan through. l quickly recover and try to close the gap, but as I exit Turn 2, the rear spins up and steps out. It happens again at the top of 3a and I realize that my rear tire has reached the end of it’s lifespan and I don’t have a prayer of keeping up with Alan who has dropped the hammer and is beginning to check out. I check my six to make sure nobody has snuck up on me again and concentrate on bring it back shiny side up for the last two laps. I finish in 7th place: Top Novice.

Overall, another great weekend. First time this year I didn’t spend hours wrenching on the bike and could just concentrate on my riding and having fun. I can’t wait for round 4 at Thunderhill!

Big thanks to:
– BRG Racing for so quickly fixing my bike after my crash last week. KC and the gang always come up big for me.
– Viets Performance for loaning me a set of tire warmers for the weekend.
– My buddy Eric for once again spending his weekend at the track with me and lending his support, advice and skills.