Showing posts with label Community Members. Show all posts
Showing posts with label Community Members. Show all posts

Wednesday 3 April 2013

"If you don't ask, you don't get"

G'day:
I don't often get a chance to quote Gandhi, but there you go. It was gonna be "If you tolerate this...", but that sounded a bit egregious in the context I am going to use it. Plus Gandhi has a bit more cred than the Manics. Sorry Wales.

Monday 1 April 2013

Integrating CF ORM into FW/1 and Stackoverflow bullying (mostly the latter)

G'day:
OK, so I sound a bit like a broken record with Stackoverflow, but they've rankled me even more than usual today. Someone's raised a pretty poorly-worded question (I am moderately confident English is not their first language though, so this can't be helped), but it was decipherable and one of the ColdFusion community's chief stalwart's - Scott Stroz - was helping the person out with his problems. Scott had posted an answer, and they were working back & forth to clarify the requirement, and making good headway.

And then one of the Stackoverflow moderators took it upon themselves to both close the question, as also delete Scott's answer.

Sunday 31 March 2013

Which CFML-oriented blogs do you read?

G'day:
I was trying to track down one of my regular commenters - Bruce Kirkpatrick - on Twitter, as I didn't have him on my "following" list, and he's genererally got something interesting to say. Plus when he says it it takes 50000 words, so it's a good way to occupy myself for a day or two whilst I read through it.

Anyway, having successfully google-stalked him, I noticed he also has a blog (but, as it happens, not much of a Twitter presence), which I did not know about. So - anyway - I cranked up Thunderbird and added him to my subscription list.

Thursday 21 March 2013

Thanks for taking the time to comment

G'day:
I've been really slack following up on responding to all the comments people have been making on this blog recently. It's not like I get hundreds of responses, or even dozens, but I do get some, and I appreciate all of them. And I'm having a catch-up afternoon today, as my work for the day has been stymied by lack of connectivity to the office :-(

Wednesday 20 March 2013

Splendor & Thunder, eh?

G'day
Don't let the truly awful "code name" put you off, I think the news that the ColdFusion 11 (let's not mince words... it's gonna be CF11, so let's just call it that. Only dicks need code names) pre-release programme has been announced, and should kick off soon. And the less-cringingly-named CFB 3.0 (OK, this might just be 2.5 or something) - Thunder - is also going to be part of this P/R. This is excellent news.

Sunday 10 March 2013

Give me your tired, your poor your UDFs

G'day:
I've just had a "cflib afternoon", in which I remind myself I'm supposedly the moderator / approver on CFLib, which means I actually need to moderate / approve stuff every now and then.

Friday 8 March 2013

Clarification about the ++ / thread-safety thing

G'day:
First things first, it's 11pm on Friday, I've just got back from being at the pub since 6pm and I have had half a dozen pints, so I don't vouch for the quality of this article.

I don't shrink away from over-stated "headlines" on this blog, but I don't like to misrepresent anything. I have a couple of things to clarify based on feedback I've had from the articles earlier today:

No, the ++ operators are not thread safe

G'day:
My lunch break is running out (by about -10min so far ;-), so this will be quick.

In my last article I got bitten on the bum by weird behaviour of the prefix increment operator (ie: ++myVar), in that two simultaneous calls to it would cause the increment to skip.

Doing some research (basically asking my colleague Simon) , I discovered that - no - these operators are not thread safe. This is good to know.

Sean prompts me to look at ColdFusion threading some more

G'day:
I got a bit of a slap-down from Sean y/day regarding that code I posted using <cfthread> (well: thread, but samesame). I've yet to clarify whether he was referring the code I was triaging from CFLib, or my scratch code demonstrating a decoupled approach to same, but it's encouraged me to look into things a bit more thoroughly anyhow. I appreciate the slap-down, because it identified a gap in my knowledge, giving me the opportunity to fill that gap.

So, anyway, Sean made a coupla interesting observations which I'll look at here.

Thursday 28 February 2013

Another serious struct-literal syntax balls-up in ColdFusion

G'day
Ray hit me up about this the other day, and I've only just been able to look at it now.  He's written a blog article about a bug someone mentioned to him, which they had raised on the bug tracker (3505517).

As far as the investigation had gone at the time, it seemed like a pretty edge-case sort of bug: if one has a CFC method call within a transaction block, and the method call used struct-literal notation for named argument values, then there was some execution duplication.

I've had a bit more of a look at it, and it's actually more far-reaching than we initially thought.

Wednesday 27 February 2013

How ColdFusion makes a pig's ear of ordered-argument argument collections

G'day:
Apropos of nothing, I'll just point out I'm writing this en route back from Auckland to London, via Kuala Lumpur. This entails a 10 and a 14 hour flight, with a stop to change planes at KLIA (the break is about three hours, I think). It's a bloody long haul. Worse: I did the reverse trip only a fortnight ago, so I've already seem the decent movies they have on offer for Feb (I watched Lincoln, Dredd, Seven Psychopaths, Alex Cross, Taken 2, in decreasing order of quality. The first three were good; the rest watchable). I'm writing this on my wee netbook, which runs for about six hours if I turn the screen brightness down a bit. It's awkward to type on, but it gets the job done. And happily runs CF10, Railo 4.0.2 and CFB simultaneously.

Monday 21 January 2013

Railo website on Raspberry Pi with a public facing domain hosted at home

G'day:

As promised on Twitter last week, here's Chris's article on getting Railo running on Rasperry Pi.

Over to Chris...



So you are a lucky owner of a sweet Raspberry Pi, you have a typical broadband connection, some ColdFusion language skills and you would like to take advantage of all these things and roll out a little Web site hosted at home, independently from any hosting provider, and make it available to your family, friends and the rest of the world? That's exactly what I've done and I thought I'd share a step-by-step guide on how my stack has been set up so you can give it a try, amend it and/or improve it.


The guide is inspired by an excellent article by Glyn Jackson on running Railo on Raspberry Pi that I found very useful when I started this exciting journey. However, the set-up described below differs slightly as the current version of Raspbian does not allow to install the official Oracle Java JDK and for that reason I'm going to opt for OpenJDK instead. And also, we don't need to worry about the SSH configuration as it's enabled by default in more recent versions of Raspbian.
Another deviation from Glyn's config is using a wired Internet connection rather than WiFi.

Prerequisites

  1. Standard broadband connection with a dynamically allocated IP address
    If you are in the UK, it can be BT, Virgin or any other popular async broadband option (and if you are lucky enough to have an Internet connection with a static IP address, you might want to skip the section covering Dynamic DNS).
  2. A router configurable to forward traffic on port 80 to a machine on the local network
    I tested it with an Apple TimeCapsule and a BT HomeHub but other routers should provide that functionality as well.
  3. Raspberry Pi (Model B) with 512MB of RAM
    I haven't tested it on the 256 model but you might like to do it at your own risk.
  4. An SD card with the Raspian GNU/Linux distribution installed on it
    A step-by-step guide covering this topic can be found on the eLinux site. You will need direct or SSH access to the box with root permissions.

Setup summary

Possible alternatives
HardwareRasbperry Pi 512MB RAM
Operating SystemGNU/Linux Raspbian
JREOpenJDK 1.6Oracle Java provided you are running a soft-float ABI distro (e.g. Debian) instead of Raspbian
Web serverLighttpdNginx
Application serverTomcat 7Jetty, Resin etc.
CFML serverRailo 4 jarsEarlier version of Railo, Open BlueDragon (not confirmed). Adobe ColdFusion is unlikely to run on such limited hardware.
Internet domain providerDNS DynamicThere is a number of alternative free and commercial services

Power

One of the great things about Raspberry Pi is its low power consumption which means having it always on should not ruin your home budget. I'm no expert on the electricity stuff but I'm powering my Pi through a USB cable hooked to the Apple TimeCapsule which acts as our home router and is always on anyway so that means there are two devices plugged to one wall socket. Does this configuration mean a decreased power consumption? I honestly don't know but it's certainly nice to have one extra power socket available.
In my case, the Pi is connected to TimeCapsule with two cables as the wired Internet connection is also coming from it (see the picture below).


Thursday 17 January 2013

Wednesday 16 January 2013

Random (unsuccessful) experiment: recursive JSON

G'day:
This quick experiment arose from a comment on Twitter this morning:

@daccf @ntunney the worst part is that relationships don't get serialized either. Apparently recursion is too hard for them? 
(Todd Sharp ‏@cfsilence)
This was a reaction to a bug about serialising entities which was under discussion.

Saturday 12 January 2013

Not that it will really matter in the bigger scheme of things...

G'day:
After all the shenanigans on Stack Overflow y/day (more of the same as last time, except a more egregious example), I've decided I can't really support Stack Overflow as a venue for the ColdFusion community to seek help. Stack Overflow is more interested in demonstrating how "good" Stack Overflow is (according to a yardstick I don't agree with) than they are in actually helping people - all people - and that's not something I can get behind.

Friday 4 January 2013

That CFIDE security hole in ColdFusion? It's SERIOUS. So check into it NOW!

G'day:
I didn't bother writing anything about this new security problem with CF, as everyone else seems to have covered the important info already.

If you're not up to speed, read all of this lot:
And there's plenty of other blog articles about it out there (Charlie links to a bunch of good stuff).

I am only commenting now because I have just read about people stating "oh... maybe I should get around to looking at this?"

FFS. It's a really really really serious security hole which is easy to exploit, and a lot of people have found they have been exploited. This is not some esoteric in-theory-only issue.  And now that basically there are instructions of how to do it in the public domain, the risk increases.

If you have not verified you're not exposed, you are being professionally negligent.

So stop whatever you are doing and verify your externally-exposed servers are safe.

Don't piss about, and don't "do it later".

Also, if you know ColdFusion dev / admin people who don't read blogs, follow the community on Twitter and possibly won't know about this: get in touch with them (email, phone, etc).

Cheers.

--
Adam

Monday 31 December 2012

Don't optimise your code

G'day:
Well that headline is a gross over-simplification of what I'm going to say here. Obviously one should write code that's optimal for the task at hand, but there's a time and place for doing this sort of thing.

The Railo Google Group seems to be my muse this week (which is a sorry indictment of me on a coupla levels), after yesterday's [ed: it was y/day when I started this, it was a few days ago now] inspiration regarding making CFML built-in functions "first-class", and now this article about premature optimisation.

Friday 28 December 2012

Callbacks and built-in functions as first-class functions

G'day:
This will be my most unplanned blog article to date. I saw a thread on the Railo newsgroup over Xmas, and whilst catching up with my responses just now, decided "oh, I'll be able to come up with an article about that".

The posting on the mailing list was asking whether one can pass a built-in function (BIF) as a callback.

I currently have no idea what I'm about to say about this, so I am as interested in what I continue to type as you are (the conceit is that if you've got this far, you have at least a small amount of interest)...

Thursday 20 December 2012

Positive Communication from Adobe regarding ColdFusion: more thoughts

G'day (again):
I'm following the comment thread on the "ColdFusion: News, Initiatives and Updates from Adobe" blog post on the Adobe blog that got posted a few days ago. I offered my first tranche of feedback a coupla days ago, and here's my second lot.

These are replies to people's comments, and some general thoughts. I'm posting them here rather than there because this is too long for a comment cluttering-up someone else's blog. I'll cross reference this article over there too though. Also I want to get this discussion on the radar of my readers too, in case they're not aware of it, or have not thought/bothered to follow it.

I've worked my way down the comments, and commented / responded as I go. It's a bit stream-of-consciousness.

Friday 30 November 2012

Stack Overflow is populated by @rseholes (#1 of what could end up being a series...)

G'day

RANT ALERT! (and language some people will find unpleasant).
Since I started this blog, I've had a link over on the right-hand side of the page encouraging people to help out other ColdFusion developers on the ColdFusion channel on Stack Overflow (and on the Adobe ColdFusion forums). I stand by my sentiment that it's important to help people, but I've about had a gutsful of Stack Overflow. Not the concept - it's admirable - but the "gimme-a-little-power-and-I-become-a-nazi" fvckwits who try to find meaning in their pathetic little lives by demonstrating how they have a tiny tiny tiny amount of authority over other people, and by god, they will exercise it.