Progress on jQuery-style templates for AkashaCMS (Mahabhuta)

Since last weekend I've been working on Mahabhuta, the new element-oriented template system using jQuery's API, in AkashaCMS. The goal was to verify that it's useful by attempting to implement some important things with it. I'm happy to say that Mahabhuta is living up to what I hoped. I've been able to reduce complexity in AkashaCMS and the path is clear to perhaps removing the Kernel template engine, because the functionality I sought with Kernel is now available via Mahabhuta.

Eliminating duplicates in Views 3 Drupal 6 when the "distinct" and "group by" features don't work

Yes, Drupal 6 is water under the stream except for those of us still maintaining Drupal 6 websites. On one of my sites I'm trying to bring the module status into 2014, because they'd last been updated in 2012 and Views hadn't even been upgraded to Views 3. It was pretty straightforward to generate a Drush Make file to generate updated code for the site. A couple of the Views didn't get properly upgraded to Views 3, and in most cases minor tweaks were all that was needed. But one View had a major flaw - it generated lots of duplicated content.

Major change in AkashaCMS - new model for rendering content, and jQuery as a template engine

I'm about to release an AkashaCMS v0.3.x update that represents a major rewrite of the rendering system, and the addition of support to use the jQuery API on the server side to manipulate rendered pages. Both of the changes are major, and take AkashaCMS to a new level of flexibility. First, Website authors will be able to use any combination of template engine on each page, giving better flexibility over page formatting.

Avoid tearing your hair out on variable values in deeply nested JavaScript/Node.js callback chains

JavaScript, and hence Node.js, supports a useful model for variable scoping and callback functions where the available variables build up as the code nests. It's very convenient because your code doesn't have to pass values through function parameters to code in an in-line callback function. But it's possible for a variable to not have the expected value by the time the callback function executes. When that's the case, it's tempting to start tearing your hair out in frustration screaming about the variable's value is incorrect.

JavaScript doesn't tell you the Date object is bad, here's how to figure that out before crashing your program

In JavaScript, creating a Date object from a string is real convenient ("var foo = new Date(dateString)"), but what if dateString has a bad format? How will your code know about this? The Date object doesn't have a getter to tell you the date is bad.

Viewer.js, a powerful pure-JavaScript document viewer to simplify your visitors document experience

I hate the typical user experience around viewing and distributing PDF files (or other document formats). Usually we're forced to download the file to our local computer, then view it using a separate viewer. It litters the Downloads directory with old files we've downloaded, and it's somewhat jarring to find yourself suddenly having to navigate to a separate viewer application. Further, an external viewer probably doesn't work well on a mobile device where the operating paradigm is quite different from desktop computers.

First world problems in the hotel lobby, do they mean we're unprepared for real problems?

This typical scene in a hotel lobby gives me little hope for humanity if we really have to face a significant problem:

MAN1: ... I explained to you, the price shown by the app for a room at this very hotel is $50 a night, why do you say the price ...

CLERK: Sir, as I explained to you earlier, I don't know how the app determines those prices. All I can tell you is what the booking computer tells me, and those rates are set by the hotel chain management. If you want a room let me know, or else I'll give it to one of these people waiting.

Apple claims environmentally moral high ground with new recycling program

Environmentally conscious owners of Apple's fine products should rejoice with today's announcement by Apple of an improved product recycling program. Apple will give out Apple Gift Card's when you turn in old Apple devices, from any era, and will recycle it in nearby recycling centers. The exact value appears to vary on the device, and such as whether the device works or not.

Static HTML website builders (AkashaCMS, etc) slashes web hosting costs to the bone

Today's web is supposedly about fancy software on both server and client, building amazingly flexible applications merging content and functionality from anywhere.  What, then, is the role of old-school HTML websites?  In particular, why am I wasting my time building AkashaCMS and not building websites with Drupal?

Stopping server overload, cleaning up the site front page, disabling comments, and general goodness

The last few days the server hosting this site was overloaded, and I finally took a look at the access log, saw a continuous stream of requests that shouldn't be occurring, and realized the "links" row of teasers on the front page needed to go away. The default links row includes one reading "Log in to post comments" but this blog doesn't allow anybody else to register for an account, and in any case comments are handled by Disqus rather than Drupal's commenting system. The link didn't need to be there at all, and the more I looked at the links row the more useless it looked.


Subscribe to Front page feed