This is no joke. You should be following this news.
Read more @ http://www.salon.com/opinion/greenwald/2008/09/24/army/
Archive for September, 2008
This is no joke. You should be following this news.
Ok, trying to be as dramatic as I can be in my title about a new undocumented method in CF8 called “getValueWIthoutChange”.
You’ve seen me post before on how hard is to get underlying session information from CF.
When I saw this blog post by Terry Palmer, I almost had to blink twice. If you don’t know what I’m talking about, well, his blog entry has all the details.
I’ll be looking at the code closer and seeing if we can’t do some interesting stuff with it. For now, read on, and enjoy!
I don’t know how many of you guys remember Reactor? All the buzz has been around Transfer for the past couple years. We’ve been using Reactor since 2006 in production with little to no issues.
Now that Doug Hughes posted that he has handing management of the Reactor Framework to Mark Drew, its great news. Read more @ Doug’s Blog.
I do have a couple gripes about Reactor though, which I’ve expressed to numerous people, including Doug since 2006, and I wanted to make them public here.
One is that Reactor doesn’t support schema’s out of the box for MS SQL 2005. I can’t speak for other DBs. If every table in your DB is owned by DBO, i.e. DBO.tableName, then you are fine. But if you are like us, and have multiple Schemas, then you have to hack Reactor. What’s worse, the hack is SOOOO simple. Reactor goes through and figures out your DB anyway, and it can figure out the Schema and add it to its call, but it doesn’t. Simple right? But we’ve been running the hacked version for years because Doug thinks “Reactor is stable” so he decided not to change it to add this functionality.
More details @ http://www.reactorframework.com/ticket/42.
The other issue is Reactor creating CF UUIDs when it should be creating MSSQL GUIDs.
My one enhancement for Reactor would be suggesting caching for queries. When Reactor was released, we were still in the CF7 world. But now that queries with cfqueryparam’s can be cached, it makes sense to add that.
Excited to see some movement with the framework, and look forward to seeing what’s next.
Anyone have experience with Adobe Presenter 7?
Is it just me, or is Presenter WAYYYYYYY buggy?!
Just like the Small Business Administration’s doc, I came across this completely by accident. Just like SBA’s doc, this one is pertinent to their environment, but worth a look nonetheless.Download it while you still can!
Interesting article on what Google may be planning to do to avoid taxes and lower costs.
Read more @ http://technology.timesonline.co.uk/tol/news/tech_and_web/the_web/article4753389.ece?print=yes.
Ok, so in my previous post on PDF forms with CF8, I tried really hard to figure why I couldn’t simply create a form in Acrobat, fill it out using CF, and make what I filled out like the other static text, so that the user can’t change the form.
Turns out CF8 CANNOT do this natively. Its a simple use case. In our case, we are creating nice certificates for our users when they complete and pass an exam.
To make things worse, the CF8 docs make it seem like its doable. With words like “flatten” make you think everything’s going to be all right. But it aint. Flattening obliterates all the fields, removing them all together, while the documentation says : removes interactivity. Hell yeah, its no longer interactive!
But there is hope. With a little iText (dont be scared, its simple) and Javaloader magic, I was able to get it to work.
Let’s run through the code, shall we?
Download Mark Mandel’s JavaLoader from RiaForge and iText (latest version).
Follow the code below. And that is it!
// First we load the latest iText JAR using JavaLoader. Adjust paths as necessary. paths = arrayNew(1); // Latest iText JAR paths = expandPath("iText-2.1.3.jar"); // Use Mark JL loader = createObject("component", "javaloader.JavaLoader").init( paths ); // I've already named the blank cert form and the new populated cert previous. Adjust as you see fit. newFile=expandPath(local.newPDFFile); pdfFile=expandPath(local.PDFFile); // Then some iText Magic fos=createObject("java","java.io.FileOutputStream").init(newFile); reader = loader.create("com.lowagie.text.pdf.PdfReader").init(pdfFile); pdfStamper = loader.create("com.lowagie.text.pdf.PdfStamper").init(reader, fos); // add some data to the form pdfForm=pdfStamper.getAcroFields(); // We have 3 fields, first_last, orgCity_orgState, and date // Here we are using the form scope, adjust as necessary. pdfForm.setField("First_Last", trim(form.First_Last)); pdfForm.setField("OrgCity_OrgState", trim(form.OrgCity_OrgState)); pdfForm.setField("Date", trim(form.Date)); // Lets do a REAL flatten. pdfStamper.setFormFlattening(true); // Close out! pdfStamper.close(); reader.close();
Last, serve up the file!
<cfcontent type="application/pdf" reset="true" file="#ExpandPath(local.newPDFFile)#" >
We’ve been using SVN 1.4 with SVNMerge.exe to manage merges between our branches and trunk. Each developer works in a branch and merge his stuff into the trunk, and also picks up any new stuff from trunk back into his branch. Has worked well for us.
We use a tool called svnmerge.exe. Now that SVN 1.5 is here, and our SCM (CollabNet, formerly known as SourceForge OnDemand) has upgraded, we’d like to migrate our merge history over to the new format.
Fortunately, svnmerge provides a tool for that. Unfortunately, its written in Python. Does anyone have experience with this?
This is what SVNMerge’s website states: