Monday, February 27, 2012

OpenPhoto, Part 1

Openphoto is a very handy tool and lets you put all your photos in one place on the web.  It is also Open Source (meaning you can set up your own fully functioning photo site on your server, unlike services like Flikr or PhotoBucket.

I successfully created an account w/ openphoto.me and here it is :

http://andrewgstanton.openphoto.me/

The next step would be to set up openphoto server on an EC2 or Rackspace instance...

Stay tuned.  I was just scratching the surface here...

Sunday, February 26, 2012

A little PHP History

It's hard to believe that PHP is almost 20 years old.  According to an article in here (on Wikipedia), it was started in 1994 by Rasmus Lerdorf a Danish/Canadian programmer, and has grown to be one of the most popular development platforms for building web pages today.  Lerdorf originally developed PHP out of a set of Perl scripts and later C binaries.

Today it powers billion dollar companies, including Digg, Facebook, and of course Wikipedia.  



Saturday, February 25, 2012

Next PHP Meetup in SF

"Open Data and Open Data and The OpenPhoto Project" will be featured in the next PHP meetup, scheduled for March 8 downtown.  

From the SF Meetup description for March 8:

All of us have content on various services and over time we stop using some of these. But what happens to our data? Often times we don't want to leave our data behind, rather we want to use another service. What does this mean 10 or 20 years into the future? More importantly, what if we could separate the data we input from the app we input it to? Making a user's data portable opens up new world of possibilities for the apps of tomorrow.

We're solving this problem specifically for photos by building an open source photo platform that lets users select where their photos and associated metadata is stored. Users grant the OpenPhoto software access to their data, not the other way around.

There are a handful of projects working together to solve this problem not just for photos but for all of the content we put online. You can find more about The OpenPhoto Project at

http://theopenphotoproject.org.

Friday, February 24, 2012

Pros and Cons of building with a Framework

Why should we build with a framework?  Many companies are looking for those with experience building applications in an MVC Framework.  Some of the popular frameworks these days are:

Zend Framework, CakePHP, Symphony, and CodeIgniter.

Pros:

The framework is easier to maintain in the long run.  You can also develop different parts of the application independently.

Cons:

Typically takes longer to build initially.  Different frameworks are not generally compatible with one another.  Although they all follow the same MVC pattern, the configuration details and architecture for each framework is different.


Thursday, February 23, 2012

Open Source FLV Player w/ PHP support

http://www.osflv.com/.  This is an Open source FLV Player w/ some PHP support -- the PHP support is helpful but appears to be just a handful of functions, from the documentation page, still very helpful indeed:

Documentation :: PHP Functions

Here is the documentation for the PHP library provided with the open source FLV player. To use these PHP functions, you need to include the file flash.php, provided in the flash folder.
  • embed - embeds a swf file.
  • flv - embeds an flv video.
  • flvheader - includes AC_RunActiveContent.js for Internet Explorer and rac.js for all other browsers.
  • flvstring - returns the code to embed an flv video.
  • getflvsize - returns the dimensions of an flv file as an array.


Wednesday, February 22, 2012

Codeigniter - Part 1

CodeIgniter is a lightweight open-source framework that I  have heard about, but am now taking a closer look at it as a way to rapidly prototype and build languages.  Will be reporting back soon in part 2.

WAMP and MAMP - simple local sandboxes

I've been developing PHP applications on Linux systems for many years (primarily on Ubuntu).  But one issue I always ran into was that I wanted to be able to test the application's database schema in a local environment for quick prototyping.

If you are using a Windows machine (running Windows XP or greater), use WAMP (Windows Apache MySQL PHP) .  If you are using a Macintosh (Mac OSX) machine, use MAMP (Mac Apache MySQL PHP).

Both of these tools pretty much do the same thing on their respective platform; they give you a completely self-contained test environment (sandbox) that you can use to test your application's functionality and database schema without requiring an internet connection, and without having to tamper with any web server settings you've already set up on the primary machine.

In addition because you are not running a test environment in a linux Virtual Image (like VMWare Fusion or Parallels), the performance is generally faster.