Blog

Category Filtering: 'cfml'

Remove Filter


Detect if a User is Online with RabbitMQ Web Stomp

Posted by Brad Wood
Mar 13, 2021 00:41:00 UTC

We're using RabbitMQ and its Web Stomp plugin for websockets for several projects at work.  Using a Stomp.js library in the browser, our app users connect and subscribe to topics using their username and JWT, which we validate using a custom HTTP back end auth in Rabbit.  I've recently written a rest-over-stomp module for ColdBox MVC which allows you to push the response of any Coldbox event or API call out over a websocket channel to any browser listening on that channel.  This allows for the following

  • Browser can request data and receive it async
  • Any random server-side process can simply decide to push fresh data out to browser
  • Each user subscribes to a custom topic specific to them (via permissions enforced by my custom HTTP backend auth) so I have a direct data bus to any users's browser
  • Unlike Ajax calls, there is no HTTP/TCP negotiation of each request since the websocket is a persistent connection to the server

A quick comparison of using Python and CFML to write the same CLI tool

Posted by Brad Wood
Jan 27, 2021 07:47:00 UTC

A few days ago, Joseph Lamoree posted about a cool little command line tool he wrote in Python that would scan a list of servers check check for a public facing administrator.  

I thought this would be a great example to compare and contrast writing the same simple command line tool in CFML using a CommandBox task runner.  Here is what I came up with

Create your own Desktop "Toaster" Popups in CommandBox Servers

Posted by Brad Wood
Jan 21, 2021 00:16:00 UTC

Here's a quick one that I tried out for the first time today.  Someone asked if it was possible for a CF app to have a desktop notification on the server it's running.  CommandBox servers have a try icon that runs inside the JVM of the server that can create popups and even Swing windows.  Turns out, it's actually really easy to tap into this to get a toaster popup on your desktop.  

Coming To dev.Objective()? Attend My Sessions!

Posted by Brad Wood
May 05, 2015 06:44:00 UTC

I'm super excited for dev.Objective() coming up in a week.  I originally only had one dev.Objective() session, but due to a cancellation I was able to get a second.  My first session will be 

GO COMMANDO, WITH COMMANDBOX! CLI + REPL + PACKAGE MANAGER FOR CFML

This will be similar to what I gave at CF Summit last year, but with a lot of new and exciting additions. If you're not familiar with CommandBox or not using it, this will be a great session to get started with.  

My second session (the late addition) is

RASPBERRY PI A LA CFML

A Raspberry Pi is a $35 credit card-sized computer that runs Linux.  I have been playing around with running CFML on a Pi which has resulted in a Pi-hosted CFML blog as well as some fun CFML-controlled hardware.  I'll be showing how to easily and quickly get CFML running a Pi as well as demoing some of my projects.  

Ortus will also be giving away a Raspberry Pi at our booth during dev.Objective() so please stop by.  I'm looking forward to seeing everyone!

Railo And Lucee: Hunka Hunka Burning Questions

Posted by Brad Wood
Jan 30, 2015 09:53:00 UTC

Well, the cat is out of the bag now.  Railo, the free open source alternative CFML engine to Adobe's ColdFusion Server has been forked and reborn as a new product called Lucee.  I was lucky to be part of the launch party (via webcam) that happened this morning in London.  This is a major event in the tiny CFML eco-system and it's understandable that there's a  lot of questions floating around and confusion on just exactly what has happened.

There are a lot of large open source projects that have forked before.  For instance, MySQL spawned MariaDB, OpenOffice, begat LibreOffice, Hudson turned into Jenkins, and even recently Node.js was forked int IO.js.  In some cases, the original project continues alongside the new one.  In other cases, the old project basically sits there and everyone stands up, shuffles over to the new one, sits down and continues as if nothing happened.  I personally think Lucee is going to be more like one of those.

I'm throwing together this post to address some questions that have come up over and over again today.  Hopefully they will be answered more fully by the Lucee team as they dig out of this major announcement, but in the mean time this is a compilation of some answers I've given multiple times today around the Internets.  Please note, I am not speaking on behalf of Lucee nor Railo, these are my opinions and observations mixed with some info I've picked up along the way.  I'll happily accept corrects or clarifications in the comments.

Site Updates

Entries Search