Sabbatical Progress Sept. 14th

Today’s project is to extend my understanding of classes, methods, constructors, and inheritance by creating a new class based on aggregating, sequencing, and then parsing properties of a variable-length set of input classes.

This would be very analogous to establishing a Minecraft-style crafting system where sets of ingredients conditionally determine the crafting output’s characteristics (properties) and quantities (instances count).

Also, worked over the weekend to get to this point.

Sabbatical Progress Sept 10th

Today I jump into event listeners and callback functions to make a UI responsive to user inputs. Last night’s processing of Social Security Administration datafiles into workable data tables (about 2.5 million records) went very well, although it did overwhelm Excel completely. Will switch to line-by-line parsing in PHP or similar as that has no practical limit on datafile size.

Sabbatical Progress Sept. 9th

Continued learning about recursive programming (OO and functional styles) with extending yesterday’s hierarchical model of the universe with procedural name generation by entity type. For example, planets are named according to specific rules and the outputs should look credible and distinct from how we name people on those planets.

Sabbatical progress Sept. 3rd

Today I began teaching myself proper ways to hook the MVC (Model View Controller) paradigm parts together. Previous days’ work on the model portion (classes, data structures, methods, etc. in pure Javascript) started getting tied meaningfully into a user interface/frontend driven by jQuery’s powerful libraries. Very satisfying stuff knowing that the mechanics ‘under the hood’ are working cleanly and as they should, not cobbled-together. Today was the first day were I really got a sense of that old saying ‘code is poetry.’

Sabbatical progress Aug. 25th

Today’s goal: work from here to there mindfully and with a close eye for insight.

Streak: 1 day


  • regexes in Javascript have their own methods. Brilliant and handy for debugging purposes.
  • Javascript hoists (moves them to the top of the scope) declarations but not assignments. I can see that causing bugs in various places…

Accomplished: began coding an object-oriented discrete event stochastic simulation in JavaScript to shift into the good habit of OOP for the first time. Not an easy transition.

Other goal: turn in receipts to Laura.

Sabbatical Progress Aug. 24th

Today was the first official day of progress on my Fall semester sabbatical. Unofficially, I started in on my plans late in the summer after finishing teaching summer camp and an online course.

My primary goal for the sabbatical is to sharpen the spearpoint on my cobbled-together-over-the-years scripting/coding/programming/automation skills. Until now, I’ve dabbled in HTML, CSS, PHP, MySQL, LSL, Javascript, Python, VBasic (haha), bash scripting, and C#. Today I now have the time and space to unlearn my bad coding habits and hammer in smarter ones. I know that only NASA writes perfect code. But, *any* code is better than the almost completely analog skills I and my peers use for our research.

Today’s goal: the What
Today’s task was to read through W3Schools course content on Javascript from here to here with a close eye for detail and correctness.

The Why
I chose javascript on purpose as a non-heavy lifter language so that I’d learn best practices without focusing on the quirks of any particular language.

The How
Went through start to finish. Worked the simple little interactive exercises. Pleased to find I actually found a few new-to-me things. Mostly the data and time handling, but that’ll be pretty handy on simulation modeling.

Then I skipped ahead and delved into HTML5 multithreading (web workers) and built a simple little dynamic stochastic discrete event simulation model replicating a game scenario running in my browser. It worked beautifully multithreading up to 4 threads, managing their spawning, and running simple monovariate statistics on their results across a thousand model runs. In the Real World, I’ll use a more science-appropriate language like Python and its endless handy extensions like SciPy and NumPy.

Tomorrow I’ll go back and work properly through JS arrays and objects. I can already see they’re going to be incredibly useful when used properly instead of the shoehorning I’ve done so far.