Monday, March 26, 2007

Open Source CMS Summit 2007, Day 2

The day started out fine; I had a shower and then went down to enjoy some of the hotel's free breakfast. I had cereal and spent a while talking with Joseph LeBlanc, a freelance Joomla! developer, as well as some others. Then I walked over to Yahoo! and went to my first session of the day: the Yahoo! User Interface Library.

The Yahoo! User Interface Library presentation, presented by Eric Miraglia, gave a brief overview of, amazingly, the YUI. It is designed, they claim, to protect developers from the "vast source of incompatibility, pain and misery" that is the web browser. While there isn't much to say about the presentation itself (it was mostly an overview and justification for using the YUI instead of rolling your own), there were a few notes that I made: firstly, using the YUI menus in conjunction with PumaCMS to keep the cleanliness of the headerbar but allow users to navigate the site more directly; secondly, the concept of using animation to help users understand the interface (for example, OS X's use of animated minimizing windows). Definitely something to look into, especially as YUI is licensed under a BSD-new license.

The next session I attended was for Yahoo! Pipes, which, again, was more of a demo than anything else. Y! Pipes is based on the same concept as Unix pipes: a bunch of small, single-purpose utilities can pass data around between them, and the user can string the utilities together in whatever manner is needed, so that complex and very useful tools can be created from a small set of simple tools. But, instead of passing around data from the command line, Yahoo! Pipes pass around feeds, particularly RSS/Atom feeds. Of course, that's pretty cool itself, but the interface is very cool, too.

The next session I attended was Drupal's FormAPI, and while I thought this was going to be a presentation about some general FormAPI tool, I was willing to sit through it even after I found out it was about Drupal, thinking that there might still be something to take away that could be incorporated into PumaCMS. Unfortunately, the presentation was sidetracked (for forty minutes!) by several hard-core FormAPI developers. Sigh.

Next was lunch, which was pizza.

Next, I attended "Writing Joomla! Extensions" by the aforementioned Joseph LeBlanc. I had said at breakfast that I'd attend, so I did (it helped a lot that the only other non-Drupal talk for that session was on jQuery). Since I'm not a Joomla! developer, I don't have a lot to say about it. I think that Joomla's ability to accept archived (that is, zipped) extension packages is really awesome, and that I'll try to work that into PumaCMS if it can be done securely. Otherwise, the presentation was fairly interesting; it went through the process of creating a plugin for Joomla!.

The next session was on "Elastic Content Managment Systems Deployment", and was (primarily) about using virtual machines to run a hosting service, and also touched briefly on Amazon's Elastic Compute Cloud (EC2). And while these are really awesome ideas, I don't have a use for them currently.

The last session of the conference was on the Flickr API, which was an overview of the Flickr API (whoa, imagine!). Nothing special to say about it, except that later, when I mentioned it to Scott, he said that Traces could use it for photographs and such, which is a great idea.

After the conference, I walked back to the hotel and took another shower (it was quite warm!), then played on the internet until Scott called and he, Chris and I went to dinner at an Italian place in Sunnyvale. It was fun, and there were a bunch of other Googlers there as well, including Scotty and Todd. A tad intimidating for Chris and me, but still fun. Afterwards, Scott and Chris took me back to the hotel, and were kind enough to also take me to the airport in the morning.

Thursday, March 22, 2007

Open Source CMS Summit 2007, Day 1, Part 2

At lunch I met a couple of folks, and ate a pretty tasty, though slightly-more-spicy-than-I-was-in-the-mood-for, turkey wrap. Then, it was back inside!

The next presentation was "Designer Eye for the Geek Guy/Gal", presented by Steve Wittens. Steve went over just about every element of visual design you could ask for, starting with typography and moving through style, structure, color, light & shadow, use of images and CSS (cascading style sheets), and he did a very good job. He also pointed out some of the things I'm constantly complaining about in design (just listen to me mumble sometime). Although my notes are rather long from this presentation, there isn't much more I have to say about it. I hope to find a video online soon.

Yahoo! Campus

The final session of the day ("Designer Eye" was a two-session session) was "Building Community Online" (Google video of the presentation), a discussion facilitated by Laura Scott, President of pingVision and apparently a Denver local. We discussed, unsurprisingly, many considerations in building and maintaining an active community online. However, we didn't seem to come to any conclusions, and while I think the discussion was interesting, I'm not sure I left with any better idea of how to create or foster community, whether online or in the physical world. One thing of note, however: the idea of community 'curation', or the community taking care of the previous content that's been created in it, for instance, writing up summaries of relevant posts in a forum community, or pointing others to where such interesting materials can be found.

Open Source CMS Summit 2007, Day 1, Part 1


Got up early this morning, and Scott took me over to Yahoo!'s Sunnyvale campus for the conference (Yahoo! was generous enough to sponsor the entire event). They (meaning, Initsoft and Bryght) had some nice rolls and danishes and drinks for us while we were arriving and signing in, and then we had the keynote presentation: Performance and Security by Rasmus Lerdorf, the original developer of PHP. His talk was especially interesting and eye-opening for me; I wasn't aware of the existence of cross-site scripting and cross-site request forgery, let alone how easy it is to do! Puma should try to include more protection against these, and we should especially use tokens! He also told us of PHP 5.2's default filter, which can protect against many of these types of attacks, and that we should avoid recreating its functionality (because 1. it's a duplication of work; 2. the PHP folks have spent a lot of time working on it to make it really really good already; and 3. it takes care of cases one might otherwise miss). Some interesting notes include: Not even PHP's 'HOST' variable is safe to use, since it can be spoofed; IE6 executes javascript in img tags!; javascript treats entities (eg, ') as the raw characters; Apache sends data to the first vhost if it can't find the requested vhost!; PDF plugins can easily be used to do nasty things to the client's computer, so if you must serve PDFs, serve them as application/octet-stream... yes, even local PDFs can be trouble!

Rasmus also gave a brief demo of how to improve performance of scripts using profilers, specifically valgrind, xdebug and kcachegrind (a visualization tool). I haven't yet found a video of this talk, but hopefully there will be one soon.



Next, I attended "OpenID: In Drupal Core and your CMS too" (Google video of the presentation), presented by James "walkah" Walker of Bryght. The first part of the presentation centered around identity: what it is in the physical world, how it has changed, and what it is in the digital world. In the physical world, some authority issues what James called "modern identity," that is, identity that's not dependent on actual social interaction for validity. For example, the government of a nation or state may issue some kind of identity marker, such as a driver's license or a passport, that tells people who you are. They don't have to (necessarily) trust that you're who your ID says you are, just the issuing authority (leaving aside issues of forgery for the moment). The goal of OpenID is to allow a similar situation in the digital world, effectively "identity 2.0": someone issues you an identity marker, which you then use as you go from site to site, so that you don't have to re-establish your identity (such as your name, email address, etc) at each one. This is, in many ways, very similar to Microsoft's Passport. However, as OpenID notes on its site, it aims to be an "open, decentralized, free framework for user-centric digital identity", meaning that no one person or group controls OpenID. If you want to be your own identity authority, for example, then you can. Or you can use an already established provider, or more than one if you like (donning different identities for different genres of sites). Already many sites are using OpenID, including LiveJournal. Go ahead and take a look at the OpenID site; it's a very interesting and exciting project, and I think that, while PumaCMS isn't in need of OpenID very much, Traces could benefit greatly.

The next session I attended was the least interesting one of the day: "Taming the Beast: CMS Integration on the Desktop with CIFS, Office, Dreamweaver and anything else," presented by Paul Holmes-Higgin of Alfresco. Alfresco is a GPL'd "enterprise content management system", which means that, whereas Drupal, Joomla! and PumaCMS are focused almost entirely on HTML documents, Alfresco is focused on the internal document flow of corporations, aiming specifically at providing a desktop-based user experience. While the ideas involved in such a venture are interesting and important, the talk felt more like an extended advertisement for Alfresco. From the title, I was expecting a more in-depth discussion, but perhaps there just wasn't enough time.

Anyway, after that, it was lunch time, which means part 1 of this post is over!

Wednesday, March 21, 2007

Open Source CMS Summit 2007, Day 0


Today has been interesting so far. The day started as normal (Steve got up and out and then I did, later ;-) ). I went to the store to get Steve some food for while I'm away, and then I called Matt Rose and Lynn Britten to see if they'd be willing to play in Brighton. I got ahold of Lynn, and he said that, yes, he'd be willing, but he's out of town for the next concert, so contact him next season. I left a message for Matt, and have recently gotten a voicemail that said he could maybe swing a rehearsal and the concert, but that's about it.

So, after I did my calling, I went down to my parents' place, since mom drove me to the airport. She and I had chinese for lunch, and played a couple games of cribbage (she beat me on the first, but I skunked her on the second!). Then, she took me to the airport, and off I went.

The airport wasn't bad, even security didn't give me any hassles (apart from the usual hassle of going through security), but my flight's gate was A64, which was way the heck PAST the original 'A' terminal, down a flight of stairs, a huge walk down ANOTHER (somewhat ghetto) terminal, and at the very end. It was... interesting. There weren't jetways out that far; we boarded the plane via ramp. (The plane was small, about 70 passengers).

The flight was mostly uneventful. I took some pictures out the plane window (um... probably more than I should've), but I don't know how they turned out because I forgot to bring my card reader. :-/ The flight got in early, though, which was nice.

Scott picked me up at the airport in his shiny new Civic Hybrid, which is very nice and rides very smooth. Then, we went by Google for dinner and Scott gave me a whirlwind tour of the main campus. It's amazing. I was very awed, and quite a bit intimidated by all the people there (it was 8 at night, and there were still hordes of people about). Scott showed me his office, which is very cool as well.

On the way to Google, I saw buildings for these companies: Yahoo!, EMC, and Microsoft (seems like there was another one, but I don't remember what it was). It's kinda intimidating to even be near all these giants.

Now, we're back at Scott's apartment (I understand why he has an apartment now; he said that little crappy holes out in Palo Alto cost $1.4 million. Yeah. $1.4 million.), and he's helping Chris with calc and I'm here writing. It's a nice apartment, a decent size for a single.

I'm excited about tomorrow. I just hope my 'awe' circuit doesn't blow before I'm done with the trip. ;-)

Monday, March 12, 2007

Free Software and Forking

Just a couple of essays on forking and Free software.

The first is the Right to Fork, and why it is important in the Free software community.

The second is the Fear of Forking, or Why Linux Won't Fork.

As an extra bonus, I'll also point you to "Corrupted Downloads: What is to be done?" in case you have problems downloading things with IE, and Make Your Open-Source Software GPL-Compatible. Or Else., in case you're trying to decide on a license to use (or just in general. It includes a nice appendix on the XFree86/xorg split), and finally, the GPL is a License, not a Contract.

Sunday, March 11, 2007

Quantum Minigolf

Ok, so this is kinda neat. There's a computer game called Quantum Minigolf, in which the ball is a QM ball, meaning that it diffracts and interferes and such. Which is AWESOME. Trust me. Anyway, I haven't had a chance to try the program yet, but I thought I'd post this so I'll remember to later.

Friday, March 09, 2007

A different kind of ending for Harry Potter

So, sci-fi writer John Scalzi recently held a "Write a Scathing Review" contest. Most of the entries are very funny, and you should read them, but I just couldn't pass on this quote from one:

"Not since the infamous last paragraph of the final Harry Potter book two years ago (you remember, when Harry awakes in his cupboard under the stairs and exclaims, "It was all a dream!") have readers been so crushed."

Friday, March 02, 2007

Gilbert and Sullivan Opera Reprints

I just found out today that Kalmus carries reprints of the Gilbert and Sullivan operas, cf. Kalmus G&S Listing. I wish I'd known that a couple years ago! Not that they're cheap, mind you, but at least they're there, which was not evident about 2 1/2 years ago when we did "The Mikado"...