Archive for the ‘Web 2.0’ Category

Hone your Blackjack skills on your iPhone – 21 Pro

Friday, October 10th, 2008
Winner Winner Chicken Dinner

Winner Winner Chicken Dinner

A couple years ago I went to vegas for New Years and I had the privileged of learning how to play BlackJack properly from my good friend Don, who happens to run a great vegas blog.

Now I like BlackJack but there has not been a convenient way to practice, until now. Apple has a fantastic app store for the iPhone/iPod Touch and one of the free apps is 21 Pro. I had been searching for an app and tried a couple out, 21 Pro is the way to go. This is the simple convenient way I had been looking for.

Besides the basics of betting and giving you two cards the game also has game history, built in card counting that follows your game, and a cheat card in case you need to brush up on strategy.

I get to practice Don’s Hedge Ecomonics on my phone, it doesn’t cost me a penny, and I can make sure I practice not spliting 10s. All in all it is a great app, It doesn’t let you play multiple hands at the table but that is me being nit-picky. Lucky for me I get to put my practice to good use, 7 nights in the caribbean, won’t be free but hopefully I’ll have a better chance at the tables now!

Why would a designer need to use Subversion ?

Sunday, September 7th, 2008

Lots of things going on in my life lately and the blog was put on the back burner but nevertheless a friend asked me for an explanation of a technology which inspired me to post (which I plan on doing more of).

I was asked by a designer friend recently if I had heard of Subversion and if I thought it was useful. He had read some things about it and didn’t get the point of it.  I am by no means an expert but my former company was using it and I’m currently using it at the office so I shared my experience. I’ll bold key Subversion (SVN) terms throughout the article so the lingo gets included as well.

I will say that Subversion is not new, it has been around for a number of years but I think this post might be important to either new designers or maybe designers that avoided subversion in the past because it seemed more of a programmer’s thing.

At the end of the day SVN is like having a remote server (Repository) that you store your text based files ( html, css, js, php, as, etc) and every time you store (make a Commit) them to the repository it stores the changes in the file as individual snapshots (Revisions). 

When you start a project in svn you usually build the repository and import any existing files you have ( so if you have your sliced images and folder structure you would bring that in). Then on your local computer you setup a working directory, this is where SVN will monitor changes. So you can make changes in this directory ( I use a subdirectory in my localhost) and edit the files with Coda or DW or whatever you fancy.

Now in the past you had to have SVN running on a server and it had to be setup properly, I could see how this probably turned most designers off. Now there are a couple of Hosted SVN systems, I use Beanstalk but there are a few others SpringloopsGoogle Code and Warehouse these make setting up a repository a breeze. 

So for an example you and a colleague are working on a WordPress theme or a new client site but you are nearing the end of the dev cycle and both have the CSS file(s) open making changes for different parts of the project. What SVN prevents is you overwriting their changes while helping you merge your changes all the while keeping a history of each file.

So you make the changes and try to commit to the repository you will get a conflict, as I said I use Beanstalkapp.com as the repository, Versions for my SVN client, and an app called Changes to merge conflicts. Changes will help you view the file in the repository and your working copy side by side and pull from the left or right to resolve the conflict. My app choices are based on me using OS X, but at the end of this post I mention some Windows based tools that work just as well. It should be noted that Beanstalk is OS independent, you simply connect to it with your SVN client.

Now say for example you are working on a huge app with a ton of people and you are about to push it live when you look at the latest build you have an error, if the error is not easily identifiable you can roll a whole repository back to a certain revision or even individual files. Another thing that also pretty cool, is you can branch your app out. Which basically mean you have a version you are happy with and you want to keep making small changes with it but you are ready to move on to phase two of the project. You would branch out the original to preserve it and you can work on the other branch.

So Beanstalk stores the revisions… Versions Commits/Updates the repository… and Changes helps clear any conflicts

In Versions and in SVN for that matter there are a few basic terms to understand Update, Commit, Conflict, Add and Resolve.

- Update this one for me was a little tricky to understand but when you update you are downloading all the files that have changed since the last time you grabbed them.

- Commit is where you would upload the changes you have made, when you setup the working copy it will know what has changed so you don’t even have to remember all the files you modified.

- Conflict is basically where you made a change and your colleague did as well, they committed to the repository and when you went to commit it said you were about to overwrite his changes.

- Add, say you add a new image during your dev process the repository doesn’t know to watch that file for changes so you need to Add the file to the respository so it physically adds it but also it knows to watch it now.

-Resolve is what you would click after you have cleared up a conflict, some SVN clients won’t let you commit without all the files being resolved.

If you are looking to get your feet wet try the apps I mentioned they all have trials. If you want to try SVN on a PC a good subversion client is TortoiseSVN and for a File Compare app on the PC try WinMerge.

There is something else that I have heard is better than SVN called GIT. I haven’t played with it enough yet to know if it is good for web development, I’ll be sure to update this post once I have given it a run through.

Hope this helps, SVN is pretty simple to pick up once you start using it and I think the revision history it provides is indispensable.

Web 2.0 – Data Aggregation

Monday, May 5th, 2008

Trying to define Web 2.0 is all the rage these days, some people say it is social networking others say it is about interactivity (AJAX). At the end of the day all the definitions are right because the whole point of a new version is the fact that it is new, so defining it as stuff we didn’t do in the 1.0 days is good enough for me. With that being said there are a couple things I’m excited about and they all tend to center around data aggregation. Now aggregation in general can apply to a lot of different things happening on the web, RSS for example is a simple way to help you aggregate your favorite authors or news sources.

Google and Microsoft for example are now aggregating traffic information, they are both using the information in similar ways but with just slightly different twists.

In Google’s case they take the traffic information and let you see what traffic is like on certain days.

Tomorrow I have to head to the airport around 2 o’clock, with this new functionality I can see what the traffic might be like around that time. Now they can’t predict accidents but I like the fact that if I’m in an unfamiliar city with a meeting the next day, I will be able to determine loosely what the traffic might be like.

I say that is pretty cool and some functionality that I’m sure a lot of people that travel will find useful.

Now Microsoft has taken this information and put a slight twist on it. What they do is when you ask for driving directions you can choose for them to factor in live traffic information. So if you are running out the door and are printing out directions it might be able to save you a big headache if it helps you avoid an accident. Now on the flip side of that is the fact that the piece of paper you print out is not magically going to update when you are on the road so if you print out the data the night before and are factoring in live traffic it isn’t going to help you the next day.

Obviously nothing substitutes having gps in the car with a live traffic feed but for you all out there not lucky enough to have that or are not psychic maybe a mix of what Google and Microsoft are doing will help you out. I’m sure ultimately they will start blending functionality so what Google has Microsoft will and vice versa.

Another great example of aggregation is a site called farecast.com, I have been using them for a couple years and it is a great free service. So good that Microsoft bought them a few weeks ago. Here is the cool part about farecast, it will tell you if you are getting a good deal or not. Now you can surf around the net and look for the best deal, you can even use a service like kayak that aggregates a whole bunch of sites together but farecast has a twist. Farecast will study historical trends for the route you are flying and will predict with sometimes fairly hight accuracy if you should wait to buy your ticket or if you should get it right away because the fare is only going to go higher.

For example I flew to Seattle this past March and I knew about the trip a couple month ahead of time, I was able to save a bunch on the ticket because farecast told me to wait. It felt based on the trends that the price will start to decline now I followed the advice and sure enough it went down almost a hundred dollars a fee weeks before the trip.

All of these are great examples of the impact websites can have on our day to day life by helping aggregate and mine all the data that is out there.