service
2024
2022
- PC Chair, Undergraduate Research on Software Engineering Competition (CTIC-ES)
- PC Member, ACM International Systems and Software Product Line Conference (SPLC)
- PC Member, ACM/IEEE International Conference on Automation of Software Test (AST)
- PC Member, Doctoral Symposium of the International Systems and Software Product Line Conference (SPLC)
- PC Member, Workshop on Formal Techniques for Java-like Programs (FTfJP)
- PC Member, Brazilian Symposium on Software Engineering (SBES)
- PC Member, Insightful Ideas and Emerging Results Track of the Brazilian Symposium on Software Engineering (SBES)
- PC Member, Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS)
- PC Member, Brazilian Symposium on Formal Methods (SBMF)
- Reviewer, Information and Software Technology (IST)
- Reviewer, Journal of Systems and Software (JSS)
2021
- Tutorials Chair (with Mónica Pinto), International Systems and Software Product Line Conference (SPLC)
- Guest Editor (with Christoph Seidl, Sarah Nadi, and Philippe Collet), EMSE Special Issue on “Software Product Lines and Variability-rich Systems”
- PC Member, International Systems and Software Product Line Conference (SPLC)
- PC Member, ACM SIGPLAN International Conference on Generative Programming: Concepts & Experiences (GPCE)
- PC Member, International Working Conference on Variability Modelling of Software-Intensive Systems (VaMoS)
- PC Member, ACM/IEEE International Conference on Automation of Software Test (AST)
- PC Member, International Workshop on Variability and Evolution of Software-Intensive Systems (VariVolution)
- PC Member, Tool Demos Track of the IEEE International Conference on Software Testing, Verification and Validation 2021 (ICST)
- PC Member, Brazilian Symposium on Software Engineering (SBES)
- PC Member, Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS)
- PC Member, Brazilian Symposium on Formal Methods (SBMF)
- PC Member, Undergraduate Research on Software Engineering Competition (CTIC-ES)
- Reviewer, Information and Software Technology (IST)
- Reviewer, Science of Computer Programming (SCP)
- Reviewer, Theoretical Computer Science (TCS)
2020
- PC Member, International Systems and Software Product Line Conference (SPLC)
- Best Reviewer Award
- PC Member, International Working Conference on Variability Modelling of Software-Intensive Systems (VaMoS)
- PC Member, International Workshop on Variability and Evolution of Software-Intensive Systems (VariVolution)
- PC Member, Brazilian Symposium on Software Engineering (SBES)
- PC Member, Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS)
- PC Member, Brazilian Symposium on Formal Methods (SBMF)
- PC Member, Undergraduate Research on Software Engineering Competition (CTIC-ES)
- PC Member, Workshop on Theses and Dissertations @CBSoft (WTDSoft)
- AEC Member, ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA)
- Reviewer, Empirical Software Engineering (EMSE)
- Reviewer, Software Testing, Verification & Reliability (STVR)
- Reviewer, Journal of Computer Languages (COLA)
2019
- PC Chair, Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS)
- Tools & Demos Track Chair (with Rick Rabiser), International Systems and Software Product Line Conference (SPLC)
- PC Member, International Systems and Software Product Line Conference (SPLC)
- PC Member, International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS)
- PC Member, Brazilian Symposium on Software Engineering (SBES)
- PC Member, Brazilian Symposium on Formal Methods (SBMF)
- PC Member, Brazilian Symposium on Programming Languages (SBLP)
- PC Member, International Workshop on Variability and Evolution of Software-Intensive Systems (VariVolution)
- PC Member, Latin American Symposium on Software Engineering (SLISW)
- PC Member, Workshop de Teses e Dissertações do CBSoft (WTDSoft)
- Reviewer, Journal of Systems and Software (JSS)
- Reviewer, Information and Software Technology (IST)
- Reviewer, PeerJ Computer Science
2018
- PC Member, International Systems and Software Product Line Conference (SPLC)
- Distinguished Reviewer Award
- PC Member, International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS)
- PC Member, Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS)
- Distinguished PC Member
- PC Member, Brazilian Symposium on Software Engineering (SBES)
- PC Member, Brazilian Symposium on Programming Languages (SBLP)
- PC Member, Latin American Symposium on Software Engineering (SLISW)
- Program Chair, Escola de Informática Teórica e Métodos Formais (ETMF)
- Reviewer, IEEE Transactions on Software Engineering (TSE)
- Reviewer, Journal of Systems and Software (JSS)
- Reviewer, Information and Software Technology (IST)
- Reviewer, Journal of the Brazilian Computer Society (JBCS)
2017
- PC Member, Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS)
- PC Member, Brazilian Symposium on Programming Languages (SBLP)
- PC Member, Euromicro DSD/SEAA’17 SPLSeco research track
- PC Member, Workshop de Teses e Dissertações do CBSoft (WTDSoft)
- Reviewer, IEEE Transactions on Software Engineering (TSE)
- Reviewer, Journal of Systems and Software (JSS)
- Reviewer, Journal of Software Engineering Research and Development (JSERD)
- Local Chair, Escola de Informática Teórica e Métodos Formais (ETMF)
2016
- Program Chair, Seventh International Workshop on Feature-Oriented Software Development (FOSD)
- Publicity Chair, International Systems and Software Product Line Conference (SPLC)
- PC Member, International Workshop on Formal Methods and Analysis in Software Product Line Engineering (FMSPLE)
- PC Member, Brazilian Symposium on Software Engineering (SBES)
- PC Member, Brazilian Symposium on Programming Languages (SBLP)
- PC Member, Brazilian Symposium on Software Components, Architectures, and Reuse (SBCARS)
- AEC Member, European Conference on Object-Oriented Programming (ECOOP)
- SRC Member, Modularity
- Reviewer, IEEE Transactions on Software Engineering (TSE)
- Reviewer, Journal of Systems and Software (JSS)
- Reviewer, Software: Practice and Experience (SPE)
- Additional Reviewer, International Symposium on Formal Methods (FM)
2015
- PC Member, Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS)
- PC Member, Brazilian Symposium on Formal Methods (SBMF)
- PC Member, Latin-American School on Software Engineering (ELA-ES)
- Reviewer, ACM Transactions on Software Engineering and Methodology (TOSEM)
- Reviewer, Journal of Systems and Software (JSS)
- Reviewer, Journal of Software Engineering Research and Development (JSERD)
- Reviewer, Software: Practice and Experience (SPE)
2014
- PC Member, Brazilian Symposium on Software Components, Architectures and Reuse (SBCARS)
- Additional Reviewer, International Conference on Generative Programming: Concepts & Experiences (GPCE)
2013
- PC Member, Latin American Workshop on Aspect-Oriented Software Development (LA-WASP)
- Additional Reviewer, Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE)
- Additional Reviewer, International Conference on Generative Programming: Concepts & Experiences (GPCE)
2012
- PC Member, Latin American Workshop on Aspect-Oriented Software Development (LA-WASP)
- Additional Reviewer, International Software Product Line Conference (SPLC)
- Additional Reviewer, International Conference on Model Driven Engineering Languages & Systems (MODELS)
- Additional Reviewer, International Conference on Software Language Engineering (SLE)
2011
- PC Member, Latin American Workshop on Aspect-Oriented Software Development (LA-WASP)
- Additional Reviewer, International Conference on Automated Software Engineering (ASE)
- Additional Reviewer, International Conference on Model Driven Engineering Languages & Systems (MODELS)
- Additional Reviewer, Brazilian Symposium on Software Engineering (SBES)


We index and update videos on a daily basis and then send them out to the newsletters we call "blasters".
The frequency of e-mails depend on the subject and we have on "master blaster" that gets every video.
Sign up to the ones interesting for you:
Master Blaster
Sent out on a daily basis. Includes all the videos sent out to the various topic-specific blasters.


{% extends 'projectroles/base.html' %} {% block title %}Page Not Found{% endblock %} {% block content %}
The page you were looking for was not found. Please make sure the URL you entered is correct.


YouTubeFootSwitch Button Tester
Compiled on Sep 17 2019 at 23:58:29
Uptime:
00:00:00
SW0
SW1
SW2
SW3


The QPT documentation index is available here.
To install this release of QPT, please install and run it using an alias as follows.
| To install → | launcher -h:sbfmaps.cl.gemini.edu -i:qpt -a:qpt-1.0.5-tabano -v |
| To run → | launcher -a:qpt-1.0.5-tabano |
| To uninstall → | launcher -a:qpt-1.0.5-tabano -u |
Please direct questions and comments to<EMAIL_ADDRESS>and<EMAIL_ADDRESS>and the QC groups (if appropriate).


Genesis 49:22
Joseph is a fruitful bough, even a fruitful bough by a well; whose branches run over the wall:


Helping teachers and students in Minneapolis, St.Paul and throughout the state of Minnesota
Find Out MoreThe Twin Cities Kids In Need Resource Center (TCKINRC) provides students most in need with free school supplies that make it possible for them to fully participate in classroom learning. Operating as a free store for teachers serving eligible area schools, the TCKINRC provides much needed supplies to their students for learning and excelling in the classroom.
Get Started!We are proud to be a program of the Kids In Need Foundation, partnering with 37 other Resource Centers in the national network.
The Caring Tree program partners with community-based and social service agencies across the state to distribute backpacks and essential supplies to those students most in need.


This was a semester long independent research project I completed under the guidance of Jim McCann in which on a quest to learn more about C++, OpenGL, and shader writing I implemented this paper.
My work was presented at Carnegie Mellon's Spring 2019 Meeting of the Minds; this example scene and this poster were created for that symposium. My code can be found here.


const GINKGO_FOCUS_EXIT_CODE = 197
type CodeLocation struct { FileName string LineNumber int FullStackTrace string }
func (codeLocation CodeLocation) String() string
type FlagType uint
const ( FlagTypeNone FlagType = iota FlagTypeFocused FlagTypePending )
type RemoteAfterSuiteData struct { CanRun bool }
type RemoteBeforeSuiteData struct { Data []byte State RemoteBeforeSuiteState }
func (r RemoteBeforeSuiteData) ToJSON() []byte
type RemoteBeforeSuiteState int
const ( RemoteBeforeSuiteStateInvalid RemoteBeforeSuiteState = iota RemoteBeforeSuiteStatePending RemoteBeforeSuiteStatePassed RemoteBeforeSuiteStateFailed RemoteBeforeSuiteStateDisappeared )
type SetupSummary struct { ComponentType SpecComponentType CodeLocation CodeLocation State SpecState RunTime time.Duration Failure SpecFailure CapturedOutput string SuiteID string }
type SpecComponentType uint
const ( SpecComponentTypeInvalid SpecComponentType = iota SpecComponentTypeContainer SpecComponentTypeBeforeSuite SpecComponentTypeAfterSuite SpecComponentTypeBeforeEach SpecComponentTypeJustBeforeEach SpecComponentTypeJustAfterEach SpecComponentTypeAfterEach SpecComponentTypeIt SpecComponentTypeMeasure )
type SpecFailure struct { Message string Location CodeLocation ForwardedPanic string ComponentIndex int ComponentType SpecComponentType ComponentCodeLocation CodeLocation }
type SpecMeasurement struct { Name string Info interface{} Order int Results []float64 Smallest float64 Largest float64 Average float64 StdDeviation float64 SmallestLabel string LargestLabel string AverageLabel string Units string Precision int }
func (s SpecMeasurement) PrecisionFmt() string
type SpecState uint
const ( SpecStateInvalid SpecState = iota SpecStatePending SpecStateSkipped SpecStatePassed SpecStateFailed SpecStatePanicked SpecStateTimedOut )
func (state SpecState) IsFailure() bool
type SpecSummary struct { ComponentTexts []string ComponentCodeLocations []CodeLocation State SpecState RunTime time.Duration Failure SpecFailure IsMeasurement bool NumberOfSamples int Measurements map[string]*SpecMeasurement CapturedOutput string SuiteID string }
func (s SpecSummary) Failed() bool
func (s SpecSummary) HasFailureState() bool
func (s SpecSummary) Panicked() bool
func (s SpecSummary) Passed() bool
func (s SpecSummary) Pending() bool
func (s SpecSummary) Skipped() bool
func (s SpecSummary) TimedOut() bool
SuiteSummary represents the a summary of the test suite and is passed to both Reporter.SpecSuiteWillBegin Reporter.SpecSuiteDidEnd
this is unfortunate as these two methods should receive different objects. When running in parallel each node does not deterministically know how many specs it will end up running.
Unfortunately making such a change would break backward compatibility.
Until Ginkgo 2.0 comes out we will continue to reuse this struct but populate unkown fields with -1.
type SuiteSummary struct { SuiteDescription string SuiteSucceeded bool SuiteID string NumberOfSpecsBeforeParallelization int NumberOfTotalSpecs int NumberOfSpecsThatWillBeRun int NumberOfPendingSpecs int NumberOfSkippedSpecs int NumberOfPassedSpecs int NumberOfFailedSpecs int // Flaked specs are those that failed initially, but then passed on a // subsequent try. NumberOfFlakedSpecs int RunTime time.Duration }


Consider the following code:: public long foo(long x) { if(x == 1 || x == 3) return x; else return x * foo(x-1); } Assuming no possibility of integer overflow, what will be the value of z after execution of the following statement:
long z = foo(foo(3)+foo(4));
(15!)/(2!)
3!+4!
(7!)!
(3!+4!)!
15


Sample book spread – no InDesign required!
Overview
At the Getty, I'm building a platform (working title: Octavo) for publishing digital art books. The goal is to generate multiple book formats (web, PDF, EPUB, print on demand) from a single set of text files. The backbone of the project is the Middleman static site generator.
Middleman handles the web-based version of the book out of the box. In order to create the alternate formats, I knew that I'd need to write an extension.
I had always assumed that writing an extension for Middleman would be fairly complicated, but the process was surprisingly straight-forward and only took a few hours. This extension is a short program that does the following:
- Creates an alternate version of site pages that rely heaviliy on interactive elements, replacing them with content that will translate well into print.
- Organizes all content for the print version of the website into a list, while preserving the desired order of pages
- Feeds that list to the Prince PDF generator to convert a single PDF.
Development Process
Middleman's extension documentation includes discussion of several different
callbacks—places where you can hook into the build process to run custom
code. I wasn't sure what actions needed to go where, so I relied on
good-old trial and error to get a sense of which methods and objects were available
at any given moment in the program's lifecycle. The middleman console
command
was invaluable. Some points worth remembering:
-
Many of the methods accessible in a
config.rb
file can be called via anapp
variable after an extension has been initialized. For example, theproxy
method is available asapp.proxy
. Site-widedata
objects are also available in theafter_configuration
callback and onward.# extensions/your_extension.rb # app is an instance of Middleman::Application # app.data represents the site-wide data-store object. # The contents of all data files under data/catalogue are passed to a private # method in order to generate print-specific pages for this content. def after_configuration pdf_proxy(app.data.catalogue) end # ... # Note the need to call app.proxy here; this is the same as # calling self.proxy inside of config.rb private def pdf_proxy(collection) collection.each do |cat, entry| app.proxy "/print-catalogue/#{cat}.html", options.print_template, :locals => { :entry => entry }, :ignore => true end end
-
The
sitemap
is a very powerful tool. One pattern which I kept re-using was this one:resources.find_all { |p| p.some_filter_criteria }
By passing a code block to the
find_all
method here, you can create a test for virtually anything; the results will be a collection of all elements which passed the test. The otherEnumerable
methods likesort_by
,select
, etc. can also be used here.
Requirements
This extension assumes the Prince PDF generator is
being used (it has the best output of any command-line tool by far). However,
you could swap out the command in the after_build
callback to use any other
program which can take a list of files as input.
Creating a good print stylesheet is also highly recommended.
Usage
First, you must require
the extension in config.rb
. Default place for it to
live is in extensions/
. Then, define a template for the printed versions of
any dynamic pages (this setup assumes that dynamic pages are being used, and
that the data lives in data/catalogue/
). Using a separate template means
that interactive elements can be replaced with things that make sense in a
printed format (plain img
elements instead of dynamic JS-enhanced versions, etc).
The extension will automatically run when the middleman build
command is given,
and a PDF will appear in the /pdf
folder when generation is complete.
Next Steps
This is a basic (but working) implementation of an automatic web-to-PDF conversion. While this works, a lot of custom code for templates and styling was still needed in order to get decent output. My ultimate goal is to simplify the interface and provide some good defaults, and then package the end result as a gem. That way, you could just add it to your Gemfile and add a few lines of configuration and the rest would be handled automatically.
This is something I’m hoping to include as part of our Octavo platform for digital publishing at some point in 2016.
Questions? Suggestions? Let me know on twitter!


Getting started on OSX is easy. Sign up to buy or sell goods, services, and transportation.
Get real-time status updates on your orders
Manage transportation options on the same marketplace
Post tenders, manage bidding, and award work all in one spot
OXS was desgined to make business faster, more predicable, and more afforadable. That's why we The Offshore Exchange marketpace was built to be easy to use and mobile friendly.
Get real-time status updates on your orders
Manage transportation options on the same marketplace
Post tenders, manage bidding, and award work all in one spot


HELLO!
GET TO KNOW ME!
My name is LILIAN NJAMBI
ABOUT ME
Am nineteen years old, I studied the 844 sytem till highschool,i haven't worked as of yet.
I decided i wanted to learn programming because i have always been inlove with how technologies such as phones and computers work. I wanted to understand the work that is put in when developing an app website and a smart phone.
My current interests are houses and how the architecture works
Current hobbies are
The skills i posses are
Here is a link to my my-project.html.
Here is a second link to my second project .


| BCMcElieceCCA2PrivateKey |
|
| BCMcElieceCCA2PublicKey |
|
| BCMcEliecePrivateKey |
|
| BCMcEliecePublicKey |
|
| McElieceCCA2KeyFactorySpi |
This class is used to translate between McEliece CCA2 keys and key
specifications.
|
| McElieceCCA2KeysToParams |
utility class for converting jce/jca McElieceCCA2 objects
objects into their org.bouncycastle.crypto counterparts.
|
| McElieceCCA2Primitives |
Core operations for the CCA-secure variants of McEliece.
|
| McElieceFujisakiCipherSpi |
|
| McElieceFujisakiCipherSpi.McElieceFujisaki |
|
| McElieceFujisakiCipherSpi.McElieceFujisaki224 |
|
| McElieceFujisakiCipherSpi.McElieceFujisaki256 |
|
| McElieceFujisakiCipherSpi.McElieceFujisaki384 |
|
| McElieceFujisakiCipherSpi.McElieceFujisaki512 |
|
| McElieceKeyFactorySpi |
This class is used to translate between McEliece keys and key specifications.
|
| McElieceKeyPairGeneratorSpi |
|
| McElieceKeyPairGeneratorSpi.McEliece |
|
| McElieceKeyPairGeneratorSpi.McElieceCCA2 |
|
| McElieceKeysToParams |
utility class for converting jce/jca McEliece objects
objects into their org.bouncycastle.crypto counterparts.
|
| McElieceKobaraImaiCipherSpi |
|
| McElieceKobaraImaiCipherSpi.McElieceKobaraImai |
|
| McElieceKobaraImaiCipherSpi.McElieceKobaraImai224 |
|
| McElieceKobaraImaiCipherSpi.McElieceKobaraImai256 |
|
| McElieceKobaraImaiCipherSpi.McElieceKobaraImai384 |
|
| McElieceKobaraImaiCipherSpi.McElieceKobaraImai512 |
|
| McEliecePKCSCipherSpi |
|
| McEliecePKCSCipherSpi.McEliecePKCS |
|
| McEliecePKCSCipherSpi.McEliecePKCS224 |
|
| McEliecePKCSCipherSpi.McEliecePKCS256 |
|
| McEliecePKCSCipherSpi.McEliecePKCS384 |
|
| McEliecePKCSCipherSpi.McEliecePKCS512 |
|
| McEliecePointchevalCipherSpi |
|
| McEliecePointchevalCipherSpi.McEliecePointcheval |
|
| McEliecePointchevalCipherSpi.McEliecePointcheval224 |
|
| McEliecePointchevalCipherSpi.McEliecePointcheval256 |
|
| McEliecePointchevalCipherSpi.McEliecePointcheval384 |
|
| McEliecePointchevalCipherSpi.McEliecePointcheval512 |
|


Music
- The Nervy Betters 2012 –
- I Know I Have No Collar 2007 –
- Boxcar Aldous Huxley 2008 – 2014
- Rozi Plain 2011 – 2015
- Headfall
- Lots more
- Lots more
- Lots more
- Lots more
- Lots more
- Lots more
- Lots more
- Lots more
- Lots more
- Lots more
- Lots more
- Lots more
- Lots more


Logged in as "{ADMIN}" -
Username:
Password:
Mail accounts
Aliases
Mail accounts for
{DOMAIN}
Actions
Username
Password
Active
BCC copies to (comma separated, if multiple)
{MLIST}


Arron Banks' private messages leaked by hacker
The Twitter account of Arron Banks, the founder of the pro-Brexit campaign Leave.EU, has been hacked.
The perpetrator has leaked thousands of his private messages to and from dozens of other people spanning several years.
In a statement, Mr Banks accused Twitter of taking too long to tackle the issue and said the social network had "deliberately chosen" to leave his personal information online.
Twitter said it had "taken steps to secure the compromised account".
"We will continue to take firm enforcement action in line with our policy which strictly prohibits the distribution on our service of materials obtained through hacking," Twitter said in a statement.
It is not known who carried out the attack.
The data was made available by the hackers in the form of a link to a download. The original file is no longer online.
One expert said the hacker, if caught, could be prosecuted under the Computer Misuse Act, and that others who made use of the material would be walking into a legal minefield.
"Even if Arron Banks was using Twitter in a private capacity rather than as Leave.EU, the data was misappropriated from Twitter and that likely engages the Data Protection Act," commented Tim Turner, a data protection consultant.
"There are public interest defences for using unlawfully obtained data, but that requires a journalist or other person to gamble that they can successfully argue that the public interest supports whatever use they make of it.
"You cannot know for certain that the public interest will back up any particular course of action; a person would have to act first, and see what follows."
Avon and Somerset Police has confirmed that it is investigating the matter.
"We're investigating whether any offences have been committed under the Computer Misuse Act after we received a report a Twitter account was compromised," said a spokesman.
In February 2019, Leave.EU and an insurance company owned by Mr Banks were fined £120,000 by the Information Commissioner's Office for breaching data protection laws.
"Arron Banks has shown extraordinary contempt for the ICO and British data laws and so this is a moment for him to reflect on the need for those laws and a regulator to enforce them," said the journalist Carole Cadwalladr.
Ms Cadwalladr and Mr Banks have had many battles over her investigations into his affairs.
She said in a tweet that she had been sent some direct messages, said to be from the hacked account.
They were "pretty explosive" she tweeted.
Ms Cadwalladr told the BBC she had not downloaded any data.
Mr Banks' Twitter account was suspended following the breach but is now working again.


--- type: buttons title: Button confirm usage: Show a confirm message when the user need feedback stylesheet: '/scss/elements/btn.scss' ---


In conclusion, the VT-Shaped initiative is a recruiting tool and a guide to the future of the university. I didn't need to be recruited to this university, I already knew it was where I wanted to study and I would be happy here. Sure, it is important, but I don't hold a lot of stock in the future of the university either.
My individuality and strengths are not defined by Virginia Tech, nor do I want them to be. I love what I've done myself as a student, employee and life-learner. The university can keep doing its thing with office-built initiatives and definitions, but I'm good being separate from that.
Dear reader, I don't have any long-term future plans right now, but I will say this. Be yourself and build yourself based on what you want to do and be. If there is an initative that helps you do this, take part in it, or live by it. If you don't need it, then you don't need it, and that is a-okay.


MTSServer
public protocol MTSServer : ICanCreateTLSParams
Conforming types can act as an MTS server that an MTS client can attempt to connect with using MTS transactions.
-
This property stores a reference to an MTSDataModel with appropriate cached values needed to interact with MTS transport layer.
Declaration
Swift
var mtsModel: MTSDataModel { get set }
-
This property is equal to the port id that network connections will use.
Declaration
Swift
var port: UInt16 { get }
-
This property is a boolean value that is true when TLS certificate is required for connection.
Declaration
Swift
var clientCertRequired: Bool { get set }
-
This is the network listener that will listen for connections.
Declaration
Swift
var listener: NWListener? { get set }
-
This method starts the server listening on its port.
Declaration
Swift
func start() -> MTSServer
Return Value
A discardableResult of self as MTSServer.
-
This method disconnects specified client from server and performs any clean up required.
Declaration
Swift
func mtsDisconnect(_ client: MTSClient)
Parameters
client
The specific MTSClient to be disconnected.
-
withTLS(certificate:clientCertificateRequired:)
Extension methodThis method uses passed arguments to configure connection for TLS using a certificate.
Declaration
Swift
@discardableResult mutating public func withTLS(certificate: Data?, clientCertificateRequired: Bool) -> MTSServer
Parameters
certificate
The license to use for TLS config.
clientCertificateRequired
When set to true, this server instance will require TLS certificate.
Return Value
A discardableResult of self: MTSServer
-
stop()
Extension methodThis method ends MTS transactions and closes connection.
Declaration
Swift
public func stop()


Cloud images from Wikipedia Commons:
Background image by Mayang Murni Adnin.
Copyright © 2014 Nick Piesco.


{{ site.title }}
Our Chapter
STEM Program
Courses
Teachers
Other Activities
Artificial Intelligence
Costs and Technologies
Benefits and Uses
Safety
About
{{ content }}


The Shiba Inu is the smallest of the six original and distinct spitz breeds of dog from Japan. A small, agile dog that copes very well with mountainous terrain, the Shiba Inu was originally bred for hunting.
antd组件：
I'm animation


| Package | idv.cjcat.stardust.common.xml |
| Class | public class ClassPackage |
| Subclasses | Alternativa3DClassPackage, Away3DClassPackage, Away3DLiteClassPackage, CommonClassPackage, Flare3DClassPackage, ND3DClassPackage, PV3DClassPackage, PyronovaClassPackage, ThreeDClassPackage, TwoDClassPackage, ZBClassPackage |
XMLBuilder
object needs to know the mapping between an XML tag's name and an actual class.
This class encapsulates multiple classes for the XMLBuilder.registerClassesFromClassPackage()
method
to register multiple classes (i.e. build the mapping relations).
| Property | Defined by | ||
|---|---|---|---|
| classes : Array | ClassPackage |
| Method | Defined by | ||
|---|---|---|---|
| ClassPackage | |||
|
getClasses():Array
Returns an array of classes.
| ClassPackage | ||
|
[static]
| ClassPackage |
| Method | Defined by | ||
|---|---|---|---|
|
populateClasses():void
[Abstract Method] Populates classes.
| ClassPackage |
| classes | property |
protected var classes:Array
| ClassPackage | () | constructor |
public function ClassPackage()
| getClasses | () | method |
public final function getClasses():Array
Returns an array of classes.
ReturnsArray |
| getInstance | () | method |
| populateClasses | () | method |
protected function populateClasses():void
[Abstract Method] Populates classes.


{% extends "base-my.html" %} {% block content %}
by {{ book.author }}
Subtitle: {{ book.subtitle }}
Description: {{ book.description }}
Chapters:


{% extends "layout-modal.html" %} {% block beforeContent %} {{ govukBackLink({ text: "Back", href: actions.back }) if actions.back | length }} {% endblock %} {% block content %}
If your new file has a different file name or file type from the original you’ll need to update the attachment markdown in your content.
{% endif -%}


Lifelong Learning: Ensuring the Youth of Today Prosper through Labor Market Reforms
Edward Hainsworth
<EMAIL_ADDRESS>OECD Policy Research and Advisor, Sciences Po MPP Student
Abstract
The future of work and a changing labor market are confronting workers with increased insecurity, isolation and uncertainty. This poses challenges to the youth of today , who were educated under an archaic labor-market paradigm of ‘education-job training-work-retirement’. This policy brief proposes reforms and a new vision of lifelong learning through Lifelong Individual Training Accounts (LITAs), where labor market flexibility is promoted, and workers have the opportunity to prosper. After describing LITAs and highlighting the successes of similar initiatives, this policy brief issues a call to action for reforms that assist young people and workers whilst supporting the 2030 Agenda.
Introduction
The future of work is rapidly evolving, with changes in the global economy fundamentally transforming working life. In the latter half of the 20th Century, workers in economically advanced countries could expect long-term job security, to make a living in a fixed location, and relatively large investments by employers in their training and development. Today the 21st Century worker, and the youth of today who are preparing to enter the labor force, confront a strikingly different environment.
This environment is one of job insecurity, isolation and uncertainty. Work is becoming increasingly uncertain, with a more dynamically efficient economy creating short-term and task-based employment, resulting in forecasts estimating workers will change jobs over nine times during their careers and that one-in-nine employees within OECD countries are on temporary contracts working in the ‘gig economy’. Work is also becoming increasingly isolated – in OECD countries, one-in-seven workers are now self-employed with a continuing trend for modern workers to reside in dispersed locations rather than central office hubs. In addition, work is becoming increasingly insecure due to the erosion of collective bargaining rights and fall in trade union membership. For example, trade union membership in Germany has fallen from 35% in 1985 to 17% in 2016, and despite some trade union membership increases in developing countries, this has not been universal.
The Challenges Facing the Youth of Today
The youth of today will experience increased competition for fewer jobs. This comes from aging populations participating in the labor market for longer as seen in Western Europe and Japan, or from fellow young people due to demographic bulges e.g. Africa . Automation will also increase competition, with up to two thirds of developing world jobs being susceptible to replacement and over 50% of leading companies expecting that automation will lead to a reduction in their workforce by 2022 . Job competition is already high for young people due to youth unemployment residing comparatively high at 13% meaning, “…nearly 67 million young people…are actively searching for work but are unable to find a job” .
The youth of today will also experience reduced employer investment in training, with recent figures showing the percentage of workers receiving employer-sponsored training falling by 42% and those receiving on the job training falling by 36%, in comparison to previous decades. A recent survey of 1,200 CEO’s also shows that whilst 74% planned to use artificial intelligence in the future – only 3% planned to increase investment in employee training.
The youth of today will also have to adapt to the accelerating pace of change. Previously, those with a higher level of education could expect a wage premium, yet “by 2020 the knowledge college students acquire will have an expected shelf life of less than five years”. This trend will cause underemployment – where college graduates take jobs that do not require a degree. The increased speed of change, and shorter time of skill relevance in the labor market, also produces a greater threat to those who are not in employment, education or training (NEET).
Therefore, the education and skills one obtains when they are young can no longer last entire careers. The youth of today, will need to update their existing skills and acquire new ones constantly throughout their career, making the current ‘education-job training-work-retirement’ model obsolete. If nothing changes, the consequences could be disastrous – with the effects of higher youth unemployment, low-quality work or automation displacement leading to individual despair, an economic slowdown and social unrest.
Instead, in order to thrive in the future, new policies and new models are necessary to provide young people with the opportunities for continual upskilling, retraining and education. By doing so, countries can accelerate towards achieving the Sustainable Development Goals (SDGs) – specifically SDGs 4.3, 4.4, 8.3, 8.5 and 8.6.
Lifelong Learning and Lifelong Individual Training Accounts
Increased promotion of lifelong learning, and the creation of Lifelong Individual Training Accounts (LITA’s) for every citizen, including young people entering the labor market, can provide the correct labor-market model to ensure future prosperity.
Lifelong learning encompasses formal and informal learning from early childhood to adulthood and it provides a pathway to inclusion in labor markets. The paradigm also has transformative potential due to it promoting continual improvement, making it the correct skill formation paradigm for the modern economy. Yet current lifelong learning programmes have limited participation, those who need it the most do not participate, and they “…[are] not always perceived as being useful” .
However, greater spending on labor market programmes and the implementation of LITA’s can help. LITA’s would be individual accounts that are available to all workers who are eligible to participate in the labor force, who could use them at any time to pursue further educational and skills development. They would belong solely to the workers (meaning they are transferable across employment positions) and the enrolment course of choice would be at the discretion of the worker – within a pedagogy defined by both national and local labor market needs and government quality assurance mechanisms - to improve employment outcomes and reduce the misappropriation of funds.
Digital technologies can help broaden participation in training due to online platforms reducing barriers to participation such as cost, time and resource constraints. Personal development pathways and digital interfaces can be designed to have individual personalisation, helping LITAs provide workers with a view of the positive consequences of their efforts. This can be especially beneficial if accompanied by skill recognition frameworks, created by the government and the private sector, that provide targeted support for vulnerable groups. Accompanying these accounts, changes in social protection to allow for an entitled number of hours of training for every employee would be enshrined as a legal right, to help workers take time to invest in their future .
LITAs can be financed by higher public spending on labor market programmes, alongside businesses providing employee-training schemes and subsequently benefiting from training levies and tax incentives. The guaranteed monetary amount a worker receives in their account, which is reviewed on an annual basis, would be based upon a regressive relationship on current and past earnings, alongside their social circumstances and regional location.
A Call to Action
The benefits of creating LITA’s include substantially improving flexibility within the labor market. This flexibility allows workers to transition quicker between jobs and to pursue a wider variety of career interests. These accounts also help to improve the educational level of the workforce through the creation of strong incentives and improved opportunities – which generates a high rate of return for the worker, the private sector and the economy. Finally, through being more flexible and more educated, workers are more likely to adapt to changing market conditions, reducing the likelihood of an increased burden on the welfare system.
When implementing LITA’s one can draw on the lessons learned from other countries that have implemented lifelong learning initiatives. Singapore benefited from having a defined list of training providers and providing direct subsidies to individuals, which helped over 285,000 Singaporeans receive training. The success of France’s le compte personnel de formation resulted in over 500,000 hours of training being accrued in 2016 with over 65% of those hours completed by job seekers – its key target audience.
Yet the global leader in promoting lifelong learning is Denmark. Heavily influenced by the inauguration of højskoler (people's high schools) and the pioneering work of Niels Grundtvig (1783-1872) in the 19th Century, Denmark has created a labor market where people can learn and develop the skills they need to thrive. It provides the highest percentage of GDP to labor market programmes within the OECD at 3.2% - Germany and the USA devote only 1.4% and 0.2% respectively - and this has created a highly qualified and flexible workforce that has prospered in the knowledge economy.
The result has been transformational. Between 1995 and 2008, Denmark had an average unemployment rate of 4.9%, compared with 8.5% in the rest of the EU15 and a dramatic fall in its long-term unemployed – whilst providing “income security for workers and economic freedom for employers” . The 2018 Global Competitiveness Report by the World Economic Forum ranks Denmark as the 10th most competitive in the world, largely due to its flexible labor market . This shows what lifelong learning programmes can achieve, and whilst this model cannot be replicated easily, it should act as a call to action to other countries.
Conclusion
Future economic and social success relies upon bold labor market programmes. Such programmes can prepare the youth of today to be agile, able to overcome increased labor competition and the rise of automation, resilient to an increased pace of change, whilst possessing the self-motivation and discipline for continuing education and job training.
The youth of today can do this through the support of the state, via the adoption of the principle of lifelong learning and labor market programmes such as LITAs. Alongside working with the private sector, and their own efforts, this change can help young people thrive in new jobs aligned to the 2030 Agenda.
As New York Times columnist Thomas Friedman states, for workers to achieve prosperity in the future, “you will have to be a lifelong learner.” It is imperative that the future role of public policy, through labor market programmes, is to work with all stakeholders to ensure that such opportunities exist. The creation of Lifelong Individual Training Accounts is a good place to start.
Acknowledgements
This policy brief has been prepared by the author; with credit due to Rauda Amer and Gwamaka Kifukwe, for their analytical support, advice, and guidance.
-
The United Nations defines “Youth” or “young people” as those aged between 15 and 24.
-
LV. “Goodbye to the job for life – we take nine jobs over 50 years” Press Release (2014).
-
OECD. “Society at a Glance 2019: OECD Social Indicators” Annual Report (2019): Page 86.
-
Ibid.
-
IZA World of Labor. “Collective Bargaining in Developing Countries” Policy Brief 183 (2015): Page 06.
-
Gates Foundation. “Goalkeepers: The Stories Behind the Data 2018” Report (2018): Page 09.
-
United Nations Conference on Trade and Development. “Robots and Industrialization in Developing Countries” Policy Brief No.50 (2016): Page 1
-
World Economic Forum. “The Future of Jobs Report 2018” Insights Report (2018): Page 08.
-
United Nations Department for Economic and Social Affairs. “World Youth Report: Youth and the 2030 Agenda for Sustainable Development” Annual Report (2018): Page 38.
-
Council of Economic Advisers. “Economic Report of the President” Annual Report of the Council of Economic Advisers (2015): Page 147.
-
Accenture. “Reworking the Revolution” Report (2019); Page 08.
-
Deloitte. “Reimagining Higher Education: How colleges, universities, businesses, and governments can prepare for a new age of lifelong learning” Report (2019): Page 21.
-
United Nations. “Sustainable Development Goals: Targets & Indicators” Infographic (2015).
-
International Labor Organization. “Work For A Brighter Future: Global Commission on the Future of Work” Report (2019): Page 31.
-
OECD. “Future-Ready Adult Learning Systems” Highlight Report (2019): Page 1.
-
International Labor Organization. “Work For A Brighter Future: Global Commission on the Future of Work” Report (2019): Page 31.
-
Cooper, David. “Balancing Paychecks and Public Assistance: How Higher Wages Would Strengthen What Government Can Do” Economic Policy Institute, Briefing Paper #418, February 3. (2016): Page 23.
-
SkillsFuture Singapore. “SkillsFuture 2017: Year in Review” Press Release (2018).
-
CEDEFOP. “France: two years of personal training accounts – a review” Press Release (2018).
-
OECD. “OECD Data – Public Spending on Labour Markets” OECD Data Index (2017).
-
World Bank. ”Labor Legislation – Denmark” Annual Report (2011): Page 02.
-
World Economic Forum. “The Global Competitiveness Report 2018 – Denmark”. Annual Report (2018): Page 191.
-
Friedman, Thomas. “Owning Your Own Future.” The New York Times, May 10 (2017).


MathML is a W3C recommendation that represents mathematical expressions. This note describes a way to add semantic intent to presentation markup.
Table of ContentsThe presentation of an expression consists of special symbols arranged to convey mathematical meaning. Conventional math notation includes ambiguities that a human reader is taught to resolve in context in ways that may be difficult to infer by computational systems.
The content of an expression consists of operator symbols applied to sequences of arguments, which may themselves be function applications or ground terms such as numerals or variables. The content markup used to encode such expressions is often complex, and often not included with the presentation.
The intent of an element is a functional expression that captures the meaning conveyed by the author. It is meant to bridge the gap between the presentation of an expression, and its underlying content and semantics, to resolve ambiguities that may affect the reading and understanding of the notation.
The intent of an element is a functional expression that captures the meaning conveyed by the author. It should reflect the meaning that would be understood by a human reader. The intent may often be inferred from the presentation, especially when the author supplies information such as the subject area.
The intent attribute encodes the intent of an element in terms of the intent of its sub elements.
intent := {numeral} | {NCName} | {NCName} '(' ')' | {NCName} '(' {intent} [ ',' {intent} ]* ')' | '$' {numeral} | '$' {NCName} | '@' {NCName}
The intent attribute value may contain:
Explicit examples of the intent attribute may express:
$\pi$ as $3$
<mn intent="3">π</mn>
$x$ as $x$
<mi intent="x">x</mi>
$e$ as $exponentiale$
<mi intent="exponentiale">e</mi>
$T$ as $transpose$
<mo intent="transpose">T</mo>
$I$ as $identity()$
<mi intent="identity()">I</mi>
$a+b$ as $plus(a,b)$
<mrow intent="plus(a,b)"> <mi>a</mi> <mo>+</mo> <mi>b</mi> </mrow>
Many presentation elements have predefined default intent values:
| <mn> | @cdata |
| <mi> | @cdata |
| <mo> | @opname |
| <mtext> | @ignore |
| <mspace> | @ignore |
| <ms> | [none] |
| <mrow> | @op | @append |
| <mfrac> | @divide |
| <msqrt> | @sqrt |
| <mroot> | @root |
| <mstyle> | @mrow |
| <merror> | @mrow |
| <mpadded> | @mrow |
| <mphantom> | @ignore |
| <msub> | [none] |
| <msup> | @power |
| <msubsup> | [none] |
| <munder> | [none] |
| <mover> | [none] |
| <munderover> | [none] |
| <mmultiscripts> | [none] |
| <mtable> | [none] |
| <mtr> | @append |
| <mtd> | @mrow |
| <maction> | [none] |
There are a few special cases with specific behavior:
The default intent of an atomic element mn or mi is taken from the character data of the element. The atomic element mo may be given a predefined default intent based on the character data of the operator. Several presentation elements are given a predefined intent @ignore which treats the element has having no intent.
An mrow element that contains a unique visible descendant mo element on its implied argument list is given a predefined default intent @op which applies the unique operator to the implied argument list. Any other mrow element is given a predefined default intent @append which concatenates the intent of its child elements. Several presentation elements are defined as having an implied mrow around its child elements. These elements use the intent of the implied mrow element.
See below for examples of other rules for inferring default intent for presentation elements. These rules may be influenced by subject area information provided by the author.
These rules provide default intent values for tools that process the intent values. They are not intended to provide default values for the XML attributes as part of the document markup.
Examples of default intent values:
$3$ as $3$
<mn>3</mn>
$x$ as $x$
<mi>x</mi>
$+$ as $plus$
<mo>+</mo>
$T$ as $transpose$
<mo intent="transpose">T</mo>
$a+b$ as $plus(a,b)$
<mrow> <mi>a</mi> <mo>+</mo> <mi>b</mi> </mrow>
$a\over b$ as $divide(a,b)$
<mfrac> <mi>a</mi> <mi>b</mi> </mfrac>
$\sqrt{x}$ as $sqrt(x)$
<msqrt> <mi>x</mi> </msqrt>
$\sqrt[3]{x}$ as $root(x,3)$
<mroot> <mi>x</mi> <mn>3</mn> </mroot>
$x^2$ as $power(x,2)$
<msup> <mi>x</mi> <mn>2</mn> </msup>
The arg attribute provides a numeric index or a symbolic name for a sub element that may be used within an enclosing intent attribute to refer to the intent of the sub element. The form of an argument reference is the "$" sign, followed by the numeric index or symbolic name.
arg := {numeral} | {NCName}
The arg attribute behaves like an ID attribute that need only be unique within the enclosing expression that uses it. The "$" sign argument reference behaves like an IDREF attribute that refers to the arg attribute values.
The arg attribute may assign a numeric index for an element.
arg := {numeral}
The argument index can be used in an argument index reference.
ref := '$' {numeral}
The argument list for an element consists of its visible descendant elements with intent in document order, that is, its descendant elements with either an explicit intent attribute or an inferred default intent, that are not contained within an intervening element with intent, and that are not otherwise assigned an argument name.
Within an element, the first mo element that would otherwise appear in the argument list is assigned the argument name op by default, and is excluded from the argument list. Any other mo element with the same intent is likewise excluded from the argument list.
The elements in the argument list are assigned a default argument index to fill the unassigned numeric argument index values starting from one.
The argument index may be used to reference the intent of a sub expression:
$n!$ as $factorial(n)$
<mrow intent="factorial($1)"> <mi arg="1">n</mi> <mo>!</mo> </mrow>
$a+b$ as $plus(a,b)$
<mrow intent="plus($1,$2)"> <mi arg="1">a</mi> <mo>+</mo> <mi arg="2">b</mi> </mrow>
$n!$ as $factorial(n)$
<mrow intent="$op($1)"> <mi arg="1">n</mi> <mo arg="op" intent="factorial">!</mo> </mrow>
$\int_0^1 x^2 dx$ as $integral(power(x,2),x,0,1)$
<mrow intent="$op($3,$4,$1,$2)"> <msubsup> <mo arg="op" intent="integral">&x222B;</mo> <mn arg="1">0</mn> <mn arg="2">1</mn> </msubsup> <msup arg="3" intent="power($1,$2)"> <mi arg="1">x</mi> <mn arg="2">2</mn> </msup> <mo>ⅆ</mo> <mi arg="4">x</mi> </mrow>
The arg attribute may assign a symbolic name for an element.
arg := {NCName}
The argument name can be used in an argument name reference.
ref := '$' {NCName}
An argument name may be used within the intent attribute of any ancestor element of the element where it is assigned. The intent attribute of an element may refer to the argument name assigned to any of its descendant elements.
An argument name must be unique within the element that uses it.
Within an element, the first mo element that would otherwise appear in the argument list is assigned the argument name op by default, and is excluded from the argument list.
An element may be assigned an argument name that may be used as a way to reference its intent within an ancestor element:
$n!$ as $factorial(n)$
<mrow intent="factorial($x)"> <mi arg="x">n</mi> <mo>!</mo> </mrow>
$a+b$ as $plus(a,b)$
<mrow intent="plus($x,$y)"> <mi arg="x">a</mi> <mo>+</mo> <mi arg="y">b</mi> </mrow>
$n!$ as $factorial(n)$
<mrow intent="$fn($x)"> <mi arg="x">n</mi> <mo arg="fn" intent="factorial">!</mo> </mrow>
$\int_0^1 x^2 dx$ as $integral(power(x,2),x,0,1)$
<mrow intent="$op($fn,$var,$lo,$hi)"> <msubsup> <mo arg="op" intent="integral">&x222B;</mo> <mn arg="lo">0</mn> <mn arg="hi">1</mn> </msubsup> <msup arg="fn" intent="power($base,$exp)"> <mi arg="base">x</mi> <mn arg="exp">2</mn> </msup> <mo>ⅆ</mo> <mi arg="var">x</mi> </mrow>
The intent attribute may express the application of a named function to a list of implied arguments collected from the sub elements. The implied argument list is collected from sub elements that have an intent attribute, supplied either as an explicit attribute value, or as a default intent value.
$n!$ as $factorial(n)$
<mrow intent="@op"> <mi arg="1" intent="n">n</mi> <mo arg="op" intent="factorial">!</mo> </mrow>
<mrow> <mi>n</mi> <mo>!</mo> </mrow>
The default intent for the operator is factorial, and the argument is the mi element, which has its default intent value.
$a+b$ as $plus(a,b)$
<mrow intent="@op"> <mi arg="1" intent="a">a</mi> <mo arg="op" intent="plus">+</mo> <mi arg="2" intent="b">b</mi> </mrow>
<mrow> <mi>a</mi> <mo>+</mo> <mi>b</mi> </mrow>
The default intent for the operator is plus, and the arguments are collected from the mi elements, which have their default intent values.
$x^2 + 2x + 1$ as $plus(power(x,2),times(2,x),1)$
<mrow intent="@op"> <msup arg="1" intent="@power"> <mi arg="1" intent="x">x</mi> <mn arg="2" intent="2">2</mn> </msup> <mo arg="op" intent="plus">+</mo> <mrow arg="2" intent="@op"> <mn arg="1" intent="2">2</mn> <mo arg="op" intent="times"></mo> <mi arg="2" intent="x">x</mi> </mrow> <mo arg="op" intent="plus">+</mo> <mn arg="3" intent="1">1</mn> </mrow>
<mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mn>2</mn> <mo></mo> <mi>x</mi> </mrow> <mo>+</mo> <mn>1</mn> </mrow>
The default intent for the outer operator is plus, and the arguments are collected from the child elements that do not have intent plus.
$\int_0^1 x^2 dx$ as $integral(power(x,2),x,0,1)$
<mrow intent="$op($fn,$var,$lo,$hi)"> <msubsup> <mo arg="op" intent="integral">&x222B;</mo> <mn arg="lo">0</mn> <mn arg="hi">1</mn> </msubsup> <msup arg="fn" intent="power($base,$exp)"> <mi arg="base">x</mi> <mn arg="exp">2</mn> </msup> <mo>ⅆ</mo> <mi arg="var">x</mi> </mrow>
<mrow intent="$op($3,$4,$1,$2)"> <msubsup> <mo>&x222B;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>ⅆ</mo> <mi>x</mi> </mrow>
The default intent for the operator is integral, arguments $1 and $2 are collected from the first two mn elements, which become the limits of integration, argument $3 is the msup element, which becomes the integrand, and $4 is the final mi element, which becomes the integration variable.
The transpose operation may be expressed as the letter "T", either using superscript notation or using prefix function notation.
$A^T$ as $transpose(A)$
<msup intent="@transpose"> <mi>A</mi> <mo>T</mo> </msup>
<msup intent="@op"> <mi>A</mi> <mo intent="transpose">T</mo> </msup>
The intent for the operator is transpose, and the argument is the mi element, which has its default intent. The msup element has intent="@op" to override its default intent and apply the operator to the argument.
$T(A)$ as $transpose(A)$
<mrow> <mo intent="transpose">T</mo> <mo></mo> <mo>(</mo> <mi>A</mi> <mo>)</mo> </mrow>
The intent for the operator is transpose, and the argument is the mi element, which has its default intent. The other mo elements have no default intent and so are not included in the implied arguments.
Either case works out to supply intent="transpose(A)". There are good reasons to voice these notations differently. Doing so requires using both the markup and the intent to select the voicing.
When the same notation may express different intent in printed material, the author and reader typically use other means to agree on the intent, such as notational conventions or expository text. For online markup, the intent can resolve the ambiguity directly. For example, the superscript notation may intend:
The most common use of superscript is to denote exponentiation.
$x^2$ as $power(x,2)$
<msup> <mi>x</mi> <mn>2</mn> </msup>
$x^n$ as $power(x,n)$
<msup> <mi>x</mi> <mi>n</mi> </msup>
The default intent for msup is to apply the power operation.
Another important use to index into tensors or matrices.
$c_ix^i$ as $times(index(c,i),index(x,i))$
<mrow> <msub intent="@index"> <mi>c</mi> <mi>i</mi> </msub> <mo></mo> <msup intent="@index"> <mi>x</mi> <mi>i</mi> </msup> </mrow>
The default intent for the mo element for invisible times is to apply the times operation. The msub and msup element have intent="@index" to apply the index operation.
The superscript itself may supply the operator.
$z^*$ as $conjugate(z)$
<msup intent="@conjugate"> <mi>z</mi> <mo>*</mo> </msup>
<msup intent="@op"> <mi>z</mi> <mo intent="conjugate">*</mo> </msup>
$A^T$ as $transpose(A)$
<msup intent="@transpose"> <mi>A</mi> <mo>T</mo> </msup>
<msup intent="@op"> <mi>A</mi> <mo intent="transpose">T</mo> </msup>
$A^\dagger$ as $adjoint(A)$
<msup intent="@adjoint"> <mi>A</mi> <mo>†</mo> </msup>
<msup intent="@op"> <mi>A</mi> <mo intent="adjoint">†</mo> </msup>
In each of these cases, the intent may be supplied on the msup element directly, or using @op to collect the intent supplied on the mo element.
The same intent may be expressed by different printed notations. For example, the binomial coefficient may be expressed as:
One notation for the binomial coefficient is as a stack of two numbers, enclosed in parentheses.
$\binom{n}{m}$ as $binomial(n,m)$
<mrow intent="$1"> <mo>(</mo> <mfrac linethickness="0" intent="@binomial"> <mi>n</mi> <mi>m</mi> </mfrac> <mo>)</mo> </mfenced>
The mfrac element supplies intent="@binomial" to apply binomial to the arguments in the mi elements, and the mrow element supplies intent="$1" to use the intent of the mfrac element.
Another notation for the binomial coefficient is as a literal C with subscript and superscript.
$C^n_m$ as $binomial(n,m)$
<msubsup intent="@binomial"> <mo>C</mo> <mi arg="2">m</mi> <mi arg="1">n</mi> </msubsup>
<msubsup intent="@op"> <mo intent="binomial">C</mo> <mi arg="2">m</mi> <mi arg="1">n</mi> </msubsup>
The msubsup element supplies an intent attribute to apply the binomial operation to the arguments in the mi elements. The operator itself may be supplied on the msubsup element directly, or on the mo element.
When the presentation supplies an element for each intended structure, the intent attribute can be placed naturally on the element that presents the structure. When the presentation combines multiple structures into a single element, that element can be marked with the intent of the multiple structures:
The default intent of an mrow that contains multiple infix operators is to append the intent of the child elements.
$a+b-c+d$ as $append(a,plus,b,minus,c,plus,d)$
<mrow intent="@append"> <mi>a</mi> <mo>+</mo> <mi>b</mi> <mo>-</mo> <mi>c</mi> <mo>+</mo> <mi>d</mi> </mrow>
A single mrow that contains multiple infix operators may be marked with the intent of the multiple infix operators.
$a+b-c+d$ as $plus(a,plus(minus(b,c),d))$
<mrow intent="$p1($a,$p2($m($b,$c),$d))"> <mi arg="a">a</mi> <mo arg="p1">+</mo> <mi arg="b">b</mi> <mo arg="m">-</mo> <mi arg="c">c</mi> <mo arg="p2">+</mo> <mi arg="d">d</mi> </mrow>
A single mrow that contains multiple infix operators may be interpreted with different implied groupings of the operators.
$a+b-c+d$ as $plus(plus(a,minus(b,c)),d)$
<mrow intent="$p2($p1($a,$m($b,$c)),$d)"> <mi arg="a">a</mi> <mo arg="p1">+</mo> <mi arg="b">b</mi> <mo arg="m">-</mo> <mi arg="c">c</mi> <mo arg="p2">+</mo> <mi arg="d">d</mi> </mrow>
The nesting may also be made clear using additional mrow elements:
$a+b-c+d$ as $plus(a,plus(minus(b,c),d))$
<mrow> <mi>a</mi> <mo>+</mo> <mrow> <mrow> <mi>b</mi> <mo>-</mo> <mi>c</mi> </mrow> <mo>+</mo> <mi>d</mi> </mrow> </mrow>
$a+b-c+d$ as $plus(plus(a,minus(b,c)),d)$
<mrow> <mrow> <mi>a</mi> <mo>+</mo> <mrow> <mi>b</mi> <mo>-</mo> <mi>c</mi> </mrow> </mrow> <mo>+</mo> <mi>d</mi> </mrow>
A single mrow that contains unary prefix operators can be marked with the intent of the unary prefix operators.
$a+b-c+d$ as $plus(a,b,minus(c),d)$
<mrow intent="$p1($a,$b,$m($c),$d)"> <mi arg="a">a</mi> <mo arg="p1">+</mo> <mi arg="b">b</mi> <mo arg="m">-</mo> <mi arg="c">c</mi> <mo arg="p2">+</mo> <mi arg="d">d</mi> </mrow>
The nesting may also be made clear using additional mrow elements:
<mrow> <mi>a</mi> <mo>+</mo> <mi>b</mi> <mrow> <mo>-</mo> <mi>c</mi> </mrow> <mo>+</mo> <mi>d</mi> </mrow>
A single mrow that contains unary postfix operators can be marked with the intent of the unary postfix operators.
$a+b!$ as $plus(a,factorial(b))$
<mrow intent="$p($a,$f($b))"> <mi arg="a">a</mi> <mo arg="p" intent="plus">+</mo> <mi arg="b">b</mi> <mo arg="f" intent="factorial">!</mo> </mrow>
<mrow> <mi>a</mi> <mo>+</mo> <mrow> <mi>b</mi> <mo>!</mo> </mrow> </mrow>
The intent of the fraction is to express the derivative operator, which is applied to the expression $\sin x$, and the differentiation variable $x$.
${d \over dx}\sin x$ as $diff(sin(x),x)$
<mrow intent="$op($1,x)"> <mfrac arg="op" intent="diff"> <mo>ⅆ</mo> <mrow> <mo>ⅆ</mo> <mi>x</mi> </mrow> </mfrac> <mrow> <mo>sin</mo> <mi>x</mi> </mrow> </mrow>
Integrals of fractions are often presented with the differential $dx$ as part of the fraction. For these cases, the intent of the integral uses a named argument reference to find the bound variable, and special care to arrange for the correct intent for the integrand:
The intent of the fraction uses the numeral 1 as the numerator, and no other elements contribute to the numerator.
$\int_0^1 {dx \over x^2+1}$ as $integral(divide(1,plus(power(x,2),1)),x,0,1)$
<mrow intent="$op($3,x,$1,$2)"> <msubsup> <mo>&x222B;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <mfrac> <mrow intent="1"> <mo>ⅆ</mo> <mi>x</mi> </mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </mrow>
So the intent constructed by the outer mrow works out to be integral(divide(1,plus(power(x,2),1)),x,0,1).
The intent of the fraction uses the initial $x$ as the numerator, and no other elements contribute to the numerator.
$\int_0^1 {x\,dx \over x^2+1}$ as $integral(divide(x,plus(power(x,2),1)),x,0,1)$
<mrow intent="$op($3,x,$1,$2)"> <msubsup> <mo>&x222B;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <mfrac> <mrow intent="$1"> <mi>x</mi> <mo>ⅆ</mo> <mi>x</mi> </mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </mrow>
So the intent constructed by the outer mrow works out to be integral(divide(x,plus(power(x,2),1)),x,0,1).
The intent of the fraction uses $2x$ as the numerator, and no other elements contribute to the product.
$\int_0^1 {2x\,dx \over x^2+1}$ as $integral(divide(times(2,x),plus(power(x,2),1)),x,0,1)$
<mrow intent="$op($3,x,$1,$2)"> <msubsup> <mo>&x222B;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <mfrac> <mrow intent="$1"> <mrow> <mn>2</mn> <mo></m0> <mi>x</mi> </mrow> <mo>ⅆ</mo> <mi>x</mi> </mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </mrow>
So the intent constructed by the outer mrow works out to be integral(divide(times(2,x),plus(power(x,2),1)),x,0,1).
The intent of the fraction uses $x^2$ as the numerator, and no other elements contribute to the numerator.
$\int_0^1 {x^2\,dx \over x^2+1}$ as $integral(divide(power(x,2),plus(power(x,2),1)),x,0,1)$
<mrow intent="$op($3,x,$1,$2)"> <msubsup> <mo intent="integral">&x222B;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <mfrac> <mrow intent="$1"> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>ⅆ</mo> <mi>x</mi> </mrow> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </mrow>
So the intent constructed by the outer mrow works out to be integral(divide(power(x,2),plus(power(x,2),1)),x,0,1).
$\int_0^1 {\int_0^x {dy \over y} dx \over x+1}$ as $integral(divide(integral(divide(1,y),y,0,x),plus(x,1)),x,0,1)$
<mrow intent="$op($3,x,$1,$2)"> <msubsup> <mo>&x222B;</mo> <mn>0</mn> <mn>1</mn> </msubsup> <mfrac> <mrow intent="$1"> <mrow intent="$op($3,y,$1,$2)"> <msubsup> <mo>&x222B;</mo> <mn>0</mn> <mi>x</mi> </msubsup> <mfrac> <mrow intent="1"> <mo>ⅆ</mo> <mi>y</mi> </mrow> <mi>y</mi> </mfrac> </mrow> <mo>ⅆ</mo> <mi>x</mi> </mrow> <mrow> <mi>x</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> </mrow>
Each integral expression includes its own bound variable as an explicit intent value.
The intent of an mtable may be used to construct a matrix.
$array(arrayrow(1,0),arrayrow(0,1))$
<mtable intent="@array"> <mtr intent="@arrayrow"> <mtd><mn>1</mn></mtd> <mtd><mn>0</mn></mtd> </mtr> <mtr intent="@arrayrow"> <mtd><mn>0</mn></mtd> <mtd><mn>1</mn></mtd> </mtr> </mtable>
The intent of the table uses @array, the intent of each row uses @arrayrow and the intent of each element uses the default intent @mrow.
The intent of an mtable can be used to construct a list of equations.
$list(append(times(2,x),eq,1),append(y,gt,minus(x,3)))$
<mtable intent="@list"> <mtr intent="@append"> <mtd columnalign="right"> <mn>2</mn> <mo><mo> <mi>x</mi> </mtd> <mtd columnalign="center"> <mo>=</mo> </mtd> <mtd columnalign="left"> <mn>1</mn> </mtd> </mtr> <mtr intent="@append"> <mtd columnalign="right"> <mi>y</mi> </mtd> <mtd columnalign="center"> <mo>></mo> </mtd> <mtd columnalign="left"> <mi>x</mi> <mo>-</mo> <mn>3</mn> </mtd> </mtr> </mtable>
The intent of each element is constructed by treating each mtd element as an implicit mrow. So the first row contains times(2,x), eq, and 1, and the second row contains y, gt, and minus(x,3).
The intent of each row is constructed using append to combine the intent values from each element. So the intent of the first row is append(times(2,x),eq,1) and the intent of the second row is append(y,gt,minus(x,3)).
The intent of the table uses @list to construct the list of equations.
The intent of an mtable can be used to line break an equation.
$list(append(a,eq,append(b,plus,c,minus,d),append(plus,e,minus,f)))$
<mtable intent="@list"> <mtr intent="@append"> <mtd columnalign="right"> <mi>a</mi> </mtd> <mtd columnalign="center"> <mo>=</mo> </mtd> <mtd columnalign="left"> <mi>b</mi> <mo>+</mo> <mi>c</mi> <mo>-</mo> <mi>d</mi> </mtd> </mtr> <mtr intent="@extend"> <mtd columnalign="right"></mtd> <mtd columnalign="center"></mtd> <mtd columnalign="left"> <mo>+</mo> <mi>e</mi> <mo>-</mo> <mi>f</mi> </mtd> </mtr> </mtable>
The intent of each element is constructed by treating each mtd element as an implicit mrow. So the first row contains a, eq, and append(b,plus,c,minus,d), and the second row contains append(plus,e,minus,f) since the other elements are empty.
The intent of each row is constructed using append to combine the intent values from each element. So the intent of the first row is append(a,eq,append(b,plus,c,minus,d)), and the intent of the second row is append(append(plus,e,minus,f)). Since the second row uses intent="@extend", the intent of the second row is concatenated onto the intent of the first row to produce append(a,eq,append(b,plus,c,minus,d),append(plus,e,minus,f)).
The intent of the table uses @list to construct the list of equations.


Vanilla JS Academy
Toggle Password Visibility
Toggling multiple password fields
Toggling passwords in multiple forms
Character Count
Character and Word Count
Announcing the Count
Random Ron
Random Ron without duplicates
NYT Top Stories
NYT Multiple Categories
Sanitizing the NYT API Data
Monster Shuffle
Find the Monsters
Find the Monsters - Track Wins
Table of Contents
Table of Contents - Missing IDs
Table of Contents - Scope
Weather App
Weather App - Plug-in
A Helper Library
DOM Manipulation Library
DOM manipulation library with chaining methods
Debugging Broken Code
Autosave
Autosave - Single Entry
Autosave - Other Field Types
API Cache
API Cache - Fallback
Countdown Timer
Timer - Formatted
Timer - Start and Pause Buttons
Timer - Reactive Data
Places
Favorite Places
Filter Places


FAIR-biomed a browser extension for accessing open biomed data
FAIR-biomed helps to access open biomedical data resources from any web page.
About
Vasts amounts of biomedical data are stored in open databases and knowledge-bases. Data in these resources are intended to be findable, accessible, interoperable, and reusable (FAIR). However, the data is distributed across many resources and integrating relevant parts within a specific project can be a challenge.
FAIR-biomed brings open data resources directly to specific research situations. Consider, for example, reading a report in the browser. With FAIR-biomed, you can access additional information on any part of the report without leaving the page.
To make use of the extension, first highlight some text, for example, a gene name. Press Ctr+Shift+Z
on the keyboard (alternatively right-click > FAIR-biomed search
with the mouse). A new box should appear prompting you to choose a data source to query.
Clicking on one of the options triggers a query to the corresponding data service and displays a summary of results.
Search results provide summaries of the data resource, details of how the data query was executed, and a link to further data.
Data sources
The FAIR-biomed app is composed of core components and a library of plugins. Each of the plugins provides access to a data resource and a specific query type.
The current plugin library provides access to a varied set of data sources.
| Data source | Plugins |
|---|---|
| ClinGen | Allele registry |
| EBI | Identifiers, ontology, GWAS, and chemical data |
| Europe PMC | Literature |
| ExAC | Genomic variant annotation |
| Genomics England | PanelApp |
| HGNC | Gene nomenclature |
| IMPC | Mouse model phenotypes |
| JASPAR | Transcription factor binding profiles |
| LNCipedia | non-coding RNAs |
| MARRVEL | Disease associations, gene expression |
| NCBI | Literature, gene summaries, significance of genetic variation |
| Reactome | Pathways |
| STRING | Protein interaction networks |
| UCSC | Genomic regions |
| Uniprot | Knowledgebase |
| Wikimedia | Encyclopaedia and dictionary |
Practical guide
Installation
The extension is available from the chrome web store. Select the extension in the web store, click Add to chrome
, and read the information boxes. Once installed, highlight text on a web page and press Ctrl+Shift+Z
to perform searches.
To install the FAIR-biomed extension manually using code from this repository, see the developer documentation
Local URLs
The extension is automatically active on all pages that you accesss via urls starting with 'http' or 'https'. You can also use the extension with reports stored on your own computer, but this functionality is disabled by default by the chrome browser. To use this feature, you must enable it manually.
- Select
Tools > Extensions
from the chrome menus; a new tab should appear listing all your installed extensions - Find
FAIR-biomed
and clickDetails
; the view should change and display more details on the extension - Scroll down to the setting
Allow access to file URLs
and turn on the switch.
Options
The extension has a dedicated page where you can tune which data sources you would like to use.
- Find the FAIR-biomed icon on the browser toolbar (it's usually on the top-right).
- Click on the icon. A popup should appear. Click on the 'cogs' icon to open the Options page.
Privacy
Once installed, the extension records a small amount of information to personalize its behavior to each user. See the privacy policy.
In the news
FAIR-biomed was featured in the news!
- Using Europe PMC RESTful APIs, August 20 2019.
Notes and References
The idea of augmenting web pages with additional information has a long history.
-
Reflect was an early implementation of a browser extension aimed at biomedical research. This extension sent a whole web-page to a server for annotation.
-
Dynamic linking outlined an idea to infer links to specialist sources by scanning the context of web pages.
-
GIX described an extension for retrieving information on gene products.
Get involved
Feedback and contributions are welcome. Please raise an issue in the github repository.
To incorporate a new data resource or plugin, read how you can contribute.


Logo
WHAT
WHY
(w)HOW
WHO
SIGN IN
SIGN UP
User name:
Company name:
Phone:
Address:
Email:
Password:
Rewrite password:
Remember me
Sign up!


M
R
H
Joes Burger Shack
The Family burger joint!
Check it Out
Joes Burger Shack
The Family burger joint!
Check it Out
Joes Burger Shack
The Family burger joint!
Check it Out
Joes Burger Shack
The Family burger joint!
Check it Out
Joes Burger Shack
The Family burger joint!
Check it Out
Joes Burger Shack
The Family burger joint!
Check it Out
Joes Burger Shack
The Family burger joint!
Check it Out


| DesktopNotification: | |
| Display notification for hosts in maintenance: | |
| Background RefreshRate(sec): |
Please Select RefreshRate
|
| Notification DisplayTime(sec): |
Please Select DisplayTime
|
| Target Notification level: |
Please Select Notification level
|


Reports a missing
lang
(or
xml:lang
) attribute in a
html
tag. Suggests adding a required attribute to state the default language of the document. Based on WCAG 2.0:
H57
.


Analytics Dashboard

Total Count
_
Selected out of
_
records |
Reset All
Heat Map

Number of Traffic Violations
Number of Traffic Violations by Time
Race of The Driver
Gender of Driver
Alcohol
Vehicle Manufacturer
Belt
Accident
Personal-Injury
Vehicle Type
Arrest-Type
Selected Data
Year
Race
Make
VehicleType
Gender
Alcohol
PersonalInjury
ArrestType
Accident
Belt
Google Map
OSM Map


A flexible CSS reprocessor using

If you are using reproCSS with custom events, you may also optionally use a selector
attribute specify a list of one or more CSS selectors you would like to add event listeners for. If no selector
attribute is found all custom events will be applied to window.

You can add the CSS you want reprocss.js to apply to your HTML in
When the browser is 1000px tall the ${innerHeight}
in our CSS will be output as 500
, leading to the following output:

Currently this plugin only supports

Hello

<textarea id="demo"></textarea>

Writing mixins for reproCSS is easy, any JavaScript function that outputs code that can be used in CSS can be called from anywhere in the stylesheet reproCSS is processing using JS interpolation with ${}
.
An example of a common mixin template might look like this:
function mixin(selector, rule) {
// Find tags in document matching selector
var tag = document.querySelectorAll(selector)
// Begin with an empty style
var style = ''
// Begin counting matching tags at 0
var count = 0
// For each tag matching our selector
for (var i=0; i<tag.length; i++) {
// Create an identifier based on the selector used
var attr = selector.replace(/\W+/g, '')
// Mark tag with a custom attribute containing identifier and count
tag[i].setAttribute('data-mixin-' + attr, count)
// Add a copy of the CSS rule to the style using a selector for this tag's unique attribute
style += '\n[data-mixin-' + attr + '="' + count + '"] {\n'
+ ' ' + rule + '\n'
+ '}\n'
// Increment the tag counter by +1
count++
}
// Return all generated styles as CSS text
return style
}
If you were going to create a mixin starting from the template above the first thing you'd want to do is change the function name (currently mixin()
) to something unique, as well as update the mentions of mixin
inside the mixin logic where it’s used to name the elements the mixin is styling, data-mixin
. Once you have changed the name of the function, you can pass a CSS selector or a list of CSS selectors into to the plugin, along with CSS properties and values as a string to be processed and added to new rules. This basic template can be extended in many ways to support different things. Here are some examples of reproCSS mixins and helper functions:


{{ 356 - addproject_gallery.title + " Chars left" }}
Sorry You are Exceeding the Limit title is required .{{ 356 - addproject_gallery.description.description.length + " Chars left" }}
Sorry You are Exceeding the Limit Description is required .{{ 356 - addproject_gallery.media + " Chars left" }}
Sorry You are Exceeding the Limit title is required .{{ 356 - addproject_gallery.media_description.length + " Chars left" }}
Sorry You are Exceeding the Limit Description is required .{{ 356 - project.project_gallery.seo.browser_title + " Chars left" }}
Sorry You are Exceeding the Limit Browser is required .{{ 356 - project.project_gallery.seo.meta_key.length + " Chars left" }}
Sorry You are Exceeding the Limit Meta Keywords is required .{{ 356 - project.project_gallery.seo.meta_desc.length + " Chars left" }}
Sorry You are Exceeding the Limit Meta Description is required .| Project Gallery Title | Project Gallery Description | Remove |
|---|---|---|
| {{key}} | {{value}} |


Voluntary Energy and Climate Programs
EPA has developed many programs and projects that partner with industry and others to reduce greenhouse gas emissions. EPA plays a significant role in these partnerships, providing technical expertise and encouraging voluntary reductions from the private sector.
Partnering With Industry
Center for Corporate Climate Leadership
EPA's Center for Corporate Climate Leadership serves as a resource center for all companies looking to expand their work in the area of greenhouse gas measurement and management.
Combined Heat and Power Partnership
The Combined Heat and Power (CHP) Partnership is a voluntary program to reduce the environmental impact of power generation by promoting the use of CHP, which is an efficient, clean and reliable approach to generating power and thermal energy from a single fuel source.
ENERGY STAR®
ENERGY STAR is a joint program of EPA and the U.S. Department of Energy, helping us all save money and protect the environment through energy efficient products and practices.
GreenChill
Greenchill is a voluntary partnership between EPA and the supermarket and refrigeration industry to promote green technologies, strategies, and practices that protect the stratospheric ozone layer, reduce greenhouse gases, and save money.
Green Power Partnership
The Green Power Partnership is a voluntary partnership between EPA and organizations that are interested in using green power, which is electricity produced from a subset of renewable resources, such as solar, wind, geothermal, biomass, and low-impact hydropower.
High Global Warming Potential Gases Voluntary Programs
The high global warming potential partnership programs (or Fluorinated Gas Partnership Programs) are voluntary industry partnerships that are substantially reducing U.S. emissions of potent greenhouse gases.
- Voluntary Aluminum Industrial Partnership
- The Sulfur Hexafluoride Emissions Reduction Partnership for Electric Power Systems
Methane Reduction Voluntary Programs
EPA's voluntary methane (CH4) partnership programs work with U.S. industries, along with state and local governments, to promote profitable opportunities for reducing emissions of CH4.
- AgSTAR
- Natural Gas STAR
- Global Methane Initiative Exit
- Coalbed Methane Outreach Program
- Landfill Methane Outreach Program
Transportation and Air Quality Voluntary Programs
Transportation and Air Quality voluntary programs aim to reduce pollution and improve air quality by means of forming partnerships with small and large businesses, citizen groups, industry, manufacturers, trade associations, and state and local governments.
Responsible Appliance Disposal Program
EPA's Responsible Appliance Disposal Program is a voluntary partnership program established to help protect the ozone layer and reduce emissions of greenhouse gases by recovering ozone-depleting chemicals from old refrigerators, freezers, window air conditioners, and dehumidifiers.
WasteWise
WasteWise is a voluntary EPA program through which organizations eliminate costly municipal solid waste and select industrial wastes, benefiting their bottom line and reducing the amount of waste deposited in landfills and greenhouse gas emissions.
WaterSense
WaterSense is an EPA partnership program that seeks to protect the future of our nation's water supply by offering people a simple way to use less water with water-efficient products, new homes, and services--reducing energy use and greenhouse gas emissions in the process.
Partnering With the Public Sector
EPA partners with states, tribes, localities, and resource managers to encourage smart growth, sustainable planning, clean energy, and preparation for climate change.
Creating Resilient Water Utilities
EPA's Creating Resilient Water Utilities (CRWU) initiative provides drinking water, wastewater, and stormwater utilities with the practical tools, training, and technical assistance needed to increase resilience to extreme weather events. Through a comprehensive planning process, CRWU assists the water sector utilities by promoting a clear understanding of potential long-term adaptation options.
Climate Ready Estuaries
The Climate Ready Estuaries program works with the National Estuary programs to help coastal managers assess climate change vulnerabilities, implement adaptation strategies, educate stakeholders, and share lessons learned.
State and Local Climate and Energy Program
Investing in energy efficiency, renewable energy, and climate change policies and programs is an important way for state and local governments to achieve multiple goals: reducing greenhouse gas emissions, improving air quality and people's health, and saving money. EPA's State and Local Climate and Energy Program offers expertise about energy efficiency, renewable energy, and climate change policies and programs to interested state, local, and tribal governments.
Sustainable Communities
The Partnership for Sustainable Communities, involving the Department of Housing and Urban Development, the Department of Transportation, and EPA, works to create communities that have a variety of housing and transportation choices, with destinations close to home, in order to lower transportation costs, reduce air pollution and stormwater runoff, and provide many other benefits.
The Smart Growth Program has resources to help tribes, states, regions, local governments, and the private sector build in ways that bring multiple environmental, economic, health, and social benefits, including reducing greenhouse gas emissions and preparing for climate change.