Help me stop SOPA!

What is SOPA and why is it bad?

While this article, linked here, does a good job of explaining things I’m going to quickly summarize what this is all about. SOPA is an acronym for the Stop Online Piracy Act (its text can be read here: ), and is a proposed bill aimed at cracking down on copyright infringement by restricting access to sites that host or facilitate the trading of pirated content. On the whole this does not seem like such a bad thing and almost everyone would agree that this is a worthy goal to try and attain. The problem, however, is how this proposed bill goes about obtaining this goal. Any site could be in violation of the law if they “facilitate” copyright infringement. The problem with this is that the word “facilitate” invites very broad interpretations of its meaning. In addition, any site accused of being a “facilitator” will have all services – network connectivity and payment services, among others – cut off in an “ask questions later” approach. The filing of false notifications against an online property is a crime, but the burden of proof that a crime was not committed lies with the site that has just been taken down.

This is a horrible piece of proposed legislation that will very likely have a far-reaching and potentially-devastating impact on the internet as a whole. As a professional software developer that has made his living developing internet applications for the past 13 years, and did so un-professionally for several years prior to that, I cannot allow this legislation to become law.

How can you help stop SOPA?

Lamar Smith has been the Republican Congressman for the 21st congressional district in Texas since 1987 and is the individual that introduced the SOPA legislation. Well, my good friend Richard Morgan, a fellow PHP developer, is running against him in the upcoming primaries and needs your help. Richard Morgan opposes SOPA and will make it a priority to oppose this and other big-government bills that threaten individual liberty and discourage job growth and free enterprise in America. There are three things that you can do to help Richard Morgan win the election: Continue reading

FreeBSD, SVN and Unrecognized URL scheme

I recently had the need to connect to a Subversion repository that was hosted “in the cloud” and only accessible via a https:// address. I was on a FreeBSD server and every time I attempted to connect to the repository I would receive this error:

svn: Unrecognized URL scheme 'https://svn.web.server'

When I ran svn --version I saw that there was nothing configured to handle the http(s) protocols. To resolve this I did the following:

  1. In /usr/ports/www/neon29 I ran make clean install
  2. In /usr/ports/devel/subversion I ran make config. From the configuration screen I enabled the Neon WebDAV/Delta-V repo access module and then ran make clean install after saving the configuration.

I was then able to successfully access SVN repositories hosted at http(s) addresses! I hope this is helpful to anyone in a similar situation.

Zend Framework…Without Inhaling

I recently had the privilege of being asked to write an article for php|architect magazine called “Zend Framework…Without Inhaling” and the honor of being published in the November 2011 issue. You can read all about the issue here and purchase a copy if you don’t already have a subscription. I have previously given a presentation on this same topic and a video recording of it is available on the Presentations page. Below is the article synopsis:

Zend Framework…Without Inhaling
Not sure how to integrate all Zend Framework has to offer into your existing code? Do you want to know how you can use Zend Framework without having to fully adopt the MVC architecture? What if you want to begin using MVC later? This article will present ideas and examples on how you can integrate Zend Framework into your existing codebase with minimal need for future refactoring.

A Conversation About REST

I recently had the opportunity to present my “A Conversation About REST” talk at ClubAJAX. A REST API involves more than just pushing data back and forth between endpoints. REST is a set of principles and not a specification, so as such you have freedom in how to develop your API. This freedom can lead to confusion though, as it’s hard to find concrete examples of its implementation. This presentation explained what REST is and also presented a variety of topics and questions you will certainly come across while implementing your API.

The Presentations page has a link to the video recording of the talk, which was very lively with a lot of audience participation. Definitely worth watching!

Continue reading

3 Tenets for Implementing a REST API

In the course of performing my duties at my day job I recently came across the need for our data to be accessible via an API. After researching the various types available, I settled on developing a REST API. The selection process wasn’t the interesting part of this exercise though. Actually implementing a REST API is what was.

REST is a set of principles

If there is one point that you should take away from this post after reading it, it is this: REST is a set of principles and not a specification. Consider for a moment someone you believe to be moral. Traits that may make them moral, such as trustworthiness, decency or honor, are characteristics of their morality; guidelines they follow in their life – a moral code. There is not a law that specifies what morality is, but there is a general sense of what is expected and what is meant when discussing morality. The same holds true for REST. There is not a specific implementation that makes an API RESTful, but instead certain expectations that one should strive to achieve. Continue reading

I will be presenting at the Dallas TechFest 2010 Conference

I will be presenting a session titled “You can have it all! Zend Framework introduced into your current code” at the Dallas TechFest 2010 Conference. The synopsis of the session is:

Have you been reviewing all Zend Framework has to offer but aren’t sure how to integrate it with your existing code? How can you begin taking advantage of Zend Framework without having to fully adopt the MVC architecture? What do you do when you later want to being using MVC? Hint: You don’t have to throw away any of your code! This session will present ideas and examples on how you can integrate Zend Framework alongside your existing code base with minimal need for future re-factoring.

See all the details on the Presentations page.

UPDATE (17 Aug 2010): Video and code examples have been added to the Presentations page.

Zend Framework: Using Zend_Tool to Establish Your Project’s Skeleton

I recently had the opportunity to give a presentation to the DFW Lamp User Group on Zend_Tool and how to use it to establish your project’s skeleton. The presentation began by going into a very brief overview of Zend Framework itself, the basic structure of a Zend Framework application, and Zend_Tool’s place in it all. I covered each of the components that make up the Zend_Tool ecosystem as well as how to install and use it on both Windows and *nix platforms. Towards the end of the presentation I covered how to write your own custom providers and manifests and presented several ideas on where this newly-acquired knowledge could take you.

I have made the slides and corresponding code examples available for viewing and download on the Presentations page, as well as I recorded the presentation for you to be able to view as well.

I hope this information is useful, and happy coding!

I have a blog – so now what?

This is my first blog post.

It’s amazing how long it took to write just these six words. I do not mean that it took me an extended amount of time to literally write these six words, but instead am referring to the amount of time it has taken for me to begin blogging. I first gave consideration to the idea of blogging approximately a year-and-a-half ago. Then before I knew it almost that entire time period had passed me by without so much as a single sentence typed. After attending the Dallas, TX stop of the CodeWorks 2009 tour on September 26 and 27, and meeting a venerable list of PHP’s who’s-who, I was once again inspired to begin blogging. Continue reading