thoughts
About this site
2004-10-27 modified: 2005-07-26
Although there's a lot that still needs to be done, I've put my new site online. Mostly because I finished my new piece, but also because the CMS in the background is so much easier to manage and most of all: I like the design better (that's the primary reason for redesigning anyway, isn't it?).
There's still things that need to be done, but it's almost all background work. Some features will be added in the near future, like a little search, grouping of articles and artwork by release date and so on.
The site is built in HTML 4.01, as there is no reason for me to change to XHTML. Internet Explorer doesn't support it anyway. I might do a little content negotiation in the future to serve XHTML to real browsers and HTML to Internet Explorer. I'm planning on serving some RSS/atom channels, and this is done a lot easier when working with XHTML serverside.
On this site all links open in the same window, because I think users should decide for themselves whether they want to open a page in a new window (people share this opinion). This is easily done by pressing shift while clicking a link (press ctrl to open an new tab in Firefox). In supporting browsers, a little arrow (
) is displayed in case the link leads to an external site.
Speaking of it: in supporting browsers you might find a lot more CSS eyecandy, which is just not supported by IE (unless with some javascript, like Dean Edwards' IE7 which I do not consider using)
Update 2004-11-03
XHTML is now done. I work with XHTML on the server and also serve that directly to supporting browsers. Browsers that can not handle the application/xhtml+xml mime type are served text/html and html 4.01
Update 2004-11-12
I added a little CSS trick for generated content supported browsers. I add a little content in the top part of a <pre> element, which contains the class attribute's content. The class "bad" shows a red border. This way I can display any language by simply specifying the class accordingly, e.g. "php" or "bad CSS".
Update 2004-11-25
While reading and participating in this (Dutch) thread about the function of the hr element (it started about how to add styles to the element that work on all browsers), it occurred to me that my they were missing on my own site, so I added them.
For those interested in the function of hr: it is meant to be a divider of content, it indicates that the content before and after it are less bound than without. Speechbrowsers might pause a while before proceding. Typical application is seperation of navigation and content and of content and legal bogus at the bottom of the site (as I did). I've hidden hr in my CSS styled pages, because visual seperation is already evident. On textbased browsers, you probably realise the function best.
Update 2004-12-02
I added the possibility to comment to all pages. You can not use HTML and linebreaks are not yet converted to paragraphs, but this will be fixed in the near future, so do not hesitate to use them.
Furthermore, images with descriptions have been changed to dl's, I might change them again however.
Update 2004-12-03
I stopped using CSS hacks in my stylesheets (in fact there were only two: a _width and a _height property), Everything that needs to be fixed is set in a seperate IE-only stylesheet. The reference is enclosed in conditional comments, so it is only parsed by IE.
Oh, and linebreaks in comment are now indeed converted to paragraphs. Fixed some validation errors too (shame on me...).
Update 2004-12-15
I changed the way "external" icons (
) are displayed. I previously used the rel attribute to discriminate between internal and external (and other) links. This trick still works, but is no longer the only method. I now check the href attribute, if it contains my domain, it does not display an icon, otherwise it does: (note this is CSS 3 and the rel attribute is still a good thing)
/* give each absolute path an external icon */
a[href^="http:"]:after {content: ' ' url('images/link_external.gif')}
/* but not those in my domain */
a[href^="http://www.rikkertkoppes.com"]:after {display: none}
Furthermore, I now generate these icons by adding content, not by displaying a background image.
Update 2004-12-26
There have been some small updates during the last 2 weeks. I added a date window on top op each page, which indicates what article(s) you are viewing. In supporting browsers this is expandable, so you can easily select various date windows. Furthermore, at the bottom of each page (above the comment section), there is a red bar with a white arrow in the middle. This grants you easy access to the next broader date window (from a specific day to the corresponding month, to the corresponding year, to everything).
There have also been some (very) small layout changes, changed some margins here and there, but no big things.
Update 2004-01-05
I've done some tweaking at the backend, not visible for you, but very helpful for me. I used to insert the contents of a textfield directly in the database (after mysql escaping), so I had to type xhtml in the articles' content textarea. This is not a big problem, except when entering source code, which meant I had to type < and > everywhere, which is quite a nuisance.
I solved this by introducing a tag indicating the <'s and >'s in the code should be converted to htmlentities. I could have used UBB like tags (like [pre]..[/pre]), but I chose to use XML syntax in my own namespace <rk:htmlent> (which is quite useless, because nothing is done with it being XML, processing is done by PHP's preg_replace_callback). Everything in that element is processed.
Update 2004-01-12
I've added the possibility to use more descriptive URI's for articles, after all this is much more descriptive in the first place and easier to remember in the second. This page for example is now referred to as http://www.rikkertkoppes.com/thoughts/about-site.
Of course the old URI's (the ones with a datestamp) still work and can still be used for selecting broader date windows. For example http://www.rikkertkoppes.com/news/2005/1 returns all news articles of January 2005.
Update 2004-01-14
After reading this reference on link bars, I've done some efford to improve links on my site. Navigating by means of this bar is now possible in an intuitive way.

- Example of Firefox' linkbar
Update 2005-02-05
I am now able to show you formula's (in IE (with Mathplayer), Mozilla and Firefox that is) in MathML. Equations are authored in TeX and transformed to MathML on the server for browsers that support XHTML. HTML browsers are served the raw TeX code (which is quite readable as well). This is done using with Steven Chan's AsciiMathPHP script, which converts TeX code to MathML. As an example: Maxwell's equations, be sure to check it in IE too:
`{
(vec grad * vec E = rho/epsilon),
(vec nabla times vec E = -(partial vec B) / (partial t)),
(vec nabla * vec B = 0),
(vec nabla times vec B = mu vec J + mu epsilon (partial vec E) / (partial t))
:}`
(1)
If anyone knows a way to pick out XHTML supporting browsers which do not support MathML (opera), please let me know.
Changed this
I now serve raw TeX in a pre element to every browser. Converting to MathML is done with Peter Jispen's ASCIIMathML which dynamically generates MathML on the client. Browsers that do not support MathML or Javascript show the original TeX. Also see my writings on authoring MathML.
Update 2005-02-22
Fixed a little bug concerning the date window at the top of the page. Since I got no complains about it, I guess no one ever noticed.
Update 2005-04-03
Shifted all headers, as I said I would and added a flag div. Furthermore I changed the order in which articles appear on the overview pages. They now sort on modified date instead of creation date.
Update 2005-05-02
I added a backtracking system. Links to sites that link to my articles are now shown below the articles in order to provide the reader with more relevant information.
I also try to substract language information from the referring site. If this is found, it is added after the link and added as an attribute to the list item containing the site's title. If no language information is found, an empty lang attribute is added, to indicate that I do not know the language of the phrase. This breakes validation however, but there is no other way that I know of to indicate an unknown language. Since it's value is inherited throughout the document, omitting it would indicate it as being english.
Update 2005-05-14
Because the main load of hits come from google, I grouped them together. In browser that support :hover on li elements, an expandable list of google search queries shows on hovering.
Update 2005-06-23
I found out there's a UTF-8 character for my asterisk logo: ✤ (U+2724), so I put it in my page title for fun. As a bonus it'll probably make my site pop out in search engine results.
Update 2005-06-26
The backtracking system caused false search results in searchengines. This occurred because keywords of prior searchqueries appeared in my lists. These keywords (whether appropriate or not) got indexed again by bots and falsly related to the contents of my pages. Since there is no way to exclude parts of pages from being indexed by HTML, I used a user-agent sniffer to exclude that data from searchengines.
Update 2005-07-26
I could have seen it coming ofcouse, the backtracking list kept growing and growing, so I counted the number of hits from a foreign domain, added this number after the link, sorted the list in that order and chopped it off at 15 links. Furthermore I trimmed large titles a bit to fit on one line.
I also set up an undressed version of my site, with no styles, scripts, images and source code formatting. This saves a lot of bandwith and is intended for mobile and textbrowser users. This was all inspired by this article by Mike Davidson. This version can be found at http://mobile.rikkertkoppes.com.
Additional resources (top 15)
Below is a list of additional resources that might contain extra information about the subject at hand. These are all sites linking to this one (i.e. backtracking).
