Skip to main content

still crunching....

I got to work today as soon as I got back from my morning run and was ready to go after a nice power breakfast. As mentioned in the last post I spent yesterday working on the dashboard template. It required addition of a new method for retrieving the extant guest private message requests on the participant_queue table. This new method was made with three attributes, the new site_id column , the conversation_id (used as the guest pm uniqueness specifier) and a boolean attribute that determines if engaged (meaning a User is conversing with the guest) or unengaged rows are returned. The returned rows are extracted as an Object[] of String[] objects. In other classes of the API I've found it useful to return specific sets of data from the db in an object array when there is no formal need for a managing class. In this case, we only use the participant_queue rows to display in the dashboard, all other use of rows (public/private, user/guest conversations) is implicitly performed by the other API code. Thus the time benefit is optimal (since it is fast) and the memory hit is optimal since we don't have additional object instance and destroy actions to incur processing and memory load during the dashboard view action. I partially finished the implementation and called it a night ...

Today, I started by analyzing the problem of concurrent guest requests across multiple sites, since the framework is a multi tenant frame work it is possible for multiple sites to provide guest PM capability independently. The addition of site_id to the participant_queue table thus gives us support of multi tenancy for free. (This happens often with symmetry observant designs) I had to go into the conversation db access class and update the add,update and remove methods to support the new site_id field by simply expanding the attribute lists of the existing methods in new overloaded methods. This will allow multiple sites to enable guest private message requests and allow a single guest (IP) the ability to make requests to multiple sites hosted on the framework. In multi tenant design this is not only important it is critical, for it enables the possibility of a user making a guest request to one site that might be licensing the use of guest functionality while simultaneously making a request to another site and converse with both sites unaware of the fact that the guest private message facility they are using comes from one provider. ;)

I compiled and tested the changes made , many - small as opposed to few - large, and was able to engage normal User or Guest conference sessions without issue. Next stop is adding in the actual guest session tear up an tear down code which will require a little bit more brain work...


Popular posts from this blog

Highly targeted Cpg vaccine immunotherapy for a range of cancer


This will surely go down as a seminal advance in cancer therapy. It reads like magic:

So this new approach looks for the specific proteins that are associated with a given tumors resistance to attack by the body's T cells, it then adjusts those T cells to be hyper sensitive to the specific oncogenic proteins targeted. These cells become essentially The Terminator​ T cells in the specific tumor AND have the multiplied effect of traveling along the immune pathway of spreading that the cancer many have metastasized. This is huge squared because it means you can essentially use targeting one tumor to identify and eliminate distal tumors that you many not even realize exist.

This allows the therapy for treating cancer to, for the first time; end the "wack a mole" problem that has frustrated traditional shot gun methods of treatment involving radiation and chemotherapy ...which by their nature unfortunately damage parts of the body that are not cancer laden but …

Engineers versus Programmers

I have found as more non formally trained people enter the coding space, the quality of code that results varies in an interesting way.

The formalities of learning to code in a structured course at University involve often strong focus on "correctness" and efficiency in the form of big O representations for the algorithms created.

Much less focus tends to be placed on what I'll call practical programming, which is the type of code that engineers (note I didn't use "programmers" on purpose) must learn to write.

Programmers are what Universities create, students that can take a defined development environment and within in write an algorithm for computing some sequence or traversing a tree or encoding and decoding a string. Efficiency and invariant rules are guiding development missions. Execution time for creating the solution is often a week or more depending on the professor and their style of teaching code and giving out problems. This type of coding is devo…

AgilEntity Architecture: Action Oriented Workflow

Permissions, fine grained versus management headache
The usual method for determining which users can perform a given function on a given object in a managed system, employs providing those Users with specific access rights via the use of permissions. Often these permissions are also able to be granted to collections called Groups, to which Users are added. The combination of Permissions and Groups provides the ability to provide as atomic a dissemination of rights across the User space as possible. However, this granularity comes at the price of reduced efficiency for managing the created permissions and more importantly the Groups that collect Users designated to perform sets of actions. Essentially the Groups serve as access control lists in many systems, which for the variable and often changing environment of business applications means a need to constantly update the ACL’s (groups) in order to add or remove individuals based on their ability to perform certain actions. Also, the…