Archives for category: software practice

Last week I gave a presentation on creating interactive web experiences using jQuery at the Wharton UIConf/Higher Ed Web Symposium over at the University of Pennsylvania.

For the presentation I took a plain HTML student schedule form and added a bunch of interactive features: a floating modal dialog box, visual animations, dynamic event handling, and AJAX content refreshes and server posts. Then I walked through the core features of jQuery that make it an invaluable tool for developing web applications that are both interactive and maintainable.

The demo applications are available here:
http://uiconf10-jquery-app.heroku.com/

The slides are available here:
http://uiconf10-jquery.heroku.com/

(more…)

This week I gave a presentation on security issues facing web developers to members of PANMA, the Philadelphia Area New Media Association, along with security expert Justin Klein Keane.

View the slide deck in PDF format

View related web security resources

My presentation covered common web security risks including cross-site scripting, injection, cross-site request forgery, and a few others listed in the OWASP Top 10 project. The presentation is meant to be a starting point to help web developers get into a security mindset. There’s valuable lessons in there for folks running any kind of web system using PHP, .NET, Ruby on Rails, or any other web platform.

I recently wrote a series titled Spec’ing the Specs for my employer’s blog on the topic of software project planning.

The posts aren’t focused on a specific approach or methodology. They offer up some practices to help keep communication and collaboration alive throughout the life of a software project from conception to deployment.

What kind of planning practices have you tried on your own projects? What’s been an amazing improvement? What’s been a failure?

Spec’ing the Specs

  1. What should my software do?
  2. Rethink the manual
  3. Keeping a project on track

Some web developers avoid systems work like the plague. I can understand a developer’s reluctance to take a position that comes with systems responsibilities. Systems roles usually come with thankless maintenance work and after hours on-call duties. It’s the kind of work that gets you reprimands when services are unavailable but goes otherwise unnoticed when things are running smoothly.

So why do developers need to worry about systems? Because we’re increasing the complexity of our apps with new development platforms, single-focus software solutions, and interconnected cloud services. These new tools help us release features faster and make our applications more reliable and performant. But with every extra bit of complexity we’re adding new infrastructure demands to support our apps. (more…)

Last week I attended the Philly Emerging Technologies for the Enterprise conference (#PhillyETE). It was my first time attending the five year old conference organized by Chariot Solutions. From start to finish it was a good event for software developers looking to get up to speed on some technologies that are well on their way to critical mass in the industry. Three hotel meals a day and open bar happy hour events didn’t hurt either.

A lot of the topics on the agenda weren’t news to attendees. But the chatter surrounding them indicate growing acceptance of the tools and concepts as industry standards. The elusive “enterprise” is a beast that takes time to come around. But smaller, more agile shops are tackling enterprise problems more than ever. And with that shift comes a quickening pace of the variety of tools folks are using to tackle those problems. Static, monolithic solutions are being replaced, or at the very least enhanced, one by one by quickly evolving, narrow focus options.

(more…)