24.12.04
Randy Charles Morin has published a very comprehensive article about alot of already existing technologies that could be used to make RSS scale better and reduce bandwidth consumption.
These include stuff already included in the specifications of RSS such as "skipHours" as well as features often already present in the software that would just need to be turned on, such as "LastModified" headers.
These include stuff already included in the specifications of RSS such as "skipHours" as well as features often already present in the software that would just need to be turned on, such as "LastModified" headers.
The Google Labs have released a new service called Google Suggest this month.
It's basically the usual Google search extended with a little gimmick which pops up to suggest queries as you type in the search box and displays each with the number of possible hits.
It's a kind of auto-complete feature which uses all queries ever sent to google to make suggestions and complete your query.
Chris Justus has done the great job of dissecting the Javascript behind. A very interesting insight.
It's basically the usual Google search extended with a little gimmick which pops up to suggest queries as you type in the search box and displays each with the number of possible hits.
It's a kind of auto-complete feature which uses all queries ever sent to google to make suggestions and complete your query.
Chris Justus has done the great job of dissecting the Javascript behind. A very interesting insight.
23.11.04
Trac is a wiki based issue tracking system written in Python.
It's main features are wiki-capabilities and subversion integration. Besides the actual wiki that can be used for the documentation of a project, issue descriptions and commit messages also support the wiki syntax. This makes it seamless to link subversion commit messages with issues, bugs or feature requests.
Furthermore a timeline shows all project events in order, making getting an overview of the project and tracking progress very easy.
Trac uses SQLite in the backend and is released under the GNU GPL.
It's main features are wiki-capabilities and subversion integration. Besides the actual wiki that can be used for the documentation of a project, issue descriptions and commit messages also support the wiki syntax. This makes it seamless to link subversion commit messages with issues, bugs or feature requests.
Furthermore a timeline shows all project events in order, making getting an overview of the project and tracking progress very easy.
Trac uses SQLite in the backend and is released under the GNU GPL.
24.10.04
Transforming XForms into XHTML and javascript [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 17:42:37
xslt2Xforms is an XSL stylesheet which converts an XForms document into a usable XHTML form with a javascript implementation of the required functionality (validation, input types that don't exist in xhtml etc.).
The documentation is rather sparse but the demos are impressive (and include the XForms source)!
This software is available under both a GPL and a commercial license.
The documentation is rather sparse but the demos are impressive (and include the XForms source)!
This software is available under both a GPL and a commercial license.
23.09.04
Martin Pittenauer from codingmonkeys.de has an XSLT snippet which converts subversion logs into RSS 2.0, which allows to read the subversion logs of a project in your favourite RSS aggregator.
Subversion a very powerful version control system that aims at replacing CVS.
TortoiseSVN is a very cool Windows client for subversion which functions as shell extension. All the features are available through the context menu in the Windows explorer.
It is very easy to use and provides all the functionality of subversion, like checkout, update, commit, branch/tag, patch, diff, resolve conflicts etc.
TortoiseSVN comes bundled with TortoiseMerge, a merging utility which helps to resolve version conflicts by showing the differences between the files and allowing to select which changes should be retained.
The documentation is extensive and contains alot of useful tips.
TortoiseSVN is a very cool Windows client for subversion which functions as shell extension. All the features are available through the context menu in the Windows explorer.
It is very easy to use and provides all the functionality of subversion, like checkout, update, commit, branch/tag, patch, diff, resolve conflicts etc.
TortoiseSVN comes bundled with TortoiseMerge, a merging utility which helps to resolve version conflicts by showing the differences between the files and allowing to select which changes should be retained.
The documentation is extensive and contains alot of useful tips.
Rasmus Lerdorf posted an article about the Coral Distribution Network on his weblog.
Coral is a peer-to-peer content distribution network project of the New York University secure computer systems group. Publishing through Coral is as simple as appending a short string to the hostname of objects' URLs; a peer-to-peer DNS layer transparently redirects browsers to participating cache nodes, which in turn cooperate to minimize load on the source web server.
Anyone can use Coral for free to distribute web content. Rasmus uses it to minimize the bandwidth consumption of his photo gallery
Coral is a peer-to-peer content distribution network project of the New York University secure computer systems group. Publishing through Coral is as simple as appending a short string to the hostname of objects' URLs; a peer-to-peer DNS layer transparently redirects browsers to participating cache nodes, which in turn cooperate to minimize load on the source web server.
Anyone can use Coral for free to distribute web content. Rasmus uses it to minimize the bandwidth consumption of his photo gallery
Client-Server App with Javascript and PHP [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 13:18:21
Harry Fuecks published some interesting experiments on how to create rich UI web applications using Javascript as client and PHP as server communicating through XML-RPC.
His ScriptServer library allows to expose custom object oriented PHP APIs to javascript.
The library automatically generates a client side javascript API corresponding to the PHP API and takes care of the communication.
The example in the article shows how easy the ScriptServer is to use:
His ScriptServer library allows to expose custom object oriented PHP APIs to javascript.
The library automatically generates a client side javascript API corresponding to the PHP API and takes care of the communication.
The example in the article shows how easy the ScriptServer is to use:
Let's say you have a PHP class that looks something like;Now you just need to replace the Math class with something more useful to see how handy this might be. For example it could be used to add rights to a user, to approve a document in a workflow or to mark some sort of object as read.class Math {
function add ($x, $y) {
return $x + $y;
}
}
You can now use this from Javascript like;var m = new math();
alert (m.add(2,2));
22.08.04
FO Questions is an FAQ for XSL-FO, the XSL dialect which allows to bring XML data to print with ease.
From barcodes through hyphenation to tables a lot of topics are covered and explained in detail.
From barcodes through hyphenation to tables a lot of topics are covered and explained in detail.
Javascript syntax highlighting text editor [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 13:48:52
Helene is a syntax highlighting text editor written in javascript. It is meant as a replacement for textarea's in webbased IDE's.
Some features:
- Cross-browser (DOM based)
- Support for tab and auto-indent
- Currently highlichts: javascript, PHP, Smarty
- Key binding profiles (Windows, Joe)
- Unlimited undo/redo
25.07.04
Christian Stocker from bitflux has developed a very neat LiveSearch feature for his blog, which is visible there (by typing a term in the search box).
Using some javascript magic and XMLHttpRequest, it retrieves and lists the blog postings that match the letters the user types in the search box interactively and without reloading.
It works in Internet Explorer as well as in Mozilla and other Gecko based browsers. The code is released under the Apache license.
More information is available on the wiki page.
Using some javascript magic and XMLHttpRequest, it retrieves and lists the blog postings that match the letters the user types in the search box interactively and without reloading.
It works in Internet Explorer as well as in Mozilla and other Gecko based browsers. The code is released under the Apache license.
More information is available on the wiki page.
21.06.04
Boot Linux server + apps from CD [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 21:41:49
LAMPPIX allows to boot a Linux system with a fully functional LAMP environment from CD.
It is a combination of KNOPPIX, the popular Linux Live CD and XAMPP, a package that automagically installs Apache, MySQL, PHP, Perl and some others (see their website for a complete list).
This package takes the creation of demo cd's even for complex Linux-based server applications to a whole new level of feasability.
A short description of how to include custom web applications is also available.
It is a combination of KNOPPIX, the popular Linux Live CD and XAMPP, a package that automagically installs Apache, MySQL, PHP, Perl and some others (see their website for a complete list).
This package takes the creation of demo cd's even for complex Linux-based server applications to a whole new level of feasability.
A short description of how to include custom web applications is also available.
23.05.04
MySQL 4.1 - insert on duplicate key [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 21:38:02
MySQL of version 4.1 and above has a nice new feature in the INSERT syntax. It allows to build a query statement like:
INSERT INTO table (a,b,c) VALUES (1,2,3)This efficient shortcut saves the developer from writing some additional SELECT and INSERT statements.
ON DUPLICATE KEY UPDATE c=c+1;
23.04.04
XML Schema for MS Visio 2003 published [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 19:47:53
Cover pages reports that Microsoft has published the XML Reference Schema for Office Visio 2003.
The DataDiagramML XML Schema used by Microsoft Office Visio 2003 will be integrated in the Microsoft Open and Royalty-Free Office 2003 XML reference schema program, announced in November 2003.
The DataDiagramML XML Schema used by Microsoft Office Visio 2003 will be integrated in the Microsoft Open and Royalty-Free Office 2003 XML reference schema program, announced in November 2003.
XInclude is W3C Candidate Recommendation [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 19:33:33
The W3C has announced the advancement of XInclude to the Candidate Recommendation status.
XInclude introduces a generic mechanism for merging XML documents (information sets) using existing XML constructs like elements, attributes and URI references.
The elevation of the specification to the CR status singifies that the W3C believes it has been widely reviewed and satisfies the Working Group's technical requirements. The W3C publishes a Candidate Recommendation to gather implementation experience.
XInclude introduces a generic mechanism for merging XML documents (information sets) using existing XML constructs like elements, attributes and URI references.
The elevation of the specification to the CR status singifies that the W3C believes it has been widely reviewed and satisfies the Working Group's technical requirements. The W3C publishes a Candidate Recommendation to gather implementation experience.
17.04.04
It seems like the domination of XSD in the field of XML schema definition languages is starting to weaken seriously, since Relax NG is gaining popularity.
bitflux has a quite unanimous quote from Cafe con leche about that:
bitflux has a quite unanimous quote from Cafe con leche about that:
I think the future is clear, and it ain't spelled "XSD". Major recent RELAX NG wins include DocBook, OpenOffice, XHTML, and SVG; all of which are planning to move to RELAX NG in their next versions. I have yet to encounter a group that seriously explored RELAX NG and still chose to use the W3C XML Schema Language.It seems like the simpler and more human readable syntax of Relax NG convinced some people.
Kupu: the WYSIWYG editor formerly known as Epoz [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 15:44:43
The cross-browser WYSIWYG XHTML editor Epoz is now named Kupu.
This step is intended to ease the distinction between the old Zope-only branch of Epoz and the general purpose EpozNG which is now called Kupu.
Besides the name change, the project is now an official OSCOM project. Additionally the license was changed from the Zope Public License to the BSD license, which is better known.
This step is intended to ease the distinction between the old Zope-only branch of Epoz and the general purpose EpozNG which is now called Kupu.
Besides the name change, the project is now an official OSCOM project. Additionally the license was changed from the Zope Public License to the BSD license, which is better known.
23.03.04
HTMLArea is an open source cross-browser WYSIWYG editor written in Javascript.
It includes all the features of a state of the art WYSIWYG editor plus a very nice table handler, which has a comfortable Windows look and feel.
An enhanced image handler was published by Wei Zhuo. It includes preview images and the possibility to edit the images (crop, resize, rotate...) using some nifty PHP on the server side.
It includes all the features of a state of the art WYSIWYG editor plus a very nice table handler, which has a comfortable Windows look and feel.
An enhanced image handler was published by Wei Zhuo. It includes preview images and the possibility to edit the images (crop, resize, rotate...) using some nifty PHP on the server side.
24.02.04
The first beta of Subversion 1.0 was released and the event was slashdotted, which causes some performance problems to the Subversion website.
Subversion is a version control system which aims to replace CVS, while avoiding its design mistakes. The software is based on standard protocols and software such as WebDAV and Apache 2.
Currently only the source code is available, the binary version should appear within a few days.
Subversion is a version control system which aims to replace CVS, while avoiding its design mistakes. The software is based on standard protocols and software such as WebDAV and Apache 2.
Currently only the source code is available, the binary version should appear within a few days.
Epoz: cross-browser WYSIWYG editor [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 19:32:10
Praise the man who finally created a simple cross-browser WYSIWYG Editor which creates valid XHTML and works with InternetExplorer >= 5.5, Mozilla >= 1.3, Firebird >= 0.7!
Epoz is published under the Zope license, which doesn't forbid to implement it in closed source projects.
A demo is also available.
Epoz is published under the Zope license, which doesn't forbid to implement it in closed source projects.
A demo is also available.
Getting useful maps without paying much money is nearly impossible without creating them yourself using free raw data found on the web.
This occurs to be easier than it sounds since PEAR::Image_GIS allows to easily generate raster or SVG graphical maps using raw data in the Arcinfo/E00 format. This package allows to put a GIS (Geographical Information System) together in no time!
The first place to go searching for the required raw data is probably the Geographical_data page from wikipedia.org. It contains links and hints about all important resources.
today.java.net has a little introduction to GIS and how to use it with Java.
This occurs to be easier than it sounds since PEAR::Image_GIS allows to easily generate raster or SVG graphical maps using raw data in the Arcinfo/E00 format. This package allows to put a GIS (Geographical Information System) together in no time!
The first place to go searching for the required raw data is probably the Geographical_data page from wikipedia.org. It contains links and hints about all important resources.
today.java.net has a little introduction to GIS and how to use it with Java.
Developing GUI applications that run in a browser have always required some more or less dirty tricks, i.e. Javascript & DHTML or even Java Applets. Not to mention GUI applications working cross-browser.
There have been some efforts lately, trying to extend the solutions in this area:
There have been some efforts lately, trying to extend the solutions in this area:
- Mozilla's XUL (XML User interface Language) is an XML based language, which allows to define the look and behaviour of a user interface. Some very nice tutorials and examples can be found on xulplanet.com (Mozilla based browser required, of course).
- Microsoft seems to have similar plans coming along the way with the next Windows version code-named "Longhorn". Their XAML language offers similar possibilities as XUL, but at the Desktop application level. However, chances are good that Internet Explorer will have XAML capabilities too.
- Microsoft's previous try in this area is called HTA and didn't really get well known, except for the huge security issue it often has been because
as fully trusted applications, HTAs carry out actions that Internet Explorer would never permit in a Web page
.
23.01.04
khtml2png is a Linux command line tool which creates a screenshot of a website using the Konqueror's HTML rendering engine KHTML, which is also used by Apple's Safari browser.
The screenshots can be saved as PNG and JPEG and their size can be specified.
khtml2png is released under the GNU GPL.
The screenshots can be saved as PNG and JPEG and their size can be specified.
khtml2png is released under the GNU GPL.
blogs.msdn.com is a pot-pourri of a great deal of blogs published by people working at Microsoft. It offers some interesting insights and information about current and upcoming technologies and products developed by Microsoft.
Obviously it also includes some self-praise and subjective perspectives, but hey it's a blog, and it's well worth reading anyway.
Obviously it also includes some self-praise and subjective perspectives, but hey it's a blog, and it's well worth reading anyway.
What's the difference between DTD, XML Schema and Relax NG? Well let's first define what these words stand for:
- DTD stands for document type definition and states which tags and attributes can be used to describe a document of any markup language (SGML, XML, HTML...) and how those tags and attributes can be combined. A DTD declaration is not valid XML and therefore requires a dedicated parsing engine.
- XSD which stands for XML Schema Definition is an XML conform language used to describe the tags, attributes and data types allowable in a document. It has basically the same use as a DTD, but allows to define more complex document structures and data types. As it is valid XML, it can be parsed using any available XML parser. Another big advantage is that XML Schema can be used to define and validate parts of a document included in a given namespace (Namespaces allow to define separate areas in a document that may include identically named tags which have different meanings in each area). XML Schema is a W3C recommendation.
- Relax NG is defined by the OASIS Consortium as
a "specification for a language that validates XML documents," otherwise characterized as a "simple schema language for XML" which focuses upon description and validation of the structure and content of an XML document without attempting to specify application processing semantics.
Relax NG follows almost the same goals as XML Schema but uses more human-readable semantics. Relax NG was published as an ISO standard in december 2003.- The most recent news about Relax NG are announced on xml.coverpages.org
- SUN offers a nice tool which converts schemas written in various schema languages to Relax NG
- O'Reilly's xml.com has published an interesting comparison of XML Schema and Relax NG
03.01.04
Devshed have published the second part of their very good article about transactions in MySQL 4 which was featured here two months ago.
This part focuses on isolation, locks, keys and the problems potentially related to these. Then the durability property of ACID is discussed.
A very interesting and comprehensive follow-up to the first part of the article.
This part focuses on isolation, locks, keys and the problems potentially related to these. Then the durability property of ACID is discussed.
A very interesting and comprehensive follow-up to the first part of the article.
08.12.03
unixODBC is an open source package which provides Unix applications with the same ODBC 3.51 API and facilities available under Windows. The drivers are distributed under the LGPL license to ease commercial use.
It works with Perl and PHP among others and is likely to be very useful when migrating ODBC based applications from Windows to Unix/Linux platforms.
It works with Perl and PHP among others and is likely to be very useful when migrating ODBC based applications from Windows to Unix/Linux platforms.
Prince 3.0 is a commercial software packages which creates PDF files using any kind of XML data and a CSS Stylesheet.
The software developed by YesLogic - a company based in Melbourne, Australia - relies on the libxml2, freetype2 and zlib libraries and costs 245 Euros.
The software developed by YesLogic - a company based in Melbourne, Australia - relies on the libxml2, freetype2 and zlib libraries and costs 245 Euros.
20.11.03
The OASIS consortium announced the ratification of SPML as an OASIS standard.
SPML is an XML language which allows to exchange user, resource and service provisioning information.
This includes for example user identity and rights management.
SPML is likely to become an industry-wide standard as it is supported by leading companies of the IT-security sector including BEA Systems, Computer Associates and Netegrity.
Additionally, the availability of an implementation in Java offered by OpenSPML.org might help the SPML to establish in the near future.
SPML is an XML language which allows to exchange user, resource and service provisioning information.
This includes for example user identity and rights management.
SPML is likely to become an industry-wide standard as it is supported by leading companies of the IT-security sector including BEA Systems, Computer Associates and Netegrity.
Additionally, the availability of an implementation in Java offered by OpenSPML.org might help the SPML to establish in the near future.
19.11.03
SWIXML - Java Swing GUI description [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 17:13:06
SWIXML is an XML dialect which allows to describe a Java Swing user interface in order to build it at runtime. Of course, the corresponding library is also available under a very permissive Apache-style license.
The advantages are:
A visual Swixml editor has been announced, but isn't available yet.
The advantages are:
- Easy changes of the GUI without the need to re-compile the software
- Easy localization
- The code remains readable, as opposed to code-generators
- The user interface can be dynamically loaded from a local or remote site
- Skinning is simplified
A visual Swixml editor has been announced, but isn't available yet.
10.11.03
There is an interesting article about transactions in MySQL 4 on Devshed.
The article starts with the basics of transactions, what they are, why you need them and then shows how to use them with MySQL 4. Very helpful for people new to transactions in general and to those in MySQL in particular.
The article starts with the basics of transactions, what they are, why you need them and then shows how to use them with MySQL 4. Very helpful for people new to transactions in general and to those in MySQL in particular.
Treebeard - Open Source XSLT IDE [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 17:10:30
Treebeard is a nice and powerful open source XSLT IDE written in Java.
Some of the key features are:
The GUI is kept simple and usable. Unlike other IDEs written in Java, Treebeard is quite fast (at least on Windows XP) and seems perfect to develop XSL Stylesheets.
Some of the key features are:
- On the fly transformation and validation
- Syntax highlighting
- Code Completion
- XSLT template browser
- Simple XPath builder
- Plug-able XSLT transformer
- Output in XHTML, plain text, PDF...
- Find with regular expression support
- XML tree view or plain text view
The GUI is kept simple and usable. Unlike other IDEs written in Java, Treebeard is quite fast (at least on Windows XP) and seems perfect to develop XSL Stylesheets.
09.11.03
How to run multiple versions of IE [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 21:57:42
mezzoblue reports a tutorial by Joe Maddalone on how to setup multiple IE versions to run within the same Windows installation.
Could be pretty interesting to be able to test websites in old IE 4.x, 5.5 and 6 versions without the need of multiple machines.
Could be pretty interesting to be able to test websites in old IE 4.x, 5.5 and 6 versions without the need of multiple machines.
03.10.03
Alpha version of Bitfluxeditor online [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 20:22:14
A "sneak preview" of the latest development version of bitflux editor has been made available by the people at bitflux.
The bitflux editor is a fully standards compliant online WYSIWYG XML editor. It allows to edit any kind of styled XML documents in a WYSIWYG way within a mozilla based browser.
The new version includes a new architecture, more intuitive user interface and is by far more performant, although it still has some bugs since it's in the alpha state.
The bitflux editor is a fully standards compliant online WYSIWYG XML editor. It allows to edit any kind of styled XML documents in a WYSIWYG way within a mozilla based browser.
The new version includes a new architecture, more intuitive user interface and is by far more performant, although it still has some bugs since it's in the alpha state.
01.10.03
DBDesigner is a very powerful entity relationship design tool for MySQL databases.
Its cool features include: Model to database synchronisation, reverse engineering of MySQL, MSSQL and ODBC databases, storage of the model and model version history in the database itself...
Besides the fact that it is open source, DBDesigner comes with a plugin interface which allows for easy development of custom add-ons.
DBDesigner is written in Delphi/Kylix and supports Windows and Linux platforms.
Its cool features include: Model to database synchronisation, reverse engineering of MySQL, MSSQL and ODBC databases, storage of the model and model version history in the database itself...
Besides the fact that it is open source, DBDesigner comes with a plugin interface which allows for easy development of custom add-ons.
DBDesigner is written in Delphi/Kylix and supports Windows and Linux platforms.
28.09.03
Mapforce 2004 - WYSIWYG data mapping [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 19:47:07
Altova releases Mapforce 2004 a new XML data mapping software.
The application allows to visually map distinct XML sources or an XML source and a database to each other, while it creates the according XSL stylesheets, Java, C++ or C# code which will be able to convert the data like the user defined it.
I believe such an application would save a lot of time when it comes data migration or to the creation of an XML interface for a database driven product.
Sadly enough this cool piece of software isn't open source.
The application allows to visually map distinct XML sources or an XML source and a database to each other, while it creates the according XSL stylesheets, Java, C++ or C# code which will be able to convert the data like the user defined it.
I believe such an application would save a lot of time when it comes data migration or to the creation of an XML interface for a database driven product.
Sadly enough this cool piece of software isn't open source.
25.09.03
Chaperon - Structured text to XML converter [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 18:45:03
Chaperon allows to easily convert structured text of any kind (non-XML) into XML. This can be useful when migrating systems or to re-use legacy data. Structured text could be TeX files, config files, java files or any other form of structured text.
More precisely:
More precisely:
Chaperon is a lexical scanner, a parser generator, a parser, a tree builder and an XML generator all in one package. Chaperon can parse structured text using a grammar and then generate an XML representation of the parsed text, so it is easy to use Chaperon as a converter for text files.
23.09.03
ONLamp.com has a very interesting article about how to use Kerberos to achieve Single-Sign-On for Windows users accessing Apache-driven web-applications.
04.09.03
30.08.03
Automated web-application testing [Web development] -
jmk < jmk NOSPAM at ginkeo DOT com > @ 12:12:50
HttpUnit is a very interesting open source web-application testing framework written in Java.
It allows to test web applications using simple by writing simple Java test code for them. The Cookbook shows how simple it is to write tests for HttpUnit
The following HTML elements are supported:
A nice tutorial showing how to use HttpUnit with a real life application is also provided (the application used in the tutorial is a sports betting tool with administration and user interfaces).
It allows to test web applications using simple by writing simple Java test code for them. The Cookbook shows how simple it is to write tests for HttpUnit
The following HTML elements are supported:
- Links
- Tables
- Forms
- Frames
- Basic Javascript and DOM support
A nice tutorial showing how to use HttpUnit with a real life application is also provided (the application used in the tutorial is a sports betting tool with administration and user interfaces).
07.08.03
Beate just pointed out a very cool browser-independent javascript calendar widget.
It is really nice and easy to integrate. Big thanks to the author!
It is really nice and easy to integrate. Big thanks to the author!