About this site
This site is powered by a Simple Content Management (SCM) system that was originally built from the ground up to accomodate my relative simple needs for web content management and to get re-acquinted with the latest approaches and best practices in this field. Web design has always been a second and lower profile part of VNS activities and that is the reason I'm spending a few words on the subject here.
SCM is a PhP/MySQL based system that was made to run on Linux/Apache no differently than under Windows/IIS in a virtual directory and grew out of initial frustration with the many available open source solutions that I've looked at and that can readily be found on the internet. The exercize of building a fully functional content management system is certainly not trivial and it left me with great respect for the results that can be obtained by many individuals working together on an Open Source project. Thumbs up for the people creating software as Joomla or Wordpress or the multitudes of other projects hosted at sourceforge!
One benefit of building one's own system (of any kind!) though, is that it gives at least an opportunity to learn what really needs to go on under the hood and that there is direct control over the feature set.
SCM uses a simple mySQL database organizing sets of articles into categories and applying simple rules to whether articles are private (draft) or published, whether they appear on the menu, whether they are published in an RSS feed etc. It combines the need for static content with a bare-boned blogging system. SCM requires V4 (or up) of PhP and MySQL. The PhP code requires no register globals and no magic quotes.
Valid XHTML and CSS
The template for this web site is created with care to be standards (W3C) compliant and is using the XHTML transitional doctype.
The W3C icons here take you to on-line validators and the template contains equivalent links (below left on the page - with the check marks) allowing check-up of any page. XHTML (Extensible Hypertext Markup Language) is a family of current and future document types that reproduces, subset and extent HTML, reformulated in XML. It's the next best thing to happen to promote consistency, interoperability and stability on the web. The CSS stylesheet of the template drives all layout, positioning and formatting. There are no tables involved for that purpose and this - again - serves the goal of separating content from presentation.
One practical advantage of adhering to XHTML rather than HTML is that it keeps any modern browser out of quirks mode thus enormously improving consistency of rendering between various browsers. This site has been tested on Firefox (V2.0 and V3.0), Opera (V9.6), Safari (V3.2), Internet Explorer (V6 and V7) and Google Chrome (V1.0).
Firefox is my browser of choice for development, giving easy DOM inspection, an excellent error console and very useful extensions such as the Tidy HTML validator by Marc Guery, the WebDeveloper toolbar by Chris Pederick and the brilliant Firebug by Joe Hewitt. Other browsers are getting better end better too in terms of support for development plug-ins. I want to mention fiddler and the developer toolbar for IE(7). It is essential stuff for a web developer.
Secondly, the lightbox (V1) script of Lokesh Dhakar is a standard inclusion. This script has become very popular and is now integrating the best of other efforts in the V2. The script allows images such as the one here at the left to be show in larger format without leaving the page. To see what I mean, just click the image (and click it again or press X at the keyboard to get back).
The picture itself, by the way, was taken on the Národní in the center of Prague, a city that has gone through an enormous renaissance in the past years.
A series of other scripts are used in the admin section of SCM, providing things such as drag and drop manipulation and - most importantly, a WYSIWYG editor for creating content. This is tinyMCE by Moxicode, enhanced an Ajax based file manager for file/image upload. The Moxicode editor is another example of excellent open source software!
SCM provides the option to publish an RSS 2.0 feed of the non-private content. The generated XML file is accompanied by an XSL transformation sheet for readability as HTML in any browser; look here to display the current feed as such (if your browser does not directly support RSS). SCM also comprizes an RSS news aggregator, based on the code of zFeeder. On this website, the news aggregator provides headlines from several parties that may be interresting to an embedded systems developer; see here. The aggregator is OPML based. You can borrow the current OMPL file here.