Odroidmagazine Turn Your ODROID Into A: GIANT TABLET and Create the Ultimate Android Experience!

Total Page:16

File Type:pdf, Size:1020Kb

Odroidmagazine Turn Your ODROID Into A: GIANT TABLET and Create the Ultimate Android Experience! I/O Shield access • Install and learn the basics of Rebol now! Year One Issue #2 Feb 2014 ODROIDMagazine Turn your ODROID into a: GIANT TABLET And create the ultimate Android experience! High Performance computing at home • Meet an Odroidian Creation and fine granular control Mauro Ribeiro, Senior Software engineer • Estimating Radio net interference: Using Java mutithreading • Linux Gaming - emulators • Start programming right away! • The art of multi boxing • USB Gadget drivers • 811.02ac router with odroid XU Dominate your device ports to do everything Get up to 433mbit/sec EDITORIAL service to the world-wide ODROID and Open Source communities, Hard Kernel is proud to present its newest contribution to ARM technology: A ODROID Magazine, a free monthly PDF e-zine! This cutting-edge online publication brings you the latest ODROID news, as well as featured articles from the expert community that has grown around the amazing ODROID family of micro-powerhouse computers. Intended for all levels of expertise from beginner to guru, ODROID Magazine features definitive guides for new owners, with easy-to-follow steps in setting up your ODROID, installing operating systems and software, and troubleshooting common issues. For more technical users, each month will feature expert tips, hacker discus- sions, cutting-edge projects, and technical articles to explore new ways of making your ODROID even more versatile. Hard Kernel’s ODROID Magazine is an ideal opportunity for our community to come together to share and contribute articles, so that everyone can be successful with their ODROID. Each month, a series of article topics will be posted for consideration, and all community members are encouraged to send submissions in exchange for monthly rewards for those selected for publication. The best articles are those that walk the reader through complex concepts and procedures in a simple-to-read format. At least one picture or graphic per article is required, and should be between 500-2000 words. In this issue, we show you how to turn your ODROID into an enormous 42” touchscreen Android tablet, suitable for kiosks, digital signage, gaming, accessibility, and just plain fun. You’ve never played Fruit Ninja like this! ODROIDMagazine Rob Roy, Chief Editor Bo Lechnowsky, Editor Bruno Doiche, Art Editor I am a computer programmer living I am President of Respectech, Inc., a Spent his last vacation doing nothing. and working in Silicon Valley, CA, technology consultancy in Ukiah, CA, And didn’t manage to do the half of it. USA, designing and building websites USA that I founded in 2001. From my such as Vevo, Hi5, Dolby Laboratories background in electronics and com- and Hyundai. My primary languages puter programming, I manage a team are jQuery, Angular JS and HTML5/ of technologists, plus develop custom CSS3. I also develop pre-built operat- solutions for companies ranging from ing systems, custom kernels and opti- small businesses to worldwide corpora- mized applications for the ODROID tions. ODROIDs are one of the weap- platform based on Hardkernel’s official ons in my arsenal for tackling these releases, for which I have won several projects. My favorite development Monthly Forum Awards. I own a lot of languages are Rebol and Red, both of ODROIDs, which I use for a variety of which run fabulously on ARM-based purposes, including media center, web systems like the ODROID-U2. I have server, application development work- deep experience with many unique op- station, and gaming console. erating systems. ODROID Magazine, published monthly at http://magazine.odroid.com, is your source for all things ODROIDian. • Hard Kernel, Ltd. • 704 Anyang K-Center, Gwanyang, Dongan, Anyang, Gyeonggi, South Korea, 431-815 • Makers of the ODROID family of quad-core development boards and the world’s first ARM big.LITTLE architecture based single board computer. Join the ODROID community with members from over 135 countries, at http://forum.odroid.com, and explore the new technologies offered by Hardkernel at http://www.hardkernel.com. ODROID MAGAZINE 3 ODROID MAGAZINE 3 CONVERTING A MONITOR TO A GIANT ANDROID TABLET Justin Lee and Charles Park ouch screens are common in de- also more expensive, especially when An infrared touch screen uses an array vices such as smartphones, game the screen size is larger than 20 inches. of X-Y infrared LED and photodetec- Tconsoles, all-in-one computers and A capacitive screen can only be acti- tor pairs around the edges of the screen tablets. They also play a prominent role in vated with an exposed finger (no gloves to detect a disruption in the pattern of the design of digital appliances such as dig- or pointers), and can experience opera- LED beams. These LED beams cross ital signage, Point of Sale (POS) systems, tional difficulties if the monitor is not each other in vertical and horizontal pat- satellite navigation devices, mobile phones, correctly mounted into a metal housing terns, which helps the sensors pick up video games and some e-books. due to the electrical field. Considering the exact location of the touch. A major The Android OS, one of the main its ease of use and lower cost, the in- benefit of the infrared system is that it operating systems for the ODROID, frared-type touch screen is better suited can detect essentially any input, including has an intuitive user interface designed for this project. a finger, gloved finger, stylus or pen. It for use with a touch screen. This article is generally used in outdoor applications describes how to use an ODROID to Infrared(IR) Grid and point of sale systems which cannot change any monitor or TV into a giant touch screens rely on a conductor (such as a bare fin- Android tablet. ger) to activate the touch screen. Unlike capacitive touch screens, in- Infrared vs frared touch screens do not require any Capacitive touch patterning on the glass, which increas- screen es durability and optical clarity of the overall system. However, infrared touch Touch screens primarily use either screens are sensitive to dirt and dust infrared or capacitive technology. Ca- that can interfere with the IR beams, pacitive touch screens are more popu- and suffer from parallax in curved sur- lar for smartphones and tablets, but are Principle of IR (Infrared) touch screen faces and accidental touch notifications ODROID MAGAZINE 4 MAKE YOUR GIANT ANDROID TABLET if the user hovers his/her finger over It’s important to check whether the Nexio Co., Ltd. Other touch screens will the screen while searching for the item touch screen is really Windows 8 com- report different VID, PID and vendor to be selected. patible or not. True Plug & Play de- information. vices do not require a separate driver Step 2: Modify to be installed on a hid-ids.h and hid- Windows PC. If the multitouch.c touch screen needs a specific device driv- After downloading the appropriate er, it is not natively Android kernel source from dn.odroid. compatible with com, navigate to the kernels/drivers/hid/ Windows 8 and will directory, then add the VID and PID to be less likely to work the end of the hid-ids.h header file. with Android. Principle of IR (Infrared) Multi-touch screen There are 4 steps to using the touch screen with the Android OS in a How to Choose an nutshell: Infrared touch screen 1) Get the Vendor ID and Product ID from the You can make your own touch screen touch screen USB interface. Example PID and VID values added to by following guides found on the Inter- 2)Modify the files hid-ids.h and hid- kernels/drivers/hid/hid-ids.h net, but it is not easy to implement the multitouch.c, both located in kernel/drivers/ complex multi-touch algorithm and well hid/ Also, add the new ID in the hid- aligned IR emitter/receiver pairs. 3) Build the kernel with the HID-MULTITOUCH multitouch.c source file. It must be Before purchasing an infrared touch option enabled, and transfer the kernel image placed in the hid_device_id mt_devices to the ODROID. screen, it’s important to evaluate its com- structure define. patibility with Android. It must meet at 4) Create an IDC (Input Device Configuration) file. least one of the following requirements: 1) Is your touch screen listed in the Linux multi-touch compatibility table? Step 1: Check the http://lii-enac.fr/en/ar- VID and PID chitecture/linux-input/ Plug the touch screen into any Linux multitouch-devices.html If yes, it will be very easy to activate your PC, then find the VID and PID by typing touch screen. lsusb in the terminal as below right. To determine which device entry 2) Is your touch screen Windows 8 compatible? is associated with the touch screen, list If yes, you need to add a few lines in the Kernel the devices before connecting the touch Example of adding the touch screen ID to driver and an input configuration file. screen, then list them again after connect- kernels/drivers/hid/ ing it. The new entry will correspond to hid-multitouch.c 3) Does your touch screen manufacturer sup- the touch screen device. ply specific Android driver source code? During our project, when the If yes, you need to follow their porting in- struction. 23-inch touch screen was con- nected, an entry of VID:03FC, A touch screen which meets the first PID:05D8 appeared in the de- requirement was not available in our lo- vice list, which represents a touch cal Korean or Chinese markets. Some screen made by Elitegroup Com- touch screen manufacturers in China of- puter Systems. With the 42-inch fered to supply the driver source code touch screen connected, an entry for their products, but the sample code of VID:1870, PID:0119 appeared was not useful in the real world.
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]
  • 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]
  • 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]
  • 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]
  • The Javascript Object Notation (JSON) Data Interchange Format
    Internet Engineering Task Force (IETF) T. Bray, Editor Request for Comments: 7159 Google, Inc. Obsoletes: 4627, 7158 March 2014 Category: Standards Track ISSN: 2070-1721 The JavaScript Object Notation (JSON) Data Interchange Format Abstract JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data. This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 57411. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc71592. Copyright Notice Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info3) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
    [Show full text]
  • 4627 JSON.Org Category: Informational July 2006 the Applica
    Network Working Group D. Crockford Request for Comments: 4627 JSON.org Category: Informational July 2006 The application/json Media Type for JavaScript Object Notation (JSON) Status of This Memo This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2006). Abstract JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data. 1. Introduction JavaScript Object Notation (JSON) is a text format for the serialization of structured data. It is derived from the object literals of JavaScript, as defined in the ECMAScript Programming Language Standard, Third Edition [ECMA]. JSON can represent four primitive types (strings, numbers, booleans, and null) and two structured types (objects and arrays). A string is a sequence of zero or more Unicode characters [UNICODE]. An object is an unordered collection of zero or more name/value pairs, where a name is a string and a value is a string, number, boolean, null, object, or array. An array is an ordered sequence of zero or more values. The terms "object" and "array" come from the conventions of JavaScript. JSON's design goals were for it to be minimal, portable, textual, and a subset of JavaScript. Crockford Informational [Page 1] RFC 4627 JSON July 2006 1.1. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
    [Show full text]
  • Comparative Programming Languages CM20253
    We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist And there are many more factors we could talk about in making choices of language The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design The End There are many languages out there, both general purpose and specialist We have briefly covered many aspects of language design And there are many more factors we could talk about in making choices of language Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages And then the interopability of languages becomes important For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project For example, can you easily join together code written in Java and C? The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important The End Or languages Often a single project can use several languages, each suited to its part of the project And then the interopability of languages becomes important For example, can you easily
    [Show full text]
  • PROMISE Report
    Promise related Standardisation activities Written by: Christl Lauterbach, Infineon Technologies AG DELIVERABLE NO DI1.1: PROMISE related standardisation acitvities DATE 15. April 2005 WORK PACKAGE NO WP I1 VERSION NO. FINAL 1.0 ELECTRONIC FILE CODE DI1.doc CONTRACT NO 507100 PROMISE A Project of the 6th Framework Programme Information Society Technologies (IST) Standards are necessary to harmonise developments and guarantee ABSTRACT: a high degree of interoperability between different systems. They harmonise development for any single system by providing a common framework against which all sub-components of a system can be checked against, and a common vocabulary that allows developers to communicate precisely. In addition, they provide for interoperability between systems that may be produced by different manufacturers. The following document is a summary of international standards that are considered relevant to the EU PROMISE project. A list of the standardisation bodies and useful web pages are included. STATUS OF DELIVERABLE ACTION BY DATE (dd.mm.yyyy) James Brusey, Andreas Edler, Björn Forss, Kary Främling, Markus Frey, Gregor SUBMITTED (author(s)) 15.4.2005 Hackenbroich, Mark Harrison, Mario Neugebauer VU (WP Leader) Christl Lauterbach APPROVED (QIM) Dimitris Kiritsis 15.4.2005 Copyright © PROMISE Consortium 2004-2008 @ Revision History Date Version Author Comments (dd.mm.yyyy) Author(s)’ contact information Name Organisation E-mail Tel Fax Christl Lauterbach Infineon [email protected] +498923453467 +49892349551254
    [Show full text]
  • What Can Perl Learn from Rebol ?
    What can Perl learn from Rebol ? No Rebol Course some hobby philosophy Perl Philosophy TIMTOWTDI simple and possible context sensitive Philosophy TIMTOWTDI simple and possible context sensitive Quote Take a dash of PERL, mix with the cross platform compatibilty of a Java, and make it extremely easy for beginners to start coding, and you get the general idea. A Hobby Philosopher „Real“ Philosopher Carl Sassenrath Carl Sassenrath - Apple, HP and Commodore Carl Sassenrath - Apple, HP and Commodore - Pantaray, American Multimedia, Videostream Carl Sassenrath - Apple, HP and Commodore - Pantaray, American Multimedia, Videostream - REBOL Technologies Carl Sassenrath - Amiga OS, IOS, VisCorp ED - CDTV - Amiga Logo, Next Gen. Forth, Rebol - Distribution - Browser Left Click : Start Rebol App Left Click : Start Rebol App Rebol App Rebol App Rebol App Rebol App - Browser Right Click : Get Meta Data Rebol Editor - Browser Rebol Shell Carl Sassenrath - Amiga OS, IOS, VisCorp ED - CDTV - Amiga Logo, Next Gen. Forth, Rebol Carl Sassenrath - Amiga OS, IOS, VisCorp ED - CDTV - Amiga Logo, Next Gen. Forth, Rebol ● Lisp, Forth, Logo and Self ● Lisp, Forth, Logo and Self ● Lightweight Distributed Computing ● Lisp, Forth, Logo and Self ● Lightweight Distributed Computing ● programming-in-the-small (PITS) PITS: ~ 800kB binary 1.8 MB for distribution Libs Tools Samples Docs Links PITS: Remote Editor: 53 Daytime Server Deamon: 61 bmp2png Converter TCP Port Scanner: 98 Simple Clock App: 106 Minimal Email Client: 130 Simple Picture Viewer: 132 PITS: Remote Editor:
    [Show full text]
  • 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.
    [Show full text]