Programming (18)

Programming information.

DISQUS for Joomla

In the process of getting my new Joomla! based website up and running, I wanted to add a comment system [Note: My website no longer has a Joomla! backend]. As usual, every free option available had it's own quirks. Some had visual issues, some didn't support threaded replies, and some had conflicts with other Joomla extensions I was using. I ended up liking the DISQUS comment system for Joomla! v1.1 by JoomlaWorks. It integrates the free comment management system, DISQUS, into a site's articles. While I did have to tweak my site template a bit to prevent its JavaScript generated content from drawing over my footer, it covered the rest of my needs.

After testing out the plugin for a while, I started to notice a large issue. Anytime an article was viewed with a different URL, it ended up using a different comment thread. In Joomla!, articles can be seen under different URLs for a number of reasons including changing search engine friendly (SEF) URL settings, recategorizing an article, changing your menu, or viewing an article split into multiple pages. Dissapointed to find yet another problematic plugin, I decided to find the root of the problem and fix it.

Continue reading...

RJ_InsertCode

The RJ_InsertCode project is a TinyMCE 3.x plugin that will automatically style code samples for different languages. Its core architecture is based on the Insertcode plugin for older versions of TinyMCE, but it has been almost fully rewritten for TinyMCE 3. There is a simplified setup, more features, a JCE 1.5 installer, and a commented codebase to assist in learning how it works and tweaking it.

Continue reading...

Analytic Two-Bone IK in 2D

Due to their complexity, inverse kinematics (IK) problems are often solved with iterative solutions. While iterative solutions can handle different IK poblems with a single algorithm, they can also become computationally expensive. If a specific IK problem needs to be computed often, it is worth considering an analytic solution.

If we limit the problem to a two bone chain in a two-dimensions, we can derive the anaytic solution without much complexity. This will generally be more efficient than its iterative alternatives. While this specific case lends itself to a 2D world, it can also be used in 3D as long as the kinematic chain's motion is limited to a single plane.

Continue reading...