Tuesday, August 4, 2009
YOUR EPITAPH
I've got whole worlds staring at screens
I'm told I'm a geek god in a glass temple
I exist, God-like in a desk job mode
So my friend, if you, like myself, are seeking me now
And if I've earned one epitaph no one grudges me,
You see the world is so much smaller these days
Monday, August 3, 2009
REST parameter
function getItems(...rest):void
{
// ... logic goes here
}
Notice that the only parameter the getItems method is ...rest, this is a rest parameter. When creating a rest parameter you should keep the following things in mind:
- Rest parameters are untyped. It is up to you to validate any special type requirements as you loop through the rest parameter array.
- Rest parameters must be at the end of a method's parameters.
- The rest parameters must have ... in front of it, but the variable name can be anything.
When you want to retrieve values out of a rest parameter you simply iterate (loop) through them like you would any other array. Here is an example:
function getItems(...items):void
{
var total:int = items.length;
for( var i:int = 0; i < total; i++)
{
trace("Look up item", items[i]);
}
}
getItems("testA","testB","testC", 10);
When we call the method we can pass in any number of items as
long as they are separated by a comma. Back in the getItems method we get the
total from the rest parameter just like we would an array.
http://www.linkedin.com/news?viewArticle=&articleID=55481685&gid=
113435&articleURL=http%3A%2F%2Fwww.insideria.com%2F2009%2F08%2Fas-3-
rest-parameter.html&urlhash=9xja&trk=news_discuss
Key ways to reduce vulnerability and improve security in SCORM
Key ways to reduce vulnerability and improve security.
- Audit trails and accountability. Have a second source of data to cross-check. Ideally this data should be automatically collected. Data sent to a SCORM or AICC LMS is also sent to a Questionmark Perception server via a different data conduit.
- Secured Communication. Transfer responsibility for the result data to a server. Questionmark’s secure server-to-server implementation of AICC does this.
- Increased Client/Browser Security. Reduce the attack surface of the runtime. Use a Secured Browser that disables or limits functionality not directly needed for the primary activity. Questionmark Secure is a browser that does this for AICC or SCORM.
- Direct Proprietary Communication. This approach works by centralizing the chain-of-custody for the data to one trusted provider. Questionmark Perception can manage the process completely from authoring to scheduling to delivery to reporting.
Audit trails. Keeping parallel records such as with a double-entry accounting system is one way to achieve an audit trail. Having such an audit trail is key to identifying and recovering from errors or misdeeds. Questionmark provides capabilities for such an audit trail through both its SCORM and its AICC implementations. Perception achieves increased security and this audit trail by sending data to the LMS using the SCORM or AICC standard and, in parallel, sending data directly to the secure Perception server database. In the case of an error or misdeed, the LMS system results and the results in the secured Perception database can be compared to recover from either a security breach or an error.
Secured Server-to-Server Communication. In the cheatlet exploit, the openness of the published SCORM API and the browser JavaScript layer are used to inject false data from the client side. One way to increase the security is to remove this client side vulnerability and use AICC instead of SCORM. The innovative Perception server-to-server implementation of the AICC HACP specification demonstrates this, by having the browser relay minimal data to the Perception server. The client is not capable of directly injecting falsified overall score data. The Perception server is ultimately responsible for judging response and data communication with the LMS, not the browser client.
Increased Browser Security. As currently implemented, this exploit relies on user access to the UI to open a bookmark. Changes to the launch environment (browser) can reduce this vulnerability. The Questionmark Perception Secure Browser is a commercialized browser solution built for the rigorous requirements of high-stakes testing environments. When a participant takes an online assessment using Questionmark Secure, the secure browser displays the HTML content of the assessment, but disables key functions such as task-switching, right click options, screen captures, menus and printing. There simply isn’t a means to access a menu or bookmark to trigger.
Direct Proprietary Communication In this scenario, one trusted party is responsible for the full span of access, delivery, and results. It does run somewhat contrary to cybersecurity practice of published protocols and specifications that can bear wide scrutiny. It can also undermine interoperability, something near and dear to my heart. In the long run, I believe you’ll find Questionmark moving in directions that addresses these type of concerns.
However, there are many valid circumstances where the values of single party chain of custody and trusted relationship trumps other concerns. High stakes test are often the prime case for this, and it is critical to expand cyber-defense-in-depth with adjunct security measures (such as tight control of source materials, exam monitors, proctors/invigilators).
Work-around versus defend-against. Finally, as an exercise for the reader, you may consider reading the the two ADL workarounds published April 2, 2009. You’ll find that the excerpt on Securing Your Assessments provides a means of masking the location of answer-judging source code sent to the client by some systems. While useful, it doesn’t provide the same security and depth of defense as other approaches. Consider for instance using Questionmark Secure (prevents ‘view source’) with the Perception SCORM implementation (adds audit trail) and Perception server-side evaluation logic (secures the evaluation logic on the server-side). That is defense in depth. One might even replace SCORM with AICC in this case for additional security in addition to or in lieu of Questionmark Secure.
Courtesy-- TechRepublic
Sunday, August 2, 2009
Domain Specific Languages (DSLs)
Thursday, July 30, 2009
Adobe Stratus
What is Adobe Stratus?
With Flash Player 10, Adobe brought in enhancements that make writing P2P applications a reality. Flash Player 10 provides support now for a new protocol called Real Time Message Flow Protocol (RTMFP). This protocol is well suited to creating applications that need to communicate to each other directly. This communication is facilitated via the Adobe Stratus Service which supports the RTMFP protocol and is a rendezvous Hosted Service that facilitates connection between two Flash Player 10 instances.
Once the Flash Player 10 instances are connected to each other, the two applications can continue to talk to each other without going through an intermediate server side.
Adobe has had Flash Media Server (FMS) over the years and recently they have also introduced Adobe Flash Collaboration Services (AFCS), formerly known as Cocomo. FMS currently does not support the RTMFP protocol but future versions of it could. On the other hand, Adobe Stratus in conjunction with the Flash Player 10 APIs does not provide support for full P2P capabilities like relay, shared data models, etc. but depending on the kind of application that you may require, it might just about the fit the requirements of your P2P Application without requiring additional server side architecture.
Plz refer
http://www.linkedin.com/news?viewArticle=&articleID=54537631&gid=113435&articleURL=http%3A%2F%2Fwww.insideria.com%2F2009%2F07%2Fgetting-started-with-adobe-str.html&urlhash=LoE9&trk=news_discuss
Wednesday, July 29, 2009
Skinnign FLV Component
Skinning FLV Playback Custom UI components individually
The FLV Playback Custom UI components allow you to customize the appearance of the FLVPlayback controls within your FLA file and allow you to see the results when you preview your web page. These components are not designed to be scaled, however. You should edit a movie clip and its contents to be a specific size. For this reason, it is generally best to have the FLVPlayback component on the Stage at the desired size, with the scaleMode set to exactFit.
To begin, simply drag the FLV Playback Custom UI components that you want from the Components panel, place them where you want them on the Stage and give them instance names.
These components can work without any ActionScript. If you put them on the same timeline and frame as the FLVPlayback component and there is no skin set in the component, the FLVPlayback component will connect automatically to them. If you have multiple FLVPlayback components on Stage, or if the custom control and the FLVPlayback instance are not on the same Timeline, then Action is needed.
After your components are on the Stage, you edit them as you would any other symbol. After you open the components, you can see that each one is set up a little differently from the others.
Tuesday, July 28, 2009
Send and Load Example
package {- import flash.events.*
- import flash.net.*;
- public class SendAndLoadExample {
- public function SendAndLoadExample() {}
- public function sendData(url:String, _vars:URLVariables):void {
- var request:URLRequest = new URLRequest(url);
- var loader:URLLoader = new URLLoader();
- loader.dataFormat = URLLoaderDataFormat.VARIABLES;
- request.data = _vars;
- request.method = URLRequestMethod.POST;
- loader.addEventListener(Event.COMPLETE, handleComplete);
- loader.addEventListener(IOErrorEvent.IO_ERROR, onIOError);
- loader.load(request);
- }
- private function handleComplete(event:Event):void {
- var loader:URLLoader = URLLoader(event.target);
- trace("Par: " + loader.data.par);
- trace("Message: " + loader.data.msg);
- }
- private function onIOError(event:IOErrorEvent):void {
- trace("Error loading URL.");
- }
- }
- }