Christian Mackeprang: Project delays: why good software estimates are impossible

Christian Mackeprang has a new post to his site with some of his thoughts on why software estimates are impossible in any realistic project development process.

When you, as a programmer, start a new project, you will often not know full well how to do it, for many reasons. But you are a professional, and you’ve completed similar tasks in the past, so you either try to figure it out, or find someone who can, and ask them how, or just google it.

[…] The problem comes down to the difference between tasks which require a lot of thinking, and routine tasks which you already have some practice with.

He gives an example of solving a Rubik’s cube, how most people take a very long time to figure it out but there are some that can do it in a matter of seconds. He talks about unexpected complexity and how that can blow previous estimates out of the water. He points out that complexity can be cumulative (related to the number of tasks) and the difference between creative and mechanical tasks.

PHPDeveloper.org

Voices of the ElePHPant: Interview with Christian Wenz

The Voices of the ElePHPant podcast, hosted by PHP community member Cal Evans, has released their latest episode interviewing another member of the PHP community. In this latest episode Cal talks with Christian Wenz

They talk about Christian’s work with the core of the PHP language and its internals and his recommendation to those listening to help support it as well. They also talk about how he first got involved in contributing to the core of the language. Cal and Christian talk about his contributions to the Zend Certification Guide and bootcamp he (Christian) presents at the ZendCon conference to help teach people the information to pass the ZCE exam. They also talk some about their own experiences speaking at conferences.

You can listen to this latest episode either through the in-page audio player or by downloading the mp3 directly. If you enjoy the episode either subscribe to their feed or follow them on Twitter.

PHPDeveloper.org

Christian Scheb: Introducing Tombstones for PHP

Christian Scheb has posted about an interesting idea in this article on his site – creating "tombstones" in your application to help you determine what code in your application is "dead".

Earlier this year I took over that project at my new company. […] The repository was cluttered by many files, that could assumed to be dead code. Unfortunately, you never know. […] The mission was clear: Cleaning up the project, without breaking things.

[…] I searched the web and came across that interesting concept of tombstones. If you haven’t heard of tombstones yet, I highly recommend this article and watching the video of David Schnepper’s ignite talk. A tombstone is basically an executable marker in your code (in the PHP world: a function call), which is placed in fragments of code, that you’ve assumed to be dead. Then, everything is deployed to production and, when a tombstone is invoked, it writes some data to a log. After a while, the logs will enable you to identify dead and undead code (called “Vampires”) in your project.

Not finding a good tool to help with this in an existing codebase, he created a library that makes it simpler to both mark the "tombstones" in your code and another to analyze the results. He includes an example of what the report might look like, showing both the used and unused bits of code where the tombstone code was placed.

PHPDeveloper.org

Christian Schaefer Blog: Beware of the Zeitzone! Arbeiten mit PHP DateTime & Lehre für MongoDB

Christian Schaefer hat einen letzten Beitrag den Hinweis auf einen allgemeinen Frustration unter den Entwicklern von Anwendungen mit NoSQL Backends, speziell mit Doctrine, MongoDB und PHP DateTime-Objekte – .

Ich mag . Statt der Übergabe Zeitstempel um oder Strings mit ISO-Datumsformat es einfach nutzt die native PHP-Typen DateTime, die alles, was Sie wirklich brauchen, um mit der Arbeit zur Verfügung stellt. PHPs Schnittstelle zu MongoDB aber kommt mit seiner eigenen MongoDate Art, die kaum bietet keine Funktionalität im Vergleich zu DateTime und es ist nicht vereinbar. Also, was ist der Unterschied?

In einigen der , Leser zu erwähnen, dass das Problem größer ist als nur die Werkzeuge verwendet werden, um mit der Datenbank arbeiten, ist es, die Datenbanken in der Regel nicht über Zeitzonen Vorsicht beim Umgang mit Datum / Uhrzeit. Es gibt auch eine interessante Erwähnung weiter unten über die Zeitzone zu unterstützen MongoDB über keine und ein Beispiel Snippet OFO Code, verwendet die zu unterstützen.

PHPDeveloper.org

Christian Weiske Blog:. Arbeiten mit phar-Dateien

Christian Weiske hat einen neuen Beitrag in seinem Blog Blick auf ein Feature von PHP, die sehr nützlich ist noch scheint nicht weit verbreitet sein – Pharma-Archive . Sein Beitrag stellt Ihnen Pharma und umfasst die guten und die schlechten zu deren Verwendung.

Es ist möglich, eine ganze PHP Web-Applikation packen in einer einzigen Datei und starten Sie es, ohne Auspacken. Diese Dateien haben meist eine. Phar-Erweiterung, die eine Abkürzung für PHP Archiv, lose auf jar (Java Archive) basiert. […] Mit PHP 5.3.0, die Phar-Erweiterung ist ein offizieller Teil von PHP. Liefer-Anwendungen wie Phar so ist sicher, da seine 5,2 EOL erreicht hat bereits.

Er erwähnt einige der Profis (wie eine Datei, kein Auspacken erforderlich) und Nachteile (wie keine Methode für inkrementelle Updates, Ändern einzelner Dateien innerhalb des Pakets ist schwer) zu ihrer Nutzung. Er spricht auch über einige der Werkzeuge, die Sie verwenden, um eigene Pakete einschließlich der eigenen Unterstützung von PHP, phar-util und Phing der phar Aufgabe . Er enthält ein paar „Dinge zu beachten“, wenn Sie Ihre Pakete und gibt Beispiele aus der SemanticShuttle Paket zu veranschaulichen. Geworfen in am Ende sind einige Benchmarks, die den Unterschied zwischen statischen File-Serving (mit und ohne PHP) und die gleiche Art von Statistiken mit Phar-Pakete in der Mischung enthalten zeigen.

PHPDeveloper.org