log4net is built on a number of different frameworks. Each new version of the frameworks add new features. To take advantage of these new features we must build log4net using the appropriate framework. We also maintain builds compatible with older versions of the frameworks.
It is important to remember that the .NET frameworks support backward compatibility, that is a new version of the framework will run binary assemblies that were targeted to previous versions of the framework.
While the number of different builds available may seem confusing, you only need to select the nearest build for your platform that is equal to or earlier than your chosen deployment framework. If you intend to deploy your application on the Microsoft .NET Framework 1.0 don't pick the log4net build that is built against the Microsoft .NET Framework 1.1 because the .NET framework does not guarantee forward compatibility only backward compatibility.
The lowest common denominator build is the CLI 1.0 Compatible build. This build is compatible with the ECMA/ISO CLI 1.0 standard APIs and will run on all frameworks that support the standard. (Note that the Microsoft .NET Compact Framework does not support this standard). Use this build if you intend to deploy you application on both the Microsoft .NET Frameworks and the Mono frameworks.
log4net now builds on 6 frameworks:
| Framework | Website |
|---|---|
| Microsoft .NET Framework 1.0 (1.0.3705) | http://msdn.microsoft.com/net |
| Microsoft .NET Framework 1.1 (1.1.4322) | http://msdn.microsoft.com/net |
| Microsoft .NET Framework 2.0 (2.0.50727) | http://msdn.microsoft.com/net |
| Microsoft .NET Compact Framework 1.0 | http://msdn2.microsoft.com/en-us/netframework/aa497273.aspx |
| Mono 1.2.3 | http://www.mono-project.com |
| Microsoft Shared Source CLI 1.0 | http://msdn.microsoft.com/library/en-us/dndotnet/html/mssharsourcecli.asp |
| CLI 1.0 Compatible | http://msdn.microsoft.com/net/ecma/ |
For each of these frameworks a log4net assembly targeting the framework is supplied. Although it's perfectly possible to use the .NET Framework 1.0 version of log4net on the .NET Framework 1.1, having an assembly that really targets a specific framework allows us to use features in that framework that are not available in other frameworks or remove features from log4net that are not supported in a specific framework.
The appenders available to each framework depend on the functionality of the framework and the platform it runs on:
| Appender | .NET Framework 1.0 | .NET Framework 1.1 | .NET Framework 2.0 | .NET CF 1.0 | Mono 1.2 | Shared Source CLI 1.0 | CLI 1.0 Compatible |
|---|---|---|---|---|---|---|---|
| AdoNetAppender | x | x | x | x | x | x | |
| AnsiColorTerminalAppender | x | x | x | x | x | x | x |
| AspNetTraceAppender | x | x | x | x | x | ||
| BufferingForwardingAppender | x | x | x | x | x | x | x |
| ColoredConsoleAppender | x | x | x | ||||
| ConsoleAppender | x | x | x | x | x | x | x |
| DebugAppender | x | x | x | x | x | x | x |
| EventLogAppender | x | x | x | x | x | ||
| FileAppender | x | x | x | x | x | x | x |
| ForwardingAppender | x | x | x | x | x | x | x |
| LocalSyslogAppender | x | x | x | x | x | ||
| MemoryAppender | x | x | x | x | x | x | x |
| NetSendAppender | x | x | x | ||||
| OutputDebugStringAppender | x | x | x | x | |||
| RemoteSyslogAppender | x | x | x | x | x | x | x |
| RemotingAppender | x | x | x | x | x | x | |
| RollingFileAppender | x | x | x | x | x | x | x |
| SmtpAppender | x | x | x | x | x | ||
| SmtpPickupDirAppender | x | x | x | x | x | x | x |
| TelnetAppender | x | x | x | x | x | x | x |
| TraceAppender | x | x | x | x | x | x | x |
| UdpAppender | x | x | x | x | x | x | x |
none
none
none
The .NET Compact Framework 1.0 does not support retrieving assembly level attributes, therefore all log4net configuration attributes were removed from the .NET Compact Framework 1.0 version of log4net.
For Smart-device applications, the log4net system can be configured by passing the location of the log4net configuration file to the log4net.Config.XmlConfigurator.Configure(FileInfo) method in the entry point of the application.
For example:
namespace TestApp { using System.IO; public class EntryPoint { /// <summary> /// Application entry point. /// </summary> public static void Main() { // Uncomment the next line to enable log4net internal debugging // log4net.Util.LogLog.InternalDebugging = true; // This will instruct log4net to look for a configuration file // called config.log4net in the root directory of the device log4net.Config.XmlConfigurator.Configure(new FileInfo(@"\config.log4net")); ... // This will shutdown the log4net system log4net.LogManager.Shutdown(); } } }
The .NET Compact Framework 1.0 does not support notification events during the application shutdown, therefore log4net cannot automatically hook the application shutdown notification.
Applications will need to programmatically shutdown the log4net system during the application's shutdown using the log4net.LogManager.Shutdown() method in order to prevent losing logging events. See the code above for an example.
The .NET Compact Framework 1.0 does not support the System.IO.FileSystemWatcher class. As a result, the XmlConfiguratorAttribute.Watch property and the XmlConfigurator.ConfigureAndWatch methods are not available. Watching changes to the log4net configuration file is not supported on the .NET Compact Framework 1.0.
The .NET Compact Framework 1.0 does not support the System.Security.Principal.WindowsIdentity class. This is used to capture the current thread's user identity. Therefore the LoggingEvent.UserName property will return the value "NOT AVAILABLE".
The .NET Compact Framework 1.0 does not support the System.Security.Principal.IPrincipal interface. This is used to capture the current thread's user identity. Therefore the LoggingEvent.Identity property will return the value "NOT AVAILABLE".
The .NET Compact Framework 1.0 does not support retrieving environment variables, therefore it's not possible to substitute environment variables in parameter values when using the .NET Compact Framework 1.0 version of log4net.
The .NET Compact Framework 1.0 does not support serialization, therefore none of the log4net classes in the .NET Compact Framework 1.0 version are serializable.
The .NET Compact Framework 1.0 does not support AppDomain functionality. The friendly name for the current AppDomain is stored in the LoggingEvent.Domain property and is accessed using the %a pattern of the PatternLayout. On the .NET Compact Framework 1.0 this value is generated by taking the file name for the application's primary module.
There are 2 separate builds of log4net for mono; Mono 1.0, built using the C# compiler in a mode which is compatible with the CLI 1.0 language specification, and; Mono 2.0, built using the .NET 2.0 extensions to the C# language.
none
none
SSCLI 1.0 does not support the System.IO.FileSystemWatcher class. As a result, the XmlConfiguratorAttribute.Watch property and the XmlConfigurator.ConfigureAndWatch methods are not available. Watching changes to the log4net configuration file is not supported on SSCLI 1.0.
SSCLI 1.0 does not support the System.Security.Principal.WindowsIdentity class. This is used to capture the current thread's user identity. Therefore the LoggingEvent.UserName property will return the value "NOT AVAILABLE".
SSCLI 1.0 does not support the System.Security.Principal.IPrincipal interface. This is used to capture the current thread's user identity. Therefore the LoggingEvent.Identity property will return the value "NOT AVAILABLE".
This build of log4net is designed to run on any ECMA CLI 1.0 compatible runtime. The assembly does not support any platform specific features. The build includes the common subset of functionality found in the .NET 1.0 and Mono 1.0 builds. The output assembly is built using the Microsoft .NET 1.0 compiler and library.
The log4net CLI 1.0 assembly is runtime compatible with the following frameworks:
Only a Release build is generated for this configuration because the assembly debugging information has not been standardized.


Srisailam gears up to meet Karthikam final week rush
Darshan from 4 a.m. on Sunday, Monday
by Staff ReporterExpecting a heavy rush of devotees at the Sri Bhramarambika Mallikarjuna Swamy temple at Srisailam on Sunday and Monday, the temple Executive Officer K.S. Rama Rao discussed preparations with the temple staff here on Friday.
As it’s the final week of Karthika Masam, the authorities decided that on Sunday and Monday the temple gates would be opened at 3 a.m. After morning prayers, the devotees would be let into the temple from 4 a.m.
On Sunday, ‘darshan’ would be held in five phases and on Monday only ‘Alankaara Darshan’ would be allowed.
The number of queue complexes has also been increased. The free complexes have been upped from six to nine and the ₹150 complexes have been increased from five to eight. Seating arrangements have been made at these complexes besides supply of food and water.
Lighting of lamps
In order to facilitate devotees light ‘Karthika Deepams’ the authorities have also made special arrangements at Nagulakatta on the temple premises.
The temple security, police and home guards would be stationed strategically to help devotees. All the temple staff have been assigned special duties to serve devotees in various aspects.


---------- ### Code Wars Beginner Kata ---------- I'd recommend doing the basics first, but then go back and forth between numbers and strings as they get more difficult. The later ones have more complex loops, it might be better to do all the simpler first. Last move to the group I've labeled advanced. Some of this are kinda challenging with the concepts we've covered, some just didn't fit well in other sections. ---------- #### Basics and Bools - do these first
#### Strings


What's new in this version
New in version 2.6:
- Added support for ITF format barcodes.
- Fixed a bug where some URLs would be misinterpreted as email addresses.
- Added support for uppercase URIs like TEL: and GEO:.
- Prevented Barcode Scanner from crashing when launching an unhandled intent.
- Web apps can now launch Barcode Scanner by creating a hyperlink to http://zxing.appspot.com/scan.
- Added the version to the about box.


Are you missing the stuff needed to play Chronicles Of Stampadia?
Read this manual and play today's page of the Chronicles of Stampadia on your PC here!
✎ Draw on the sheet with left button, use the right button to erase.
Drag the Hero Token around the Map to mark where your hero is. Drag the Room Token over the Rooms Table to mark your hero current room. Drag the Dice over the Hero and Enemy Sheets and right click on them to roll.


Jose Mourinho in talks to replace Mauricio Pochettino as Tottenham boss
Former Manchester United and Chelsea boss Jose Mourinho is in talks to replace Mauricio Pochettino as Tottenham manager.
by Dan Roan |BBC Sports|Pochettino, 47, was sacked as Spurs boss on Tuesday after five years in charge of the north London club.
The Argentine led Spurs to the Champions League final last season, where they lost to Liverpool.
Related Articles
Tottenham sack manager Mauricio Pochettino after five years…
Nov 19, 2019 15,635 10
Mauricio Pochettino holds crisis talks with Daniel Levy as…
Nov 19, 2019 9,461 0
Liverpool recover to beat Tottenham at Anfield
Oct 27, 2019 7,887 7
Arsenal come from two behind to draw with Tottenham in spicy…
Sep 1, 2019 14,505 0
Portuguese Mourinho has been out of work since being sacked by United in December 2018.
No deal has yet been reached between Mourinho and Spurs.
The ex-Chelsea, Porto, Real Madrid and Inter Milan manager has turned down a number of job opportunities, including in China, Spain and Portugal, since leaving Old Trafford.
There have been reports of a falling out between Pochettino and chairman Daniel Levy, but the decision was taken purely because of the poor results over a number of months, starting last February.
Bournemouth’s Eddie Howe, RB Leipzig’s Julian Nagelsmann and free agent Massimiliano Allegri, who left Juventus at the end of last season, have all been linked with the job.
However, Mourinho is keen to take the helm at White Hart Lane, and if talks between the club and his representatives are successfully concluded, an announcement could be made as soon as Wednesday morning UK time.
Some officials at the club are increasing confident Mourinho could be unveiled at a press conference on Thursday if negotiations go well.
Analysis
Spurs have never hired a manager as expensive or demanding as Mourinho, nor spent the kind of money on players that he became accustomed to at clubs such as Real Madrid and Manchester United.
Many fans will therefore be surprised that he is in contention, with RB Leipzig’s young coach Julian Nagelsmann appearing a much more natural fit.
But Spurs have come a long way in recent years under Pochettino. They have a new £1bn stadium and training ground, and four successive seasons in the Champions League, (along with player sales) have helped them to become the most profitable club in world football.
They now have a European pedigree, and a hugely talented squad.
Mourinho has been out of the game for almost a year and having retained a home in London, the job appeals to him.
His tribulations at Manchester United saw him lose his ‘Special One’ status, but his many achievements in the game still command widespread respect.
Chairman Daniel Levy must now decide whether to gamble on Mourinho, who as he proved at Old Trafford, may be box office, but can also be high maintenance.


File architecture
This page describes how the player files are organized. Each chapter go through a single directory or subdirectory, in alphabetical order.
The demo/ directory: Demos of rx-player implementations
Demonstration of functional codebases implementing the rx-player.
At the time of writing, there are two demos:
-
full: Demo with a graphic interface, written with the React library, to showcase what the player can do
-
standalone: Just expose the rx-player in
window
, to allow scripted interactions with it in the console. The player is linked to a video tag in the displayed page.
The dist/ directory: Player builds
Store the player builds of the last version released.
Contains two files: the minified (rx-player.min.js
) and the non-minified
files (rx-player.js
). Both are automatically generated with scripts at every
new release.
Two directories, namely _esm5.raw
and _esm5.processed
can also be
generated in here if the right scripts are called.
These allow to publish more modular codebases to npm.
The doc/ directory: Player documentation
Documentation, mostly in markdown, of various subjects related to the rx-player:
-
API documentation
-
code architecture documentation
-
documentation to help developpers (to use APIs, switch versions, know which APIs are deprecated)
The scripts/ directory: scripts
Contains various scripts used to help the test and the management of the player code.
For example:
- generating one of the demo and starting the server to run it
- deploying the demo or doc to github pages
- updating the player version
- generating the rx-player build before publishing on npm
The src/ directory: the source code
The src contains the entire source code of the rx-player.
It is subdivized into subdirectories which are defined here.
src/compat/: The compatibility files
src/compat
contains functions allowing to use browser APIs in a
cross-browser manner.
For example, if an event does not have the same name depending on the browser, the compat files will expose a simple function allowing to make sure the event is catched, taking the task of registering the right event on the callback given.
Every functions needed in the rest of the code are exported in
compat/index.js
, making it easier to import (e.g. by just doing
import { whatINeed } from "../compat";
)
src/core/: The core files
Defines the logic and behavior of the player, regardless of the browser and of the streaming technology used.
That’s where:
- the api is defined
- the MSE and EME APIs are called and managed
- the segments are downloaded and pushed to then be decoded by the browser
- adaptive bitrate strategies are set
This directory contains other subdirectories which are listed in the next chapter.
src/custom_source_buffers/: Custom SourceBuffers definitions
SourceBuffers are the JavaScript objects through which media segments are added to the browser.
Definition are usually already provided by the browser for the Audio and Video SourceBuffers. This directory allows to implement in JavaScript SourceBuffers for other type of media (e.g. text, overlays, images…).
For example, when a new text chunk is pushed to the text SourceBuffer, the custom text SourceBuffer will:
- update its buffered information
- call the corresponding text parser
- display the right subtitle at the right timecode
src/errors/: Error definitions
Contains the definition of the error classes used in the rx-player and accessible through the API.
src/experimental/: Experimental features
You will find here experimental features. Those are tested features who might completely change their API in new player versions.
src/features/: Feature switching
This manage activated or deactivated features (e.g. DASH, TTML subtitles parsing).
It exports an object defining the different activated features and provide utils to initialize and update them.
src/manifest/: The Manifest class
Defines a common Manifest
class, regardless of the streaming technology (DASH,
HSS…). This class is then used by the rest of the RxPlayer, to allow
interaction with it without considering the underlying technology used.
src/transports/: The transport protocols
Defines a common interface for multiple streaming technologies (DASH, HSS).
What is exported there are functions to load:
- Manifests/MPDs
- video/audio segments
- subtitles tracks
- image tracks
For different streaming technologies.
As in most of the code of the rx-player, everything used in the other parts of the code is exported in the index.js file at the root of this directory.
src/parsers/: The parsers
Functions to parse various formats into the same interface.
The parsed data being either:
- Manifest documents: DASH’s MPD, HSS’s Manifest…
- containers: ISOBMFF (CMAF, fMP4, MP4), Matroska (MKV, WEBM)
- text tracks: TTML, SAMI, SRT, WebVTT
- image containers: BIF
src/typings/: Typescript typings
This directory contains only declaration files for TypeScript. It is
automatically added as a typeRoots
when the TypeScript code is transpiled.
src/utils/: The utils
This directory contains general helpers which are used in different parts of the rx-player code.
The src/core/ directory
As written in the previous chapter, this is the “core” of the player, where the logic is defined.
As this directory is versatile and complicated, it also deserves its own chapter.
src/core/abr/: The adaptive bitrate code
Defines an ABRManager class which manages the adaptive streaming part of the player.
This manager takes various observables/options as inputs to record the current situation of the player, give an opinion about the best media tracks to choose, and provide methods allowing to get/set various ABR-related options.
Despite containing several files and using several classes, only the ABRManager
defined in abr/index.js
should be needed by the rest of the core.
This allows to isolate this complex part and facilitate future refactoring and
improvements.
src/core/api/: The API definition
Defines the rx-player API. This is the part the library user will directly interact with.
src/core/stream/: Load the right segments
The code there calculate which segments should be downloaded, ask for their download and push the segments into the SourceBuffers.
src/core/eme/: Encryption management
Defines functions allowing to handle encrypted contents through the EME APIs.
src/core/fetchers/: The fetchers
Handle the segments and Manifest downloading pipelines (load and parse) as
defined in the src/transports/
directory.
This is the layer directly interacting with the transport part (HSS, DASH). It facilitates the role of loading the Manifest and new segments for the rest of the core.
src/core/source_buffers/: SourceBuffers definitions
Code allowing to interact with the SourceBuffers
, the JavaScript object
through which media segments are pushed to be able to play a content.
For Audio and Video, SourceBuffers are already provided by the browser,
for other type of contents (like subtitles), we rely on Custom SourceBuffers
defined in src/custom_source_buffers
.
src/core/init/: Content initialization
This is the central part which download manifests, initialize MSE and EME APIs,
instanciate the central StreamOrchestrator
(which will allow to download and
push segments so the content can play) and link together many subparts of the
player.
src/**/tests: the unit tests directories
You will find multiple directories named __tests__
in the RxPlayer.
Those contain unit tests and are put in the same directory than the code it
tests.
Most unit tests files contain only tests for a single source file. Those will
be put directly at the root of __tests__
under the name
<ORIGINAL_SRC_FILE>.test.ts
(where <ORIGINAL_SRC_FILE>
is the filename of
the tested file).
__tests__
directories can also contain files defining tests for multiple files
contained in the tested directory.
Those can be quicker to write and easier to maintain at the expense of being
less thorough.
Those type of “global” unit tests are put in a special __global__
directory,
itself directly at the root of the corresponding __tests__
directory.
Their filename don’t follow the same convention than single-source unit tests
but should still be suffixed by .test.ts
.
The tests/ directory: Test strategies, integration and memory tests
The rx-player contains integration tests (test the whole player), unit tests (test specific parts of the code) and memory tests (tests the memory usage of the player).
Integration tests are entirely written in the tests/integration
subdirectory.
Memory tests are entirely written in the tests/memory
subdirectory.
As for unit tests, they are written alongside the code, in __tests__
directories. All its configuration can be found at the root of the project,
in jest.config.js
(we use the jest library for unit tests).


The experience has a very differnt style of learning which is engaging and offers different resources for different learning styles which is great. The way phase 0 is set up i find is really organised and easy to find the information that you are after. Belonging to a cohort is really helpful as everyone is in the same boat and very supportive of one another.
So far so good. I think its exciting but can also make you a little bit nervous when there is something that you think is too hard
I'm really looking forward to it. I liked the kitchen mindset analogy that every is in this as a team regardless of where their strengths lie.
Not really I knew coming into this it would be an engaging and intense course.
Yup, really excited about this learning environment! I wouldn't say the learning environment makes me nervous but I'm a little nervous about keeping up with the workload.


| 1 | package net.mooctest; | |
| 2 | ||
| 3 | /** | |
| 4 | * Exception thrown when an unrecognized command is passed to Calculator. | |
| 5 | */ | |
| 6 | public class CommandNotFoundException extends Exception { | |
| 7 | private String command; | |
| 8 | ||
| 9 | /** | |
| 10 | * Constructor of CommandNotFoundException. | |
| 11 | * | |
| 12 | * @param command | |
| 13 | * the command which could not be parsed | |
| 14 | * @since 1.0 | |
| 15 | */ | |
| 16 | ||
| 17 | public CommandNotFoundException(String command) { | |
| 18 | super("CommandNotFoundException"); | |
| 19 | this.command = command; | |
| 20 | } | |
| 21 | ||
| 22 | /** | |
| 23 | * Get the command which could not be parsed. | |
| 24 | * | |
| 25 | * @return the command which could not be parsed | |
| 26 | * @since 1.0 | |
| 27 | */ | |
| 28 | ||
| 29 | public String getCommand() { | |
| 30 |
1
1. getCommand : mutated return of Object value for net/mooctest/CommandNotFoundException::getCommand to ( if (x != null) null else throw new RuntimeException ) → KILLED |
return command; |
| 31 | } | |
| 32 | } | |
Mutations | ||
| 30 |
1.1 |


Tennessee father indicted after daughter, 4, kills son, 8
by Fox13Memphis.comMEMPHIS, Tenn. - A Memphis father has been indicted on reckless homicide charges related to the death of his 8-year-old son, FOX13 reported.
In August 2017, officers said Cordero Wilhite, 30, was in his bedroom when his two children came in and got on the bed with him. He told investigators he had a pistol that he put under the covers so his children wouldn't see.
Eventually, his daughter found and discharged the gun, striking her brother Deaundre Shannon, 8, in the chest and killing him.
His daughter was 4 years old at the time of the shooting.
Wilhite was also indicted for felony drug charges that involved more than a pound of marijuana. The drugs were found in his home in the 1000 block of Parkland Rd., west of the Sherwood Forest neighborhood.
Wilhite is currently free on a $50,000 bond.


VisDA Challenge
Aeroplane
Bicycle
Bus
Car
Horse
Knife
Motorcycle
Person
Plant
Skateboard
Train
Truck


cv
PDF version of my Curriculum Vitae
Table of Contents
- Education
- Research Experience
- Teaching Experience
- Awards
- Publications
- Presentations
- Professional Associations
- Professional Service
Education
Ph.D. in Spatial Informatics (in progress)
University of Illinois at Urbana-Champaign
June 2019 - Present
Working under Dr. Shaowen Wang
B.S. in Mathematics and Financial Economics
Westminster College
August 2015 - May 2019
Minor in Computer Science, Cum Laude with Honors in Mathematics and CS
Honors Thesis: “Capturing the Predictive Power of Cortical Learning Algorithms”
Research Experience
CyberGIS Center for Advanced Digital and Spatial Studies
CyberGIS Center and CyberInfrastructure and Geospatial Information Laboratory
June 2019 - Present
- At the labs I worked under Dr. Shaowen Wang, Dr. Anand Padmanabhan, and Dr. Jeon-Young Kang on the “Algorithms & Systems” and “Spatial Modeling” teams.
- Under the “Algorithms & Systems” team I primarily work to design, build, and administer cyberinfrastructure. Projects include CyberGISX, Kubernetes-based CyberGIS-Jupyter for Water, and the WhereCOVID-19 App’s Spatial Accessibility Explorer.
- Developed Docker-based Hadoop cluster for educational and research applications.
- Under the “Spatial Modeling” team, I wrote and published multiple spatial models for educational and research purposes.
Informatics Researcher
Institute for Pure and Applied Mathematics at UCLA / Praedicat, Inc.
June 2018 - August 2018
- Worked for Praedicat, Inc. automating information extraction, classification, and aggregation from web data for business profiling of over 52,600 companies and corporate entities.
- Worked for IPAM to develop a novel algorithm for computational fact-checking on knowledge graphs and a self-supervised machine learning algorithm for sentence importance which outperformed TF-IDF.
Teaching Experience
Teaching Assistant and Tutor
Westminster College
August 2015 - December 2018
- Assisted professors in grading, working with students individually, and developing curriculum for classes covering coursework in Calculus, Computer Science, and Operations Research.
Awards
UIUC GIS Day Virtual Student Poster Competition, November 2020
Third Place
UIUC Department of Geography & Geographic Information Systems
Cyberinfrastructure Specialty Group Robert Raskin Student Competition, April 2020
First Place for Research in Geospatial Cyberinfrastructure
CyberInfrastructure Specialty Group (CISG) of the American Association of Geographers (AAG)
UCGIS Prize for Advances in Geospatial Problem Solving, July 2019
Advancing Reproducibility in Geospatial Research at the AAG-UCGIS Summer School 2019
American Association of Geographers (AAG), University Consortium for Geographic Information Science (UCGIS)
Best Robot in Division Prize for Senior Unique Division, April 2018
Robot in the Division with the lowest Total Final Scores
Trinity Fire Fighting Robot Contest
North America Award for Level 2, April 2018
The top North American robot in Level 2
Trinity Fire Fighting Robot Contest
Dr. Thomas R. Nealeigh Mathematics Scholarship, March 2018
Awarded to an outstanding junior or senior mathematics major
Westminster College
COMAP International Mathematical Modeling Competition Honorable Mention, January 2017
Excellent Modeling and Sensitivity Analysis
COMAP International Mathematical Modeling Competition
Publications
Presentations
Professional Associations
American Association of Geographers (AAG)
Specialty Groups:
- Cyberinfrastructure
- Economic Geography
- Socialist and Critical Geography
- Spatial Analysis and Modeling
- Transportation Geography
Professional Service
Student Director
AAG CyberInfrastructure Specialty Group (CISG)
April 2021 - Present


Telangana HC orders bodies of Hyderabad accused to be preserved till December 13
The Telangana High Court on Monday ordered to preserve the bodies of the accused in the Telangana doctor's rape and murder case till December 13.
The Telangana High Court on Monday ordered to preserve the bodies of the accused in the Telangana doctor's rape and murder case till December 13. The matter has been posted for hearing on December 12.
The alleged rapists were shot down by the Cyberabad police on Friday after they tried to run away during the recreation of crime scene. The police claimed that the accused had snatched their weapons and fired at them, following which the police fired in retaliation, leading to their death.
The Telangana government has constituted a Special Investigation Team (SIT) to probe the killing of four accused in the rape and murder of a woman veterinarian in "retaliatory" firing by police last week.
A Government Order was issued in this regard on Sunday.
"The cause and circumstances leading to the death of the four persons should be ascertained with reasons and establish truth and in view of the fact that the case requires sustained and focused investigation, a SIT is constituted to investigate the case," the Order said.
The eight-member SIT led by Rachakonda Police Commissioner Mahesh M Bhagwat, should immediately take over investigation in the case registered over the "exchange of fire" and all other related cases registered in the state as per Supreme Court guidelines, it said.
The SIT should complete the investigation and submit the report before a competent court of law, it said.
The four were arrested on November 29 for allegedly raping and killing the woman by smothering her and later burning the body.
A petition has also been moved in the Supreme Court questioning the legality of the Hyderabad encounter.


| TOC |
|
This memo presents a technique for using XML (Extensible Markup Language) as a source format for documents in the Internet-Drafts (I-Ds) and Request for Comments (RFC) series. This memo is an upwards-compatible revision to RFC 2629.
1.
Introduction
2.
Using the DTD to Write I-Ds and RFCs
2.1.
XML basics
2.2.
Front matter
2.2.1.
The title Element
2.2.2.
The author Element
2.2.3.
The date Element
2.2.4.
Meta Data Elements
2.2.5.
The abstract Element
2.2.6.
The note Element
2.2.7.
Status, Copyright Notice, Table of Contents
2.2.8.
Everything in the Front
2.3.
The Middle
2.3.1.
The section Element
2.3.2.
The appendix Element
2.4.
Back matter
2.4.1.
The references Element
2.4.2.
Appendices
2.4.3.
Copyright Status
3.
Processing the XML Source File
3.1.
Editing
3.1.1.
Checking
3.2.
Converting to Text Format
3.3.
Converting to HTML Format
3.4.
Searching
Appendix A.
The rfc Element
Appendix B.
The DTD
Appendix C.
Changes from RFC 2629
Appendix D.
Conformance with RFC 2026 or RFC 3667 (Historic)
Appendix E.
Acknowledgements
4.
Security Considerations
5.
References
§
Index
§
Author's Address
| TOC |
This memo describes how to write a document for the I-D and RFC series using the Extensible Markup Language (Paoli, J., Maler, E., Bray, T., and C. Sperberg-McQueen, “Extensible Markup Language (XML) 1.0 (Second Edition),” October 2000.) [1] (XML). This memo has three goals:
It is beyond the scope of this memo to discuss the political ramifications of using XML as a source format for RFC-like documents. Rather, it is simply noted that adding minimal markup to plain text:
| TOC |
We do not provide a formal or comprehensive description of XML. Rather, this section discusses just enough XML to use a Document Type Declaration (DTD) to write RFC-like documents.
If you're already familiar with XML, skip to Appendix B (The DTD) to look at the DTD.
| TOC |
There are very few rules when writing in XML, as the syntax is (deceptively) simple. There are five terms you'll need to know:
First, start your source file with an XML declaration, a reference to the DTD, and the rfc element:
<?xml version='1.0' ?> <!DOCTYPE rfc SYSTEM 'rfcXXXX.dtd'> <rfc> ... </rfc>
Ignore the first two lines — the declaration and the reference — and simply treat them as opaque strings. Nothing else should be present after the </rfc> tag.
Second, make sure that all elements are properly matched and nested. A properly matched element that starts with <example> is eventually followed with </example>. (Empty elements are always matched.) Elements are properly nested when they don't overlap.
For example,
<outer> ... <inner> ... </inner> ... </outer>
is properly nested.
However,
<outer> ... <inner> ... </outer> ... </inner>
overlaps, so the elements aren't properly nested.
Third, never use < or & in your text. Instead, use either < or &, respectively.
Fourth, there are two quoting characters in XML, apostrophe (') and quotation ("). Make sure that all attributes values are quoted, e.g., <example name='value'>. If the value contains one of the quoting characters, then use the other to quote the value, e.g., <example name='"'>, If the value contains both quoting characters, then use one of them to quote the value, and replace occurrences of that character in the attribute value with either ' (apostrophe) or " (quotation), e.g., <example name='"'"'>.
If you want to put a comment in your source file, here's the syntax:

Finally, XML is case sensitive, which means that <foo> is different from <Foo>.
| TOC |
Immediately following the <rfc> tag is the front element:
<?xml version='1.0'?> <!DOCTYPE rfc SYSTEM 'rfcXXXX.dtd'> <rfc> <front> <title ...> <author ...> <author ...> <date ...> <area ...> <workgroup ...> <keyword ...> <keyword ...> <abstract ...> <note ...> </front> ... </rfc>
(Note that in all examples, indentation is used only for expository purposes.)
The front element consists of a title element, one or more author elements, a date element, one or more optional area elements, one or more optional workgroup elements, one or more optional keyword elements, an optional abstract element. and, one or more optional note elements.
| TOC |
The title element identifies the title of the document. Because the title will be used in the headers of the document when formatted according to [2] (Postel, J. and J. Reynolds, “Instructions to RFC Authors,” October 1997.), if the title is more than 42 characters, then an abbreviation should also be provided, e.g.,
<title abbrev='Much Ado about Nothing'> The IETF's Discussion on "Source Format of RFC Documents" </title>
| TOC |
Each author element identifies a document author. Since a document may have more than one author, more than one author element may be present. If the author is a person, then three attributes must be present in the <author> tag, initials, surname, and fullname, e.g.,
<author initials='F.J.' surname='Flintstone' fullname='Frederick Flintstone'>
There is also an optional role attribute, which, if present, must take the value "editor".
The author element itself consists of an organization element, and, an optional address element.
The organization element is similar to the title element, in that an abbreviation may be paired with a long organization name using the abbrev attribute, e.g.,
<organization abbrev='ISI'> USC/Information Sciences Institute </organization>
The address element consists of an optional postal element, an optional phone element, an optional facsimile element, an optional email element, and, an optional uri element.
The postal element contains one or more street elements, followed by any combination of city, region (state or province), code (zipcode or postal code), and country elements, e.g.,
<postal> <street>660 York Street</street> <street>M/S 40</street> <city>San Francisco</city> <region>CA</region> 94110 <country>US</country> </postal>
This flexibility is provided to allow for different national formats for postal addresses. Note however, that although the order of the city, region, code, and country elements isn't specified, at most one of each may be present. Regardless, these elements must not be re-ordered during processing by an XML application (e.g., display applications must preserve the ordering of the information contained in these elements). Finally, the value of the country element should be a two-letter code from ISO 3166.
The phone, facsimile, email, and uri elements are simple, e.g.,
<phone>+1<PHONE_NUMBER></phone><EMAIL_ADDRESS><uri>http://example.com/</uri>
| TOC |
The date element identifies the publication date of the document. It consists of a month and a year, e.g.,
<date month='February' year='1999' />
The date element also has an optional day attribute. (Actually, due to popular demand, all three attributes are optional.)
| TOC |
The front element may contain meta data — the content of these elements does not appear in printed versions of the document.
A document has one or more optional area, workgroup, and keyword elements, e.g.,
<area>General</area> <workgroup>RFC Beautification Working Group</workgroup> <keyword>RFC</keyword> <keyword>Request for Comments</keyword> <keyword>I-D</keyword> <keyword>Internet-Draft</keyword> <keyword>XML</keyword> <keyword>Extensible Markup Language</keyword>
The area elements identify a general category for the document (e.g., one of "Applications", "General", "Internet", "Management", "Operations", "Routing", "Security", "Transport", or "User"), while the workgroup elements identify the IETF working groups that produced the document, and the keyword elements identify useful search terms.
| TOC |
A document may have an abstract element, which contains one or more t elements (The t Element). In general, only a single t element is present, e.g.,
<abstract> <t>This memo presents a technique for using XML (Extensible Markup Language) as a source format for documents in the Internet-Drafts (I-Ds) and Request for Comments (RFC) series.</t> </abstract>
| TOC |
A document may have one or more note elements, each of which contains one or more t elements (The t Element). There is a mandatory title attribute. In general, the note element contains text from the IESG, e.g.,
<note title='IESG Note'> <t>The IESG has something to say.</t> </note>
| TOC |
Note that text relating to the memo's status, copyright notice, or table of contents is not included in the document's markup — this is automatically inserted by an XML application when it produces either a text or HTML version of the document.
| TOC |
If an Internet-Draft is being produced, then the ipr attribute should be present in the <rfc> tag at the beginning of the file. The value of the attribute should be one of: full3978, noModification3978, or noDerivatives3978. For the latter two options, an additional attribute, iprExtract, will be consulted. If present, its value is an anchor that is used to cross-reference the section of the document that may be extracted as-is for separate use.
Consult [3] (Bradner, S., “IETF Rights in Contributions,” March 2005.) for further details.
If the Internet-Draft is being submitted to an automated process, then the docName attribute should be present in the <rfc> tag at the beginning of the file. The value of this attribute contains the document (not file) name associated with this Internet-Draft, e.g.,
<rfc ipr='full3978' docName='draft-mrose-writing-rfcs-01'> ... </rfc>
Finally, an xml:lang attribute may be present to indicate that the document is written in some language other than English (for writing things other than RFCs).
| TOC |
So, putting it all together, we have, e.g.,
<front> <title>Writing I-Ds and RFCs using XML</title> <author initials='F.J.' surname='Flintstone' fullname='Frederick Flintstone'> <organization>Slate Construction, Inc.</organization> <address> <postal> <street>660 York Street</street> <street>M/S 40</street> <city>San Francisco</city> <region>CA</region> 94110 <country>US</country> </postal> <phone>+1<PHONE_NUMBER></phone><EMAIL_ADDRESS><uri>http://example.com/</uri> </address> </author> <date month='February' year='1999' /> <area>General</area> <workgroup>RFC Beautification Working Group</workgroup> <keyword>RFC</keyword> <keyword>Request for Comments</keyword> <keyword>I-D</keyword> <keyword>Internet-Draft</keyword> <keyword>XML</keyword> <keyword>Extensible Markup Language</keyword> <abstract> <t>This memo presents a technique for using XML (Extensible Markup Language) as a source format for documents in the Internet-Drafts (I-Ds) and Request for Comments (RFC) series.</t> </abstract> </front>
| TOC |
- Note well:
- Although this draft refers to the appendix element, the text referring to that element is entirely speculative (until such time as this advisory is removed).
The middle element contains all the sections of the document except for the bibliography and the boilerplate:
... </front> <middle>

 <appendix ...> <appendix ...> </middle> <back> ...
The middle element consists of one or more section elements, optionally followed by one or more appendix elements, optionally followed by one or more section elements.
| TOC |
Each section element contains a section of the document. There is a mandatory attribute, title, that identifies the title of the section. There are also two optional attributes, anchor, that is used for cross-referencing with the xref element (The xref Element), e.g.,

 ...

and the toc attribute, which is used to indicate whether the section should appear in the table of contents. (The choices are "exclude", "include", and "default").
The section element is recursive — each contains any number and combination of t, figure, texttable, iref, and section elements, e.g.,

 ...
 ...
...

...

...

...

...

...

...

...

...

...

Note that the section element is tail-recursive.
| TOC |
Paragraphs are contained in t elements. A paragraph can consist of text, lists, figures, and other t element-delimited paragraphs, in any number or combination.
If a cross-reference is needed to a section, figure, table, or reference, the xref element (The xref Element) is used; similarly, if an external-reference is needed, the eref element (The eref Element) is used. Indexing of text is provided by the the iref element (The iref Element).
- Note well:
- Although RFC2629 allows the figure element to be nested within the t element, authors are strongly encouraged to avoid this usage — it is always preferable to place the figure element as a direct subordinate of the section element.
| TOC |
The list element contains one or more items. Each item is a t element, allowing for recursion, e.g.,
<list style='numbers'> <t>The first item.</t> <t>The second item, which contains two bulleted sub-items: <list style='symbols'> <t>The first sub-item.</t> <t>The second sub-item.</t> </list> </t> </list>
The list element has an optional attribute, style, having the value "numbers" (for numeric lists), "letters" (for alphabetic lists), "symbols" (for bulleted lists), "hanging" (for hanging lists), "format" (for auto-formatted lists), or, "empty" (for indented text). If a list element is nested, the default value is taken from its closest parent; otherwise, the default value is "empty".
When nested within a hanging list element, the t element has an optional attribute, hangText that specifies the text to be inserted, e.g.,
<list style='hanging'> <t hangText="counter:">the "counting designation" is rendered (e.g., "2.1" or "A.2");</t> <t hangText="title:">the title attribute of the corresponding element is rendered (e.g., "XML Basics");</t> <t hangText="none:">no additional designation is rendered; or,</t> <t hangText="default:">a suitable designation is rendered, e.g., "Section 2.1" or "XML Basics" (the default).</t> </list>
The style attribute value for an auto-formatted list starts with the seven letters "format ", and is followed by a string which must contain exactly one instance of "%d" and "%c". Hanging text is automatically generated for each nested t element, e.g.,
<list style='format R%d:'> <t>Text for R1.</t> <t>Text for R2.</t> </list> ... <list style='format Directive %c:'> <t>Text for Directive A.</t> <t>Text for Directive B.</t> </list> ... <list style='format R%d:'> <t>Text for R3.</t> </list>
If the list is auto-formatted, then the optional counter attribute is consulted, which controls the numbering. By default, the value of this attribute is the same as the formatting string, e.g.,
<list style='format R%d:' counter='Requirements'> <t>Text for R1.</t> <t>Text for R2.</t> </list> ... <list style='format Directive %c:' counter='Directives'> <t>Text for Directive A.</t> <t>Text for Directive B.</t> </list> ... <list style='format R%d:' counter='Requirements'> <t>Text for R3.</t> </list>
If the style attribute has the value "hanging" or "format", then a second, optional, attribute called hangIndent is consulted. This overrides the default indentation used for the text of each t element, ensuring that each t element has the same indentation, e.g.,
<list style='format R%d:' hangIndent='5'> <t>Text for R1.</t> <t>Text for R2.</t> ... <t>Text for R12.</t> </list>
The final item will read "R12: Text for R12."
| TOC |
The figure element groups an optional preamble element, an artwork element, and an optional postamble element together. The figure element also has an optional anchor attribute that is used for cross-referencing with the xref element (The xref Element). There is also an optional title attribute that identifies the title of the figure.
The preamble and postamble elements, if present, are simply text. If a cross-reference is needed to a section, figure, table, or reference, the xref element (The xref Element) is used; similarly, if an external-reference is needed, the eref element (The eref Element) is used. Indexing of text is provided by the the iref element (The iref Element).
The artwork element, which must be present, contains "ASCII artwork". Unlike text contained in the t, preamble, or postamble elements, both horizontal and vertical whitespace is significant in the artwork element.
So, putting it all together, we have, e.g.,

 <preamble>So, putting it all together, we have, e.g.,</preamble> <artwork> ascii artwork goes here... be sure to use "<" or "&" instead of "<" and "&", respectively! </artwork> <postamble>which is a very simple example.</postamble>

which is a very simple example.
If you have artwork with a lot of "<" characters, then there's an XML trick you can use:

 <preamble>If you have artwork with a lot of "<" characters, then there's an XML trick you can use:</preamble> <artwork><![CDATA[ ascii artwork goes here... just don't use "]]" in your artwork! ]]></artwork> <postamble>The "<![CDATA[ ... ]]>" construct is called a CDATA block -- everything between the innermost brackets is left alone by the XML application.</postamble>

The <![CDATA[ ... ]]> construct is called a CDATA block — everything between the innermost brackets is left alone by the XML application.
Because the figure element represents a logical grouping of text and artwork, an XML application producing a text version of the document should attempt to keep these elements on the same page. Because RFC 2223 (Postel, J. and J. Reynolds, “Instructions to RFC Authors,” October 1997.) [2] allows no more than 69 characters by 49 lines of content on each page, XML applications should be prepared to prematurely introduce page breaks to allow for better visual grouping.
Finally, the artwork element has two optional attributes: name and type. The former is used to suggest a filename to use when storing the content of the artwork element, whilst the latter contains a suggestive data-typing for the content.
| TOC |
The texttable element groups an optional preamble element, one or more ttcol elements, zero or more c elements, and an optional postamble element together. The texttable element also has an optional anchor attribute that is used for cross-referencing with the xref element (The xref Element). There is also an optional title attribute that identifies the title of the table.
The preamble and postamble elements have already been described in Section <IP_ADDRESS> (The figure Element).
The ttcol element, of which at least one must be present, defines a column header for the table, along with the desired width and alignment for the column:
The c element, is present for each cell in the table, and contains text along with the usual cross-reference and indexing elements.

So, putting it all together, we have, e.g.,
| ttcol #1 | ttcol #2 |
|---|---|
| c #1 | c #2 |
| c #3 | c #4 |
| c #5 | c #6 |
which is a very simple example.
As with the figure element, the texttable element represents a logical grouping of text, hence an XML application producing a text version of the document should attempt to keep these elements on the same page.
| TOC |
The xref element is used to cross-reference sections, figures, tables, and references. The mandatory target attribute is used to link back to the anchor attribute of the section, figure, and reference elements. The value of the anchor and target attributes should be formatted according to the token syntax in Section 2.1 (XML basics).
If used as an empty element, e.g.,
according to the token syntax in <xref target='xml_basics' />.
then the XML application inserts an appropriate phrase during processing.
What's "appropriate" depends on the value of the optional format attribute. There are four possible values:
- counter:
- the "counting designation" is rendered (e.g., "2.1" or "A.2");
- title:
- the title attribute of the corresponding element is rendered (e.g., "XML Basics");
- none:
- no additional designation is rendered; or,
- default:
- a suitable designation is rendered, e.g., "Section 2.1" or "XML Basics" (the default).
If used with content, e.g.,
conforming to <xref target='RFC2223'>RFC 2223</xref>.
then the XML application inserts an appropriate designation during processing, such as "RFC 2223[2]" or "RFC 2223". Although the XML application decides what "an appropriate designation" might be, its choice is consistent throughout the processing of the document.
| TOC |
The eref element is used to reference external documents. The mandatory target attribute is a URI (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifiers (URI): Generic Syntax,” August 1998.) [6], e.g.,
<eref target='http://www.ibiblio.org/xml/'>Cafe con Leche</eref>
Note that while the target attribute is always present, the eref element may be empty, e.g.,
<eref target='http://example.com/' />
and the XML application inserts an appropriate designation during processing such as "[9]" or "http://example.com/".
| TOC |
The iref element is used to add information to an index, typically rendered at the end of the document. The mandatory item attribute is the primary key the information is stored under, whilst the optional subitem attribute is the secondary key, e.g.,
<iref item='indexing' subitem='how to' />
The optional primary attribute can be used to indicate that this particular indexing entry should be considered "primary".
Finally, note that the iref element is always empty — it never contains any text.
| TOC |
The cref element is used to add commentary information to a draft being written, typically rendered at the end of the document. The element's character data contains the comment, and the optional source attribute can be used for attribute.
One or more processing directives are used to indicate whether the commentary information should be rendered, and if so, whether it should be rendered inline or in a separate section at the end of the document.
| TOC |
The spanx element, which may occur only inside the t element, is used by the author to provide formatting guidance to the XML application. There is an attribute, style, that indicates how the text inside the element should be rendered. (Note that leading and trailing whitespace is significant.)
At this time, the list of possible values for the style isn't enumerated, but implementations should, at a minimum, support:
- emph:
- indicates emphasis;
- strong:
- indicates stronger emphasis; and,
- verb:
- indicates sample input for programs.
| TOC |
The vspace element, which may occur only inside the t element, is used by the author to provide formatting guidance to the XML application. There is an attribute, blankLines, that indicates the number of blank lines that should be inserted. A physical linebreak is specified by using the default value, "0".
In addition, the vspace element can be used to force a new physical paragraph within a list item, e.g.,
<list style='numbers'> <t>This is list item. <vspace blankLines='1' /> This is part of the same list item, although when displayed, it appears as a separate physical paragraph.</t> </list>
An XML application producing a text version of the document should exercise care when encountering a value for blankLines that causes a pagebreak — in particular, if a vspace element causes a pagebreak, then no further blank lines should be inserted. This allows authors to "force" a pagebreak by using an arbitrarily large value, e.g., blankLines='100'.
Finally, note that the vspace element is always empty — it never contains any text.
| TOC |
The appendix element is identical to the the section element (The section Element). It has the same attributes (the mandatory title and the optional anchor).
As with the section element, it is tail-recursive — each appendix element contains any number and combination of t, figure, texttable, iref, and appendix elements.
| TOC |
Finally, the back element is used for references:
... </middle> <back> <references> <reference ...> <reference ...> </references>

 </back> </rfc>
The back element consists of zero or more references elements, and, one or more optional section elements. The back element itself is optional, if your document doesn't have any references or appendices, you don't have to include it.
| TOC |
The references element contains the document's bibliography. The optional title attribute defaults to "References", if not present. This element contains one or more reference elements.
Each reference element contains a front element, one or more optional seriesInfo elements, one or more optional format elements, and one or more optional annotation elements.
We've already discussed the front element back in Section 2.2 (Front matter).
The seriesInfo element has two attributes, name and value that identify the document series and series entry, respectively.
The reference element has an optional anchor attribute that is used for cross-referencing with the xref element (The xref Element), e.g.,
<reference anchor='RFC2200'> <front> <title>Internet Official Protocol Standards</title> <author initials='J.' surname='Postel' fullname='Jon Postel'> <organization abbrev='ISI'> USC/Information Sciences Institute </organization> </author> <date month='June' year='1997' /> </front> <seriesInfo name='RFC' value='2200' /> <seriesInfo name='STD' value='1' /> <format type='TXT' octets='94506' target='ftp://ftp.isi.edu/in-notes/rfc2200.txt' /> </reference>
The format element has a mandatory type attribute (typically having the value TXT), and two optional elements
The reference element also has an optional target attribute that is used for external references (c.f., Section <IP_ADDRESS> (The eref Element)). The XML application, if producing an HTML version of the document will use the target attribute accordingly; however, if the name attribute of the seriesInfo element has the value "RFC", then the XML application should automatically provide an appropriate default for the target attribute (e.g., http://example.com/in-notes/rfc2200.txt).
Finally, the annotation element may be used to annotate a citation. Zero or more annotations may be present, and each contains text along with the usual cross-reference and indexing elements.
| TOC |
To include appendices after the bibliography, simply add more section elements.
| TOC |
The copyright status for the document is not included in the document's markup — this is automatically inserted by an XML application that produces either a text or HTML version of the document.
| TOC |
This section concerns itself with applications that operate on an XML source file. A lot of XML tools are available, as are many lists of XML resources, e.g., Cafe con Leche.
There are two kinds of XML tools: validating and non-validating. Both check that the source file conforms to the rules given in Section 2.1 (XML basics). However, in addition to making sure that the source file is well-formed, a validating tool also reads the DTD referenced by the source file to make sure that they match. There are a number of both validating and non-validating tools available.
| TOC |
There are several XML editors available. Ideally, you want an editor that validates. This has two advantages:
There are three major modes in Emacs that support XML: nxml, tdtd, and psgml. The author uses nxml mode, which has a built in XML validator. The psgml mode allows you to validate the source file (by calling an external program). If you visit the source file in Emacs and the major mode isn't "SGML" or "XML", then usually all it takes is adding these lines to your ".emacs" file:
(setq auto-mode-alist (cons (cons "\\.xml$" 'sgml-mode) auto-mode-alist))
and then restarting Emacs. If this doesn't work, try one of the sources above.
The author uses both sgml-mode in Emacs, and a commercial validating editor, XML Spy, when editing source files.
| TOC |
If your editor doesn't validate, then you should run a program to validate the source file.
The author uses the AlphaWorks XML parser for this purpose. It requires that your system have a Java virtual machine. In addition to Java, there are validating parsers written in C, Perl, Python, and Tcl.
| TOC |
The author has written the xml2rfc tool, which reads the source file and produces both text, HTML, and nroff versions of the document. (This memo was produced using the xml2rfc tool.) The xml2rfc tool doesn't validate; however, a web-based service is also available at the same location, which runs a validator prior to invoking the tool.
| TOC |
Extensible Style Language (Clark, J., “XSL Transformations (XSLT) Version 1.0,” November 1999.) [7] (XSLT) is used to describe transformations from the source file into some other structured file. So, you can use an XSLT-capable formatter to convert an XML source file to HTML.
Julian Reschke has written an XSLT file for the format described in this memo. It requires one of the MSXML, Saxon, or Xalan extensions to XSLT. For example, by including the line:
<?xml-stylesheet type='text/xsl' href='http://xml.resource.org/authoring/rfc2629.xslt' ?>
after the XML declaration in your source file, IE6 will render the file as HTML.
| TOC |
As with text editors, any text-oriented search tool (e.g., grep) can be used on the source file. However, there are search tools available that understand structured source.
The author uses sgrep version 1.9 for this purpose, e.g.
sgrep -g xml 'ELEMENTS("title") not in ELEMENTS("back")' \ writing-rfcs.xml
which extracts the title element from the source file.
| TOC |
The <rfc> tag at the beginning of the file, with only an ipr attribute (Conformance with RFC 3978), produces an Internet-Draft. However, when other attributes are added to this tag by the RFC editor, an RFC is produced, e.g.,
<rfc number='2200' obsoletes='2000, 1920, 1880, 1800, ...' category='std' seriesNo='1'>
At a minimum, the number attribute should be present.
The other attributes are:
Finally, a special entity, &rfc.number;, is available. Authors preparing an RFC should use this entity whenever they want to reference the number of the RFC within the document itself. In printed versions of the document, the appropriate substitution (or XXXX) will occur.
| TOC |
    <!ENTITY % rfc2629-xhtml PUBLIC "-//IETF//ENTITIES XHTML subset for RFC 2629//EN" "rfc2629-xhtml.ent"> %rfc2629-xhtml; <!ENTITY % rfc2629-other PUBLIC "-//IETF//ENTITIES Other for RFC 2629//EN" "rfc2629-other.ent"> %rfc2629-other;  <!ENTITY % NUMBER "CDATA"> <!ENTITY % NUMBERS "CDATA"> <!ENTITY % DAY "CDATA"> <!ENTITY % MONTH "CDATA"> <!ENTITY % YEAR "CDATA"> <!ENTITY % URI "CDATA"> <!ENTITY % ATEXT "CDATA"> <!ENTITY % CTEXT "#PCDATA"> <!ENTITY % TEXT "#PCDATA"> <!ENTITY rfc.number "XXXX">   <!ELEMENT rfc (front,middle,back?)> <!ATTLIST rfc number %NUMBER; #IMPLIED obsoletes %NUMBERS; "" updates %NUMBERS; "" category (std|bcp|info|exp|historic) #IMPLIED seriesNo %NUMBER; #IMPLIED ipr (full2026|noDerivativeWorks2026|none |full3667|noModification3667|noDerivatives3667 |full3978|noModification3978|noDerivatives3978) #IMPLIED iprExtract IDREF #IMPLIED submissionType (IETF|independent) "IETF" docName %ATEXT; #IMPLIED xml:lang %ATEXT; "en">  <!ELEMENT front (title,author+,date,area*,workgroup*,keyword*, abstract?,note*)>  <!ELEMENT title (%CTEXT;)> <!ATTLIST title abbrev %ATEXT; #IMPLIED> <!ELEMENT author (organization,address?)> <!ATTLIST author initials %ATEXT; #IMPLIED surname %ATEXT; #IMPLIED fullname %ATEXT; #IMPLIED role (editor) #IMPLIED> <!ELEMENT organization (%CTEXT;)> <!ATTLIST organization abbrev %ATEXT; #IMPLIED> <!ELEMENT address (postal?,phone?,facsimile?,email?,uri?)>  <!ELEMENT postal (street+,(city|region|code|country)*)> <!ELEMENT street (%CTEXT;)> <!ELEMENT city (%CTEXT;)> <!ELEMENT region (%CTEXT;)> <!ELEMENT code (%CTEXT;)> <!ELEMENT country (%CTEXT;)> <!ELEMENT phone (%CTEXT;)> <!ELEMENT facsimile (%CTEXT;)> <!ELEMENT email (%CTEXT;)> <!ELEMENT uri (%CTEXT;)> <!ELEMENT date EMPTY> <!ATTLIST date day %DAY; #IMPLIED month %MONTH; #IMPLIED year %YEAR; #IMPLIED>  <!ELEMENT area (%CTEXT;)> <!ELEMENT workgroup (%CTEXT;)> <!ELEMENT keyword (%CTEXT;)> <!ELEMENT abstract (t)+> <!ELEMENT note (t)+> <!ATTLIST note title %ATEXT; #REQUIRED>   <!ELEMENT middle (section+)> <!ELEMENT section ((t|figure|texttable|iref)*,section*)> <!ATTLIST section anchor ID #IMPLIED title %ATEXT; #REQUIRED toc (include|exclude|default) "default">   <!ELEMENT t (%TEXT;|list|figure|xref|eref|iref|cref|spanx|vspace)*> <!ATTLIST t anchor ID #IMPLIED hangText %ATEXT; #IMPLIED>  <!ELEMENT list (t+)> <!ATTLIST list style %ATEXT; #IMPLIED hangIndent %NUMBER; #IMPLIED counter %ATEXT; #IMPLIED> <!ELEMENT xref (%CTEXT;)> <!ATTLIST xref target IDREF #REQUIRED pageno (true|false) "false" format (counter|title|none|default) "default"> <!ELEMENT eref (%CTEXT;)> <!ATTLIST eref target %URI; #REQUIRED> <!ELEMENT iref EMPTY> <!ATTLIST iref item %ATEXT; #REQUIRED subitem %ATEXT; "" primary (true|false) "false"> <!ELEMENT cref (%CTEXT;)> <!ATTLIST cref anchor ID #IMPLIED source %ATEXT; #IMPLIED> <!ELEMENT spanx (%CTEXT;)> <!ATTLIST spanx xml:space (default|preserve) "preserve" style %ATEXT; "emph"> <!ELEMENT vspace EMPTY> <!ATTLIST vspace blankLines %NUMBER; "0"> <!ELEMENT figure (iref*,preamble?,artwork,postamble?)> <!ATTLIST figure anchor ID #IMPLIED title %ATEXT; "" suppress-title (true|false) "false" src %URI; #IMPLIED align (left|center|right) "left" alt %ATEXT; "" width %ATEXT; "" height %ATEXT; ""> <!ELEMENT preamble (%TEXT;|xref|eref|iref|cref|spanx)*> <!ELEMENT artwork (%TEXT;)*> <!ATTLIST artwork xml:space (default|preserve) "preserve" name %ATEXT; "" type %ATEXT; "" src %URI; #IMPLIED align (left|center|right) "left" alt %ATEXT; "" width %ATEXT; "" height %ATEXT; ""> <!ELEMENT postamble (%TEXT;|xref|eref|iref|cref|spanx)*> <!ELEMENT texttable (preamble?,ttcol+,c*,postamble?)> <!ATTLIST texttable anchor ID #IMPLIED title %ATEXT; "" suppress-title (true|false) "false" align (left|center|right) "center" style (all|none|headers|full) "full"> <!ELEMENT ttcol (%CTEXT;)> <!ATTLIST ttcol width %ATEXT; #IMPLIED align (left|center|right) "left"> <!ELEMENT c (%TEXT;|xref|eref|iref|cref|spanx)*>   <!ELEMENT back (references*,section*)> <!ELEMENT references (reference+)> <!ATTLIST references title %ATEXT; "References"> <!ELEMENT reference (front,seriesInfo*,format*,annotation*)> <!ATTLIST reference anchor ID #IMPLIED target %URI; #IMPLIED> <!ELEMENT seriesInfo EMPTY> <!ATTLIST seriesInfo name %ATEXT; #REQUIRED value %ATEXT; #REQUIRED> <!ELEMENT format EMPTY> <!ATTLIST format target %URI; #IMPLIED type %ATEXT; #REQUIRED octets %NUMBER; #IMPLIED> <!ELEMENT annotation (%TEXT;|xref|eref|iref|cref|spanx)*>
| TOC |
The following changes were made from the format originally defined in RFC 2629 (Rose, M., “Writing I-Ds and RFCs using XML,” June 1999.) [8]:
- rfc ipr:
- full3978, noModification3978, and noDerivatives3978
- list style:
- letters
- list style:
- formatted (starts with format)
- date:
- month, year
- rfc:
- xml:lang, iprextract
- author:
- role
- section:
- toc
- list:
- hangIndent (when hanging or formatted)
- list:
- counter (when formatted)
- figure:
- suppress-title
- artwork:
- name, type
- references:
- title
- xref:
- format
- iref:
- primary
- section:
- is now tail-recursive
- references:
- may occur more than once in the back element (e.g., for normative and non-normative references)
- format:
- may occur zero or more times in the reference element
- figure:
- should not appear within a t element
- iref:
- may appear directly within section and figure elements
| TOC |
If an Internet-Draft is being produced in conformance with RFC 2026 or RFC 3667, then the ipr attribute should be present in the <rfc> tag at the beginning of the file, and the value of the attribute should be one of:
- full2026:
- indicating that the document is in full conformance with all the provisions of Section 10 of RFC 2026;
- noDerivativeWorks2026:
- indicating that the document is in full conformance with all the provisions of Section 10 of RFC 2026 except that the right to produce derivative works is not granted
- none:
- indicating that the document is NOT offered in accordance with Section 10 of RFC 2026, and the author does not provide the IETF with any rights other than to publish as an Internet-Draft;
- full3667:
- indicating that the document conforms with Section 5.1 of RFC 3667;
- noModification3667:
- indicating that the document conforms with Sections 5.1 and 5.2(a) of RFC 3667; or,
- noDerivatives3667:
- indicating that the document conforms with Sections 5.1 and 5.2(b) of RFC 3667.
In the none case, a copyright notice will not be automatically inserted during processing by an XML application.
Consult [4] (Bradner, S., “The Internet Standards Process -- Revision 3,” October 1996.) and [5] (Bradner, S., “IETF Rights in Contributions,” February 2004.) for further details.
| TOC |
The author gratefully acknowledges the contributions of: Alan Barrett, Steven M. Bellovin, Scott Brim, Brad Burdick, Brian Carpenter, Steve Deering, Patrik Faltstrom, Jim Gettys, Charles Levert, Henrik Levkowetz, Carl Malamud, Chris Newman, Julian Reschke, Kurt Starsinic, and, Frank Strauss.
| TOC |
According to [2] (Postel, J. and J. Reynolds, “Instructions to RFC Authors,” October 1997.), your document should contain a section near the end that discusses the security considerations of the protocol or procedures that are the main topic of your document, e.g.,
<middle> ...
 <t>According to <xref target='RFC2223' />, your document should contain a section near the end that discusses the security considerations of the protocol or procedures that are the main topic of your document.</t>
 </middle>
The name attribute of the artwork element allows an author to suggest a filename to use when storing the element's content. Any software processing this attribute must ensure that if it uses this filename that its contents will not be stored or interpreted, without the user explicitly initiating that action. Accordingly, implementors must be aware to the potential hazards on their target systems.
| TOC |
| [1] | Paoli, J., Maler, E., Bray, T., and C. Sperberg-McQueen, “Extensible Markup Language (XML) 1.0 (Second Edition),” World Wide Web Consortium FirstEdition REC-xml-20001006, October 2000 (HTML). |
| [2] | Postel, J. and J. Reynolds, “Instructions to RFC Authors,” RFC 2223, October 1997 (TXT, HTML, XML). |
| [3] | Bradner, S., “IETF Rights in Contributions,” BCP 78, RFC 3978, March 2005 (TXT). |
| [4] | Bradner, S., “The Internet Standards Process -- Revision 3,” BCP 9, RFC 2026, October 1996 (TXT). |
| [5] | Bradner, S., “IETF Rights in Contributions,” RFC 3667, February 2004 (TXT). |
| [6] | Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifiers (URI): Generic Syntax,” RFC 2396, August 1998 (TXT, HTML, XML). |
| [7] | Clark, J., “XSL Transformations (XSLT) Version 1.0,” World Wide Web Consortium Recommendation REC-xslt-19991116, November 1999 (HTML). |
| [8] | Rose, M., “Writing I-Ds and RFCs using XML,” RFC 2629, June 1999 (TXT, HTML, XML). |
| TOC |
| I | |
| indexing | |
| how to |
| TOC |
| Marshall T. Rose | |
| Dover Beach Consulting, Inc. | |
| POB 255268 | |
| Sacramento, CA 95865-5268 | |
| US | |
| Phone: | +1<PHONE_NUMBER> |
| Email: |<EMAIL_ADDRESS>|


X019: Age of Empires 4 is official, and medieval – here’s the first trailer
by Dustin BaileyAfter over a decade of waiting, a new Age is upon us. After months of hints, Microsoft has finally unveiled Age of Empires 4 with a shiny new gameplay trailer, along with some new details about the return of the classic strategy game. While the Age of Empires 4 release date is still some distance away – nothing confirmed here – there’s plenty here to stoke the fires of your wololo.
It looks absolutely fantastic – massive unit counts, beautiful locations, and a wonderful style. It’s set during the medieval era, and the trailer confirmed two factions: the Mongols and the English. It looks like we can expect some notable siege battles as well – or the base-building mechanics have gotten way more advanced than my memories of Age 2 suggest.
The new studio handling Age of Empires now has a name, too: World’s Edge. The Relic Entertainment logo also appears at the end of the trailer.
Check out the new trailer below.
If you just can’t wait for Age 4, check out our Age of Empires II: Definitive Edition review – the classic is still fantastic, and the new edition is available today.


This strong text
goes inline with this
emphasized text.
Because <p> defines block content, this text goes into a separate paragraph.
<div> always starts a new block,
however <span> defines a logical container for inline text.


As the need for complex parallel simulation software grows, better strategies for efficient and effective software development become important. We advocate a toolkit --- or ``tinkertoy'' --- approach to parallel application development. By providing efficient implementations of basic services commonly needed by applications, toolkits allow application developers to benefit from others' research, compare algorithms, and save time for their own development. Unlike large frameworks, toolkits provide these services with light-weight interfaces and little or no restriction on application data structures, making them easy to use in both new and existing applications. In this paper, we describe features of effective toolkit design, using the Zoltan parallel, dynamic data management toolkit as an example.


{% for card in cards %}
{{ card.title }}
{% endfor %}
{% extends "base.html" %} {% load static %} {% block extra_title %}Select a card{% endblock extra_title %} {% block content %}
Warning: this board has no associated deck.
{% elif not cards.exists %}Warning: this board's deck is empty.
{% endif %}


\parbox[position]{width}{text}
A parbox is a box whose contents are created in paragraph mode. The \parbox has two mandatory arguments:
LaTeX will position a parbox so its center lines up with the center of the text line. An optional first argument allows you to line up either the top or bottom line in the parbox, by using as optional position argument t or b, respectively.
 In particular, you shouldn't use any of the paragraph-making environments inside a \parbox argument. For larger pieces of text, including ones containing a paragraph-making environment, you should use a minipage environment.
The \parbox command is fragile.
See Spaces and Boxes
Back to the Table of Contents


Wakefield Tory candidate Antony Calvert quits over Facebook comments
A Conservative election candidate has stepped down over historic social media posts about a Labour MP and Colonel Gaddafi.
Antony Calvert, who was standing to be MP for Wakefield, also made comments about food poverty, as reported by the Sunday Times.
The 41-year-old said the Facebook posts were more than 10 years old.
Mr Calvert said his comments were "certainly not intended to cause any offence".
In one post, Mr Calvert is said to have written that if former Libyan dictator Gaddaffi wanted to walk the streets unrecognised "he should surely have fled to Bradford".
He is also accused of criticising the appearance of Mary Creagh - who has been Wakefield's MP since 2005.
In a statement, Mr Calvert said: "Over the last 24 hours a number of very historic posts from my personal Facebook timeline have featured in the news media.
"While I would prefer to stand and fight the assertions, these comments represent neither my views nor those of the Conservative Party."
Mr Calvert's decision to stand down came days after Tory candidate Nick Conrad stood down for historic comments in which he said women should "keep their knickers on" in a conversation about rape.
And Labour candidate Gideon Bull resigned in Clacton, Essex, after it emerged he had used the word "Shylock" during a private meeting.


Welcome! We are the largest website dedicated to the game of Mafia, also known as Werewolf. Join our forum for online play or browse through our wiki to see our many roles and setups, read about strategy and theory, and find plenty of other helpful info about Mafia!


The Random Knowledge Enthusiast
Testing for Mobility
This website is a tool that allows us to test for mobility issues. Mobility issues are accounted for with voice recongnition technologies and physical peripherals.
Testing for Vision
This website is a tool for testing screen reader software. It uses the latest techniques, allowing screen readers to present visual content verbally. We have support for robust HTML5 combined with ARIA to expose all elements to the user.
Testing for Cognitive
Test for proper white spacing, distraction free layouts and language that just makes sense.
Test for appropriate reading ages, and other cognitive issues.
Projects
DAC Accessibility Testing
The Digital Accessibility Centre provides first rate website auditing for many high and low profile clients. With over a decade of experience, DAC is the leader in the accessibility field.
DAT Accessibility Training
Digital Accessibility Training provides first rate training for users at all levels. From customer service, to professional development we will train you to know everything you need about accessibility!
Diverse Employment
The Digital Accessibility Centre and Digital Accessibility Training both draw from diverse employment pools. We employ a range of people with varied abilities for both development and auditing purposes.
Accessibility Statement
The web is growing, more services than ever have moved online. A wide range of devices, and people using them has emmerged. Ensuring your services are accessibile is no longer a nicity but an essential.
- Impairments
- Visual
- Mobility
- Cognitive
Our testing website is a tool that allows you to check if your accessibility software is working correctly. Use this website with any of the popular options.
Need training? Contact Digital Accessibility Training today to discuss our options.


Introducing Formatters and Services
In this chapter, we will add two features to our app. First, we will get the recipe data from a service instead of hardcoding mock data into the app. Second, we will look at another handy tool in Angular’s toolbox: formatters. When you’re finished, you will be able to use built-in formatters as well as create your own custom formatters. You will also be able to read data from a server-side service like a real app.
Running the sample app
The code for this chapter is in the Chapter_05 directory of the angular.dart.tutorial download. View it in Dart Editor by using File > Open Existing Folder... to open the Chapter_05 directory.
Now run the app. In Dart Editor’s Files view, select Chapter_05/web/index.html, right-click, and choose Run in Dartium.
Notice the text box and checkboxes at the top of the app. You can use these inputs to control which recipes are shown in the list. Start typing into the text box and watch the list of visible recipes shrink to match your search criteria. Next, limit your results further by checking a few categories to limit to. Try using both filters together by typing in a search criteria and also limiting based on category. Lastly, clear the filters by pressing the “Clear Filters” button, and watch all the recipes reappear.
Introducing formatters
Formatters let you change how your model data is displayed in the view without changing the model data itself. They do things like allow you to show parts of the model data, or display data in a particular format. You can also use Angular’s custom formatters feature to create your own formatters to do anything you want.
Built-in formatters
Angular has some built-in formatters that provide handy functionality.
These are pretty self explanatory. Currency
formats numbers like money. Date
formats dates.
Uppercase
and Lowercase
do
what you would expect. LimitTo
limits the number
of results for a list model object that will appear in the view.
In our app, we use the
Filter
class. Like the LimitTo
formatter,
Filter
also limits the number of list model
objects that will appear in the view. It chooses which items to display
based on whether they satisfy the filter criteria.
Here is how we use the Filter
object.
First, we create a text input box and bind it through
ng-model
to a property called nameFilterString
.
As the user types into the text input box, it updates the model object’s
nameFilterString
property.
Next, we pipe the ng-repeat
criteria through the formatter,
and tell the Filter formatter (published as filter
)
to use ctrl.nameFilterString
as the
property to filter against.
Lastly, we create a property on our RecipeBookController
to store the nameFilterString
property for the input.
That’s all you need to start filtering your results.
Custom formatters
Built-in formatters are nice, but what if you want to do something more
specific. In our app, we also want to be able to reduce the number of
recipes shown, to those in a particular category. For this, we write a
custom formatter called CategoryFilter
.
A custom formatter in Angular is simply a Dart class that declares a
call
method with at least one argument:
The first argument is the incoming model object to be formatted; in our
case, it will be the recipe list. The remaining (0 or more) optional
arguments (named optArg
above) serve as input from the
view, and they will be applied in some way to the
valueToFormat
to perform the formatting. In our case, as
will be explained below, we need only one optional parameter to let us
weed out recipes from the incoming list that we don’t want to
display.
The call
method should return the formatted value. In our
case, it is a new recipe list that is a subset of the incoming recipe
list.
Here is our call method from CategoryFilter
:
The filterMap
parameter deserves some further explanation.
It’s the data that comes in off of the checkbox inputs. We will talk a
little bit more about how checkboxes work in Angular in the next
section.
Next, annotate the class to publish it as a formatter:
Add the new class to the bootstrapping code:
and then use it from the view:
Our view creates a checkbox input and label for each category. Angular stores each checkbox value as a boolean - true if checked, or false if not checked.
To create the checkboxes, we added a new piece of data to our app - a
list of categories. We use the ng-repeat
directive to
iterate through the list and create a checkbox and label for each
category. Inputs in Angular are bound to a model object with the
ng-model
directive. Here, we bind to a map called
categoryFilterMap
. The map’s keys are the category names,
and the values are true or false depending on whether or not they’re
checked.
Next, we plug the custom formatter in the same way we would plug in a built-in formatter:
Formatter chaining
Our app uses a feature called formatter chaining to apply more than one
formatter to the same view element. Below, we see the
ng-repeat
directive has three formatters separated by pipes.
This is how Angular applies multiple formatters to a single
ng-repeat
.
Introducing the Http service
Our last example had the data hard coded in the app. In reality, you’d
request data from a server. Angular provides a built-in
service called the
Http
Service that handles making HTTP
requests to the server. First let’s look at the two new files we’ve
added to the project: recipes.json and
categories.json. These contain data that’s been
serialized as a JSON string. We will use the Http
service
to make an HTTP request to the web server to fetch this data. Let’s look
at how to do this.
First, we declare a property on the RecipeBookController
class. Ours is called _http
. The Http
service
is part of the core Angular package, so you don’t need to import
anything new. Next, look at the RecipeBookController
’s
constructor. We’ve added a parameter and assigned it to the
_http
property. Angular instantiates the
RecipeBookController
class using
Dependency Injection. In the main method, you set up the injector
with your app’s module where you included the code to construct a
RecipeBookController
. The call to
addModule()
includes the AngularModule
,
which contains injection rules for all of Angular’s core features,
including the Http
service.
Next, let’s look at how to use the
Http service to fetch
data from the server. Look at the changes we made to the
_loadData
method. Here is the new code:
Let’s look more closely at the call to the Http
service:
The Http
get
method returns a
Dart Future. A Future is the promise of a value sometime in the future.
It is at the core of
asynchronous programming in Dart. In its simplest form, the
then()
method takes a single function argument. This
function is invoked when the Future completes with a value (i.e.,
successfully), and is used to process the value returned from the
Future. The catchError()
method also takes a function
argument. This function will be invoked if an error is emitted by the
Future.
The important thing to understand from this example is that Futures are asynchronous. Your app code will proceed while the data is loading from the server side. If you are connecting to a very slow service, it is possible that the app will finish loading before the data has been returned. The view should be prepared for this. In our case, we need two pieces of data before the app is useful:
Until the future has returned, your recipe book contains an empty list of recipes and an empty list of categories. Any part of your view that uses or displays recipes or categories will see an empty list. If you don’t want empty spots displaying on the app, you can surround portions of your view with statements that display a “Loading...” message until the data is ready.
In our app, we keep track of the load state for recipes and
categories, and conditionally display a “Loading...” message or the
whole app view. While we could use ng-if
to implement the
conditional display logic, let’s use an ng-switch
directive instead.
Note that we could replace one of the ng-switch-when
directives above by ng-switch-default
. Also, loosely speaking,
expressions of most types are suitable as arguments to
an ng-switch
, as long as switch case values can be assigned
to ng-switch-when
attributes. For more
details, see the
NgSwitchDirective
API documentation.
You can see the “Loading...” feature work by simulating a really slow
loading data source. Put a breakpoint inside one of the then()
closures in the _loadData
method and
load the app. Notice that while you’re stopped at the breakpoint, your
app shows the “Loading...” message. Now get out of the breakpoint and
notice that your app’s real view pops into place. Also notice that we
changed the loaded state from false to true inside the asynchronous part
of _loadData
(inside the then()
call’s
argument). If we’d put it at the end of the _loadData
method outside of the asynchronous call, it would evaluate regardless of
the state of the Future.
Angular features
ng-cloak
You probably noticed that in previous examples, when you first loaded
your app, you briefly saw curly braces like {{someVar}}
before your app “popped” into place, and the correct values appeared.
The ng-cloak
directive combined with some CSS rules that
you add to your app’s main CSS file allow you to avoid this blink. The
blink happens between the time your HTML loads and Angular is
bootstrapped and has compiled the DOM and has substituted in the real
values for the uncompiled DOM values. While Angular is compiling the
DOM, you can hide the page (or sections of it) by using
ng-cloak
:
or
The CSS rule causes the view to be hidden:
Once Angular is finished compiling the DOM, it secretly removes the
ng-cloak
class or directive from the DOM and allows your
app to be visible.
The directive can be applied to the <body>
element,
but the preferred usage is to apply multiple ngCloak
directives to small portions of the page to permit progressive rendering
of the browser view.
Try it yourself
Now it’s your turn. Here are a few ways in which you can extend the app version described in this chapter.
- Write a simple
String
formatter to replace all the occurrences of “sugar” and “powdered sugar” by “maple syrup”, and apply it to both the ingredients and the recipe directions. Hint: Dart has aString
function namedreplaceAll()
that could be handy in this case. - Write a formatter to convert degrees Fahrenheit (F) into degrees Celsius (C) in the recipe directions. Round the resulting degrees Celsius to the nearest multiple of 5: e.g., 300 degrees F would become 150 C. Hint: Dart regular expressions are likely to be useful.
- Assume that you are cooking for a large party.
Create a formatter that will multiply all the amounts in the recipes.
Hint: You’ll have to change the recipe model to
include a more full featured “Ingredient” field that contains an
amount, and then possibly a unit, and finally, an item name. Next, add
a “multiplier” input that will allow the user to double, triple, or
quadruple the recipe. Lastly, write a custom formatter that multiplies
each amount by the number specified in the multiplier input.
Note: If your code fails with the error “5 $digest()
iterations reached”, then read
this explanation on StackOverflow.
Also note the suggested workaround of piping ingredient values into a
(custom)
toString()
formatter. - Finally, if you have not done so already, adapt your solutions to the first two problems above so that application of each formatter is controlled by a checkbox.


I will absolutely admit, the Java side definitely felt more important and official. That's for sure. The Node.js side, on the other hand, has simply been sitting there, done doing its work. That doesn't feel anywhere near as big, important or expensive. So, in a lot of IT shops, Java wins and JavaScript on Node.js is dismissed as a toy.
  You've waited. Patiently. And, it worked. But, at what total overall cost?


If you've never had a room full of people do near-silent jazz hands in response to your promotion, I highly recommend it.
4/20/2017, 12:14:19 PM
Favs: 16
Retweets: 0
link--- layout: tweet ---
If you've never had a room full of people do near-silent jazz hands in response to your promotion, I highly recommend it.
4/20/2017, 12:14:19 PM
Favs: 16
Retweets: 0
link


Below, you will see a map of California with fire icons.  You can click on each fire icon to see the following details: fire name, county, start date, extinguish date, acreage, and a link to more information
Additionally, on the top right corner of the map, you will see a control box. If you hover your mouse over it, you will notice that the years between 2016 and 2020 will appear with checkboxes. Check the box for each year that you would like displayed on the map.
To help understand how devastating these fires are, we have provided three chart visualizations: fires by county, acreage burned by county and total acres burned per year. Click on them for a more in-depth and interactive analysis.


--- layout: default ---
We are the myth making, magic talking, universe exploring, creature creating, folk lore keeping, Problem Solvers.
Good Question...What is Bartenders Fight Club?.
Covering from Programming, Web Development, music, vast spans of thoughts, ideas, dreams, and stories. Why more than a lot of programming, web development, and coding you ask? Well, I am human, I am multidimensional and I want this blog to show their is more to me.. than just coding. Life goes on with or without coding, PRoblem solving though never ends, nor does life in general so that is rolled in this blog here and there. Possible talks of sci-fi popular culture, yes it might appear. If it casts doubt on life, existence, or the universe? it might appear. Everything else... is fair play too. I over think, I dream, I wonder.
I prefer this sphere, over all others for a writing space. No other is as free, or as open as the github landscape. Anything goes, and freedom of creation feels more real in this landscape than any other. So I prefer to call this my home for my Home.
The Blogs, stories, tales, and thoughts within are makings of the mind. No one was hurt. Some are remakes, some are remixes, some are puns, and any story related material should not be taken seriously. The mind is only as dangerous as you let it be. With that said, if you enjoy what comes about.. follow if you enjoy.


{% extends "layout.html" %} {% block body %} {% raw %} {{device.name}} Brightness:{{device.desired_state.brightness}},Powered:{{device.desired_state.powered}} {% endraw %} {% raw %} {{device.name}} State: {{device.desired_state.powered }} {% endraw %} {% endblock %}
Brightness:{{device.desired_state.brightness}},Powered:{{device.desired_state.powered}}
State: {{device.desired_state.powered }}


The Easiest Way to Schedule and Manage Viewings For Your Property
Find Out MoreSimpleeBook lets you set up viewings with a click of a button.
All you have to do is generate a unique link for your property, and paste it to your listing on RentFaster or Kijiji.
We'll handle the rest!
Generate a unique link for each property.
We know you are busy, so set what works for you.
Be updated when someone books a viewing time.
Get set up and ready to go in just a few minutes!
Interested in trying SimpleeBook? That's great! Send us an email and we will get back to you as soon as possible!


a sample for Google Web Toolkit.
Bootstrap is a toolkit from Twitter designed to kickstart development of webapps and sites.
GWT is a Toolkit for building and optimizing complex browser-based applications.
Download, fork, pull, file issues, and more as the official Bootstrap repo on Github.
count number.
You can signin with Google Account.
You can add model by form.
move task with drag & drop.


Request Caching
Before 2.2.0 you had to include the p/request-cache plugin into your plugin
list, since 2.2.0 this is no longer necessary, it’s always available.
|
As your queries grow, there are more and more optimizations which you can do avoid
unnecessary IO or heavy computations. Here we are going to talk about a request cache
,
which is a fancy name for an atom that is initialized on every query and stays on the
environment so you can share the cache across nodes. Let’s see how we can use that to
speed up our query processing:
(ns pathom-docs.request-cache
(:require [com.wsscode.pathom.core :as p]))
(defn my-expensive-operation [env]
; the cache key can be anything; if we were had an extra
; variable here, like some id, a good cache key would be
; like: [::my-expensive-operation id]
(p/cached env :my-key
; we are going to send an atom with an int so that we can count
; how many times this was called
(let [counter (:counter env)]
; a secondary sign if cache is working, let's make a delay
(Thread/sleep 1000)
; increment and return
(swap! counter inc))))
(def computed
{:cached my-expensive-operation})
; a reader that just flows, until it reaches a leaf
(defn flow-reader [{:keys [query] :as env}]
(if query
(p/join env)
:leaf))
(def parser
(p/parser {::p/plugins [(p/env-plugin {::p/reader [computed
flow-reader]})]}))
(time
(parser {:counter (atom 0)}
[:x :y :cached
{:z [:foo {:bar [:cached]} :cached]}]))
; "Elapsed time: 1006.760165 msecs"
; =>
; {:x :leaf
; :y :leaf
; :cached 1
; :z {:foo :leaf
; :bar {:cached 1}
; :cached 1}}
Remember this cache is established per request, so after a full query gets finished, the atom is discarded. If you want to make a cache which is more durable (and retains information across requests), check the [[Plugins|Plugins]] documentation for more information on how to do that.


Games
Social
Shop
News
···
Morphic
Options
Redeem a Code
Show World of Warcraft
Version
World of Warcraft Classic
Account
USER1234 (US)
Play
Version: <IP_ADDRESS>753 | View the
Patch Notes
.


--- layout: post title: Reverse Engineering the TVpad4 date: 2015-04-03 23:27:28.000000000 -04:00 type: post published: true password: '' status: publish categories: [] tags: [] meta: _edit_last: '1' thm_video_source: '1' _nectar_love: '0' _mk_post_love: '2' _vc_post_settings: a:1:{s:7:"vc_grid";a:0:{}} textfalse: '' _layout: default _padding: 'false' page_preloader: 'false' _introduce_align: left _disable_breadcrumb: 'true' _disable_post_lightbox: 'true' _single_post_type: image _classic_orientation: landscape _single_video_site: youtube _disable_featured_image: 'true' _disable_meta: 'true' _disable_tags: 'true' _disable_related_posts: 'true' _disable_about_author: 'true' _disable_comments: 'true' _enable_slidehsow: 'false' _slideshow_source: layerslider _edge_full_height: 'true' _edge_height: '700' _edge_orderby: menu_order _edge_order: ASC _edge_animation_speed: '600' _edge_pause_time: '15000' _edge_direction_nav: 'true' _icarousel_count: '3' _icarousel_orderby: menu_order _icarousel_order: ASC _icarousel_autoplay: 'true' _icarousel_3d: 'true' _icarousel_perspective: '35' _icarousel_pause_on_hover: 'true' _icarousel_easing: easeOutCubic _icarousel_animation_speed: '500' _icarousel_pause_time: '5000' _icarousel_direction_nav: 'true' _flexslider_height: '400' _flexslider_pagination: circle _flexslider_count: '10' _flexslider_disableCaption: 'true' _flexslider_orderby: menu_order _flexslider_order: ASC _flexslider_slideshow: 'true' _flexslider_pauseOnHover: 'true' _flexslider_easing: easeOutCubic _flexslider_slideshowSpeed: '5000' _flexslider_animationDuration: '600' _banner_minHeight: '200' _banner_padding: '30' _banner_animation: fade _banner_orderby: menu_order _banner_order: ASC _banner_slideshow: 'true' _banner_slideshowSpeed: '5000' _banner_animationDuration: '600' _enable_local_backgrounds: 'false' theme_header_style: '1' theme_header_align: left theme_toolbar_toggle: 'true' _transparent_header: 'false' _trans_header_remove_bg: 'true' _transparent_header_skin: light _sticky_header_offset: header background_selector_orientation: full_width_layout boxed_layout_shadow_size: '0' boxed_layout_shadow_intensity: '0' body_color_rgba: '1' body_source: no-image body_parallax: 'false' page_color_rgba: '1' page_source: no-image page_parallax: 'false' header_color_rgba: '1' header_source: no-image header_parallax: 'false' banner_color_rgba: '1' banner_source: no-image banner_parallax: 'false' footer_color_rgba: '1' footer_source: no-image footer_parallax: 'false' author: Timothy Lock ---
At last, I finally came home from university and I got a chance to look closely at the TVpad. Ever since my parents got it, I was curious on what it ran on (let's face it, a lot of knockoff Chinese media players run android). The website said it was android 4.4 and at that point, I made it my mission to be able to install my own apk files on it.
It wasn't an easy task. The developers made quite the effort to hide the default system UI from the user. At first, I plugged in a mouse and low and behold. Dragging the cursor down from the top of the screen produced the android notification center. From there, I was able to get into the settings screen and see all the goodies. Suprisingly, it seems as if the developers shrunk the top bar into a few pixels height. Clever trick! Unfortunately, I can't install apks from that screen.
So at this point, I was a bit disappointed. A good lead but it got me nowhere. Then I opened up TVpad's internet browser and downloaded ES File Manager apk. Just like that, it installed. Now I was able to look into the system and "unlock" the default apps (dialer, browser, etc). On addition to that, I was able to extract all of their own apps (their TV apps). Going to see if it can run on my other android stick!
UPDATE: Seems like some apps can run and the default TVPad apps throws an error. Maybe they actually check. I'll see if I can bypass that


Address Book
Enter your contacts information to store it in your address book!
Enter a first name:
Enter a last name:
Enter an email:
Add another email
Add Contact
Contacts
First Name
Last Name
Email