<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Mon, 20 May 2013 03:23:35 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[7PHP.com: A Chat With Adminer - A Simple, Yet Effective, Database Management tool written in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19578</guid>
      <link>http://www.phpdeveloper.org/news/19578</link>
      <description><![CDATA[<p>
On 7PHP.com today there's a new interview with <i>Jakub Vrana</i> about his tool <a href="http://www.adminer.org/">Adminser</a>, a lightweight alternative to things like phpMyAdmin for database management.
</p>
<blockquote>
<a href="http://www.adminer.org/">Adminer</a>, formerly known as phpMinAdmin, is a full-featured database management tool to be used as a more simple, effective and fast alternative to the famous PHPmyAdmin. Being curious about it, I had a chat with the creator of Adminer, Jakub Vrana.
</blockquote>
<p>
They talk about the problem the tool tries to solve and where the idea to make it came from. There's also a bit about why to use it over something like phpMyAdmin and what the current status/future plans for it are. If you want to read an interview with <i>Jakub</i> about his work and experiences, you can check out <a href="http://7php.com/php-interview-jakub-vrana/">this post</a>.
</p>
Link: http://7php.com/adminer-interview]]></description>
      <pubDate>Mon, 13 May 2013 09:12:36 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Scrum - An Agile Project's Best Friend]]></title>
      <guid>http://www.phpdeveloper.org/news/19451</guid>
      <link>http://www.phpdeveloper.org/news/19451</link>
      <description><![CDATA[<p>
PHPMaster.com has posted a bit less of a technical article than usual and shares some of the <a href="http://phpmaster.com/scrum-an-agile-projects-best-friend">concepts behind scrum</a>, the project management style that's currently quite popular with development groups.
</p>
<blockquote>
In an <a href="http://phpmaster.com/php-project-management/">earlier article I wrote</a>, we took a general look at project management and discussed what some of its pitfalls are that should be avoided. As part of that, I mentioned that you should, as much as possible, be using an Agile methodology, particularly Scrum, to manage development. I'd like to follow that up with a look at Scrum and at how we can use it to tame our projects.
</blockquote>
<p>
He talks about the typical "waterfall" technique of project development - requirements up front and cross your fingers for the rest. He compares this to the agile process and how scrum, in particular, helps keep things from falling apart. He then gets in to "how to scrum" by defining some of the key terms and talking about things like:
</p>
<ul>
<li>Holding smaller meetings
<li>Limiting scope and time frame
<li>Looking for feedback
<li>Constant reworking remaining time
</ul>
<p>
...all at the same time, multiple times during the life of the project. Agile focuses on quick changes and updates because the project is constantly getting feedback from those asking for the product, giving them (hopefully) exactly what they want.
</p>
</p>
Link: http://phpmaster.com/scrum-an-agile-projects-best-friend]]></description>
      <pubDate>Fri, 12 Apr 2013 09:26:24 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: PHP Project Management]]></title>
      <guid>http://www.phpdeveloper.org/news/19340</guid>
      <link>http://www.phpdeveloper.org/news/19340</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's a new post that takes a different approach to PHP development than some of their articles in the past. It comes at it <a href="http://phpmaster.com/php-project-management/">from the project management side</a> of things, talking more about how to run the project and less about the technology it involves.
</p>
<blockquote>
Whether we like it or not, unless we are doing a hobby project just for our own amusement, even the most technical among us are really just project managers who can code. And, as a project manager, we can experience the heartbreak of project failure. [...] So what can you do as a technical project manager to minimize your chances of adding "leader of a failed project" to your resume? The answer is: pretty much what non-technical project leaders do.
</blockquote>
<p>
He touches on a few key points that are important to any technology project, not just PHP ones - managing the expectations of the team and the business, using iterative processes and development and avoiding scope creep. He also drops in a bit about watching out for "weird stuff" that might be new or different to your group and their technology choices.
</p>]]></description>
      <pubDate>Wed, 20 Mar 2013 15:18:41 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Luis Atencio: Notes on Continuous Delivery - Configuration Management]]></title>
      <guid>http://www.phpdeveloper.org/news/19240</guid>
      <link>http://www.phpdeveloper.org/news/19240</link>
      <description><![CDATA[<p>
<i>Luis Atencio</i> has continued his series on continuous delivery with <a href="http://www.luisatencio.net/2013/02/continuous-delivery-notes-on.html">this second post</a>. It focuses on the first step (and one of the most important) - keeping everything configuration-related in a version control system.
</p>
<blockquote>
I will be continuing the topic on Continuous Delivery which began in my previous post: Notes on Continuous Integration; this time we will start looking at the first and most important step, Configuration Management. In the words of the authors (resource below): Configuration Management refers to the process by which all artifacts ... and the relationships between them, are stored, retrieved, uniquely identified, and modified.
</blockquote>
<p>He sets out four principles that can be used to set this process up in your workflow:</p>
<ul>
<li>Keep everything in version control
<li>Manage dependencies
<li>Manage software configuration
<li>Manage environments
</ul>
<p>
Each point has an explanation and advice on what he's found the best way to implement the functionality. He finishes with a few other pieces of advice including avoiding branching in config repositories and having good communication practices with your ops team.
</p>]]></description>
      <pubDate>Tue, 26 Feb 2013 11:55:10 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Reddit.com: How do you manage many PHP projects? Lots of VMs?]]></title>
      <guid>http://www.phpdeveloper.org/news/19223</guid>
      <link>http://www.phpdeveloper.org/news/19223</link>
      <description><![CDATA[<p>
On Reddit.com there's a discussion that centers around <a href="http://www.reddit.com/r/PHP/comments/18z2m1/how_do_you_manage_many_php_projects_lots_of_vms/">the management of VMs and PHP projects</a> in a multiple-checkout environments.
</p>
<blockquote>
I have been using a Linux install for a couple years now and it has development checkouts (and matching databases + live data) for dozens of sites. Since I create a new virtual host for each site there hasn't been any problems piling more and more projects into this system. However, this computer won't last forever. [...] Should I setup a new VM + debian install for each project (seems like a lot of work). Should I just move everything to an external drive and point the MySQL data, MongoDB data, Nginx web folders to the attached drive? How do others handle this?
</blockquote>
<p>There's several suggestions made in the comments including things like:</p>
<ul>
<li>Using <a href="http://ansible.cc/">Ansible</a> for configuration management
<li>Bundling the current linux install into one portable VM
<li>Using <a href="http://www.vagrantup.com/">Vagrant</a> for VM management
<li>Using source control that can be accessed from any device/VM
</ul>
<p>
Have a VM management method you've found useful in your development? <a href="http://www.reddit.com/r/PHP/comments/18z2m1/how_do_you_manage_many_php_projects_lots_of_vms/">Share some about it here</a>.
</p>]]></description>
      <pubDate>Fri, 22 Feb 2013 12:57:11 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Web Mozarts: On Libraries and Dependencies]]></title>
      <guid>http://www.phpdeveloper.org/news/18904</guid>
      <link>http://www.phpdeveloper.org/news/18904</link>
      <description><![CDATA[<p>
On the Web Mozarts blog there's a recent post from <I>Bernhard Schussek</i> looking at some of the recent talk about dependencies in the PHP community sharing <a href="http://webmozarts.com/2012/12/15/on-libraries-and-dependencies/">some of his thoughts</a> on the subject and the <a href="http://en.wikipedia.org/wiki/Not_invented_here">Not Invented Here</a> thought pattern.
</p>
<blockquote>
The general attitude of people arguing against dependencies is that dependencies are a bad thing. Why could they be a bad thing? [...] Why do libraries have dependencies at all? Is a library with dependencies less decoupled than one without?
</blockquote>
<p>
He includes some of the common reasons dependencies might be a bad thing (including maintenance issues and space concerns) as well as comparing two similar concepts - "coupling" versus "cohesion". 
</p>
<blockquote>
What does this mean in practice? Can we just increase the amount of dependencies as we like? My personal stance on this topic is that a library should require as little as possible dependencies to run (hard dependencies) - as long as it is highly cohesive - but support as many different libraries as it can (optional dependencies).
</blockquote>]]></description>
      <pubDate>Mon, 17 Dec 2012 13:42:08 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Build Automation with Composer Scripts]]></title>
      <guid>http://www.phpdeveloper.org/news/18854</guid>
      <link>http://www.phpdeveloper.org/news/18854</link>
      <description><![CDATA[<p>
If you're a PHP developer and have been looking for a good way to manage 3rd party dependencies in your applications, look no further than <a href="http://getcomposer.org">Composer</a>. If you're already using it, you know how useful it can be, but you might not know about some of the extra features that come with it. In <a href="http://phpmaster.com/build-automation-with-composer-scripts/">this new tutorial</a> on PHPMaster.com, they describe the automation that is also possible as a part of Composer's management process.
</p>
<blockquote>
Following Alexander Cogneau's introduction to <a href="http://phpmaster.com/php-dependency-management-with-composer/">dependency management with Composer</a>, you now know that Composer is a resolver for managing external project dependencies and versioning constraints. But is that all it does? In this article I'll show you how Composer can also be used as a basic build automation tool.
</blockquote>
<p>
Thanks to some handy configuration settings available in the "composer.json" file, you can execute scripts for events like "pre-install", "post-update" and "pre-uninstall". They include an example "Installer" class with methods for a few of the actions, showing some of the special methods you can use to get metadata about the current operation and environment. 
</p>]]></description>
      <pubDate>Thu, 06 Dec 2012 11:01:49 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: PHP Dependency Management with Composer]]></title>
      <guid>http://www.phpdeveloper.org/news/18752</guid>
      <link>http://www.phpdeveloper.org/news/18752</link>
      <description><![CDATA[<p>
If you haven't taken a look at the <a href="http://getcomposer.org">Composer</a> tool for package management in your PHP applications, you owe it to you and your development process to check it out. PHPMaster.com wants to help you out and has <a href="http://phpmaster.com/php-dependency-management-with-composer/">posted a new tutorial</a> telling you all about the system and how to use it in your applications.
</p>
<blockquote>
In this article I will introduce you to another great project, Composer. Maybe you've experienced the pain of working on a PHP application which uses third-party libraries and then trying to keep them and their dependencies up to date. If so, Composer can soothe your pain. Composer gets you the libraries you want at the versions you need. And if those libraries use other libraries, it can install those and manage them as well. Dependency management can be a hassle-free experience using Composer.
</blockquote>
<p>
He includes the basics like getting it downloaded and installed (via a single-line curl command) and creating a sample "composer.json" file to pull down some libraries from the Laravel framework. He also includes a bit about making your own library a package and adding it to <a href="https://packagist.org/">Packagist</a>. For more information about Composer (and Packagist) see the <a href="http://getcomposer.org">project's main website</a>.
</p>]]></description>
      <pubDate>Thu, 15 Nov 2012 10:48:36 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Phil Sturgeon: Package Watch: Image Management]]></title>
      <guid>http://www.phpdeveloper.org/news/18495</guid>
      <link>http://www.phpdeveloper.org/news/18495</link>
      <description><![CDATA[<p>
<i>Phil Sturgeon</i> has a new post to his site talking about how he <a href="http://philsturgeon.co.uk/blog/2012/09/package-watch-image-management">added image upload and management support</a> to an application with an easy integration of two packages (pulled in via Composer).
</p>
<blockquote>
To get this extra functionality I added two packages to my composer.json. [...] The first is <a href="https://github.com/codeguy/Upload">Upload</a> by <a href="https://www.joshlockhart.com/">Josh Lockhart</a> (who built Slim and started <a href="http://www.phptherightway.com/">PHP The Right Way</a>). It's currently very basic as it's not been alive long, but for the job I needed to do it worked perfect.
</blockquote>
<p>
The second package is the <a href="https://github.com/Sybio/ImageWorkshop">ImageWorkshop</a> that let him easily resize the uploaded images and add a watermark to the corner. He also points out that this method of pulling together packages, each with their own specializations, is the "early days of a PHP renaissance" in how people will work with the language.
</p>]]></description>
      <pubDate>Wed, 19 Sep 2012 12:32:14 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Laura Thompson: The dark craft of engineering management]]></title>
      <guid>http://www.phpdeveloper.org/news/18331</guid>
      <link>http://www.phpdeveloper.org/news/18331</link>
      <description><![CDATA[<p>
<i>Laura Thompson</i> has a new post to her site about the "dark craft" of <a href="http://www.laurathomson.com/2012/08/the-dark-craft-of-engineering-management/">engineering management</a> and of her thoughts as to why it's as much a "craft" as writing the actual code.
</p>
<blockquote>
Why is management a craft? It's a craft for the same reasons engineering is a craft.  You can read all the books you want on something but crafts are learned by getting your hands in it and getting them dirty.  Crafts have rough edges, and shortcuts, and rules of thumb, and things that are held together with duct tape.  The product of craft is something useful and pleasing.
</blockquote>
<p>
She goes on to fill out her description of what it really means to manage a development group including providing devs with the resources they need to master the subject and allowing them the autonomy to solve problems without having to be involved in every decision. You can read the rest of her thoughts <a href="http://www.laurathomson.com/2012/08/the-dark-craft-of-engineering-management">here</a>.
</p>]]></description>
      <pubDate>Wed, 08 Aug 2012 09:44:21 -0500</pubDate>
    </item>
  </channel>
</rss>
