Author Archive

Uncategorized

OSCON Thursday notes

One of the cool things about being here is hearing people say stuff like, “That’s available in the very, very latest version of MySQL, the version on Monty’s laptop,” gesturing to Monty, who’s sitting in the back of the room.

Sam WIlliams has a nice write-up of the Lessig & Stallman keynotes, including coverage of the press conference.

Uncategorized

Bioinformatics Keynotes

I woke up early after all, so I decided to catch the keynotes, after all. The first one includes a crash course in bioinformatics. This is cool stuff. Bioinformatics projects use a lot of open source / free software. glib, Perl, lots more Perl, MySQL, GD. And their data are open, all their code is open, BSD style license. “Just open up your data and your code, that’s what being a scientist is all about.”

Wish list for open source community: keep doing what you’re doing. If you’re bored with what you’re doing now, we’re hiring. and we have better beer in the UK. :-D

With regard to Perl: yes they use it a lot. He complains about exceptions, and rightfully so. and objects. so much of that is being cleaned up in Perl 6, for what it’s worth. They code Perl as if it were Java. I know a Java programmer who does that. Heh.

Wish: Perl, Java, Python source level integration.

Q: coding standards with all these noon-programmers? A: Can’t really impose that, what you have to do is build a community that shares ideas and practices.

OK, new guy. I won’t record most of what he said, you can read it elsewhere I’m sure. One good note (paraphrased): The reason I’m in bioinformatics is that I really think that we should understand what we’re doing before we start tweaking the human genome.

The infant digestive system does not process proteins like the adult. So soy formula may be especially problematic — i.e. potentially fatal food allergies — especially with genetically modified soy. the first human tests of genetically modified soy could be on 10 million babies at once. Ya reading this, Kiara? I’m beginning to understand the breast-feeding nazis.

Uncategorized

OS X Customization

Marc Liyanage, the man who’s done so many of us a huge favor by publishing useful things like MySQL and PHP builds for Mac OS X, has put together a list of “utility tips, application settings and other tweaks that I find indispensable or that make my Mac OS X experience even more pleasant than it already is.” Thank you, sir, many times over.

Uncategorized

More Wednesday OSCON Roundup

There are so many sessions here that I could go to. I could easily have chosen an entirely different set or two and still been happy with where I went. Hopefully I’ll be able to keep coming to these things.

Today I went to a two Perl sessions, an explanation of Perl 6 and an overview of starting the transition in our programming from Perl 5 to Perl 6. (In case you didn’t know, Perl is being overhauled, rewritten from the ground up.) Whew.

Some of the changes are explained elsewhere and elsewhere, but here’s one thing that really caught my attention: Perl’s getting a switch, one of the neatest implementations I’ve seen. It won’t be called switch, it’s given. I could give you code examples and walk you through it, but I think I’ll just point you to the appropriate Exegesis page. This will be nice.

When I took that horrible Java class a couple years back (you know, the one where I learned the entire term’s content on my own in the first two weeks and sat bored for the rest of the term and swore off programming classes because there’s no way they’ll go fast enough for me), the textbook we used wasn’t too keen on switches. I think they’re a very useful construct, thankyouverymuch.

A point that Damian and Larry kept trying to get across is that Perl 6 is being designed to make it easy to write natural, cleaner, DWIMier code. Having worked through the Apocalypses (Larry’s revelations about the language design) and the Exegeses (Damian’s explanations of the Apocalypses), I’ve been excited about some of the changes, though a bit leary of what it may entail. I’ve figured all along that Perl 6 would be like learning a whole new language, and in a lot of cases that will be true, but I don’t think the transition will be that dramatic or painful. Especially since it’s possible to start doing some of the cool stuff now, thanks to clever CPAN modules.

One thing that will be dramatic is the regular expression syntax. Man oh man, are they doing a job on that. Apocalypse 5 is all about regex, and is absolutely dizzying. It took me a long, long time to work through it all. Damian’s comment: “The regex syntax had become so complicated that the only thing we could do was set it free . . . then hunt it down and kill it.” Then, “To hell with the rest of the world who’s followed Perl 5 regex syntax. they will follow again.” Heh.

(Ooh, that reminds me, I have an article to write that involves regular expressions. Maybe I can get to that sometime soonish.)

Then this evening I went to “Whose Code Is It, Anyway,” sort of a “Whose Line” for geeks. Perl geeks, I think mostly. Hilarious.

Something I forgot to mention earlier: Larry Lessig does a kick-ass job with his slides. I’ve been paying close attention to how people use slides in their presentations, and I’ve found that what I like the most is something that I do not do: many carefully planned slides, each wiith a single point to be made. Go through the slides quickly. Some of Lessig’s slides had only one word or image. He kept coming back to a refrain of four to six slides, with little riffs on his theme. Mark-Jason Dominus and Damian Conway do the same sort of thing, although they might slowly build a slide that has more than one bullet point on it. Geoffrey Young’s the same. They use color or highlighting to call attention to a particular bit of code, fading to grey the parts we shouldn’t focus on. In contrast, Matt Sergeant does what I do, and in fact has a public speaking style very similar to mine: not quite so many slides, black text on white background (maybe with a border), bulleted points. Part of that is the tool he wrote and uses, AxPoint, which creates PDFs from an XML source document. The tool was written, though, for how he uses slides in his presenting. I think that the slides really influence the presentation style, so in any future training session or presentations that I do, I’m going to start playing around with different techniques.

Damn. This may mean that I have to learn to use PowerPoint. Nah. I’ll do it with XHTML.

This is not to say that Matt Sergeant’s presentation (“Why SOAP Sucks, Why SOAP Rocks”, similar to the presentation of the same title from last year) was boring. I liked it, I learned something, it gave me food for thought, and I was glad to finally see Matt. Just a point of comparison.

OK, one more session, I went to the rescheduled Jabber session, which made me happy since I’m leaving Friday before the convention ends so would have been unable to attend this session in its original time slot. Turns out that iChat, the chat client that Apple’s shipping with Jaguar, uses the Jabber protocol for local area network connections. Rendezvous for discovery, Jabber for communication. Apple hasn’t publicized this or made any official acknowledgement, but there it is. I doubt that iChat will support Jabber networks at first (I can’t imagine the politics with their work with AOL), but there is hope.

it still seems that almost every conversation I get into here is with someone who works in higher education. What’s up with that? I should ask O’Reilly what the percentage really is. So lots of higher ed, lots of Macs. No wonder I’m liking it here.

Uncategorized

Wednesday OSCON roundup

Tim O’Reilly reminds me a lot of Jeremy Raths. You probably don’t know Jeremy, and if you do you probably don’t know who Tim O’Reilly is, but the connection’s there.

Went to the keynotes today, of course. Lawrence Lessig gave a good speech dealing with the message he’s been trying to get out there for a couple years now: quoting JC Watts on his experiences in Washington, “If you’re explaining, you’re losing.” On what organizations like Disney, RIAA, MPAA, etc. are doing to copyright and our ability to innovate and build on the past — we never been more controlled — 6 years later we are still explaining. We are losing. The debate is still framed in these corporations’ terms, and they are re-architecting “cyberspace” to destroy creativity and innovation. Lessig’s been ragging on the techies and the open source community for a long time now, this is his next to last speech. Kinda of a shame, but he needs to move on. And we need to start listening and doing something about it.

If you haven’t read what he’s written, do. I will loan you his books if you’d like, although I now have to reread his latest. This is not just an American problem. OK it is, but “we” are exporting the problem, because we aren’t resisting it. Our freedom to create is being eroded actively attacked and we do nothing.

It wasn’t until he was about halfway through his speech that I saw the brilliance of the juxtaposition of both Lessig and Richard Stallman as keynotes. I’d never connected their messages until today. When it comes to “digital rights management” and the battle over copyright, we are fighting for our freedom, which is what RMS has been doing all along.

I won’t get too deeply into RMS’s speech. Same message he’s had all along, you can find it at FSF. And read Free As In Freedom, his biography.

I had forgotten until this morning that my excitement about OSCON wasn’t just about the training. That was a selling point and made it easier to justify out-of-state travel with my cash-strapped employer, and since this is certainly the best training around for me it’s well worth it and I’m learning a lot. But it’s not the only reason I wanted to come here. I got email yesterday from a coworker wishing me “chance to meet interesting people, hear some great presentations, learn some new things, be challenged and have a sense of being re-energized.”

Re-energized. Yeah. I’m not here just because I use open source software like Perl, PHP, Apache, MySQL and want to know how to do so better. I’m also here because I believe in open source and free-as-in-freedom software. I believe in the idea. It’s a political as well as a technical thing for me. Part of what’s really cool about projects like Mozilla, Jabber, GNU/Linux, Apache is not just that they are solid, free-as-in-beer software, but that they are free, open frameworks that let developers build and share really cool tools that they need. Look at how many really cool things are being built on top of Mozilla. Look at all the really amazing things that people are building with Jabber. Or GNU/Linux. I am here, and Lessig’s and RMS’s points today resonate strongly with me, because we still have the freedom to do so. This freedom is in danger.

So yeah, it’s energizing to be here, especially now that I’ve remember that this is part of why I came. Last week was from hell, so to take the time to engage these ideas, to “network” with people working on lots of cool stuff…this is wonderful.

OK. more random notes.

One strange thing. In a water- and electricity-strapped state like California, I’m surprised that the hotel doesn’t have a program for re-using towels. Some hotels suggest that guests leave their towel on the floor if they need it replaced, hanging if they want to continue using it. I certainly don’t need a fresh towel every day, it’s wasteful: it takes a lot of water, chemicals, and energy to clean all these towels every day. So it irks me to find that my towels are replaced every day. I suppose that I could decline to have the room cleaned. Still.

I’m having trouble following all the blogs. Best list I’ve found is Aaron Swartz’s, if you’re curious. Fortunately Mozilla lets you bookmark a group of tabs, so I can open all the OSCON blogs at once. At least all the ones I know about.

Still haven’t set up blosxom, not sure I will. I thought that it’d help with live blogging of conference sessions and keynotes, but I’ve found that if I start taking notes I lose track of some key elements. Fortunately Aaron’s a helluva typist (seriously! I’m sitting next to him right now and he’s amazing), so if you want to know what Lessig or RMS said this morning, you can go there. I’m sure that Technetcast will have audio, too. And some MP3’s are posted at randomfoo.net. Must look into how he’s doing this, esd piped to lame. Hm.

Went though and talked with some vendors. Sun’s here with their little Cobalt cube, which looks cool but I am so not a hardware guy. Did talk with someone from OpenOffice.org. I was looking for a MacOS X build, but the CDs aren’t here now but will be later. I’ll need to get X (as in XFree86) installed first anyway. Or maybe it’ll be on the CD… We talked a while about organizations switching to OpenOffice. I’ve been hoping to do this at MnSCU, although it would more than likely be StarOffice, but I don’t ever expect that we will. People couldn’t handle switching from WordPerfect to Word, I don’t expect that switching to OpenOffice would go down too well. Sheesh. The person I talked to suggested hitting their lists, where they have a lot of people with experience in making the switch in their organization. She also said that large companies are starting to switch, so the “no one of consequence is doing this” argument is going away.

My interest in making the switch is twofold:

  1. Good fiscal management. It’s free. There will be retraining costs, though, so I’m not sure what sort of ROI you really get here. ‘Course, there’s retraining for MS Office updates, too.
  2. Web content management system. I’ve talked about this before and will again. Because it’s native file format is XML, OpenOffice can be integrated into some sort of CMS, allowing people to use now-familiar word processor to create and edit content.
  3. I have to admit this: I think it’s cool. OpenOffice is good software. Try it.

Guess that’s threefold.

I haven’t been doing a lot in the evenings. Last night I was at the Internet Quiz Show, tonight I’ll prolly be at Whose Source Is It Anyway? None of this leaves a lot of time to go explore the area. I’m gonna have to do a lot on Thursday night.

Note to self, and to Stacy if you’re reading: look at CVS and SourceCast. And Subversion.

I just got email from my brother that reminds me: today’s my birthday! I turn 31 today. Whaddya know. I always forget that stuff.

Uncategorized

OSCON random notes

Picked up copies of Perl & LWP and Mastering Regular Expressions. Books here are cheap, as you’d expect. I’ve been waiting for these two, but somehow held off until I got here before buying them. Yay for me.

T-shirts are being given only to early bird registrants. I tried to register early, but the bureaucracy intervened to ensure that that particular taxpayer-dollar-saving avenue would be avoided. Damn. So I have to wait ’til Thursday to see about buying a shirt.

Good rule of thumb: in public restrooms, incoming traffic has right of way.

I need to take another serious look at URI munging. Especially for session IDs, I’ve put this off too long.

I’m going to go out on a limb here and admit something I wasn’t sure I would. When I got here at OSCON, I felt both in my element and out of my league. Yes, I was surrounded by geeks with similar interests and passions as mine, but so many are “alpha geeks,” far more experienced and knowledgeable than I. These are people whose work I have long admired. I felt vaguely overawed. Outclassed, in a way, like I was some lowly mortal stumbling around where I didn’t belong. That feeling changed, as I expected it to. Having talked with a few people (a very few, remember, I am not an outgoing man), having attended the tutorials, I just settled down and got over it. I’m here to learn, and I’m gonna learn from the best. How cool is that.

Uncategorized

Migrating to Apache 2.0

Sadly, this session was a bust. I think I’m gonna ditch it in favor of Mark-Jason Dominus’s Perl Program Repair Shop and Red Flags. I’ve wanted to see him speak for a long time, and was tempted to attend this session anyway, but since I’ve been looking at upgrading to Apache 2 as soon as both mod_perl and PHP are stable, I thought I’d see what was up in the Apache session. There wasn’t a whole lot new mentioned, or things that I couldn’t easily find out elsewhere, though. So I skipped out.

I did glean a few useful things, though:

  • If you’re just running standard modules and aren’t using deprecated directives, you can pretty much build it and go. Very little new is involved in the migration. Covalent has a Perl script that you can use to convert the httpd.conf to Apache 2.0. Not perfect, but nice.
  • PATH_INFO is not available by default, which breaks a lot of PHP code. Use AcceptPathInfo On to make it available.
  • mod_perl and PHP are not yet ready on Apache 2. I knew this, but have been uncomfortable about the silence from the PHP folk on the matter.
  • It may someday be possible to run more than one SSL server per IP, e.g. for each virtual host. But not yet, and don’t hold your breath. Browser support isn’t expected until server support is there, and it’s not yet.
  • I am very excited about running different virtual hosts as different users. But that’s not ready yet, either.
  • mod_gzip has become mod_deflate in 2.0.
  • More upgrading information is on the Apache site.

Uncategorized

Transition to mod_perl handlers

Geoffrey Young’s mod_perl session was good. For the first half-hour or so, I was worried that perhaps the session was a mistake, since I wasn’t learning a whole lot new. Not too much after that (9:41, actually) I realized that he was spinning into some new and interesting territory. The remainder of the session was a dizzying tour. Wow. He just blew through stuff, holding true to Mark-Jason Dominus’s Conference Presentation Judo recommendation to just speed right along at a clip faster than 75-80% of your audience would prefer. This makes it hard to take notes but that’s okay. What I had hoped to get out of this thing was a more general grounding in mod_perl, and to carry away a few techniques and concepts, cool ideas I can look into using right away and that will help guide future study and development. Bingo, that’s what happened.

Uncategorized

End of Posse Comitatus?

I don’t know whether to be surprised that it took so long or that it didn’t take longer. Yahoo!: U.S. Mulls Military’s Domestic Role. BBC:US plays down domestic army use.

Shit.

Uncategorized

Monday at OSCON

The first day of tutorials has passed. I’m still plugging away on that overdue project, but after tonight I should be set.

The “Mastering Data Structures and References in Perl” tutorial was everything I’d hoped it to be. As I wrote earlier, I’ve used references and complex data structures in the past, but especially with OOP it never quite seemed natural, I didn’t grok them. Almost every time, I have to slowly think through how to dereference a complex hash of hashes of arrays or whatever. Paul Grassie’s session helped to clarify some things for me, especially the dereferencing syntax, so I am not more confident in what I’m doing. Good.

I wonder if the advent of the Schwartzian Transform was a eureka moment.

That, by the way, is another one of those things that I’ve read numerous explanations of without ever really feeling like I got it, until sometime in the past year. I think I’ve used a Schwartzian Transform exactly once. The explanation in Effective Perl Programming is what finally did it for me.

I’ve set some goals for myself, some of which I’ll discuss in the coming days. One of them is to become more familiar with the modules in the standard distribution of Perl, as well as some of the more popular and useful ones from the CPAN. Things like Data::Dumper and File::Find. I’m not very good about taking the time to go find modules that will help me solve a problem because someone else already has. I don’t mean stuff like XML parsing or FTP or LDAP connections, for which I obviously turn to CPAN. I mean “everyday” stuff like disk I/O or data structure interaction, for which there are some nifty modules. I must get better about using those. It will make me a better programmer.

It also occurred to me during the session that no matter how much I use other languages because they’re better suited to a particular problem, at heart I just so much prefer Perl.

The next tutorial, Jeremy Zawodny‘s MySQL Optimization, was also excellent. His is a practical approach. He didn’t just cover server or query optimization, he hit a number of different areas where bottlenecks can occur, including database and application design, hardware & operating system tuning, etc. I like his attitude: don’t overdesign, do what works to get your job done. Don’t, for instance, index columns until you need to. Start with MyISAM tables for most things, convert to new table types if you need to. (This is reminiscent of the idea that when coding, one shouldn’t spend huge amounts of time optimizing a particular algorithm if it will end up having negligible impact on the overall code efficiency. Algorithms are not often where the bottlenecks are.) Even beyond his practical advice, this was a very informative session.

A few disjointed thoughts:

  • the next Perl Whirl and the next MacMania cruises are happening simultaneously and on the same ship.
  • There’s good food here for vegetarians, even yummy vegan cookies.
  • This is a good PR opportunity for open source. There’s a huge banner outside the entrance to the hotel, which I know sparks interest: I’ve already talked with two total strangers about open source software because they were genuinely curious.
  • I have yet to see Tim O’Reilly.
  • There are lots of people who, like me, are reluctant to engage strangers in conversation. At both breakfast and lunch today, I sat at tables that were largely silent. This is both comforting (especially at breakfast) and disappointing, since I am not normally gregarious or even approachable. When I did end up talking with a couple people at lunch, turns out they both work in higher education, too. Weird.
  • There are Macs everywhere. O’Reilly in particular seems to have adopted them with a vengeance: the registration, book sales, connectivity lab…all Macs. Hell, the lab is running Jaguar! Sweet. The halls are littered with people sporting iBooks and TiBooks. Very cool.

So I’m liking it here. Tomorrow, “Migrating to Apache 2.0” and “Transitioning to mod_perl Handlers”. And the State of the Onion, and maybe some exploration of San Diego. I’ve still gotta hit the beach, or my coworker Stacy will have my head.

« Prev - Next »