OpenSolaris
Collectives
Discussions
Documentation
Download
Source Browser
Free CD
Log-in
|
en
Community Group documentation
:
Contributor Resources
>
Documentation Tools
Top Menu
View
:
Comments
Attachments
History
Information
View Source
Print
:
Print preview
Export as PDF
Export as RTF
Export as HTML
Export as XAR
Wiki source code of
Documentation Tools
Hide line numbers
1: == Documentation Tools 2: 3: This page is a summary of the tools available for the documentation community. Post new suggestions or comments on this forum: [[thread>>http://www.opensolaris.org/jive/thread.jspa?threadID=1698&tstart=45]] 4: 5: == Tutorial 6: 7: A [[Tutorial>>https://markebrooks.github.io/bin/view/Community+Group+documentation/tutorial]] with some simple flash screens is provided to get you started. 8: 9: == Requirements 10: 11: * Use free documentation tools. 12: * Can be updated by either vi or emacs. 13: * Have standard templates for documentation. 14: 15: == Text Editing and Processing 16: 17: * Asciidoc: [[http://www.methods.co.nz/asciidoc/>>http://www.methods.co.nz/asciidoc/]] 18: ASCIIdoc is an extensive Python script that takes simple text files and converts them into other formats. By default, it will create an HTML file. Formatting rules for the text file are fairly straight-forward. The Quick-Start Guide is [[here>>Community Group documentation.asciidocqsg]]. 19: 20: == XML Editing Tools and Information 21: 22: === Overview 23: 24: Books in the Docs Consolidation are formatted as SolBook XML. SolBook is a fully-conforming subset of the DocBook document schema used to describe the content of technical books. Use the Download icon in the upper right of this page to find the Documentation Consolidation source files. Any modifications or additions to these books should also be compliant with the SolBook XML standard. 25: 26: Any XML authoring tool which is capable of validating against the SolBook XML standard may be used for authoring. 27: 28: === XMLmind Editor 29: 30: There is an add-on for the XMLmind XML editor which allows SolBook XML documents to be easily created and edited. More information on how to obtain and install this can be found [[here>>Community Group documentation.xmlmind_solbook_addon]]. 31: 32: === HTML Transformations 33: 34: Documents in an XML format are great for editing, but for viewing it is best to convert the documents to HTML. **You can send your new or updated files to the mailing list and we’ll generate HTML with OpenSolaris branding for you, if you prefer.** There are also publicly available XSLT stylesheets for converting SolBook XML documents into HTML (and also into PDF and other formats). 35: 36: === To Process the SolBook XML into HTML Using the DocBook XSLT Stylesheets 37: 38: 1. Download the latest XSLT [[stylesheets>>http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.70.0.tar.gz?download]] for converting DocBook-compliant XML documents into HTML (and also into PDF and other formats). Detailed instructions for use are here: [[http://www.sagehill.net/docbookxsl//>>http://www.sagehill.net/docbookxsl//]]. 39: 1. Unpack the XSLT files and note down the directory where ..html/docbook.xsl is located: 40: 41: {{{ 42: gzip -d docbook-xsl-1.70.0.tar.gz 43: }}} 44: 45: {{{ 46: tar xvf docbook-xsl-1.70.0.tar 47: }}} 48: 49: The files are expanded into directories. 50: 1. Process the XML into HTML by running the following command: 51: 52: {{{ 53: % xsltproc ~--nonet ~--xinclude -o mysolbookfile.html //docbook///html/docbook.xsl mysolbookfile.xml 54: }}} 55: 56: **Note:** Replace the //docbook-// directory in the above command with the one noted in the previous step. 57: The mysolbookfile.html file appears in the current directory. 58: 59: A [[sample style sheet>>attach:format.css.txt]] to format the resulting HTML documentation is available for your use. 60: 61: === To Process the SolBook XML Files Into HTML Using the SolBook XSLT Stylesheets 62: 63: XSLT stylesheets are now available which can transform SolBook 3.5 XML documents into 2 styles of HTML. In addition, they can also be used to convert SolBook 3.5 XML into 3 versions of DocBook XML (v. 4.0, 4.4, and 5.0b). 64: 65: The easiest way to use these stylesheets is to download and use the SolBookTrans Java tool (see Related Links). It is a very small simple tool for running transformations. It requires Java 1.6 to run. It can be run from the command line or from a simple GUI. Just download the zip file, open it anywhere on your system, and view the README within the zip root for instructions on how to use it. 66: 67: An upcoming NetBeans plugin for SolBook will also include these same stylesheets. This plugin should be available later in July 2008. 68: 69: **Related Links** 70: 71: * [[SolbookTrans zip file>>attach:SolBookTransPkg.zip]] 72: * [[SolBookTrans source>>attach:SolBookTrans.zip]] 73: 74: ---- 75: 76: A variety of other tools are available for performing these transformations, but note that the DocBook XSLT stylesheets are very large and complex and will not work with all authoring tools. 77: 78: === Validation Using the CLI 79: 80: Some guidelines for performing validations using the CLI and some suggested alternate tools are provided here. 81: 82: The process of making sure that a given XML document is compliant with the DTD standard is called //validation//. Validation is done by using automated tools to compare the contents of the XML document with another file which encodes the structure. 83: 84: The way most XML tools work is that you open the document you want to validate in the tool, and then use the Validate function of the tool. The validate function will typically identify the errors which made the document invalid. 85: 86: The xmllint tool (which should be included in OpenSolaris-based OS distributions in /usr/bin) can also be used for validation: 87: 88: {{{ 89: 90: xmllint ~--valid ~--noout mysolbookfile.xml 91: 92: }}} 93: 94: Instructions for using the DocBook stylesheets are here: [[http://www.sagehill.net/docbookxsl/>>http://www.sagehill.net/docbookxsl/]]. 95: 96: === PDF Tranformations 97: 98: For information about Docbook and apache FOP, refer to the blog of Ben Rockwood: 99: 100: [[http://cuddletech.com/blog/pivot/entry.php?id=509>>http://cuddletech.com/blog/pivot/entry.php?id=509]] General information about DocBook XML can be obtained from the following links: 101: 102: * High level overview, DTDs, and schemas: [[http://docbook.org/>>http://docbook.org/]] 103: * XSLT stylesheets, tools: [[http://docbook.sourceforge.net/>>http://docbook.sourceforge.net/]] 104: * Publishing guidelines: [[http://sagehill.net/docbookxsl/index.html>>http://sagehill.net/docbookxsl/index.html]] 105: 106: * DocBook XSL stylesheets [[http://sourceforge.net/project/showfiles.php?group_id=21935#files>>http://sourceforge.net/project/showfiles.php?group_id=21935#files]] 107: * FOP for PDF generation [[http://xmlgraphics.apache.org/fop/download.html#binary>>http://xmlgraphics.apache.org/fop/download.html#binary]] 108: 109: === XML Authoring Tools 110: 111: There are many XML tools available for authoring, validating, and applying stylesheets to XML documents. The following list is a short list of those which meet the following minimum criteria: 112: 113: * Must validate the XML document against a DTD or schema 114: * Must automatically complete tags 115: * Multi-platform capable (typically Java), if you are not on Windows 116: 117: Some other lists are available here: 118: 119: * [[http://www.xml.com/pub/rg/XML_Editors>>http://www.xml.com/pub/rg/XML_Editors]] 120: * [[http://www.google.com/search?hl=en&q=XML+editors&btnG=Google+Search>>http://www.google.com/search?hl=en&q=XML%2Beditors&btnG=Google%2BSearch]]. 121: * [[http://ahds.ac.uk/creating/information-papers/xml-editors>>http://ahds.ac.uk/creating/information-papers/xml-editors]] 122: 123: 124: 125: {{velocity}} 126: {{html}} 127: 128:
 129:
 130:
Short List of Free or Cheap Multi-platform XML Editors
 131:
 132: Tool Name	 133: Platform Support	 134: Cost	 135: Notable Features	 136: Missing Features	 137:
 138:
 139: NetBeans	 140: All Java enabled platforms	 141: Free - open source	 142:  143:
 144:
Primarly for code editing
 145:
Tag-completion
 146:
DTD validation
 147:
simple XSLT processing
 148:
 149: 	 150:  151:
 152:
No XInclude support
 153:
Will not process complex (i.e. DocBook) XSLT stylesheets
 154:
No RelaxNG validation
 155:
Inconsistent valid tag list when authoring
 156:
 157: 	 158:
 159:
 160: JEdit	 161: All Java enabled platforms	 162: Free - open source	 163:  164:
 165:
Primarly for code editing
 166:
Tag-completion
 167:
DTD validation
 168:
Schema validation
 169:
 170: 	 171:  172:
 173:
No XInclude support
 174:
Will not process complex (i.e. DocBook) XSLT stylesheets
 175:
No RelaxNG validation
 176:
No valid tag list when authoring
 177:
 178: 	 179:
 180:
 181:  182:
OpenOffice 8
 183: 	 184: Not Java, but available on all major platforms	 185: Free - open source	 186: Not an XML authoring tool, but can be used with another tool 187: which will convert OpenOffice documents into DocBook (see 188: below)	 189:  	 190:
 191:
 192: oXygen	 193: All Java enabled platforms	 194:  195:
Proprietary
 196: - 30 day trial
 197: - $180 license
 198: 	 199:  200:
 201:
Tag-completion
 202:
DTD validation
 203:
Schema validation
 204:
RelaxNG validation
 205:
XInclude support
 206:
Intuitive authoring views
 207:
Valid tag list for authoring
 208:
Built in DocBook functionality
 209:
Complex XSLT processing
 210:
 211: 	 212:  213:
 214:
Not free
 215:
 216: 	 217:
 218:
 219: emacs	 220: Not Java, but available on Windows, Linux, and Unix	 221: free	 222: (have not tested)	 223: (have not tested)	 224:
 225:
 226: XML 227: Pro v2	 228: All Java enabled platforms	 229: Open source, but still requires a small license fee for commerical 230: use 	 231: (have not tested)	 232: (have not tested)	 233:
 234:
 235: EditiX	 236: All Java enabled platforms	 237:  238:
Proprietary
 239: - 30 day trial
 240: - $85 license
 241: 	 242: (have not tested)	 243: (have not tested)	 244:
 245:
 246: XML 247: objective	 248: All Java enabled platforms	 249: Proprietary
 250: - 15 day trial
 251: - $40 license
 252: 	 253: (have not tested)	 254: (have not tested)	 255:
 256:
 257: Exchanger	 258: All Java enabled platforms	 259: Proprietary
 260: - 30 day trial
 261: - $130 license	 262: (have not tested)	 263: (have not tested)	 264:
 265:
 266: {{/html}} 267: {{/velocity}}
Search
Collectives
Community Group
Academic and Research
Accessibility
Advocacy
Appliances
Approachability
Architecture Process and Tools
BrandZ
Chinese Users
Community Advisory Board
Databases
Desktop
Device Drivers
Distribution
Documentation
DTrace
Emerging Platforms
Fault Management
Games on OpenSolaris
HA Clusters
HPC Developer
Installation and Packaging
Internationalization and Localization
Laptop
Logical Domains
Modular Debugger (MDB)
Networking
NFS
Observability
OpenSolaris Governing Board (OGB)
OpenSolaris Printing
OS/Net (ON)
Performance
Power Management
PowerPC
Security
Service Management Facility (smf(5))
Software Porters
Solaris Volume Manager
Storage
Systems Administration Community Group
Testing
Tools Home
Unix File Systems (UFS)
Website Community
X Window System
Xen
ZFS
Zones
Project
ADSL Modem Enhancement
ARC Process Definition
ARM Platform Port
Automatic Data Migration
BIND Update
Bluetooth Stack & Drivers
Brocade FC HBA - Initiator
Brocade FC HBA - Target
Brussels - unified network link configuration
Caiman, Solaris Install Revisited
Celeste
Český portál
Chime Visualization Tool for DTrace
CIFS client for Solaris
CIFS Server
Clearview: Network Interface Coherence
Cluster Agent: Informix Dynamic Server
Cluster Agent: OpenSolaris Container
Cluster Agent: OpenSolaris xVM
Cluster Agent: Oracle E-Business Suite
Cluster agent: PostgreSQL
Cluster Agent: Samba
Cluster Agent: Tomcat
CMT
Coarse Data Flow Parallelism
Colorado: Open HA Cluster on OpenSolaris
Command Assistant
Common Array Manager
Companion - /opt/sfw: Free and Open Source software
COMSTAR: Common Multiprotocol SCSI Target
Content
Contest
CPU Observability
Credentials Process Groups
Crossbow: Network Virtualization and Resource Control
Crypto KMS Agent Toolkit
Cryptographic Framework
Data Migration Manager
Data Tethers
Deutsches Portal
Device Detection Tool
Device Driver Utility
Device Manager
Device Mapper
Direct Rendering Infrastructure & 3D drivers
DTrace Guide
Duckwater: Simplified name services management
Easy Tools
Emancipation
Emulex Fibre Channel Device Driver
Emulex Advanced Ethernet Device Driver
Enable/Enhance Solaris support for Intel Platform
Enhance the support of USB webcams
Enhanced SMF Profiles
Enhancements for AMD-based Platforms
Erlang DTrace Integration
Ethernet bridge module for Solaris
Evaluate Conary
Events Registry
Ext3 file system support
F/OSS Package Base
Facilitation
Fibre Channel over Ethernet
Fine Grained Access Policy (FGAP)
Fingerprint Authentication
Flexible Mandatory Access Control
Forensic Tools
Fully Open X Project
Fuse on Solaris
gcore
Generic Machine Check Architecture Improvements
Google SOC
HA-JBoss
HA-MySQL
Hadoop Live CD
Hitachi
HoneyComb Fixed Content Storage
Hotplug Framework
HPC Stack
Image Packaging System
Immutable Service Containers
Improved Performance MIB
Indiana
Innovation Awards
Input Method
Intel Graphics
Internet Key Exchange, version 2
Interrupt Resource Management
IP Datapath Refactoring
IP over Infiniband
IPsec Tunnel Reform
iSCSI Extensions for Remote DMA (iSER)
iSNS Server
JeOS - Just enough Operating System
JKstat - a java binding for libkstat
Journaled File System (JFS)
K Desktop Environment
Kerberos
Kernel Sockets
Kernel SSL Enhancements
Key Management Framework
Korn Shell 93 integration/migration project
Labeled IPsec
LatencyTOP
Layer 2 Filtering
LDoms Manager
Lending
libMicro - portable microbenchmarks
Link Layer Discovery
Live Media: Technologies for distributions running from CD and other media
Locale Data
lofi compression and cryptography support
lx64 brand
Media Management System
Mega_sas
Mexico
MilaX minimal Live Distribution
MIPS Platform Port
Mozilla DTrace
MRSL.NONsharedDevice
Multi-lingual Glossary
Multi-pathing software (MPxIO)
Multiple disk sector size support
Multiple DOI
Muskoka: An open repository for OpenSolaris technical content
Navigator
Nemo: A Framework for High-Performance Networking
Network Auto-Magic
Network Data Management Protocol
Network MIBs
Network Performance Projects
Network Power Management
Network Storage
Network Time Protocol (NTP)
Nevada Globalization
New Design of 4over6 Mechanism Based on OpenSolaris
NFS RDMA transport update and performance analysis
NFS Server in non-Global Zones
NFS version 4.1 pNFS
NFSv4 namespace extensions
Nightingale: Port Songbird to OpenSolaris
NPort ID Virtualization (NPIV)
NUMA
Object Storage Device (OSD) support for Solaris
OHACGE Script Based Plug-in
ON/Nevada (ONNV) Project
Open Development Infrastructure
Open HA Cluster Utilities
Open Sound System
OpenGrok
OpenPegasus CIM Server
OpenRTI
OpenSolaris Busybox
OpenSolaris Desktop
OpenSolaris Hispano
OpenSolaris Security Audit
OpenSolaris support for the QEMU processor emulator: host and guest
PEF: Packet Event Framework
Performance Wrappers
Pkgfactory
Polski Portal
Portail Francophone
Portal Brasil
Portals
Power Management Usability Interfaces
Presto: Automatic Printing Configuration
Printable Many Page Solaris Manuals
Promise SuperTrak RAID HBA Driver
QLogic Converged Network Adapter GLDv3 NIC Driver
Quagga Routing Protocol Suite Integration
RAID Configuration Utility
RBridge (IETF TRILL) support
RDMA Offload Framework
Release Notes
Reno: Login Process Enhancements for Interop
Resource Management
s10brand
SAM/QFS
SCM Migration Project
SCSI RDMA Protocol
SDcard Drivers
Sensor Abstraction Layer
Session Initiation Protocol
SFW
Shell: bourne shell, korn shell, C shell, etc.
Sierra: Intel WiFi Chipsets Support
Simple Panels
SM-HBA Based SAS HBA Management
SMF Documentation
Solaris iSCSI Target
Solaris PowerPC Port
SourceJuicer
Sparks: name service switch/nscd enhancements
Squashfs
Star integration/migration project
Starfish
Starter Kit
Storage Power Management
Sun Security Toolkit
Sun StorageTek Availability Suite
Support for OpenFabrics User Verbs / API on OpenSolaris OS
Support gcc4/GCCfss in Solaris
Suspend/Resume
SVR4 Packaging
Systemz
Tamarack: Removable Media Enhancements in Solaris
Tesla: OpenSolaris Enhanced Power Management
Test Development
Tickless Kernel Architecture
TIPC
Trademarks
Trusted networking interface policy database for Trusted Extensions
Trusted Platform Module support
Use Case
Validated Execution Project
Virtual Console
Virtual Network Machines
Visual Panels
Visualization for HPC
Volo
VRRP: Virtual Router Redundancy Protocol Implementation
VSCAN service
Web Stack
Website
Winchester: Schema mapping and ID mapping for AD Interoperability
Wireless USB Support
Wireless Wide Area Network
X Consolidation
x86 Generic FMA Topology Enumerator
Xen Gate
Xfce: A lightweight desktop environment
X Keyboard Layout
ZFS Boot and Install
ZFS on disk encryption support
Zone Manager
Zone Statistics
Русский портал
البوابة العربية
भारतीय पोर्टल
中国门户
日本ポータル
한국 포탈
User Group
Adelaide
Argentina
Arizona
Atlanta
Baltimore-Washington
Bangalore
Bangkok
Bangladesh
Brasilia
Beijing
Bélem
Berlin
Bhimavaram
Bloomington
Capital Region
Cardiff
Ceara
Charlotte
Chengdu
Chennai
Chihuahua
Chile
Cleveland
Colombia
Columbus
Connecticut
Cracow
Czech
Dallas/Ft. Worth
Danish
Delaware
Edinburgh
Egypt
Finland
Florida
Frankfurt
Front Range
FuZhou
Great Lakes
Greece
Hangzhou
Hawaii
HeFei
Houston
Hong Kong
Hyderabad
Indonesia
Irish
Israel
Istanbul
Italian
Jinan
Jogja
Kabul
Kansas City
Latvia
London
Madrid
Madurai
Manchester
Mato Grosso
Melbourne
Minas Gerais
Minnesota
Montreal
Moscow
Mumbai
Munich
NEA
Netherlands
New England
New York City
New Zealand
NIT Hamirpur
Noroeste
Nuremberg-Erlangen
Oklahoma City
Osnabrück
Peru
Philadelphia
Piaski
Pittsburgh
Porto Alegre
Puget Sound
Pune
Queensland
Rio de Janeiro
Research Triangle Park
Romania
Russia
San Antonio
San Diego
San Francisco
São Paulo
Scottish
Serbia
Shanghai
Shenzhen
Silicon Valley
Singapore
Slovak
South African
Southern Connecticut
St. Louis
Stavanger
Sweden
Switzerland
Sydney
Szczecin
Taiwan
Tecum
Thames Valley
Tokyo
Toronto
Trondheim
Tulsa
Turkey
Ufa
Ukraine
University of Melbourne
Vale do Paraíba
Vancouver
Venezuela
Vladivostok
Welsh - Cymru
Wisconsin
Xi'an
Subsites
Code Reviews
SCM Management
Package Search
Bugster
Bugzilla
Test Machines
Planet
Mailing Lists
Elections & Polls
ARC Case Logs
Source Juicer
Package Factory
User Authentication
Community Group documentation Pages
Developer Documentation
Contributor Resources
Docs Wiki
How To Participate
Man Page Guidelines
Persistent Links to Man Pages
Documentation Style Resources for OpenSolaris
Documentation Tools
OpenSolaris: Documentation Projects
OpenSolaris Primer
Examples
Files
Hardware Documentation
Build, Install, Patch, and Upgrade Documentation
New-to-Solaris FAQ
Doc Reviews
Doc Plan: Dual-Boot OpenSolaris DP2 with a Second Operating System
System Administration Documentation
Doc Downloads
Current Open Source Documentation
OpenSolaris Documentation License Information


Instruction
1) Pick a dataset you want to show.
2) Pick a layout to display the data.
3) Pick visual options to aid your understanding of the data.
4) Click on any bubble to display the country dashboard with detailed export information .
1) Data
Display:
Population
GDP
Life Expectancy
Name
Time Update:
1995
2012
Current Year:
1995
2) Layout
Ranking:
Ordinal
Linear
Horizontal:
Line
Line by Continent
Scatter Plot:
Population vs. GDP
Longitude vs. Latitude
Force Field:
Force
Shift
Pie
Circular:
Basic
Rings
Flow
3) Visual Options
Color:
None
Continents
Size:
None
Proportional
4) Country Dashboard


SKYNET
Airline's Profile
Add Destination
Add Flight
Add Fast Reservation
My Profile
Reports
Daily Report
Monthly Report
Annual Report
Sold Tickets
Log out


Find TIF projects using any or all of the fields below:
The data used to build this map was provided in the Fall 2010 by the Chicago Department of Housing and Economic Development
and analyzed by Columbia College Chicago journalism students. Map and search integration by Derek Eder.
Find an error on the map? Send us feedback.


Protocols
The following protocols are available globally.
-
A delegate for client-side delivery of events, location updates, and debug logs. For more information, see https://radar.com/documentation/sdk/ios
See moreDeclaration
Objective-C
@protocol RadarDelegate <NSObject>
Swift
protocol RadarDelegate : NSObjectProtocol


Lews Therin was there—Rand was sure of it—but not a whisper sounded in his head that was not his own. For the rest of the day he did try to think of other things, useless as they might be. Berelain was ready to jump out of her skin for the number of times he popped in on her to ask about something she was perfectly capable of handling without him; he was not sure, but he thought she started trying to avoid him. Even Rhuarc began to look a little hunted after the tenth time Rand cornered him over the Shaido; the Shaido had not stirred, and the only choices Rhuarc could see were to leave them in Kinslayer’s Dagger or dig them out. Herid Fel had wandered off, as Idrien quickly pointed out he often did, and was nowhere to be found; when Fel became lost in thought, he sometimes lost his way in the city, too. Rand shouted at her. Fel was not her fault, not her responsibility, but Rand left her white and trembling. His temper rippled like a line of thunderstorms sweeping in from the horizon. He shouted at Meilan and Maringil till they shook in their boots and left him with pasty faces, reduced Colavaere to incoherent tears and actually sent Anaiyella running with her skirts hiked to her knees. For that matter, when Amys and Sorilea came to ask what he had told the Aes Sedai, he shouted at them as well; from the look on Sorilea’s face as they stalked away, he suspected that might have been the first time anyone had ever raised voice to her. It was knowing—knowing—that Lews Therin was really there, more than a voice, a man hiding inside his head.
He was almost afraid to fall asleep when night came, afraid Lews Therin might seize control while he slept, and when he did sleep his troubled dreams made him toss and mutter.  The dreams he remembered had all been of running from something he could not see. He levered himself out of the great four-posted bed and made his ablutions at the gilded washstand. With the sky just turning gray outside, the gai’shain who would bring fresh water had not appeared yet, but last night’s did well enough.
He had nearly finished shaving when he stopped, razor poised against his cheek, staring at himself in the mirror on the wall. Running. He had been sure it was the Forsaken he was running from in those dreams, or the Dark One, or Tarmon Gai’don, or maybe even Lews Therin. So full of himself; surely the Dragon Reborn would dream of being pursued by the Dark One. For all his protests that he was Rand al’Thor, it seemed that he could forget as easily as anyone else. Rand al’Thor had run away from Elayne, from his fear of loving Elayne, just as he had run from fear of loving Aviendha.
The mirror shattered, shards dropping into the porcelain washbasin. The pieces remaining in the frame cast back a fragmented image of his face.
Releasing saidin, he carefully scraped away the last bit of lather and folded the razor deliberately. No more running. He would do what he had to do, but no more running.
Two Maidens were waiting in the corridor when he emerged. Harilin, a lanky redhead about his age, went running for the others as soon as he appeared. Chiarid, a merry-eyed blonde old enough to be his mother, accompanied him through hallways where only a few servants stirred, surprised to see him so early. Usually Chiarid liked to make jokes at his expense when they were alone—he understood some; she saw him as a younger brother who needed to be kept from getting too big for his hat—but she felt his mood this morning and said not a word. She did give his sword one disgusted glance, but only one.
Nandera and the rest of the Maidens caught up before he was halfway to the Traveling chamber, and caught his silence as quickly. So did the Mayeners and Black Eyes guarding the square-carved door. Rand thought he might leave Cairhien without anyone speaking until a young woman in the red-and-blue of Berelain’s personal servants rushed in and bobbed a deep curtsy just as he opened the gateway.
“The First sends this,” she panted, extending a letter with a large green seal. Apparently she had run all the way trying to find him. “It’s from the Sea Folk, my Lord Dragon.”
Rand stuffed the letter into his coat pocket and stepped through the gateway, ignoring the woman’s question as to whether there was any reply. Silence suited him this morning. He ran a thumb along the carving on the Dragon Scepter. He would be strong and hard, and put all this self-pity behind him.
The dark Grand Hall in Caemlyn brought Alanna nestling back into his head. Night still held here, but she was awake; he knew as surely as he knew she was weeping, as surely as he knew her tears stopped moments after he closed the gateway behind the last of the Maidens.  No doubt she and her bond had played their part in his flight, but he accepted the bond now even if he did not like it. That nearly made him chuckle wryly; he had better accept it, since he could not change it. She had tied a thread to him—no more than a thread; Light, let it be no more—and it should not cause trouble unless he let her close enough to make it a leash. He wished Thom Merrilin were there; Thom probably knew all about Warders and bonds; he knew surprising things. Well, finding Elayne would find Thom. That was all there was to it.
Saidin made a globe of light, Fire and Air, to illumine the way out of the throne room. The ancient queens, hidden in the darkness far overhead, did not bother him at all. They were only pictures in colored glass.
The same could not be said of Aviendha. Outside his apartments Nandera dismissed the Maidens except for Jalani, and the two went in with him to check the rooms while he used the Power to light the lamps and tossed the Dragon Scepter onto a small ivory-inlaid table that had considerably less gilt than it would have had in the Sun Palace. All the furnishings were that way, with less gilding and more carving, usually lions or roses. One large red carpet covered the floor, with gold thread outlining roses.
Without saidin in him, he doubted he could have heard the Maidens’ soft footfalls, but before they crossed the anteroom Aviendha came stalking out of the still dark bedchamber with her hair in wild disarray and her belt knife in hand. And wearing only her skin. At the sight of him she went stiff as a post and stalked back the way she had come, little short of running. A small light appeared through the doorway, a lamp lit. Nandera laughed softly and exchanged amused glances with Jalani.
“I will never understand Aiel,” Rand muttered, pushing the Source away. It was not so much that the Maidens found the situation funny; he had long since given up on Aiel humor. It was Aviendha. She might think it very funny to undress for bed in front of him, but let him catch so much as a glimpse of ankle when she did not choose to show it, and she turned into a scalded cat. Not to mention blaming him.
Nandera chortled. “It is not Aiel you cannot understand, but women. No man has ever understood women.”
“Men, on the other hand,” Jalani put in, “are very simple.”  Nandera looked ready to laugh out loud.
Death, Lews Therin whispered.
Rand forgot everything else. Death? What do you mean?
Death comes.
What kind of death? Rand demanded. What are you talking about?
Who are you? Where am I?
Rand felt as though a fist had clutched his throat. He had been sure, but . . . this was the first time Lews Therin had said anything to him, something clearly and plainly addressed to him. I am Rand al’Thor.
Inside . . . ? No! I am myself! I am Lews Therin Telamon! I am meeeeeeeeee! The cry faded away into the distance.
Come back, Rand shouted. What death?  Silence. He shifted uneasily. Knowing was one thing, but a dead man, inside him, talking of death, made him feel unclean, like the faintest brush of the taint on saidin.
Something touched his arm, and he nearly seized at the Source again before he realized it was Aviendha. She must have flown into her clothes, yet she looked as if she had taken an hour to arrange every hair to her liking. People said Aiel showed no emotion, but it was just that they were more reserved than most. Their faces told as much as anyone else’s if you knew what to look for. Aviendha was torn between concern and wanting to be angry.
“Are you well?” she asked.
“I was just thinking,” he told her. True enough. Answer me, Lews Therin! Come back and answer me! Why had he ever thought silence suited the morning?
Unfortunately, Aviendha took him at his word, and if there was nothing to be concerned about . . . she put her fists on her hips. That was one thing he understood about women, Aiel, Two Rivers or whoever; fists on hips meant trouble. He need not have bothered lighting the lamps; her eyes were hot enough to light the room. “You went away without me again. I promised the Wise Ones to stay near you until I must go, but you make my promise nothing. You have toh to me for this, Rand al’Thor. Nandera, from now on I must be told where he is going and when. He must not be allowed to go without me if I should accompany him.”
Nandera hesitated not a moment before nodding. “It shall be as you wish, Aviendha.”
Rand squared around on both women. “Now, just you wait! Nobody is to be told my comings and goings unless I say so.”
“I have given my word, Rand al’Thor,” Nandera said in a flat voice. She looked him in the eye with no notion of backing up.
“As do I,” Jalani said just as levelly.
Rand opened his mouth, then closed it again. Bloody ji’e’toh. No use mentioning he was the Car’a’carn, of course. Aviendha looked faintly surprised that he had even protested; apparently to her it was a foregone conclusion. He shifted his shoulders uneasily, though not because of Aviendha. That unclean feel was still there, and stronger. Maybe Lews Therin had come back. Silently Rand called to him, but there was still no answer.
A tap on the door barely preceded Mistress Harfor, who made her usual deep curtsy. The First Maid showed no sign of the early hour, of course; whatever the time of day, Reene Harfor always looked as if she had just gotten dressed. “There have been arrivals in the city, my Lord Dragon, which Lord Bashere thought you should be told of as soon as possible. Lady Aemlyn and Lord Culhan entered yesterday at noon, and are staying with Lord Pelivar. Lady Arathelle came an hour later, with a large retinue. Lord Barel and Lord Macharan, Lady Sergase and Lady Negara entered separately in the night, with only a few retainers each. None has presented their respects at the Palace.” She delivered the last in the same even tone, with no hint of her own opinion.
“That is good news,” he told her, and it was, whether they had left respects or not. Aemlyn and her husband Culhan were nearly as powerful as Pelivar, Arathelle more powerful than any except Dyelin and Luan. The others were of minor Houses, and only Barel among them High Seat of his House, but the nobles who had opposed “Gaebril” were beginning to gather. At least, it was good news provided he found Elayne before they decided to try taking Caemlyn away from him.
Mistress Harfor eyed him a moment, then extended a blue-sealed letter. “This was delivered late last evening, my Lord Dragon. By a stableboy.  The Sea Folk Wavemistress was not well pleased that you were gone when she appeared for her audience.” This time her disapproval was clear in her voice, though not whether it was for the Wavemistress or Rand missing the audience or the means of the letter’s delivery.
He sighed; he had forgotten all about the Sea Folk here in Caemlyn. That reminded him of the letter he had been given in Cairhien, and he dug it out. Both green wax and blue bore the same impression, though he could not make out what it was supposed to be. Two things like flattened bowls with a thick ornate line running from one through the other. Each was addressed to “The Coramoor,” whoever or whatever that was. Himself, he supposed. Maybe that was what the Sea Folk called the Dragon Reborn. He broke the blue seal first. There was no salutation, and it was certainly unlike anything else Rand had ever seen addressed to the Dragon Reborn.
The Light willing, you will perhaps return to Caemlyn eventually. As I have traveled far to see you, perhaps I will find time for it when you do.
Zaida din Parede Blackwing
of Clan Catelar, Wavemistress
It seemed Mistress Harfor was right; the Wavemistress was not best pleased. The green seal hid little better.
If it pleases the Light, I will receive you on the deck of White Spray at your earliest convenience.
Harine din Togara Two Winds
of Clan Shodein, Wavemistress
“Are they bad news?” Aviendha asked.
“I don’t know.” Frowning at the letters, he was barely aware of Mistress Harfor admitting a woman in the red-and-white and exchanging quiet words with her.  He had read every translation of the Prophecies of the Dragon he could find, and though the clearest was often murky, he remembered nothing that indicated the Atha’an Miere. Perhaps, on their ships at sea and their distant islands, they would be one people untouched by him or Tarmon Gai’don. He owed this Zaida an apology, but maybe he could fob her off with Bashere; Bashere certainly had enough titles to flatter anybody’s vanity. “I don’t think so.”
The servant sank to her knees before him, white head bowed low and hands raised high to proffer yet another letter, this one on thick parchment. The posture itself made him blink; even in Tear he had never seen a servant cringe so, much less in Andor. Mistress Harfor was frowning and shaking her head. The kneeling woman spoke, still with her face down. “This has come for my Lord Dragon.”
“Sulin?” he gasped. “What are you doing? What are you doing in that . . . dress?”
Sulin turned her face up; she looked perfectly horrible, a wolf trying very hard to pretend she was a doe. “It is what women wear who serve and obey as commanded for coins.” She waggled the letter in her still upraised hands. “I was commanded to say that this has just come for my Lord Dragon, by a . . . a horseman who left as soon as it was handed over.” The First Maid clicked her tongue irritably.
“I want a straight answer,” he said, snatching the sealed parchment. She bounded to her feet as soon as it left her hands. “Come back here, Sulin. Sulin, I want an answer!” But she ran as fleetly as she ever had in cadin’sor, straight to the doors and out.
For some reason Mistress Harfor glared at Nandera. “I told you this would not work. And I told you both that as long as she wears the Palace livery, I expect her to do the Palace proud whether she’s Aiel or the Queen of Saldaea.” Curtsying, she gave Rand a hasty “My Lord Dragon” and stalked out talking to herself about crazy Aiel.
He was ready to agree. He looked from Nandera to Aviendha to Jalani. None of them appeared in the least surprised. Not one looked as if she had seen a thing out of the ordinary. “Will you tell me what under the Light is going on? That was Sulin!”
“First,” Nandera said, “Sulin and I went to the kitchens. She thought scrubbing pots and the like would be suitable. But a fellow there said he had all the scullions he needed; he seemed to think Sulin would always be fighting the others. He was not very tall,” she marked just under Rand’s chin, “but just as wide, and I think he would have offered to dance the spears with us if we had not gone away. Then we went to the woman Reene Harfor, since she seems to be roofmistress here.” A slight grimace passed over her face; a woman should be roofmistress or not—Aiel thinking held no place for a First Maid. “She did not understand, but at last she agreed. I almost thought Sulin would change her mind when she realized Reene Harfor meant her to put on a dress, but of course she did not. Sulin has more courage than I.
Nandera’s eyes tightened in disapproval and her fingers twitched, but instead of handtalk she said deliberately, “You boast like a Shaido, girl.”
Rand scrubbed fingers through his hair. “Reene didn’t understand? I don’t understand, Nandera. Why is she doing this? Has she given up the spear? If she’s married an Andorman”—stranger things had happened around him—“I’ll give her enough gold to buy a farm or whatever they want. She doesn’t have to become a servant.” Jalani’s eyes shot open, and the three women were looking at him as if he was the one mad.
“Sulin is meeting her toh, Rand al’Thor,” Aviendha said firmly; she stood very straight and met his gaze directly, a good imitation of Amys. Only there was less imitation in it every day and more her. “It does not concern you.”
Jalani nodded a very definite agreement. Nandera only stood there, idly examining a spearpoint.
“Sulin concerns me,” he told them. “If something happened to her—” Suddenly he remembered the exchange he had overheard before going to Shadar Logoth. Nandera had accused Sulin of speaking to gai’shain as Far Dareis Mai, and Sulin admitted it and said they would deal with it later. He had not seen Sulin since returning from Shadar Logoth, but he had assumed she was angry with him and simply letting others do the work of guarding him. He should have known better. Being around any Aiel for long would teach you some of ji’e’toh, and Maidens were touchier than anyone, except maybe Stone Dogs and Black Eyes. Then there was Aviendha and her attempts to turn him into an Aiel.
This situation was simple, or as simple as anything ever was in ji’e’toh. If he had not been so caught up in himself, he would have realized from the first. You could remind even a roofmistress who she was every day she wore gai’shain white—it was deeply shaming, but permitted, even encouraged sometimes—yet for the members of nine of the thirteen societies, that reminder was a deep dishonor except under a handful of circumstances he could not recall. Far Dareis Mai was most definitely one of the nine. It was one of the few ways to incur toh toward a gai’shain, but that was considered the hardest obligation of all to meet. Seemingly Sulin had chosen to meet it by accepting a greater shame, in Aiel eyes, than she had given. It was her toh, so her choice how to meet it, her choice how long she continued to do what she despised. Who knew the worth of her honor or the depth of her obligation better than she herself? Still, she had only done what she did in the first place because he had not allowed her enough time. “It is my fault,” he said.
That was the wrong thing to say. Jalani gave him a startled stare. Aviendha flushed with embarrassment; she continually drove home that there were no excuses under ji’e’toh.
The look Nandera shot at Aviendha could charitably be called disparaging. “If you stopped daydreaming about his eyebrows, you would teach him better.”
Aviendha’s face went dark with indignation, but Nandera flashed handtalk at Jalani, which made Jalani throw back her head and laugh, and made the crimson in Aviendha’s cheeks brighten and return to pure embarrassment. Rand half-expected to hear an offer to dance spears. Well, not that exactly; Aviendha had taught him that neither Wise Ones nor their apprentices did that sort of thing. But it would not surprise him if she boxed Nandera’s ears.
He spoke quickly to forestall any such thing. “Since I caused Sulin to do what she did, don’t I have toh toward her?”
 Somehow Aviendha’s face grew redder still, and Jalani took a sudden interest in the carpet under her feet. Even Nandera looked a little chagrined at his ignorance. You could be told that you had toh, though that was insulting, or you could be reminded of it, but asking meant that you did not know. Well, he knew that he did. He could begin by ordering Sulin out of that ridiculous job as a servant, letting her put on cadin’sor again, and . . . and stop her from meeting her toh. Anything he did to lighten her burden would interfere with her honor. Her toh, her choice. There was something in that, but he could not see what. Maybe he could ask Aviendha. Later, when she would not die from mortification. All three women’s faces made it clear he had embarrassed her more than enough for the time being. Light, what a mess.
Wondering how he could find a way out, he realized he still held the letter Sulin had brought. He thrust it into a pocket and unbuckled his sword belt to lay it atop the Dragon Scepter, then retrieved the parchment. Who would send him a message by a rider who did not even stop for breakfast? There was nothing on the outside, no name; only the now vanished courier could have said who it was directed to. Once more the seal was nothing he recognized, some sort of flower impressed in purple wax, but the parchment itself was heavy, of the most expensive sort. The contents, in a fine lacy hand, brought a thoughtful smile.
Cousin,
The times are delicate, but I felt I must write to assure you of my goodwill, and to express my hopes of yours in return.  I ask nothing save that you hold my confidences in the fires of your heart.
Alliandre Maritha
“What are you grinning at?” Aviendha asked, peering at the letter curiously.
“It’s just pleasant to hear from somebody simple in her ways,” he told her. The Game of Houses was simple compared with ji’e’toh. There was enough of the name to let him know who sent it, but if the parchment fell into the wrong hands, it would seem a note to a friend, or maybe a warm reply to a petitioner. Alliandre Maritha Kigarin, Blessed of the Light, Queen of Ghealdan, would certainly never sign a letter so intimately to someone she had never met, above all not to the Dragon Reborn. Plainly she was worried about the Whitecloaks in Amadicia, and about the Prophet, Masema. He was going to have to do something about Masema. Alliandre was being cautious, not risking any more on paper than she had to. And she reminded him to burn this. The fires of his heart. Still, it was the first time any ruler had approached him without his sword at that nation’s throat. Now if he could just find Elayne and give her Andor before he had another battle here.
The door opened gently and he looked up, but saw nothing and returned to the letter, wondering whether he had dug out everything that was in it. Reading, he rubbed his nose. Lews Therin and his talk of death. Rand could not rid himself of that feel of filth.
“Jalani and I will take our places outside,” Nandera said.
He nodded absently over the letter. Thom would probably find six things in the first glance that he had missed.
Aviendha put a hand on his arm, then snatched it away. “Rand al’Thor, I must talk with you seriously.”
Suddenly everything came together in his head. The door had opened. He was smelling filth, not just feeling it, but it was not really a smell. Dropping the letter, he pushed Aviendha away from him hard enough that she toppled with a startled yell—clear of him, though; clear of danger; everything seemed to have slowed down—and seized saidin as he spun.
Nandera and Jalani were just turning back to see what had made Aviendha shout. Rand had to look carefully to see the tall man in a gray coat that neither Maiden saw at all as he glided right by them, dark lifeless eyes fixed on Rand. Even concentrating, Rand found his own gaze wanting to slide past the Gray Man. That was what he was; one of the Shadow’s assassins. As the letter was settling to the floor, the Gray Man realized Rand had seen him. Aviendha’s shout still hung in the air and she was in mid-bounce from sitting down hard; a knife appeared in the Gray Man’s hand, held low, and he darted forward. Rand wrapped him in coils of Air almost contemptuously.  The assassin died before he could twitch; his head fell over, and those eyes, no more dead than they had been, stared at Rand.
Dead, whatever had been done to the Gray Man to make him hard to see no longer held. Dead, he suddenly was as visible as anyone else. Aviendha, just starting to gather herself on the floor, gave a startled yelp, and Rand felt the goose bumps that told him she had embraced saidar. Nandera’s hand jerked toward her veil with a bit-off exclamation, and Jalani half-raised hers.
Rand let the corpse fall, but he held on to saidin as he turned to confront Taim, standing in the doorway of his bedchamber.  Only part of the cold hardness in his voice came from the Void. “I had him captured; he might have told me something, maybe even who sent him. What are you doing here anyway, sneaking in through my bedroom?”
Taim strolled in completely at ease, wearing a black coat with dragons entwined around the sleeves in blue and gold. Aviendha scrambled to her feet, and despite saidar, her eyes said she was as ready to use her drawn belt knife on Taim as she was to sheathe it. Nandera and Jalani had veiled, and stood poised on their toes, spears ready. Taim ignored them; Rand felt the Power leave the man. Taim did not even seem concerned that saidin still filled Rand. That peculiar almost-smile quirked his lips as he glanced at the dead Gray Man.
“Nasty things, the Soulless.” Anybody else would have shivered; not Taim. “I came to your balcony by gateway because I thought you would want to hear the news right away.”
“Somebody who learns too fast?” Rand broke in, and Taim flashed that half-smile again.
“No, not one of the Forsaken in disguise, not unless he’s managed to disguise himself as a boy not much past twenty. His name is Jahar Narishma, and he has the spark, though it has not come out yet. Men usually show later than women. You should return to the school; you would be surprised by the changes.”
Rand did not doubt it. Jahar Narishma was never an Andoran name; Traveling had no limits that he knew, but it seemed Taim’s recruiting had ventured far afield. He said nothing, only glanced at the corpse on the carpet.
Taim grimaced, but he was not out of countenance, only irritated. “Believe me, I wish he was still alive as much as you do. I saw him and acted without thinking; the last thing I want is to see you dead. You seized him the moment I channeled, but it was too late to stop.”
I must kill him, Lews Therin muttered, and the Power surged in Rand. Frozen, he struggled to push saidin away, and it was a struggle. Lews Therin was trying to hang on, trying to channel. Finally, slowly, the One Power faded like water draining from a hole in a bucket.
Why? he demanded.  There was no answer, only mad laughter and weeping in the distance.
Aviendha was looking at him with a face full of concern. She had put up her knife, but the tingle along his skin said she retained saidar. The two Maidens had unveiled, now that it seemed clear Taim’s appearance was no attack; they managed to keep one eye on Taim, one on the rest of the room, and still give each other abashed glances for some reason.
Rand took a chair beside the table where his sword lay atop the Dragon Scepter. The struggle had lasted only moments, but his knees felt weak. Lews Therin had almost taken over, almost taken over saidin at least. Before, at the school, he had been able to fool himself, but not this time.
If Taim noticed anything, he showed no sign of it. Bending to pick up the letter, he glanced at it before handing it to Rand with a minimal bow.
Rand stuffed the parchment into his pocket. Nothing shook Taim; nothing disturbed his balance. Why did Lews Therin want to kill him? “The way you were all for going after the Aes Sedai, I’m surprised you don’t suggest striking at Sammael. You and me together, maybe a few of the stronger students, dropping right on top of him in Illian through a gateway. That man had to come from Sammael.”
“Perhaps,” Taim said shortly, glancing at the Gray Man. “I would give a great deal to be sure.” That had the ring of simple truth. “As for Illian, I doubt it would be as simple as disposing of a pair of Aes Sedai. I keep thinking what I would do in Sammael’s place. I would have Illian warded in boxes, so if a man even thought of channeling, I’d know right where he was, and I would burn even the ground to ash before he had time to take a breath.”
That was how Rand saw it, too; no one knew better than Sammael how to defend a place. Maybe it was just that Lews Therin was insane. Maybe jealous, too. Rand tried to tell himself he had not been avoiding the school because he was jealous, but he always felt a prickle of something around Taim. “You’ve delivered your news. I suggest you go see to training this Jahar Narishma. Train him well. He may have to use his ability soon enough.”
For a moment Taim’s dark eyes glittered, then he bowed his head slightly. Without a word he seized saidin and opened a gateway right there. Rand made himself sit, empty, until the man was gone, the gateway thinning in a blazing line of light; he could not risk another struggle with Lews Therin, not when he might lose and find himself fighting Taim. Why did Lews Therin want the man dead? Light, Lews Therin seemed to want everybody dead, himself included.
It had been a most eventful morning, especially considering that the sky was still gray. Good news outweighed bad. He eyed the Gray Man sprawled on the carpet; that wound had probably been cauterized as soon as made, but Mistress Harfor would be sure to let him know, without saying a word, if there was even one bloodstain. As for this Sea Folk Wavemistress, she could stew in her own petulance for all of him; he had enough to handle without adding another touchy woman.
Nandera and Jalani were still shifting from foot to foot near the door. They should have gone to their places outside as soon as Taim left.
“If you two are upset over the Gray Man,” he said, “forget it now. Only a fool expects to notice one of the Soulless except by chance, and neither one of you is a fool.”
“It is not that,” Nandera said stiffly. Jalani’s jaw was so tight she was plainly fighting to hold her tongue.
Just that quickly, he understood. They did not believe they should have spotted the Gray Man, but they were still ashamed they had not. Ashamed of that, and fearful of the shame of having word of their “failure” spread. “I don’t want anyone to know Taim was here, or what he said. People are anxious enough knowing the school is somewhere near the city without being afraid Taim or one of the students will just appear. I think the best way is just to keep quiet about everything that happened this morning. We can’t keep a corpse secret, but I want you to promise you’ll say nothing except that a man tried to kill me and died for it. That’s all I intend to tell anybody, and I’d hate for you to make me out a liar.”
The gratitude on their faces was remarkable. “I have toh,” they murmured almost together.
Rand cleared his throat roughly; that was not what he had been after, but at least he had eased their minds. Suddenly a way to deal with Sulin popped into his head. She would not like it, but it would still be meeting her toh, maybe the more so because she would not like it, and it would relieve his conscience somewhat and at least meet some of his toh to her.
“Get on to your guarding now, or I’ll start thinking you want to stare at my eyebrows.” That was what Nandera had said. Aviendha was fascinated by his eyebrows? “Go on. And find somebody to haul this fellow away.” They left, all smiles and flickering handtalk, and he stood, taking Aviendha by the arm. “You said we had to talk. Come into the bedroom until this room is cleaned up.” If there was a stain, maybe he could channel it out.
Aviendha jerked free. “No! Not there!” Drawing a deep breath, she moderated her tone, but she still looked suspicious, and more than a little angry. “Why can we not talk here?” No reason except a dead man on the floor, but that did not count with her.
“Ji’e’toh is the core of the Aiel. We are ji’e’toh. This morning you shamed me to the bone.” Folding her arms beneath her breasts and fixing him eye to eye, she lectured him on his ignorance and the importance of hiding it until she could rectify the matter, then went on to the fact that toh had to be met at all costs. She spent some time on that.
He was sure this was not what she had meant when she said she had to talk with him, but he was enjoying looking into her eyes too much to wonder. Enjoying it. Bit by bit he chased down the pleasure her eyes gave him and crushed it until only a dull ache remained.
He thought he had hidden it, but his face must have changed.  With a visible effort she pulled her eyes away. “At least you understand now,” she muttered. “I must . . . I need to . . . so long as you understand.” Gathering her skirts, she swept across the room—the corpse might as well have been a bush she had to step around—and out.
Leaving him in a room dimmer for some reason, alone with a dead man. That fit all too well. When gai’shain came to bear away the Gray Man, they found Rand laughing softly.
Padan Fain sat with his feet up on a hassock, studying the beauty of new-breaking sunlight glittering on the curved blade of the dagger that he turned over and over in his hands. Carrying it at his belt was not enough; from time to time he simply had to handle it. The large ruby set in the pommel shone with a deep malevolence. The dagger was part of him, or he of it. The dagger was part of Aridhol, what men called Shadar Logoth, but then, he was part of Aridhol too. Or it was part of him. He was quite mad and knew it very well, but being mad, he did not care. Sunlight gleamed on steel, steel more deadly now than any made at Thakan’dar.
A rustling caught his ear, and he glanced toward where the Myrddraal sat waiting his pleasure on the far side of the room. It did not try to meet his gaze; he had broken it of that long since.
He tried to return to his contemplation of the blade, to the perfect beauty of perfect death, the beauty of what Aridhol had been and would be again, but the Myrddraal had broken his concentration. Spoiled it. He very nearly went over and killed the thing. Halfmen took a long time to die; how long if he used the dagger? As if sensing his thoughts, it stirred again. No, it could be useful still.
It was hard for him to concentrate on one thing for long anyway. Except Rand al’Thor, of course. He could feel al’Thor, could point to him, this close. Al’Thor pulled at him, pulled till it hurt. There was a difference lately, a difference that had come suddenly, almost as if someone else had suddenly taken a partial possession of al’Thor, and in doing so pushed away a part of Fain’s own possession. No matter. Al’Thor belonged to him.
He wished he could feel al’Thor’s pain; surely he had caused him pain at least. Pinpricks only so far, but enough pinpricks would drain him dry. The Whitecloaks were set hard against the Dragon Reborn. Fain’s lips peeled back in a sneer. Unlikely Niall would have ever supported al’Thor any more than Elaida would have, but it was best not to take too much for granted with Rand bloody al’Thor. Well, he had brushed them both with what he carried from Aridhol; they might possibly trust their own mothers, but never al’Thor now.
The door burst open, and young Perwyn Belman burst into the room pursued by his mother. Nan Belman was a handsome woman, though Fain seldom noticed whether a woman was or not now, a Darkfriend who had thought her oaths were just dabbling in wickedness until Padan Fain appeared on her doorstep. She believed him a Darkfriend too, one high in the councils. Fain had gone far beyond that, of course; he would be dead the moment one of the Chosen laid hands on him. The thought made him giggle.
Perwyn and his mother both shied at the sight of the Myrddraal, of course, but the boy recovered first and reached Fain while the woman was still trying to find her breath.
“Master Mordeth, Master Mordeth,” the boy piped, dancing from foot to foot in his red-and-white coat, “I have news you wanted.”
Mordeth. Had he used that name? Sometimes he could not recall what name he had used, what name was his. Sheathing the dagger beneath his coat, he put on a warm smile. “And what news would that be now, lad?”
“Someone tried to kill the Dragon Reborn this morning. A man. He’s dead now. He got right past all the Aiel and everything, right into the Lord Dragon’s rooms.”
Fain felt his smile become a snarl. Trying to kill al’Thor? Al’Thor was his! Al’Thor would die by his hand, no other! Wait. The assassin had gotten past the Aiel, into al’Thor’s rooms? “A Gray Man!” He did not recognize that grating sound as his own voice. Gray Men meant the Chosen. Would he never be free of their interference?
All that rage had to go somewhere before he burst.  The boy’s eyes bulged; he began trembling so hard his teeth rattled.
Fain did not really understand the tricks he could work. A bit of something from the Dark One, perhaps, a bit from Aridhol. It had been after there, after he stopped being just Padan Fain, that the ability began to manifest, slowly. All he knew was that he could do certain things now, as long as he could touch what he worked with.
Nan flung herself to her knees beside his chair, clutching at his coat. “Mercy, Master Mordeth,” she panted. “Please, have mercy. He’s only a child. Only a child!”
For a moment he studied her curiously, head tilted. She was quite a pretty woman, really. Planting a foot against her chest, he shoved her aside so he could stand. The Myrddraal, peeking furtively, jerked its eyeless face away when it saw him watching. It remembered his . . . tricks very well.
Fain paced; he had to move. Al’Thor’s downfall had to be his doing—his!—not the Chosen’s. How could he hurt the man again, hurt to the heart? There were those nattering girls at Culain’s Hound, but if al’Thor did not come when the Two Rivers was harrowed, what would he care even if Fain burned the inn down and the chits with it? What did he have to work with? Only a few remained of his onetime Children of the Light.  He had the Myrddraal, a handful of Trollocs hidden outside the city, a few Darkfriends gathered in Caemlyn and on the way from Tar Valon. The pull of al’Thor dragged him on. It was the most remarkable thing about Darkfriends. There should be nothing to single out a Darkfriend from anyone else, but of late he found he could tell one at a glance, even someone who had only thought of swearing to the Shadow, as if they had a sooty mark on their foreheads.
No! He had to concentrate. Concentrate! Clear his mind.  Fain had no notion how to stop one of his tricks once it began; the boy should survive, if a trifle the worse for wear, once the thing ground to a conclusion. Fain had not put his whole heart into making it. Clear his mind. Think of something else. A pretty woman. How long since he had had a woman?
Smiling, he took her arm.  “Come with me.” His voice was different, grander, the Lugard accent gone, but he did not notice; he never did. “I am sure you, at least, know how to show true respect. If you please me, no harm will come to you.” Why was she struggling? He knew he was being charming. He was going to have to hurt her. It was all al’Thor’s fault.


The site is under maintenance. Sorry for the inconvenience.
Minghao Liu
System.out.println("Student, software developer.");
Profile
About Me
I am Minghao Liu (Kelvin), a 21-year-old student in Vancouver, BC, Canada. I am currently a third year student at the University of British Columbia. I am in a double major program in Computer Science and math. My main focus within computer science is software development, but I am also interested in data analysis and system construction.
In addition:
• I can speak Chinese and English fluently.
• I have special artistic perspective, this is why the website seems different.
• I am good at things which require deep comprehension, while bad at things which require much memorization. However, this does not mean I have poor memory. I am just more into deep things.
• I like pure logic and rarely get moved. I seldom get mood swings and, even if it happened, people around me would not tell.
• I like pure logic and enjoy reading books. Of all areas in math, the one I like most is Game Theory.
• I follow closely to the rules, but I am also flexible.
• I do not let criticism bother me. If it does not make sense to me, I will just ignore it completely.
• It is always easy to be modest, since you have "excuse" for not knowing things. In that sense, I have been pushing myself a lot these years.
Links
Other
|
|
Primary Email<EMAIL_ADDRESS>|
|
|
Alternative Email<EMAIL_ADDRESS>|
|
|
Telephone: Please ask me for it. |
|
|
WeChat:<PHONE_NUMBER> |
|
|
QQ:<PHONE_NUMBER> |
Technical
Software
OS
Languages
| Java |
|
| HTML |
|
| CSS |
|
| C++ |
|
| C# |
|
| JavaScript |
|
| Assembly |
|
| C |
|
| SQL |
|
| PHP |
|
| JQuery |
|
| Python |
|
| Scheme (Dr.Racket) |
Projects
Renju Deluxe
A Java application which allows player to play renju against another player via multiplayer mode, or against computer via single player mode.
TicTacToe Elite
A C++ console application which simulates a TicTacToe game. Player can play against computer and be able to choose whether or not to move first.
Stock System
A website which incorporates HTML, CSS, Javascript, PHP and SQL, simulating a stock operating system, where there are various entities. The system fetches the stock data from google finance, and customers are able to make virtual transactions in the system.
Monopoly
A Java application emulating monopoly game. The game has different modes, player's moves are determined by rolling the dice. In addition, different stories are also available. I am a collaborator of the project.
Education
High School
Qingdao No.2 Middle School, Qingdao, China
Undergraduate
University of British Columbia, Vancouver, BC, Canada
Faculty of Science


Computer repair technicians work in a variety of settings, encompassing both the public and private sectors. Because of the relatively brief existence of the profession, institutions offer certificate and degree programs designed to prepare new technicians, but computer repairs are frequently performed by experienced and certified technicians who have little formal training in the field like private sectors [1]
Contact UsComputer repair technicians work in a variety of settings, encompassing both the public and private sectors. Because of the relatively brief existence of the profession, institutions offer certificate and degree programs designed to prepare new technicians, but computer repairs are frequently performed by experienced and certified technicians who have little formal training in the field like private sectors [1]
Contact UsComputer repair technicians work in a variety of settings, encompassing both the public and private sectors. Because of the relatively brief existence of the profession, institutions offer certificate and degree programs designed to prepare new technicians, but computer repairs are frequently performed by experienced and certified technicians who have little formal training in the field like private sectors [1]
Contact UsComputer repair technicians work in a variety of settings, encompassing both the public and private sectors. Because of the relatively brief existence of the profession, institutions offer certificate and degree programs designed to prepare new technicians, but computer repairs are frequently performed by experienced and certified technicians who have little formal training in the field like private sectors [1]
Contact Us


An HTTP intermediary forwards requests and responses between clients and servers.
client ⇄ { intermediary } ⇄ server
We can implement an intermediary by using HttpServer
and HttpClient
client ⇄ { HttpServer ⇄ HttpClient } ⇄ server
The simplest implementation of a proxy would be:
new HttpServer( new HttpClient()::send ).start();
However, some default features of HttpServer
and HttpClient
are not appropriate for intermediaries; they should be disabled by HttpServerConf.setProxyDefaults()
and HttpClient.send0()
.
The following sections show two examples of intermediaries: Proxy, Load Balancer.
To create a simple HTTP proxy at port 9090
:
HttpClient downstream = new HttpClient(); HttpHandler proxyHandler = request-> { return downstream.send0(request, null); // use send0() instead of send() }; HttpServer proxy = new HttpServer(proxyHandler); proxy.conf() .port(9090) .setProxyDefaults() // use proxy settings .trafficDump(System.out::print) ; proxy.start();
It doesn't do much, except the traffic is dumped which can be used for diagnostics.
See also _HttpProxy.java for a simple HTTP+HTTPS proxy demo.
We can add any custom behaviors to the proxy. For example, to block spam hosts:
Set<String> spamHosts = new ConcurrentHashMap<String,Boolean>().keySet(true); HttpHandler adminHandler = request-> { String add = request.uriParam("add"); if(add!=null) spamHosts.add(add); return HttpResponse.text(200, "spamHosts:"+spamHosts); }; HttpClient downstream = new HttpClient(); HttpHandler proxyHandler = request-> { // use <http://proxy-admin/> to manage the spam list. if(request.host().equals("proxy-admin")) return adminHandler.handle(request); if(spamHosts.contains(request.host())) return HttpResponse.text(403, "blocked"); return downstream.send0(request, null); };
A load balancer dispatches a client request to one of several internal servers, based on request cookie, URI, IP, etc.
In the following demo, we have two internal servers at port 8081
and 8082
. The load balancer runs at port 80
, and dispatches requests based on URIs.
for(int port: new int[]{8081, 8082}) { HttpServer server = new HttpServer(request-> HttpResponse.text(200, "from server "+port)); server.conf().port(port); server.start(); } HttpClient downstream = new HttpClient(); HttpServer loadBalancer = new HttpServer(request-> { TcpAddress dest = new TcpAddress("<IP_ADDRESS>", 8081); if(request.uriPath().equals("/cat")) dest = new TcpAddress("<IP_ADDRESS>", 8082); HttpRequestImpl reqMod = new HttpRequestImpl(request); // copy and modify reqMod.header("X-Forwarded-For", request.ip().getHostAddress()); reqMod.header("X-Forwarded-Proto", request.scheme()); return downstream.send0(reqMod, dest); }); loadBalancer.conf() .port(80) .setProxyDefaults() ; loadBalancer.start();


wellicht ook even oefenen hier met dat css grids ding.
We have nothing to show you yet!
You can put anything on this nice and fancy dashboard! Start by adding some databaseservers and synchronization queries.
It actually works very simple, just choose your fields and go along.


Gateway
BOT
26-Jun-19 12:58 PM
[telegram] <herathhmcb> who think KMD will hit $100 ineday?
[telegram] <herathhmcb> maybe next year.
[telegram] <herathhmcb> or next life?
[telegram] <herathhmcb> loot at this coin it was 3cents last march now 2000
[telegram] <herathhmcb> USD
[telegram] <herathhmcb> 3cents to 2000USD within 3 months
Get ThoreCoin price, charts, and other cryptocurrency info
[telegram] <herathhmcb> why not KMD??? why why why KMD so good and still :(((((
[telegram] <Acura360> When legit questions
[telegram] <herathhmcb> but 3cents to 2000USD in 3 months
[telegram] <herathhmcb> why KMD at least not $100 USD
[telegram] <icantgiveyou> Coz it’s not about technology or projects BTC is crypto gold and rest is highly speculative asset that may or may not pan out in the future. It’s like computers in early 80s very few people though it had any future whatsoever
[telegram] <Cypherthegreat>
[telegram] <icantgiveyou> If u could go back to 1929 and buy bug companies stock, you would and today you would be richest person by far, but instead people sold everything, committed suicide etc..patience bro
[telegram] <PTYX11> It's on coinbase (re @EXCCunaffiliatado: that is not a real project.)
[telegram] <herathhmcb> yea I know, but KMD is a very REAL PROJECT, but why
[telegram] <Acura360> The whole day people here are crying about the price ...
[telegram] <EXCCunaffiliatado> Thorecoins supply is held mostly by the that company. I've seen complaints that one can not sell their thorecoins. They claim to open an exchange, but I doubt it... (re @herathhmcb: yea I know, but KMD is a very REAL PROJECT, but why)
[telegram] <BigTuck> Just got a few thousand more
[telegram] <BigTuck> We out here
[telegram] <EXCCunaffiliatado> and it really wasn't 3 cents and rose to 2k. It's an illusion.
[telegram] <johnConnor8> btc dominance increasing, good luck boys and girls
[telegram] <Cypherthegreat>
[telegram] <Ggokhangark> I hope to see a nice bounce from here. Or we will go to real bottom.
[telegram] <Coneyboy> hahahahaha (re @Acura360: When legit questions)
[telegram] <Coneyboy> hey after moving my funds safely from agama to binance. I then moved them to a nano ledger. I had no problem transferring them onto the ledger but now can't claim the rewards through magnum wallet. It keeps coming up with an error. and then when I try to send them to another wallet I'm getting errors. anyone having the same problem or could give me some advice please
[telegram] <Taner> hey discord ?


{% extends "inTemplate.html" %} {% block maincontent %}
{{removed}} was removed from your student roster.
{{added}} was succesfully added to the roster.
Select students from the All Students column to add to your roster
{% endif %}| {{ s.last_name }}, {{ s.name }} |
There are no more students in the database.
{% endif %}| {{ s.last_name }}, {{ s.name }} |


What is JF2?
JF2 is a json serialization format. It is compact and directly parsable from pages marked up with Microformats.
JF2 is a json serialization format. It is compact and directly parsable from pages marked up with Microformats.
JF2 Feed is a subset of JF2. It is specifically designed to be similar to RSS, ATOM, and JSONFeeds, but using microformats vocabulary. This way it is parsable directly from a microformats h-feed!
Some example files can be found Here


Get the tensor of type dtype
by feeding a tensor handle.
tf.compat.v1.get_session_tensor( handle, dtype, name=None )
This is EXPERIMENTAL and subject to change.
Get the value of the tensor from a tensor handle. The tensor is produced in a previous run() and stored in the state of the session.
handle
: The string representation of a persistent tensor handle.dtype
: The type of the output tensor.name
: Optional name prefix for the return tensor.A pair of tensors. The first is a placeholder for feeding a tensor handle and the second is the tensor in the session state keyed by the tensor handle.
c = tf.multiply(a, b) h = tf.compat.v1.get_session_handle(c) h = sess.run(h) p, a = tf.compat.v1.get_session_tensor(h.handle, tf.float32) b = tf.multiply(a, 10) c = sess.run(b, feed_dict={p: h.handle})


Baci Di Alassio
Yields: 12 bakies (two make a portion)
Preparation time: 1h
Tools
-
A vertical mixer equipped with a whisk (suggested) or an electric whiskerA pastry bag with a star tip (~14mm size) or a small ice-cream scoopBaking paperOven (180°C)[OPTIONAL] a rack for sweets[OPTIONAL] ice[OPTIONAL] food processor
Ingredients
-
150g white sugar190g of fine hazelnut flour (or peeled hazelnuts and a spice grinder)20g honey17g unsweetened cocoa powder2 or 3 egg whites (about 80g)50g cream75g dark chocolate
Directions
-
If the hazelnut flour you have is too coarse (like a granola) you can put it in a food processor and give it a few blitzes, just be sure to not reduce it in a pasteIf you have a vertical mixer put the egg whites in and start the whisk on medium speed, we’ll need very stiff peaks for this recipeWeigh and mix sugar, honey, hazelnut flour and cocoaWhisk the egg whites if not already doneMix the egg whites with the rest, trying not to push out too much airPre-heat oven at 180°CPut the star tip in the pastry bag, then add the mix. You can put the bag in a tall glass to help you in this process, if you do so remember to bend the tip (facing up) so that you don’t pour the mix in the glassPut baking paper on the oven trayUse the pastry bag to make roughly 24 cookiesBake for 13 minutes, in the meantime continue with the following steps. Whenever they are ready take them out of the oven and let them cool on a rack or just on a cool trayPut the cream in a small pan on medium heat, take it off as soon as it boils (continue with the following steps in the meantime)Cut the dark chocolate into small bitsWhen the cream starts boiling take it off the heat, add the chocolate and mix (the chocolate should completely melt and mix with the cream)Put the mix in the fridge for 10’. You can accelerate the cooldown if you put the pan in a bigger pan with ice and water in it (this is what I usually do, in which case I just move to the next step, no wait).Whisk the chocolate mix until you get a mousse (you’ll se the mix will become lighter in color)Composition: take one of the cookies (they need to be cool) and add some of the mousse (a teaspoon) on the flat side, then take another and put it on top.Repeat previous step until you run out of cookiesEat the leftover mousse
They can be preserved at room temperature for roughly a week. I strongly advise against freezing.
I think they are best after one or two days, not immediately after made.
Category: Sweets
Origin: Liguria


{{define "main"}} {{.Content}} {{ range .Pages }} {{/* The context, ".", is now each one of the pages as it goes through the loop */}}


stockd.ta.ema
class
Ema
;
A type of moving average that is similar to a simple moving average, except that more weight is given to the latest data. The exponential moving average is also known as "exponentially weighted moving average".
this(ushort
period
= 12, bool
sma
= true);
Params:
ushort
period
period
EMA is calculated for
bool
sma
use SMA instead of EMA for 0..
period
-1 values
double
add
(double
value
);
Evaluate next
value
static void
evaluate
(ref const double[]
input
, ushort
period
, ref double[]
output
, bool
sma
= true);
Evaluate EMA for the whole
input
array
Page generated by
Ddoc
.


MySQLThreadSafeConnection
public class MySQLThreadSafeConnection: MySQLConnection
A thread-safe implementation of SwiftKuery.Connection
protocol for MySQL.
Instances of MySQLThreadSafeConnection can be safely shared between multiple threads.
-
Establish a connection with the database.
Parameter
Parameter onCompletion: The function to be called when the connection is established.Declaration
Swift
public override func connect(onCompletion: (QueryError?) -> ())
Parameters
onCompletion
The function to be called when the connection is established.
-
Close the connection to the database.
Declaration
Swift
public override func closeConnection()


--- layout: playground collection: playground title: Single react component name: 04-single-react-component --- const Comp = React.createClass({ render: function () { const { prop } = this.props; return


THE REF A film review by Tak Copyright 1994 by Mark Takacs
Touchstone Pictures / rated R Starring: Denis Leary Judy Davis Kevin Spacey Classification: Verbal Comedy Tak Rating: see it several times - full and/or matinee
One-Line-Summary ---------------- A hapless jewel thief hijacks a bickering couple.
Tak Plot Summary ---------------- Gus, a hapless jewel thief (comedian Denis Leary), kidnaps a bickering married couple (Judy Davis and Kevin Spacey) on Christmas Eve and ends up becoming a hostage himself in the couple's home.
Tak Thoughts ------------ The first time I saw THE REF was at a preview screening, a packed house, filled with people out for the evening. I left thinking THE REF was "...the funniest movie I'd *ever* seen." In fact, I it as my first "many times at full price".
So, this weekend, I got all psyched up after writing this review and talked two friends into seeing a matinee on a sunny Saturday afternoon. Boy, was I disappointed. I had to rewrite this review. ('Nother two hours down the drain). I dunno if it was the non-capacity crowd or my high expectations, but it wasn't as fun. My friends liked it, but they didn't rave about it like my friends at the screening. I think the crowd totally made a huge difference.
On a better note, it's entertaining to watch people verbally slug it out with each other. The dirtier the fighting, the better. Both times I saw it, people in the theatres were laughing out loud. And although Denis Leary is a formidable talent here, he didn't steal the show. In fact, my favorite scenes are from early in the movie, where the whole interplay is among Gus (Denis Leary), LLoyd (Kevin Spacey) and Catherine (Judy Davis).
Denis Leary is absolutely perfect.  He swears up a storm, snaps off zillions of one liners, and rants non-stop. And it's not really Denis Leary material--you don't have to be a fan to enjoy THE REF. In fact, the movie wasn't written with him in mind at all, though it was a perfect match.
The rest of the cast had their moments--the sheriff, a drunken fruit-cake bearing Santa, in-laws that are funny because you recognize them, and Gus's inept "...fucking waste of life..." sidekick. But it wasn't the same caliber--just your normal lame-o hollywood idea of funny. Fortunately we're never away from the bickering for too long.
The dialog in THE REF is fast-paced, and snappy from the very first scene where we're introduced to the bickering couple at their marriage counselor's office. There's a slight tendency to get a bit preachy that I noticed the second time around. Denis Leary almost says "Now kids, don't try this at home", as well as some speeches about recognizing your privilege.
PS: Watch for the wrestling scene with the grandma: In Premier, Leary says he *really* got elbowed in the balls during filming. Ouch.
Tak Rating: ----------- THE REF is really funny. Though I'd recommend you go see it at night, or whenever the theatre'll be crowded. The experience will be ten times better. In either case, you'll enjoy THE REF.
avoid at all costs see several times (w/friends) as matinee wait for videotape see once at full price watch it on cable X see it several times - full and/or matinee see once as a matinee see many times at full price
-- Mark Takacs<EMAIL_ADDRESS>Seattle, WA "Only Amiga!" WWW HomePage
.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


LOADING...
Saved since Dec 2015
Invite your friends to join guzzle.
Your invitation has been send.
Please provide your activation code to start using our services
Oops wrong code, try again!.
How do you like the guzzle app? Send us your suggestions and feedback.
Thanks for your feedback.


Website is hosted on azure platform. and I have used github to link the files to the server. Bootstrap features used, hero component(jumbotron), grid, images, buttons, tooltips, timeline, live Twitter feed.
I know that the web-page could include some more features but time and my part time job was an obstacle , and I am ok with it as it is.


Maker Faire - May 2013
Presented by Don Coleman / @doncoleman
PhoneGap is an open source solution for building cross-platform mobile apps with standards-based Web technologies like HTML, JavaScript, CSS.
iOS, Android
Windows Phone, Blackberry
Symbian, Bada, WebOS
Tizen, FirefoxOS
Windows 8, OS X, Chrome
Your app is a native app
PhoneGap does not provide a UI
Single Page App
Unzip archive
move somewhere like /usr/local/phonegap-2.7.0
Do you have platform tools installed?
Xcode
Android SDK
Visual Studio
BlackBerry Webworks SDK
Android
$ cd /usr/local/phonegap-2.7.0
$ cd lib/android
$ .bin/create ~/foo com.example.foo Foo
$ cd ~/foo
$ ./cordova/run
PhoneGap Getting Started Guides
http://docs.phonegap.com/en/2.7.0/guide_getting-started_index.md.htmlindex.html
<!DOCTYPE html>
<html>
...
<script src="cordova-2.7.0.js"></script>
<script src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
</body>
</html>
index.js
var app = {
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener(
'deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
// your code here
}
};
API Example - Camera
navigator.camera.getPicture(cameraSuccess, cameraError, options);
http://docs.phonegap.com/en/2.7.0/cordova_camera_camera.md.html
Callbacks
function cameraSuccess(imageURI) {
image.src = imageURI;
}
function cameraError(message) {
alert('Failed because: ' + message);
}
API Call
navigator.camera.getPicture(
cameraSuccess,
cameraError,
{
quality: 50,
destinationType: Camera.DestinationType.FILE_URI
}
);
Permissions
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Lots of other APIs
http://docs.phonegap.com/en/2.7.0/index.htmlBut PhoneGap doesn't do
[insert your feature here]
Extend PhoneGap
var macAddress = "00:00:AA:BB:CC:DD";
var connected = function() {
// connected, do something
};
var disconnected = funtion(error) {
// disconnected
};
bluetoothSerial.connect(macAddress, connected, disconnected);
var onMessage = function(data) {
console.log(data);
};
bluetoothSerial.subscribe("\n", onMessage, onFailure);
bluetoothSerial.write("Hello Arduino");
Don Coleman
PhoneGap for Makers by Don Coleman is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Based on a work at http://github.com/don/slides/2013-05-19-phonegap-for-makers.


Purpose: use qa_package
to check a DataONE EML package. Will check that attributes match values in the data.
Note: this function also calls qa_attributes and passes the data object and associated dataTable, but that function can also be called directly.
Example:
qa_package(mn, pid,
readAllData = FALSE,
check_attributes = TRUE,
check_creators = FALSE,
check_access = FALSE)
The create_attributes_table
allows editing of an attribute table and custom units table in a shiny environment
Example:
create_attributes_table(NULL, NULL)
data <- read.csv("Test.csv")
create_attributes_table(data, NULL)
attributes_table <- EML::get_attributes(eml@dataset@dataTable[[i]]@attributeList)$attributes
create_attributes_table(NULL, attributes_table)
create_attributes_table(data, attributes_table)
The get_custom_units
function uses the udunits2 unit library to format inputted unit into an EML unit form.
Example:
#The following all return the same data frame.
get_custom_units('kilometersPerSquareSecond') #preferred input form
get_custom_units('Kilometers per seconds squared')
get_custom_units('km/s^2')
get_custom_units('km s-2')
get_custom_units('s-2 / kilometers-1') #works but is not advised
The arcticdatautils::update_object
function updates an object in a package but does not change the resource map or EML. To simultaneously update all three parts of a data package, you can use the update_package_object
function.
The update_package_object
function updates a data object, and then automatically updates the package resource map with the new data pid. If an object already has a dataTable or otherEntity with a working physical section, the EML will be updated with the new data’s physical.
Example:
#input token to run
cnTest <- dataone::CNode('STAGING')
mnTest <- dataone::getMNode(cnTest,'urn:node:mnTestARCTIC')
pkg <- create_dummy_package2(mnTest, title = "My package")
file.create("new_file.csv")
update_package_object(mnTest, pkg$data[1], "new_file.csv", pkg$resource_map, format_id = "text/csv")
file.remove("new_file.csv") #clean up
#check out the package on test.arcticdata.io
A complete data package requires that at minimum one creator includes an associated ORCID ID. The function add_creator_id
allows you to add an ORCID or reference ID to any creator in EML.
The function invisibly returns the full EML, which can be saved to a variable. It also prints the changed creator entry so that it’s easy to check that the appropriate change was made. In addition to the EML, at least one of either the orcid or reference id is required.
Note: updated creator information cannot be used as a reference for associatedParties because the extra “role” field is required. Also, the function does not (yet) account for cases in which multiple creators have the same surname.
Example:
eml_path <- file.path(system.file(package = "datamgmt"), "dummy_meta_full.xml")
eml <- EML::read_eml(eml_path_original)
add_creator_id(eml, orcid = "https://orcid.org/WWWW-XXXX-YYYY-ZZZZ")
eml <- eml %>%
add_creator_id(surname = "high-stakes",
orcid = "https://orcid.org/0000-1234-5678-4321",
id = "henrietta")
#use references to add updated contact info to Henrietta's other roles
eml@dataset@contact[[1]] <- new('contact', reference = "henrietta")
eml@dataset@metadataProvider[[1]] <- new('metadataProvider', reference = "henrietta")


| Home | Trees | Indices | Help |
|
|---|
|
|
New for version 1.0.1:
New for version 1.0:
New for version 0.8.1:
New for version 0.8:
New for version 0.2.4:
New for version 0.2.32:
New for version 0.2.31:
New for version 0.2.3:
New for version 0.2.15:
New for version 0.2.1:
New for version 0.2.0:
New for version 0.1.986:
New for version 0.1.985:
New for version 0.1.98:
New for version 0.1.97:
New for version 0.1.95:
New for version 0.1.9:
Version: 1.0.1
Author: Mathias Kaerlev
Copyright: Copyright 2011, Mathias Kaerlev
| Submodules | |
|
| Variables | |
__credits__ =
|
|
__email__ =
|
|
__package__ = None hash(x) |
| Variables Details |
__credits__
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Thu Dec 22 06:19:59 2011 | http://epydoc.sourceforge.net |


To view your board, press ALT + Q
Minimal Kanban-like task manager.
To view your board, press ALT + Q
Note: Board does not show within empty 'New Tab' tabs (restriction by Chrome). Must be in a loaded web page.
Experiencing a technical problem? Check the Support section for the fix, or report it.
Take me to Support.
Minikan v1.4


A node.js package written in TypeScript(TS) that consumes the Anilist API V2, written to support GraphQL queries.
This package was written as dependency to Telegram's AnilistBot.
npm install --save endeavor
note: no need of installing @types/endeavor or something like it, the declaration typings file is linked in the package.json.
Just use it as the following:
queryAnilist({ query, variables })
const query = 'query ($id: Int) {\
Media (id: $id, type: ANIME) {\
id\
title {\
romaji\
english\
native\
}\
}\
}';
const variables = {
id: 15125
};
const result = queryAnilist({ query, variables }).then(console.log);
This will print the following:
data: {
Media: {
id: 15125,
title: {
english: 'Teekyuu',
native: 'てーきゅう',
romaji: 'Teekyuu'
}
}
}
You can also use it as an async call encapsulating it as:
const callAnilist = async () => {
const result = await queryAnilist({ query, variables });
console.log(result);
};
This way, console.log also prints the same as before.
A more "advanced" usage of this package can be found at AnilistBot, with a caveat of a webpack due to webpack-graphql-loader.
Plain and simple TS with the Microsoft linter standards.
Just run:
npm test
In case of running into a Snyk warning or something like that, just read their docs in how to solve it. If that is the case, jus run:
npm run jest
No dependency required :)
Talk to me through an issue.
Like many Open-Source Software (OSS) the MIT license is used, more about it in LICENSE.
Generated using TypeDoc


MOD.form Class
Defined in:
Module: MOD
src/form.js:1
The form object is responsible for processing actions like validation and serializing data for ajax requests
Usage:
var form = sb.query( '#example-form' )[ 0 ],
url = form.action,
method = form.method;
form = new MOD.form( form );
if ( form.validate() ) {
sb.request({
url : url,
type : method,
dataType : 'JSON',
data : form.prep(),
done : function ( data ) {
// do something with return data
},
fail : function ( error ) {
// do something with error
},
scope : this
});
}
Item Index
Methods
Methods
clear_errors
()
None
private
responsible for clearing any previous error messages and removing error classes from elements
Returns:
None:
init
(
None
private
-
form
gets the fields to validate
Parameters:
-
form
Objectthe form DOM element to work with
Returns:
None:
prep
(
JSON object / form urlencoded string
public
-
serialize
Builds an object of all fields/groups with associated values, handles all field types except file
Parameters:
-
serialize
Booleanif true it formats values according to application/x-www-form-urlencoded format, else it returns JSON object
Returns:
JSON object / form urlencoded string:
the form name/value pairs in one of the two specified return types
set_error
(
None
private
-
error
sets up the error by adding error class to current field and by adding error message to errors container
Parameters:
-
error
Stringthe message to display with the error
Returns:
None:


The 10 best smartphones of 2018
All significant smartphone launches have now passed and as we approach the end of the year, the ten best shake out after more extended usage of each. All ten phones are excellent and certain aspects make each a possible contender for the top spot.
The Galaxy Note 9 is the best phone for business and continues to be my favorite phone of 2018. I've been using one now for several months and despite trying out some great new phones like the iPhone XS Max and Google Pixel 3 XL, none of these can replace the Note 9 and everything Samsung includes in this stunning device. This is especially true for use in the enterprise space.
The Galaxy Note 9 improves upon the Note 8 with a Bluetooth S Pen, more internal capacity and RAM, a massive 4,000 mAh battery, better dual rear cameras with some software intelligence, enhanced audio capability, and new placement of the rear fingerprint scanner.
Huawei recently announced the Mate 20 Pro and it brings together all of the greatness of Huawei into a single device that is tough to beat. The Mate 20 Pro includes the first Android 7nm process chipset with the Kirin 980 (Apple's A12 Bionic also uses the 7nm process), two Neural Processing Units, a fourth-generation image signal processor, and a LTE Cat.21 modem.
The triple rear camera capability from the Huawei P20 Pro is brought to the Mate 20 Pro, but in a different central two-by-two arrangement with one change made to one of the three lenses. The three rear cameras have 40MP, 20 MP, and 8 MP resolution with a 24 MP front-facing shooter and artificial intelligence to help you capture great shots. The monochrome lens has been replaced with a wide-angle lens so that you now have telephoto, wide-angle, and standard camera functionality.
While the Galaxy Note 9 offers just about everything you want, software updates are not its specialty. If you want an Android phone that will always have the latest firmware and security updates, while also offering a fairly stock experience, then nothing beats the new Google Pixel 3 and 3 XL. These two phones are the exact same except for the overall size and battery capacity.
The Google Pixel 3 XL has a large 6.3-inch 18:9 display, Snapdragon 845 processor, 4GB of RAM, 64GB and 128GB integrated storage, single rear 12.2 megapixel camera, dual front-facing cameras, IP68 dust and water resistance, a 3430 mAh battery, and dual front stereo speakers. The smaller Pixel 3 has a 5.5 inch display and smaller 2,915 mAh battery while the rest of the specs are the same as the XL model. Thankfully, wireless charging is included this year, along with a set of wired Pixel Buds in the retail package.
Apple pushed the entry-level price of a flagship up to $1,000 last year with the iPhone X and raised the bar again this year with the most expensive flagship available in the iPhone XS Max. ZDNet's Jason Cipriani awarded the iPhone XS Max an impressive near-perfect score of 9.6/10 so I'm pretty sure Jason would give the top spot to this phone
I ordered my own iPhone XS Max to replace my iPhone X, using the T-Mobile Jump On Demand program, but after two weeks I sent it back as I found the small size of the iPhone X was one of the primary reasons it still earned a place in my pocket.
The Apple iPhone XS Max has been shown to best all other phones in benchmarking testing and the Apple A12 Bionic chipset certainly blazes new trails. It has a fabulous OLED screen, good sized battery, and new camera software to make it a very compelling flagship.
OnePlus launched the new OnePlus 6T at the end of October and for the first time ever it launched on a US wireless carrier. I picked up my Mirror Black model at a local T-Mobile store, after visiting several stores that were sold out, and took advantage of the $300 launch trade-in option.
OnePlus earns a top five spot on my list because of the high end specifications, reasonable price that is hundreds less than other flagships, extremely responsive performance, and use of new technology.
If I had an affordable smartphone list, then the OnePlus 6T would be number one with prices ranging from $549 to $629. The lowest cost one still has 6GB of RAM and 128GB of storage while the $629 model has 8GB of RAM and 256GB of internal storage. You will not find another phone with these great specs for these prices.
While US consumers will have to resort to eBay to pick one up, the Huawei P20 Pro remains one of the most exciting phones of 2018, even with its new cousin just launching in the form of the Mate 20 Pro.
The unique triple camera design with 68 megapixels worth of shooting power should help you take some fantastic shots with a low light mode that beats out all the other smartphones available today.
Huawei has been including massive capacity batteries in its flagships and the P20 Pro is no exception with 4,000 mAh that is sure to get you through at least one full, busy day. It has a large 6.1 inch OLED with a notch you can show or hide, a powerful Kirin 970 processor with integrated AI, IP67 dust and water resistance, and more.
This year Apple announced three new phones with one releasing a month after the other two. I traded in the iPhone XS Max for an iPhone XR and overall I am quite happy with the device and saving $350 over the iPhone XS Max.
The Apple iPhone XR differs from the XS/XS Max with a LED screen instead of OLED, lower resolution, no 3D Touch support (does anyone even care about this?), a single rear camera, and a 6.1 inch display that fits in between these other two new phones. It has the same Apple A12 Bionic processor, same camera software and hardware as the 12MP prime camera, and other enhanced Apple features like face unlock. The iPhone XR has a larger capacity battery than the iPhone XS and a reported battery life greater than the XS and XS Max.
The cellular reception of the iPhone XR is a bit worse in weak signal areas than the iPhone X models, but iPhones have never been able to match the cellular reception quality seen in Android phones. The battery life of the iPhone XR is awesome and the camera does a great job. For many people, it is likely one of the best iPhones you can buy today and is more reasonably priced than the new XS and XS Max.
LG continues to release great phones that appreciate over time and in a crowded flagship market, the LG V40 may have a tough time finding its place as well.
While Huawei was one of the first major brands to launch a phone with three rear cameras, LG bumped that up by announcing a phone with five total cameras. Three are found on the back and two are on the front.
LG has always stood apart from the others with its second rear camera having a true wide-angle lens for great landscape and large room photography. The new LG V40 keeps the wide-angle camera while also adding a telephoto lens to the standard lens option so you can do just about anything you want, including snapping once to take three photos, with this new flagship phone.
Like the Samsung Galaxy Note 9, the LG V40 ThinQ has everything but the kitchen sink included. It has a 3.5mm headphone jack with Quad-DAC support, triple rear camera setup, dual front-facing camera, wireless charging, IP68 rating, MIL-STD 810G shock resistant rating, microSD expansion card for inexpensive unlimited storage expansion, a screen that extends nearly the full front with a notch, and incredible audio support with its Boombox speaker system. The 3,300 mAh battery will not get you as far as the top five phones in this list and is one area that keeps me from using it daily over the long term.
Sony is back on the 10 best list with its best smartphone in years in the form of the Xperia XZ3. I've been using one for a few weeks and even though I am not happy with the fingerprint scanner placement it is still a compelling smartphone.
The Sony Xperia XZ3 matches up on the spec sheet closely with the Google Pixel 3 and 3 XL with 4GB RAM, 64GB internal storage, Android 9 Pie, Qualcomm Snapdragon 845, 3300 mAh battery, wireless charging, and IP68 dust and water resistance.
The Xperia XZ3 has a gorgeous curved design with lovely color options and microSD storage expansion options. The 6-inch OLED screen looks great, especially when viewing video content and experiencing the HDR up-conversion technology
Samsung launched the Galaxy S9 and S9 Plus earlier this year. It's an evolution in the Galaxy S line, but one that leads as close to perfection as you can expect for a smartphone today.
Samsung's Infinity Display continues to impress and earns a near perfect score like other Samsung displays on the newest Samsung, Apple, and Google phones. There is 6GB of RAM, the fastest Qualcomm Snapdragon 845 mobile processor, a rear dual aperture camera, another one with super slow motion support (S9 Plus only), the ability to add inexpensive microSD cards, improved Bixby assitant and a hardware button dedicated to its use, Samsung Pay payment technology, wireless and fast charging, IP68 dust andS water resistance, a USB Type-C standard port, and traditional 3.5mm headset jack. It also launches with Android 8.0 Oreo. There is nothing missing from the Galaxy S9 Plus and it still deserves respect several months later
Vote for the best
7 tech predictions for 2019
Though it’s a year shy of the big decade marker, 2019 looks to be one of the most exciting and ...
Read more »
Over 40 percent of activity on the internet is fake
New York Magazine published an interesting piece in its "Intelligencer" section opining that most...
Read more »
PC component prices, including DDR4 kits, continue to fall
Throughout the second half of 2018, we saw numerous reports claiming that PC components are slowly...
Read more »
Facebook is voted the least-trusted tech company
2018 has seen the social network experience a series of privacy scandals and data breaches, helping it ...
Read more »
Essential Phone has been discontinued, but a new phone is in the works
After customers noticed yesterday that the Essential Phone was out of stock on...
Read more »