February 2003 | ||||||
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | |
Jan Mar |
Ray Ozzie
Almost 3 months since Ray Ozzie stopped blogging and yet his blog still gets 454 hits PER DAY based on the Userland metrics. It does makes you realize either a) how many people are interested in what he has to say or b) that a lot of people put his blog into their news reader and then never removed it. I'm betting on b) since even though I suspect folks are interested in what he has to say, those that are most likely use News news readers and never bothered to take him out. [_Go_]
This really does make you think that news readers need a "Prune Inactive Feeds" feature since every day this site will be checked wasting time and bandwidth.
10:19:06 AM Google It! comment [] IM Me About This
The Boston PHP Meetup is Tonight
If you are in the Boston area and you program in PHP then you might be interested in the meetup tonight at Mama Gaias in Cambridge. This one I think I should be able to get to. And since six people signed up (including me) then it shouldn't be cancelled. [_Go_]
9:53:25 AM Google It! comment [] IM Me About This
GeoUrl'ing Your Blog
I just found (or perhaps it was there all along and just noticed) the very easy GeoCoder for adding geo url meta tags to my blog. After initially trying to use TerraServer, this was a piece of cake. Recommended. [_Go_]
9:42:22 AM Google It! comment [] IM Me About This
More PHP Patterns
Once again Harry has got another pattern example. I haven't used it in production work yet but I suspect it is up to his usual high standards:
The decorator pattern provides us with a mechanism for adding functionality to objects at runtime, as an alternative mechanism to creating additional child classes.
In this article we'll look at a simple use of the decorator pattern to help with sorting arrays, the example being a directory listing.For some reason most discussions of object oriented programming begin with "imagine a car...", a subject of no relevance to PHP unless perhaps you build a car classifieds website. The result is usually more confusing than helpful.
But just for a moment, this discussion will begin exactly the same way.
Imagine a car. A real car not a class representing a car. Once a car is built, paid for and and standing in the front drive (of our PHP mansion), what do we do if we don't like the color? Unless we've got money to burn, rather than buying a new car we simply re-spray it.
The decorator pattern serves just this purpose. It allows us to do things to objects which have already been built (instantiated). [_Go_]
9:29:06 AM Google It! comment [] IM Me About This
Rent my Chest -- Yet More Chests!
Well I can see that at least one reader of this blog actually did it and rented Chris' chest. Go figure. [_Go_]
9:26:50 AM Google It! comment [] IM Me About This
PHP, the Developers List and Data Visualization
James has a very interesting post about visualizing the PHP developers list using Agora along with a sample image. Cool. [_Go_]
9:22:53 AM Google It! comment [] IM Me About This
Need a Programming Project?
It has always seemed to me that the skills of a technical person increase in direct proportion to the projects they tackle. Now that makes sense of course. You work more and tackle harder projects and then you get better. Pretty simple, right? Actually no. What happens when you don't have a project? For example, you might work as a systems administrator and not realyl have the opportunity to write code for work. Or your current code at work might be in a maintenance mode and you might no longer be learning. Or you might want to learn a new language. What then? Where can you find a project? My recommendation -- look at the vast world of "abandonware".
That's right, abandonware -- the vast treasure trove of open source projects that have been started, some code has been released and then .... nothing. All too often we start a project, write some code, register it with source forge, get going and then RLH or Real Life Happens. You lose a job or get a new job or meet a girl (or guy; hey I'm politically correct) or whatever. And what happens is the Source Forge servers just keep hosting the files in the hope that either the original owner will return or someone new might start to care again. And, as long as the open source license model allows you, you can take those files, and start your own project.
Yes I know that none of us want to start from someone else's code. And that we all can do it better. So what? In the long run what matters, as it always does, is actually shipping. If starting from someone else's foundation gets you there faster -- and you a) can work with it and b) it isn't a disaster -- then does it really matter? One thing that I've seen with a lot of open source projects is that they seem to die what I call "the death of the framework". I.e. the person or team spends so much time getting the framework setup that they get so exhausted by the time the application level code gets started, they just don't have the energy. By coming into an existing framework and being able to focus (mostly) on the application, you can avoid this type of issue.
So how do you find some abandonware to start from? Well you want to begin at either Source Forge or Freshmeat and then look at the Software Map which lets you view by Application, by Language, Development Status, etc. I started here with an Alpha development status (6998 projects). And then since I work mostly in PHP, I added that as a filter bringing me to here (5867 projects). And then I selected Topic and then Communications to get here (1201 projects). Now assuming that I wanted to really write a php communications project from someone else's abandonware, I would start to examine this list of projects until I found a starting point. Since Source Forge puts the most active projects at the beginning of the list, drill into the middle of it to find something that isn't being actively extended. Download the code, evaluate it and get started.
Note: I think that there may be an issue with the Source Forge filtering mechanism. As I examined the last list of resumes, it clearly had entries that didn't have all the specified criteria despite the appearance of working. No matter but I think you get the basic concept -- you don't have to start from scratch and abandonware is a great way to boost your skills.
9:18:10 AM Google It! comment [] IM Me About This