-
The easiest way to search and replace in files
The “find” command is one of the most powerful and useful Unix commands, you can use it to locate files, and then perform some type of action on the files after they’ve been located. With this capability, you can locate files using powerful search criteria, and then run any Unix command you want on the…
-
A Modular Approach to Web Development
MVC is about loose-coupling, and Modular Programming takes that concept to the extreme. A modular application can dynamically load and unload modules at runtime, completely separate applications in their own right, which interact with the main application and other modules to perform some set of tasks. In this article you will presented with a different…
-
Foundations of Programming: Building Better Software
Karl Seguin has released the official, and completely free, Foundations of Programming eBook. Although simplistic, every programming decision I make is largely based on maintainability. Maintainability is the cornerstone of enterprise development. Frequent readers are likely sick of hearing about it, but there’s a good reason we talk about maintainability so often – it’s the…
-
Create professional-looking charts quickly and easily with pChart
pChart is a PHP class oriented framework designed to create aliased charts. Data can be retrieved from SQL queries, CSV files, or manually provided. To have a complete overview of what pChart can do for you, we invite you to take a look on the on-line documentation which is trying to show all basic &…
-
Is this the future of Web application development?
Drag and drop widgets to build Web applications, in minutes, with minimal code. WaveMaker Visual Ajax Studio is an easy-to-use visual builder that enables the drag & drop assembly of scalable, web-applications using Ajax widgets, web services and databases. WaveMaker Studio will look and feel especially familiar to client/server developers who are used to working…
-
Learn to Build Robust, Scalable and Maintainable Applications using MVC
MVC is about loose-coupling, and Modular Programming takes that concept to the extreme. A modular application can dynamically load and unload modules at runtime, completely separate applications in their own right, which interact with the main application and other modules to perform some set of tasks This document (PDF) discusses the classes and interfaces of…
-
Agile Database Deployment Using Phing
Phing allows you to use SQL to define changes to your database schema, making it possible to use a version control system to keep things synchronized with the actual code. A common way to automate development and deployment tasks is by writing shell scripts, however, Phing provides some advantages over shell scripts for task automation.…
-
The best code is very shy
The best code is very shy. Like a four-year old hiding behind a mothers skirt, code should not reveal too much of itself and should not be too nosy into others affairs. But you might find that your shy code grows up too fast, shedding its demure shyness in favor of wild promiscuity. When code…
-
Web Applications: Spaghetti Code for the 21st Century
The software industry is currently in the middle of a paradigm shift. Applications are increasingly written for the Web rather than for any specific type of an operating system, computer or device. Unfortunately, the technologies used for Web application development today violate well-known software engineering principles. Furthermore, they have reintroduced problems that had already been…
-
Getters and setters create unnecessary coupling
Every getter and setter in your code represents a failure to encapsulate and creates unnecessary coupling. A profusion of getters and setters (also referred to as accessors, accessor methods, and properties) is a sign of a poorly designed set of classes. “Getters and setters should be avoided because they break the encapsulation OOP offers”, says…
-
Analysis of coupling within the Zend Framework
Neil Grab wrote: One of the Zend Framework’s strongest drawing cards, as I see it, is its loosely-coupled structure. The name Zend Framework may be a misnomer, in fact, as ZF is more a set of reusable libraries than an actual application framework. I won’t go into detail about the advantages of loose coupling, but…
-
Design Patterns Quick Reference
Jason McDonald posted some quick reference diagrams for the Gang of Four design patterns on his blog. Each section has the name of the pattern, a quick description, and the class diagram for the pattern. Definitely a handy thing to have around. Design Patterns Quick Reference (PDF)
-
The World’s Most Misunderstood Programming Language
…has become the world’s most popular programming language. This is the story of JavaScript Most languages die in obscurity. Only a few are able to build a following beyond a single project or company. And only a very small number of languages become important. There are many things that a programmer must consider when selecting…
-
20 Most Influential Open-Source Web Applications
From managing databases to shopping, writing blogs to sending emails. Ten years of passion, great software architectures, team work and revolutionary ideas. Here are the most influential open-source PHP applications to date: 1998 phpMyAdmin phpMyAdmin is a tool written in PHP intended to handle the administration of MySQL over the Web. Currently it can create…
-
13 reasons why UML failed
One of the reasons is that UML attempts to become a programming language. By aiming to be able to generate full code actually UML tries to be a programming language. In my mind there is a big problem with a general purpose graphical programming language. In human history the written form of all languages evolved…
-
Use a Web-based terminal for remote administration tasks
Ajaxterm offers a simple solution to those who want to run a terminal over the Web for performing remote administration tasks. Vincent Danen tells you how to get it and configure it for Apache.
-
Scrum and XP work well together
A programmer cannot be Agile if the person that manages him is not Agile as well, and vice versa. That’s why Scrum focuses on management and organization practices while XP focuses mostly on actual programming practices, and that’s why they work so well together. This excellent free book aims to give you a head start…
-
ScrumWorks: Agile Process Automation Tool
What does Google, Sun Microsystems, HP, Amazon, Oracle and Motorola have in common? They all use ScrumWorks, an Agile process automation tool that enables teams to self-organize and maximize productivity. Sun Microsystems: “The best compliment I can give to ScrumWorks is that my staff doesn’t think about it. It is intuitive and respectful of the…
-
A Painless Remote Projects Synchronization Utility
So, there you are, asking yourself – “How the hell am I going to deploy my next application across multiple servers?”. First, you write some shell scripts. One that checks out the project from the repository and the other one that runs all the tests. Then, you master the synchronization technique and realise that combined…
-
Software Engineering for Web Applications
A twelve-year-old can build a nice Web application using the tools that came standard with any Linux or Windows machine. Thus it is worth asking ourselves, “What is challenging, interesting, and inspiring about Web-based applications?” This textbook written by Eve Andersson, Philip Greenspun, and Andrew Grumet for the MIT course “Software Engineering for Internet Applications”,…
