November 21, 2008

Pages


Search Site


Topics



Archives

Tweets

Entries Tagged as 'Community'

Post Your Verity Snippets to CFSnippets.org

July 15 2008 by Adam

You're developing your CFML in Eclipse, right? And you're probably using CFEclipse and Subclipse to go along with that. Of course!

But are you using Snippets? You should be!

And you should be using the SnipEx client built right into CFEclipse. Todd Sharp's CFSnippets.org is a free public SnipEx library focused on ColdFusion and CFML developers. And as of today, thanks to yours truly, there is a Verity Library, too. It's often said that one could make a career out of implementing and tuning Verity, so it's obviously something that can be very complex and difficult to remember between uses. I'm no Verity pro, but I've added my most frequently used snippet and I'm curious to see what other developers have done with Verity.

So go on, post your snippets. Let's all make searching easier and search results better.

Posted in ColdFusion | Community | 1 comments

HostMySite Releases Beefier "Professional" VPS Plans… BUT!

July 02 2008 by Adam

HostMySite, arguably the most popular and most highly spoken of ColdFusion hosting provider now has what it refers to as their Professional VPS offering — in addition to their previous offerings. And here are the specs of note:

  • RAM: 2gb Guaranteed — previous options: 512mb or 1gb
  • Disk Space: 100gb — previous options: 10 or 22gb
  • Bandwidth: 800gb / month — previously: 400gb
  • SQL Server: Standard — previous options: Express or Workgroup
  • Setup remains free (currently, through the month of July, according to the site.)

And what does this new professional VPS cost? $3,228 per year, if you pay for a full year in advance, or $3,468 per year if you pay monthly. Now, before I get to complaining, let me say that I understand first hand that running a business is about making money and you can't just give your products and services away.

For every hosting account that they give away to various community sites (ie: User Groups get free hosting), they have to pad a little bit into their pricing to make up the loss. And you also have to pay your employees — which I'm sure they have quite a few, to keep their reputation for excellent customer service — and your own bills, and make a little bit extra. That's just how businesses work.

But here's my gripe. $3,200? Are you freaking kidding me?

An Enterprise license costs $7,500. And there's hardware, redundancy, electricity, and internet connectivity to think about. So you know, maybe for someone who needs that sort of hardware, bandwidth, and storage capacity, it's not such a terrible deal. But from what I understand, their "plus" VPS plan with 1gb of ram is just barely manageable, and the few people I've spoken to about it don't think they could manage with the 512mb of ram in their ever-so-slightly cheaper VPS plan.

But what about those of us who would like the performance of a VPS (as compared to shared hosting), but don't necessarily need 800gb of bandwidth or 100gb of storage? How about a "doesn't suck" VPS plan, that has:

  • 1.5gb ram
  • 5gb storage
  • 10gb bandwidth
  • SQL Server Express (which, need I remind you, is absolutely free?)

What would something like that cost? I'd like to see it at the same price as the "plus" plan ($169), if not the standard plan ($116). It seems pretty simple to me: Build machines with gobs and gobs of ram, and reasonably sized hard drives; instead of the other way around.

Posted in ColdFusion | Community | 4 comments

CFConversations — Episode 4: Featuring Yours Truly (And a peak at some things that we *didn't* talk about!)

June 24 2008 by Adam

Ok so in all seriousness I wasn't a special guest or anything, but I did get the opportunity to participate in the recording of Episode 4 — released early this morning — and I couldn't pass it up. I'll do my best to get links together for everyone that participated, but I don't think they all have a blog or even twitter account — or I may just not have them all. Sorry if I miss anyone! (But tell me, so I can update the list…)

I'm not going to spoil the podcast for you, but I thought it might be interesting to write about some of the things we discussed in our BOF-turned-session (… turned-podcast) that didn't go into the podcast. The BOF was, of course, part of CFUnited 2008. The exercise was to brainstorm ideas for promoting CFML outside of the CFML community, and then to pick the best ideas as a group, and come up with a potential strategy for implementing them.

One person in each group was assigned the task of thinking of ludicrous ideas that would never get implemented. My perception of this role was that it was there primarily to set the tone in the group that there were no limitations — that no idea was too grandiose — and that the important thing was just to get the creative juices flowing, and sort out the good from the bad later. I have to say that I think this was a brilliant move on Brian's part. Here are some of the ideas that the PHP Reformers group came up with that, while … "interesting" … didn't get voted high enough to be given much attention. I suppose I should preface this by saying that these aren't intended to be condescending or hurtful to the PHP community, a majority of these came from our designated ludicrous idea contributor.

  • Write a PHP Virus (Written in PHP? Attacks PHP? Who knows?)
  • "Adopt a PHP Developer" week
  • Free hosting
  • CF vs. PHP commercials (ala Mac vs. PC)
  • Spy on PHP for new feature ideas
  • Get a CF Mascot / spokesperson
  • Hold CFUnited @ Hooters Casino in Las Vegas
  • Buy CF and get a mail order bride
  • Guerilla warfare — Join the PHP team and sabotage their codebase
  • Make star wars style movie for CF
  • Nascar driver for CF — Adam Haskell actually mentioned this in the podcast…
  • Rent a blimp
  • Two words: Superbowl Ad
  • <CFPorn />
  • Celebrity Advocation
  • Smear campaign against PHP (Bad spokesperson, false rumors, etc)

Can you build on this list? What other ways (again, the point is to be over the top!) could you convince more PHP developers to learn CFML?

Posted in Community |

Hacking BlogCFC: Part 2 – Replacing the INI file (write) with XML

February 07 2008 by Adam
In Hacking BlogCFC: Part 1 – Replacing the INI file (read) with XML I showed how you can replace the file blog.ini.cfm with an XML file (blog.xml.cfm) and modify part of the core of BlogCFC to read the data from this new XML format. The motivation for doing so was that on some ColdFusion hosts the getProfileString() and setProfileString() functions are considered a security risk and blocked. Today I'll show you how to modify the setProperty() method of /org/camden/blog.cfc to update that XML file, completing the transparency of the change, by giving the appearance that nothing has been changed at all. In Part 1, I had you modify setProperty() and comment out its contents. Now, go back and replace that (leaving the original arguments in place) with the following: [viewcode] src="blog.cfc.setProperty.2.txt" showsyntax=no geshi=cfm [/viewcode] What we're doing here is loading the XML file into memory, using Regular Expressions to find the setting tag that we want to update, and replacing it with a new one built from the name and value passed into the function. Then we write the XML file back out, and all is well. Notice that I'm still using lcase() on the key name, because we want to ensure that the settings file remains in lower case so that our reading function can find the settings it's looking for. That's it! Now you can run BlogCFC on a host that blocks set/getProfileString(). Happy Blogging.

Posted in ColdFusion | Community | Meta |

Hacking BlogCFC: Part 1 – Replacing the INI file (read) with XML

February 06 2008 by Adam
This is Part 1 of a small series of posts I'm planning on running that will cover hacking (using the term loosely) BlogCFC. For Part 1, my goal is to remove the use of the functions getProfileString() and setProfileString(). What's my motivation? Some hosts consider them a security risk, and block their use. This is the problem I was faced with, at least; and I know I'm not alone! Not to worry, replacing them with XML functionality is a piece of cake! "But Adam!" I can almost hear you scream… "You're using WordPress!" And indeed, that is true (much to my own chagrin). However, I am working on something sort of big, and when I launch it, I intend to move this blog to the new domain, and use BlogCFC instead of WP. That's my real motivation: Getting it to work for myself. Ray has said that he is converting these functions to use XML in BlogCFC6, and that the code is available in the SVN repository. I checked because I didn't want to waste time writing this code if he had already done it for me, but it isn't very complete yet — so there's not too much to be able to rip off borrow.
Note that what I'm about to tell you has a few caveats. Namely, that you'll need to keep the file blog.ini.cfm in place, but its contents don't matter much. Also, I have not tested this on a setup with multiple blogs running from the same codebase, and I suspect that you would run into further difficulties if you were to try it. If that's the case, I suggest you hold out for BlogCFC 6. If there's interest, I might take a stab at including this functionality as Part 3.
The first thing you need to do is convert the INI file to an XML file. I've created one based on the default blog.ini.cfm file — though note that I took out the trackback spam list values for brevity's sake. Just open up your copy of blog.ini.cfm and copy / paste them over. However, if we leave this as an XML file, there would be nothing stopping someone from grabbing your XML file and finding your mail server username and password, and other private information (if the org folder is web accessible, which it shouldn't be if at all possible). In order to protect against that, we'll take our XML, wrap it in a ColdFusion comment tag, and append the ".cfm" extension. This will stop people from being able to find your settings because pulling it up in a browser returns nothing. (You can also edit Application.cfm in the /org/camden/blog/ folder to <cfabort> if the settings file is requested, but it isn't necessary) Here is the entire listing of blog.xml.cfm: [viewcode] src="blog.xml.cfm.txt" showsyntax=no geshi=xml[/viewcode] You might have noticed that I converted all of the setting names to lower case. This is important, and I'll explain why just a little bit later. Next, comment out the two functional lines of code in the setProperty() function of /org/camden/blog/blog.cfc (just like Trond), like so: [viewcode] src="blog.cfc.setProperty.txt" showsyntax=no geshi=cfm[/viewcode] This will let us fiddle with the data reading without having to worry about data writing for a few moments. Now, with that disabled for the time being, let's alter the data reader code to use our XML file instead of the INI file. Open up /org/camden/blog/utils.cfc and replace the body of the function configParam() (after the arguments) with the following: [viewcode] src="utils.cfc.configParam.txt" showsyntax=no geshi=cfm[/viewcode] This will load our XML data into memory, strip the CFML comment tags, parse it as XML, search it using the XPath expression settings/setting[@name='#lcase(arguments.key)#'], and return the value attribute of the first matching "setting" node found. Again, notice that I'm using lcase() on arguments.key. This is because we can not be sure that the keys are always requested in the same case in other functions, and case matters when searching XML. So searching for "DSN" and "Dsn" could potentially return different values. To get around this, we're converting all requested key's to lower case, and earlier we converted all of the key names (setting names) in the XML to lower case. Now, searching for "DSN" and "Dsn" both actually search for "dsn", and return the expected value. If we leave things in their current state, then your instance of BlogCFC will read its settings from the XML file. You won't be able to update those settings without manually editing the XML, because we don't yet have a facility to write changed settings back to the XML file. So to change a setting, first update the XML file, then go into your blog administrator and click the "Refresh Blog Cache" menu item. In Part 2, I'll cover the new setting-writer functionality, so that everything works transparently, as if it were still using the INI file.

Posted in ColdFusion | Community | Meta |