<?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 10:02:16 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[iBuildings Blog: Verifying out software with OWASP ASVS]]></title>
      <guid>http://www.phpdeveloper.org/news/19399</guid>
      <link>http://www.phpdeveloper.org/news/19399</link>
      <description><![CDATA[<p>
On the iBuildings blog today there's a post from <i>Boy Baukema</i> about the <a href="http://blog.ibuildings.com/2013/03/21/verifying-software-with-owasp-asvs/">use of the OWASP ASVS</a> to help provide a framework of questions to ask about your application to help find any application security "pain points."
</p>
<blockquote>
When a customer commissions Ibuildings for a new application, he usually has plenty of functional demands. [...] And maybe some thoughts have been given to performance metrics, but security? Well… it "needs to be secure". [...] It is said, conveniently enough mostly by software engineers, that building software is perhaps the most complex activity humans have ever undertaken.
</blockquote>
<p>
He notes that "security is not a checkbox, it's a dropdown" and should be continuously considered continuously through out development. The <a href="https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project">OWASP ASVS</a> provides a structure that a development group can follow to test the security of their application. It defines 4 types of testing/validation and fourteen other topics to consider.
</p>
<blockquote>
While ASVS is a wonderful addition, it has it's issues: verification and reporting can take a significant amount of time and validation rules are not specific enough to use the tools and techniques.
</blockquote>]]></description>
      <pubDate>Tue, 02 Apr 2013 12:20:19 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[thePHP.cc: Software Development Fluxx]]></title>
      <guid>http://www.phpdeveloper.org/news/19186</guid>
      <link>http://www.phpdeveloper.org/news/19186</link>
      <description><![CDATA[<p>
If you've ever played the card game "Fluxx" (or are familiar with the ever changing rules behind software development) you can release to <a href="http://thephp.cc/viewpoints/blog/2013/02/software-development-fluxx">this new article</a> from <i>Sebastian Bergmann</i>. He makes a link between the "Star Fluxx" card game and how OOP and encapsulation help make changing things easier.
</p>
<blockquote>
Star Fluxx is a science-fiction-themed version of Fluxx, "a card game [that] is different from most other card games, in that the rules and the conditions for winning are altered throughout the game, via cards played by the players." (Wikipedia) When I heard the description of the game on the aforementioned episode of TableTop it reminded me of software development projects. Changing business rules and requirements (rules and the conditions for winning), probably sounds familiar to you, too.
</blockquote>
<p>
He talks about how the game could be implemented effectively in OOP classes and interfaces - and how this structure would make it easier to make changes. A largely procedural codebase, however, would make the task much more challenging. The analogy breaks down a bit when it gets to the competitive nature of the game and how software development should be collaborative instead, but it's still effective.
</p>]]></description>
      <pubDate>Fri, 15 Feb 2013 09:06:57 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Reddit.com: Building software from scratch vs learning a framework, before applying to jobs]]></title>
      <guid>http://www.phpdeveloper.org/news/19177</guid>
      <link>http://www.phpdeveloper.org/news/19177</link>
      <description><![CDATA[<p>
On Reddit.com a user has <a href="http://www.reddit.com/r/PHP/comments/187h5g/building_software_from_scratch_vs_learning_a/">asked a question</a> about frameworks versus writing things from scratch - which would provide them with more advantages in the future?
</p>
<blockquote>
When applying for PHP jobs would it be more advantageous to have made your own software without the use of a framework? I'm starting a portfolio of projects and I'm unsure whether to stick to one framework and learn it well, use a variety of them, or also try building software from scratch. Which would look better to a prospective employer? or does it not matter too much? (considering I'm talking junior roles)
</blockquote>
<p>
Recommendations from <a href="http://www.reddit.com/r/PHP/comments/187h5g/building_software_from_scratch_vs_learning_a/">the comments</a> including things like:
</p>
<ul>
<li>"Making your own software is always a better qualification. Because doing your own frameworks means that you understood the general concept of frameworks. But it doesn't hurt to be familiar with the big ones"
<li>"It doesn't matter. Show that you know how to write good quality code."
<li>"Frameworks change, the language doesn't. With a good understanding of the language itself, you should be able to pick up any framework fairly quickly."
<li>"I think you need to know enough of the underlying language to understand what the framework is doing for you. Typically that comes from folks rolling their own framework for awhile"
</ul>
<p>
Read the rest of the comments (or make your own contribution) <a href="http://www.reddit.com/r/PHP/comments/187h5g/building_software_from_scratch_vs_learning_a/">on the full post</a>.
</p>]]></description>
      <pubDate>Wed, 13 Feb 2013 12:17:32 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Eran Galperin: The Real Cost Of Software Development]]></title>
      <guid>http://www.phpdeveloper.org/news/19121</guid>
      <link>http://www.phpdeveloper.org/news/19121</link>
      <description><![CDATA[<p>
<i>Eran Galperin</i> has a new post to his site today talking about the <a href="http://www.techfounder.net/2013/02/01/the-real-cost-of-software-development/">real cost of software development</a>, how it's more than just time spent hands-to-keyboard.
</p>
<blockquote>
If you are a first-time entrepreneur and likely someone with little experience with software development, the chances of you successfully directing the development of a product on your own, are slim. [...] In software development, too often vision holders hand off a "vision document", i.e. "The Specifications", to a developer and expect him to translate it to the finished product they have in their mind. Most software developers or graphic designers are simply not fit for that role - they do not have the experience, skills or vested interest in transforming your vision to an actual product. 
</blockquote>
<p>
His examples revolve around the idea of outsourcing the development to another group, but a lot of the concepts still apply to in-house development too. He talks some about the idea of "you get what you pay for" when it comes to quality and how much you're willing to pay. He then gets into one of the hardest questions when dealing with development - how to find good developers. He mentions several things that need to be a part of that relationship like trust and good communication.
</p>]]></description>
      <pubDate>Fri, 01 Feb 2013 10:40:39 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Brandon Savage: Languages Don't Matter (Part Deux)]]></title>
      <guid>http://www.phpdeveloper.org/news/19045</guid>
      <link>http://www.phpdeveloper.org/news/19045</link>
      <description><![CDATA[<p>
In a follow-up to his previous article about why <a href="http://www.brandonsavage.net/languages-dont-matter/">languages don't matter</a>, <i>Brandon Savage</i> has <a href="http://www.brandonsavage.net/languages-dont-matter-part-deux/">a new post</a> (part two) carrying on the theme but getting more into the thought patterns behind language selection and use.
</p>
<blockquote>
<p>
Developers like to think that companies hire developers to write code. But companies do not hire developers to write code; they hire developers to solve problems. They hire developers with the expectation that the developer knows about, or can learn about, the problems of the company, and find a creative solution to those problems at minimal cost.
</p>
<p>
It is therefore up to the developer to choose what tools they will use to achieve the outcome. The customer doesn't much care what tools the developer uses; they only care that the outcome they desired is achieved. 
</p>
</blockquote>
<p>
He goes on to talk about preferences in the tools "used by craftsmen" and why they're less important than the result of the work they create. He notes that languages matter, but only in a certain context - as a piece of a puzzle, a part of a whole to reach an objective of functioning software.
</p>]]></description>
      <pubDate>Wed, 16 Jan 2013 11:54:29 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Lorna Mitchell: You're Not Using Source Control? Read This!]]></title>
      <guid>http://www.phpdeveloper.org/news/18999</guid>
      <link>http://www.phpdeveloper.org/news/18999</link>
      <description><![CDATA[<p>
if you're still not using any kind of version control in your development projects, you're really doing yourself (and your fellow developers) a disservice. <i>Lorna Mitchell</i> wants to help nudge you down that road. To do this, she's <a href="http://www.lornajane.net/posts/2013/source-control-whitepaper">provided a whitepaper</a> about version control systems - what they are, how they're helpful and some cool stuff you can do with them.
</p>
<blockquote>
Last week I wrote an email to a client who hasn't yet implemented source control, but who is thinking about it. It turned into rather a long email as I attempted to convey WAY too much information in one long email. After some twitter banter, I repackaged my thoughts into a whitepaper on Source Control entitled <a href="http://www.lornajane.net/wp-content/uploads/2013/01/source-control-whitepaper-v1.1.pdf">You're not using source control? Read This!</a> (PDF, no registration needed).
</blockquote>
<p>
The whitepaper looks at three different tools - Subversion, git and Mercurial (Hg) - and includes a "sales pitch" you can give to the people involved in your project about how it can help them. There's also a few helpful links included at the end for more information about each piece of software.
</p>]]></description>
      <pubDate>Mon, 07 Jan 2013 10:06:55 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthew Weier O'Phinney: My ZendCon Beautiful Software Talk]]></title>
      <guid>http://www.phpdeveloper.org/news/18767</guid>
      <link>http://www.phpdeveloper.org/news/18767</link>
      <description><![CDATA[<p>
<i>Matthew Weier O'Phinny</i> has a new post to his site today sharing the <a href="http://mwop.net/blog/2012-11-17-zendcon-beautiful-software.html">video and slides</a> from his "Beautiful Code" talk from this year's <a href="http://zendcon.com">ZendCon</a> conference.
</p>
<blockquote>
Unusually for me, I did not speak on a Zend Framework topic, and had only one regular slot (I also co-presented a Design Patterns tutorial with my team). That slot, however, became one of my favorite talks I've delivered: "Designing Beautiful Software". I've given this talk a couple times before, but I completely rewrote it for this conference in order to better convey my core message: beautiful software is maintainable and extensible; writing software is a craft.
</blockquote>
<p>
You can find the slides for his presentation <a href="http://mwop.net/slides/2012-10-25-BeautifulSoftware/BeautifulSoftware.html">on his site</a> as well.
</p>]]></description>
      <pubDate>Mon, 19 Nov 2012 11:52:19 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Matthias Noback: Experiences with PHP Open Source Software in a Symfony-Friendly Environment]]></title>
      <guid>http://www.phpdeveloper.org/news/18746</guid>
      <link>http://www.phpdeveloper.org/news/18746</link>
      <description><![CDATA[<p>
<i>Matthias Noback</i> has a new post today sharing some of his <a href="http://php-and-symfony.matthiasnoback.nl/2012/11/experiences-with-php-open-source-software-in-a-symfony-friendly-environment/">experiences working with Open Source software</a>, specifically as it relates to this dealings with a "Symfony-friendly environment".
</p>
<blockquote>
These days, good PHP object-oriented libraries are all around and easily available. To me, it is actually thrilling to be part of this flourishing community, while working with Symfony2 and blogging about the Framework, the Components and their neighbors (like Silex). [...] Still, to me, contributing felt like too big a step to take right now. Until a few weeks ago, when I was looking for something I needed (a PHP client for the Microsoft Translator API) and could not find a decent solution. I decided to <a href="https://github.com/matthiasnoback/microsoft-translator">make it myself</a>, and share it online. 
</blockquote>
<p>
He shares his "checklist" of steps he followed to get the library up and working (less about the library and more about the process):
</p>
<ul>
<li>Write the code
<li>Initialize a Git repository
<li>Add a composer.json file
<lI>Add unit tests
<li>Make it open source and developer friendly
<li>Push your code to GitHub
<li>Register your project at packagist.org
<li>Register the Packagist Service Hook
<li>Versioning
<li>Continuous integration using Travis CI
</ul>
<p>
He also suggests that, at least at the outset, you skip some of your tests that might rely on external data sources/resources (so the build can start as green on Travis) then coming back and refactoring to mock things out correctly. It might look like an intimidating list for a beginner, but it's a great process to follow to have a robust, effective development/deployment process.
</p>]]></description>
      <pubDate>Wed, 14 Nov 2012 11:24:19 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: PHP Forum Software Comparison]]></title>
      <guid>http://www.phpdeveloper.org/news/18558</guid>
      <link>http://www.phpdeveloper.org/news/18558</link>
      <description><![CDATA[<p>
PHPBuilder.com has posted <a href="http://www.phpbuilder.com/articles/site-operation/miscellaneous/php-forum-software-comparison.html">a comparison of three PHP forums</a> (the software to run them) - <a href="http://www.vbulletin.com/">vBulletin</a>, <a href="https://area51.phpbb.com/?from=submenu">phpBB</a> and <a href="http://www.kunena.org/">Kunena</a>.
</p>
<blockquote>
In the past few years, there has been a great increase in the number of websites with user-generated content (UGC). One of the most common Web applications with UGC is a Web forum -- a place where people can share their impressions and opinions on different topics. As forum software is becoming more and more popular, I will compare the three best forum software products written in PHP: vBulletin, phpBB and Kunena.
</blockquote>
<p>
They go through each of them and talk about what features they offer and some of the pros and cons of each. At the end of <a href="http://www.phpbuilder.com/articles/site-operation/miscellaneous/php-forum-software-comparison.html">the post</a> there's a table laying out each of these in a bit more easy to reference form.
</p>]]></description>
      <pubDate>Thu, 04 Oct 2012 12:48:08 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Evan Coury: Q&A about software engineering]]></title>
      <guid>http://www.phpdeveloper.org/news/18399</guid>
      <link>http://www.phpdeveloper.org/news/18399</link>
      <description><![CDATA[<p>
In response to some questions he got from a student, <i>Evan Coury</i> has <a href="http://blog.evan.pro/qa-about-software-engineering">shared the answers</a> to his questions about software development and engineering:
</p>
<blockquote>
I found his questions to be well-posed and thoughtful, so I figured I'd post my responses as a blog post. I'll be sending this post to Jordan, so if anyone has additional comments or advice for the kid, please feel free to leave some wisdom in the comments!
</blockquote>
<p>Some of the questions include:</p>
<ul>
<li>Describe the duties and responsibilities of someone working in software engineering.
<li>Do you have assignments that seem to drag on forever, or are they usually pretty quick?
<li>Are there any specific tools or equipment required for your job?
<li>What are the advantages/disadvantages?
<li> So do most people work for themselves, private industry, or the government?
</ul>
<p>
You can read <i>Evan</i>'s answers to these and more in <a href="http://blog.evan.pro/qa-about-software-engineering">the full post</a>.
</p>]]></description>
      <pubDate>Fri, 24 Aug 2012 08:57:14 -0500</pubDate>
    </item>
  </channel>
</rss>
