OSCON Tattoo Pics

I’m sorry it’s taken me so long to get these up here. It’s been crazy since OSCON ended. Here are some links to photos of the tattoos as they were being done.

SourceForge Community Photos

SourceForge CCA Tattoos on Flickr

OSCON 2008 — Day 4

I woke up in time to make about half of the keynotes, but from comments from some others last night, I decided to hang out in the hotel room before getting to the hall just to relax a little more. It’s was getting close to the end of the week, and my energy stores are flagging, but I’m still holding up well enough.

Skimmable Code: Fast to Read, Safe to Change
Presenter: Michael Schwern
This was a great talk about how to make code easier to read for code reviews. I was expecting information on formatting of code, but it went far beyond that simple scope. Michael went into great detail about variable names, function names, indentation (far beyond what I had considered in the past), use of functions, how to refactor a project in stages, different types of refactoring, and many other things. It was a great talk, and I came back with some great concepts and ideas that seem self-obvious now that I know them, but that I’ve never really thought of before in my 28 years of programming experience.

Integration Testing PHP Applications
Presenter: Mike Naberezny
This talk started out describing the difference between a unit test and integration testing, then got into briefly how to use PHPUnit and Selenium to accomplish this. There was more to the talk, but my gut started to rumble and be unhappy, so I had bail early. From the description of the session, I’m sure I missed some good stuff. I’m going to wait for the slides to appear, and then I’ll snag them to see if I can piece together the parts that I missed.

Securing the PHP Environment with PHPSecInfo
Presenter: Edward Finkler
This was not what I expected walking in the door, but PHPSecInfo is similar to the phpinfo(); built in call, but it reports on system and PHP settings that may or may not be secure, and will tell you why the security of the system may be lacking. It’s a great way for system administrators (and QA!!!) to check system configurations. It’s also a great way for developers to check the security of their dev environment or the sites that they deploy too. Lastly, the end-user of a PHP application can use this to check to see if they meet certain system requirements or to check and see if their web hosting company is secure or not. It’s a great tool that is extensible for various things, and all of the checks can be easily configured. I talked with Edward a short bit after the session about other security related topics, and Purdue has a department (right word??) called CERIAS that deals with computer security in general. I told him about my education and goals as far as security goes, and he handed me some information and contact information on how they can help me, and how I can help them. It’s near the top of my list of things to check out when I return home.

Even Faster Web Sites
Presenter: Steve Souders
This session was a short extension to the one from last year that outlined 14 ways to improve front-end performance on a web application. 85% to 90% of a user’s wait time is experienced on the front-end, so this is the place to target for optimization (though the back-end can’t be ignored!) He presented 10 more rules (to go with the 14 from last year) to follow for improving performance, but due to time constraints, he only went into 3 of them. There is another book for web performance in the works (I have his first one) and I’m looking forward to seeing what it has to say when it is finished.

PDO: PHP Data Objects
Presenter: Wez Furlong
After speaking with Wez during his tutorial on Monday regarding some database issues that I was having, he suggested that I check out PDO. He didn’t mention his session for some reason, but I discovered it on the schedule Thursday morning. I was planning on attending Teenbuntu: Reaching Out to Teens as a show of support for Andrew Harris, but the PDO session was very important to my work, so I had to bail. I’m sorry Andrew! The session went well, and there was great starter information in there. I can’t wait to get the notes from the slides since it contained everything that I needed in them.

Somewhere in the middle of the sessions, I managed to make my way back to the Expo Hall a few times. I managed to get my Passport finished, and I found a few new services and products that were interesting enough for work and/or personal use. I have quite a bit of homework to do when I return home, which is the way it was last year. That’s fine with me. The more I learn about new things, the more effective I can be as an all-around, do-it-all-no-matter-what kind of computer geek. I also stopped by the O’Reilly booth, and asked who had the most t-shirts. They told me that I still had the record, though Tim O’Reilly himself does have more of them than I do. Hah! It took the owner/founder of the company to beat me. They said that his quantity doesn’t count, so I think I’ll end up with some sort of prize. They weren’t sure what it was yet, so I have no clue what I’ll end up snagging as extra schwag. I’m eager to learn what it is that I’ll pick up from them. It should be a very cool thing knowing O’Reilly!

The party of the night and the place to be in all of Portland was the Sourceforge Community Awards (SCA.) The party was as good as it was last year, with lots of ThinkGeek prizes via raffle (I didn’t win any of them) and some really cool people. I actually spent about half of the party (about 2 hours) getting a tattoo (see below.) Yep, I have a tattoo know. Please don’t change the locks on me before I get home!!! Once the tattoo was done, I got a few drinks and did some mingling. I was the “geek of the night” with my tattoo. There were a few other people that got tattoos courtesy of Sourceforge as well, but I was the first person to step up, I got the largest tattoo, and I (according to me and most everyone else) got the coolest tattoo of them all. After some drinks and mingling at the SCA, I headed down to a separate party called “Beerforge” that was an OK party. The problem was the music was too loud to have a decent conversation without yelling, and the place was really hot and muggy. After a single beer, I headed back down to the SCA, and hung out there until they kicked us all out. By the time I got back to the SCA, it was time to take the bandage off of my tattoo, and show it off to folks. My “geek cred” went up about a thousand notches from it all. If you want more info about the tat see my comments and photos below.

Schwag Count:

  • 1 Meetup.com pen.
  • 1 No Starch Press shot glass.
  • Another Black Duck rubbery ducky.
  • OpenSolaris Live CD with 2 books.
  • 2 packs of Facebook gum. (And it’s good gum too!)
  • 1 sticky note pad from XTuple.
  • 10 more O’Reilly coasters to complete my collection.
  • 1 SugarCRM calculator. (Which looks really cool!)
  • 3 Ubuntu Hardy LTS Desktop pressed CDs.
  • 2 Kubuntu Hardy Desktop pressed CDs.
  • 25 stickers of various kinds.
  • 1 OpSource LED flashlight and laser pointer combo.
  • 11 different flyers, brochures, and similar items.
  • 1 USB Flash drive (1 GB in size) from Intel. It contains quite a bit of information on it about their Moblin project.
  • 1 Sourceforge t-shirt.
  • 1 tux tattoo courtesy of SourceForge. (See below for details.)
  • 1 Sourceforge bag with goodies in it. The goodies are listed below.
  • 1 annoy-a-tron (Available on ThinkGeek.)
  • 1 micro spy remote (Available on ThinkGeek.)
  • 1 mini-cooper remote control car. (Available on ThinkGeek.)
  • 1 bar of ShowerShock caffeinated soap. (Available on ThinkGeek.)
  • 1 Linux Foundation bottle opener.
  • 1 MoMa (Museum of Modern Art) luggage tag.
  • 1 ThinkGeek catalog.

Schwag of the Day: The Schwag of the day (and probably of the entire confference!) is the tattoo of Tux the Penguin that SourceForge paid for. Yep. I finally have a tattoo, and it’s a great tattoo. There were tons of photos taken of it during the whole process, and as soon as they show up on the web, I’ll link to them. You can see a short interview with me (where I stumble for words a bit) just before the tattoo started. The video is here on YouTube.

Most Interesting/Unusual Person: Joe Bass, who did my tattoo, is a great guy and very interesting. He has two bachelor degrees, was once a professor of Latin (and a few other things) at a university, but he loved tattoos and art so much that he walked away from that life and became a tattoo artist. He’s a great guy, and tons of cool stories. Too bad he’s not local to me because I would definitely return to him for future work. If you’re in the Portland, OR area, I would high recommend his shop, Color Bomb Tattoo.

Best Quote of the Day: During the “name your variables better” section of the “skimmable code” session, Michael said, “$arg! The pirate variable!” to which most of the entire crowed growled out, “Aaarrggghhh!!!” Steve Jackson (of RPG fame, and a huge pirate aficionado) would have been so proud at the moment.

Without further delay… Here are the photos of my first ink!

Close up of the tattoo from my cell phone.


Low quality photo of me in the mirror with my new ink!


My tattoo in the mirror (so it’s reversed, ya know?)


A photo by Joe of my tattoo. Much better than the cell phone pics that I took.


Another photo by Joe of my tattoo.

OSCON 2008 — Day 3

Day 2 went very long, so I slept in on Day 3 and skipped the keynotes. I went to them last year, and I really got nothing out of them at all. I needed my sleep more than I needed someone that I didn’t know to tell me how great open source is what they are doing to “foster it’s growth.” I’m here to learn, not to be convinced how great my community is.

As soon as I got to the convention center, the Expo Hall opened. It wasn’t coincidence on the timing. I did this on purpose. I ran around the Expo Hall collecting my Passport stickers, talking with people, shaking hands, picking up schwag, and keeping an eye on the clock. I managed to cover a decent amount of the Expo Hall before I had to split and run to my first two sessions.

I got into my first session (How to be Normal: A Guide for Developers), and the presenter (Mike Hillyer) promptly said something to the effect of, “I’m going to teach you about 1st, 2nd, and 3rd normalized forms and nothing else. That’s all I can fit into the time allotted to me.” Oh. I already know that. I walked out right away since I wasn’t going to get anything out of the 45 minute session. I looked at the schedule and decided to give Rebuilding Linux for the Desktop a try, but the doors were already closed, and the conference worker told me that they were full. Oh.

At this point, I headed back to the Expo Hall and did more Expo Hall stuff. I got so engrossed in talking PostgreSQL vs. EnterpriseDB (which is PostgreSQL with many improvements and extensions) with the developers that I lost track of time and missed my next session which was going to be Open Virtual Machine Tools. That’s ok because the time was well spent learning about some ideas for migrating data from 8.1 to 8.3 without just doing a dump/restore and suffering massive downtime. Even though I wasn’t “in a class” I was still learning valuable information.

Next came lunch and a short break. The lunch, as usual, was great food, and I spoke for a bit with a guy about technology in general. Just good old geek talk and nothing more. I finished lunch up and did some more Expo Halling.

Caching and Performance: Lessons from Facebook
Presenter: Lucas Nealan

This was basically a bragging session by the presenter telling us how great and wonder and fast Facebook is. He basically said that they used APC and memcached and lots and lots and lots of hardware. He threw out what they cached and where, but didn’t really go into how it was done. I have some decent notes to take back to work, but I didn’t come away with enough information to implement these technologies without lots of research.

Open Source Virtualization for People Who Feel Guilty About Using VMware So Much
Presenter: Andy Michelle

This presentation was chaotic to say the best. Andy waffled back and forth between bashing and loving VMWare. She threw out some information about features and capabilities of other VM systems. I took the time to scribble down some of the options, but that was all I got out of this presentation.

Shell Scripting Craftsmanship
Presenter: Ray Smith

This speaker was phenomenal! He is a natural born speaker, and really knew his stuff. While his focus was on making shell scripting better, about 95% of what he said can be applied to any coding practice. I really loved this presentation, and I can’t wait to get my hands on the slides when they are posted. Everything he said was clearly stated in his slides, so my notes consisted of, “See slides online.” He wrote his slides in the same manner as he was teaching us to write shell scripts. He obviously practices what he preaches.

I spent some time after the last session in the Expo Hall, and then headed to the hotel for a brief break. I counted schwag, wrote some of this post, and just sat around doing some relaxing. The party of the night was in the parking garage of my hotel, so I wandered down there about an hour after it started. The party was a blast. There was good music, good beer, good scotch, and loads of fun. The most fun part of the night was just hanging out with my fellow geeks in a social environment and talking with them about life in general, but with very little techno talk. It was a great mental, emotional and social break overall. It went until Midnight, and I headed back to the room to get some sleep.

Schwag Count:

  • 9 t-shirts of various types.
  • 1 coffee mug from EnterpriseDB.
  • 1 mouse pad from EnterpriseDB.
  • 2 stuffed dolphins from the OSCON Bash.
  • 2 O’Reilly magents (1 Linux, 1 Perl.)
  • 4 discs from Fedora (1 CD and 1 DVD), Black Duck and Chisimba.
  • 1 black rubber ducky from Black Duck Software.
  • 2 pens. (Huh? I normally get many more pens while at OSCON. Maybe tomorrow…)
  • 1 512 MB USB flash drive from Silicon Mechanics. It contains various docs on their equipment. From the sales guy’s suggestion, I’ll probably make it into a data drive. Maybe a Billix USB drive.
  • 1 PostgresSQL lapel pin.
  • 1 Ticketmaster guitar pick. I’ll see about snagging another for some co-workers.
  • 2 balsa wood airplanes from Etelos.
  • 2 beer coasters from O’Reilly. I have all of the ones that they have made in the past. I missed some today, but I’ll try to snag the rest tomorrow.
  • 5 very funny and overly large buttons from Apress.
  • 2 other buttons.
  • A small bag of EFF buttons as a thank you for renewing my membership a few weeks back.
  • 5 stickers.
  • 1 sticker sheet from Yahoo!.
  • 1 sticker sheet from the EFF also as a thanks for renewing the membership.
  • 2 flyers from Apress about books and book submission guidelines.
  • 11 flyers/bookmarks/cards/info0sheets from various booths of interest.
  • (Not a physical item.) An offer to assist in editing or potentially co-writing a book about ExtJS from Manning Publications!

Schwag of the Day: Black rubber ducky because Shinto said it was “Awesome!” I got the first one for him, and I’ll try to get a second one for Kiernan. Though the interest in assisting in a book about ExtJS is very exciting!

Most Interesting/Unusual Person: There was a fella walking around with the most intersting hair. The first time I saw him, I thought he was wearing a knitted “Jayne hat” (from Firefly), but it turns out that his head was partially shaved into a “knitted” pattern and colored into bright colors.

Best Quote of the Day: While giving a presentation about peer/code review, Alex Martelli stated something along the lines of, “When you get up in the moring, taking time to consider if your teeth are clean or dirty enough to require brushing is a wasted effort. You just do it because you know it needs to be done, and code review is no different. It should be a habit that is always done without question.” Those may have not been the exact words, but that is pretty close to what he said. I could not agree more with his sentiments.

OSCON 2008 — Day 2

Day 2 started out a little late. I woke up last night with a short story falling out of my head, so I immediately grabbed my notebook and wrote it down. It needs some editing, but the premise and ideas are down on paper. When my alarm went off, I studiously ignored it until the last minute. I managed to get to my first tutorial on time, but without coffee or breakfast. During the break, I did get some caffeine and banana bread.

PHP: Architecture, Scalability, and Security
Presenter: Rasmus Lerdorf

This was an extension of a session from last year. The first few minutes were the history of PHP, and then Rasmus dove into how to profile an application, how to show a tree of require/include statements, and how to optimize their usage. He also showed how to use APC to speed up the delivery of pages from the back-end. Once this was done, the time for serious (but warranted) scare tactics started when it came to security on the web. Something that was not new to me, but seemed to be to a few people in the room is this fact: the World Wide Web is insecure. It’s not slightly dangerous, or hazardous, or even a little mean. Browsing the web is like playing in traffic while on fire, and trying to see how many cars you can leap in front of on purpose. However, Rasmus did show us how to do our part to lock down our sites using PHP. Some solutions are easy, and some are not, but it’s good to know what is an option. The security portion of the PHP talk was not new to me, but it was a good refresher course.

Links from this presentation:

Lunch was nice and quick, and I spent the time talking with three other guys about various file systems, and oogling over the features of ZFS.

Hack This App! PHP Security Workshop
Presenter: Damien Seguy

This was a live hack session against a web site and database that were filled with security holes. Damien told us to try to destroy everything we could since he could refesh the site and database in a matter of seconds… which he had to do many times during the half-day tutorial. This was an incredibly fun and useful practice, in which we all learned from each other and Damien on things to look for, vulnerability patterns, things to try, things to look for to tell us what not to try, and all that good stuff. We even learned a really fun PHP code injection vulnerability using an uploaded image (such as a profile photo or avatar), but it only works if the server is misconfigured. I doubted that it would be a commonly used exploit, but Damien assured us that quite a few places were configured to allow this to happen. I was quite proud of myself as I found the most hacks, and the first hack. My first hack actually deleted every user from the database. Muhahahahaa! About 20 seconds after my hack finished running (it only took seconds), Damien tried to log in using his admin account, and it failed. He asked if someone removed the account, and I raised my hand. He said that it was ok, that he had a backup admin account. I told him that it was gone as well. He asked me if there were any users left in the database, and I told him none at all. It was a good time, and I’ve learned quite a bit from him.

Links from this presentation: None

Dinner and the rest of the night was a blast! I ended up hanging out with Debrah, Josh, and Mako from the FSF along with quite a few other FSF members and interested people. We had some pretty good pizza (even though it was 100% vegetarian) and great beer! Once the FSF event ended, the four of us along with two other guys. One was Rob Smith, who is a MythTV developer, and he convinced me that I shold build my own box… wasn’t too hard on his part to convince me to do it, but I just need to find the time to put it all together. (Hey! No more laughing!) went out to a video game arcade which also had a bar. I’ve discovered that Rock Band is the new kareoke of the United States. I had a great time running around and playing Dig Dug, Galaga, Joust, and other ancient games like that. They are still as fun today as they were back then. Near the end of the night, I was a little tired, but too sober to leave. Debrah and I sat at the bar and finished off a couple more drinks while sitting there talking to each other about random stuff. She has some great stories from her days as a “chaffeur”, a convience store clerk, and a few other jobs. I thought I had good stories to tell until I heard some of hers!

Schwag Count (Not much, but that’s normal for a Tuesday.):

  • 1 more O’Reilly pen for someone at the office.
  • 13 more small sheets of Ubuntu stickers to pass around to folks.

Schwag of the Day: The stickers are the schwag of the day because I can just see Evil Shinto running around putting Ubuntu stickers all over the Windows computers in the office. Of course, Good Shinto would work later than normal and sneak into all of the offices with Windows computers and install Ubuntu on them.

Most Interesting/Unusual Person: Debrah. Her stories were just way too great to not put her on the top of the list for the day.

Best Quote of the Day: Rasmus Lerford, while talking about poor coding practices, said, “There are lots of passive idiots in the world. It takes someone special to be an active idiot.”

OSCON 2008 — Day 1

Last night was a late night. I was too amped up to get to sleep at a decent hour, but I finally managed to crawl into the fairly comfortable bed a little after Midnight. The day started at 7:30, and the excitement was still going, so I actually leaped out of bed as soon as the alarm went off. Of course, I forgot to close the curtains in the room, so the beam of sunlight helped as well.

A short walk later brought me to the continental breakfast, and then into my first tutorial.

Testing with PHPUnit and Selenium
Presenter: Sebastian Bergmann

This talk was wonderful. It really helped me get a firm grasp on unit testing with PHP. I’ve done it a bit in a couple of Java classes, and I hated it because it was contrived and mostly worthless. The class didn’t explain to me why unit testing was valuable, so I missed the point. Perhaps the class and/or instructor just assumed the brilliance of the idea was self obvious. This presentation really helped me realize the value, power and importance of unit testing. The approach for using PHPUnit is quite easy, and when it is combined with Selenium, and a few other tools, the burden of cross-platform and cross-browser web testing becomes less onerous.

While learning about Selenium and PHPUnit, I had an epiphany regarding doing XSS pen-testing at work. My boss had given me the fun, yet daunting, task of developing provable, extensible and reliable XSS test cases. I think — hope — that combining PHPUnit, Selenium, some virtual machines, and different browsers, I’ll be able to produce some quality XSS pen-tests. If my idea works out, I’m wondering if a white paper (or longer document or OSCON 2009 presentation) could be written regarding how to combine these technologies to help secure an enterprise level, PHP-driven web application. This has made me even more excited to tackle this project when I get back to the office.

Sebastian was recovering from losing his voice a few weeks back at another conference, but even with this problem his speech was very clear and well projected. He did a great job of working through the presentation even though it was obvious that he was having issues near the end of the tutorial.

Links from this presentation:

After this tutorial, I had a quick lunch with a couple of people. One guy (don’t remember his name) worked for an IT government contractor that had 16 billion in revenue. I’m in the wrong business!!! The other was a fun woman to talk to who was a freelance IT journalist, and we talked Web 2.0, mashup, and other hot topics of the World Wide Web. I dropped a favorite phrase of mine during the conversation, and she really loved it. We swapped cards in case she wanted to quote me on it in an article. The phrase that I dropped was, “After the user makes a request, the web server ‘upchucks’ the page.” She loved the usage of “upchuck” in the sentence. Her name was Sandi Jerome, and I hope she’ll get in touch in the future. It’ll be neat to be quoted in an article.

Why do I call it “upchuck”? Well, I see it like this. The browser feeds a request to the web server, the server eats the request, digests it as much as it needs to, and upchucks the results back to the browser where it splatters on the screen of the user. Sometimes you get ugly looking stuff, sometimes you get things that look like a Rorschach test, and sometimes you get a beautiful work of art. Regardless of what the result is, I still use “upchuck” to describe the action of serving a page to a user (and I think I’ve been using that phrase for at least 14 years now.)

We were so busy talking that we lost track of time, and had to cut our conversations short in order to have time to get a drink and get to the second tutorial of the day.

PHP Extension Writing
Presenters: Marcus Boerger (Google), Wez Furlong (Message Systems)

This was a great tutorial for me since I’m a “semi-retired” C programmer that moved into full-time PHP/Perl/JavaScript. PHP is written in C along with all of its extensions, and this tutorial was all about writing modules (static or dynamically loaded) to extend the PHP language itself. I had a really great time in this tutorial, and I was a little down when it ended. I wasn’t down because I didn’t learn enough during the time. I was down because there wasn’t enough time for me to learn it all.

I’m going to have to do much more research down the road on this to see what more there is to it. (I can already hear the laughter at this next statement…) If I get the time, I’d love to find a PECL project in need of assistance, and see if I can knock the rust off my C skills by pitching in. Ok. You can stop laughing now.

Will this help me at work? Maybe. We have extensive PHP applications that are customer facing with huge APIs. With some well-targeted profiling (which I learned how to do last year at OSCON), there may be some (or lots) of these PHP APIs that could be moved into an extension rather than a “require()” statement in the code. Having the APIs loaded up in the PHP memory space, and running as C might improve the back-end performance of our customer-facing portal… or it might not. That’s why the profiling needs to be done first. A great quote from Donald Knuth is, “”We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.” Of course, he was talking about optimizing routines at the start of a design/engineering cycle instead of at the end where they belong when the functionality is working properly. The principle still applies here, though.

Links from this presentation:

Books mentioned during this presentation:

After the presentation, I approached Marcus and Wez to see what I could do to help out with writing extensions and maybe improving existing PECL projects. They told me to subscribe to the PHP internals list, and monitor the bug tracking system for things that I may be able to pitch in on. They seemed pretty excited to have someone that knows C and PHP as well as I do to pitch in and help. Again, this is a thing to do if I have the time (Hey! Stop laughing!) but could be really fun.

Once I was done pestering the experts on helping them do something that they can do in their sleep (hey, they need to sleep sometime, which is why they need help!) I had an hour and a half to kill before the Birds of a Feather (BoF) meetings started up for the evening. I spent some of that time typing up what you’re reading now, and then I ran out to get some food.

While down the block at Burgerville, I pulled out my freshly-purchased copy of Practices of an Agile Developer. I wasn’t far into it when someone asked if they could take drinks on to the MAX light rail. I told them that I had taken drinks on board without an issue, but I wasn’t sure if there was a policy against it. It turns out that it was a family that was attending OSCON, and the father saw my book, and about that time the son asked me where I got my OSI shirt. I told him that I had bought it at last year’s OSCON in the Expo Hall. He said that he would check them out and see if they were here this year. I didn’t have my Expo Hall Passport on me, so I couldn’t check at the moment to confirm. We talked for a few minutes about technology and such, and it turns out that mom and dad were there with their teenage son, Andrew. Andrew is the founder of Teens on Linux, which is a fairly new (about a year old) social networking site specifically for teens using Linux. I think it’s a great idea, and I went to the site just a few minutes ago to see about joining up to help teens figure out things about Linux and open source in general. However, the site says that teens are welcome to join, and I’m little beyond those years. Andrew has a session on Thursday, and I think I’ll be able to get to it. I’ll talk to him then, and see if he minds me joining. If he doesn’t want a non-teen on his social site, I fully understand. He doesn’t know me from Adam, and there are lots of creepy folks out there.

Once I finished eating, I headed back to the convention center for the Birds of a Feather (BoF) meetings. The one that I wanted to go to didn’t happen because the organizer didn’t show up. I ended up wandering into a demo for a CMS called Concrete5 that is a fresh-from-the-womb FLOSS application. It’s very snazzy, and has some good looking features. I was the only person there asking the hard questions. Things like security, database support, security, themes, security, extensibility and more security. They had good answers for everything, but there were a few things that they stumbled on when it came to security. I did raise some awareness with them, which is a good thing. From the demo, I think I may use the system for another site that I’ve been trying to find the time to build (hey, sense a time-based theme here?) If I do put it to use, I’m going to hammer it with my ever-growing web-centric security skills, and make sure that the software is stable and secure. If not, I’ll find the holes, close them, and submit a patch like any good Open-Sourcer would. That’s what it’s all about, right? I know I may sound a little harsh on the Concrete5 guys in the security arena, but I’m that way with every web app. I know I also sound a little harsh on their answers to the security aspects of things, but it’s a fresh project (not even out of beta yet) so there are issues to be expected. It’s just a matter of finding the right people to do the right things, and release the right code before declaring the project non-beta. The Concrete5 guys are in the right place to find those right kind of people and ideas. The CEO of Concrete5 did tell me that if I found a hole in their system, that he’d throw a six pack my way. I think I’m going to take him up on his offer.

It was not late, but there wasn’t anything else going on that day that I knew of and I made sure to keep my ear to the ground for free booze. I decided to head back to the hotel, and finish up this blog writing. Once it’s done, I may download/installl Concrete5 on my server, and beat on it for a bit to see what sorts of breakage I can find to earn that six pack.

Schwag Count (Not much, but that’s normal for a Monday.):

  • 1 Cincom Smalltalk non-commercial version CD.
  • 1 GLASS Virtual Appliance DVD.
  • 11 Concrete5 stickers.
  • 5 Concrete5 multi-screwdrivers. They’re pretty neat. They are about 5 inches long, and rectangular along the “tube length.” The rectangle is about 3/4″ x 1/2″. Each end has a screwdriver bit in it that is reversible from small-tip to large-tip. One is is flat-head, and the other is phillips-head. Each end is also covered in a snap-on plastic covering that is clear, and one of the covers has a clip on it to allow it to hang from a belt or pocket. It’s pretty nice. I’m not sure who I’ll give them out to, but I’m keeping one for myself, and I’m going to give Shinto and my boss first dibs on the remaining four.

Schwag of the Day: The Concrete5 multi-screwdrivers are by far the best schwag. Yeah. They had weak competition today, but even on a good day, the Concrete5 schwag would have probably been the best.

Most Interesting/Unusual Person: I saw a fella walking around with three large-gauge piercings in each ear, a lip piercing, and wearing Converse shoes like the ones I wore when I was a high-school-skater-punk. Not too odd so far, but the fact that he was wearing a nice power suit along with the rest of the adornments was just too funny. I wished I could have gotten a picture of him, but there was no way to sneak one in with my cell phone inconspicuously.

Best Quote of the Day: Right at the start of Sebastian’s presentation there was a minor typo on a slide. The tutorial was about the testing framework PHPUnit, so his quip of, “There is no test framework for slides.” was quite funny. I got a good laugh out of it. Yeah. I’m that much of a geek.

OSCON 2008 – Schwag Count

I had an idea to do a daily schwag count during OSCON. I came home with lots of goodies last year, and I thought it would be neat to see what I came home with — broken down by day on when I picked up the item. I’m not going to do a separate post for the schwag, except for today since there’s nothing else going on that I know of…

I am now signed in and have my badge and initial bag o’ schwag plus extras that I snagged from a table near the entrance. This means the schwag count for registration day is:

  • 3 O’Reilly Pens. (I only took 2 extras because I found last year that I came home with more than a dozen pens from various sources. I’m a pen-whore, but I’m not that hard up for a massive count of pens!) I’ll probably hand out the duplicates at work to co-workers along with any extra t-shirts I get my grubby little hands on.
  • 2 pin-on buttons (1 Ubuntu and 1 Firefox)
  • 1 rubber-band launched Nerf dark from White Oak Technologies
  • 1 blue stress toy shaped like a beaker from Port 25
  • 1 small sheet of Ubuntu stickers [three of which are now on my laptop.])
  • 1 install CD for Druid which appears to be a CentOS 5 derivative for VOIP and other communications.
  • 1 DVD set (4 DVDs total) from IBM with sample software for a variety of their software packages.
  • 1 ThinkGeek catalog.
  • 4 brochures for events, magazines, and online information sources.
  • 1 mini-notebook (3×5) from Google with a built-in ribbon bookmark, and an elastic band to keep it closed when not in use or to keep it open when in use.
  • 10 flyers for “Please visit us at booth #XYZ.”
  • 8 different sample magazines from a variety of related industry publications.
  • 1 OSCON 2008 Who’s Who. (Yes, I’m in it, which means I checked the box for listing me when I registered. I’m not that special.)
  • 1 flyer from Yahoo! announcing various sessions that they have going on. I’ll need to check my schedule to see if I should swap out a planned session for one of theirs if the Yahoo! sessions are interesting enough.
  • 1 Expo Hall Passport. You get stickers from certain Expo Hall booths, and if you get them all, you get entered into a contest. This year the prizes are:
  • 1 OSCON 2008 Program Guide.
  • 1 OSCON 2008 bag (for the schwag!) This year’s bag is far superior to last year’s. Last year’s was a simple shoulder bag with a throw-over flap that had a zipper for a small pouch in the flap. There was a small velcro patch to hold the flap closed, but you had to have the just right amount of stuff in the bag to make the velcro patch line up. Don’t get me wrong. I like the bag, and I still have it. However, this year’s bag is a Masarati compared to the Porsche of last year. This year’s bag has a webbed pouch on the side that is just right for a 20 oz. soda/water bottle. There is an outer pocket that velcros closed (correctly) and in this outer pocket are pouches for 2 pens, a portable (1.8″) hard drive with cable, and 4 different business card slots that will hold multiple cards. The main section zippers closed with a good zipper and can hold quite a bit of stuff. The handles are the perfect length (for my body) as they can be held in the hand without dragging the bag on the ground, or they can be slung over the shoulder for a comfortable carry.

Schwag of the Day: It’s a close call between the OSCON bag or the Google mini-notebook, but I’m going to have to go with the mini-notebook since I’ve been wanting something like this for quite some time. It will easily fit in a back pocket. I just need to find a flat pen to slide into the notebook. I know I’ve seen them around on the ‘net somewhere. Now to find them again.

PS: Is it “schwag” or “swag”? I always put pronounce is shh-WAG instead of s-WAG because it’s more fun to say it that way. I did some searching, and found:

  • schwag:
    1. Free stuff competitors get at an event.
    2. A type of low-grade marijuana.
  • swag:
    1. Hanging cloth like a curtain of sorts.
    2. Booty stolen by a thief, but not necessarily a pirate.

Hrmm…. Looks like schwag is the right connotation here even though I’m really not a competitor, but I am at an event. I’m going to stick with schwag, but it’s not the smokable kind!!!

OSCON 2008 – In Portland

I made it to Portland, but barely…

I got up early because Kiara was heading to a cat show and taking Kiernan with her, and she had to leave the house at 7 AM. I was planning on getting up at 8:30 to get to the airport on time, but I wanted to spend at least a little time with my wife and son before leaving them for a week. When they left, it was really hard to say goodbye to them. I’m going to miss them terribly while I’m here in Portland.

After they left, I didn’t go back to bed, which is what I would usually do when Kiara heads off to a cat show for the day. Instead, I got up, double-checked my bags (I still managed to forget to pack my mouse.), watched some TV, checked some email (work and personal), and shuffled some daily Firefox bookmarks into the more efficient Google RSS Reader. By the time I finished all this, it was a few minutes after 8:30, and I had planned on walking out the door at 8:30. It wasn’t a big deal, and I made good time to Denver.

For some reason I was daydreaming when I came to I-225 to get to the airport, and I missed the turnoff. As a matter of fact, the sign stating “I-70 – 2 Miles” popped up before I realized my mistake. Oh well. I hopped on 70 and cruised towards DIA. When I saw a sign saying “Chambers – 1 Mile”, I recalled that Kiara said her cat show was off of 70 and Chambers. It was only 9:45, so I had about 25 minutes to kill before I would be “behind schedule” for getting to my flight. I called her up, and got quick directions to the convention center where the cat show was at. It was good to spend almost half an hour with my family that I didn’t think I was going to get. With all three of us fully awake (instead of half-groggy at 7 AM) we made the most of the time. Alas, I had to say goodbye to my loved ones again in the same day, and made my way to the airport.

It took forever to find an open spot (even in the far corners of the lot that are halfway to Kansas!) I finally found a place for my car, secured things as best I could without setting booby traps, caught the shuttle and got into the airport. I managed to pick up my boarding pass and get through security in record time. From the time I got in line for my boarding pass to the time I finished tying my shoes after security, a mere 15 minutes had passed. This included the walking distance from the airline counter to the security line. I managed to get through security with almost an hour and a half to spare before boarding started. This is fairly normal for me. I’d rather sit at the gate and read a good book than race through the terminal trying not to kill small children and little old ladies in my mad dash through the airport.

Since I had time to kill (and I was starving,) I snagged some food and drink at The Cowboy Bar. While eating at the rather full restaurant/bar, another fella asked if he could join me at my table since it was the only empty chair. I told him that he could, and we ended up talking for a little over an hour over our food. Oddly enough, I found out a bit about his family, him, where he lives (NY City), and a few other things, but I never did catch his name. He learned about the same amount of stuff about me, but I never gave him my name either. The term from the great movie Fight Club is “single serving friend.” That pretty sums up the “relationship” I had with this very nice New Yorker.

Unfortunately, I was so wrapped up in absorbing my “single serving” of friendship, I lost track of time and my bladder. I finally realized that boarding for my flight had started ten minutes ago, and it was going to take me about five minutes to get to my gate. On the way to the gate, my bladder spoke up and demanded a pit stop. Urgh. There went a few minutes that I didn’t have to spare. Fortunately, there was a bathroom along the way, and I still managed to make it on to my plane. I was one of the last people to board. As a matter of fact, they were calling up the standby passengers as I checked into the plane.

The flight went very well (psychologically for me [I really dislike flying] and physically for everyone) even though there were tons of toddlers and infants on the flight. There were nine of them that I could see walking around the plane, and I think there were a few more further up in the front of the plane. Even with all those little ones on the plane, there was little crying and fussing. Each time a cry or fuss went up, my “daddy instinct” kicked in, and I started looking for Kiernan. It made leaving him home (he’s with Kiara, so not alone!) instead of bringing him with me even harder. It’s best that he stays home since Kiara has the “food supply” with her, and I’m going to be way too busy to keep an eight month old baby happy.

Once in PDX, I snagged my bags, hopped on the MAX (light rail), and got right to my hotel. It’s a different one from last year. Last year’s hotel is cheaper and right across the street from the convention center. They were full by the time I received authorization from work to do the trip, so I had to go to the second choice. It’s not much more expensive, but it’s about two blocks away. I don’t care about the two blocks so long as it’s not raining. What I do care about are the room accommodations. Last year’s hotel was nicely put together and well done, though the Internet connection sucked rotten eggs. This year’s hotel has less walking space in the room than the quad-cube that I share with three other people (and a spare table) at work. The desk is nice, the bathroom looks nice, and the bed will be long enough for my to sleep on so long as I lie a bit diagonally. There are only two spare outlets, and I need three for my gadgets, so I had to unplug the TV, which I won’t be using anyways. I’m not sure if there is any surge protection available in the room’s outlets. I hope things are fine, but I’ll be watching for storms. I just hope the Internet connection (which currently rocks) holds up through the week as more geeks show up to crush the network. If it doesn’t hold up, I always have my AT&T air card for slower connectivity.

The registration desk for the event will be opening up in a few minutes, so I’m going to start my “arduous” (overheard in the lobby from another OSCON attendee who is in my hotel) two block walk to the convention center to get my paperwork, books, bag, pens, schwag, name badge, and other goodies.

You may get another post from me later on tonight. It depends on how bored I get while here in the “hotel room of claustrophobia.”

OSCON Prep

I’ve been prepping my schedule, thoughts, ideas, and such for the OSCON trip that starts in 2 days (less than 48 hours at this moment, actually.)

Tomorrow will be the physical prep portion which is packing, making sure I have what I need, and what I can’t take with me through security. There’s very little that I carry that can’t get through security, but I’m sure that trying to take my Leatherman through the metal detector will cause issues. I also need to take all of my electronic gadgets (yes, I carry plenty around) and put them in a plastic bag for ease of tossing (ok, gently placing) them into a bin for scanning.

I’m really looking forward to getting to Portland. It’s going to be a blast!

OSCON 2008 Approved!!!

After about a month of silence from the bosses on getting approval for OSCON 2008, I received a reminder from O’Reilly that early registration ends on Monday. I decided to nag a little (I had also been silent about the whole thing) and found out that my trip had been approved for the time off by my daily manager, and for the budget from my money manager. Now I need the Executive Vice President (who happens to be the boss of both of my managers) to sign off on things. I filled out the appropriate paperwork, and gave it to the budget boss. I should find out in the next day or two if the EVP signs off on the trip.

Things are looking up for a trip to Portland in July! I can’t wait!

OSCON 2008 Proposal

Registration for OSCON 2008 opened today (or maybe yesterday?) and I put together what I thought was a compelling argument to both my bosses to allow me to go again this year. By the time OSCON rolls around, I’ll have the vacation time, and maybe the money to just go on my own dime. However, it would be really nice if the employer would pick up the tab again this year.

We’ll see how it goes, and I’m hoping for the best!