Semantic Database: Concept, Architecture and Implementation

I’ve posted an article on Code Project describing a concept for a semantic database.  It’s in two parts, first discussing the concepts and looking briefly at the Semantic Web, RDF, and OWL, as well as relational, graph and NoSQL database architectures.

The second part is dedicated to the architecture and implementation of a semantic database with emphasis on unit testing.

This is Part 1 of 2 — Part II will look at using the semantic database in a real life HOPE application.

Posted in Higher Order Programming Environment, Software Development | Leave a comment

Higher Order Programming


I am formally announcing the birth of HOPE – Higher Order Programming Environment.  While I have blogged about HOPE previously, I have enough of the Higher Order Programming website up and running to announce it, even though the site and the product are still in the development phase.

I am looking for people with C# experience to contribute to this open source effort.  If you’re interested, drop me a line.


Posted in Uncategorized | Tagged , | Leave a comment

Software Development Methodologies: What is Open Allocation?

An excellent description on Quora.

Open allocation means people choose what they work on….

Read more by following the link above.

Posted in Software Development | Leave a comment


Mark Wallace on the Code Project wrote something today that should be the mantra of all software developers and managers.  Do not dismiss his words:


1: It demonstrably improves products or services from the customer perspective.

2: It demonstrably improves the efficiency of product/service implementation without having a negative effect on point 1.

3: It demonstrably makes the job easier for those implementing the product/service, without having a negative effect on points 1 or 2.

All too many poor and/or inappropriate processes are put in place because they’re either fashionable or they appeal to one or more people personally.

If a process, no matter how “in” it is or how appealing it is to your or anyone else’s tastes, does not *demonstrably* meet the requirements above, it should be replaced with processes that do.

And keep pounding the word “demonstrably”. If someone wants a new process, he has to demonstrate the effects it will have on the company, including all the cons (make sure that any discussions go straight to seeking out the cons, rather than bathing in the glory of the pros).


Posted in Software Development | 1 Comment

New ebook: From Imperative to Functional Programming

My latest e-book has been released and is now available in SyncFusion’s website, as part of their Succinctly series.  Download it for free (only registration is required) here!

Posted in Uncategorized | Leave a comment

My new personal website is up and running!

Implemented it using SquareSpace, which I’ve found very easy to work with, though a bit quirky, which you get used to, and their customer support has been fantastic.

Here’s the new look (use Chrome or FireFox, there’s a problem with IE that SquareSpace is working to resolve.)

Posted in Uncategorized | Tagged , , | Leave a comment

Automating Semantic Mapping of a Document With Natural Language Processing

I’ve put together an article ( that discusses a couple options in visualizing the relationships between keywords and sentences of documents parsed by AlchemyAPI.  Here’s a screenshot of “adjacent sentence keyword visualization”:




and one of the force directed graph “keyword association” visualization:


Posted in Software Development | Tagged , , , | Leave a comment