Rebol a Programmer’S Guide

Total Page:16

File Type:pdf, Size:1020Kb

Rebol a Programmer’S Guide Rebol A programmer’s guide Copyright 2008, Olivier Auverlot and Peter W A Wood First edition – December 2008 The programs in this book are intended to illustrate the topics under discussion. There is no guarantee given that they will function once compiled, assembled or interpreted in the context of professional or commercial use. By visiting the site at www.auverlot.fr you can • Talk with the authors • Download the example code • Look for updates and additions All rights reserved. Any reproduction, even partial, of the content, the cover or illustrations, by any means whatsoever (electronic, photocopier, tape or otherwise) is prohibited without written permission of the authors. Preface For many years the answer to the question “Which is the best book to learn Rebol?” has been Olivier Auverlot’s “Programmation Rebol”. As you probably guessed from the title, it’s written in French. Soon after it was published late in 2001, work started on a translation. It was even listed with a publication date on Amazon.com. Sadly, it has yet to see the light of day. At the beginning of 2007, Olivier published “Rebol - Guide du programmeur”. I hoped for news of a translation; but none came. It seemed that the only option was going to be to read the book in French. So why not translate the book myself? Translating “Rebol - Guide du programmeur” has been most enjoyable. Olivier’s writing is eloquent and informative. His command of Rebol shines through. I learned a lot whilst translating the book, some Rebol and some French. I hope you will too, though perhaps not so much French as me. Rebol – A programmer’s guide Acknowledgements I would like to thank Olivier not only for writing such a good book but equally for all the help and support he’s provided as I’ve been working on the translation. There are many helpful folks in the Rebol community. In particular, Gregg Irwin and Sunanda have been a constant source of friendship and encouragement. Thank you. Last but certainly not least, I would like to thank Noriati, my wife, and Hannah Sarah, our daughter, for their love, their unquestioning support and their forbearance during the many hours I’ve sat staring at my computer. Peter W A Wood 2 Foreword What is the purpose of this book? For five years, Olivier had the pleasure of working for the French computer magazine Login and wrote many articles about REBOL. Sadly Login is no longer published and Olivier felt it both necessary and appropriate to consolidate his work so that the accumulated knowledge would still be available to the Rebol community. Understandably, he initially published his work as “Rebol – Guide de Programmeur”. This book is a translation of the original into English. The basic idea was simply to regroup articles according to specific subject, but the project turned out to be much larger than that. Many articles required a partial rewrite, others needed to be supplemented and finally, some previously unpublished elements were added. The "remix" has been much greater than anticipated, but it was necessary to ensure that the book has a coherent structure. In the end, the book turned out to be a highly practical guide to Rebol for programmers. Rebol – A Programmer’s Guide The diversity of topics makes the book more of a reference manual than a complete introduction. It elaborates on a number of points from Olivier’s previous book “Rebol Programmation” published by Eyrolles (ISBN: 2-212- 11017-0). Who is this book for? This book is primarily aimed at Rebol developers. It was conceived and designed with them in mind, giving the maximum of knowledge across a wide range of topics in a concise form. Most importantly, it can save them a lot of time through the numerous examples provided. It also meets the needs of developers and students wishing to learn Rebol. Each chapter explains the strong points of the language and then applies that knowledge. Additionally, it meets the needs of policy makers by outlining the capability of Rebol technology. Various case studies and product presentations are used to study the implementation of the language with the help of examples. Finally, it is intended for system administrators interested in using Rebol to automate certain tasks (Unix server administration, managing grid computing, etc.). Many parts of this book are devoted to such topics. How is it structured? The book consists of seven chapters each built around a theme: • Chapter 1 is an overview of Rebol by example, • Chapter 2 deals with the basics of the language, • Chapter 3 covers graphical interfaces, graphics and sound, • Chapter 4 describes Rebol’s advance network programming features, vi Foreword • Chapter 5 is aimed at professional users of Rebol. It presents the use of Rebol in the context of e-business, • Chapter 6 provides advanced information for Rebol developers, • Chapter 7 is a series of workshops designed to facilitate learning the language through practice. vii Contents Introduction Chapter 1 – Discover Rebol in an hour Chapter 2 – The Rebol langauge Chapter 3 – GUI, graphics and sound Chapter 4 – Networking and the Internet Chapter 5 – Rebol for pros Chapter 6 – Rebol for geeks Chapter 7 – Practical applications Table of Contents Introduction 1 Join the REBOLution ! 1 Programmer, word builder 2 A virtual machine 3 A family of products 3 Rebol/Core 4 Rebol/View 4 Rebol/Command 5 Rebol/SDK 6 Rebol/IOS 6 A network programming language 6 Manipulating information 7 Object programming 7 The main applications written in Rebol 8 Protocols and dialects 8 Rebol and the web 8 Utilities as if it raining! 9 Multimedia and games 10 Downloading and installing 11 Using the console 14 Rebol – A programmer's guide Establishing a working environment 15 Chapter 1 - Discover Rebol in an hour 17 The robotFTP project 17 Project introduction 18 Technical considerations 18 The execution environment 18 The security manager 19 Writing the header 20 The principle datatypes 21 And now, the code! 22 Declaring a function 23 Manipulating URLs 24 Executing FTP commands 25 Defining and using dialects 25 The robotFTP dialect 26 Managing errors 27 Conditional expressions 28 Managing files 28 Completing and testing robotFTP 29 Adding a graphic layer 30 Managing a progress bar 30 Opening a window 31 Integration with the RobotFTP script 31 Summary 32 Chapter 2 – The Rebol language 33 Survival guide 33 Let's write a program 34 Running your script 35 Variables and datatypes 36 Declaring a variable 36 Finding the type of a variable 37 Using Constructors 37 Simple datatypes 38 Complex datatypes 38 Blocks 39 xii Table of Content Handling lists 40 Arrays 40 Navigating within a series 41 Accessing an element 42 Adding and removing elements 42 Modifying a series 43 Searching and sorting series 43 Copying and clearing series 43 Control structures and loops 44 Tests in Rebol 44 And else? 45 Multiple choices 46 Loop 46 The for loop family 47 Repeat, until and while 48 A simple game in Rebol 49 Functions and objects 50 Using functions and objects 50 Defining functions 51 Creating objects 53 Parsing and dialects 55 The art of handling character strings 55 Rebol parsing 56 Parsing using a dialect 56 A little parsing 57 Defining a dialect 58 Summary 60 Chapter 3 – GUI, graphics and sound 61 GCS and VID 62 Basic concepts 62 Styles 64 Attributes 64 Style layout 65 A dollar-euro converter 65 Image processing with VID 66 Using images 67 xiii Rebol – A programmer's guide Displaying an image 67 Modifying images 69 Applying special effects 70 The DRAW dialect 72 Let's draw a line 72 Other draw functions 74 Adding text 75 Manipulating images 76 Generating image files 77 Using DRAW dynamically 77 Generating DRAW instructions 77 A little animation 79 Handling events with VID 80 Event-driven programming 80 Default behaviours 80 Tracking events 81 The event object 83 Controlling Windows 84 Managing styles 85 Defining a style 85 Applying a style sheet 86 Modifying style aspects 87 Defining a style's behaviour 89 Rebol and sound 90 Opening and closing a sound port 90 Loading and handling sound samples 91 Playing Samples 93 Graphic display of a sound sample 94 Summary 96 Chapter 4 – Networking and the Internet 97 Using TCP/IP protocols 97 Protocols in Rebol 98 Network configuration 98 Sending and receiving email 99 Accessing web resources 101 And the other protocols? 101 xiv Table of Content Clients and servers 102 Creating network protocols in Rebol 103 The standard protocols 104 The root protocol 105 Properties of the root-protocol object 106 Methods of the root-protocol object 107 Implementing Echo 108 Developing a gopher protocol 110 Rebol and CGI scripts 113 The overall picture 114 CGI overview 114 How to write CGI scripts in Rebol? 115 Reading parameters 116 Producing dynamics web documents 119 How Magic! Works 120 Installation 120 When the static becomes dynamic 121 Magic! Functionality 123 Library functions 123 Controlling embedded Rebol code 124 Handling MIME types 124 Managing cookies 126 Managing sessions 126 Handling XML documents 128 The problem of interoperability 129 Rebol's integrated parser 129 How to use the data? 130 The guts of the parser 132 A better XML parser 133 Generating XML 135 Using Web Services 136 Introducing XML-RPC 136 Using XML-RPC 136 The Rebol/View plugin 137 Small yet powerful 137 Inserting the plugin in an HTML page 139 Configuration Parameters 140 xv Rebol – A programmer's guide Cache, proxy and compression 141 Interacting with the Browser 144 Summary 147 Chapter 5 – Rebol for pros 149 Rebol/Command 149 Concentrated power 150 Database access 150
Recommended publications
  • JETIR Research Journal
    © 2018 JETIR October 2018, Volume 5, Issue 10 www.jetir.org (ISSN-2349-5162) QUALITATIVE COMPARISON OF KEY-VALUE BIG DATA DATABASES 1Ahmad Zia Atal, 2Anita Ganpati 1M.Tech Student, 2Professor, 1Department of computer Science, 1Himachal Pradesh University, Shimla, India Abstract: Companies are progressively looking to big data to convey valuable business insights that cannot be taken care by the traditional Relational Database Management System (RDBMS). As a result, a variety of big data databases options have developed. From past 30 years traditional Relational Database Management System (RDBMS) were being used in companies but now they are replaced by the big data. All big bata technologies are intended to conquer the limitations of RDBMS by enabling organizations to extract value from their data. In this paper, three key-value databases are discussed and compared on the basis of some general databases features and system performance features. Keywords: Big data, NoSQL, RDBMS, Riak, Redis, Hibari. I. INTRODUCTION Systems that are designed to store big data are often called NoSQL databases since they do not necessarily depend on the SQL query language used by RDBMS. NoSQL today is the term used to address the class of databases that do not follow Relational Database Management System (RDBMS) principles and are specifically designed to handle the speed and scale of the likes of Google, Facebook, Yahoo, Twitter and many more [1]. Many types of NoSQL database are designed for different use cases. The major categories of NoSQL databases consist of Key-Values store, Column family stores, Document databaseand graph database. Each of these technologies has their own benefits individually but generally Big data use cases are benefited by these technologies.
    [Show full text]
  • Design and Implementation of an Optionally-Typed Functional Programming Language
    Design and Implementation of an Optionally-Typed Functional Programming Language Shaobai Li Electrical Engineering and Computer Sciences University of California at Berkeley Technical Report No. UCB/EECS-2017-215 http://www2.eecs.berkeley.edu/Pubs/TechRpts/2017/EECS-2017-215.html December 14, 2017 Copyright © 2017, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. Design and Implementation of an Optionally-Typed Functional Programming Language by Patrick S. Li A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Engineering { Electrical Engineering and Computer Sciences in the Graduate Division of the University of California, Berkeley Committee in charge: Professor Koushik Sen, Chair Adjunct Professor Jonathan Bachrach Professor George Necula Professor Sara McMains Fall 2017 Design and Implementation of an Optionally-Typed Functional Programming Language Copyright 2017 by Patrick S. Li 1 Abstract Design and Implementation of an Optionally-Typed Functional Programming Language by Patrick S. Li Doctor of Philosophy in Engineering { Electrical Engineering and Computer Sciences University of California, Berkeley Professor Koushik Sen, Chair This thesis describes the motivation, design, and implementation of L.B. Stanza, an optionally- typed functional programming language aimed at helping programmers tackle the complexity of architecting large programs and increasing their productivity across the entire software development life cycle.
    [Show full text]
  • Implementation of the BOLARE Programming Language
    Implementation of the BOLARE Programming Language Viktor Pavlu ([email protected]) Institute of Computer Languages, Vienna University of Technology, Argentinierstrasse 8/E185, 1040 "ien, Austria ABSTRACT REBOL is a very flexible, dynamic, reflective programming language that clearly differs from the dynamic languages currently in popular use! The idea behind REBOL is that different problems should be attacked with different languages that have varying levels of granularity, each specifi- cally tailored to its problem domain. These domain-specific languages should give the program- mer the power to #rite programs that are closer to the problem and more expressive, thus shorter and easier to read, maintain and extend than would be possible in today’s dynamic programming languages. Despite its promising features, REBOL has not gained wide acceptance. Above all, this is due to the following: )*+ The language is merely defined by means o its only implementation, ),+ this implementation is closed-source and has many flaws, and )-+ the flaws are here to stay! .e therefore started project BOLARE. Aim o this project is to build an interpreter for a lan- guage that very closely resembles REBOL but leaves out all unintentional behavior that only stems from artifacts of the original implementation. After an introduction to REBOL/BOLARE in general, the three areas currently being #orked on are presented: Parser Generator: REBOL has a large set o built-in datatypes that have their own literal form making it easy to embed dates, times, email-addresses, tag structures, coordinates, binary data, etc. in scripts. The BOLARE parser is dynamically generated from a declarative de- scription of literal forms.
    [Show full text]
  • Obstacles to Compilation of Rebol Programs
    Obstacles to Compilation of Rebol Programs Viktor Pavlu TU Wien Institute of Computer Aided Automation, Computer Vision Lab A-1040 Vienna, Favoritenstr. 9/183-2, Austria [email protected] Abstract. Rebol’s syntax has no explicit delimiters around function arguments; all values in Rebol are first-class; Rebol uses fexprs as means of dynamic syntactic abstraction; Rebol thus combines the advantages of syntactic abstraction and a common language concept for both meta-program and object-program. All of the above are convenient attributes from a programmer’s point of view, yet at the same time pose severe challenges when striving to compile Rebol into reasonable code. An approach to compiling Rebol code that is still in its infancy is sketched, expected outcomes are presented. Keywords: first-class macros, dynamic syntactic abstraction, $vau calculus, fexpr, Ker- nel, Rebol 1 Introduction A meta-program is a program that can analyze (read), transform (read/write), or generate (write) another program, called the object-program. Static techniques for syntactic abstraction (macro systems, preprocessors) resolve all abstraction during compilation, so the expansion of abstractions incurs no cost at run-time. Static techniques are, however, conceptionally burdensome as they lead to staged systems with phases that are isolated from each other. In systems where different syntax is used for the phases (e. g., C++), it results in a multitude of programming languages following different sets of rules. In systems where the same syntax is shared between phases (e. g., Lisp), the separa- tion is even more unnatural: two syntactically largely identical-looking pieces of code cannot interact with each other as they are assigned to different execution stages.
    [Show full text]
  • Introducing Myself…
    IntroducingIntroducing myselfmyself …… Nenad aka "DocKimbel" Rakocevic, Programming for 25 years: C/C++, *Basic, ASM, REBOL, web client -side languages, … Founder of a software company in Paris: Softinnov Author of several libraries for REBOL: MySQL, PostgresQL, LDAP native drivers UniServe: asynchronous, event -driven network engine Cheyenne Web Server: full -featured web application server CureCode: very fast web -based bug tracker (Mantis -like) Various others tools, game, demos … Was a happy Amiga user and registered BeOS developer WhyWhy amam II usingusing REBOLREBOL forfor 1111 years?years? Great scripting language Great prototyping tool Simple cross -platform graphic engine (View) Symbolic & Meta -programming Code / Data duality DSL -oriented Great designer behind: Carl Sassenrath WhyWhy II don'tdon't wantwant toto useuse REBOLREBOL anymore?anymore? Closed source Slow ( benchmark ) No multithreading support Mostly glue language, not general -purpose enough Not (easily) embeddable in third -party apps Can't run on popular VM (JVM, CLR) Sometimes designed for " Bob the artist ", rather than "John the programmer " WhatWhat isis thethe statestate ofof REBOLREBOL world?world? (1/2)(1/2) How REBOL began 14 years ago … WhatWhat isis thethe statestate ofof REBOLREBOL world?world? (2/2)(2/2) …and where it is today WhatWhat toto dodo then?then? Give up and pick up another language? Build an alternative? I chose the 2 nd option! MyMy answeranswer is:is: RReded !! Red[uced] REBOL dialect Fully open source (MIT/BSD) Statically compiled
    [Show full text]
  • Hi Quality Version Available on AMIGALAND.COMYOUR BONUS SECOND CD! Packed with Games, Anims, ^ 3D Models and M Ore
    ' A G A EXPERIENCE Hi Quality Version Available on AMIGALAND.COMYOUR BONUS SECOND CD! Packed with games, anims, ^ 3D models and m ore... P L U S n @ AMIGA • J U T D J t 'jJUhD'j'jSxni D W This commercial CD is packed with AGA games, 9771363006008 ^ demos, pictures, utilities, 3D models, music, animations and more 9 771363 006008 Please make checks to COSOFT or O (01702) 300441 n 300441 order by credit card / switch & delta Most titles are despatched same day. ^ ^ - 5 217 - 219 Hamstel Rd - Southend-on-Sea, ESSEX, SS2 4LB Vat is INCLUDED on all titles, e&oe q . ^ er [email protected] Give us your email for monthly feb Page: Hnp://www.pdsoft m updated catalogue reports. Office & Retail Outlet open Monday to Saturday 9:30 to 7pm - Tel (01702) 306060 & 306061 - Fax (01702) 300115 Please add 1.00 per title for UK P&P & 2.00 for oversea's Airmail - Order via email & get the most upto date prices. Check our Web pages (updated every day) for special ofers and new releases. Special offers running every day. JUNGLE STRIKE SPECIAL FEATURE (1 4 .ff CAPTIAL PUNISHMENT Only (24.99 688 ATTACK SUPER SIOMARKS LEGENDS LURE OF THE SUB (12 DATA DISK (S B * f 17.BB T.TRESS (12 SABRE TEAM PLAYER ON MANAGER 2 OOYSSEY 1199 RUGBY SYNDICATE ( 12.M EURO KICKOFF 3 Hi Quality Version Available on AMIGALAND.COMC7.BB INTER OFFICE UPNtl BLACK CRYPT M r ( I f f * Me (11.00 INTER SPREAD WORLD CUP M r ( 9 99 Inc SOCCER CM2 - (3.99 A ll - (3 99 IN TER WORD K240 (7.U M r u n w CHESS SYSTEM SCREEHBAT 4 Give us a ring if you do not see what you want ACTIVE STEREO Some titles are limited and will go out of stock quickly.
    [Show full text]
  • UC Berkeley UC Berkeley Electronic Theses and Dissertations
    UC Berkeley UC Berkeley Electronic Theses and Dissertations Title Design and Implementation of an Optionally-Typed Functional Programming Language Permalink https://escholarship.org/uc/item/99k5w2m0 Author Li, Patrick Shaobai Publication Date 2017 Peer reviewed|Thesis/dissertation eScholarship.org Powered by the California Digital Library University of California Design and Implementation of an Optionally-Typed Functional Programming Language by Patrick S. Li A dissertation submitted in partial satisfaction of the requirements for the degree of Doctor of Philosophy in Engineering { Electrical Engineering and Computer Sciences in the Graduate Division of the University of California, Berkeley Committee in charge: Professor Koushik Sen, Chair Adjunct Professor Jonathan Bachrach Professor George Necula Professor Sara McMains Fall 2017 Design and Implementation of an Optionally-Typed Functional Programming Language Copyright 2017 by Patrick S. Li 1 Abstract Design and Implementation of an Optionally-Typed Functional Programming Language by Patrick S. Li Doctor of Philosophy in Engineering { Electrical Engineering and Computer Sciences University of California, Berkeley Professor Koushik Sen, Chair This thesis describes the motivation, design, and implementation of L.B. Stanza, an optionally- typed functional programming language aimed at helping programmers tackle the complexity of architecting large programs and increasing their productivity across the entire software development life cycle. Its design objectives arose out of our own frustrations with writing software, and we built Stanza to be a practical general-purpose language that resolves the problems we encounter in our daily work. Stanza was designed to write programs of appreciable complexity; where development time is spent primarily on managing this complexity; and where better tools for managing complexity can significantly improve programmer productivity.
    [Show full text]
  • Nextflow Documentation
    Nextflow Documentation Release 0.30.2 Paolo Di Tommaso Jul 12, 2018 Contents 1 Get started 3 1.1 Requirements...............................................3 1.2 Installation................................................3 1.3 Your first script..............................................3 2 Basic concepts 7 2.1 Processes and channels..........................................7 2.2 Execution abstraction..........................................8 2.3 Scripting language............................................9 2.4 Configuration options..........................................9 3 Pipeline script 11 3.1 Language basics............................................. 11 3.2 Closures................................................. 14 3.3 Regular expressions........................................... 15 3.4 Files and I/O............................................... 17 4 Processes 27 4.1 Script................................................... 28 4.2 Inputs................................................... 32 4.3 Outputs.................................................. 39 4.4 When................................................... 44 4.5 Directives................................................. 44 5 Channels 63 5.1 Channel factory............................................. 63 5.2 Binding values.............................................. 67 5.3 Observing events............................................. 68 6 Operators 71 6.1 Filtering operators............................................ 71 6.2 Transforming operators........................................
    [Show full text]
  • Generating Non-Verbal Communication from Speech
    Manuel Rebol, MSc. Generating Non-Verbal Communication From Speech Master's Thesis to achieve the university degree of Master of Science Master's degree programme: Computer Science submitted to Graz University of Technology Supervisor Christian G¨utl,Assoc.Prof. Dipl.-Ing. Dr.techn. Supervisor Krzysztof Pietroszek, Ass.Prof. M.Sc. Ph.D. In cooperation with American University, Washington, DC This work was supported by the Austrian Marshall Plan Foundation Graz, November 2020 Abstract The communication between human and virtual agents is becoming more important because of the increased usage of virtual environments in everyday life. Applications such as virtual learning platforms, online meetings and virtual assistance are gaining popularity. However, communication with virtual agents is often unintuitive and does not feel similar to talking with a person. Therefore, we focus on improving natural non-verbal human-agent communication in our work. We develop a speaker-specific model that predicts hand and arm gestures given input speech. We model the non-deterministic relationship between speech and gestures with a Generative Adversarial Network (GAN). Inside the GAN, a motion discriminator forces the generator to predict only gestures that have human-like motion. To provide data for our model, we extract the gestures from in-the- wild videos using 3D human pose estimation algorithms. This allows us to automatically create a large speaker-specific dataset despite the lack of motion capture data. We train our gesture model on speakers from show business and academia using publicly available video data. Once generated by our GAN, we animate the gestures on a virtual character. We evaluate the generated gestures by conducting a human user study.
    [Show full text]
  • How to Use BLM's External SFTA Temporary Account File Sharing
    How to Use BLM’s External SFTA Temporary Account File Sharing The BLM’s External SFTA Temporary Account File Sharing allows BLM staff and external partners to share files through the Secure File Transfer Application (SFTA). The BLM staff member must request permissions, establish a folder, and sponsor their external partner’s account. Once an account is established, the external partner may upload, download and manage files in the specified temporary folder. After your BLM Partner has created a Temporary File Sharing Folder account associated with your email address, you will receive two emails. The first email will come from the SFTA Application with the Subject “SFTA External Temp Account Details: - PROD Env” and includes a link to the BLM Application Secure System (BASS) authentication system, your External UserId (User name) and the name of your external Get/Put file sharing folder: Subject: SFTA External Temp Account Details: - PROD Env The second email will come from the BLM Application Secure System (BASS) authentication system with the Subject “Your Temporary BASS Password”. This email will include your User name and temporary BASS password. Subject: Your Temporary BASS Password Updated December 16, 2020 To access SFTA, use these credentials to log into the BLM Application Secure System (BASS) located at: http://www.bass.blm.gov/bass2/ It is recommended that you cut & paste your temporary BASS password from the email message you received into the Password field in the login form. Click the Login button to login to BASS. On your first login, you will be asked to create a new strong password.
    [Show full text]
  • Vmware Dynamic Environment Manager Administration Guide
    VMware Dynamic Environment Manager Administration Guide VMware Dynamic Environment Manager 9.9 VMware Dynamic Environment Manager Administration Guide You can find the most up-to-date technical documentation on the VMware website at: https://docs.vmware.com/ If you have comments about this documentation, submit your feedback to [email protected] VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com © Copyright 2019 VMware, Inc. All rights reserved. Copyright and trademark information. VMware, Inc. 2 Contents 1 About VMware Dynamic Environment Manager™ Administration Guide 7 2 Using Easy Start 8 3 Configuring Application and Windows Settings 9 Flex Configuration Files 10 Download Configuration Templates 10 Create a Flex Configuration File by Using Application Profiler 11 Create a Flex Configuration File by Using an Application Template 12 Create a Flex Configuration File by Using Windows Common Settings 13 Import a Flex Configuration File From Another Location or Environment 14 Export a Flex Configuration File to Another Location or Environment 15 Create a Custom Flex Configuration File 15 Configuring Settings for Storing and Retrieving Profile Information 15 Section Headers 16 Wildcard Support in Exclude Section Headers 17 Folder Tokens 17 Profile Browsing 18 Using the Advanced Tab 18 Using the User Environment Tab 19 Using the Information Tab 22 Manage Selected Windows Common Settings and Application Templates 22 Retiring, Deleting, and Disabling Flex Configuration Files 23 Retire a Flex Configuration File 23 Delete a Flex Configuration File 23 Disable a Flex Configuration File 24 Using the Profile Cleanup Editor 24 Create Profile Cleanup Content, Based on Import/Export Settings 25 Configuring Predefined Settings for Applications and Windows Settings 26 Create Predefined Settings 26 Import Predefined Settings 26 Use Multiple Predefined Settings 27 Working with Placeholders 27 Using DirectFlex 28 Configure Applications for Working with DirectFlex 29 Application Virtualization Support 29 Importing and Exporting DirectFlex Settings 29 VMware, Inc.
    [Show full text]
  • Object-Oriented Javascript
    Object-Oriented JavaScript In this chapter, you'll learn about OOP (Object-Oriented Programming) and how it relates to JavaScript. As an ASP.NET developer, you probably have some experience working with objects, and you may even be familiar with concepts such as inheritance. However, unless you're already an experienced JavaScript programmer, you probably aren't familiar with the way JavaScript objects and functions really work. This knowledge is necessary in order to understand how the Microsoft AJAX Library works, and this chapter will teach you the necessary foundations. More specifi cally, you will learn: • What encapsulation, inheritance, and polymorphism mean • How JavaScript functions work • How to use anonymous functions and closures • How to read a class diagram, and implement it using JavaScript code • How to work with JavaScript prototypes • How the execution context and scope affect the output of JavaScript functions • How to implement inheritance using closures and prototypes • What JSON is, and what a JSON structure looks like In the next chapters you'll use this theory to work effectively with the Microsoft AJAX Library. Concepts of Object-Oriented Programming Most ASP.NET developers are familiar with the fundamental OOP principles because this knowledge is important when developing for the .NET development. Similarly, to develop client-side code using the Microsoft AJAX Library, you need to be familiar with JavaScript's OOP features. Although not particularly diffi cult, understanding these features can be a bit challenging at fi rst, because JavaScript's OOP model is different than that of languages such as C#, VB.NET, C++, or Java.
    [Show full text]