Currently browsing php
Thu, 1 Oct 2009 15:48 UTC
Atlanta was the mid-point stop on the CodeWorks tour, and since it’s my home, I decided to use it as an opportunity to spend time with my family before heading off on the second half of the tour. As such, there was very little hallway track activity for me, but I did get a chance to make it to a few events.
I’m told that Atlanta has had the largest CodeWorks crowd yet. I took a quick look around at each of the rooms, and I believe it. Each presentation was well-attended, and I’m proud to say that the Atlanta PHP user group was well-represented this year; I saw lots of familiar faces.
Speaking of Atlanta PHP, we had a good crowd at the Meet the Speakers dinner on Monday night. Many of the speakers attended, as well as attendees and Atlanta PHP members. I want to thank Glen Gordon and Microsoft for sponsoring the dinner. I think it was a great success, and we couldn’t have done it without Glen’s help. The only problem I have is that many people apparently treat meetup.com “yes” RSVPs as mere suggestions. If there’s a chance you’re not going to make it, please RSVP “maybe” or “no.”
I also want to thank Jeff Jones for hosting an after party as his place for many of the speakers. It was a lot of fun, and the beer was great.
Now we’re in Miami, and I’m a bit behind on blogging, but I’ll post about the Miami CodeWorks stop later today.
1 Comment »
Permalink
Tags: codeworks, conferences, cw09, php
Sun, 27 Sep 2009 19:13 UTC
Yesterday, the CodeWorks B-Team (the session day team, a.k.a. Team Awesome) ran into a bit of a travel snafu that actually worked out better for us. On the way to the airport in Los Angeles, we got stuck in traffic caused by an overturned cement mixer truck. And by overturned, I literally mean the cement mixer was lying flat on its back across the barrier separating the north bound from the south bound lanes. I’m not sure how it was even possible, but there it was. Derick took some video of the accident that he may or may not post later.
The traffic caused our team to be late to the airport, missing our flight. However, we were able to quickly book standby tickets for the following flight, giving us extra time at the airport to eat, placing us on a plane that had WiFi access (our original flight did not), and giving many of us exit row seats. So, it all worked out in the end.
The evening was short, due to our late arrival, but we still made it out to La Hacienda Ranch, apparently the home of the original frozen margarita. A highlight of the evening was being able to meet some of the gang from Dallas PHP, including Tim Stiles, whom I’ve conversed with online but have never met. Afterwards, a few of us ventured into Fort Worth to have a few beers at The Flying Saucer. Special thanks to Josh Holmes of Microsoft for driving us around.
As an aside, we—“we” being the speakers and community leaders attending CodeWorks—have been making lots of new friends with the Microsoft developer evangelists who have been in attendance. It seems that Microsoft has a new breed or new generation of dev evangelists who are genuinely interested in the PHP community, listening to us, and hanging out and having fun with us. For me, it’s a welcome improvement, and I’m not saying this as a surprise change I’ve only observed this week; it’s something I’ve been seeing over the last few years.
There have been a lot of great talks in Dallas. In addition to the set of CodeWorks touring speakers, the local speakers from Dallas PHP have provided some excellent presentations. I was able to enjoy Chris Cornutt’s “B.S.T, Easy as 1-2-3” presentation, and now I’m sitting in Vance Lucas’s “Object Oriented Apologetics.”
The venue in Dallas is also excellent. We’re staying at the American Airlines Training & Conference Center, and while it’s not the fanciest of hotels, I think it has been the best hotel experience we’ve had, with some of the best food and best WiFi we have seen yet. But we’re not even half-way through the tour, so there is plenty of opportunity for this to change and for me to be wowed even more.
I’m heading home this evening. My home is Atlanta, and Atlanta is the next stop on our tour, so I’ve scheduled a little family time during the tour, but I’ll be joining the CodeWorks crew each day, tomorrow for the Atlanta PHP Meet the Speakers Happy Hour and on Tuesday for my presentation.
I hope to see you in Atlanta!
No Comments
Permalink
Tags: codeworks, conferences, cw09, php
Fri, 25 Sep 2009 23:23 UTC
I’m writing this from Los Angeles during the session (or conference) day of CodeWorks. The “A Team” (tutorial team) is en route to Dallas today, while the “B Team” (session team) gives their talks.
Our flight yesterday was short, but we didn’t arrive at the hotel until nearly 4pm, and then I had to leave soon after to make it to the combined OCPHP and LAPHP user group meeting. That’s definitely been a highlight of my trip, since I enjoy meeting other user group organizers and seeing how other user groups work. I was able to meet Oleg Baranovsky and Joe Devon of LAPHP and William Estrada of OCPHP. Special thanks to Rutger Hensel for letting us meet in his co-working space in Fullerton.
There was a great crowd at the OCPHP/LAPHP meeting, and I spoke on Grokking REST, while Jason Mauer, Developer Evangelist for Microsoft, spoke about Microsoft Silverlight (and touched a little bit on Windows Azure and WebsiteSpark). In all, they’ve got two great PHP user groups and if you’re in the Los Angeles or Orange County areas, you should definitely try them out.
Today was a whirlwind of a day for me, as I’ve given three talks already, and I’m writing this just just before heading back down to the conference for a Future of Web Development panel that I’ve agreed to sit on. Since there’s been no real preparation for it, it ought to be fantastic!
This is only the second stop on the tour—five more stops to go—but already it’s been a great and exciting show. Even some of the folks from the OCPHP/LAPHP meeting last night who were on the fence about attending CodeWorks decided today at the last minute to come see what it was all about, and all I have spoken with are glad they made the decision.
Tomorrow, we head to Dallas. I hope to see you there!
2 Comments »
Permalink
Tags: codeworks, conferences, cw09, php
Wed, 23 Sep 2009 20:32 UTC
I’m breaking a long and terrible habit of not blogging in order to share my experiences at CodeWorks over the next two weeks. As you may know, CodeWorks is a touring PHP conference that is traveling to seven cities. I’m privileged to be speaking in each of the cities.
My trip to San Francisco began on Monday, when the metro Atlanta region received up to 15 inches of rainfall in a 24-hour period. I think the average across the region was 8-10 inches, but the point is that we received a lot of water in a short amount of time on top of having already received a lot of rain over the course of the previous week. Over 200 roads were closed and interstate highways shut down. So, I made the decision to go to the airport on Monday night and spend the night there, despite the fact that my flight didn’t leave until ten the next morning. It was the right decision, since traffic the next morning was outrageous and roads were still closed, but it led to a very long day, since I did not sleep at all. Still, it allowed me to polish my slides for two very good presentations I gave today.
After a fine evening yesterday with friends at La Trappe, a Belgian Bistro and Trappist Lounge—with very good beer, I might add—I retired to sit around a fire pit at the hotel with even more friends. Keith brought along marshmallows for roasting, and Jason provided the beer. Good times were had by all.
This morning, while sleeping off the jet lag and recuperating from my lack of sleep the night before, I awoke to a call from Travis, asking if we could switch talk time slots. He wasn’t feeling well, so I agreed, and got up for the early 9am talk, but I’m glad I did. Now, my talks are over, and I’m going to spend the afternoon enjoying San Francisco. Travis, you owe me one, buddy.
Tomorrow, we head to Los Angeles, and after that, Dallas, Atlanta, Miami, DC, and New York. If you’re in any of these cities and you’re not yet signed up for CodeWorks, don’t miss a great opportunity to hear some excellent talks. Sign up today, and I’ll see you there!
FYI, for those looking for slides, I’ll post them on October 7th at the conclusion of the CodeWorks tour.
No Comments
Permalink
Tags: codeworks, conferences, cw09, php
Sat, 31 Jan 2009 3:42 UTC
When I was contacted by a representative of Packt Publishing to review RESTful PHP Web Services by Samisa Abeysinghe, I was naturally interested. After all, I’ve written and spoken a lot about representational state transfer (REST). But I was also skeptical because plenty of people these days talk about RESTful web services, but they don’t really explain REST.
Abeysinghe approaches the topic from a very practical level. From the very first chapter to the last, RESTful PHP is chock full of code samples and discussion of tools to access and build RESTful services. The problem, though, as Lorna Mitchell points out, is that ”[v]ery few services that claim to be RESTful actually are, which makes writing anything along these lines very tricky.” I agree. I would have liked to have seen a more critical look at the so-called RESTful services profiled in the book, with the author explaining the principles of REST by showing how the services examined are or are not RESTful.
In addition, the book devotes very little space to actually describing the principles of the REST architectural style. Instead, there is only a small section in the first chapter that lists some of the principles of REST in a bullet list. I say “some,” because the book fails to mention the principles of client-server, caching, layering, and code-on-demand. Of particular importance to me are the principles of caching and layering because I think these make for the most compelling arguments for using the REST style. Later, when the book tries to make a case for the need for RESTful web services, it talks only about the need for web services and why PHP programmers need to know how to consume REST services, rather than actually explaining why REST itself is important.
While my criticism of the author’s lack of focus on defining and explaining REST is harsh, I will return again to my point about the practically of the book’s examples. It is filled to the brim with working code examples that show how to consume Flickr, BBC News, Yahoo Maps, and other web services, and he discusses many tools to use as HTTP clients in PHP, from curl to Zend_Rest_Client. He also goes into much detail explaining how to design and implement RESTful web services, using a fictional library service as an example. In truth, the real focus on the book isn’t on REST but on the resource-oriented architecture, and to that end, he does offer some good discussion, even covering such topics important to the community as PUT vs. POST and URL design, nuances of design that REST does not cover. And, at the end of the day, what is really more important to a programmer who needs to quickly consume web services for a project: pragmatism or theoretical discussion? My bet is on pragmatism, and this book offers plenty of it.
So, if you’re looking for a full-fledged definition of representational state transfer, this book is not for you. Read Roy Fielding’s dissertation, if you want that. However, if what you’re looking for is a practical approach to consuming resource-oriented web services, then RESTful PHP Web Services is what you’re looking for.
3 Comments »
Permalink
Tags: books, php, rest
Sun, 25 Jan 2009 2:42 UTC
We’re well into the New Year—24 days to be exact—and I’ve long since been putting off this post, but it’s not really a single post. Instead, it’s a collection of things that I’ve been wanting to say but have been putting off, and it’s a look forward to things I’m working on, would like to see happen, or would like to be involved with this year. So, rather than the obligatory look back at what I did last year, this is a look forward at what I’m interested in for the coming year (in no particular order).
First of all, I would like to offer some congratulations to a handful of friends of mine. These congrats have been a long time coming from me and are already old news to many of you. In no particular order, I want to congratulate: Andrei Zmievski on being hired as an Open Source Fellow at Digg; Jon Tan on taking a role as the new Creative Director at OmniTI; Cal Evans, who moved to the Netherlands to be the Director of the PHP Centre of Expertise at Ibuildings; Marco Tabini and Keith Casey for launching Blue Parabola, and Matthew Turland for joining them; Eli White for accepting a position at Zend as the Zend Community Manager/Leader & DevZone Editor-In-Chief; and last, but not least, Brian DeShong for his promotion to Director of Technology at Schematic.
Next, I wanted to take a moment to mention and promote the writing I’ve been working on. I didn’t publish a single thing last year, and in 2007, I published only one article, so I resolved this year to get off my ass and remedy this. In February, php|architect will publish my article entitled “Grokking the REST Architectural Style.” This article attempts to explain what Representational State Transfer really is by going beyond peoples’ fascination with designing URLs, using XML, and focusing on HTTP methods. Instead, I’ll look at the real heart of REST with hopes that readers will fully understand what it means to build a RESTful application. A fellow web services aficionado said of the article, “I think you expressed very nicely what the concepts are all about—and without a URL or HTTP verb in sight!”
Following the REST article, in March php|architect will begin publishing my monthly column “From the Cloud.” In “From the Cloud,” I’ll be looking at practical web services you can use, as well as exploring trends that are transforming the way we use the Web. Here’s a quick blurb from the column that describes its focus:
As the Web matures and enters its third decade of life, many services are turning to cloud-based models of data storage. End users are becoming more and more comfortable with the notion that their data lives in the ether of the Internet rather than on their personal computers. Finding that data, retrieving it, manipulating it, and using it in meaningful ways are the challenges that face the era of the intelligent Web. I hope you’ll join me each month as we explore these services and technologies From the Cloud.
Finally, later this year, php|architect will publish another article I’m working on that will take a practical look at using HTTP in your applications in a RESTful way. There may also be a book idea or two in the works for me, but more on that later.
Oh, and I also had the privilege of being invited again to write a PHP Advent post during the month of December. I wrote a post entitled “Practice Safe & Idempotent Methods.”
Furthering my ramblings in this post, I also wanted to mention some community projects I’m working on this year. As always, I’d like to see PHPCommunity.org evolve and grow into a real website that offers real value to the PHP community, so that’s on my list of things to do. I’ll post more on that in the future. In addition, I have some plans for Atlanta PHP this year that include a new website, incorporation so we can accept donations, and an event to occur later in the year, but you’ll hear more from me about this as the details are finalized. Inspired by my own writings for the “From the Cloud” column, I’ll also be developing a PHP library of classes for interacting with various web services. This began with the Amazon Web Services library in PHP project, but I’ll be migrating that elsewhere to be part of a larger project in the near future, so be on the lookout for that.
Last, but not least, I wanted to mention the website that I built for my dad over the holidays. He recently launched his own business, Small Business Resource Associates, that provides services to small businesses and commercial real estate investors. I did all of the HTML/CSS and PHP programming for the website, while my aunt did the design work. It was an interesting project for me because I haven’t really touched front-end (client-side) web development in several years (I stick mainly to back-end, server-side development these days), and I was proud that I was able to make a website that validates successfully as XHTML 1.1. Another interesting part of the site is that it has a blog, something that I don’t believe many in the financial services industry are doing, so I think that’s one thing that sets apart Small Business Resource Associates from the competition. If your small business is looking for a loan, business plan, business consulting, SBA help, etc., please check it out.
Well, that’s a wrap. I’ve got a growing list of topics I want to blog about, so I hope that you’ll be hearing much more from me this year than you did last year.
Happy New Year!
1 Comment »
Permalink
Tags: atlantaphp, http, php, phpc, phpcommunity, rest, webservices
Sat, 3 Jan 2009 5:12 UTC
Started by Tony Bibbs (or maybe Marcus Whitney before him) and tagged by Elizabeth Naramore and Jon Whitcraft, I have succumbed to the 2009 blogging phenomenon known as “tagging.” Initially, I was going to ignore the tag, but when Elizabeth tagged me “just because,” I knew it was on.
So, here I am, writing the seven facts about myself. Happy, Elizabeth ?
- I was a youth minister for just over 4 years; I quit because I was burned out and tired of parents telling me what to teach their children; I have now become jaded and cynical of organized religion… maybe I’ll get better some day.
- I didn’t drink any alcohol until I was 21 (honest).
- I was in a short-lived, lounge-rock band in college called Not Quite Seven; we played mostly at Uncle Calvin’s in Carrollton, GA; our last show was at GA Tech in 2000—I played bass and sucked.
- My degree is in English Literature, not Computer Science.
- I go by my middle name, so consider “Ben Ramsey” a pseudonym of sorts and not my legal name.
- I taught myself to play guitar and hammered dulcimer, though I am long out of practice for both.
- My first program was written in BASIC on an Atari 400, and it was a Mad Lib generator that prompted the user for input (nouns, adjectives, adverbs, etc.) and plugged these variables into a story it printed out; I was 8 or 9 years old.
And now I get to tag people! Yay! Here are my tagees:
And here are the rules:
- Link your original tagger(s), and list these rules on your blog.
- Share seven facts about yourself in the post—some random, some weird.
- Tag seven people at the end of your post by leaving their names and the links to their blogs.
- Let them know they’ve been tagged by leaving a comment on their blogs and/or Twitter.
No Comments
Permalink
Tags: meme, php
Fri, 7 Nov 2008 15:54 UTC
Next week, I’ll be speaking at php|works and PyWorks in Atlanta on Representational State Transfer (REST). My talk is in the general track this time, so it’s good for both the PHP and Python audiences who will be attending the conference.

I’ve already invited the Atlanta PHP community, and if you’ll be in the Atlanta area, you should come, too. I can’t say it enough: the price of this conference compared to the value you receive from the talks and networking is a steal! In addition, if you sign up for the tutorials, you get a free training course at php|architect. You really can’t get a better deal at any other conference. I guarantee you’ll be glad you attended.
1 Comment »
Permalink
Tags: atlanta, atlantaphp, php, phpworks, pyworks
Mon, 3 Nov 2008 20:41 UTC
I usually don’t announce Atlanta PHP meetings from my blog, but given the short notice, I figured that greater exposure would be best, so here we go…
When: Thursday, November 6, 2008—7pm-9pm
Where: Consulate General of Canada
November Topic: Got a problem? We’ve got answers!
Got a bug that’s been nagging you for hours? How about a feature that you just can’t seem to implement? This month at Atlanta PHP, we’re diverging from our usual presentation format and opening the floor for a “round table” discussion about development problems you are facing.
So, feel free to bring your coding problems to us, and as a group, we’ll come up with the solutions. Bring your laptop or a thumb drive containing snippets/samples of your code or application, so we can look at it as a group. This is sure to be a learning experience for us all.
Our meeting takes place at the Consulate General of Canada at 100 Colony Square in Midtown Atlanta (at the corner of Peachtree and 14th Streets). Click here for directions. You will need to see the concierge in order to gain access to the 17th floor.
PHP Basics at the Atlanta Web Design Group Meetup on November 11
On November 11 at 7:00pm, Matthew Turland will speak to the Atlanta Web Design Group about PHP, covering basics of the language and best practices from a designer’s perspective. This will include basic output, variables, conditional branches, loops, output modularization using includes, coding style, and escaping output for security purposes.
Matthew is the Lead Programmer for a Web application service provider, is Zend PHP Certified, and works with PHP and MySQL on a daily basis. He’s also a member of the PHP Community organization and serves as an organizer for the Acadiana Open Source Group. You can also read his blog at http://ishouldbecoding.com/.
There will be a 30-40 minute presentation followed by Q&A and discussion.
You must RSVP at Meetup.com for this meeting.
php|works and PyWorks in Atlanta November 12-14!
Atlanta PHP invites you to join us at php|works and PyWorks in Atlanta, GA November 12 through 14!
Atlanta PHP user group members receive $100 off the price of registration!
The publishers of php|architect and Python Magazine, are proud to invite you to php|works and PyWorks, two great conferences that will take place in Atlanta, GA, USA, between November 12 and November 14.
With over 65 talks in 5 tracks, 10 tutorials and great networking events and parties, php|works and PyWorks represent a unique opportunity to not only hone your technical skills, but also meet and interact with members of a vibrant community of developers from all walks of life. And remember—your attendance fee covers access to both conferences!
No Comments
Permalink
Tags: atlanta, atlantaphp, php, phpworks, pug, pyworks, user-group
Tue, 16 Sep 2008 23:25 UTC
See below for the slides from my Distribution and Publication With Atom Web Services talk given at the 2008 Zend PHP Conference and Expo in Santa Clara, CA.
As we move toward “Web 3.0,” the Web is slowly transforming into a platform upon which massively distributed applications run. Rich clients turn personal computers into thin clients, not storing or processing any data locally but, rather, connecting to a web service where the data resides. These services may target intranets, extranets, or the global Web community, but to work they need a common language. One such language is the Atom Publishing Protocol.
Since its inception as a draft recommendation in 2003, the Atom Syndication Format (RFC 4287) has been used as an alternative to Really Simple Syndication (RSS) feeds on blogs throughout the blogosphere. Most have understood Atom as just another feed format, but the publication of the Atom Publishing Protocol (RFC 5023) opens the door for far more uses of the Atom format as both a means for distribution of data, as well as publication.
Ben Ramsey will introduce the Atom Syndication Format and Atom Publishing Protocol, explaining in depth how these can form the foundation of any web service for publication and distribution of data in any environment, from the enterprise right down to the small business level. Ramsey will also discuss RESTful design principles as they relate to the Atom Publishing Protocol.
2 Comments »
Permalink
Tags: atom, atompub, http, php, presentations, rest, talks, zendcon, zendcon08