Thursday, February 4, 2010

How I write my presentations

Tools

I tend to use just a few simple tools. I like to keep things simple because I'm focusing on my message. Complexity means I spend all my time with this or that widget and fundamentally I don't care about tools.

Google for Images

I look for images that have free/open licenses for reuse. Sometimes its hard to find something that is properly licensed, so I have to alter what the image is supposed to be.

Mac OS X Screen Capture

If I want colorized code, prettily formatted text, or simple shell displays, I use command-shift+4.

Google Documents Presentation

You really can't do anything too fancy with Google Documents, which might bother some but I find it perfect for my needs. Also, storing my drafts on Google makes a lot of sense because if Google has problems with storage then I'll be worrying about Zombies more than a presentation. And I also don't have to worry about losing a machine. Google Docs also exports to PDF or Powerpoint which is useful during the presentation or uploading to slideshare.

Also, Google Docs lets me easily share and collaborate.

NeoOffice Presentations

Actually, I don't like this tool but I use it during my long metro rides when I don't have access to the Internet. I can export from Google Docs a PPT file, edit it, and then upload later.

Methodology

How I write things out and present.

Black text on white background

For a while I played with various color schemes. I found that problematic because what displays nicely on my Mac often doesn't display prettily on the big screen. Things can become illegible. Also, keeping away from pretty color schemes means nearly every picture looks good. So why not go with the historical constant thats been used for centuries?

I am moderate in my use of bullets

I don't think bullets are evil. I do think a lot of them on the screen or reading them to the audience is evil. Bullets help trigger my dialogue. In addition, if you reference my presentation later it means my presentation actually has value. A huge set of short statements as slides doesn't do that as well, even if its more fun to do and more enjoyable for the audience.

Pictures are more fun than words

I like to mix bullets and pictures. Or just have pictures. I can speak more easily to a picture than a set of words. The picture helps me remember what I intended to say, which is nice because I hate checking notes when I'm trying to speak.

I keep my points and sentences short

This is really important. Going into recursive detail about your point and preferences bores the audience and they lose focus in what you are saying. After you make your point, move on. Or use an image to reinforce things.

Also, if you keep your points and sentences short, its easier to link things together. Not only will you find it easier to keep things in mind, but so will your audience. Pause between big statements to let things sink it. Remember, negative space is as important in a presentation as it is in art.

This doesn't mean I'm simplistic or I'm assuming that my audience is simplistic. Instead, I'm aiming for an aggregate whole effect, and I also assume that when I'm done people will be excited and racing to look at formal documentation.

No practice

Some people like to practice several times in advance and time things out. Not me. I like my presentations to have spontaneity. I watch the audience and from their visual and verbal cues alter my presentation to match. Sometimes that means I end up skipping slides or when I get to a slide its moot (so I use it to 'reinforce' my point). This works for me. I'm a spontaneous person who responds well under the conditions of speaking in public.

Post my stuff on slideshare.com

When I'm done I post my stuff publicly. People sometimes want to copy/use my material or reference it for their own sake. As long as I get the proper and legal credit I'm delighted to share. I also love feedback, positive and negative.

Which reminds me, I've got some more stuff to upload...

Thursday, January 28, 2010

What I don't like about Pycon

1. Too many awesome events to attend them all

Thirty incredible tutorials, over a hundred sessions, and only Guido knows how many sprints. Everything runs concurrently even with the GIL.

However, thanks to Doug Napoleone's great Django work, its trivial to pick and publish which sessions you want to attend. Doug's work on the scheduler is just plain awesome. While just plain intuitive to use, the scheduler also has a wonderful help page.

2. I won't be doing enough session staff work.

Yeah, I'll be working a few sessions but I do want to at times to focus on things critical to me. So that means other people like you, dear reader, ought to pick up my slack.

3. Only once a year per continent

One of these years I'm going to try and hit US Pycon, EuroPycon, IndiaPycon, and all the others. This would make for an awesome year. It would be like living the life of James Tauber, Jacob Kaplan-Moss, or other geek traveller.

The negativity of this post is a joke. Please don't take it seriously. I am giddy for pycon.

Thursday, January 21, 2010

My pre-history with Plone

In the late 1990s I was working at a job doing a mix of Foxpro development, windows system administration, and help desk. I enjoyed the Foxpro development (laugh if you will) and despised the other stuff. So I was always looking for work in other places where I could be doing pure development. However, lacking much work experience at that time, or knowledge of other programming languages, or a college degree, that made switching positions really hard.

Well, one day, probably in 1999, I stumbled across a job opportunity down in Fredericksburg. I I got an email inviting me down for an interview for Zope Corporation, or maybe its predecessor. The job meant working with an obscure language called Python and a web based development system called Zope. Python seemed pretty interesting, and doing development through the browser seemed fascinating. I even looked up some articles on Yahoo (this was before Google and Wikipedia).

Alas, I did not take the job. Python seemed too different and obscure and I was already stuck in the closet with Foxpro. Fredericksburg would have involved a move from the Washington, DC area and my ex-wife and I were even then scraping the bottom of the barrel for money. We lived on the metro, lacking a vehicle between us, so just getting down to Fredericksburg was nigh impossible. So I stayed with Foxpro, eventually finding work in a few other languages before finding my current home in Python in 2005.

What might have been

In an alternative history had I interviewed and been hired for the Python/Zope job I might have worked with Guido van Rossum during his tenure at Zope Corp! I might still be deeply entrenched with Zope and subsequently Plone. My linux skills would be much better. Fredericksburg would be my home, not Arlington so I probably would not be working for NASA right now. I would have never founded NOVA-Django. Finally, the armies of Iceland would have conquered the world.

A very different universe indeed.

Next: My history with Plone

Thursday, January 14, 2010

Learn something new every year

As developers, we all make that pledge, don't we? Some of us learn new languages, new frameworks, new APIs, new methodologies. Rarely do we learn a new operating system.

30 years ago I was using whatever they called the operating system on the Apple ][ series of computers. 20 years ago I learned to use MS-DOS. 17 years ago I added Windows 3.1 to that mix. 15 years ago I ran into Windows 95 and the subsequent set of 98, 2000, Me, and XP. 10 years ago I started to play with Linux and Unix, mostly learning the simple shell commands needed to shuffle files around. 3 years ago I commenced working on Mac OS X.

During my Windows 98 days I was forced in doing help desk and system administration work. I hated it. The pop-up menus were not intuitive. Documenting what you did was hence agony. I begged my job to make me a pure developer but they forced me to continue down the path of Windows administration. Eventually I left that job and became a pure developer.

Over the years I got better at Unix and Linux. I even set up two servers for production use, one running Apache 1.3.x around 2001 and and the other a whole bunch of JBOSS stuff in 2003. Finding documentation was a pain, but the sense of logic compared to the chaos of windows pop-ups was a relief. After that when I would touch Unix or Linux it was basic file management stuff and nothing sophisticated, and my beginner skills never got a chance to grow further.

Flash forward to 2007 and beyond where I did serious Python development for Plone and then Django applications. Development was on Mac OS X and production was Linux. My neophyte level skills no longer where quite enough. Our system administrator and other co-workers helped out or did the work but it limited and frustrated me. Nevertheless, the time to really bone up on Linux never happened.

Well, this past week has been a crash course in ramping up my Linux skills. The next version of SMD Spacebook will be put into production as an RPM. Its been assigned my task to do it. This would involve a lot more in the way of Linux that what I was used to, since I needed to create an environment to run the RPM build commands, and that couldn't be our testing or production environments. That meant a chunk of setup and configuration of a lot of packages, and various proprietary bits and pieces in order to meet government and corporate requirements.

I tried not to bug my co-workers too much except for when their documentation didn't quite explain everything, and then I added to their documentation. I'm still a beginner but I feel like I've finally gotten a chance to spread my wings in this arena a little bit and learn a lot.

This will make it easier for me when I finally get around to getting this blog off blogger and into what will probably be Django-Mingus.

Tuesday, January 5, 2010

Reserve your low pycon price today!

Jesse Noller made it so that you could lock in the early bird price for Pycon 2010 today.

So hurry up and register!

HURRY UP!!!


Register for Pycon 2010 already!

Update: I registered for Pycon at the early bird price but did not pay yet. Fortunately, the Pycon site lets you hold the price at the lower amount. Which means later this month when I get paid for some work I did back in the autumn I'll be able to pay for my registration at the early bird price!

The Pycon folks want early registrations because it helps them plan out resources and staff needs, not to mention the visceral thrill of watching attendance numbers go upwards. So help them out and register.

If it helps, I'll be presenting. Twice. I'll be giving A Long Pinax Tutorial with James Tauber. And I'll also be giving A Short Pinax Tutorial (also with James Tauber) during the regular conference.

For once I'm not planning to fill up on tutorials myself. I'll be too keyed up over my own presentations. So I just plan to take James Bennett's Django in Depth Tutorial.

I'll be there for all four days of the sprints. Of course, I'll be focusing on Pinax and Django material.

Of course I'm hoping that NASA has a major presence at Pycon this year. Python related technologies really seemed to take off this year for the agency, both in usage and publicity. Maybe we could have a space themed party or something?

Finally, I'm hoping to get another Capoeira Roda off the ground. We did Capoeira at DjangoCon and it was a blast. Any Atlanta folks want to see if we can get a local school to give us guidance and instruction?

Sunday, January 3, 2010

DjangoCon 2009 videos are up!


Also, when its all said and done, I can say I was in the room to watch the Fake Jacob Kaplan-Moss.