Railo is dead; long live Lucee!

Lucee logoBig news came from the Railo front the 29th of January: Railo is abandoned by it's founders, and the same code project will now live on as Lucee. The underlying code remains the same, but the name changes, as does the organizational type. The new site is http://lucee.org

The commercial company The Railo Company became the copyright owner of Railo a few years ago, after investments done by some companies. Now it apparently lead to not much good. Even so bad, that the founders decided to "fork" (=~ copy) the project, and continue under a new name.

But, I have full confidence in the strength and continuous growth of Lucee, as the founders an community is samrt and strong. I hope we will all adjust to a new cool name, and say cheers to this new path for CFML!

Railo is dead; Long live Lucee!

P.s. My daughter's name is Luce, that's near-identical :-D


CFUG-NL meeting with Gert Franz and Bilal Soylu - 2 top-notch speakers in one evening!

My day couldn't be better... First thanks to Bilal Soylu, who told me a while back he would be kind-of-nearby The Netherlands in May 2014, and he was willing to do one of his always-awesome presentations! Bam, new CFUG-NL meeting planned for may 28, 2014.

And today I am chatting with Gert Franz, and the word CFUG drops. "I should come around once to do a presentation", Gert said. "You wouldn't happen to be in the vicinity around the 28th?" I replied. And bada-bing bada-boom, now we've got a super-awesome dual presentation evening!

If you're in The Netherlands may 28, 2014, then do come and check this evening out!

Notice in Dutch on www.cfug.nl, "Surprise!" :

Surprise! Gert Franz, CEO en boegbeeld van Railo, komt óók een presentatie geven! Dit wordt een avond om niet snel te vergeten, met 2 topsprekers op 1 avond!
Gert's presentatie Railo 5.0 and beyond kreeg vele lovende kritieken tijdens CF.Objective 2014, "it's just wow!". Dit is jouw kans om het zelf mee te maken!

No Comments

Phonegap: detecting correct connection type on iOS 7.1 iPad

I just spent 2 hours debugging a Phonegap iPad app. The app downloads a library of images and videos to localStorage, but only if the device is currently on WiFi. The iPads do have a cellular 4G connection as well, but the data transfer would be too costly, the client said.

In all tests the files downloaded fine, and all was good. Untill a few days back: now the app constantly shows my custom msg "downloading files (waiting for WIFI)". It turned out the iPads were updated to a newer iOS version. While debugging, the network.connection.type now always returned "cellular", even when cellular was disabled on the iPad.

Solution? Turned out to be simple: overwrite the old CDVReachability.m and .h files (version 2.2) with the latest ones, version 3.5. You'll need to rename references in the 2 files from "Reachability" to "CDVReachability".
Or... just download these 2 files here, and add them to:

/platforms/ios/{app name}/Plugins/org.apache.cordova.network-information/

Hope it helps you out, I will try to add a pull request as well.

No Comments

Coldfusion Usergroup NL meeting with Bilal Soylu - May 28 2014

I am part of the organizing commitee for the Dutch CFUG, and we finally got a new meeting! The 28th of may 2014, we will be honored to have Bilal Soylu present on Style, Standards, Sanity. You can read all about it at www.cfug.nl!

Come to Utrecht and join us in a great evening full of CFML :-D

No Comments

Logging memory and cpu usage in Ubuntu

I recently installed a cluster of Ubuntu VMs for a client's web application. Now it was time for logging and monitoring, but that turned out to be not so simple at all. I couldn't find a solid Linux script which would log CPU and memory usage, so decided to write it myself.

The script extracts data from the files /proc/meminfo and /proc/loadavg, and saves them in sysinfo.log as a tab-delimited text file. The columns are:

Date   MemTotal   MemFree   MemCached   CPU-usage (=last minute avg.)

MemTotal will always remain the same, but is usefull for calculating relative available memory. MemFree + MemCached == available memory; don't be misled by the column name "MemFree".


MEMDATA=`sudo cat /proc/meminfo | egrep "^(MemTotal|MemFree|Cached)" | sed 's/[^0-9]\+//g' | tr '\n' '\t'`
CPUDATA=`sudo cat /proc/loadavg | sed 's/ .\+//'`

if [ ! -f $FILE ]
echo "Date MemTotal MemFree MemCached CPU-usage" > $FILE
echo "$(date) $MEMDATA $CPUDATA" >> $FILE

Steps to install/use:

  1. sysinfo console output example

    Save this script as 'logsysinfo.sh' (for example in your home directory)
    1. $ nano ./logsysinfo.sh
    2. paste the script, then do CTRL + X
  2. chmod the file to 755
    1. $ chmod 755 ./logsysinfo.sh
  3. test-run:
    1. $ sudo ./logsysinfo.sh
    2. tail ./sysinfo.log
  4. If the output of the last command was 2 lines (1st=header, 2nd=numbers), then all is good.
  5. Make sure the log is updated every 5 minutes:
    1. $ sudo crontab -e
    2. add the following line in the text editor which just opened, then close the editor:
      1. */5 * * * * /home/paulk/logsysinfo.sh
    3. Wait for max 5 minutes, then do $ tail ./sysinfo.log again
    4. If there is more output then before, all seems to be working :)

Personally, I now use this log file for input of a daily monitoring script: check min-max available memory (= MemFree + MemCached), cpu spikes, etc. I hope it helps you out as well!

1 Comment