Archive for the 'Uncategorized' Category
UUID’s

I read a good post over at debuggable just now, about UUIDs.  One of the things about the article that struck me that I didn’t know, is that if you have a char(36) field, cake will just start to use them, auto-magically.

This means that in real world application effort wise, auto incrementing ints, or UUIDs are both super easy to use in cake.  Nearly no difference other than your table creation.

This got me thinking about which one is better.  Well, the url’s look better as ints, say ‘/applications/view/147′ versus ‘/applications/view/48c907b0-f088-44ae-8be5-4e811030b5da’.  One is way shorter as well.

Some people quote SEO has being a disadvantage to UUIDs.  I don’t know about that.  It would seem to be that they could be about equal, if both given the same treatment, like putting title in the address.  I would assume that they are equal, but I am not quite sure about this.

The main advantage of UUIDs is uniqueness.  I can see why true uniqueness would be cool.  No centralized system, but yet you have a unique Id.   Merging tables because easy, makes url hacks harder.

So for me the equation is uniqueness versus easier urls.

I am not a fan of Email

I will try to not let my bias not persuade me too much, but I don’t really like email much.  It is so slow to digest the information contained, so many emails don’t have good content, or are spam, or are forwards, yucky.

Yet, email was once a breakthrough in silent, speedy, low-cost communication technology that so seamlessly fits into the information worker’s day.  Today other technologies are better at the silent, speedy, seamlessly, low-cost information exchange, like Atom, wiki, social bookmarking and RSS. Consequently many experts are saying email cost the economy about 650 billion in lost time, actually some say quiet more than that.

A cnet article quoting Carl Honore research, concluded that the average office worker is interrupted every three minutes (email, IM, phone, other office distractions) and that it takes eight minutes to recover.  So that means very little is being done in the untied states, especially when compared to nations like Japan, India, and a host of others.  The cnet article also concluded that companies are coming up with simple ways, custom software, unique project management and sometimes non-technical ways to tackle the information management issues of this phase of the information age.

Furthormore, PC World publish a comical, but serious article about having email addiction and steps to help defend and wart off addiction.  Appearly some 11 million people, doctors have labeled as having some type of health recking email habits.

Way am I writing this post, other than because I don’t like email.  Well largely it’s due to one factor in my life, which is, I now realize time is constantly working against me, time is not my ally.  Here at Sephone, always working to try to squeak out more,  also I’m writing an application with a friend outside of work, teaching a class that requires hours of study a week, and I am always looking for more time to spend with my wife.  Just seems like time is a continuous opponent, that needs to be properly rendered, or it because evil.

Okay, I think I am really going to make a point, I am working my way to it.  My point is this, time is precious, both at work and elsewhere.  Things like email are great tools, just make sure that you have control over the tools, and your tools don’t have control over you.  If you instance have read an email as soon as you get it, you are a slave to your inbox.  If you often purposely look at your email while you are in the middle of something else, you are a slave to your inbox.  Just encouraging everybody to think outside of the inbox.  By just checking your email every so often then closing your email program, it might surprise you how much time you have in the day.

Pay for Content

Their are some really good web applications out there, but in my life their still are some paper publishications that I have that no web app comes close to replacing.  Some of these are the AMC River Guide and the Delorme A&G.  The amount of detail, both in map data and text is far better than those found online.  With the case of the AMC River Guide, the trips that are detailed were actually taken by the authors.

This got me thinking about a larger scale issue.  In this era of “web 2.0″ and wiki’s and blogs, what will happen to detailed research.  Anyone who has ever done any large research knows that wikipedia may be looked at, but is not a great source of in-depth information.  Any information that may actually be there, is really a citation from something else anyway.

I just wonder what will happen to high quanlity content, that needs to be funded.

Subversion for PHP Websites

Lately I have been using svn with a few various PHP websites that I maintain.  In short, here is what I have found out.

Once you get used to typing svn commit and svn update, it’s addicting.  That is a very slick way to go about dev.  I have used it update live websites with svn update, to do development from various places (tele-commute days versus at work).

Here are some things that I don’t like about it.  Inital imports and checkouts take forever, there is no tar like thing to transfer just one file.  Can really take a while sometimes.  This is my biggest problem.  My second thing, is that php websites always have some files you can’t track in the repo, like config files, template caches, or other tmp files, so you also have to remember to svn delete them.

Good reads this morning

This morning I have read some awesome blog posts, just figured I would share.

Less is better
David Heinemeier Hansson, from 37 Signals, creator of Ruby on Rails, over usability guy.  Very good read about web application development.  Really enjoyed him talking about specs and functionality scope on the top of page two.

Small business owners are community managers
Connie Bensen often writes about community managers.  In this post, she covers why small business owners are more or less, community managers.  I liked the graphic.

underperforming
This is something that I don’t do much, but analyst traffic to see how to do things better.  This was a great article describing how to view stuff like google analytics.

Microsoft

Microsoft just called me.  They wanted to conduct some survey and they were willing to pay $25.  I just didn’t have the time, plus something just felt wrong about it.

Api’s and Feeds

In this era of the web, you need to have feeds and API’s.  At the very very least, something like an RSS feed.  If you have aggregated content, or updates, you need an RSS feed.

Since everybody has so much going, blogs, twitter, facebook, delicious, digg, youtube, flickr, etc, etc, API’s are so helpful in allowing people to use your service in the most automated way.

JQuery Validation

If you already use jquery for your javascript framework.  May I recommend jquery validate.  Simply put, the just javascript form validator I have ever used, and I have used a few.  This is one is a real winner.  It’s one line of js, and you put stuff like class=’required’ or class=’required email’ inside of your input tags.  That’s it.

Development

Been working on a project for a while and it got me thinking about some project flow.  I use cakephp, yui, and jquery frameworks to help speed up development.  In general this makes projects go quicker, at least initally.

Once the broad strokes is done, development slows.  And this is to be excepted, when somebody builds a house, the framing goes really quick, but the finishing takes a long time.

When you get to the end that seems to be when the rush of feedback happens.  Feedback from the people that you are building the application for that is.  Sometimes the feedback is dumb, sometimes not, sometimes it means redo parts of the application.  Lots of wisdom applies here from the “eat your own dogfood” thinking or the “build for yourself” people.

Success often is in the details though.  Lately I have been thinking about just ignoring the details until close to the end, then really focus on them.  So far, I think this is a good idea.

JQuery and Speed

I use jquery a fair amount.  Overall I am very pleased.   I use the full effects and ui suite.  Both UI and JQuery offer a minified version of their libraries.  Which is great, but sometimes I like to have the source to look at, so I often download the developer versions of this libraries.  So to use them, I would have to use the non-minified versions and would have to make many more http requests then needed and now on top of that, include any of my own javascript code.

This could make things very slow.  To work around this, I wrote a bash script, that is executable in Linux and uses the wonderfully simply jsmin program.  I place all of the files that comes with jquery ui (along with thickbox) in the /js/ folder along with this bash script.

#!/bin/bash

gcc -o jsmin ./jsmin.c

cat jquery-1.2.6.js | ./jsmin > main.js

cat effects.core.js | ./jsmin >> main.js

cat effects.blind.js | ./jsmin >> main.js
cat effects.bounce.js | ./jsmin >> main.js
cat effects.clip.js | ./jsmin >> main.js
cat effects.drop.js | ./jsmin >> main.js
cat effects.explode.js | ./jsmin >> main.js
cat effects.fold.js | ./jsmin >> main.js
cat effects.highlight.js | ./jsmin >> main.js
cat effects.pulsate.js | ./jsmin >> main.js
cat effects.scale.js | ./jsmin >> main.js
cat effects.shake.js | ./jsmin >> main.js
cat effects.slide.js | ./jsmin >> main.js
cat effects.transfer.js | ./jsmin >> main.js

cat ui.core.js | ./jsmin >> main.js

cat ui.accordion.js | ./jsmin >> main.js
cat ui.datepicker.js | ./jsmin >> main.js
cat ui.dialog.js | ./jsmin >> main.js
cat ui.draggable.js | ./jsmin >> main.js
cat ui.droppable.js | ./jsmin >> main.js
cat ui.resizable.js | ./jsmin >> main.js
cat ui.selectable.js | ./jsmin >> main.js
cat ui.slider.js | ./jsmin >> main.js
cat ui.sortable.js | ./jsmin >> main.js
cat ui.tabs.js | ./jsmin >> main.js

cat thickbox.js | ./jsmin >> main.js

cat page.js | ./jsmin >> main.js

The file page.js is my javascript source. Sometimes I add additional files as well.  Here is a download-able demo of this.

Some other speedy libraries that I enjoy to use are CSSTidy and OptiPNG