Rick's b.log2 - version log
- Tweaked the image watermarker not to apply the watermark to any image prior to 2013/04/29. This is because later images have a mechanism to not apply the watermarking to images that are not my own creations (TV screengrabs and the like), but earlier images don't have any distinction.
I mean, I had meant to go through and sort that out, but given it's summer 2018 now (five years later), I think it's clear that I'm just not going to have the time to get around to it, so... it's simpler just to not watermark anything prior to the date.
Why watermark? Well, on one hand we have the EU courts ruling that ripping off photos is copyright infringement, and on the other hand we have the UK pushing through a half-assed "orphaned works" law in order to have one in place before the new EU copyright provisions (meaning existing laws can still apply). Well, uh... they both take rather the opposite approach to "orphaned" works, with orphan being described as "with copyright data stripped" and when such stripping happens habitually as a matter of course (because there's precious little software around that seems capable of altering/tweaking an image without discarding all of the metadata), it's... a conundrum.
My watermarking, by the way, is not because I'm worried about people ripping off my photos (photos of what? an anyway the web versions are 680px max), it's more a statement against idiotic laws.
- BTW, FWIW I have been ripped off. There was a time, back around 2000ish, that one could find my entire ARM programming tutorials (complete with that crappy imagemap) in HTML, in RTF, and once even in Windows Help format. Most of this incarnations had my attribution (at the bottom of every page) removed. One even carried the copyright of some gibberish Chinese (Google Translate didn't exist back then). You might find some of this stuff kicking around in dusty corners.
To be honest, what annoyed me wasn't yanking the data off of my website - actually, the Windows help version wasn't a bad idea, and the more people that can benefit from the information, the better. No, it was removing the attribution that annoyed. They could have at least have given me a nod, given that whoever it was that grabbed the info will have known its origin...
Oh, and Diary Of A Hacker got lifted too. Kind of ironic given that it was a bit rubbish. ☺
There's probably more stuff I'm not aware of... The right-click-Share behaviour of Web 2.x makes it quite easy to download stuff to recycle and reuse.
- Blog desktop view is now declared as UTF-8. This is so if somebody includes emoji in comments, it will appear like "𖼂" instead of like "ðŸ˜‚".
I use named entities for the accented characters and the like, so the use of ISO 8859-1 is historical (as that is what RISC OS uses) and broken anyway because of W3C telling everybody to treat 8859-1 as CP-1252 thanks to legions of Windows users too stupid to know the difference... :-/
But, anyway, since I use entities, the actual declared character set doesn't matter much, and doing it like this works better for browsers too stupid to understand that spitting UTF-8 to a site declaring itself as 8859-1 is probably less than intelligent...
- Now accepts the parameter "siba" in place of the "diary=yyyymmdd". If this exists (doesn't need to be set to any specific value), the script will display a page listing the SIBA stories, with standard blog formatting all around (both desktop and mobile styling).
- Fixed broken markup in right sidebar - missing '</a>' tags in the spotlight entries just under the calendar, and an errant '</ul>' under the Thank you list (it was a ul list, but behaved better when done as a fixed-indent list).
- Amended the calendar creator and the last-five generator and the next-entry link to all contain "&keitai=0" in the link if this was specified in the original URL. This means that a user should be able to switch out of mobile mode on a mobile device, and have that option 'stick' for general navigation of the blog...
- The little loved podcast player (I think there are only four spoken entries in total) has been changed to use an HTML5 audio player instead of the Flash thingy it used to use. Tested on Firefox on Windows XP, Firefox on Android 7, Chrome on Android 7, and Safari on iOS 7.
- Mobile view image resizer now works correctly with GIF images. I don't use GIFs much myself, however full screen RISC OS screenshots are converted to GIF using !InterGIF. I don't have software to make PNGs under RISC OS, and my Windows photo editor doesn't touch GIFs (due to the licencing issues of the late '90s).
- Numerous small changes to support a more intelligent HTTP/HTTPS option.
- Coming via /blog/ will redirect you to HTTPS.
- You can override this (force HTTP) by suffixing ?nossl.
- Direct links to an entry (with ?diary=yyyymmdd) will be SSL or not depending on whether you access via HTTP or via HTTPS.
- The links within the blog will be HTTP or HTTPS according to the access method chosen.
- Accessing via HTTP will put a small 'nag' at the top of the screen with a link to the HTTPS version. Click it or not as you wish.
- Transition to HTTPS. I hope I've tweaked all the scripts correctly.
- Later on, I'll fiddle the script so that it'll correctly keep you on http or https depending upon how you come here.
- I do not plan to always kick you over to https (there's a ranty reason why, I'll explain later). If you come without an entry date, the auto-redirection will take you to encrypted. Always. However if you come with a ?diary=yyyymmdd date, you can choose http or https. Currently the links within the document are always https as this is the best way of doing it, but there are reasons why you might want to remain on an unencrypted channel. Three letters: KFC.
- Many thanks to Rob for sorting this out amazingly quickly, and Let's Encrypt for providing free certificates.
- Tweaked the Konami egg so it can also double up as a "night reader" mode.
If you don't know the Konami code, let Rikka be your guide.
- Restored normal operations.
- Following the attack on the freedom and liberty of being able to think things that others may find offensive, I have changed the blog to be monochrome except for the little thumbnails of the slain satirical cartoonists (pictured top left where my ugly mug used to be). Everything else (except error messages) is in monochrome. Even all of the pictures.
- Noticed the RSS valid image was broken (had a black bit on the right). As it was true colour with transparency, it is possible that the watermarking caused this. Doesn't matter, I recreated it as a paletted PNG with transparency. Looks the same but it's half the size. ☺
- Changed the "Last 5 entries" to be "Last 10 entries" for the duration of December 2014 (and my "blog post a day for a whole month" - eek!).
- Added link to YouTube advent calendar playlist just below the calendar.
- There was an obscure bugette with the watermarking that was causing problems with the PNG images. So I fixed this, and now the RSS logo reappears where it ought to be.
- The damaged "etc" icon in the right column has been replaced with a good copy.
- Speaking of icons, the "Navi:" text in mobile mode no longer carries with it its black (!) background. Now it is correctly transparent.
- I have reverted to an older style of table code (tr/td instead of caption) for the calendar title - now it renders correctly on the RISC OS version of NetSurf.
- The problem where trying to search when in mobile mode thought you were trying to add a comment... fixed.
- Margin removed from title top, as it was appearing too small. Go figure...
- Removed iPad from the Keitai list, so it will receive the full version and not the mobile version.
If you have another mobile device that can support full screen operation - please send me a screenshot (or photo) of the device in the desktop mode (click on ), and also tell me what the User-Agent says. You can find that out at http://whatsmyuseragent.com/.
- Added implicit caching controls. 14 days for blog entries, twelve hours for indexes.
- Removed a spurious paragraph marker where one shouldn't have been.
- Made yellow margins (top/bottom) a pixel taller. Now 2 pixels instead of one.
- Added a negative bottom margin to the title table to close up an unwanted (and seemingly illogical?) gap between the top title and the top of the content. Works as expected with Firefox 3.6.27, Opera 9, stock Android browser (Android 2.4.6), and Firefox 20.0 for Android.
Does not work as expected with MSIE 8. Given that IE8's behaviour is at odds with the other mainstream browsers, don't expect a fix.
- On the RISC OS front, NetSurf 2.7 is mostly correct but doesn't seem to obey margin specifiers. Still. NetSurf has developed since then, so I'll need to install and try the later v3.x.
- All images over 300×300 carry an embedded watermark. This is done at server level (not blog script level) so it cannot be worked around.
- There's a new red box (subtle, huh?) on the right pane that links to an explanation of what this is about.
- Removed Google Person Finder from the right column (no longer active).
- Added links to JRC (Japanese Red Cross) to see what they have been doing; and also for direct donations (as French/British Red Cross no longer have donations for Japan; Hurricane Sandy and the hellish mess in Syria are on the agenda now).
- Commenting introduced for mobile users. 'bout bloody time!
- Comment help updated.
- Ripped out GeoLoc; server changes mean way of loading remote URLs is not supported. For now it'll just report when the entry was last read, and not where that person is.
- Mobile-view proper. Finally!
- Testing with having images smaller than the cutoff size auto-reduced by 50%, so text will reflow sort-of logically around insert images on mobile devices. I'll play around, see what I think of the layouts...
- Fixed up some missing stuff in the mobile view. Corrected a few bugs.
- Added detection for... Android, Blackberry, Opera Mini/Mobi, iPad/iPhone/iPod, Palm OS, Symbian, Windows Mobile, Kindle, and also Mobile, Pocket, Smartphone to catch some others.
- Image scaling tweaked to 308 pixels, which is a 320px viewport with 6px margin either side (for scrollbars, etc). This works well on my Android phone (354px, as it was, did not!).
- I believe my phone can do a 480px viewport (more in landscape mode), however it seems from my investigation that 320px is the de facto best choice, without trying to locate and read mobile RDF descriptions on the fly for custom formatting. 320px looks good, so 320px it will stay for now.
- All of this folded into the main blog code.
2011/10/27 - dev
These features are only in the development version, they have yet to be folded into the main b.log code.
- Now uses mobile selector to choose which resource set to load. This gives flexibility to modify the layout specifically for mobile devices - I suspect I might try to auto-generate a simple calendar 'image' to replace the table...
- Ditto for the CSS.
- No longer auto-provides the last entry if no date is specified. It will have the same behaviour, but it will do so by forcing a hard-redirect to the content with a date. This should make it clearer that undated entries should not be linked to or indexed in search engines.
- Began work on support for a mobile version. The idea is instead of having a sprawling layout with side bars and such, to be a lot more restrained. Here's a screenshot of Amazon's mobile site, which is quite pleasing to use on a mobile:
- The mobile version does not, as yet, detect mobile devices. You can force it by setting the parameter "keitai" to be '1'. Keitai, for what it is worth, is Japanese for "mobile". ☺
Here's a link to make it easier: http://www.heyrick.co.uk/blog/?keitai=1
- At this time, all images larger than 354 pixels width will be scaled down to be 354 pixels.
- All images will be converted to JPEG with a 60% quality setting. This means the visual quality will be less impressive, but it'll be quick to download, especially on slower (EDGE, WAP, etc) networks.
- No longer records User Agent strings. There doesn't seem much point when awstats does it better...
- Added a little QR code easter egg.
- Some internal tidying of code and rationalisation for alternative (dev) versions.
- Added browser/OS popularity links. This is not as returned by awstats, there's a script that fetches the page and processes it before display (mostly to botch the graphics links out of the original HTTPS domain as my site does not have a security certificate and your browser would complain, a lot).
- GeoLoc retrieval method altered because new host blocks fopen() accessing external sites (good security measure, that!).
- Numerous changes to aid program/logic flow and internal tidy-ups.
- Caching control relaxed for entries by given date.
- Following a number of printouts I have which hold neither the URL nor the date, plus since moving away from IE, the URL is no longer 'embedded' in the saved HTML file, I have modified my b.log code so just underneath the copyright message is the complete URL of the document, plus when you retrieved it.
If you are using a modern standards-compliant browser, you will not see this as you browse the site. It is only intended to be visible on printouts...
- Spent much of today doing a big rewrite. Lots of changes. It is still a largely monolithic piece of code, but it is better than it was before. And there have been some changes outwardly visible...
- Reorganisation of the right-hand panel. Promoted most recent entries, and demoted search (hardly ever used
:-( ), and added HTML4.01/CSS validation flags.
Note many pages will NOT validate 100% due to deftitle and deftag; I could retrofit comment markers around it for every page, but there's little point as it makes not one iota of difference to the browsers. So I'll call it HTML 4.01 (loose) compliant. If anybody argues...
- Podcast/audio links are given as text ("audio available") in the calendar pop-ups, and as little speaker icons in the summary list.
- You can now ask for a summary of every entry written.
- Numerous tweaks to the style sheets, for full CSS validation. The validator doesn't seem to like some named colours ("cyan") while being quite happy with others ("yellow"), so now it is all hex values and God help us if this needs to be changed later on. Nothing says darkgreen quite like #006400, don't you think?
- Style sheet expanded for a special printout mode. When printing, you want the goodies without the crap. Especially the crap designed purely for navigation which serves no purpose in a printout, and has an ink-consuming background.
- The title is rendered as black text on white (except the 日本語 one which is an image, hit refresh...).
- The ID thing (upper right: you are w.x.y.z, pleased to meet you!) is omitted.
- The entire right panel is omitted. All of it.
- The comment explanation and the comment write-a-comment form are omitted; but comments themselves remain.
- Fixed quirk that made the search form not work. Not that anybody actually ever uses it... :-(
- Various small changes to pass HTML 4.01 loose (non-frameset) validation; plus a positional change for a quirk in
Opera (img "absbottom" is different in Opera than IE8 and Firefox).
- Added "last five entries" to the right-side panel.
- Various small changes to the layout and styles.
I wanted to make this document HTML 4.01 strict compliant to work in standards mode instead of the
current Quirks mode (which is not entirely the same on all browsers); but this means fully
While I am not against this in principle, I am not happy with the way the site would then render on
non-CSS capable browsers. There is no "font", "bgcolor" and such. It is all handled quite nicely by
CSS. As for incapable browsers... um... welcome to HTML 2.0!
Thus, if it looks slightly different on the various browsers, so be it. I'm aiming for widest
support, not best compliance.
- There is some news, however. I will no longer be testing any part of my site using IE.
I will recant my decision if somebody can give me a reason to support IE. And I mean, a
better reason than "I still use it!".
- IE6 has finally been laid to rest, though numerous companies are still stuck with it as
certain custom software only works specifically with IE6. It isn't just a situation
that IE is the only browser to handle ActiveX objects, but also IE6 has so many standards
quirks that it is not always possible to update.
- Certain governments advise against using IE. Some say dump IE6, some say dump IE.
- IE8 on my machine takes several times longer to do anything than my habitual
browser, Firefox. The only thing IE8 does quickly is load, but given the integration
between OS and IE, it is hardly a fair comparison.
- Try installing IE6 and IE8 on the same machine and switching between them. Oh, wait,
- Given that XP is a huge market share of internet use, even today, it seems to
be incredible that Microsoft announce that IE9 will use special Direct2D GPU-assisted
graphics acceleration. And because of this, it'll not work on anything pre-Vista.
Like XP. Gun meet foot...
- Microsoft claimed that they want to embrace standards, like HTML5 etc, but they wish
to downplay the significance of the Acid3 test. This is probably because IE8 scores
a truly pathetic 20%. Current builds of IE9 are reported to be around the 50% mark.
Other browsers are typically in the mid-to-high 90s or a full 100%.
- If a region is not available, GeoLoc will no longer say:
b.log last read at 12:34 on 2010/03/21 by somebody in (France).
It will now say:
b.log last read at 12:34 on 2010/03/21 by somebody in France.
- Added a little "easter egg" where every so often (it is random), the "Rick's b.log text is displayed using various
Japanese characters, like this:
- Search now linked to site look'n'feel.
Matches now show formatted date (yyyy/mm/dd).
The title description is also now shown.
The excerpt has the search term highlighted in bold uppercase.
- Search is still NOT sorted - I'll need to read all the file names into an array, sort, and read back out. Later.
Search can be 'funny' if you do daft things, like search for 'a'.
Searching for punctuation generally doesn't work. This is not so much a bug as an implementation issue.
Searching searches the entries data, so will not include user-added comments. This is not a bug.
- Added on-screen trap for people who try to add extra parameters. There ARE no extra parameters, don't waste time looking (though, to be honest, it looks like 'bots throwing a list of known-vulns at detected php files).
- Pre-alpha of the search script. It is grotty, it is not at all integrated with the b.log look'n'feel (I began coding it an hour ago...), but it may be useful to people?
Just don't expect too much - it reads entries, strips HTML, looks to see if there are any matches for the supplied content. Oh, and it is very literal so if you search for "the the the" then you'll see pretty much every page listed three times.
That said, the methodology of the search is unlikely to change much now; if you want fancy you should Google. This is just a way to look for phrases without "guestimates".
- IMPORTANT! The search does NOT (yet? ever?) support quotes. You cannot look for risc os as you'll get every 'os' word listed, like dross or cosmos. Search for something more specific (in this case, RISC) and use the mini-preview text to pick the useful entries.
- This log switched to list most recent entries first, so new stuff will be at the top where you'll see it easily.
- Added a CYAN marker in the calendar for spoken entries.
The "current" entry will always be yellow, but there will also by cyan for audio-assisted ones.
- Updated the older MP3 files with the b.log2 URLs.
- Now supports the NiftyPlayer for MP3 podcasts.
You can see this in action here and here.
More podcast versions to come...
- Fixed the auto-converted older entries so they didn't monumentally screw up
<pre> formatted text.
- Added code to attempt to block my site appearing in other people's frames. This might affect Google/Yahoo image searching,
but it is mainly for people who create framed sites and don't bother validating their off-site links to ensure it correctly
discards the frames (otherwise my entire site would load into the current frame!).
- Checked through all the older entries to ensure they look correct.
- Potential vulnerability closed. It may have been possible to inject PHP scripting into various support files which would then be executed as the page is created.
I say "may" because the file type used is not one that Apache understands as containing script, so the scripting was ignored (but on my off-line copy and on the live server); however that is no justification for a potential gotcha... consider the door slammed in its face.
- The "you're a bot" message moved to a separate file. Easier than a heap of echo statements!
- Separation line added after each comment.
- Comment system changed to support the use of 'real' newlines.
- Comment code now uses server name, so no more screwups like local server sending comment tests to the live server. :-)
- Local server now moved to
/blog path in prep. for autoconversion of older entries.
Just gotta write some code to deal with that...
- Older entries converted (largely by software). Every one has a comment section now (original comments imported from older b.log).
- Calendar clipping set to June 2008, as this is when my b.log was started.
- RSS link added to the top.
- The no-date-show-last default behaviour is disabled if the visitor is determined to be a 'bot. This is because I only want valid links to be indexed, as the show-last behaviour means the "last" will keep changing.
Likewise the GeoLoc is not updated for 'bots.
A 'bot is determined as any host that contains "bot" or "crawl" or "spider" in the name.
- The old b.log link now has the nofollow attribute.
- The comment entry box now has a reminder of
\p for newline/para.
- Comment handler now accepts
\\ for a
- Removed "background.png" from the page wrapper, it is no longer relevant... and no longer there, it's in /images anyway. ☺
- Invalid date help message now includes an example.
- Added link back to the old b.log.
- Tweaked GeoLoc to not bother looking up 127.0.0.1 when running on my local server!
- Stricter validation on date - if you added extra digits to the end it would not be faulted and would instead return the latest entry. Now it will correctly whinge.
- Making "/summary not /00" behaviour broke the month displayed in calendar, fixed.
- Added GeoLocation to the right-hand menu.
- Various minor layout tweaks.
- Added itty-bitty help text just below the calendar.
- Fixed broken commenting - was linked to old comment handler on /blog - duh!
- Current entry date highlighted in yellow.
- Date ranges now validated. [thanks, Rob]
- Month summaries now display "yyyy/mm/summary" instead of day "00".
- Link to next entry at the bottom, if there's a next to link to. [suggested by Rob]
- Link to return to the top of the page at the bottom.
- Style tweaks so IE8 and Firefox look alike. [IE5 and IE6 don't, they're broken...]
b.log2 system © 2010-2018 Rick Murray