RSS Element,demiblog Class,Language,Link,Title,Description channel,,en_GB,http://tobyinkster.co.uk/tag/demiblog/,"Articles Tagged with ""Demiblog""", item,B,en_GB,http://tobyinkster.co.uk/blog/2008/03/09/sw/,09/03/2008: The Semantic Web,"
One of my current interests is the semantic web — that is, the push to move from publishing text on the Web to publishing structured data, which can actually be understood by computers (in so far as a computer can truly “understand” anything). By publishing information so that computers can understand it, you make the Web into a huge mine of interconnected data, free to be queried by everyone.
As an example of what I mean, searching for the keyword “train” on Google brings up results related to:
In the semantic web, the search engine and my computer would inherently understand the difference between these concepts, so if I wanted to know about the new Train album, I wouldn’t get any result related to locomotives!
What I’m particularly interested in is ways of embedding semantic data in ordinary web pages, so that we have a single web that can be…
" item,B,en_GB,http://tobyinkster.co.uk/blog/2008/01/09/x-blog-name/,09/01/2008: X-Blog-Name,"OK, so the Trackback specification includes the ability for a pinging page to specify its article title and blog name when it sends a trackback ping. However, these fields are optional. When not present, typically the recipient of the ping will then make an HTTP request back to the pinger to determine the article title from the page’s <title> element. But there is no standardised way of determining the blog name — or more generically, because Trackback can be used by sites other than blogs — the name of the “collection of web pages”.
The following informal specification suggests a method of determining the name of the collection of documents to which a given HTML document belongs. It also provides a clear way for you to mark your own HTML documents as being part of a particular collection.
Attempt to find the name of the collection…
" item,B,en_GB,http://tobyinkster.co.uk/blog/2007/11/28/spamming-idiots/,28/11/2007: Attention Spammers!,"I get probably about 10 to 20 spam comments left on this blog every day. However, nobody ever sees them because, firstly, the most obvious spams are automatically filtered out using content scanning and IP blacklists, and secondly, the remaining messages are checked by a human moderator (i.e. me) before they appear on the site.
So spammers, your comment spam will never be seen. It’s a waste of your time and mine.
" item,B,en_GB,http://tobyinkster.co.uk/blog/2007/08/12/php-debugging-with-style/,12/08/2007: PHP Debugging with Style -OR- How I Learned to Stop Worrying and Love the Bug,"PHP lets you define your own error handler, so I decided to get a bit fancy. MegaErrorHandler (MEH) outputs its errors as specially-formatted HTML comments, with the details of the error encoded using JSON.
A small client-side script, with an associated stylesheet then pulls this data out of the comments and formats it as a nice little interactive bug-viewing console, allowing you to view a stack trace for each bug, inspect superglobals, view the syntax-highlighted source code for the file where the error occurred, check the list of defined constants and other useful things…
" item,B,en_GB,http://tobyinkster.co.uk/blog/2007/07/29/demiblog-0.2.2/,29/07/2007: demiblog 0.2.2 Released,"I don’t normally announce point-releases of demiblog, but I felt that demiblog 0.2.2 was worth an announcement because:
It’s available in the subversion repository.
" item,B,en_GB,http://tobyinkster.co.uk/blog/2007/06/28/demiblog-0.2.0/,28/06/2007: demiblog 0.2.0 Released,"demiblog 0.2.0 is now ready for public consumption. Although I do use it on my own website, I still wouldn’t recommend it for use on live, production sites. It’s good for playing with though.
The big new feature is support for MySQL 5 as a backend database — worry ye not, as PostgreSQL is still supported (and recommended)! Also new is official support for Mac OS X as a server platform — I recommend using MAMP for a fully integrated Mac server solution. It still supports Linux of course, which will continue to be the primary target platform. (Windows support is planned too.)
Moving on to the front end, photos and photoblogging are now partly supported. It is possible to designate particular tags as “galleries”. When these tags are viewed, a thumbnail will be displayed for each article instead of a summary. There is also preliminary support for calendars. Again, a calendar is just a special form of tag. Each event is a special type of article. Thus an event can exist in multiple…
" item,B,en_GB,http://tobyinkster.co.uk/blog/2007/06/22/demiblog-typography/,22/06/2007: Typography in demiblog,"I’ve said it already, and I’ll say it again: typography is a very important and oft-neglected aspect of web design. demiblog is my CMS; although great typography requires the conscious effort of the author/typesetter, and can’t be handled automatically by a CMS, there are certainly steps a CMS can take to ease the burden on its users; in this article I’ll outline some of demiblog’s features that help typography.
Let’s start with the most suprious of features. In printing, it is common to mark a break in the flow by a centred paragraph consisting of just three asterisks (* * *).
If you create a paragraph in demiblog which consists of just three asterisks and no spaces in between then demiblog will detect this as a dividing mark and can be configured to replace it with a different dividing mark. This can be something as dull as an HTML <hr> tag, which adds a bevelled…
URL design is important. For this reason I’ve put a lot of thought into the URLs used by demiblog.
demiblog has a PHP object SiteURLSpace that maps between URLs and data queries. This means that demiblog’s URLs don’t necessarily have to bear much resemblence to its code structure. It’s also pretty easy to completely replace the object, and thus restructure demiblog’s URL space. (Except for a few cases like feeds and enclosures.)
Firstly, demiblog can be installed anywhere on your server. If your domain name is example.com, then you could theoretically give demiblog URLs like any of these:
This makes it easy to have demiblog power your whole site, or just a part of it.
Now let’s look at some of the URLs within demiblog…
demiblog articles may be tagged. This is a loose form of…
" item,B,en_GB,http://tobyinkster.co.uk/blog/2007/05/10/exif/,10/05/2007: EXIF is Cool,"If you’re not aware of EXIF, here’s what it is:
EXIF stands for Exchangeable Image File Format, and is a standard for storing interchange information in image files, especially those using JPEG compression. Most digital cameras now use the EXIF format.
That is, many images, including most of the JPEGs you get off modern digital cameras include a huge barrage of interesting information about the picture, such as:
Pretty nifty, eh? But how to get all this information out? Well, PHP offers some fairly good EXIF functions. I rather like Masahide Kanzaki’s EXIF2RDF tool and am happy to announce that version 0.2.0 of demiblog will include a version of this for its photoblogging functionality. demiblog is very focused on providing good metadata, and EXIF2RDF will help the photoblogging parts to keep their end of the bargain!
" item,B,en_GB,http://tobyinkster.co.uk/blog/2007/05/03/mysql-wtf/,03/05/2007: MySQL WTF?!,"I’m currently in the process of extending demiblog’s database support. Version 0.1.0 only supports PostgreSQL, but I plan on also supporting MySQL in the next release, and a few other databases further down the line.
Because this cross-database support had always been planned, I’ve been very careful in writing my SQL to make sure that only standards-compliant syntax is used, and there are no proprietary PostgreSQL extensions.
I always knew that I’d have to adjust my SQL slightly to get it to run on other databases, but the amount of changes needed to port a seemingly simple SQL script with less than 300 lines to MySQL was astounding! Although a few of the adjustments were needed to account for SQL features that MySQL simply doesn’t yet support, the majority were to take into account several of MySQL’s seemingly-gratuitous bastardisations of the standard SQL syntax.
MySQL, how do I hate you, let me count the…
" item,B,en_GB,http://tobyinkster.co.uk/blog/2007/05/01/demiblog-0.1.0/,01/05/2007: demiblog 0.1.0 Released!,"I’ve been working on it all evening, putting on the finishing touches, and finally demiblog 0.1.0 is ready for the world. I wouldn’t recommend it for use on live, production sites at the moment (although I have been using it here for nearly 4 weeks).
Features:
At last, my new CMS is at a stage when I’m able to actually start publishing with it. Now that I have an easy-ish tool to publish with, you can expect that this website will be updated more frequently and with more and better content.
Updating this website in the past has been a major pain. I took a look at installing an off-the-shelf blogging engine to help me run the site, and after much research decided that Wordpress was the best of breed. After two days playing with it, I abandoned it — it didn’t do everything I wanted out of a blogging engine, and the mess of PHP code would have made modifications to Wordpress painful.
And so in early 2006, I decided to embark upon my own blogging engine. I posted my initial ideas to Usenet in February 2006 and asked for feedback. I got a few useful suggestions and started development later that month, calling the project…
" item,B,en_GB,http://tobyinkster.co.uk/blog/2007/02/27/php-backcompat/,27/02/2007: PHP4 vs PHP5 [was Re: Extending the mysqli class],"Michael Fesser wrote:
My scripts make use of many of the new OOP features in PHP 5, so they won’t run at all on PHP 4.
Ditto.
My current big pet project is http://demiblog.org/. This is PHP 5+ only and supports MySQL 5+ and PostgreSQL 8+. Although I do realise that earlier versions of these packages are still quite widely used out there, this project probably won’t hit the big 1.0 for another year or two, by which time, the hosting world will have probably moved on a lot. Supporting older versions of PHP and the database engines will cost development time and push back the project release date even later, by which time PHP 4 support will be even less relevant.
So although PHP 4 may still be alive right now, it’s counting down the days to his retirement when it can hand over the family business to his son PHP 5. He’s heard the happy news that his dranddaughter PHP 6 is planning on following in their footsteps too as soon as she graduates. Because of PHP 4’s impending retirements, he’s not taking on…
" item,A,en_GB,http://tobyinkster.co.uk/article/demiblog-old/,DemiBlog,"====It is somewhere between a blog and a traditional web site. This site is powered by DemiBlog. It is released under the GNU GPL.