April Meeting – A presentation AND a giveaway!

In addition to the great people and discussions, we have added two great reasons why you should attend KC PUG this month!

First, you could win a book!  Chris Harjes (You may know him as The @grmpyprogrammer) has generously donated an electronic copy of his book “The Grumpy Programmer’s Guide to Building Testable Application in PHP” for one lucky attendee to win this month.  If you have read the PHPUnit documentation (or if you haven’t) and just don’t feel like you know where to start when testing, this may be the book for you.

Second (and even more awesome) our very own regular, John Kary @johnkary will be giving what promises to be a great talk on using git for development and collaborative workflows.  Joel is even letting us borrow his projector!  If you don’t know John, he is an experienced PHP developer from Lawrence, and long time git and symfony advocate.

Drop by, learn and share!

Saturday, April 21 @2:30pm
Blackdog Coffeehouse http://kcpug.org/meeting-location

 

Heads up…March meeting is “soft-cancelled”

I’ve been putting off writing this all week….probably hoping to work something out.  I know already several of us aren’t going to make it this weekend, we don’t have “our room” scheduled at Black Dog this month, it’s going to be a beautiful day ….oh…AND it’s St. Patrick’s Day…in Kansas City..on a Saturday.

There are a ton of things to talk about.  PHP 5.4, new tips and tricks, app stack upgrades, github fun, or who knows what else would come up.

If you were thinking of coming, put a post here and see if anyone was going to join you.  Black Dog has a couple of big tables in the main area, so if you want to coordinate a meeting just let us all know.

Either way, I’ll see you all in April!

 

 

Developing PHP with Sublime Text 2

In our February meeting, one of our newest members mentioned he had begun using Sublime Text for PHP development on his Mac. I hadn’t seen it in action before, and almost asked for a demo.

In a stroke of coincidence, PHP community member Stuart Herbert pulled together 14 of his videos showing the various ways he has configured ST2 for PHP Development and it seems people have been tweeting about it today. I couldn’t help but pass it along for all of you…I might have to try it out myself.  Windows, Mac and Linux are supported.

http://blog.stuartherbert.com/php/2012/02/28/setting-up-sublime-text-2-for-php-development/

His videos were recorded on a Mac, but I’d love to hear your Linux or Windows experiences too.

Review of Facebook Application Development with Graph API Cookbook

Packt Publishing, 2011

by Shashwat Srivastava, Apeksha Singh

http://www.packtpub.com/facebook-application-development-with-graph-api-cookbook/book

Review by Dan Holmes, 18-Feb-2012

What is this book about?

Starting with just a Facebook account, a PHP host, and an SSL key this book will help you begin to understand what goes into developing applications for Facebook almost right away.  It assumes no previous knowledge of Facebook, so it will start small: app setup, authentication, getting simple metrics, etc.

Be aware, that some of the basic details regarding authentication and using the Facebook SDK’s have changed.  You will need to reference the Facebook developer documentation to fill in the new details.

But, by the end of the first two chapters, you will have everything you need to build a basic Facebook application complete with getting user information, creating posts, adding friends and uploading pictures into albums.

From there, you will also learn about how to use Facebook’s Social plug-ins–if you are just wanting to add feeds, like buttons, and other information to an existing web site.  From there, you will learn about how to add meta data to your own website to register it with Facebook’s Social Graph.

By the time you get to Chapter 10, the authors build a handful of standalone applications from the ground up.  This can be very helpful, so you can see all the pieces working together. The applications may also serve as inspiration for your own new ideas.  Don’t just start here though, it really assumes you have read the previous chapters. 🙂

The final chapter prepares you to work with Facebook’s Open Graph Beta – allowing your application to interact with Facebook and user’s Timelines in new and exciting ways.

Be aware, I’m really just scratching the surface.  If you have been looking for a nice go-to reference for ways to take advantage of what Facebook offers definitely look at the Index.  I think most developers will have more than one “oooh” or “ahhh” moment.

Is this book for you?

Beyond what you can see from the index, this book provides a solid reference for any budding Facebook application developer.  For beginners and developer enthusiasts, the cookbook format will help you see practical, useful, living examples of what you can do with the Facebook SDK.  For more seasoned developers, it will provide a go-to reference when you are needing to do something new and just need a practical example to see how the pieces fit.

If you have an idea for a new facebook application and you know even a little PHP you are ready for this book.  The book does assume you have web development experience, so it won’t teach you HTML or Javascript.  But, if you are a web developer from some other language and don’t wish to write your application in PHP, you will still get what you need from the code examples and screenshots.  Many of the examples are in Facebook’s Javascript SDK with maybe a little jQuery thrown in so much of the book will apply to you directly anyway.

How long will it stay relevant?

Facebook is still a maturing platform and as such it is constantly changing their API and requirements.  Therefore, it’s difficult to predict how long ALL of these examples will remain current.

For example, the examples for authentication and setting up the API’s will need a bit of updating to actually work.  Facebook did update their authentication API’s in the past months, so many of the examples won’t work as shipped.  There is very little discussion towards using HTTPS connections in your application, but at the moment it’s mandatory for canvas applications.  Also, the examples use the getSession() method which has been replaced getAccessToken().  So, be sure to check the offical documentation.

That being said, it is a large collection of examples which still maintain a lot of relevance and usefulness.  It should provide an excellent companion to the official Facebook documentation.

Language and Accuracy

As an American reader, I would occasionally find a word that seemed a little out of place but this is rare and far between.  As a developer the actual discussions, source code and walk throughs are very clear and concise.  Each recipe tells you what you are about to learn, what you need to have, what you need to do and what you should expect.  The format makes for an easy and understandable read but is also very useful when accessed randomly as needed.

Complete Source Code, eBooks

Even in Chapter 10, when you are building complete, standalone applications you won’t find pages and pages of unannotated source code.  At most, you may get 5 or 10 lines in a row, usually just 1 or 2.  That said, Packt offers the complete, source code for all of their examples neatly organized by chapter.  So, if you are reading and want to pull back a bit and see the examples in context, you certainly can.

This is my first development e-Book, and I was a little concerned how the format would turn out.  The book is available in .pdf, mobi and epub formats…and the format worked very well, even on smaller devices.

It’s all about the SDKs

One of the good things about this book is that all of the examples are in vanilla PHP, with only the Facebook PHP-SDK, HTML, Javascript and maybe a little jQuery.  You can read them, they tell you exactly what is going on, and it’s understandable.

It isn’t about using the latest PHP and JS micro frameworks, using MVC or any of that–none of that is this book’s job.  Remember, this is PHP–a language that seems to have at least one more framework or library than it has developers who use it.  That being said, the cookbook format and the the concise examples give you the concepts you need to fold them into your own framework or micro-framework.

If you are looking for a reference that walks you through a large number of ways for your software to interact with Facebook, be sure to check out this book.  Be aware that authentication requirements have changed since those areas of the book were written.  So, if you run into issues, be sure to reference the official Facebook documentation to understand what needs to be changed.

About me and my perspective

I’m a professional PHP Application developer with 10+ years in PHP as well as other languages and environments.  I am a ZCE in PHP 5 and 5.3 and help organize a PHP User Group in the Kansas City Metro area.  While I would not call myself a Facebook developer, I had started building one Facebook application before reading this book and wish I knew about it earlier.

January 2012

Wow!  What a great turnout!  It was so nice to see all the familiar faces, and some new faces too!

We kicked off with a great impromptu talk on “free code reviews”  — and why we don’t do them.

After introductions, we began discussing consuming SOAP services.  We discussed options for generating classes to map the wsdl’s, or use existing php libraries for talking with the services.

Other discussions:

  • Installing/using binary extensions like the db2, oci, compiling your own php, etc.
  • What options would a developer have in ZendFramework to implement ACL down in the model (despite it being not the best idea)
  • How does Symfony2 use the Reflection class to read annotations
  • For security audits, how important is it to upgrade to the latest PHP version?
  • How do you inspire the younger generation to become developers?  Maker Culture? Gaming? CodeAcademy?  How to find that thing that is exciting to kids (with a walk down memory lane as to what inspired us)?
  • Michael O’Connell came to tell us that Digital Evolution Group is looking for PHP developers.  You can apply online at http://bit.ly/zPf8s1

Lots of great discussions!!  Hope to see you all next month!

New year, new site, happy Dan

Welcome back…again.

KCPug.org has been around since 2001 (I think) and I am pleased to release the fourth major iteration of our site. We have many plans for new tools, pages, and information–but for now, I focused mainly on data migration.  You will find some placeholders looking for feedback, etc.  You may even spot a custom widget or two.

What you will find is any active user accounts, stories and story comments (sorry, no forums).

I still plan to post how I did the migration…there isn’t much in-depth xoops to wordpress migration information out there and when you see my ugly sql of doom, you will probably see why.

I’m fairly new to WordPress, so if you have any tips, ideas, or ah-ha moments, please let me know.  I certainly look forward to seeing you all again in this wonderful new year.

November meeting location

I just got the official word that our usual location has changed it’s business hours and will no longer work for our 2:30pm gathering area.
[img align=right]http://www.kcpug.org/site/uploads/img4ec40e2ea2cbb.jpg[/img]
Instead, the fine folks at The Commons – a local Co-working space in Overland Park has offered to host us this weekend. HUGE thanks to Andrew of The Commons for sharing their space!!

So, come on down, see their new digs and let’s talk some PHP (as well as discuss options for our new future home).

More about this weekend’s place:

http://thekccommons.com/

Saturday, November 19th at 2:30 pm

7932 Santa Fe Dr.
Overland Park, KS 66204
Find on [url=http://bit.ly/urIdII]Google Maps[/url]

Even If you aren’t able to make it, feel free to suggest some great ideas for our future spot.

Things I have heard we are looking for:
* Easier access from Downtown, Lawrence, and Johnson County
* Quiet enough for discussions, but not “too dead”
* Good variety – Coffee, beer, tea, maybe snacks
* Projector would be nice for sure
* More “hangout” less “classroom”

Woah, sorry about your RSS feed. :-)

Well, the good news is–I’ve actually started (actively) working on the site migration to WordPress! But, if you subscribe to this site from our RSS link, you may have gotten a little flooded this weekend.

I was looking into ways to migrate the content. While I didn’t go the RSS route, I did tweak our current feed. And, let it ALL out I think.

Anyway, I have a procedure for migrating users who have posted anything, ever as well as the posts. I’m most likely going to move comments over-just not yet sure about our forums though.

My plan is to get the base system up with a modestly simple theme. Then, as a group we can shape it’s direction and watch it grow. Hopefully I’ll have more to update at this weekend’s meeting!

Dan

September, 2011

I hadn’t been able to get to my laptop since our meeting this weekend, so please fill in details below that I miss.

But, here is an update from our User Group meeting this weekend:

Book Recommendations

Bryan and John recommended some top notch books on Development and OO
[url=http://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670]Code Complete[/url]
[url=http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882]CleanCode[/url]
[url=http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X]Pragmatic Programmer[/url]

Remote / Freelance / CoWorking styles

We had some great discussions on enjoying the workday free of the cubicle. We talked briefly about some co-working options and Noah suggested Dan look into the Enterprise Center of Johnson County at 87th and I 35.

Tools of the Trade – Windows edition

We have noticed a possible surge in windows-laptop-based development again. Dan mentioned two tools that have come to save his sanity recently:
[url=http://smtp4dev.codeplex.com/]SMTP4Dev[/url] – A local-only smtp server / email mail viewer
[url=http://code.google.com/p/mdesktop/]mdesktop[/url] – fast, clean and light virtual desktops

John Kary – Building a first-class API with Symfony2 and Doctrine’s Behavioral Extensions

[url=http://twitter.com/#!/johnkary]John Kary[/url] walked us through an application he is building for managing links. The project is centered around building a first class API to get, put, post and delete the links as needed by whatever front end client.

He walked us through the tools he was using to test the API (I think he said JAX-RS), but also drilled into his code.

The system used Symfony2 as well as the [url=http://www.doctrine-project.org/blog/doctrine2-behavioral-extensions]Doctrine2 Behavioral Extensions[/url].

It was not only fantastic to see how behaviors were being leveraged to make cleaner, more easily testable code–but also to see some PHP 5.3 in real life! 🙂

Thanks John for the excellent talk!

Daycamp4Developers Giveaway

Congratulations to Our newest member–Andrew! Andrew “Won” our DC4D#3 giveaway. Enjoy the presentations, Andrew!!

There was much more, so if I missed a topic that was near and dear to you–PLEASE add as a comment below!

See you next month!