Friday, December 3, 2010

Things I learned at Codeworks 2010

I recently had the opportunity to attend Codeworks for the first time. Besides having to get up super early on a Saturday and drive three hours there and back, it was very cool. I learned quite a bit, met some very smart people and got to explore a little more of Austin, Texas. I'm glad that I went and I will go again.

What is Codeworks?

Simply put, Codeworks is a series of one-day conferences for PHP developers that takes place in various locations across the United States. Instead of making you travel to another town, we’ll do all the flying and bring the conference to you!

Codeworks is a highly-technical, in-depth event for developers and I.T. managers. It’s put together and presented by the some of the same team members that run php|architect Magazine, the best-known PHP magazine in the world, and organize php|tek, one of the most popular PHP conferences in North America.

Session 1: Unit Testing Strategies

Presented by Keith Casey

Official Summary
High Code Coverage through extensive Unit Testing is the Holy Grail in software development. Theoretically, it would create an environment where the code could be debugged, re-factored, and extended while keeping a stable and overall clean system. Unfortunately, this is about as elusive as the Holy Grail. This session will cover some easy ways to triage your project and figure out which tests can be the most useful right now.

What I learned

I'm ashamed to admit that I don't know anything about unit tests. I'm a looser. I need to get on the ball. As a result, most of what Keith said was over my head. That guy is brilliant. Keith has forgotten more than I'll ever know. My favorite quote from Keith is: "Don't quote me on that."

Session 2: Learn to love the front end

Presented by Ryan Stewart

Official Summary
As a PHP developer, you’re a rockstar server-side coder – but more and more it’s becoming critical to build interesting user interfaces for your web applications. In this talk you’ll see an overview of some of the different front-end technologies. From jQuery to Adobe Flex, you’ll see how you can leverage open source framework to start building great looking user interfaces. You’ll see what’s possible with jQuery, including easy animation and easy Ajax calls, and how Adobe Flex enables advanced UI like high-end data visualization and real-time collaboration. You’ll leave with an understanding of both how and when to use HTML5/JavaScript and Adobe Flex, and see how they can help you build engaging applications faster that impress your boss and friends.

What I learned

  • I'm on the right track
  • HTML5, CSS3, JS (jQuery) is the way to go for most applications
  • Achieving desktop like behavior is the goal "It's 2010, there's no reason for a page refresh!"
  • Flash has an amazing real time collaboration tool

I really appreciated Ryan's attitude towards Flash and it's place in the development world. It was both refreshing and insightful.

Session 3: APIs from the ground up

Presented by Cal Evans

Official Summary
What do you call a website with no HTML? An API. As the web moves out of the browser and into desktop and mobile applications, PHP developers are sitting pretty because of the speed at which they can build robust and scalable APIs to power these apps. This session takes a look at API, how to think about them, how to design them and what to do when they get wildly popular.

What I learned

  • I've been building API's all along!
  • I need to consider what happens when more than one users "checks out" a page.
  • I need to consider what happens to the session when a user changes locations, or IP's, or browsers.
  • Frapi is a cool little tool to help build API's
  • I need to understand what "Nonce" is???

Session 4: A hundred thousand users.. now what?

Presented by Keith Casey

Offical Summary
You’ve launched your site, got the buzz, and then it crashed. It came back up, but now it’s crawling. Your boss is upset, his boss is yelling, and your customers are looking at your competitors. This session will cover how to make sure your app is ready to scale and some optimizations to get you there.

What I learned

  • I need a plan for a major server load to scale quickly.
  • I need to rely on the cloud more.
  • I need to rely less on the DB.
  • Have a way to "rollback".

Session 5: Object orientation the 5.3 way

Presented by Chris Cornutt (Marco Tabini)

Offical Summary
With version 5.3, PHP has finally acquired a well-rounded object-orientation model that rivals—and in many way exceeds—those of most other languages, while maintaining PHP’s trademark simplicity and ease of use. In this session, Marco will explore the new OOP features in 5.3 and show you how they can improve your coding.

What I learned

  • PHP 5.3 has some cool stuff.
  • I should make sure that my code is ready for the upgrade.

Session 6: Five Tools You Should Know & Love

Presented by Cal Evans

Offical Summary
If your project is clean, completely well-structured, and lacks those last minute hacks forced by looming deadlines, this is not the session for you. For the rest of us, we need tools that will help identify problematic code and detect as those problems appear and grow. This session will demonstrate five open source php-tools that should be in every developers’ toolbox.

What I learned

  • Wow, I need to do more analyzing my server and code efficiency.

Conclusion

I really enjoyed Codeworks. I learned quite a bit and had a great time. I realize once again, that I don't know anything...but now I know a little bit of something.