Searching and Smelling by Objects to Find Profiles and Settings

Searching and Smelling by Objects to Find Profiles and Settings

A person will ordinarily search the contents of a database using matching keywords and tags.  Sophisticated databases might allow for filtering:  for example using NOT, AND, OR on a number of keyword strings such as both titles and product descriptions.  It is not normally possible to submit, say, a personality profile to a database – or a personality profile and a setting.  Searching for “serial murders subway terminals” might lead to event information about precisely this, apparent serial murders occurring in subway terminals.  There is no “personality” per se in a “setting.”  By setting I mean, for example, a “dimly lit underground enclosure” that might manifest itself as a “subway terminal.”  By personality, I might actually be looking for an “aggressive individual exhibiting pathological indifference to the needs of others.”  A database intended for general public use is naturally optimized for headlines and buzzwords.  For professional applications, I consider it worthwhile to have a database system that can respond to the submission of complex data objects.

I maintain three databases:  1) holding character data; 2) holding settings; and 3) holding narratives.  The narrative database actually contains all available data including characters and settings.  Therefore, if I want to find a particular character in a specific setting, I submit the code for these objects to the narrative database; and the database grades all of the cases.  This is not to say that the character and setting ever came together in real-life.  I might just want to find out what sort of stories “seem” to extend from a particular character and/or setting.  The narrative database contains additional data that the other databases don’t have.  It contains “circumstantial” data.  All of the circumstantial data is lumped together; and the likelihood of finding close matches is quite poor given the large number of circumstances likely associated with any storyline.

My databases interact with data objects through the use of “thematic openings.”  This is an interesting concept.  A thematic opening is like a listing of tags meant to mean something.  For example, “snowstorm,” “poor visibility,” “closed highways,” point to “mobility impairment”; this is assuming there isn’t a hierarchical structure that has to be taken into account.  A listing of thematic openings might be “mobility impairment,” “zombie attack,” “cannibalism,” “family dinner party.”  Maybe I am being a bit loose with my example.  The general purpose of thematic openings is to establish feel or atmosphere – or the exact expression I use is “to give scent.”  On the other hand, the submission of a data object leads to “thematic placements” – the odour being sought.  The program that I use to determine resemblance to odours is called Bloodhound.

Along with the idea of a thematic opening is the concept of thematic analogs and pathologs.  An analog as it pertains to themes is meant to add information that is possibly absent from the case in question.  For example, “employee stress” is not clearly connected to “marital problems.”  But if employee stress and marital problems exist in the same theme, the database cannot help but infer a possible connection.  In fact, if the theme is called “poor workplace performance,” the presence of employee stress “might” also mean that marital problems are involved.  An analog therefore represents an assertion outside the confines of the case.  A pathalog is an analog meant to reveal potential pathologies in the character that might not be indicated by the data available from the case itself.  In this way, especially on the absence of data, there is a framework to pursue “leads.”

Those unfamiliar with my “Animal Spirit Model” might not recognize the spreadsheet below; it contains both (N) normal and (P) pathological settings (indicated by the position of the “<” characters).  Although a character might not appear to have any pathological traits on the surface, the spirit object asserts potential connections.  Obviously, there should be conversation here on the validity of my pathologs.  I have to point out however that at least a conversation can take place.  The settings can be discussed and changed.  This isn’t frothy discourse but something directly influencing database search patterns.  I also want to emphasize how in most cases there might be an absence of “individual” data – particularly psychological test data – especially in relation to behaviours outside a controlled environment.  The patholog below is called “Maximale” – meant to draw connections between aggressive personalities and potential pathologies.


Next I provide an explanation – using some rather peculiar examples – of my conceptualization of pathologies.  The underlying data object is called “Melting Vulcan,” which registers in the areas of “I’m Peter Pan,” “If I blow hard enough,” and “Mirror Mirror.”  I constructed this data object from what information was available about Stephen Paddock – the Vegas shooter.  Pathology for me relates to the augmentation of reality through the insertion of fabricated reference points.  The closest common example that some of us might encounter in routine life relates to alcoholism.  I admit however that apart from the materials I reviewed during my graduate studies, I am no expert on alcoholism or pathologies for that matter.  I am however an authority on the construction of pathologs since I invented them.  Or at least maybe I invented them.  I’m sure readers will correct me.  I find that titles emerge on Google after I make my blog submissions.  At the moment, I’m not seeing any use of the term “pathalog.”

The flatness of themes ignores the fact that hierarchies might exist.  For example, in an assertion of “spontaneous,” the presence of a number of tags might not be enough to validate the resemblance.  The tags might have to be present in a certain way.  It is necessary therefore to maintain testable hierarchical constructs.  Again, although these constructs are debatable, at least I have a setting where they can be scrutinized and challenged.  Hierarchical constructs are important in relation to pathologs since there might be contradictions between intent, appearance of intent, and actions.  For instance, a person might be extremely forceful and yet be quite indifferent about the subject matter.  (A “normal” person is normally passionate about something he believes in.)  Or this individual might draw a lot of conclusions while exhibiting an inability to take the available information into account.  (A “normal” person tends to draw conclusions related to the information available – unless of course most his conclusions are socially constructed – in which case these aren’t conclusions at all but preconceptions.)

Using a conventional search engine to search by keywords is fine in most cases – I guess especially since it eliminates contentious arguments relating to psychological models.  However, the absence of debate does not bring a person any closer to the truth.  I believe that things withstanding the test of time tend to change with the times.  My database system is “model friendly.”  I fully expect to continue developing new models, applying them, testing their effectiveness.  Theory is fine.  Having the ability to sift through the data in order to test those theories is better.  I don’t believe that complex ideas can be tested without the ability to analyze sophisticated data objects.  Using quantitative analysis on its own hardly seems reasonable especially if the outcome is some kind of disassociated metric.  We have to “unplug” (unshackle) the analysis.  We need to embrace quotidian details of existence.

Searching and Smelling by Objects to Find Profiles and Settings

Engaging the Animal Spirit in the Narrative

Engaging the Animal Spirit in the Narrative

How might a person go about studying something elusive like serial murder or terrorism?  I have no formal exposure in this area.  Much of the technology that I mention in this blog is meant for another purpose.  That other purpose is to study characters in movies, which for me is a great diversion.  In particular, I like to map out where certain characters might be found (or lost – i.e. missing characters): the settings they occupy, their roles, their relationships.  It goes without saying that an individual planning an act of terror is still a person.  The director of a movie is also a person.  It is reasonable therefore that their deliberations progress towards storylines that share some similarities.  I guess the main difference is that writers and directors might place additional emphasis on certain aspects of the story – e.g. its marketability and entertainment value.  I should mention that if enough information exists I also add real-life stories to my database.  I assume the role of the director or storyteller.

The problem with a Paddock-like character as I am certain many would agree is lack of details.  It is difficult to analyze anyone on the absence of data.  Nonetheless, I can do my best to construct a personality profile.  It doesn’t have to be entirely correct.  My objective is simply to demonstrate “how” to study such a person.  Ideally, as per the image below, I would already have security experience and a database of personality profiles combined with circumstantial data.  I already admitted that my experience in this area is mostly from watching movies; and I essentially maintain a database of movies.  This admission does not negate the usefulness of the methodology, which I explained can be and has been applied to real life characters.  Paddock by the way is the Vegas shooter who killed, the last I heard, 58 concert goers from a nearby hotel room high above the scene of carnage.

The first order of business for me is always conceptual.  What is a person’s “personality” – that is to say, what is “personality?”  My conceptualization is not necessarily any better than the next person.  I developed a grid to help me make sense of a person’s thinking process.  I call it my “Animal Spirit Model.”  This might be my fourth or fifth model designed to characterize aspects of a person’s involvement in a narrative.  It represents a big investment in computer processing resources since each character in a story can have an animal spirit – if I wanted to take the trouble of creating one for each person.  Below I present the animal spirit that I designed for Paddock the Vegas shooter.  I call his animal spirit the “melting Vulcan.”  It is generally meant for a person trying to hide a breakdown.  The identity isn’t just about to fall apart; but it already has fallen, and it is continuing to operate broken.  He is unstable but not apparently so and not in every aspect of engagement – thereby explaining the success of his concealment.

After conceptualization, I would say that the next major chore is developing the codification system.  Each location a circle can appear on the image above should trigger a code on the table below.  At the end of the codification process, I would have a series of codes relating to Paddock’s personality.  This coded series represents his profile, which could then be added to his storyline along with other characters such as his girlfriend.  Of course, the public has even less information about Paddock’s girlfriend.

My personality profile for Paddock might be compared to Jack Nicholson’s character in “The Shining” (1980 Warner Bros.), which per my model elements is about 77 percent similar.  Apart from the question of his psychological stability, this character is made interesting by his commitment to conceal mental collapse even from his immediate family.  It hardly matters what information the outside world has to offer him; he invariably takes action based on his fabrication.  Below I show the settings from the conceptual grid entered on the codification table.  Since I didn’t want to spend a lot of time on an elaborate data-entry screen, I simply used Excel.  The Shining is an excellent horror movie.  It’s like the main character never knew his own identity.  It reminds me of a scene from Battlestar Galactica when some characters came to realize that they are Cylon.  Imagine becoming aware of one’s destiny as a mass murderer.

Notice above that instead of codes, I now use the “<” character to indicate placement on the grid.  Now I can create all sorts of characters without having to recall any code.  I apologize how difficult it must be to see the fine details on this Excel sheet.  Once the character details are set, I run the program to convert the table into code.  I call this program “Hollister Spy.”  The resulting code for the animal spirit that I designed for Paddock is shown below.  Don’t be alarmed that the code makes no sense.  It is meant to be interpreted by a computer rather than a person.


<pc9> <pf9> <pa4> <pb1> <pd1> <pe1> <pg1> <ph1> <pl9>

<pi2> <po1> <pm1> <pn1> <pj4> <pk4> <pp4> <pq4> <pr9>


What should a person do with this code?  Myself, since I have a database, I would attempt to determine what scenes this personality (not the person but his personality) has occupied in past cases.  Then I would try to confirm whether the scene of the current case (of the person) has any similarities.  I have data stored as codified narrative, which allows for the comparison of storylines.  I guess in a physical sense, it is impossible to “smell a mass murderer.”  But perhaps it is possible to “smell the data” pointing to a mass murderer.  (Read my blog on the “Odour of Data” for more details.)

In Stanley Kubric’s film – and I apologize for not having read Stephen King’s book – the main character Jack Torrance is an aspiring writer, a bit of an outcast even in his own family, responsible to taking care of a large empty hotel.  He converses with ghosts.  Isolation is big theme along with separation of the family as a cohesive body.  This of course is quite different from Paddock being alone in a large hotel in Vegas.  But perhaps there is some value in the narrative here in relation to the psychological instability, isolation, alienation, and separation.  In a way, Torrance was already dead.  Literally he was on a photograph of people long dead; this gives rise to the idea that he didn’t have full control over his fate and his role in it.  Perhaps in certain respects, Paddock was also already dead – as soon as he came up with his plan.  (If the likelihood of escape was high, he wouldn’t have had so many guns.)  But perhaps he was dead even en route.  I kind of wonder sometimes if people ask themselves whether they are meant to be alive.  They look for signs.  Perhaps he couldn’t find any compelling evidence.

I consider the use of narrative powerful in these situations.  I want to point out however that there will always be gaping holes in the data since any narrative tends to be sketchy.  I refer to the animal spirit as the “alignment” of a person in the Suspense Analog data object.  It is important to have a means to preserve the “living character” – particularly if he isn’t dead – in order to examine potential suspects going forward.  Use of the data object is one such approach – fixating not merely its animal spirit but also its sense of effort and opportunity in particular situations.

Having completed the blog, I will now set aside the specific application of studying real-life murderers.  It is simply not possible to develop a database without data.  (A personality profile cannot be confirmed without data.)  I will still attempt to use the profiling tool for other purposes, of course.  I am thinking of becoming a “movie character consultant” maybe when I retire.  I have written in the past about the abundance of narrative code in movies.  This will give me an excuse to sit back and enjoy more films.  I wouldn’t underestimate the value of being able to tap into the brilliant storytelling of writers and directors.  I expect the animal spirit will enhance my ability to systematically analyze the characters in films.

Engaging the Animal Spirit in the Narrative

Suspense Analog – Data Object

Suspense Analog – Data Object

I periodically use the term “data object” in my blogs.  Since I do not normally blog about data objects per se, I find myself simply stating that in-depth analysis might need to go beyond numbers; therefore, we should consider data objects.  This might confuse readers unaware of what a data object is – or at least what I mean by it.  To make matters challenging, readers inclined towards data science do not necessarily have much background in the liberal arts; and those with degrees in the liberal arts might not be drawn to data science.  All of this would be fine except that I tend to invoke the liberal arts in my blogs dealing with data science; and perhaps this makes my use of data objects peculiar.  In this blog I will attempt to momentarily bridge the gap.  A data object isn’t designed just to facilitate data manipulation; at times, it needs to make a complex social environment more accessible.

I call the analog clock below “Suspense.”  Suspense is a representation of a complex metric.  Suspense doesn’t actually show the time.  I would agree that it shows a time; but the time shown is not time at all.  I provide some labels to crudely explain the meaning of the times presented:  03:45:40 for “fear”; 12:50:41 for “autonomy”; and 12:20:01 for “oppression.”  I can embed certain complex phenomena in the data object intended to hold time.  Suspense can hold more meaning than what can normally be stored in time alone.  The intent of this approach is to make ecologies of interaction transferable to a system that is capable of holding time.

Suspense is detailed.  I have chosen to elaborate on a couple of its simplest aspects – only one of which is active in my examples here.  There are hours, minutes, and seconds.  Hour 3 (3:00) is known as dI:  dI is the internal outcome associated with the external income dA interacting at dS; this is shown on the next image.  What in the world does this mean?  Maybe dI is the natural happiness a child feels when playing in a playground:  there is an “inclination” to play and be happy in a playground.  Hour 3 or dI might be regarded almost on a biological level.  For me, dI is more likely to be the product of a social setting – i.e. the result of social construction.  For instance, it can be a general “impression” passed down the generations: e.g. children should be wary of strangers.

The base of the clock contains a tile indicating “F” for feedback, assuming that Systems Model in this case includes P for perception; I for input; X for process or execution; O for output; and C for consequence.  For me when approaching organizational situations, I consider three strata of the Systems Model occupying distinct ephemera:  1) anticipatory; 2) active; and 3) introspective.  These strata are associated with three pathologies:  malignment; failure; and abandonment respectively – the latter more commonly called alienation.  It is important to be aware of where Suspense is “coming from” in order to ensure the proper transposition of facts based on their proximal and distal significance.

Fear can be based on an expectation perhaps informed or qualified by one’s investigations.  But for me fear tends to be a visceral phenomenon that is not necessarily the product of deliberation or one’s education.  People are “inclined” to fear certain things in particular circumstances.  Fear is invoked by the hour hand at 3.  What does the minute hand at 9 (minute 45) mean?  Minute 45 means a large negative impact.  The second hand at 40, this describe how the negative impact is encountered, in this case by a complex process that depends on factors beyond one’s direct control.  So this is a particular kind of fear – such as fear from a lengthy cancer treatment known to have severe consequences.  It is a particular “fear of the unknown.”

Suspense is based on something I call the Pond-as-a-System Model, which I developed myself.  I am unsure how much credit I can take for the model since a number of features suspiciously resemble existing models.  So at the moment, I claim no intellectual ownership.  In fact, some people might say that even the frog seems to be from the arcade game “Frogger.”  In any event, these superficial similarities start to fade once a person delves into the schema and metrification scheme.

I make the following statements in relation to the model: 1) people make decisions based on their habitats; 2) interaction with that habitat is influenced by the organism and the habitat together; 3) movement depends on the effort needed; and 4) stasis depends on the opportunities available.  I know this all seems rather spatial and physical.  However, consider the image below showing a “social” setting.  In it, I am trying to determine how to take control of the thermostat in the office.  (The temperature seems to rise inexplicably.)  I suspect that either the device is malfunctioning; or certain individuals might be tampering with the setting.  I ponder on maybe contacting my friend Diana at head office to exert some control.  Diana says it is impossible for her to control the setting of any thermostat from head office.  She laughs that I would think her so magically endowed.

For those that find the analog clock a bit confusing, it is perfectly reasonable to use time itself or the codified notation I presented earlier.  Personally, I would find a numerical expression of time – e.g. 12:45:40 – completely baffling from an interpretive standpoint.  I have to emphasize that Suspense uses but does not actually show the time.  Therefore knowing the time is of no help at all unless my objective is to tell time.  If I could convert the time to its meaning on the model all in my head, then I would be thinking like a computer.  Sadly, I don’t.  I find that after some practice I can get along fine using Suspense – by interpreting the analog.  I would probably have a fighting chance making use of the codified notation.  In my sketchbooks, I use the Suspense analog.

Applying Suspense to Interpret Complex Systems

Contemporary urban terrorism to me is much a case of system malignment.  It is complicated operating an airport or subway station; using this system not to serve passengers but to spread fear among them is a form of malignment.  Terror is effective because somebody has furnished, at their own expense, the means to bring large numbers of people together in specific locations in a predictable manner.  The “system” itself is used to spread terror.  I find that our dependency on systems is such that malignment is quite a common development.

Malignment occurs at the anticipatory stratum conceptually before plans extend into actions.  It might not be feasible to make the active or operational stratum impervious to terror for the simple reason that the system itself is premised on a high level of public access.  As it has been well-established that the transit system is vulnerable, any additional window dressing to assert its invulnerability might be superfluous.  Assuming that attacking a transit system is a means to an end rather an end in itself, it can be worthwhile examining aspects of alignment and malignment in an effort to bring the end into question – thereby negating the need for a means.

There has been a tendency it seems to attach “foreign motivation” to both foreign and local perpetrators.  For example, some effort has been made to fight “foreign radicalization” by identifying radical websites presumably to quell the impulse.  But it is quite a leap for a local person to become driven by foreign interests.  I consider the adulteration of a local a more interesting proposition than foreign incursion.  In order for a person to believe in persecution – enough to wish to violently changes to the system – perceptions need to be substantiated by the realization of injustice.  This is not to say that injustice occurred but simply that it is perceived.  The system in place ostensibly to help people must instead seem to harm that person.  Rather than having a means to explain the status quo, there should be suspicious vacancies to allow the perpetrator to fill the missing details.

The potential perpetrator fills the habitat uncontested thereby creating bridges for foreign interests and others of likeminded persuasion.  The process of decitizenship might be linked to the pathology of abandonment occupying the introspective stratum.  This is the narrative that I offer; and I suspect that there are ways to combat it.  On closing, I leave one final drawing of Suspense analogs showing a gradual change in alignment.  The premise here is that a person doesn’t change from an innocent to a mass murderer simply by encountering a few suggestive websites.  The process of withdrawal is linked to the social environment.  The ability to measure that change – that is to say, to attach a measurement to the changing path that a person follows – might be useful to predict future developments.

Suspense Analog – Data Object

Running Calculations on Separate Threads

Running Calculations on Separate Threads

Running Calculations on Separate Threads

In order to prevent my programs from freezing up while running long calculations, I generally run the calculations on separate threads.  In Java, this process can be accomplished by separating the GUI from processing.  In the code below, a thread for an instance of MyProcessing would be invoked using start(): e.g. “(new MyProcessing()).start();” would run indefinitely until T is made null.  T can be made null by calling stop() or by directly making T null.  Often when the GUI is closing, I call stop() on all the threads associated with that GUI regardless of whether or not I know that any are active.


/* Here is the processing */


public class MyProcessing implements Runnable {

            Thread T = null;


            public MyProcessing() {



            public void start() {

                        if(T == null) {

                                    T = new Thread(this);





            public void stop() {

                        T = null;



            public void pause(int n) {

                        try {

                                    /* I add pauses to prevent overheating */



                        catch(Throwable r) {




            public void run() {

                        while(T != null) {

                                    System.out.println(“Hello World Forever!”);


                                    /* Do all of this stuff forever – until T is made null */







The infinite loop is useful when there is something running for an infinite period of time – such as looped clip.  I wrote in the program below in 1998 – in Java.  It can show a series of frames made up of vector data; and it can run this series as a loop.  Usually there is a pause between frames and then a fast render and refresh – creating what “appears” to be movement.  These days I use the rendering environment mostly for output to show the results of complex calculations.  But yes the output can be animated.


It is more common not to run infinite loops, of course.  The run() method might be something like the code below . . .


            public void run() {

                        /* Notice the “T != null” among the conditions */

                        for(int i = 0; T != null && i < 100000; i++) {

                                    /* Do this lengthy operation */



                        /* Just to be perfectly clear */




Below is a GUI for a system that often takes several days to complete a job.  It can run many jobs.  When I close the GUI down and restart the program later, it can continue “near” where it left off.  The GUI never freezes on the screen.  The good part is, I can eat and sleep while the program is running without worrying about overheated equipment.  I can continue running the program that generated data for this system without interfering with the processing environment.

As shown below, the processing environment (the “Crosswave Server”) is very much detached from the GUI.  I can actually work on the software for the GUI – and the other major components – while leaving the server system to run.


In order to be notified when an operation is complete, I suppose the GUI can be made to check for completed output.  Typically I pass the current instance of the GUI to processing; then I cause the processing program to invoke a particular method on the GUI when calculations are over.  I’m not exactly sure if that makes much sense.  Write to me for further details.  Those that deal with lots of data who also write their own software should learn to make effective use of separate threads and methods of parallel and distributed processing.

Running Calculations on Separate Threads