Older blog entries for dsifry (starting at number 24)

Oy, busy busy busy. Knock on wood, there's lots of paying work out there, even in today's climate.

dyork, the Japanese LPI Banner you mentioned means (loosely): (Left hand side)The worldwide accepted standard (Right hand big text): Linux engineer certification test, LPIC.

Cool.

Well, I'm finally getting the hang of LDAP (OpenLDAP) and Apache's auth_ldap. I can now create, modify and delete users over the web, and I can authenticate them against apache. I'm sure that I could get the LDAP PAM module working, but I don't need it for what I'm doing now.

Now I can create a list of users, send them randomly-generated passwords, and they can go to their directory and change their own passwords to whatever they like.

The only point that I dislike, right now, is that I can't seem to get PHP to correctly create a SSHA hash of a password by itself - I'm left to doing a nasty backtick hack to call ldappasswd. I can create DES + salt hashes, but I'd really prefer the extra security of SSHA. If anyone knows of a way to do this from within PHP, please let me know.

Getting in-depth with OpenLDAP and PostgreSQL. I've been meaning to really sit down and learn LDAP - it seems pretty simple at the conceptual level. The problem is that it took me over 4 hours just to get a basic database and schema up. Then it took another 3-4 hours to build a PHP script to let me manage the schema. What a pain in the ass! Still, now tht it's done, I don't have to go through that learning curve again. Somebody ought to write up an OpenLDAP/PHP HOWTO. Perhaps in my copious spare time...

I've also been converting an old mysql-based document management system into PostgreSQL. I'm doing this mostly because I need to use PostgreSQL in a project in order to feel like I really understand it. Neither PostgreSQL nor OpenLDAP has easy-to-use documentation, too bad. Thank God I already have a pretty firm grasp on SQL. Learning the psql command isn't too hard, not much different from the mysql command.

It'll be cool to have the document management system up and authenticating against the LDAP database. Perhaps I'll then package it up and release it to the world, just what the world needs, another intranet/document mgt system... Off to bed.

IRDA on Linx absolutely sucks. I've spent most of the afternoon and evening just trying to get some basic feedback from an IBM thinkpad. First you have to run PS2.EXE from DOS to turn on the IRQ and IO Port, then you have to recompile the kernel with IRDA support (and irda.o keeps failing as a module because of unresolved dependencies with the function sk_run_filter(). This function is included if you set CONFIG_FILTER=y in the kernel, which I do... Not to mention that now you've got all these modules and devices - ircomm, irnet, ir_tty AND ir-tty, to name a few. Sheesh!

All I really want to do is turn my thinkpad into an IR remote control for my stereo, using LIRC, what a pain in the ass!

If there's anyone out there that's gotten LIRC working with a thinkpad, let me know. Otherwise I'm going to shelve this for a while.

6AM Tuesday morning. And I've already been up for an hour. Ahhhh. I can really get used to this unemployment thang. I'm finally getting unwound enough from life and times at Linuxcare and Turbolinux to really relax and enjoy the mornings.

I'm playing a lot of golf, getting out and taking the dog on long walks in the park, and finally getting back into some hacking for fun.

I must say that kjofol skins for xmms totally rock.

If you would like to reach me from now on, best to send email to david at sifry dot com.

Whew, long time no post.

Hats

I got a new job - VP of Engineering. This means I have to wear two technical hats - both as CTO, my old job, and now as VP of Engineering. I have been having something of an amusing time finding out how different the two roles are, much to my charign.

As CTO, I go out and talk to a lot of customers, partners, and the press. It's my job to be a visionary - to research and understand new markets for Linuxcare, to define and pursue the strategic vision of the company along with the executive team. It also means that it's my job to talk a lot with customers and potential customers and open their eyes to the benefits of open source, and to Linuxcare's role. It involves a lot of sales activity. It is about defining and architecting the future products and services we'll offer. It's a great job.

As VP of Engineering, I have a very different role - I have to have very well defined requirements, specifications, and test plans - and I have to do everything I can to make sure that the engineers know exactly what they are building, for whom, and what their deadlines are. I spend my time talking with the engineers, project managers, and end-customers to make sure that we're on track and that the engineers have all the resources they need. It is my job to reduce their complexity, have well-defined deliverables, and make sure that we're making our dates.

The problems started when I began talking about the sales calls I was going on, describing some of the cool future uses of the projects and technologies we were building. Things got really bad when I brought some of the engineers out on sales calls, and they heard "Dave the CTO" talking to customers. ;-)

What I didn't realize is that I have an interesting ability to hold these two dissonant job descriptions in balance in my mind - The visionary that is describing where we're going to take the customer, where Linucare's competencies are evolving, and the kinds of products and services we'll have in 6 months was scaring the bejesus out of some of the engineers who were wondering, "Omygod, is he expecting me to have that thing built today?"

Lessons Learned

The hard reality hit me in the face when one of the engineers got very hesitant and started asking questions about product definition - at first, I was a bit put off, but after some long discussions with him and the other members of the team, I learned that I wasn't communicating clearly exactly what he and his team were supposed to build RIGHT NOW. Instead it looked like there was scope creep all over the place, and that the entire process was completely unfocused.

Essentially, I wasn't being clear about when I was CTO, and when I was VP of Engineering. And as VP of Engineering, I had to make sure that I was bludgeoning the hell out of the CTO - so that the engineers had clear knowledge of exactly what they were to build, who they were building it for, and when it was due. There is no room for the visionary in that role - it has to be very concrete, making sure that we have well-defined requirements, specs, project plans, etc. Basically, I had to tell the CTO to shut up. ;-)

This has been a really valuable learning experience for me - and I'm really glad that my team has gotten through this with me with mostly chuckles and good natured barbs. I'm really grateful that they showed me where I was fucking up.

So now I'm trying to be really clear about when I'm speaking as CTO, and when I'm speaking as VP of Engineering. I hope the folks continue to keep me honest on that front...

16 Oct 2000 (updated 16 Oct 2000 at 08:25 UTC) »
ALS

Back from ALS. It was a good show. Gave my talk on OpenFlock and GCTP and I think it went over pretty well. Had a nice chat with some of the Helix Code guys about how to get everything playing nicely between OpenFlock and Evolution. Saw lots of old friends at the show too, and made some new friends. I especially enjoyed hanging out with Don Becker on Thursday night. Too bad the beers were free, I'd have bought him one. Perhaps the next time he comes out to SF...

Digital Pictures

Wow, the pictures from my new Nikon 990S are better than the ones I get back from Kodak on PhotoCD with my 35mm camera. That's impressive. I also found www.shutterfly.com, a web site that produces prints from jpegs, and they have a special for the month of October - if you sign up before October 31, you get 50 free 4x6's. I'm going to try them out to see how well they go from jpeg->print. I also want to see what an 8x10 will look like, and they're only ~$2.00/print. Anyone know of any other good online photo printing services?

VTech Helio

The best booth at ALS had to be the Transvirtual booth - they were showing off PocketLinux running on everything from an Itsy to a Casseopea to a Helio to an iPAQ... Very cool stuff, even though it isn't ready for production use. They were also selling those Helios (75MHz MIPS processor, 2MB Flash, 8 MB RAM) for $139. I just couldn't help myself, I got a bunch for the folks back at work to play with. I gotta tell you, it looks really cool to see the Linux boot messages fly past on the little LCD of the Helio. I'm sure that things will be even better when Linux no longer hangs when you hit the power switch - as it stands now, you have to hard reset the device and it has to reboot each time you turn it on. Good luck guys!

Apmiser

Got some good patches for apmiser from the guy who wrote tpctl. I'll incorporate them, and do a release soon. It is a thrill to know that your software is being used by a whole bunch of other people out there in the world. Ahhhhhh.

ALS Pre-show

Hacking like cray to get everything ready for the show. Making good progress, but there's only so many hours in the day. I'm looking forward to having 1.0 released...

Sleep

Must... Get... Some... Now...

10 Oct 2000 (updated 10 Oct 2000 at 09:28 UTC) »
Group Calendaring

More commits to OpenFlock today. Notching up the volume so that I will have something interesting to talk about at ALS - I really want to have v 1.0 released before the talk... Well, I can always code on the plane to Atlanta (I hope!)

Baby Stuff

Melody's first tooth is starting to come in, which causes her some discomfort, not to mention disruption in her sleeping patterns.

Apmiser

Got good pickup for the project at Freshmeat. 228 hits as of today. Cool.

Magic 8 Ball

This is the best use of technology I've seen in at least a week. Enjoy. This is the big question on my mind today.

OK, off to bed.

8 Oct 2000 (updated 8 Oct 2000 at 11:22 UTC) »

Lots of stuff going on recently.

Group Calendaring

I've started the integration of the ACL Code into OpenFlock itself. This is proving to be a pain in the ass, mostly because it is a whole lot of busy work - changing a lot of function calls into OOP method calls, changing argument ordering that kind of thing. Some of the old code doesn't apply anymore, so I've got to figure out a good way to remove it without breaking anything - but that appears to be a minor issue. With ALS coming up soon, I am bucking to get the new release out before my talk. :-)

Baby Stuff

Babies are BAD for productivity. I'm lucky to get any work done late at night after the wife and baby have gone to sleep so I can get into "the zone". Anyone else work that way? I just can't seem to get myself into a really productive space unless I have at least 4 hours of completely uninterrupted time, which sure as hell doesn't happen at work! The most ironic part of it all is that I can't get work done on OpenFlock (the group calendaring system) because I'm constantly booked in meetings! You just gotta laugh.

Melody is a pure delight, though. She's 8 months old now, and it is so incredibly fascinating to watch her personality continue to emerge, especially her sense of humor. I had the chance to spend a lot of time with her today, and it was a hell of a lot of fun.

Digital Cameras

Woo hoo! My Nikon 990 finally came in. It is a sweet camera. 3.34 Megapixels, and 2000x1534 pixel pictures by default. So sharp! I was having lots of gimp fun tonight. Don't ask me about the jerks who sold me the camera, though - classic bait-and-switch artists. Watch out for them!!! After lots of calls, I finally got the camera (the only thing they got right in my order). I think AmEx is going to get a call from me regarding these guys.

Add to that mess the fight I had with Airborne Express to just pick up the package after it arrived in San Francisco. Suffice it to say that not only did Airborne promise me 3 times they'd have the package at my door (even when it was late), they never followed through, and I had to go down to their shipping dock and pick it up myself in order to prevent further frustration.

*Sigh* Well, at least I have the camera now. I took some shots today of Melody at the supermarket, you can see them youself. Sorry Ryan, no PA pictures... ;-)

Apmiser

I released the first production version of apmiser today, woo hoo! apmiser is a tool for IBM Thinkpads that automatically controls the APM power settings based on your usage patterns. I often got pissed off at how slow the Thinkpads were when running on power-save mode - IBM would slow the CPU clock to 1/4 the rate of the full-speed CPU. This significantly saved power, but the performance drop was noticable. Whenever I wanted to do a compile, I would run tpctl to switch the thinkpad into full-power state, and then when I was done, I'd switch back into power-save state. This worked for big compiles, but even then, it was time consuming and sometimes I forgot to go back into power-saving mode, which caused my batteries to run out quickly. In addition, this didn't change performance when doing short CPU intensive tasks, like sorting a mail folder, or switching virtual desktops.

In response to this, I created apmiser, which is a little daemon that regularly checks your CPU utilization. If you're on battery power and it thinks that you're using the CPU, it switches you into full-power state while you need the CPU, and then it immediately switches you back into power-savings mode when you're finished with the CPU. I've found that apmiser significantly increases my productivity when using my thinkpad on battery power.

There's more, too. Since most of the time people use computers the CPU is idle, I've set up apmiser to help you to recharge your batteries faster when you're plugged into AC power. If you're plugged into AC power and your battery charge state is less than 95%, then apmiser acts as if you're running on battery power. Tests show that this speeds up my battery recharge time by almost 25% over the IBM default, which is to run the computer in a full-power state all the time.

In a way, I guess you could call it software-based "code morphing", sorta like what the folks over there are doing... Heh.

Birthdays

Today is my Birthday, I'm 32 today. Happy birthday to me!

15 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!