May 23 2008

Project Management Software: Basecamp vs. MyIntervals

Tag: ProductivityNathan Malone @ 5:30 pm

Project management software! If you aren’t using it now, you’re likely not being as productive as you otherwise might be.

I have, in the past, used Basecamp to manage my projects (in conjunction with Blinksale). Recently, however, I have been wanting something a little different, so after eying it for a few weeks, I finally set up a trial account with MyIntervals this morning (both software packages offer a free trial).

Pros? Cons?

Well, they each have their strengths, I suppose.

Basecamp is stronger on the communication side of things (with “Writeboards”, Messages, and even chat software integrated). They also pride themselves on the simplicity of their software, and in my experience, clients rarely have any trouble learning how it works. It doesn’t have any invoicing functionality, but I have made up for that deficiency by integrating it with Blinksale.

MyIntervals, on the other hand, is stronger on time management. It has detailed time tracking and reporting interfaces, as well as invoicing functionality, and has a good many more features then Basecamp has.

It’s just been one day, but so far, I am really liking MyIntervals, and their emphasis on time management/tracking, so I will most likely be staying with them.


May 22 2008

MySQL Injection Attacks

Tag: MySQLNathan Malone @ 12:07 pm

As a PHP developer, I work quite a bit with MySQL database tables, having worked with several in the 40 Million + record range, as well as having to do several complex projects involving, in one case, interactions between over 60 different tables (not something I hope to do again, believe me).

One thing that always surprises me when working on code written by others is how frequently the code is subject to what is called MySQL Injection Attacks.

Although some servers handle it automatically (which is highly undesirable, for several reasons), anytime you use any user-submitted data in a MySQL query, you MUST “escape” the data to ensure that it is safe from an “Injection Attack”.

For those of you who are programmers and are unfamiliar with what I mean, you can read up on the subject more at the PHP Manual, but regardless of which database abstraction library you use (or if you directly use PHP’s MySQL class/funtions), always ensure that you have the database secured by escaping everything.

I won’t post examples here, as the link above has several excellent examples of ways to prevent it, and all decent database abstraction libraries should have their method of escaping the data implemented and documented. Just ensure that you use the methods provided!


May 21 2008

Productivity and Time Management

Tag: ProductivityNathan Malone @ 11:43 am

Although this is not necessarily related to PHP development, the subject of time management and productivity is one that affects everyone. In my experience, those of us who work fulltime online (doing site development, internet marketing, or related work) often make poor use of our time.

The nature of the work is that it often exposes us to many distractions, ranging from email (always log out of email when you’re working!) to chat (same here…) to an interesting link you happen to stumble upon.

Although I have read many productivity and time management books through the years, many of which were helpful, there are a few things that are unique to fulltime web professionals, a group that none of the books I read specifically targeted.

However, late yesterday afternoon, I got an email with a link to a half-hour video put out by Eben at Guru MasterMind titled Becoming a Productive Modern Guru, which had some very helpful advice.

If you have read or studied the subject in the past, you will likely hear some familiar techniques, but if you take the time to watch it, you will hopefully pick up some new “tools” to improve your productivity.