Download Firefox -  a safer, easier to use web browser. Return to iribbit.net - Leap into the online experience! Return to iribbit.net - Leap into the online experience! iribbit.net - Leap into the online experience!

Project News :.

I recently began working with isafe.org to help in authoring guidelines for family oriented websites. The goal is to inform parents and other family members how to make sure that their web site, or any web site that they may appear on, is built in a way to maintain a certain or complete level of anonymity to the public eye.

In essence, these guidelines protect you and your family. If you, anyone you know, or if you know your name or picture is on any kind of website, these guidelines offer helpful suggests on how to make sure you do not fall victim to any sort of internet crimes.
Webmaster Guidelines(41kb)
(rough draft)

More information can be gathered by visiting isafe.org or you can download a collection of other guidelines below. These include cyber bullying, email threats, identity theft, intellectual property, internet fraud, malicious code, online personal safety, predator tip, and social networking:
Internet Safety Tip Sheets(445kb)
(collection)


Valid XHTML 1.0 Transitional

Valid CSS!

Section 508 Compliant

powered by: Macromedia ColdFusion MX

made with: Macromedia Dreamweaver MX

What is RSS

XML - often denotes RSS Feed information.

Macromedia - ColdFusion Programming
white horizontal rule

ColdFusion News :.

To bring a little life to my site, I've pulled a couple What is RSS Feeds into this page. You can currently choose between the technology related news stories from the following news sources:



You are currently viewing and RSS Feed from Raymond Camden's Blog.



Edge Inspect Brackets/Edge Code extension open sourced
A few weeks back I blogged a video demonstration of Edge Code and Edge Inspect integration. Basically you could automatically preview your HTML on mobile devices connected to Edge Inspect as you wrote code in Edge Code. That extension is now available up on GitHub: https://github.com/edge-code/edge-inspect-extension It also means that if you prefer Brackets to Edge Code, it is easier to get the bits and install it.
(Wed, 19 Jun 2013 07:53:00 -0400)
[view article in new window]

Edge Reflow CC
One of the many products updated last night as part of the Creative Cloud was a new version of Edge Reflow. Edge Reflow is a powerful prototyping tool for creating responsive designs. There are many updates but in this blog post I'm going to demonstrate just a few of them that related specifically to typography.First, let's look at Typekit integration: Next - check out the inline styling for text blocks: Finally, this video demonstrates how to specify base font settings for a document: One thing I didn't make clear in the video is how sizing works after you've done this. You may notice that the base font is in pixels and other text blocks are in ems. The impact of this is probably obvious to everyone (well everyone with more CSS experience than I have), but when you modify the base font size then all the elements using ems will correctly update relatively. So - while I'm still trying to find a way to make my videos look less half-assed - I encourage you to look at some much nicer ones. First up is a video tour of the new release: What's New in Edge Reflow CC? And check out the in-depth video tutorials by my coworker, Piotr: Getting Started with Reflow
(Tue, 18 Jun 2013 15:39:00 -0400)
[view article in new window]

Creative Cloud is Here
Good morning, folks. I know a few of you are tired (as I am) after staying up last night for the launch of Creative Cloud. If you haven't kept up to date, the Creative Cloud (CC) is the new version of our Creative Suite. Creative Cloud gives you access to over thirty different applications and services, including hundreds of new features to products like Photoshop, Illustrator, Dreamweaver, and the Edge tools. Pricing options include versions for individuals, teams, enterprises, and education. You can also sign up for free to get trials and download preview versions of some of the applications. (The free membership also gives you 2 gigs of storage space!) You can see details here: https://creative.adobe.com/plans
Even better, it is now much easier to actually install these applications. The new desktop application gives you one click access to installing new applications as well as handling updates. Along with simplifying installation and updates, the desktop tool gives you a history of your actions and integrates with Behance. Soon it will provide for file syncing and Typekit desktop fonts. But what if you don't even know how to use these new tools? Today we also launched over 200 new videos. These are great for both old and new users alike. I plan on blogging more later about some of my favorite tools (Reflow, Inspect, Code) but would love to hear any questions (or comments) about any of the tools.
(Tue, 18 Jun 2013 07:03:00 -0400)
[view article in new window]

ColdFusion Job Opening - State College, PA
As always - just passing it on... ColdFusion Developer State College, PA http://www.higheredjobs.com/admin/details.cfm?JobCode=175762625
HigherEdJobs is looking for a Web Developer to work closely with our Project Manager in design, development and maintenance of all web applications. Our ideal candidate is organized, able to act independently and switch rapidly between different projects. Excellent interpersonal, written and verbal communication skills are required. HigherEdJobs specializes in listing open positions at colleges and universities. Founded in 1996, the company is now an industry leader. The HigherEdJobs.com web site is visited over 2.5 million times a month and lists over 20,000 jobs from over 2,100 colleges and universities. The company is based in State College, Pennsylvania and also has a location in Illinois.

(Mon, 17 Jun 2013 16:36:00 -0400)
[view article in new window]

Recording + Assets from PhoneGap Presentation
Thanks to those who showed up today for my PhoneGap presentation as part of ColdBox Developer Week. You may find the recording here: https://experts.adobeconnect.com/_a204547676/p6a701ksfig/ Slide deck and demos may be found on GitHub: https://github.com/cfjedimaster/Introduction-to-PhoneGap As always, comments and criticisms are welcome.
(Mon, 17 Jun 2013 13:13:00 -0400)
[view article in new window]

Another Sunday morning mega-video game review
It's been a while since I reviewed a video game on this blog so I thought I'd use today to catch you guys up with what I've been playing the last few months. As always, comments are welcome.

Dead Island: Riptide

I reviewed Dead Island nearly two years ago, and it is stands out as my favorite zombie game ever. I had high hopes for this update but was rather disappointed to discover that it was nothing more than a packaged up DLC. Turns out other reviewers noted the same thing. It certainly starts off like a sequel - pretty much picking up mere minutes after the finish of the previous game - but the actual gameplay is nearly identical to the previous game. That bugged me at first, but, honestly, I let go of that and just tried to enjoy myself. I remembered how frightening some of the situations could be in the original and the same applied here. I remember how fun it was to attack zombies and the same applied here. As I've said, I'm not a gore person, but there is something just plan fun about taking a katana to a zombie. I've finished this game, and I enjoyed it, but I'd definitely not pick it up while it is still full priced. (I just checked my Amazon link and I see it is 30 dollars now. To me, that's on the edge. If you really enjoyed the first game than go ahead and jump.) By the way - I wonder if I'm the only one who encountered the "ship bug". I had been playing for roughly five minutes when a wave pushed me into a room with no exits. I can't remember the last time I saw a bug like that in a video game.

Aliens: Colonial Marines

I'm really torn about this one. Let me start by saying that I'm only about 20% through this game and - obviously - my opinion may change by the end. I went into this game with low expectations. The reviews were not good. But - I love the Aliens franchise. I've watched every movie, and while the quality goes downhill rather quickly in 3 and 4, I still will watch them and enjoy parts of them. I can remember watching Alien when I was too young, and since that time they have continued to scare the crap out of me. My thoughts going into this game were simple - as long as the game was barely decent, let's say "C" level, then being in the Aliens mythos would be enough for me. Did that work out? Well, the first thing you notice when playing is how horrible the graphics are. I mean - my god. The graphics are so bad you almost want to congratulate the developers. They had to work hard to ship a game with an engine that looks - I kid you not - like a 10 year old game. Way back in 2011 I reviewed Homefront. This was another game with a bad graphics engine. But to me - the story and other aspects more than made up for it. Let me be clear. Aliens:CM makes Homefront look like freaking Crysis. As others have noted - many screenshots of the game were released before the game and not one of them come close to the actual final product. Here is a great image which just about sums it up. (Credit: http://furiousfanboys.com/2013/02/aliens-colonial-marines-summed-up-in-one-image/) Then there's the controller. I can pretty much deal with any controller setup, but something about this game's design just doesn't work out well for me. Mainly it is the melee attack. I accidentally trigger it in just about every encounter I have. I've died multiple times when I swung my weapon instead of actually firing it. Oh - and then there's the difficulty. I can generally play more FPS games at medium level. Not this one. With large gaps between checkpoints I had to 'give up' a game I was 2 hours in and restart back at the beginning on the lowest difficulty level. It is insanely hard and unforgiving. But... there is something to this game that keeps bringing me back. Maybe it's the sound of the pulse rifle. Maybe it's the sound of the range finder and memories of the Aliens movie. You have all the parts here to a potential epic game. Combat, even with frustrating controls and difficulty works very well at times. Let me give you an example. You're on a ledge walking along a wall when you see a xenomorph headed your way. You're using a shotgun so you know you need to wait till it is practically kissing you before you can pull the trigger. You watch as it races towards you when 30 feet away the fricker decides to stop walking on the ledge and crawl - like a bug - under the damn thing. That - is - freaky. You panic. You start jumping around looking in every direction. You know that if it sneaks up behind you and gets one hit in you're probably dead. (Which - while frustrating - is probably more realistic.) Sure, you can find Youtube videos of the enemy AI doing stupid things, but when it works, it works very well in terms of ramping up the suspense levels. Overall the game is somewhat of a failure - but I'm going to finish it.

Injustice

I have a weird relationship with fighting games. I enjoy them - but only for a short time. Mostly it is due to the fact that my memory is crap. I can never remember than 10+ button combinations for various moves. My fighting strategy then comes down to lucky button mashing combos and just going crazy. I dig that - but it doesn't make for a very deep experience. So far I'm having a hell of a fun time with Injustice. If you forget for a moment that Batman could stand a chance against Superman and just go with the whole willful suspension of belief thing - it is incredibly fun. The most fun - of course - are the super moves. These are 15-second long attacks that are so over the top they don't even make sense. For example, check out the Joker's. My son and I both died laughing watching this. I had to pause the game. Not every one works well, but when it does, it stands up to multiple viewings even. I'm currently about 80% through with the story and I really dig it. The game gives you a good reason for super heroes to be fighting each other. (I'll point out that the comic series made for the game is damn good. Very surprising for a game time-in.) Out of all three games I've mentioned in this blog entry, this is the one I'd recommend the most.
(Sun, 16 Jun 2013 08:07:00 -0400)
[view article in new window]

More on my JavaScriptCookbook Node project
Over the past couple of days I've made more progress on the Node project I started. If you haven't read the first article, click that previous link for the background. Here's what I've been able to do since my first post.

GitHub

I mentioned this in the comments, but if you want to look at, and criticize, my Node code, you can do so at GitHub: https://github.com/cfjedimaster/javascriptcookbook. Everything is in there except for the JSON file that I used to store authentication information for the admin panel and my Gmail integration (more on that in a minute). As I think I say every time, I'm still a Node/Express noob, so I wouldn't consider this to be good code, but the site is complete for now.

Email

I used the excellent Nodemailer module to set up email support for my application. All I needed was the ability to send an email to myself and this worked fine. Here's a code snippet from my app.js showing this in action. The only oddity I ran into was that even though I set the From to be your name and email address, when it shows up in Gmail it is always my email address. I'm assuming that is a Gmail security thing. If anyone knows better, let me know. Since I include the sender's email address anyway this isn't a deal breaker for me.

MongoDB

I tell ya what. I never want to write SQL again. This isn't the first time I used Mongo but my god - what a pleasure. Here are a few examples. I think that $or search is the one I like the most.

Templating

I hate the Jade templating system and EJS is ok, but my favorite templating system is Handlebars. The HBS module gives me access to that inside my views. I can even extend it with my own utility functions. Here is one sample view:

Commenting

Yeah, Disqus. Done.

Hosting

I love AppFog. How much do I love AppFog? AppFog is this: Let me describe what their process was like for me.
  • I signed up.
  • I made a new app.
  • I clicked about 2 buttons to add Mongo support.
  • I installed the command line tool via npm.
  • I typed "af update javascriptcookbook"
That's it. I was done. Period. And it worked! Now it turns out I was supposed to modify one line: app.listen(3000) needed to change to app.listen(process.env.VCAP_APP_PORT || 3000). But even before I did that it worked. Heck, I didn't even have to tweak Mongo. So now my process is - I make some changes - I commit to GitHub - I push up to AppFog. The update process for AppFog takes about 20 seconds. I'm so happy with them that I'm going to go ahead and take the plunge and spend the 20 bucks a month. (Although I'll probably end up putting an AdSense ad on the site to help pay for it.) Want to give it a whirl? Check it out here: http://javascriptcookbook.aws.af.cm. I am definitely looking for some submissions now and would love someone to make a favicon if they feel so inclined. ;)
(Fri, 14 Jun 2013 11:27:00 -0400)
[view article in new window]

Looking for ColdFusion support in Brackets?
Were you waiting to check out Brackets until ColdFusion support was available? Good news - Reto Aeberli has released an extension that provides basic support for ColdFusion. It doesn't support functions or cfscript yet, but it is an excellent start. You can download the extension from the web site he created: http://cfbrackets.org/
(Fri, 14 Jun 2013 06:54:00 -0400)
[view article in new window]

Using Errorception with PhoneGap
I thought I had blogged about Errorception before, but unless my search engine skills are failing me I must not have ever gotten around to it. Errorception is a service that aggregates and reports on client-side errors on your web site. By placing a simple embed in your HTML code, all errors will be sent off to their service for your perusal. When I first tested this service, I remember thinking, glibly, that I hope I'd get enough data points to make it worthwhile to demonstrate. I mean, my blog runs well, I never see any errors myself, so I just kinda assumed everything was good. Heh.I logged in to the Errorception portal after a week and discovered that there were a huge amount of errors reported. Obviously my blog "worked", and most of these bugs were not preventing people from using my site, but I really had no idea what was going on and Errorception provided a wealth of data. Here are some screen shots from those reports. (Note that the screenshots are from last year.) First - the general list of issues: Then a drill down: And yet another drill down: Errorception is not a free service, but the pricing model seems rather fair to me and as I said - I can bet you've got more issues than you think you do. So what about PhoneGap? When I tried to use the Errorception code snippet with PhoneGap, I noted that the error reporting didn't work. I got in contact with the Errorception team and Rakesh Pai was able to figure out the issue. Here is the original snippet: Rakesh noticed this:
It turns out, the problem you faced is indeed trivial, fortunately. The tracking snippet Errorception gives you is protocol-relative, so as to make it work on HTTP and HTTPS. However, on phonegap, the protocol for the 'index.html' page is file://, and so the tracking snippet fails to load (404). The fix is simple: it's to modify the snippet to load the beacon from a hard-coded http/https protocol
Here is his modified snippet: That worked! I fired up both my iOS simulator and my Android simulator and as soon as I forced my error they showed up immediately in the console. Notice that the error is reported differently in iOS versus Android.
(Thu, 13 Jun 2013 06:57:00 -0400)
[view article in new window]

Have some Ramen with your ColdFusion
This morning (which now seems like a reallong time ago), I tweeted about how spoiled I am with npm and package management in general. If you've never experienced this, let me give you a real quick, rough idea of what this means as a developer.I needed to add email support to a Node.js project I'm building (javascriptcookbook.com - almost done - honest!). Once I found the name of the package I needed, I modified my package.json file. The package.json file, for Node apps, is like a metadata file for your application. Here is how it looked before I changed it: To add my email package, I added one line. In Terminal, I typed npm install, hit enter, and that was it. The npm command line took care of grabbing "nodemailer" and seeing what it needed. It then grabbed those resources. And oh yeah, if that crap needed something it got that too. All while ensuring it didn't re-download anything it didn't need to. Yeah, I really freaking dig that. As I said in the beginning, I'm getting spoiled by it. After tweeting about it though a few friends replied and mentioned the Ramen project by Adam Tuttle: https://github.com/CFCommunity/ramen While not the exact same, it is pretty cool to see something like this being built for ColdFusion developers. You can see it in action below.

Ramen: An Integrated Installer for ColdFusion 8+ from Adam Tuttle on Vimeo.


(Wed, 12 Jun 2013 16:35:00 -0400)
[view article in new window]

Vote and Suggest Topics for the CF Summit
If you are interested in attending the CF Summit later this year, then please consider participating in the public Trello board: CF Session Ideas. You can add your own suggestions or cast votes for sessions you would like to attend.
(Wed, 12 Jun 2013 06:58:00 -0400)
[view article in new window]

Edge Code CC and Edge Inspect Integration
This is something I demoed a bit quickly at MAX but I thought it would be nice to create a video to demonstrate it more fully. The next release of Edge Code will include support for Edge Inspect directly within the editor itself. Make sense? No? Then watch the video!
(Tue, 11 Jun 2013 15:59:00 -0400)
[view article in new window]

New Project: JavaScript Cookbook
After traveling the last couple of weeks I've got a little break now between conferences and I thought it would be cool to spend some free time on a little project. A few weeks back I purchased javascriptcookbook.com (still can't believe that was available). I'm a huge fan of cookbook-type sites as I find them a much better way to learn about technology than simple "101-style" books. (And I say this as the author of multiple 101-style books.) As I work on client-side development more and more, I find myself hunting down the same type of tricks/techniques/etc multiple times. As an example, "How do I select a random number between two integers?" I figured - why not create a web site so I can collect these things? At worse, I'll learn a few things about Node while I build it, and at best, maybe others will contribute and help build some content. Here is the technology stack I'm using:

Server Side

  • Node.js, with Express. I love how easy it is to quickly set up a simple web site with Node and Express. As I've said before, Express is what made me stop smirking at Node and calling it a "web server builder." To be honest, I could whip up a simple content management site in ColdFusion in 2 hours, but I wouldn't learn anything.
  • hbs is a simple npm module that lets you use Handlebars in your views. All in all it feels a bit like writing simple CFML.
  • MongoDB for data persistence. I haven't used Mongo in years, but it too was rather easy to set up in Node. This article was incredibly helpful and made it simple to learn.

Hosting

I'm not entirely sure yet on this one, but this is what I'm considering...
  • I'm going to start with AppFog, a hosting system that supports Node, Mongo, and other things. They have a free tier I want to play with. Their lowest non-free tier is 20 dollars a month, which is cheap, but as I already pay for hosting, I'm not sure I want to pay more.
  • So if I don't use another host, I may just use this box. I've already learned how to proxy Apache to Node, so all I'd have to do is research how to monitor/launch at boot/relaunch on crash a Node app in Windows.
  • Parse also has Node hosting, and I freaking love Parse. They have a free tier that includes 1 million requests. If you were to get two million your cost would be 70 dollars. Two million hits in a month would be a huge success so I may consider this as well.

Front End

I considered going fancy with Backbone, but frankly, this is an incredibly simple content site, not an "app". I'm using a nice little Bootstrap theme I found and will just do my best to KISS. I'll also be putting this into a GitHub repo in case anyone wants to see the work behind the scenes, make improvements, or just criticize my Node-code. ;)
(Mon, 10 Jun 2013 09:08:00 -0400)
[view article in new window]

IndexedDB and Date Example
About an hour ago I gave a presentation on IndexedDB. One of the attendees asked about dates and being able to filter based on a date range. I told him that my assumption was that you would need to convert the dates into numbers and use a number-based range. Turns out I was wrong. Here is an example.I began by creating an objectstore that used an index on the created field. Since our intent is to search via a date field, I decided "created" would be a good name. I also named my objectstore as "data". Boring, but it works. Next - I built a simple way to seed data. I based on a button click event to add 10 objects. Each object will have one property, created, and the date object will be based on a random date from now till 7 days in the future. Note that since IndexedDB calls are asynchronous, my code should handle updating the user to let them know when the operation is done. Since this is just a quick demo though, and since that add operation will complete incredibly fast, I decided to not worry about it. So at this point we'd have an application that lets us add data containing a created property with a valid JavaScript date. Note I didn't change it to milliseconds. I just passed it in as is. For the final portion I added two date fields on my page. In Chrome this is rendered nicely: Based on these, I can then create an IndexedDB range of either bounds, lowerBounds, or upperBounds. I.e., give me crap either after a date, before a date, or inside a date range. The only conversion required here was to take the user input and turn it into "real" date objects. Once done, everything works great: You can run the full demo below.
(Thu, 06 Jun 2013 09:33:00 -0400)
[view article in new window]

Have a published PhoneGap app? Try the Windows Phone Porting Challenge
If you have published a PhoneGap application to any of the existing app stores (and if you haven't, then you really need to get on it!) then you should consider taking Microsoft's Windows Phone Porting Challenge. Simply port your application and test it in the Windows Phone Emulator and then publish it to the Windows Phone Store by June 30th, 2013. Prizes for winners include Surface Pros and Windows devices. To be clear, those of you with Macs (like myself) can test with VMFusion. I have and have had success seeing my content show up on my Windows Phone device. To help you get started, here's an introductory video on PhoneGap and Windows Phone. (By the way, the video is having issues loading for me at random times. Sorry if you don't see it.) Note - even if you haven't published a PhoneGap application to an app store yet, you can do so and then submit your app to Microsoft!
(Mon, 03 Jun 2013 15:33:00 -0400)
[view article in new window]


© The connection to the CAMDEN's RSS feed has timed out - please try again later. We are sorry for any inconvenience this may have caused.