Dynamically Typed: An Introduction to SciTE
478179
SciTE is like the Firefox of text editors - fast, cross platform, configurable, free / Open Source etc. with the bonus of giving a familiar environment on Linux and Windows, particularily where shortcuts are concerned. f you're used to editors like EditPlus or Ultra Edit on Windows, SciTE is at least as configurable (end of line chars, tabs / spaces etc.) and provides a source "tree view" allowing you to "collapse" functions / classes etc. plus has excellent code completion.
187716
This month's edition of PHP Magazine has been released!
345138
Chapter 14: Kernel Debugging Techniques, reprinted with permission from Embedded Linux Primer: A Practical Real-World Approach By Christopher Hallinan, Published by Prentice Hall
769687
A new concept - part of Microsoft's .NET Framework 3.5 - called the Dynamic Language Runtime is gaining popularity, not only among Web developers but also business program developers who see this as a possibility to build dynamic and flexible functionality that Java hasn't provided yet.  BetaNews spoke with one of the new technology's chief evangelists last week at TechEd.
396345
Sandro Zic recently gave a presentation on Java and PHP, and posted his slides here. I didn't attend his talk, so I don't have all the facts, but I would like to comment on one of his slides [...]. First, a minor point. Limited or no OOP has rarely stopped any software from being enterprise-ready. Most modern operating systems continue to be written in C, and the large Cobol programs running on mainframes that manage your bank accounts and insurance do not use OOP. [...] Let's address some of his other criticisms: Virtually no multi-threading, Lack of maintenance tools, and Immature frameworks.
582158
Michael Kimsal points out the posting of the latest part of his "Grails for PHP developers" series to his blog site - Part Five of the series.   I've put up the latest installment in my "Grails for PHP developers".  Rather than delve too much more in to Grails head on, I'm taking this installment (and at least the next one) to delve more in to the Groovy language itself.  Groovy offers similarities to PHP, but also many differences which can trip you up if you're not careful.  I'll try to lay those out as best I can in the next couple of installments.   This new part of the series goes back and puts the spotlight on GRoovy, the base of the Groovy/Grails combo. He talks about working with variables and arrays as containers for multiple pieces of data and some possible gotchas that could come up along the way.
360849
On the Zend Developer Zone today, there's this new tutorial that looks at making the move from PHP4's object-oriented programming up to the "more complete obejct model of PHP5" - specifically with the Decorator design pattern.   While working on a project I realized one particular solution was a pretty good way to demonstrate the decorator design pattern together with some of PHP5's features, including abstract classes, interfaces, type hinting, the final keyword and the visibility of properties and methods. This article is intended for those of you who, like myself, are moving from object-oriented programming, including some use of design patterns, in PHP4, to the more complete object model of PHP5.   He sets up a scenario about the development of an online pizza ordering system to show how to "decorate" a pizza with each of the toppings on a list (instead of having to list out every pizza in every possible topping combination). Of course, all of the code is included and explained so you understand exactly what's happening. Finally, there's a demonstration of its usage - a simple call that grabs the stock level/name/cost of each of the items in stock (pizza combinations).
731858
Really cool blog post about hidden Java features.  These are little tricks that you forget about from time to time but that make life more pleasant.  This is a good one:  "Instance initializers -- I've been exploiting these lately to abbreviate list initialization (in unit tests only): > List triple = new ArrayList(3) { >   { add("a"); add("b"); add("c"); } > };"  I've been using static code blocks but this looks like it might be a better trick.  Example:  "public static List = new ArrayList(); > static {     list.add( "foo" ); }"  Also this final Closure  hack seems pretty cool:
753153
P&aacute;draic Brady has a suggestion for all of the PHP readers out there - two articles in the latest edition of php|architect magazine, the May 2007 edition:   The two that stick in my mind are Jim Delahunt's "Unicode and PHP: A Gentle Introduction" and Jeff Moore's "Test Pattern: Model View Controller". Both are something those seeking illumination on these topics should certainly read.   The first presents an introduction to one of the hottest topics in the PHP world - Unicoding - including a few same scripts to get you going. The second article, a look at the Model/View/Controller pattern that really gets more to what the pattern is about rather than just talking about its structure.
96958
Paul Jones is rejoicing a bit about the OpenID and Typekey functionality Wez Furlong shared just the other day on his blog.   Wez Furlong gives us good news about implementing the math functions needed to support TypeKey and OpenID more directly within PHP.   Paul also mentions that the Solar framework has also had the Typekey support integrated for a while now (as an adapter) that uses the "big-number math functions" currently available to PHP developers. Wez's solution, however, would just about make those obsolete.
675056
Over on Dynamically Typed today, there's a new posting continuing Harry's discussion of the PHP 5 Standard Library (and how Marcus Boerger thinks it could be corrected).
494845
Stuart Herbert has posted a new book review of a new offering from Packt Publishing - "Learning PHP Data Objects" (by Dennis Popel).    The folks at Packt Publishing sent me a copy of Dennis Popel's "Learning PHP Data Objects" to review. I'd never heard of Packt before, and was intrigued.   He includes a high-level overview of what the book contains, but notes that he couldn't get a hold of the code examples mentioned in the book (no CD and couldn't find it on their site). Overall, he found it a good book - it's a good primer to PDO in PHP, but you'll need to know SQL beforehand to work with it. He suggests that it's more of a one or two time read, though - not much in the way of a reference to come back to.
460464
A new posting from Dynamically Typed - More on rich web UIs - has a few interesting links to share, as well as Harry's search for a XmlHttpRequest method.
421737
On Dynamically Typed today, Harry discusses a possible trend seen in some of the PHP jobs out there:
769015
Felix Geisendorfer shares, in this new post to the ThinkingPHP blog, some of his experiences with writing his code using test driven development.   So far I've had tons of fun trying to create php code using test driven development. It caused my code to become a lot more structured/consistent because writing the tests shows you interfaces problems right away. This is because the process of writing the test forces you to think a lot more about *how* you want to use some class / piece of code vs. your traditional "how can I get task x done"-thinking.   He also points out another benefit - it makes refactoring the code even easier (so there's more of a likelyhood that you'll use it again and again). He talks specifics about a library that he's been working on and the processes he's gone through to make things work with the testing versus his normal development cycle.
676141
While attending Gunter Kniesel's "Aspect-Oriented Software Development" lecture yesterday it occured to me that it might be possible to (ab)use PHP 5's __autoload(), __call(), __get(), and __set() interceptors to facilitate Aspect-Oriented Programming with PHP.
562776
A different sort of abstraction layer project has been started up and has already seen a few releases - Forage. As mentioned on Rob Young's blog:    Recently I've been working on a search abstraction library for PHP called Forage. The idea is to bring to search what we've had for relational databases for quite a while, abstraction.    On Friday I put up a preview release with three backends; Solr, Xapian and Zend Search Lucene. At the moment it has the bare minimum of features but there will be more soon. In this post I'm going to talk a little about the motivation for the project and then walk through a short example.    He talks about the need for search abstraction (integration and resilience to change) before getting into an example of some code that grabs the data from an RSS feed, passes it in to the Xapian search engine and stores it before looking it over for thier search terms ("yahoo microsoft").   You can download the library if you'd like to try it out for yourself.