January 25, 2003

Solo Flight Details Posted

For anyone who cares, I finally wrote up the details of Friday's flights--just like I do for all my flights, over in my flying blog.

Posted by jzawodn at 09:47 PM

January 24, 2003

First Solo Flights!

Woohoo!

After 4 short flights to practice my landings, my instructor signed me off to solo today. I flew two short flights alone in the training glider.

More later in my flying blog after I've had time to write it all up this evening.

(Wow, I really can't spell. First posted this as "Fist Solo Flights." That's something completely different, I'd bet...)

Posted by jzawodn at 04:03 PM

January 23, 2003

Goal for tomorrow...

Tomorrow's goal is simple: Don't do anything that might cause my instructor to take the controls.

I will fly the glider and show my instructor that I really do know what I'm doing.

Posted by jzawodn at 10:54 PM

Pictures from the visit...

Well Kasia posted about pics of her California visit and conveniently posted the only picture that I'm in before all the others. I'll do her one better and post all the pics I took during our visit to Monterey including the one she's in. (Finding it is left as an exercise for the reader.)

My pictures are available here for your viewing pleasure. Pay special attention to the picture of the Lover's Point Inn. What a fugly building.

Apparently my 3 year old Kodak DC-290 took better pics than her newer DC-4800. Neither of us is sure why. Apparently that's what happens when it is set for long distance shots on a gloomy day.

Anyway, her pics are supposed to appear here soon.

Posted by jzawodn at 09:42 PM

Building MySQL with LinuxThreads on FreeBSD

This has come up a lot recently. I have several messages in my INBOX where people as asking for my secret recipe for properly building MySQL with LinuxThreads on FreeBSD.

I don't have much time right now to explain how I derived this, but here's the relevant piece of the build script I use at work when producing FreeBSD binaries from the MySQL source tree...

This assumes that you've installed the LinuxThreads package from the ports tree. Sorry for the poor formatting, but this should really be one big line:

CFLAGS='-O -pipe -march=pentiumpro -D__USE_UNIX98                \
-D_REENTRANT -D_THREAD_SAFE -DHAVE_BROKEN_REALPATH               \
-I/usr/local/include/pthread/linuxthreads' CXX=cc                \
CC=cc CXXFLAGS='-O -pipe -march=pentiumpro                       \
-D__USE_UNIX98 -D_REENTRANT -D_THREAD_SAFE                       \
-DHAVE_BROKEN_REALPATH -I/usr/local/include/pthread/linuxthreads \
-felide-constructors -fno-rtti -fno-exceptions' ./configure      \
--with-mit-threads=no '--with-comment=Yahoo SMP'                 \
--enable-assembler --with-innodb                                 \
'--with-named-thread-libs=-DHAVE_GLIBC2_STYLE_GETHOSTBYNAME_R    \
-D_THREAD_SAFE -DHAVE_BROKEN_REALPATH                            \
-I/usr/local/include/pthread/linuxthreads -L/usr/local/lib       \
-llthread -llgcc_r' --prefix=$PREFIX --enable-thread-safe-client \
--with-server-suffix='-Yahoo-SMP' --with-libwrap --with-raid     \
--with-extra-charsets=complex

The HAVE_BROKEN_REALPATH probably isn't necessary anymore, since the configure script should catch that. But it can't hurt to leave in. That's probably true of several options above.

It's ugly, but It Works For Me(tm) on various versions of FreeBSD 4.x.

I do not have access to a FreeBSD 5.0 box yet, so don't ask me about that. I don't know. Really.

Good luck.

Posted by jzawodn at 03:02 PM

January 22, 2003

Weblog and/or aggregator growth and usage stats?

Alright, it's time to invoke the Lazy Web again...

If you watned to gather some statistics about the usage and growth of blogging and aggregators, where would you get 'em? I'm talking about the kind of numbers that make a slightly pointy haired boss think twice about ignoring the blog world.

I'd be grateful to anyone who has seen some hard or even semi-hard numbers that might be useful.

Posted by jzawodn at 09:18 PM

MySQL and Ruby

Paul DuBois, the author of several MySQL books, has a couple articles up on his web site that will prove helpful to anyone looking to get started with MySQL and Ruby programming. First is Using the Ruby MySQL Module (PDF) and second is Using the Ruby DBI Module (PDF).

Good stuff.

Posted by jzawodn at 06:07 PM

Weblogs vs. Centralized Message Boards

I was recently involved in a discussion at work about blogs and message boards. I argued that blogs would likely replace message boards (such as those hosted by Yahoo) to a large degree in the not-too-distant future. I'm not referring to e-mail based services like Yahoo! Groups (formerly eGroups), but more tradtional message boards.

Someone asked me how that would happen.

This was my response.

How is difficult to say. But given the amount and pace of innovation in various cross-blog threading systems (summarized on Ben Hammersley's blog: http://www.benhammersley.com/archives/003862.html) I'm convinced that it will happen
And when you compare the average quality of the discourse on moderately trafficked blogs with that of a random Y! message board, it's hard to argue with blogs winning in the short term.
I still see a future for large centralized message boards, but realistically the more sticky, in-depth, hardcore stuff will probably continue to reside in specialized forums and a growing number of weblogs.
This is going to be a very big year for blog growth.

What do you think? Am I on crack?

Update: One of my co-workers has posted his views on the topic. I see where jr's coming from but don't entriely agree. In my view, the current state of blogging isn't all that different from home pages back in 1997 or maybe 1998. As the technology improves (it will) and people realize what the benefits really are, we'll see blogging evolve in several directions. I happen to think this is one of them.

I'd say more, but I'm tired and still have lots to do... like getting that presentation ready for tomorrow.

Posted by jzawodn at 05:51 PM

PC Mag Safari Comments

In their Safari review, PC Magazine says:

Most Mac fans have been surfing with Microsoft Internet Explorer 5.x, and the Mac browser market has been in a rut. In addition, IE, although well-designed, is notoriously slow in rendering pages.

Are they smoking something? According to my referer logs IE isn't terribly popular on the Mac. A lot more folks are using Chimera or Mozilla. And what is this "rut" they're referring to? Chimera, IE, Mozilla, iCab, Opera, OmniWeb, and now Safari are all available for the Mac.

Posted by jzawodn at 04:17 PM

January 19, 2003

Secure Mail Relaying with Exim and OpenSSL

I finally got around to setting up something I've wanted for a long, long time. You see, I have a few co-located machines runnning Debian GNU/Linux that handle e-mail, DNS, web, MySQL, and other services for roughly 30 domains including zawodny.com. But the e-mail has always been a bit of a pain.

Why? Because I send roughly half of my mail using mutt while logged directly into one of those machines. That's fine. However, the other half of the time I'm using something like Apple's Mail.app on the TiBook. When that happens, I have to worry about relaying issues.

Traditionally, I've just used Exim's host_accept_relay option, setting it to a list of hosts that I'll be using:

host_accept_relay = 192.168.1.2

The problem with doing that is dynamic addresses. My cable modem address changes now and then. And sometimes I'll plug the TiBook into a foreign network. Then I need to figure out what the address is, if there's NAT involved, and so on. It's a pain. There's a better way.

Fortunately, Exim (my preferred mail server) has two features which combine to solve the problem. First, you have SMTP AUTH (RFC 2554), which is the standard way of mail clients authenticating with a mail server for sending messages. The second piece of the puzzle is SSL support, so the entire session can be encrypted--including the authentication (username and password).

My goal was to configure Exim so that it would allow any authenticated user to use the server as a mail relay no matter where they connect from. Then I'd require all autentication to happen over an encrypted channel so that I'd never have to worry about passwords being sniffed. It turns out that this is surprisingly easy to do.

By reading chapters 35, 36, and 38 in the Exim manual, it was quite easy.

First, I made sure to install the Debian exim-tls package as a replacement for the normal exim package. (TLS stands for "transport layer security. In this case, OpenSSL is providing the TLS.)

shell$ sudo apt-get install exim-tls

To setup the SMTP authentication, I added this bit to the end of my /etc/exim/exim.conf file:

# AUTH stuff here

fixed_plain:
  driver = plaintext
  public_name = PLAIN
  server_condition = ${if and {{eq{$2}{user}}{eq{$3}{pass}}}{yes}{no}}
  server_set_id = $2

Where "user" is the username I'm going to use and "pass" is the password. It's possible to use PAM, MySQL, text files, LDAP, or any number of other ways to do this so you can support many users. Right now this is for just me, so this works. Someday I'll improve it and allow others to make use of it.

Then I followed the example instructions for creating an SSL certificate and key. I installed them as /etc/exim/exim.key and /etc/exim/exim.cert.

Lastly, I updated a few more settings in my Exim configuration and then restarted Exim:

# Only localhost can relay by default
host_accept_relay = localhost
  
# Anyone can relay if they auth first.  And auth must happen over SSL.
host_auth_accept_relay = *

# SSL/TLS cert and key
tls_certificate = /etc/exim/exim.cert
tls_privatekey = /etc/exim/exim.key

# Advertise TLS to anyone
tls_advertise_hosts = *

# Require auth over SSL only.
auth_over_tls_hosts = *

Then I told Mail.app to use password authentication and to use SSL for outgoing mail. That's it. It just works. The same should work for Netscape, Outlook, Eudora, etc.

Posted by jzawodn at 10:50 PM

SBC doesn't get the Web

I'm getting sick of Pac Bell (or SBC, as they're now called). Back in 2001, I had phone problems that required a visit. Their web site wasn't terribly helpful.

Guess what. Nothing has changed. Nothing at all. I went to their web site, hoping that I could report my phone problem (since I obviously can't call them). Once I got to the right place, I saw this.

WTF?! Why is it that I can inquire about a previously reported problem on their site, but I cannot report a new problem? This makes absolutely no sense to me. This feels soooo 1999.

It's a good thing I have a cell phone. I called them. I have to stay home from work tomorrow morning and wait for the repair tech to visit.

Screw SBC. Again.

Oh, I have a feeling that when they shut off my DirectTV DSL service last week, they killed my phone line too. Based on what people have told me ("your phone has just been ringing when I call--since the middle of last week.") it's been dead since last Tuesday. That's the day the DSL disconnect happened. I suppose I could just wait until this Tuesday when they're scheduled to hook me up to the new DSL service, but screw that. I'll make the tech come out on Monday to fix the phone and then again on Tuesday to fix the DSL. They screwed up... not me.

Posted by jzawodn at 10:18 PM

No, the *other* knob!

I had some unexpected "excitement" during my last flight this morning. Not the good kind. The kind that makes you really happy your flight instructor is in the back seat.

Note to cockpit designers: Different controls should look and feel different.

Note to self: Pay attention and remember what your instructor has been telling you. People are less likely to die this way.

Anyway, read all about it in my flying blog if you're into that kind of thing or just want the details on what went wrong.

Posted by jzawodn at 06:48 PM

My stuff is where?

From 0xDECAFBAD:

Years ago, when I first started using email, I did indeed do this with procmail and other arcane beasties. Then, I found myself cursing that I couldn't do cross-folder searches very easily. Also, the filters and folders started making less sense as their structure represented only one possible scheme for finding what I was looking for, and I was needing many possible kinds of schemes over time. So, eventually it all ended up in one pile, and searches became my way of finding things.
I abandoned bookmarks for Google by the same principle. Now, my bookmarks consist completely of bookmarklets and a few stray links to local on-disk pages like Python documentation. In fact, I wishing that I could create bookmark folders that are fed by Google API powered persistent searches.
So, now I'm looking balefully upon my filesystem.

<AOL>Me too!</AOL> I really, really suck at organizing. I'd rather just search based on content, attributes, etc.

Posted by jzawodn at 02:13 PM