How much Social is too much Social?

I just counted over 20 social links off of a single site. My apocalyptic forecast for next year: the social bubble will pop.

Me on Twitter – December 30, 2008

Figures stand in a circle, hand-in-hand.

How much social networking is too much social networking? I've been wondering about this for a few months now, as I look at trying to identify which, if any, social links I should have on my site. Are the standard BlogCFC array of Digg, Del.icio.us, and Technorati enough? Are they too many? Are they the right ones for my blog?

I'm beginning to think that there are just too many social sites; everyone knows the "social" buzzword now, so these kind of services are a dime a dozen. Are there too many? If not, which ones should you join? This article on mashable.com says you can be in four, but I'm only on three (linkedIn, Facebook, and Twitter), and I don't even check all of those in a month (and the mashable.com interviewee doesn't check her four either).

In the end, I think that dedicated social networking and social referral sites are going to need to consolidate and thin out in order to make themselves more useful. Social elements like reviews and ratings on sites are here to stay, but how many social book marking sites can the web really sustain?

 

Tweaking BlogCFC: Theme Management

Preview of the Theme Management section in the BlogCFC Administrator.One of the really nice things about Wordpress is that it has a very easy to use admin for managing your blog's theme. Working with the design in BlogCFC is a pain: the design is integrated into the actual code for the blog. Further, the code for designs is strewn through a number of different folders (includes/, images/, tags/, includes/pods/, etc.), which makes it hard to fully update a design. I've made the necessary changes to make BlogCFC handle custom theming as easily as Wordpress: click more to see the details.

 

Regex Tester Link

Thank you to the anonymous person that let me know that the link I had to my ColdFusion 8 and Java Regex Tester setup wasn't working. During my redesign the link got smashed, and I had missed it.

For reference, its new home is http://www.jonhartmann.com/regex.cfm, or you can click here to view the ColdFusion 8 and Java Regex Tester

 

Utility Function: Singularize()

Well, after doing pluralize(), it should be no surprise that I also wanted to do singularize(). There are actually more rules for this one, even though I tried harder to make the rules smarter, rather then more numerous. In the end, the code is identical, save for the different list of patterns to match. Again, these patterns are based on the singularization regular expressions I found on ThinkSharp.org, although with my own modifications. Read more to see the code and the results of testing.

 

Utility Function: Pluralize()

So, I've been putting up a bunch of functions to work with Java patterns, especially working with groups. Now its time to put some of them to work to make a function to handle pluralization. Pluralizing arbitrary strings is important in dynamic systems, and used heavily in some ORM schemes, so I thought I'd try to make one. My first version is based on pluralization regular expressions found at ThinkSharp, although I've made some modifications and changes to make the substitutions more dynamic, and preventing pluralization rules from altering a word that already appears to be pluralized. Click more to check out the code and the tests.

 

Utility Function: PatternReplace()

Ok, so this one is neat. It takes a pattern and a string, extracts the groups, and then injects the groups into a replacement string based on group numbers. The notation "$x" is used to indicate replacement position, where x is the group number you want to use. The neat thing is that position 0 always corresponds to the whole original string.


<cffunction name="PatternReplace" output="false" returntype="string">
    <cfargument name="pattern" type="string" required="true" />
    <cfargument name="string" type="string" required="true" />
    <cfargument name="replacement" type="string" required="true" />
    
    <cfset var local = StructNew() />
    
    <cfif IsSimpleValue(arguments.pattern)>
        <cfset arguments.pattern = CreateObject("java", "java.util.regex.Pattern").compile(arguments.pattern) />
    </cfif>
    
    <cfset local.matcher = arguments.pattern.matcher(arguments.string) >
    
    <cfreturn local.matcher.replaceAll(arguments.replacement) />
</cffunction>

Example:


<!--- This results in "google dog" --->
<cfset x = PatternReplace("d(o)(g)", "dog", "$2$1$1$2le $0") />

 

More Entries

Jon Hartmann, July 2011

I'm Jon Hartmann and I'm a Javascript fanatic, UX/UI evangelist and former ColdFusion master. I blog about mysterious error messages, user interface design questions, and all things baffling and irksome about programming for the web.

Learn more about me on LinkedIn.