Linux Screencasting

Super useful how-to:

Posted in Open Source, Software | Tagged , | Leave a comment

Presenting ONMjs @ SeaLang on 2013.11.06

I’ll be doing my first public talk on the forthcoming ONMjs library at the Seattle Programming Languages Meetup group on November, 6th 2013 in Redmond, WA. If you’re local, I encourage you to come.

Details are posted on the Encapsule Project blog here:

Posted in General | Leave a comment

Bossie Awards 2013: Best Open Source App Dev Tools

Bossie Awards 2013: The best open source application development tools

I’ve extracted the list and links from the slides for easy reference. A couple I haven’t heard of before here.  I am most interested in the top Javascript libraries personally but something for everyone here.

  1. Bootstrap
  2. LESS
  3. AngularJS
  4. Backbone.js
  5. Enyo
  6. JQuery
  7. Ember.js
  8. Emscripten
  9. D3
  10. X3DOM
  11. PhoneGap/Cordova
  12. Modo Labs Kurogo
  13. Node.js
  14. OpenShift
  15. Cloud Foundry
  16. XAMPP
  17. Adobe Brackets
  18. Notepad++ 8|
  19. Apache Shiro
  20. Jenkins
  21. Enalean Tuleap
  22. Scala
  23. Ruby (link broken in the slides)
  24. Python
  25. Django
  26. IPython
  27. Raspberry Pi
  28. Arduino

I would like to see my work up on this list someday… Back to work – the damn code doesn’t write itself (yet).

Posted in Compute, Design, Internet, Open Source, Software | Tagged , , , , | Leave a comment

Preparing to Release Yet Another Javascript Framework

Seems there are a lot of popular Javascript frameworks out there. But none up to the task of building a CAD program in HTML 5.

My work on Encapsule Project Schema (a single-page HTML 5 app that wants to be a CAD program someday) has evolved over the course of this year’s hacking efforts to become a little test harness around a new library I call ONMjs.

STABLE LINK: (archived snapshot of the app as of this afternoon).

Here’s a little bit about ONMjs:

ONMjs is an Object Namespace Manager designed to simplify the task of building reactive, data-driven web components and applications in Javascript.

ONMjs manages data on behalf of your web application, brokers communication between your application’s subsystems, and provides an architectural framework based the principles of Separation of ConcernsSignal Programming, and Component-Based Software Engineering that makes it easy to build elegantly modular, inherently decoupled applications.

ONMjs was created to simplify the development of complex client-side HTML 5 data visualization and editing applications. The library is designed to work well with popular client libraries such as D3js, and Knockout.js. But, you can use ONMjs in many different types of applications, alone or in combination with other Javascript libraries, and in any environment that supports the execution of Javascript code (e.g.Node.js).

The library comprises a small collection of required Javascript classes, and a collection of optional plug-in modules that provide a baseline client-side UI.

With that little background, now go look at the  Encapsule Project Schema app and realize that the only only non-generic part of the entire app is a declaration of the application’s data model. Huh?

In this example the data model defines an extensible “object model” for Encapsule Project’s Soft Circuit Description Language (SCDL) (the declaration is a Javscript object).  This “model” is fed to ONMjs which manages all the runtime data of the app. All the visual elements in the Schema app are currently “observer” plug-ins; they react to changes and leverage meta-data from the model, and data from ONMjs to update the DOM.

This means that you can trivially change the Schema app into a custom editor for whatever type of data you want simply by initializing it with a different model for the data.

I’m working on the docs and getting the code split out of Schema this week for publication of a preview on GitHub. Please follow @Encapsule on Twitter for updates if this subject interests you. Thanks!

ONMjs test harness build.

ONMjs test harness build.

Posted in Compute, Design, Internet, Open Source, Software | Tagged , , , , , , | Leave a comment

Link | Posted on by | Tagged | Leave a comment

Alexander Hamilton is Rolling In His Grave

Michael Arrington’s (@arrington) blog post on UNCRUNCHED caught my attention today.


There’s a lively debate going on in the comments on his blog.

I wrote (awaiting moderation):

Although I can understand the inclination to believe that the existence of covert domestic spying programs are necessary to protect the republic, I feel it’s absolutely unacceptable to subvert the constitution in order to protect it. The ends do not justify the means; by any reasonable reading of the Federalist Papers these are acts of tyranny.

“If the federal government should overpass the just bounds of its authority and make a tyrannical use of its powers, the people, whose creature it is, must appeal to the standard they have formed, and take such measures to redress the injury done to the Constitution as the exigency may suggest and prudence justify.”
Alexander Hamilton – Federalist No. 33

When I studied American History I had an excellent teacher who emphasized the importance of reading, and understanding the intent of the Federalist Papers. Recent revelations seem to be quite at odds with the core tenets of our democracy as elucidated in these essays.


I cannot answer the question if domestic spying programs are in fact necessary to protect the republic or not. I have no first-hand knowledge about the details of the programs or the threats they’re designed to combat. But this is a damn slippery slope. And, it’s of great concern to me that the administrative branch appears to be acting with impunity unchecked by congress or the courts.

Alexander Hamilton

+$0.02 – now back to software…

Posted in Politics | Tagged , , | Leave a comment

Thou Shalt Not Commit Logical Fallacies

It’s hard to remember all the forms of invalid logical argument. Recently, I’ve seen several great guides on this subject. These are both amusing and highly instructive.

Thou Shalt Not Commit Logical Fallacies <- great quick reference. Also, you can order the wall poster if you want to establish some basic ground rules for your office 🙂

An Illustrated Book of Bad Arguments
<- a more in-depth reference with amusing illustrations. I really like this one. (Thanks for pointing this out Jack!)

P.S. It may just be coincidence but I haven’t heard “beg the question” used incorrectly on NPR’s All Things Considered since I wrote them an e-mail to complain 🙂

Posted in Words, Logic, Semantics... | Tagged , , | Leave a comment