Showing posts with label Blog. Show all posts
Showing posts with label Blog. Show all posts

Saturday 29 October 2022

Monumental cock


Because Elon Musk is a monumental cock that no-one at all should be encouraging (other than to fuck off to Mars on one of his rocketships, I guess), I'm gonna do my bit and wind-down my usage of Twitter, in favour of Mastodon. The first manifestation of this is I will not longer be putting a Twitter status up when I release a new blog article. Yeah, I know, this is largely a "shrug" sort of thing for almost everyone (incl. myself), I don't have any illusions to the contrary. But if we all do something small: the accumuled results will be something bigger.

However if you use Twitter as a mechanism to know when I've written something, that'll no longer work. I'm on @adam_cameron on Mastodon. I'll be pinging from there in future.

I'll still ping this article on Twitter, but that's it.



Tuesday 20 April 2021

Heads-up: Disqus is being flaky ATM


A quick note to advise that I am not getting email notifications of all comments people are making to my blog articles ATM. This is really annoying, and I think makes me seem a bit disrespectful in that it looks like I'm ignoring stuff. I really do value everyone's efforts to read and comment on the shite I push out here. If it seems like I'm ignoring you, ping me on Twitter @adam_cameron. I've downgraded my interactions on that platform, but I still to pay attn to it. If it's CFML-related, I'm also back on the CFML Slack channel.



Tuesday 1 November 2016

Ah ballocks

I just noticed the context-highlighting thing I've got wasn't cross-referencing on that last article I just did ("PHP: what exactly are we testing?").

As it turns out it's cos my JS files were hosted on cfmldeveloper, and that service has been discontinued ("").

Blogspot itself didn't / wouldn't / couldn't host JS files last time I checked: I'll check again tomorrow (I can't be arsed, this evening). If it can't host separate files, I guess I'll just in-line it. Bleah.

So anyway, sorry the cross-referencing is bung at the moment. I'll sort it out soon.


This is kinda fixed. I've inlined the JS needed on every article, but some of the article-specific JS is still not gonna work. Once I come up with a file-based solution, rather than needing to inline it, I'll sort the rest out.



Tuesday 15 March 2016

Winding down my participation in the CFML community

People whose opinion I trust have urged me to stop wasting so much of my time with the CFML community, especially given I myself no longer use CFML (other than on this blog). I don't even use it as my "quick scripting language" any more: I use either PHP or JavaScript, or try to force myself to use something else.

A while back I decided to stop paying attention to CFML once ColdFusion 122016 and Lucee 5 were out the door. I'd have a look at those, offer my thoughts, then move on. Well CF2016 is out and it seems Adobe have even less interest in ColdFusion than I am trying to have these days, and I can't see any evidence that Lucee 5 is ever gonna be released, so I'm not waiting around for that. What a disappointment. Also setting a future milestone to do something is a motivational cop-out like New Year's resolutions are. If you want to do something: just do it. Don't schedule it in for later. Deciding to do something then starting out by not doing it seems daft to me.

So today I unsubbed from my filter that emails me CFML / ColdFusion / Lucee / Railo issues on various Stack Exchange forums. I now only "follow" PHP7 there. I want to broaden that to some focused areas of the PHP & dev community, but yet to decide where to focus there.

I also deleted my column in my Twitter client that trackes various CFML-ish hash tags. I'll be ceasing "following" (always sounds creepy to me) people who I follow purely because they're in the CFML community, and I don't otherwise have dealings with.

I've unsubbed from the Lucee Google group, but I can't work out how to unsubscribe from the Lucee Lang Forum on Discourse. This does not surprise me of the Discourse UI/UX. Still: unsubscribing from that is like ignoring a one-handed person clapping anyhow.

I've maintained my subscription to the CFML Slack channel as I'm an admin there, but I'll ditch that shortly too.

This is not one of these rage-quit "I'm Leaving The Community!" blog articles. Just notification that I will not be paying attention to a bunch of the channels via which people used to get my attention. If I notice something that really takes my fancy: I'll have a look at it. I'm just going to try to not notice from now on.

I guess it's more the exercise of a newly-reformed alcoholic going around the house and tipping out the booze from all the bottles hidden around the place.



PS: thanks for all the comments below. I do really appreciate them.

Friday 26 February 2016

I'm more polylingual than I thought

(and before I start, I am very very much not polylingual. The only language I notionally speak is English. And don't even do a very good job at that).

However I had a bit of a surprise when I came to test the sample code for a quick article I'm gonna write on the flight tonight:

Bloody Swahili? Ha. If only.

Obviously (?) that's my usual Maori sample text: the colours of the rainbow in this case.

But apparently "whero" (that's "ferro", btw... Maori "wh" is kinda like a cross between an F and an H...) is "hero" in Swahili.

Sawa basi.


Friday 29 January 2016

Brave users will not be able to access this blog

I am fundamentally opposed to any software which - as its missions statement, basically - censors a website's choice of content. This is what this new Brendan Eich project seems to be setting out to do as its raison d'ĂȘtre. Even if it's just the ads they choose to display:

It is not the place of a browser vendor to second-guess the materiel a website chooses to display. Especially when it means they replace that content with their own content.

As such I am shortly putting some JS in my main template, thus:

if ((window.navigator.userAgent.indexOf("brave") > 0)  && (document.location.pathname != "/2016/01/brave-users-will-not-be-able-to-access.html")){
    document.location = "/2016/01/brave-users-will-not-be-able-to-access.html"

This is based on my user agent string being:

Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) brave/0.7.10 Chrome/47.0.2526.110 Brave/0.36.5 Safari/537.36

I know user-agent sniffing is frowned upon as a solution to this sort of thing, but generally this is because one should be detecting browser features, not the browsers themselves. In this case I actually want to specifically identify the browser, so it seems a reasonable - if not very thorough - approach.

Obviously it's easy to circumvent, so do that if you like.

Also if anyone gets redirected to here and they're not using Brave, lemme know.

And you're entitled to disagree (or agree!) with my position on this, and you're more than welcome to put forward your case in the comments below.

If someone makes a compelling case why I should stop doing this, I will.

As it stands though: don't support this shittiness. If you're seeing this page because you are a "Brave" user... consider changing your browser decision.



Wednesday 13 January 2016

The end of ColdFusion

Yes, that is definitely a click-bait headline. But in the context I'm talking about, it's correct.

Today my employer switched off our ColdFusion site, replacing it with the remodeled PHP one. So that's the end of the CFML chapter of my programming career. I'm now a PHP (and JavaScript) developer. In all honesty, I've not written a line of in-production CFML code for the better part of a year now, although I was still having to look at the old code base occasionally, as recently as a week or so ago. But that's it: it's history now.

I started with CFML (on ColdFusion 4.5) in 2000: I went the stereotypical route of being "the IT guy", and was put in charge of maintaining our "WWW homepage". Initially it was flat HTML, which I edited with initially FrontPage, but increasingly just by hand using... I can't remember. Probably "HotDog" or something. My boss saw this was not scalable, nor did it meet our aspirations for where we wanted to go. So he sent me off to do the Fast Track to ColdFusion course at our local training company. It was dead easy, and seemed bloody good with all the "tags that just slide in adjacent to the mark-up". What little dev I had done at that point was a bit of C, some telecoms scripting, and dBXL reporting (dBXL was a dBase III clone). Oh and some printer driver programming (not writing drivers: talking to them). Thinking about it I was more polyglot then than I am now!

I never actually did anything with CFML in that particular role, but I soon got offered a job as a CFML developer at Straker Interactive (since changed to Straker Translations). That was the moment I shifted from being "the IT guy" to being a full-time developer. Although I still shared the job of maintaining the servers too.

It was at Straker that I learned to be a pretty bloody ordinary developer. I'm not pleased with much of the code I wrote there, but it was early in my career, so fair enough I guess. I stayed with Straker (first NZ, then UK) until 2009, flirted with Pixl8 briefly, and have been at (now a brand of HostelWorld Group) ever since.

When HostelWorld subsumed HB, we were advised we were sidelining the CFML codebase, and rewriting the main site in PHP. So I had the option of becoming a PHP developer (the alternative being: find another job). I had been trying to work out an exit-strategy from CFML for a year or so, so this was actually good news. Well: shifting to PHP is not what I would have picked as a career direction, but as long as it was away from CFML, it was a win. Back to the headline: like it or not, CFML is a shrinking environment, and it's a career dead-end, IMO. Yeah, there are jobs out there, but ever fewer, and more and more are just maintenance coding. Adobe really only offer lip service to ColdFusion (and that includes most of the ColdFusion Team), and Lucee is trying really hard, but doesn't really seem to be going anywhere much. Unfortunately. So, anyway, I had wanted to move from CFML and this was a good way to retrain without taking a salary cut.

Most of "being a developer" is not what language one is typing into the keyboard, it's the thought processes and practices. Both development practices, and work practices (like Agile and the like). And PHP is pretty similar to CFML. In some ways PHP is ahead of CFML; in other areas it is behind. And it's a god-awfully ugly language. But the PHP community is awesome, and huge compared to CFML's, and there's a lot of great PHP projects out there, which smooth off a lot of PHP's rough edges. As a result of this, I think I'm probably a half-way decent PHP developer now, even if I spend half my time googling what order the arguments go in for preg_match(). That said, I was still always googling for what order the arguments went in for dateAdd(): so the more things change, the more they stay the same.

Just a quick thanks to Glenn O'Leary for putting me on the CFML train the first place, and Glenn Wright and Grant Straker for seeing to it I got my foot in the door. Thanks to Tim Jenkins for helping me shift to the UK to continue with Straker there, and Alex Skinner for keeping me sane all these years. Thanks also to Scott Mayes and Simon Baynes for reading my cold-call CV and giving me the job at HostelBookers, and to Marc Garner and John O'Donnell for giving me the chance to migrate to PHP. It's excellent that me mates Duncan Cumming and Brian Sadler made the shift from CFML to PHP with me, and all the lads on the new PHP Team here: you're a bloody good team.

As for this blog... I still use CFML as my baseline language for working-out general stuff, as I can code in it without thinking. More and more I'm using PHP and JavaScript for that though. And once I get Fallout 4 out of my system, I intend to make myself look at other languages more in 2016. I'll still be in the CFML Slack channel, and on the ColdFusion 2016 Pre-Release Programme.

This is the end of a 14-month project.

As I type, the old site has just now been switched off...

... and the new site is up...

So hopefully it stays up, and we don't have too many teething problems...


Friday 8 January 2016

Comments on the mobile view

Someone (Andy Myers or Adam Tuttle? Can't remember). Observed recently that comments on this blog weren't showing up in the mobile view. I'm not sure why they vanished, but I've added them back in.

Cheers (whoever you were) for giving me the heads-up on this one.



Friday 1 January 2016

2016: sit. rep. for this blog

I've been really rubbish at writing new stuff recently. There's a few reasons for this, if we look back to November or so when my efforts here really died off:

  • I'm really, intrinsically, lazy. So for me to be bothered doing anything at all I don't have to do is a chore for me;
  • The CF2016 Pre-release Programme is running at the moment, so - periodically - my spare time is taken up testing CF2016 stuff;
  • I'm sick of CFML. I'm sick of Adobe's mishandling of it.
  • I'm sick of feeling so cautious about Lucee as a viable "thing": how long have we been waiting for RailoLucee 5 now?? What is this seemingly zero-planning Lucee lang thing, and where's it gone (perhaps "gone" is the best thing to have happened to it though)?
  • I'm sick of how useless most of the community is at... being a community. More recently I've also been pilloried for my efforts to "jolly things along" when it comes to ColdFusion and Adobe, so my attitude is shifting to "oh well fuck off then";
  • I don't know enough about PHP to write incisive stuff about it. And the mundane stuff I spend time learning (ie: mundane but still not documented on the web) isn't interesting, so I struggle to come up with an angle to make an article interesting to write, let along interesting to read. It's really more just embarrassing to me that I don't already know it.
  • Fallout 4 was released. It's also embarrassing to me that Steam reports I've been averaging 5h per day playing it since I bought it. Averaging. In that I manage a full-time job and sleep too. That's tragic. And awful. And something I'm working on to resolve (basically; not just sitting in front of this thing playing FO4 all day/evening).
  • Added to my usual and perpetual family "challenges" (this is a bit personal, but a number of readers of this thing know about these), there have also been a bunch more recently. This is just part of being part of a generation who are getting older, whilst at the same time the previous generation is balancing ever more precariously on this life's mortal coil.
To be honest, it's mostly cos I'd rather play FO4 than write crap here.

I do have a few articles in the pipeline, but they take about six hours each to get together (often not including the actual code and investigation), and I just can't be arsed.

I'm incredibly disillusioned with Adobe for reasons that I can't share here, but will be made apparent in Q1 or Q2 (god I hope it's Q2), and that has crushed my community spirit (CFML or otherwise). And I dunno where or if I fit into the PHP community. It's mostly impostor syndrome - I know this -  but on the occasions my day to day life as a programmer throws something up in front of me (which is what this blog is supposed to be about), I just think it's daft shit.

I'll get my shit-mojo sorted out before too long.



[I have updated this to tone down a comment I made about the Lucee community & volunteers, as it was unfair and mostly inaccurate. I apologise for the original wording]

Friday 2 October 2015


Yeah, NZ colours or no: I was getting sick of that bloody black colour scheme, so I've got rid.

I know at least Dan Skaggs will be pleased about this ;-)

I also fixed up the missing JS I had not realised had gone west at some point, which had broken my code annotations.

And now back to this PHP article I'm trying to write.



Saturday 19 September 2015

This blog has become a bit flat

I got this observation via email the other day:

Checked on your blog today for the first in awhile.

Your recent articles, read to me, as you fumbling around (lil rugby pun intended). I do still appreciate you being an honest ass and admitting when you are wrong.

More then fumbling with Adobe, I can see you fumbling with Javascript remapping and to your own admission, you need to rethink notions about functions.


I think you could be doing for more constructive blogging instead of poking the bears at ColdFusion... But I don't have a blog, what would I know.

The elided bit is because this was from Acker, and he's banging on about Node,js again. FFS.

But pillorying Acker is not the the point of this article.

Acker is right.

Things here have got quite stale, and a few of my recent articles have been a bit lightweight, and... well... ultimately wrong-headed.

There's two considerations here. I am literal about the "log" part of "blog". This thing logs what I'm doing when it comes to CFML, PHP, JS, [whatever other language I choose to look at], and - for the next six weeks - rugby. I don't claim to be an expert in anything I write about, and all I'm writing about is what I'm currently doing. I know a lot about CFML and I am still on the periphery of that community, and it's what I know best, so there's a bunch of CFML here. On the other hand my day job does not involve CFML - and hasn't for the best part of a year now... my last line of production CFML code would have been at least six months ago - it's all PHP and (client-side) JavaScript.

My issue is that I am not an expert in either PHP or JavaScript, so my articles there are always gonna be a bit hesitant and "this is what I'm trying", not "this is what you should try". In the process I've probably written more about Silex than most other people have, but it's all exploration, rather than incisive knowledge on the topic. I think I understand TDD more than most people do (that's damning me with faint praise, btw), but I've written about that now, so that topic has dried up.

Another issue is that I sometimes just stop caring about investing time in exploring more technology. Most of my "this is what I tried in Ruby", "this is how Python does something" articles are because I just go "hmmm... let's have a look". I'm just not in that mood at the moment. I am fairly open about the fact I don't like PHP as a language, and so I'm loath to write about it (although I have some Silex / Symfony stuff up my sleeve). And in my spare time I am reading novels or listening to podcasts (Im currently listening to a podcast that is reading and annotating the bible to me, of all things. I recommend it not non-believers and - especially - believers alike) and re-playing Skyrim, rather than investigating Clojure or more JavaScript or [whatever].

I had a hiccup with Adobe last week, but - hey - most of my goes at them have been well-grounded, but I needed to be wrong about something eventually ;-)

Anyway, sorry if my writing is shit at the moment. But... well... [shrug]. Don't read it them ;-). I'm sure it'll bounce back at some point. A bit sure. Well: whatever.

And now France v Italy is about to start. What's gonna happen in this game, after the last upset? VIA ITALIA (sorry Aurel, and Jerome, and my other French mates).



Thursday 20 August 2015

Killing a muppet

Firstly, if you feel so inclined, please take a refresher on my communications policy.

Secondly... I deeply dislike the concept of censorship, and this extends to moderation of the comments on this blog. The only comments I have blocked have been blatant exercises in spam advertising, other than that I have let every single comment through. Sometimes a comment might seem like spam so it gets blocked for a while by Disqus, but I have never - to my recollection - not approved any comment by a person whose intent was to comment on the article.

This changed this morning: I blacklisted my first respondent. This person was Acker Apple.

Acker is a bit of a plank (IMO), and seems to exist solely to bobble up and down like Beaker on The Muppets going "I like Node!" "Node is good!" "I used to use CF now I use Node!" "Node is Good!" "You're Bad, I'm Good!" "node node node node node", and other stuff which demonstrates the Dunning-Kruger effect is alive and well. Examples of this are here: "ColdFusion: Adobe updates their roadmap for ColdFusion. Forgets to give the language directions" and here: "What I'd like to see in ColdFusion 12 (redux, as is happens)".

There's nothing wrong with being a plank, and in very small doses it can be endearing. But when it ends up seeming like a mistake that the grown-ups let the children sit at the dinner table, a sensible and responsible grown-up will usher the children back out of the room so the adults can get on with it.

I was going to just tell Acker to shut up (I put it more directly than that), but having checked my comms over night I have had a couple of actual complaints about his conduct, and the very real fact he's toxifying the comments section on this blog with his continual nonsense, and it's discourgaing participation from more lucid & engaging participants.

To be very clear: the comments on this blog are very important to the content of the blog itself, and oftentimes the comments are more interesting that the article they're commenting on. I welcome all points of view, and especially ones that disagree with me as those are the ones I personally learn the most from. You can, in general, say whatever you like, in whatever tone you like (other than the usual societal / community nonos). I'm not blocking Acker because of his dissenting voice. I'm blocking him cos he's a bit of a cock.

So Acker has been ushered out of this particular room. I have blacklisted his email address (which is about all I can do on Disqus), and will monitor any further input from him by hand. If it is on-topic for any post he decides to reply to: I will consider approving it.

Equally, some other people need to learn to "not feed trolls" as the internet addage goes. This is even worse clutter than the original comments, IMO. I will take a very dim view of anyone adding to clutter in this vein, too. If someone is trolling: just leave them be. Don't become part of the problem.

Finally: apologies to my other readers who might have felt a bit put off by my lack of better/earlier handling of this.



* Image from here used without permission. If you are the copyright holder and would prefer I do not use this image, let me know and I'll take it down.

Saturday 18 July 2015

And... I'm back

I'm pleased to say that Google seems to have got its act together, and this blog now seems to be showing up in Google's search results again, after an absence of a fortnight ("Gone from Google?").

I have no idea what happened, but I'd like to thank Andrew and Russell for looking into it for me (they know stuff about Google Webmaster Tools: I myself do not).



Sunday 12 July 2015

Gone from Google?

Can you do me a quick favour? Google things like "adam cameron blog" and "cfml blog" etc... you know... things I used to rank in on Google? And report back with what you see (or as is the case: not seeing)?

It appears this blog has been blacklisted by Google for some reason. Or - being less conspiracy theorist about it  - suddenly there's been a complete reversal on my "SEO" (which I have to admit is something I don't actively pursue).

I'm in Ireland at the moment, so perhaps it's an issue with their Google, but I did notice I had my worst week for traffic last week for a coupla years.

TBH it's no great shakes from my perspective, but I do think some of the articles here are useful resources for people having CFML issues - and I've even helped a coupla people with PHP bits 'n' pieces - so it's a shame for it all to be unfindable now.

I notice Bing still lists the blog fine. But... who cares?




Wednesday 17 June 2015

GitHub reorganisation

This is just a note to advise I've moved all my files about in GitHub, so none of the links to the source code examples on the blog will be working any more.

Lemme know if there's one you need fixed, and I'll sort it out, and as I update old articles I'll also fix the links if I think about it.

But other than that I'm gonna consider it all a case of "Schrödinger's links" (or perhaps "lynx", in this context ;-)


Monday 4 May 2015

Please post a comment on this article

I'm having some issues with Disqus, perhaps linked to me changing some email addresses.

Could you pls post a comment on this article? I just wanna see how / when / to where I get the notifications.

Oh, if by the time you see this it already has a few comments... no need to bother.


Cheers, have fixed the issue now.



Sunday 3 May 2015

Change of persona

Just a note... if you have my dac.cfml GMail address on file... get rid. I'm discontinuing it.

Friday 1 May 2015

"M"? M!

OK, enough fo the single letter blog titles with no bodies (ref: "M"). What was that all about? Well AndyK correctly guessed this morning:

My colleague Brian got the literal meaning,but not the implication.

M... 1000. Plus indeed the dual meaning "milestone" was in there too.

So, yeah, that was the 1000th "article" on this blog. Initially I was gonna do a "well let's reflect on that", like I did with "Bad Request" and "500: to put things in perspective", but then it occurred to me that's really a bit hubristic. In reality what I'd achieved is engaged in one of my hobbies 1000 times over the course of a coupla years (1023 days to clarify Andy's frequency estimate). This is not an achievement, it's just me passing the time doing what I like.

But it was at least worth an odd article title with no discernible content. Again.

Well done Andy... I'll get you a beer when I see you.

Andy also spared you tomorrow's article title which was gonna be "k", with a body of "10000000000". I'll have to think of something else to write now.


Tuesday 24 March 2015

"Career" sit. rep.

Just for you who choose to follow along this pythonesque flying circus that is my working life... now I am back to being a PHP developer again.

The stint back in CFML-land was briefer than I expected.

I'm still suffering from complete writer's block / motivation block, so I'd not necessarily expect anything interesting (/at all) from this blog for the time being. As always though... if anything interesting crops up, I'll jot it down. It's just that nothing interesting is cropping up @ the moment.