Skip to main content

sculpting with closed eyes and TBM's.

It is now 2 days on from the day I declared an end to the implementation of guest messaging
now though the list of items provided in that post are indeed implemented I am still working on it today , finalizing the streamline and integration stage of the work. Often during the course of an implementation , you'll find areas from previous code that maybe weren't as efficient as you thought and you change them, or you find other areas that would work better when integrated with the newer code for the current implementation. However, most of the time after implementation is spent weeding bugs out of the system and making sure the implementation actually works. It is one thing to write compilable code , another to make sure it does what you wanted it to. In many ways this part of the process is like sculpting with your eyes closed, you are able to get a rough outline of the final synthesis from the implemented items but you still need to smooth the edges and discontinuities into an efficient whole.

Many of the tasks specified in the list, were independent from many others but all were required to achieve the desired outcome of a working guest messaging system. The gotcha's come into play afterward, for example I mentioned in this post, that I needed to add a new method to retrieve all the guest request rows from the participant_queue table, since then I've also needed to add bits of code to various areas in the UI that govern building and managing the guest session as unique from user sessions that perform messaging. The integrative approach I am taking is a bit more difficult to manage but it is faster to implement, plus once it is working I can later optimize execution by extracting the portions unique to guest messaging into dedicated templates and thus more efficiently model an efficient scalability and memory use curve under high load of guest message requests and transactions. This process of weaving the loose ends together reminds me of the process of large scale civil construction that has led to the creation of some massive public works projects throughout the world.



The "Chunnel" (channel tunnel) between England and France employed the use of TBM's (see image) , tunnel boring machines..these massive devices are essentially mechanical worms, that dig with diamond carbide tipped faces into bedrock while lining the walls with smooth concrete liners as they go. They have increased the efficiency of tunnel boring for the construction of train and road tunnels tremendously. Their use in the channel required that two teams with at least two TBM devices were deployed at the British and French ends of the tunnel respectively, these were then guided through the use of GPS beacons and lasers as they drilled their way under the channel's rock. An amazing feat of engineering that spanned the channels entire undersea length of over 22.55 miles, in the end this seemingly blind act of trusting GPS and lasers ensured that when the two drilling teams met under the English channel the tunnels were aligned to such precision that they were off center by only 358mm(14.1inch) horizontally and 58mm(2.3inch) vertically.

The close agreement between the ends resulted from the consistent process of implement and test performed along the way. Survey,Dig, probe, Dig, Survey, Dig, probe ...etc. It may seem that this task was next to impossible but by conquering one small possible problem at a time the final tunnel was connected and went into service over 10 years ago. The process of refining an implementation of code tasks to agree with a final design goal and troubleshooting is like the work that the tunnel creators had to do in aligning the tracks despite the small center line error difference between the two ends. Ultimately the fact the tunnels were misaligned by so small a degree amounted to no problem for rail layout since the difference was within the tunnels design parameters. In engineering, "perfect" is a relative term ..so long as all desired problem conditions are accounted for in a solution. ;)

Channel Tunnel Wikipedia page:
http://en.wikipedia.org/wiki/Channel_Tunnel

Channel Tunnel PDF guide:
http://www.bechtel.com/assets/files/Briefs_PDFs/design0705.pdf

Comments

Popular posts from this blog

Highly targeted Cpg vaccine immunotherapy for a range of cancer

Significance?


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…