Development, PHP @ 26 October 2005, “No Comments”

Zend have, finally, realised that enterprise and even just larger scale PHP projects, require more than just PEAR, PHP5 and Zend Studio, whilst all good, what they lack is coordination and a sense of the ‘Bigger Picture’.

Just as Java has its Community Process, PHP will now have a collaboration process where industry and the community can together work towards defining a web application framework and deployment system. This is really good news for anyone that writes site larger than a few pages, and especially when you work on many projects, quite often doing the same things again and again. Most seasoned PHP programmers have their own frameworks they use to make life a little less mundane and build on past tried-and-tested code. PEAR was a good effort to get people working on reusable components, but this is all PHP4 based and lacks an overall framework for implementing these components within.

My own framework consists of:

  • a Java based core API – java.io, java.net, java.util, java.lang, etc (I am intending to merge this with cucua.tigris.org)
  • a runtime library – class loader, error handling, logging, configuration, etc
  • a servlet container – based on the Java Servlet 2.4 specification
  • a MVC framework – based on Struts
  • a component framework – based on Tapestry

When I can find a free Subversion open-source provider, and a name, I will make all this available under some sort of generous license (LGPL?) in the hope that perhaps some of it could be of some use to some people, and perhaps even to the formation of the official webapp framework.

Anyway, more here: http://www.zend.com/collaboration/

Development, PHP @ 26 October 2005, “No Comments”

RSS + BitTorrent is gradually emerging, its only a matter of time before the two become indistinguishable.

iPodder (a cross platform podcast client) has already gained bittorrent support, and I guess clients like µTorrent and BitComet will also eventually support RSS.

This basically allows us to have all the immediacy of RSS with the low/fair bandwidth model of BitTorrent; suddenly mass distribution of all kinds of content becomes very simple.

Obviously, lots of services (some exist already) will start to offer dubious torrent-rss of popular TV shows and such like, but what I would like to see more than that is news. Good quality news, like the BBC, up to date, on my desktop (and therefore onto my phone/pda/ipod etc).

I have written a simple PHP script that goes off and parses the BBC site and pulls down the asx (ie, wmv) video, runs it through mencoder and convert it to mp4/mp3. All I would need to do then is create the torrent files and then publish an RSS feed… but not much point until there is a client available.

Ajax, Development @ 22 October 2005, “No Comments”

Ajax is damn cool.

I am currently working on a small project using Google Maps which displays properties on a map. There is a central object which manages communication (via googles GXmlHttp) with the servers-side php. Upon response, this same object parses the response XML and then updates its observers.

Each component then has an object which manages its display, it subscribes to the main object, and upon update will redraw that elements innerHTML, mostly by transfrorming the responseXML with XSLT using googles GXslt class).

This got me thinking about a component base widget framework implemented in javascript, something that a server side application could easily communicate with. Imagine something like awt/swing being rendered to a javascript/html browser, rather than a normal windowing system. Upon an event, the component would send the event object back to the server, the server would process this, and update all components subscribed to the model, the components would then decide whether they need to be redrawn or not, and the new state of these components would be collected, packaged up in xml, and sent back to the client.

This would mean that only the components that change would need to be updated and redrawn, and the whole page need not be reloaded.

A quick poke around found a couple of interesting projects:

Development, PHP @ 16 October 2005, “No Comments”

Project Cucua is an attempt to port the Java core API to php.

http://cucua.tigris.org/

Development, PHP @ 03 September 2005, “No Comments”

Despite all the cleanliness and standards obsessed nature of Java, PHP still has the advantages that its quick to learn, develop and execute. As such it is a favorite with media agencies and smaller dot coms, but since PHP can be as dirty as perl (well, not quite) and almost as elegant as java, a whole range of code is produced, all of which has to be supported by successive employees.

I feel the problem is that there is no clear standards that are set in place, and no manner in which to easily relate them to people. For example, as new employees start, it would be nice if one could point them in the direction of a website that describes some decent standards to follow. When I speak of standards, I do not mean where your curly braces go, but how one should write an application such that it can be deployed without the application server needing hours of (long forgotten) configuration, and that prospective employees, current ones, and in fact everyone, is on the same page when it comes to frameworks and specifications.

Java has a nice community process in place to create expert groups to analyze and propose a generic solution for a particular problem domain (servlets, portlets, etc etc). The specification is merely a set of well-known interfaces (and where code is insufficient, documentation embeleshes) that must be implemented (correctly) for your application to conform to that standard.

In this world, open source projects, pear libraries and everyones code would all work together, and I would not have to bend over backwards to work in the way that one particular project would like me to work, let alone trying to get two projects to work together (such as Propel, Torque/Java-esque, and Prado, ASP/DotNet-esque).

First, a specification would be drawn up for the standard layout of a php (web) project, this would be much like a jar, but not compressed, containing code, templates, license information, configuration, and any other assets that are needed.

Next a php. top level code library that contains abstract base classes, generic pattern-implementations, and utilities (not disimalar, but not necessarily the same as java.io, java.lang, java.util etc etc).

Furthermore, a servlet-like (although perhaps much simpler, no dispatchers, filters, etc…) specification that would allow web applications to run on anything from a traditional and very simple apache/php server environment to running in some kind of proprietory enterprise clustering environment.

Ultimatley, ths community process would allow this by creating community-based, peer-reviewed, standards, that take a higher level approach to solving problems than just whatever fits.

Well, I may be slow of the mark here, but Java rocks. I have finally taken the plung and learnt it, and taking a University course in it, as well as using it at work, so its kind of been fun being thrown in the deep end.

I find that its great for high level stuff, but the common critisism is that performance can suck. I guess this is true since the language encourages you to not worry about the lower level implementation, but with a bit of careful tinkering, you can get java to process live video at 640x480x32 at about 30fps, and throw thousands of meta circles around at the same time for good measure. Although, that is, if you do not use Graphics2D, which is horrendously slow.

A good article on the different methods for rendering graphics, and the basis of pixel buffer rendering is [woops, lost this bookmark!] and here is another. I used the VXP package (broken, try the google cache) that wraps the QuickTime VDIG and JMF and presents a common PixelSource interface. Nice.

Given that, its just a matter of plugging it together to get per-pixel access to a live video stream (or indeed any video source supported by JMF or QT).

Unfortunately, I have been dragged kicking and screaming back to the world of “real” work and studying, so no more playing for me for a while.

Development @ 01 January 1970, Comments Off

Xeni Jardin:

What is the Venice Project? Skype co-founders Janus Friis and Niklas Zennström built it with some of that $2.6 billion from selling Skype to eBay. Friis (who, by the way, is rather a babe) explains on his blog:

It’s simple, really — we are trying to bring together the best of TV with the best of the Internet. We think TV is one of the most powerful, engaging mass medias of all time. People love TV, but they also hate TV. They love the (sometimes…) amazing storytelling, the richness, the quality itself. But they hate the linearness, the lack of choice, the lack of basic things like being able to search. And wholly missing is everything that we are now accustomed to from the Internet: tagging, recommendations, choice, and so on… TV is 507 channels and nothing on and we want to help change that!

Link 1 (from October, when a private alphabetawhatever testing phase was live), Link 2 (from December, now that a larger beta has launched, with about 6,000 participants). Reuters item: Link. You can apply to participate in the beta here.

Development @ 01 January 1970, Comments Off

Xeni Jardin:

Contains three seconds of Oscar-worthy brilliance. Sadie, three two (!) years old, is interrupted in the middle of a Christmas-themed book report. Former Seinfeld has-beens, take note: this is how you deal with hecklers, though her response only works if you're *not* a robot. Link (Thanks, Susannah, and Sadie's mom!)

Development @ 01 January 1970, Comments Off

Filed under:

We've seen mechanical devices creep through the inside of intestines, huge mounds of dirt, and even through the San Francisco Bay, but now a British deep-diving remotely operated vehicle (ROV) is getting set to probe the depths of Antarctica. In hopes of uncovering more about the effects of glaciers on the ocean floor, as well as details about the living creatures that inhabit said areas, UK scientists are carting the machine aboard the RSS James Clark Ross as they head for the Marguerite Bay area on the west side of the Antarctic Peninsula. The robot, dubbed Isis, will spend time on its inaugural January mission combing the seabed and channeling live video and pictures back to its captains via the built-in cameras, lights, sonars for acoustic navigation / imaging, and two remotely-controlled manipulator arms. Once the bot gets dried off (and thawed out) from its arctic expedition, the next tour of duty is already lined up, as Isis will head off to the Portuguese coast to do a bit more sightseeing. Of course, if you're interested in taking the £4.5 million ($8.81 million) creature out for a mission you deem worthwhile, it should be available for deep-pocketed renters soon after.

 

Read | Permalink | Email this | Comments


BOLD MOVES: THE FUTURE OF FORD A new documentary series. Be part of the transformation as it happens in real-time

Office Depot Featured Gadget: Xbox 360 Platinum System Packs the power to bring games to life!

Development @ 01 January 1970, Comments Off

Filed under:

Look, we don't know the where, we don't know the when, and we sure as hell don't know the why, but there's no way that's going to stop us from getting a few chuckles in at Mr. Segway Crusader's expense.

Ryan: "In nomine Patris, et Filii, et Spiritus Sancti, et Segway. Amen." or, "O blessed art thou Segway firmware upgrade, which keeps thyself upright."
Paul: "Orlando Bloom's got nothing on this"
Evan: "Wilford Brimley found out a little too late that habitual consumption of Quaker Oats can lead to insanity."
Chris: "With parallel parking in 13th-century Bethlehem virtually impossible to find, Bill found his handicapped permit priceless."
Conrad: "Maximus Decimus Meridius Segwius."

[Via Fark]

 

Read | Permalink | Email this | Comments


BOLD MOVES: THE FUTURE OF FORD A new documentary series. Be part of the transformation as it happens in real-time

Office Depot Featured Gadget: Xbox 360 Platinum System Packs the power to bring games to life!