October 2008 Archives

Learning CakePHP

| | Comments (0) | TrackBacks (0)
Ever since my early college days, I've been a web junkie.  While I've only had a small amount of formal programming training from my college classes, I'm primarily a self-taught web developer.  My language of choice has been PHP, however I never fully grasped the whole OOP methodology, and I'm a rather traditional programmer.

Enter CakePHP.

CakePHP is a RAD (Rapid Application Development) framework similar to Ruby on Rails, only built in PHP.  There are other RAD frameworks for PHP (Zend, Codeignitor), but I have several close friends and colleagues who develop in CakePHP and are active in the CakePHP community.   We also use CakePHP in several of our in-house development projects, which I manage.

It's time for me to give the old brain some exercise and teach it some new tricks.  I'm going to start experimenting with, playing with, and learning CakePHP.  I've had several ideas bouncing around that I'd like to explore, and I feel that CakePHP should be able to get some of these projects rolling.

Monitor Burn-In on my iMac

| | Comments (0) | TrackBacks (0)
Since last January, I've been lucky to use a 24" Intel iMac with a secondary 24" monitor.  My productivity and propensity to multi-task increased over my old Dell desktop with dual 17" LCD's.

Now I'm the type of power user that absolutely refuses to reboot my machine, or shut it off.  I even reluctantly push back updates that require me to reboot my computer.  This is because I have a dozen applications open, with multiple projects ongoing, and I have a bad habit of not saving my work, but leaving it open.

Last Friday, as I wrapped up the workweek and headed home, I happened to leave my Twitter page open on my desktop.  When I came into the office today, I noticed that my desktop was still up, and my screen saver was not active.  After a quick check, I verified my computer was not locked up as I could move the mouse and open windows, so I just shrugged it off and got to work with my typical Monday morning tasks.

After a few hours of working this morning, I switched desktops (I love having multiple / virtual desktop spaces) and noticed a faint ghost on my background.  At first I thought my monitor was dirty, but then I realized it was burn-in.  CRAP!

I quick pulled up my Twitter page, and sure enough, the ghost image was an outline of the light colors on my twitter.  After spending 15 minutes searching google, I found this page: http://www.dslwebserver.com/main/fr_index.html?/main/lcd-screen-burn.html

So it looks like I may be able to reverse this burn-in.  I'm going to set my screensaver to 1 minute for inactivity, with a bright white background, and see if I can't "white-out" my burn-in away.

Wish me luck!  If this doesn't work, I'll try turning my iMac off overnight, and if that doesn't work, time to see if this is covered under my AppleCare plan.

Whiteboards = Best Friend

| | Comments (0) | TrackBacks (0)
What is the application designers best friend?  The whiteboard.  Even though we're developing applications for use in cyberspace, one of the most fundamental meatspace tools still plays a very important role.

I find that when we're fleshing out a new feature or direction for our application/service, it's best to round everyone up, clear off the whiteboard, and start scribbling away.  Working out the process flows, data stores, even writing concept code snippets to better understand the "how" behind the idea.  Then, once everyone has a good understanding of the methods and how the new features work, we walk through the process with example data.

User A signs up for service B, provides data C.  Method X takes data and stores it in Y, and outputs Z.

By going through this process several times, it lets us fill in the gaps of what data stores need to actually go into our model.  Which modules are linked with others, and a general flow for the process.  Then we take that info, create the various models within the application, build the controllers, and establish the views (we use CakePHP, which is a MVC architecture).

Once we have the rudimentary skeleton built for the new feature, we then revisit the whiteboard and start filling it out even more.

All of the whiteboard data can be photographed and cataloged for future reference, and the actual concepts can then be mapped out in software like visio, project, and tasks be delegated in trac.

Statistics and Analytics

| | Comments (0) | TrackBacks (0)
I consider myself to be a bit of a statistics junkie.  Something about looking through logs, traffic reports, graphs, trends, etc. gets my blood pumping.   For the longest time I've always been a fan of Awstats as my web analytics package of choice and before that was Webalizer.  A while back I took Mint for a spin, and I loved it.

Finally, I've succumbed to the notion that letting google track my web statistics wasn't that bad of an idea, so I've added Google Analytics to my cache of analysis tools.  While I've only been using Google Analytics for a few days, the system looks pretty neat, but I don't yet have enough data so see trends and fully leverage all of it's options.

Lastly, for the hardcore data nerds like myself, there is Splunk.  Now while splunk isn't an analysis tool in and of itself, it does have some really neat searching and reporting features that you can customize into your own tools.  I LOVE Splunk! It is like putting the power of a massive search engine into the palms of your hands, and letting your log data trickle through leaving all of the pretty shineys for you to pick out.


Here is how I would classify the above applications:

For basic website reporting, if you just want to get a rough idea of what the key components of your website are, and if your website is stored on a single server... then Awstats and Webalizer are what you want.  Awstats is the more powerful of the two, and will give you a better idea of the who, what, where...

For more in-depth reporting where you need or want to know more than just how many people are visiting your site, that is where Mint and Google Analytics shine.  Both Mint and Google Analytics are javascript based trackers; they execute a snippet of code to gather data about your users.  This is very important because it allows them to figure out where your visitors came from, where they are going, how long they stayed on your site, and several other metrics.  Thus both of these applications are able to provide some in-depth analysis of your traffic patterns, and be able to provide you with purposeful information about your users, rather than just numbers.

Now the part that makes Mint and Google Analytics so powerful (the whole javascript tracking thing), also is a weakness.  Awstats and Webalizer analyze the actual webserver logs, and capture data about file accesses, byte usage, error reports; things which cannot be easily tracked via javascript.  This is why I personally use a combination of programs to analyze my traffic.

But where does Splunk come into the picture with all of this?  Well, Splunk is a search engine for log files, and has powerful data extraction and reporting capabilities. While you can target splunk to index and absorb all of your web data, and you can pull reports like Awstats and Webalizer based on those server logs... it really shines as an investigation tool.  

I use splunk as my "secret weapon" when trying to track down issues and solve mysteries.  By going through the various reporting tools, I can spot an issue with a certain user (IP).  Then I go to Splunk, and I can rapidly find all instances of that IP in the logs, and scale down my reports to just that user.  This leads me to another clue about a particular file, which I then use splunk to switch to reports for that single file.  Through simple logic and a few select queries, I can rapidly track down the problem and solve it.

I guess my point is, there isn't one be-all super analytics package out there.  Just a bunch of tools, each with a similar purpose.  The key is to use all of the tools in the way they were meant to be used, and to use them all together.

Movable Type Styles, and the lack thereof

| | Comments (0) | TrackBacks (0)
Why does Movable Type have such a large community and following, but they lack in the style repositories that Wordpress has?  I just upgraded one of my other blog sites to Wordpress 2.6 and after 15 minutes of browsing dozens if not hundreds of really nice themes, I had picked out a new one and had everything upgraded.

Now I like Movable Type for its customization, and having full control over the template and content.  I like how the template structure and the styles are separate in MT, one of my biggest gripes about WP is that unless you're an uber coder you can't customize the themes very easily.

But still, you would think that there are more than a handful of nice styles to use as starting points with MT.  I know Mike over at http://www.codemonkeyramblings.com/themes/ has done a good job of converting some WP themes to styles.  And while it's a good start, the MT community is still lacking.

Maybe I'm just doomed to make my own from scratch, and then not share it with the community out of spite like everyone else?

A cheap morning snack

| | Comments (0) | TrackBacks (0)
I rarely eat breakfast in the morning, and when I do, it's usually something from McDonalds or a gas station as I'm driving somewhere.  Because of this, I'll tend to gorge on lunch because I'm very hungry by the time 2:00 rolls around and I can take a break to eat.

This week, I thought I'd try something new, so I bought a loaf of bread, a jar of peanut butter, and one of those squeeze bottles of jam.  Now around 10am when I first start feeling hungry, I make myself a good old fashioned PB&J sandwich.  Now when lunch rolls around, I'm not as hungry, so I'll choose the 6" sub instead of the 12" one at subway.

Now only if I can find a way to cut back on my Diet Coke intake...

Age of the API

| | Comments (0) | TrackBacks (0)
Looking at the state of the world wide web today, it looks as though the Web2.0 craze/meme/whathaveyou is starting to pass us by.  Or at least, has reached critical mass.  With it's foundations in interactivity, user-generated content, and the advent of the web application, I believe that it has provided us a stable environment with which we can play and create.

This leaves me wondering what is next on the horizon.  Without being too cliche, dare I ask what Web 3.0 will bring?

Looking at the work I've done over the past year, the projects I've been involved with, and seeing how the web is evolving... I'm predicting that what is to come is going to be the Age of the API, if it isn't here already.

We're at a point right now where most of the major "service provider sites" (YouTube, Flickr, Facebook, etc) are providing developer kits and API access into their systems.  This means that anybody with a lick of programming know-how (and even some that couldn't tell their php from javascript) can whip up a new application/site/widget/service that leverages existing providers infrastructure and resources.

Even with my daily projects, most of the work involves taking our core application and integrating it with a peripheral system through a series of API calls to automate our workflows.  Why re-invent the wheel when you can partner/subscribe to a niche service that does what you need it to do, and does it very well, and you just have to create some minor programming calls and a new interface in your existing program.  With API integration, good partners, and a handful of in-house programmers... I can develop for less, and be to market faster than outsourcing the entire project.

The UnSummit

| | Comments (0) | TrackBacks (0)
Last week my business partner and I found out about an organization here in Minnesota that caters to interactive marketing, the Minnesota Interactive Marketing Association (MIMA).  Unfortunately we were too late to actually register for their annual Summit, but we were able to attend their pre-summit reception.

At the reception, we found out about an event happening the same day as the summit, called...  the UnSummit.  It was a group of interactive marketing professionals who were also unable to attend the MIMA Summit, and they organized their own, low-key version of it.

At the UnSummit, there were quite a few good discussions, with topics like "Marketing Heresies" and Social Media.  All in all, it was a good event, I came away with some new ideas about social media and how we can leverage social & user generated content with our own existing projects.

About this Archive

This page is an archive of entries from October 2008 listed from newest to oldest.

July 2008 is the previous archive.

November 2008 is the next archive.

Find recent content on the main index or look in the archives to find all content.