I'm working on the mod_cfml site and while playing with Photoshop and working up graphics for it, I made the following. I really like it! Hope you do too.

Posted by Jordan Michaels
I'm working on the mod_cfml site and while playing with Photoshop and working up graphics for it, I made the following. I really like it! Hope you do too.

Posted by Jordan Michaels
A project I'm doing requires that I write a BASH shell script that checks what modules are installed in Apache (to make sure some requirements are met before an install is attempted), however, I had a HECK OF A TIME figuring out how to script the checking of the httpd -M command (the command that shows the installed Apache modules). I was tring to run the following on a CentOS 5 server:
# httpd -M | grep -c perl
And the results of the command were not being piped to grep. Instead, the results were being sent to the screen. Irritating! There's clearly a pipe character there. I kept thinking I was writing the command wrong or something. I tried the command on my Ubuntu desktop, and lo and behold it worked just fine:
$ sudo apache2ctl -M | grep -c perl
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Syntax OK
1
The "1" was the result I was looking for, because I knew mod_perl was installed.
Long story short, for some reason the CentOS 5 version of Apache sends the "httpd -M" results to stderr, rather then stdout. I have no freaking idea why it does this, because that's not error data. It seems like a bug in the HTTPD executable. The end result was that I needed to write my command as follows:
# httpd -M 2>&1 | grep -c perl
1
The 2>&1 sends the stderr data to stdout which is what the pipe character sends to the grep command.
How annoying. For the record:
# httpd -v
Server version: Apache/2.2.3
Server built: Oct 20 2011 17:00:12
Hope this helps someone avoid the frustration and confusion I went through finding it.
Posted by Jordan Michaels
In a recent project, I needed a function that would generate a random string for me. In my case, I was creating a random file name to store some data, but there are other uses as well, so I am posting the BASH code here in the hope that it will help others out ther eon the net writing BASH scripts and need a good random string function:
#!/bin/bash
function randomString {
# if a param was passed, it's the length of the string we want
if [[ -n $1 ]] && [[ "$1" -lt 20 ]]; then
local myStrLength=$1;
else
# otherwise set to default
local myStrLength=8;
fi
local mySeedNumber=$$`date +%N`; # seed will be the pid + nanoseconds
local myRandomString=$( echo $mySeedNumber | md5sum | md5sum );
# create our actual random string
myRandomResult="${myRandomString:2:myStrLength}"
}
randomString 10;
echo $myRandomResult;
Posted by Jordan Michaels
I'm running a Linux Desktop - Linux Mint to be precise.
I just recently read about the news that FireFox has announced a partnership with Microsoft where you can download a version of Firefox that has Bing set as the Home Page, as well as offers Bing search by default. So... like all technophiles do, I went to go check out the new cool tech by visiting their site over at http://www.firefoxwithbing.com/. Instead of a great new browser with great new search options, I got this instead:
Thinking about it, I should probably have expected that, but I found it ironicly funny anyway.
Posted by Jordan Michaels
Just recently I found myself needing to verify if a server I was working on - which required image manipulation - was actually running in headless mode. On Linux servers, graphical user interfaces (GUI's) aren't usually running because they take up additional resources (like memory) and server administrators usually want to give all the resources they can to actual server processes rather then a GUI which they only use occasionally. However, the JRE that ColdFusion engines run on needs the window processing engines in order to perform graphic manipulation - image resizing, rotating, etc - all require image processing libraries.
The following code bit allows you to see if your CFML engine (Railo, OpenBD, or ACF) is actually running in headless mode. This is useful if you're debugging a pesky image processing problem and you want to make sure your JRE's access to the XORG libraries aren't the problem.
<cfobject
action=create
name=geObj
type="JAVA"
class="java.awt.GraphicsEnvironment">
<cfset geResponse = geObj.isHeadless()>
<cfdump var="#geResponse#">
The code calls java directly and returns a true or false response if you're running in headless mode or not.
Hope this helps!