Time to evolve…

It’s been 4 years since I wrote Dex and began my journey into data visualization.  It’s been gratifying and keeps me grounded in many current technologies.  As the project has evolved, so has it’s needs.  So some of the technology surrounding Dex is shifting around.  I would like to talk about a few of them here.

DokuWiki -> Jekyll

I love DokuWiki, however, I find that I need more and less than it offers.

First, I don’t want to allow online edits.  Having been hacked a few times a year back, I want to keep it simple.  No php scripts, no dynamic content other than some javascript.

Being dissatisfied with the various site-export utilities offered by DokuWiki, I bit the bullet and started migrating the web-site and the internal Dex documentation to Jekyll.

This gives me much more control over the generated site with less worries about being hacked.  There’s nothing worse than opening the main page of your open source project to discover a Viagra ad in it’s place.

Additionally, it will let me to publish the manuals online as well as within the internal Dex documentation.

DexCharts -> DexJS

I have realized that the DexCharts project was really a module within a more general purpose framework which I will publish on GitHub as DexJS.  DexJS will absorb the DexCharts project and the various DexCharts will simply be members of the dex.charts module within DexJS.

NodeJS & NPM

I am using tools supplied via npm.  This makes it easy to manage my javascript tool dependencies in one centralized repository.  Its kind of like rpm on Linux and just as convenient.


I use gulp to generate my distribution.  Basically, it’s a task manager which provides capabilities similar to Grunt which is analgous to Ant in the Java tech-stack.  So far, I am amazed at the power of Gulp.  Gulp and all it’s sub-task are delivered to me via npm of course.


Within my gulpfile.js, I am using task which aggregate the core dex modules into a developer and minified versions with sourcemaps.

The charts are intentionally excluded.  The various charts have additional dependencies which are not appropriate for general use.

I will likely distribute dexjs as a npm module once I fully assess the ramfications of that.


DexJS will require JQuery and Underscore because of the general power and capability that they provide.  Much of what I have already written could, should, and will be refactored to leverage the capabilities of these two libraries.

Dex -> Github

Over time, I am migrating Dex over to GitHub.  This could take awhile, but I’m working towards this.


About patmartin

I am a coder and Data Visualization/Machine Learning enthusiast.
This entry was posted in General. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s