existdissolve.com
the singularity of being and nothingness
the singularity of being and nothingness
Nov 5th
Ok, tonight was my first foray into my NaNoWriMo entry. I spent an hour and a half, and about half of it was spent looking up words, figuring out names for some of my characters, and finding a synonym for “candle.”
Anyway, I managed to eek out 350 words or so. In the scope of 50,000, it’s a drop in the bucket (probably less than that, actually). However, I did enjoy the 350 words I created, and the process of sitting down and writing has generated a lot of ideas for tomorrow’s efforts. I’m making notes, and getting excited for what this will shape up to be!
My entry is entitled “The Book of the Universe.” That’s all I’m going to disclose regarding the entry itself, but here are the first 350 words. Enjoy 🙂
Chapter 1: Ancient of Days
The light from the lone candle cast long and warm shadows over the sparse, wearing-down inhabitants of the study. It was not a study in the fashion of other studies; were it not for the small, weary writing desk and the cracked wooden stool, the room could scarcely have been distinguished from an abandoned closet. In such a condition, then, it is quite understandable that the More >
Nov 3rd
I’m pretty proud of myself: over the last 3 months, I have become much more consistent about blogging (nearly daily), and I’ve also started reading regularly again. Part of this is due to my schedule slowing down a bit, and some of it is thanks to some better decision-making on my part.
To celebrate–and hopefully extend–this run of success, I’m actually going to be taking a bit of a furlough from the blog, or at least my normal posts about ColdFusion and theology. Through the end of November, I’m going to be participating in National Novel Writing Month.
National Novel Writing Month (or NanoWriMo as it’s affectionately called) is a simple challenge to the world to write a 50,000 word novel…in 30 days. While it seems like a ridiculously compressed time frame, I think it’s an intriguing idea, because it forces ideas to be put down on paper while leaving less room for the procrastination-breeding eye of the perfectionist. 50,000 words don’t come easy, so every second counts!
So anyway, I’m going to give it a shot. This is my first year to try, so I’m not sure what to expect. However, I think it will be a good experience whatever the outcome, and More >
Nov 3rd
In another post on using custom colors in CFSpreadsheet, I think I might have given the wrong impression that using custom colors REQUIRES that you abandon the CF-native spreadsheet functions. This is not true, of course–my intention was to show how adding custom colors IN ADDITION to the default palette will push you into the direction of POI and away from the CF methods.
However, if you really don’t care about using the default palette, you can have the best of both worlds: custom colors in conjunction with CF spreadsheet methods.
To not belabor the point, here’s the full code:
// create new workbook excel = spreadsheetnew("My Worksheet",false); // get reference to object containing color-related methods palette = excel.getworkbook().getcustompalette(); // light blue color lb = { r = javacast("int",240).bytevalue(), g = javacast("int",248).bytevalue(), b = javacast("int",255).bytevalue()}; // using index 48 to overwrite HSSFColor.LIGHT_BLUE palette.setcoloratindex(48,lb.r,lb.g,lb.b); // now that we have a custom color that has overwritten one of the POI constants (LIGHT_BLUE), // we can use "LIGHT_BLUE" with CF methods and it will understand what we're talking about // specify format object for "odd" rows format = {}; format.fgcolor="light_blue"; format.topborder="thin"; format.topbordercolor="grey_40_percent"; format.bottomborder="thin"; format.bottombordercolor="grey_40_percent"; format.leftborder="thin"; format.leftbordercolor="grey_40_percent"; format.rightborder="thin"; format.rightbordercolor="grey_40_percent"; // apply style formatting to row spreadsheetformatrows(excel,format,1);
As you can More >
Nov 1st
In my last post on CFSpreadsheet, I showed how you can easily create a custom row striping mechanism for your Excel data. The one downside of the approach I outlined, however, is that it relied on the limited number of functions that CF exposes from POI, the Java magic that makes CFSpreadsheet work.
While the OOTB method is all well and good, there are a number of limitations. One of the most severe is the limited number of colors that are available to use in spreadsheet styles. There are a couple of dozen “named” colors that can be used, but that’s it: tough luck if you want 3 light shades of grey 😉
However, like most things in ColdFusion, you don’t necessarily have to limit yourself to what is available through CF’s tags and methods. Rather, you can tap into the Java goodness underlying it, and modify, modify, modify to your heart’s content…including creating custom colors for CFSpreadsheet styles!
Creating a ColorFirst, let’s set up our workbook:
// create new workbook excel = spreadsheetnew("My Worksheet",false); // get underlying java methods goodness workbook= excel.getworkbook();
As before, we create a new spreadsheet with spreadsheetnew(). However, immediately following this, we invoke the getworkbook() method.
Now I don’t want More >
Oct 30th
In another post, I wrote about how you can replicate the functionality of cfcontent’s “reset” attribute in CFScript. The other day, I came across a related issue of needing to be able to do the same thing (all code in CFScript, that is) for cfheader. Fortunately, by using the same approaching of tapping into the underlying Java methods, this is extremely easy.
Setting StatusTo set the status code for the page request, simply do the following:
pc = getpagecontext().getresponse(); pc.getresponse().setstatus(301);
No big deal there. Also, be aware that the setstatus() method can take an optional second string attribute, so if you wish to define a message to accompanying the status code, feel free 🙂
Setting HeadersHonestly, I use headers in CF mostly for downloading files, or returning certain content types. Just as with setting the status, it’s pretty freaking simply to do in CFScript:
pc = getpagecontext().getresponse(); pc.getresponse().setcontenttype('application/vnd-ms.excel'); pc.setHeader("Content-Disposition","inline;filename=MyFile.xls");Share this:
Oct 27th
Philip Pullman is, to me, a polarizing figure. His Dark Materials is, without a doubt, among my favorite reads of all time. Sure, he manages to not-so-subtly weave the “evils” of the Roman Catholic church into his invented fantasy world. But honestly, the story is so otherwise compelling that such a deliberate and malevolent slight can be overlooked for its pettiness and childishness…in fact, in many ways, it serves the story quite well.
So given Pullman’s overt and public vitriol for Roman Catholicism specifically, and religious belief in general, I had some pretty strong assumptions about what he would do with the story of Jesus. Now let’s be honest: such is inescapable when approaching any book–our presuppositions always drive our experience. In this light, then, I think a really outstanding piece of writing is one that turns presuppositions on their heads–like His Dark Materials did. A meager and ultimately unsucessful attempt, on the other hand, is one that leaves the reader saying to themselves, “Well, that was terrifically predictable.” To spoil the ending right out of the gate, The Good Man Jesus and the Scoundrel Christ was the latter.
The Predictably Demythologized JesusPullman’s work is a part of a larger collection of books by various authors in More >
Oct 25th
In the second part of Auto-Tuning Theology, we stick with Athanasius and select a passage for which he is probably most famous: his outline of the doctrine of Theosis.
Listen to the TrackAs, then, he who desires to see God Who by nature is invisible and not to be beheld,
May yet perceive and know Him through His works,
So too let him who does not see Christ with his understanding at least consider Him
In His bodily works and test whether they be of man or God.
If they be of man, then let him scoff; but if they be of God, let him not mock at things which are no fit subject for scorn,
But rather let him recognize the fact
And marvel that things divine have been revealed to us by such humble means,
That through death deathlessness has been made known to us,
And through the Incarnation of the Word the Mind whence all things proceed has been declared,
And its Agent and Ordainer, the Word of God Himself.
He, indeed, assumed humanity that we might become God.
He, indeed, assumed humanity that we might become God.
He, indeed, assumed humanity that we might become God.
He, indeed, assumed More >
Oct 25th
This selection is from St. Athanasius’ famous On the Incarnation of the Word, section 26. This paragraph is an introduction to the argument which Athanasius makes regarding the necessity and efficacy of Christ’s death and resurrection.
Listen to the TrackShare this:Fitting indeed, then, and wholly consonant was the death on the cross for us; And we can see how reasonable it was, And why it is that the salvation of the world could be accomplished in no other way. Even on the cross He did not hide Himself from sight; Rather, He made all creation witness to the presence of its Maker. Then, having once let it be seen that it was truly dead, He did not allow that temple of His body to linger long, But forthwith on the third day raised it up, IMPASSIBLE and INCORRUPTIBLE
The pledge and token of His victory.
Oct 21st
Google is celebrating the birthday of the phenomenal jazz musician, Dizzy Gillespie. Dizzy died in 1993, and would have been 93 today.
Share this:Oct 20th
Today I was trying to get CF9’s new spreadsheet functionality to stripe the rows in the spreadsheet I was generating. From what I could find, there’s nothing inherent to the tag (cfspreadsheet) or any of the related functions to do this. I find this a bit curious, but stewing over should-have-been’s doesn’t get the job done. So I decided to roll my own solution.
The first thing to check out is the documentation for the spreadsheetformatrows() function. This takes 3 arguments:
The “row” argument is the most important. While you can’t specify something like “please stripe the rows with these two formatting objects” (wish list), you can either specify a range of rows (e.g., “3-12”) or a list of rows (e.g., “3,5,7,9”).
Ah, so if we can use a list of rows, the answer becomes apparent: all we have to do is roll through the query and create some lists of odd and even numbers!
To do this, I created a simple function:
function getnumlist(start,end) { // create structure to hold odd and even number lists numbers = structnew(); More >