January 30, 2008

How to analyze Captivate Movie structure

If you want to create widgets that control Captivate files with new functions, other than the standard playbar functions, you will need to develop them in flash. Here's how to figure out what is going on in a Captivate movie file:

Create a Captivate movie, and publish it (Captivate 2) or export it to Flash (Captivate 3). To create my faster-slower widgets, I had to decompile it into an .fla (I used SWFdecompiler )

Open it in Flash, and start exploring the structure. If you are using version 3, by far the best tool you can use include the "debug movie" command.


If you are working on an earlier version of Captivate the debug movie function is still helpful, but not quite as great, so I used this simple method for determining where things are:

In the first frame of the .fla, put a script that traces out the properties of _root. Then find the object that most likely contains whatever you are trying to determine the path to, and trace the properties of THAT object and so on. Keep working down until you find the path to the object.

So, for example, tracing from the playbar,

for (var i in playbar_mc) {
trace("playbar_mc."+i+" = "+playbar_mc[i]);
}

it output something like:


rdPlaybar>>> cpMovie = _level0.s1_i3_swf_mc.m_swf_mc
this._name= playbar_mc
_parent._name= m_swf_mc
_parent._parent._parent._name=
_parent._parent._parent.cpMovie._name= undefined
cpMovie.name= m_swf_mc
_root.rdcmndRewindAndPlay = 0
_root.rdcmndRewindAndStop = 0
_root._accProps = [object Object]
_root.endSwfAction = 0
_root.m_Sub_mc_array = s1_i3_swf_mc
_root.slideData = [object Object]
_root.slideTransition = [object Object]
_root.index = 12
_root.pacemaker = [object Object]
_root._captivateMovie = [object Object]
_root.rdcmndGotoFrameAndResume = -1
_root.movie = [object Object]
_root.toberemoved = [type Function]
_root.getSlideIndexFromFrame = [type Function]
_root.itemLoaded = [type Function]
_root.onEnterFrame = [type Function]
_root.waitCount = 0
_root.menu = [object Object]
_root.CaptivateVersion = 2.0.0
_root.rdcmndMute = 0
_root.rdcmndCC = 0
_root.rdcmndNext = 0
_root.rdcmndPrevious = 0
_root.rdcmndPause = 0
_root.rdcmndResume = 0
_root.rdcmndGotoFrame = -1
_root.rdIsStandalone = false
_root.rdIsPreview = 0
_root.rdIsMainMovie = 1
_root.rdinfoSlideCount = 12
_root.rdinfoCurrentSlideInProject = 1
_root.rdinfoCurrentSlide = 1
_root.rdinfoCurrentFrame = 1420
_root.rdinfocurrFrame = 1414
_root.rdinfoFPS = 30
_root.rdinfoSlidesInProject = 12
_root.rdinfoFrameCount = 2565
_root.rdinfoHasPlaybar = 0
_root.adobeHomeMenuItemHandler = [type Function]
_root.createCpContextMenu = [type Function]
_root.isExpired = [type Function]
_root.setExpired = [type Function]
_root.decrementWait = [type Function]
_root.incrementWait = [type Function]
_root.isWaiting = [type Function]
_root.$version = WIN 8,0,22,0
_root.s1_i3_swf_mc = _level0.s1_i3_swf_mc
_root.loading_mc = _level0.loading_mc
_root.slide11__image_mc = _level0.slide11__image_mc
_root.rdClibBoxSound_mc = _level0.rdClibBoxSound_mc
_root.rdClibBoxSound_mc = _level0.rdClibBoxSound_mc
_root.slide10__image_mc = _level0.slide10__image_mc
_root.slide9__image_mc = _level0.slide9__image_mc
_root.slide8__image_mc = _level0.slide8__image_mc
_root.rdClibBoxSound_mc = _level0.rdClibBoxSound_mc
_root.slide7__image_mc = _level0.slide7__image_mc
_root.slide6__image_mc = _level0.slide6__image_mc
_root.slide5__image_mc = _level0.slide5__image_mc
_root.slide4__image_mc = _level0.slide4__image_mc
_root.slide3__image_mc = _level0.slide3__image_mc
_root.slide2__image_mc = _level0.slide2__image_mc
_root.slide1__image_mc = _level0.slide1__image_mc
_root.slide0__image_mc = _level0.slide0__image_mc
_root.rdClibBoxSound_mc = _level0.rdClibBoxSound_mc
_root.rdClickHandler_mc = _level0.rdClickHandler_mc

for (var i in _root.captivateSlides) {
trace("_root.captivateSlides"+i+" = "+_root.captivateSlides[i]);
}

Other very helpful sites with lists of captivate variables, widgets and other tips:

Also the Adobe help files for Captivate and Flash are good, search them carefully. All this is in the manual:

Posted by ellen at 8:32 PM

January 27, 2008

Cactus with a florid personality.

Saguaro cactus

I shot this picture of a saguaro cactus in March of 2006 in Sabino Canyon, just outside Tucson, AZ. This is located near the nature center there, before you start going up the canyon. It looks as if it's trying to outdo the cactus to the left of it - what it couldn't do with height, it is making up for in complexity.

Posted by ellen at 6:29 PM

A flu vaccine for all "A" strains.

The influenza virus is unique in its ability to mutate and adapt, with new variants arising every year in animal populations around the world. This has been the chief obstacle to creating a once-in-a-lifetime vaccine like those used for polio or diptheria. The flu vaccines to date have to be reconfigured and re-administered every year after the predominant human strains become apparent.

This may be about to change. According to an article in Science Daily, The British-American biotech company Acambis has successfully tested a "universal" flu vaccine in humans. It is not exactly universal: it combats all "A" strains of the flu, which are responsible for approximately 2/3 of the cases every year. However, it is a major step forward, and would provide protection against all the "pandemic" strains which have caused so many deaths in the past, and avian flu, which has the scientific community so worried.

Posted by ellen at 9:58 AM

January 25, 2008

Review of the latest iPhone Update (1.1.3)

A few days ago, Apple sent down version 1.1.3 of the IPhone software. This update is a huge leap in much-needed functionality.

Home Page
The home page interface now makes sense! It always looked as if it were customizable, and practically begged you to add items to it, but it wasn't possible. Now it is.

Adding a new application is as simple as browsing to the application on iPhone Safari, clicking the "+" symbol and selecting "add to home page." The various web-based iphone applications available all over the internet are now as easy to access from the iphone home page as the native apps.

And all the icons on the home page can be moved around, reorganized, and shifted to other pages (up to 7 of them.) Even the dock icons (Phone, Mail, Safari, iPod) can be moved.


Google Maps
The new pseudo-GPS feature of Google maps has proved quite useful already, when our GPS froze (literally - it was 10°F!) in the car. It works well, except when the cellphone towers are blocked by hills or other obstructions.

Gmail can now be accessed using an imap mail client on the iphone. There are no more issues with old junk mail appearing to be "unread" even if it has already been junked and disposed of on other mail clients .

iTunes
Apparently you can now watch rented movies from the iStore on the iPhone, although I haven't tried that yet.

A new feature I am unlikely to use: When in a Starbuck's, you can purchase any musical selection that is playing, while it is playing. However, since you have to pay a monthly fee just to sign on to their T-mobile wifi, and you won't be able to get to the iTunes store unless you ARE signed on, I won't be participating in that particular "improvement."

The ability to text multiple recipients is nice, although you still can't view multimedia text messages.

Still waiting...
Still no mail search feature, and no ability to shoot videos, record voice, view Flash or store files.

However, for my purposes, the ability to add applications to the home page is tantamount to getting an entirely new device with more features.

Posted by ellen at 9:48 AM

January 18, 2008

Use Subtitle Workshop to generate captions for Rich-MediaProject

Over the last couple of years, Microsoft Producer has become less and less of a viable option for synching powerpoint and video. Probably because of browser changes, it works on less browsers than before, and is no longer compatible even with Powerpoint 2007. So I went in search of a Flash-based replacement for MS Producer. I've found it in the Rich-Media-Project's Rich-Media Pack I.


RMP I features 4 components: A Flash-Paper "player", an FLV video player, a slide list and a media playlist. You create a flash-paper version of the powerpoint or word document, then synch it to the video with XML. The playlist is generated by another xml file, and the captions are created using a third XML file.
The only thing missing is an easy way to create the XML files, so I am creating templates for the captions and slide list XML files in Subtitle workshop. Below is the code for the Custom Format file for the captions:



[Information]
Name=RichMediaProjectCaptions
Extension=*.xml
Time structure=hh:mm:ss.zzz
Time=True
FPS=29,97
New line char=


[Format text]
<?xml version="1.0" encoding="UTF-8" ?>
<captions>
{RepeatSub}
<item>
<tcIn>{swStart}</tcIn>
<tcOut>{swEnd}</tcOut>
<text>{swText}</text>
</item>
{EndRepeat}
</captions>


Posted by ellen at 6:32 PM

January 12, 2008

dotProject and phpSuexec

Some webhosts, like Hostgator.com, run php in cgi-mode, using phpSuexec.

dotProject 2.1.1 will install and run under this setup, but you may run into an issue when clicking on the "Company" tab, or selecting "create a new Company" from the dropdown menu in the header.

    Forbidden You don't have permission to access /admin/index.php on this server.

    Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


The fix is to add a file called ".htaccess" to the dotproject root folder, containing the line:

SecFilterEngine off

Many thanks to simonatron for this solution.

Posted by ellen at 3:18 PM

January 11, 2008

Recent research on Alzheimer's Disease: Inflammation, and the role of viral and bacterial infection

The last year saw some very exciting developments in Alzheimer's research. Among them, the relationship of inflamation processes to cognitive decline and a possible relationship of the herpes simplex virus in the presence of a certain genotype to the development of Alzheimers.

Simon Cooke, who writes a blog called the "Accidental Scientist," has posted a very readable and informative summary of some of the most interesting highlights of the latest research. He does a great job of explaining the new discoveries, and speculates about links between infectious diseases and chronic diseases yet to be confirmed. In particular his post on the use of an anti-inflammatory drug to treat Alzheimers - in minutes!, and his post on the possible role of Herpes in many chronic diseases are particularly worth reading.

I've rounded up some of the relevant citations and abstracts to help paint a picture of the new directions in this research.

 

Useful definitions:

Tumor Necrosis Factor-alpha

Tumor necrosis factor (TNF, cachexin or cachectin and formally known as tumor necrosis factor-alpha) is a cytokine involved in systemic inflammation and is a member of a group of cytokines that all stimulate the acute phase reaction.
TNF causes apoptotic cell death, cellular proliferation, differentiation, inflammation, tumorigenesis, and viral replication.
TNF's primary role is in the regulation of immune cells.
Dysregulation and, in particular, overproduction of TNF have been implicated in a variety of human diseases, as well as cancer.[1]

Cytokine

Cytokines are group of kinetic proteins and peptides that are used in organisms as signaling compounds. These chemical signals are similar to hormones and neurotransmitters, and are used to allow one cell to communicate with another...

Apolipoprotein E

APOE[2] is essential for the normal catabolism of triglyceride-rich lipoprotein constituents. APOE was initially recognized for its importance in lipoprotein metabolism and cardiovascular disease. More recently, it has been studied for its role in several biological processes not directly related to lipoprotein transport, including Alzheimer's disease (AD), immunoregulation, and cognition.


Herpes virus (HSV-1) in the presence of gene appears to cause predisposition to developing Alzheimer's

NEUROBIOLOGY OF AGING Volume: 29 Issue: 1 Pages: 71-77 Published: JAN 2008

Alzheimer's disease (AD) is a common and devastating neurodegenerative disease in which most cases are of unknown, sporadic origin. In addition to age, the most prevalent known risk factor for developing AD is carriage of the 84 allele of Apolipoprotein E (ApoE). Carriage of the epsilon 2 or epsilon 3 allele of ApoE confers protection or no change in risk for AD, respectively. Latent herpes simplex virus type 1 (HSV-1) infection in the brain concurrent with ApoE4 carriage exacerbates risk for AD, suggesting that these two factors interact to promote neuronal dysfunction and degeneration in selective brain areas. ... ...Our data support the concept that HSV-1 and ApoE4 interact to provide an environment conducive to the development and/or spread of AD.


This is a commentary on a small trial in 15 patients that used spinal injections of an antiinflammatory drug "Etaniercept" and had a positive effect within minutes of administration on cognitive function .

Commentary
Perispinal etanercept: Potential as an Alzheimer therapeutic
W. Sue T. Griffin

Journal of Neuroinflammation 2008, 5:3doi:10.1186/1742-2094-5-3

Published: 10 January 2008

Tumor necrosis factor-alpha (TNF) is one of a number of systemic and immunomodulating cytokines that generally act to promote acute-phase reactions but can drive degenerative changes when chronically elevated. Traditional focus on TNF has been directed at these inflammation-related functions. ...

... More recent data have revealed that TNF, one of the few gliotransmitters, has strikingly acute effects on synaptic physiology. These complex influences on neural health suggest that manipulation of this cytokine might have important impacts on diseases characterized by glial activation, cytokine-mediated neuroinflammation, and synaptic dysfunction. Toward such manipulation in Alzheimer's disease, a six-month study was conducted with 15 probable-Alzheimer patients who were treated weekly with perispinal injection of Etanercept, an FDA-approved TNF inhibitor that is now widely used for treatment of rheumatoid arthritis and other systemic diseases associated with inflammation. The results demonstrated that perispinal administration of etanercept could provide sustained improvement in cognitive function for Alzheimer patients. Additionally, the authors were impressed by the striking rapidity with which these improvements occurred in the study patients. An example of this rapid improvement is presented in this issue as a case report by Tobinick and Gross. Such rapid gain of function inspires speculation about the role of gliotransmission or other equally rapid synaptic events in the relationship of TNF to Alzheimer-impacted neurophysiology. Because of the inability of large molecules such as etanercept to cross the blood brain barrier following conventional systemic administration, it is likely that the more direct drug delivery system pioneered by Tobinick also contributed to the effectiveness of the treatment. If so, this system could be useful in drug delivery to the brain in other neural disorders...


TNF-alpha Modulation for Treatment of Alzheimer's Disease: A 6-Month Pilot Study

Edward Tobinick, MD; Hyman Gross, MD; Alan Weinberger, MD; Hart Cohen, MD, FRCPC
Medscape General Medicine. 2006;8(2):25. ©2006 Medscape
Posted 04/26/2006

MedGenMed Neurology & Neurosurgery

...To investigate the use of a biologic TNF-alpha inhibitor, etanercept was given by perispinal extrathecal administration for the treatment of AD....This was a prospective, single-center, open-label, pilot (proof-of-concept) study, in which 15 patients with mild-to-severe AD were treated for 6 months. We administered etanercept, 25-50 mg, once weekly by perispinal administration. ...The average age of our patient population was 76.7....An increasing amount of basic science and clinical evidence implicates inflammatory processes and resulting glial activation in the pathogenesis of AD. This small, open-label pilot study suggests that inhibition of the inflammatory cytokine TNF-alpha may hold promise as a potential approach to AD treatment. Further study in randomized, placebo-controlled clinical trials is merited.


 


An article from 2004 discussing the role of herpes simplex virus type 1 and the bacterium Chlamydia pneumoniae as risk factors for AD.

http://dx.doi.org/10.1016/j.neurobiolaging.2003.12.021

Infiltration of the brain by pathogens causes Alzheimer’s disease

Neurobiology of Aging
Volume 25, Issue 5, May-June 2004, Pages 619-627
Challenging Views of Alzheimer's Disease - Round II

Despite very numerous studies on Alzheimer’s disease (AD), especially on amyloid plaques and neurofibrillary tangles, little information has been obtained thus on the causes of the disease. Evidence is described here that implicates firstly herpes simplex virus type 1 (HSV1) as a strong risk factor when it is present in brain of carriers of the type 4 allele of the gene for apolipoprotein E (APOE-4). Indirect support comes from studies indicating the role of APOE in several diverse diseases of known pathogen cause.

A second putative risk factor is the bacterium, Chlamydia pneumoniae. This pathogen has been identified and localized in AD brain. Current studies aimed at “proof of principle” address the entry of the organism into the CNS, the neuroinflammatory response to the organism, and the role that the organism plays in triggering AD pathology. An infection-based animal model demonstrates that following intranasal inoculation of BALB/c mice with C. pneumoniae, amyloid plaques/deposits consistent with those observed in the AD brain develop, thus implicating this infection in the etiology of AD.

 

Isoform-specific effects of ApoE on HSV immediate early gene expression and establishment of latency

Author(s): Miller RM (Miller, R. M.), Federoff HJ (Federoff, H. J.)
Source: NEUROBIOLOGY OF AGING Volume: 29 Issue: 1 Pages: 71-77 Published: JAN 2008

Abstract: Alzheimer's disease (AD) is a common and devastating neurodegenerative disease in which most cases are of unknown, sporadic origin. In addition to age, the most prevalent known risk factor for developing AD is carriage of the 84 allele of Apolipoprotein E (ApoE). Carriage of the epsilon 2 or epsilon 3 allele of ApoE confers protection or no change in risk for AD, respectively. Latent herpes simplex virus type 1 (HSV-1) infection in the brain concurrent with ApoE4 carriage exacerbates risk for AD, suggesting that these two factors interact to promote neuronal dysfunction and degeneration in selective brain areas. I...

We-find that carriage of the different ApoE alleles dramatically affects HSV-1 immediate early gene expression as well as the establishment of latency. ...Our data support the concept that HSV-1 and ApoE4 interact to provide an environment conducive to the development and/or spread of AD.

Posted by ellen at 11:39 AM

January 7, 2008

Power Light is on but computer won't turn on - Power Mac G5

I just walked in on a Monday morning to find the Power Mac G5 off. Pressing the power button did nothing, although the power light was on. Pulling the plug for a moment did nothing either. Fortunately I found this technote from Apple which got things working again:

Power Mac G5 (Late 2005)
To reset the SMU on a Power Mac G5 (Late 2005) computer, either use the steps listed above for the Power Mac G5 (Late 2004) or:


  1. Turn off the computer by selecting Shut Down from the Apple menu or by holding the power button until the computer turns off.
  2. Open and remove both the metallic outer door and the inner plastic air deflector.
  3. Remove the fan assembly immediately to the left of the processor module.
  4. Press the SMU reset button on the logic board.
  5. Replace the fan assembly, air deflector, and outer door.
  6. Turn on the computer.

300341_1%5B1%5D.gif

Posted by ellen at 10:36 AM