Note to self: get into this phabricator command line fu.

Agile is really important.  I’ve commented before that it’s nothing new, but it’s an important refinement.  It allows you to quickly think about priorities, every day, and then focus on the highest one.  Very important.

I’ve played with a lot of development planning tools over the years, and JIRA Agile is at the top.  But I will always go open source whereever it is an option.  I stood up Phabricator and so far it has been very little pain to get a solid quality set of Agile boards going for my top 4 projects.  The “Conduit” API appears a bit dicey to navigate, but if I can get that going, I’ll have board-driven priorities for all my projects on my home page.  Onwards.

Testing my chatter toggle, I decided to make my blog work again.

I pushed my http[s] RESTy client and server to github yesterday.  It’s almost there.  Today, working on favicon.ico support.  Cmon!

Persistent notes will go on the wiki.

There are a million ways to do CI.  My goal is to keep it as simple as possible.  Concepts:

  • My target projects include multi-platform C++ applications, Firefox addons, cross-platform desktop apps, mobile apps, and web apps with lots of JavaScript and JavaScript libraries.
  • I want to use a simple-to-use very-capable cross-platform scripting language.  I’ve concluded that I will use JavaScript via Node.js.  It is async and portable from the day it was born.  Installing a node.js module for scripts means they are available from any path on any platform’s command line.
  • For CI tasks, I will avoid dependencies on anything else.  The core Node.js API is very capable.  Modules are available if needed (eg the amazing aws-sdk) but will be avoided whenever possible.
  • I need intelligent placement of CI windows (eg a popup shell for build-on-save).  My Ubuntu i3 window manager is capable of this, as is Autohotkeys under Windows.  These auto-placed windows will always run cross-platform node scripts.
  • If you want to use Powershell, for the love of all that’s holy, make sure you fix its terrible default of hiding debug output with:
       $global:DebugPreference = "Continue"
  • Goals:
    • on code save: automatically build
    • on code commit: automatically build, do any custom build steps, run any unit tests, run any end-to-end tests, and report results dynamically
    • on app production release: compile artifacts, assist in automatic versioning

See the wiki for details.