Skip to main content

Firefox 3 gets the bugs out...

I downloaded the latest beta of Firefox 3 beta 4 a few days ago and installed it last night. What a difference an upgrade makes. True to the claims of vastly improved speed, Firefox 3 impressed me with what you can get out of a philosophy of constantly pursuing tight code. In addition to being faster, the new browser also uses memory more efficiently. You'll recall my post on the importance of an almost manic obsession with reducing the memory footprint of every object when coding for scalable distributed web applications, though firefox is not meant to scale or distribute outside of a single computer, the designers realized that the area of memory utilization could be used to affect a noticeable improvement to the user experience and sure enough that is the case in Firefox 3. Pages load in a snap, firefox developers talked up the improvements on the mozilla blog take a look for the specific improvements made.

One thing that I am very happy about was a bug I noticed regarding the rendering of composed div elements that call dynamic code using AJAX. In my collaboration UI , a contacts list is displayed using composed AJAX calls, up until firefox 3, the display of the contents in this dynamically loaded section was irratic, depending on the amount of content loaded sometimes the outer call would resolve before the inner content had finished rendering. Thus, the outer call would render as if there was no code inside it, the pane displayed in a collapsed state instead of expanded. I could trick it by refreshing the page several times and get it to expand, but often the next manual page refresh would recollapse the pane. I tested the issue in IE , Opera and Safari (on an IPhone!) and none of them exhibited the pane collapse bug I encountered so I was sure it was a rendering issue that Firefox had. I am happy to report that the bug is now gone in Firefox 3, logging in to an account reveals the expanded display of the users contacts as it should, following links on the page refresh the page maintaining the expanded state of the pane exactly as it was supposed to. I am not sure what change was made by Firefox to fix this (probably some issue related to caching and rendering of dynamically populated div's) but it is indeed fixed!

Shot out to the firefox 3 team for relentlessly hunting down bugs and memory issues, I believe that well designed software should get tighter with each revision and the moz dev guys seem to follow that mantra as well. Kudos guys.


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…