ZIP: 317 Title: Proportional Transfer Fee Mechanism Owners: Aditya Bharadwaj<EMAIL_ADDRESS>Daira Hopwood<EMAIL_ADDRESS>Credits: Madars Virza Kris Nuttycombe Jack Grigg Francisco Gindre Status: Active Category: Standards / Wallet Obsoletes: ZIP 313 Created: 2022-08-15 License: MIT Discussions-To: <https://forum.zcashcommunity.com/t/zip-proportional-output-fee-mechanism-pofm/42808> Pull-Request: <https://github.com/zcash/zips/pull/631>
The key words "SHOULD", "SHOULD NOT", "RECOMMENDED", and "MAY" in this document are to be interpreted as described in RFC 2119. 1
The term "conventional transaction fee" in this document is in reference to the value of a transaction fee that is conventionally used by wallets, and that a user can reasonably expect miners on the Zcash network to accept for including a transaction in a block.
The terms "Mainnet, "Testnet", and "zatoshi" in this document are defined as in 2.
The goal of this ZIP is to change the conventional fees for transactions by making them dependent on the number of inputs and outputs in a transaction, and to get buy-in for this change from wallet developers, miners and Zcash users.
In light of recent Mainnet network activity, it is time to review and update the standard 1,000 zatoshi transaction fee set in ZIP 313 6.
The conventional transaction fee presently is 0.00001 ZEC or 1,000 zatoshis, as specified in ZIP 313. This allowed exploration of novel use cases of the Zcash blockchain. The Zcash network has operated for almost 2 years at a conventional transaction fee of 1,000 zatoshis, without consideration for the total number of inputs and outputs in each transaction. Under this conventional fee, some usage of the chain has been characterized by high-output transactions with 1,100 outputs, paying the same conventional fee as a transaction with 2 outputs.
The objective of the new fee policy, once it is enforced, is for fees paid by transactions to fairly reflect the processing costs that their inputs and outputs impose on various participants in the network. This will tend to discourage usage patterns that cause either intentional or unintentional denial of service, while still allowing low fees for regular transaction use cases.
Let
\(\mathsf{min}(a, b)\)
be the lesser of
\(a\)
and
\(b\!\)
.
Let
\(\mathsf{max}(a, b)\)
be the greater of
\(a\)
and
\(b\!\)
.
Let
\(\mathsf{floor}(x)\)
be the largest integer
\(\leq x\!\)
.
Let
\(\mathsf{ceiling}(x)\)
be the smallest integer
\(\geq x\!\)
.
This specification defines several parameters that are used to calculate the conventional fee:
| Parameter | Value | Units |
|---|---|---|
| \(marginal\_fee\) | \(5000\) | zatoshis per logical action (as defined below) |
| \(grace\_actions\) | \(2\) | logical actions |
| \(p2pkh\_standard\_input\_size\) | \(150\) | bytes |
| \(p2pkh\_standard\_output\_size\) | \(34\) | bytes |
Wallets implementing this specification SHOULD use a conventional fee calculated in zatoshis per the following formula:
The inputs to this formula are taken from transaction fields defined in the Zcash protocol specification 3:
| Input | Units | Description |
|---|---|---|
| \(tx\_in\_total\_size\) | bytes | total size in bytes of the tx_in field |
| \(tx\_out\_total\_size\) | bytes | total size in bytes of the tx_out field |
| \(nJoinSplit\) | number | the number of Sprout JoinSplits |
| \(nSpendsSapling\) | number | the number of Sapling spends |
| \(nOutputsSapling\) | number | the number of Sapling outputs |
| \(nActionsOrchard\) | number | the number of Orchard actions |
It is not a consensus requirement that fees follow this formula; however, wallets SHOULD create transactions that pay this fee, in order to reduce information leakage, unless overridden by the user.
The intention is to make the fee paid for a transaction depend on its impact on the network, without discriminating between different protocols (Orchard, Sapling, or transparent). The impact on the network depends on the numbers of inputs and outputs.
A previous proposal used \(inputs + outputs\) instead of logical actions. This would have disadvantaged Orchard transactions, as a result of an Orchard Action combining an input and an output. The effect of this combining is that Orchard requires padding of either inputs or outputs to ensure that the number of inputs and outputs are the same. Usage of Sapling and transparent protocols does not require this padding, and so this could have effectively discriminated against Orchard.
Why not just charge per-action, without a grace window?
Why a grace window of 2?
A 1-in, 2-out (or 2-action) transaction is the smallest possible transaction that permits both an output to a recipient, and a change output. However, as stated above, zcashd and the mobile SDK transaction builder will pad the number of inputs to at least 2.
Let \(min\_actions\) be the minimum number of logical actions that can be used to execute economically relevant transactions that produce change. Due to the aforementioned padding, \(min\_actions = 2\) .
Having a grace window size greater than \(min\_actions\) would increase the cost to create such a minimal transaction. If the cost we believe that users will tolerate for a minimal transaction is \(B\) , then possible choices of \(marginal\_fee\) are bounded above by \(B / \max(min\_actions, grace\_actions)\) . Therefore, the optimal choice of \(grace\_actions\) to maximize the per-logical-action cost of denial-of-service attacks for a given \(B\) , is \(grace\_actions = min\_actions = 2\) . This also ensures that a denial-of-service adversary does not gain a significant per-logical-action cost advantage by using transactions with a smaller or larger number of logical actions.
The specified formula calculates the contribution of transparent inputs and outputs based on their total size relative to a typical input or output. Another considered approach was to calculate this contribution simply as \(\mathsf{max}(transparent\_inputs, transparent\_outputs)\) . However, this would allow a denial-of-service adversary to create transactions with transparent components containing arbitrarily large scripts.
The chosen values for \(p2pkh\_standard\_input\_size\) and \(p2pkh\_standard\_output\_size\) are based on the maximum encoded length for P2PKH inputs and outputs, as follows:
P2SH outputs are smaller than P2PKH outputs, but P2SH inputs may be larger than P2PKH inputs. For example a 2-of-3 multisig input is around 70% larger, and is counted as such when computing the number of logical actions.
This returns the conventional fee for a minimal transaction (as described above) to the original conventional fee of 10000 zatoshis specified in 6, and imposes a non-trivial cost for potential denial-of-service attacks.
zcashd, zebrad, and potentially other node implementations, implement fee-based restrictions on relaying of mempool transactions. Nodes that normally relay transactions are expected to do so for transactions that pay at least the conventional fee as specified in this ZIP, unless there are other reasons not to do so for robustness or denial-of-service mitigation.
If a transaction has more than \(block\_unpaid\_action\_limit\) "unpaid actions" as defined by the Recommended algorithm for block template construction, it will never be mined by that algorithm. Nodes MAY drop these transactions, or transactions with more unpaid actions than a configurable limit (see the Deployment section for actual behaviour of node implementations).
zcashd and zebrad limit the size of the mempool as described in 7. This specifies a \(low\_fee\_penalty\) that is added to the "eviction weight" if the transaction pays a fee less than the conventional transaction fee. This threshold is modified to use the new conventional fee formula.
Miners, mining pools, and other block producers, select transactions for inclusion in blocks using a variety of criteria. The algorithm in the following section is planned to be implemented by zcashd and zebrad.
Define constants \(weight\_ratio\_cap = 4\) and \(block\_unpaid\_action\_limit = 50\!\) .
Let \(conventional\_fee(tx)\) be the conventional fee for transaction \(tx\) calculated according to the section Fee calculation.
Let \(unpaid\_actions(tx) = \begin{cases}\mathsf{max}\!\left(0,\, \mathsf{max}(grace\_actions,\, tx.\!logical\_actions) - \mathsf{floor}\!\left(\frac{tx.fee}{marginal\_fee}\right)\right),&\textsf{if }tx\textsf{ is a non-coinbase transaction} \\ 0,&\textsf{if }tx\textsf{ is a coinbase transaction.}\end{cases}\)
Let \(block\_unpaid\_actions(block) = \sum_{tx \,\in\, block}\, unpaid\_actions(tx)\) .
The following algorithm is RECOMMENDED for constructing a block template from a set of transactions in a node's mempool:
Note: In step 1, the final coinbase transaction cannot be included at this stage because it depends on the fees paid by other transactions. In practice, this difficulty can be overcome by reserving sufficient space and sigops to allow modifying the coinbase transaction as needed, when testing against the block space and block sigop limits in steps 3b and 4b.
It is likely that not all wallets will immediately update to pay the (generally higher) fees specified by this ZIP. In order to be able to deploy this block template algorithm more quickly while still giving transactions created by such wallets a reasonable chance of being mined, we allow a limited number of "unpaid" logical actions in each block. Roughly speaking, if a transaction falls short of paying the conventional transaction fee by \(k\) times the marginal fee, we count that as \(k\) unpaid logical actions.
Regardless of how full the mempool is (according to the ZIP 401 7 cost limiting), and regardless of what strategy a denial-of-service adversary may use, the number of unpaid logical actions in each block is always limited to at most \(block\_unpaid\_action\_limit\!\) .
The weighting in step 2 does not create a situation where the adversary gains a significant advantage over other users by paying more than the conventional fee, for two reasons:
The rationale for choosing \(weight\_ratio\_cap = 4\) is as a compromise between not allowing any prioritization of transactions relative to those that pay the conventional fee, and allowing arbitrary prioritization based on ability to pay.
Calculating \(tx.\!weight\_ratio\) in terms of \(\mathsf{max}(1,\, tx.\!fee)\) rather than just \(tx.\!fee\) avoids needing to define "with probability in direct proportion to its \(weight\_ratio\!\) " for the case where all remaining candidate transactions would have \(weight\_ratio = 0\!\) .
Miners have an incentive to make this change because:
Non-standard transaction fees may reveal specific users or wallets or wallet versions, which would reduce privacy for those specific users and the rest of the network. However, the advantage of faster deployment weighed against synchronizing the change in wallet behaviour at a specific block height.
Long term, the issue of fees needs to be revisited in separate future proposals as the blocks start getting consistently full. Wallet developers and operators should monitor the Zcash network for rapid growth in transaction rates, and consider further changes to fee selection and/or other scaling solutions if necessary.
A transaction-rate-based denial of service attack occurs when an attacker generates enough transactions over a window of time to prevent legitimate transactions from being mined, or to hinder syncing blocks for full nodes or miners.
There are two primary protections to this kind of attack in Zcash: the block size limit, and transaction fees. The block size limit ensures that full nodes and miners can keep up with the blockchain even if blocks are completely full. However, users sending legitimate transactions may not have their transactions confirmed in a timely manner.
This proposal does not alter how fees are paid from transactions to miners.
Wallets SHOULD deploy these changes immediately. Nodes SHOULD deploy the change to the \(low\_fee\_penalty\) threshold described in Mempool size limiting immediately.
Nodes supporting block template construction SHOULD deploy the new Recommended algorithm for block template construction immediately, and miners SHOULD use nodes that have been upgraded to this algorithm.
Node developers SHOULD coordinate on schedules for deploying restrictions to their policies for transaction mempool acceptance and peer-to-peer relaying. These policy changes SHOULD NOT be deployed before the changes to block template construction for miners described in the preceding paragraph.
zcashd v5.5.0 implemented use of ZIP 317 fees by default for its internal wallet in the following PRs:
z_shieldcoinbase
)z_mergetoaddress
)zcashd v5.5.0 implemented the Recommended algorithm for block template construction in:
The value used for
\(block\_unpaid\_action\_limit\)
by zcashd can be overridden using the -blockunpaidactionlimit
configuration parameter.
zcashd v5.5.0 also implemented the change to Mempool size limiting to use the ZIP 317 fee for the low fee penalty threshold, in:
As described in section Transaction relaying, nodes MAY drop transactions with more unpaid actions than a given limit. From zcashd v5.6.0, this is controlled by the -txunpaidactionlimit
configuration option, which defaults to 50 unpaid actions (the same default as -blockunpaidactionlimit
). This behaviour is implemented in:
Note that zcashd also requires transactions to pay at least a "relay threshold" fee. As part of the ZIP 317 work, this rule was simplified for zcashd v5.5.0:
zebra does not provide a wallet, and so does not need to calculate ZIP 317 fees in order to construct transactions.
zebra v1.0.0-rc.3 implemented the current Recommended algorithm for block template construction in:
zebra v1.0.0-rc.2 had implemented an earlier version of this algorithm. The value used for \(block\_unpaid\_action\_limit\) in zebra is not configurable.
zebra v1.0.0-rc.2 implemented the change to Mempool size limiting in:
zebra v1.0.0-rc.8 implemented Transaction relaying changes in:
zebra uses a similar relay threshold rule to zcashd, but additionally enforces a minimum fee of 100 zatoshis (this differs from zcashd only for valid transactions of less than 1000 bytes, assuming that zcashd uses its default value for -minrelaytxfee
).
This section describes alternative proposals that have not been adopted.
In previous iterations of this specification, the marginal fee was multiplied by the sum of inputs and outputs. This means that the alternatives given below are roughly half of what they would be under the current formula.
Possible alternatives for the parameters:
(In @madars' and @nighthawk24's original proposals, there was an additional \(base\_fee\) parameter that caused the relationship between fee and number of inputs/outputs to be non-proportional above the \(grace\_actions\) threshold. This is no longer expressible with the formula specified above.)
The following entities and developers of the listed software expressed their support for the updated fee mechanism:
Thanks to Madars Virza for initially proposing a fee mechanism similar to that proposed in this ZIP 5, and for finding a potential weakness in an earlier version of the block template construction algorithm. Thanks also to Kris Nuttycombe, Jack Grigg, Francisco Gindre, Greg Pfeil, Teor, and Deirdre Connolly for reviews and suggested improvements.
| 1 | RFC 2119: Key words for use in RFCs to Indicate Requirement Levels |
|---|
| 2 | Zcash Protocol Specification, Version 2022.3.8. Section 3.12: Mainnet and Testnet |
|---|
| 3 | Zcash Protocol Specification, Version 2022.3.8. Section 7.1: Transaction Encoding and Consensus |
|---|
| 4 | zcash/zips issue #568 - Document block transparent sigops limit consensus rule |
|---|
| 5 | Madars concrete soft-fork proposal |
|---|
| 6 | ZIP 313: Reduce Conventional Transaction Fee to 1000 zatoshis |
|---|
| 7 | ZIP 401: Addressing Mempool Denial-of-Service |
|---|


#
name
price($)
weight(carat)
Sort by code
Sort by Name(toggle)
Sort by Price(asc)
Sort by Weight(desc)
Reset


with Viktoriia Muliavka
Social and political scientists often need to put together datasets of country-level political, economic, and demographic variables with data from different sources. These data are available on websites of the institutions or projects that created them, in various formats, which makes downloading them and combining a bit of a steeplechase.
In this post we show how we created a dataset of country-level indicators of political participation and economic inequality in the POlitical Inequality project (POLINQ[^1]).
With this guide we hope to reduce the barrier to collecting and combining country-level indicators in an automated and reproducible way as opposed to doing this manually.
We use the following datasets:
It is worth noting that there exists a package for downloading democracy indicators (democracyData
), but it does not include the sub-indicators or sub-scales that are used to create the final composite scores, only the composite scores themselves.
Downloading the data is one part. To merge them, it is also necessary to standardize country codes and year formats. The countrycode
package is invaluable to convert between country code types. Years typically only need conversions between string and numeric types.
#devtools::install_github("xmarquez/vdem")
library(vdem) # get V-Dem data
library(WDI) # get data from World Bank's WDI
library(countrycode) # convert country codes
library(tidyverse) # manipulate data
library(xlsx) # read xlsx files
library(readxl) # read xls files
library(haven) # read SPSS files
library(data.table) # fwrite to quickly write to .csv
library(ggplot2) # ggraphs
# custom color palette
myPalette <- c("#999999", "#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00", "#CC79A7")
V-dem can be downloaded via a dedicated R package (V-Dem, vdem
), and a particular indicator can be selected with the parameter name_pattern
.
The variable vdem_country_text_id
already contains ISO3 character country codes (ISO3c), which is our preferred country code format here.
vdem.part <- extract_vdem(name_pattern = "v2x_partipdem", include_uncertainty = FALSE) %>%
select(iso3 = vdem_country_text_id, year, vdem_par = v2x_partipdem)
Polyarchy data are available as semicolon-delimited .csv files, as well as in Stata, SPSS, and Excel formats. The .csv format is the simplest, so this is the one we prefer. The read.csv2
function reads semicolon-delimited files as a default. Alternatively, read.csv
could be used with an appropriate setting of the separator character.
Country codes are available in the Correlates of War format, which needs converting to ISO3c with the countrycode
function. The year and the participation variable we are primarily interested in also need converting to numeric.
polyarchy <- read.csv2("https://www.prio.org/Global/upload/CSCW/Data/Governance/file42534_polyarchy_v2.csv",
stringsAsFactors = FALSE) %>%
mutate(iso3 = countrycode(Abbr, "cowc", "iso3c")) %>%
select(iso3, year = Year, polyarch_part = Part) %>%
mutate(year = as.numeric(year),
polyarch_part = as.numeric(polyarch_part))
Freedom House ratings started in 1973, but the subcategory scores are only available since 2006. They can be downloaded in an .xlsx document with separate sheets including data for single years. The first sheet contains information about the contents of the remaining sheets, and the consecutive sheets contain information by year starting from the most recent year (2018), while the last sheet contains category scores (which are no use to use, since we need sub-category scores).
We encoutered problems trying to read in the file directly from the URL into R with the read.xlsx
function, so we found a workaround where we download the file to a temporary folder, and then open and manipulate it from there. It takes a moment to run, but it works.
From the downloaded file we only need selected columns from selected sheets. To identify those sheets and columns, we first read all sheet names from the .xlsx file and identify the sheets that contain the data we want to extract - those are sheets number 2 through 14.
Next we read all column names from one of the sheets with the data we are interested in (assuming that all remaining sheets have the same structure) - columns 1 (with country.territory names) and 6 (with the participation scores).
We loop through the sheets and store the extracted columns in a list. Then we append all elements of the list to create a country-year-level file.
Finally, we convert country.territory names to ISO3 codes, and fix the issue of Kosovo, which does not have an official ISO3 code, but the temporary one is “XKX”.
myurl <- "https://freedomhouse.org/sites/default/files/Aggregate%20Category%20and%20Subcategory%20Scores%20FIW2003-2018.xlsx" # set URL to the file to be downloaded
td = tempdir() # read in the path to the temp directory
tmp <- tempfile(tmpdir = td, fileext = ".xlsx") # create path to the temp file in the temp directory
download.file(url = myurl, destfile = tmp, mode="wb") # download file from URL to the temp file with set extention
excel_sheets(tmp) # read sheet names from the downloaded file
names(read.xlsx(file = tmp, sheetIndex = 2)) # read column names from the second sheet
fh.list <- list() # create empty list to store selected parts of the 13 sheets
for (i in 1:13) {
fh.list[[i]] <- read.xlsx(file = tmp,
sheetIndex = i+1, # index (number) of sheet int he .xlsx file
colIndex = c(1,6)) # indexes (numbers) of columns to be extracted
fh.list[[i]]$Country.Territory <- gsub("[*].*$","",fh.list[[i]]$Country.Territory) # eliminate asterisks from Country.Territory variable
fh.list[[i]]$year <- 2018 - i + 1 # add year column
}
fh <- do.call("rbind", fh.list) %>% # bind (append) rows of all elements of fh.list
mutate(iso3 = countrycode(Country.Territory, "country.name", "iso3c")) %>%
mutate(iso3 = ifelse(Country.Territory %in% c("Kosovo", "Kosovo*"), "XKX", iso3)) %>%
select(iso3, year, fh_B_aggr = B.Aggr)
Polty IV distributes data in .xls and .sav (SPSS) formats. We had the same problems with directly reading the .xls file from the URL as with Freedom House, so we decided to use the .sav file instead. The only additional step we had to make beyond country code translations and setting the year variable ot numeric format was recoding of special codes in the polcomp
variable (-66, -77, -88) to missing.
These special codes indicate foreign “interruptions” (-66), cases of “interregnum” or anarchy (-77), and “transition” (-88). For more information consult the Polity IV manual.
polity <- read_sav("http://www.systemicpeace.org/inscr/p4v2017.sav") %>%
mutate(iso3 = countrycode(country, "country.name", "iso3c")) %>%
mutate(iso3 = ifelse(country == "Kosovo", "XKX", iso3)) %>%
select(iso3, year, p4_polcomp = polcomp) %>%
mutate(p4_polcomp = ifelse(p4_polcomp %in% c(-66, -77, -88), NA, p4_polcomp))
The Democracy Barometer published its data in .xls, .xlsx, and .dta (Stata) files. The .dta curiously has only missing values on the variable of interest to use, so we use the .xls file. Like with Freedom House data, we download the file to a temporary folder, and open from there. One modification that’s necessary is skipping the first four rows of the excel sheet, which contains a header that needs to be removed prior to reading the data.
myurl <- "http://www.democracybarometer.org/Data/DB_data_1990-2016_Standardized.xls"
td = tempdir()
tmp <- tempfile(tmpdir = td, fileext = ".xls")
download.file(url = myurl, destfile = tmp, mode="wb")
excel_sheets(tmp)
db <- readxl::read_excel(tmp, skip = 4) %>%
mutate(iso3 = countrycode(`Ccode QOG`, "iso3n", "iso3c")) %>%
select(iso3, year = Year, db_PARTICIP = PARTICIP) %>%
mutate(db_PARTICIP = as.numeric(db_PARTICIP))
Data from the Standardized World Income Inequality Database (SWIID) can be downloaded as a .csv file from Github.
swiid <- read.csv("https://raw.githubusercontent.com/fsolt/swiid/master/data/swiid7_1_summary.csv",
stringsAsFactors = FALSE, encoding = "UTF-8") %>%
mutate(iso3 = countrycode(country, "country.name", "iso3c")) %>%
mutate(iso3 = ifelse(country == "Kosovo", "XKX", iso3)) %>%
select(iso3, year, gini_disp)
Data from the World Bank’s World Development Indicators have a dedicated package WDI
, which allows to search for data that contain a string (function WDIsearch
) and to download data for a selected indicator, country coverage and time range (WDI
).
poverty <- WDI(country="all", indicator=c("SI.POV.NAHC"),
start=1900, end=2018, extra=TRUE, cache=NULL) %>%
filter(!is.na(SI.POV.NAHC)) %>%
select(iso3 = iso3c, year, wb_poverty = SI.POV.NAHC)
After all datasets are downloaded and have the same structure, country codes, and year variables, mergin them does not pose a problem. The last step is to create a variable with country names on the basis of the country codes.
merged <- full_join(db, fh) %>%
full_join(polity) %>%
full_join(polyarchy) %>%
full_join(swiid) %>%
full_join(vdem.part) %>%
full_join(poverty) %>%
mutate(country = countrycode(iso3, "iso3c", "country.name"))
merged %>%
filter(country %in% c("Poland", "Ukraine", "Germany", "Canada"),
year > 1990) %>%
ggplot(., aes(x = year, y = db_PARTICIP, group = country, col = country)) +
geom_line(size = 2) +
ylab("Democracy Barometer: Participation") +
expand_limits(y = 0) +
scale_x_continuous(name = "Year",
breaks = seq(1990, 2015, 5)) +
ggtitle("Changes in Democracy Barometer's Participation Scores") +
labs(caption = "Data: Democracy Barometer, PARTICIP.") +
scale_color_manual(values = myPalette[c(1, 2, 5, 3)],
name="Country",
breaks=c("Canada", "Germany", "Poland", "Ukraine")) +
theme_light()
merged %>%
filter(country %in% c("Poland"),
year > 1990) %>%
select(iso3, year, db_PARTICIP, gini_disp) %>%
gather(variable, value, 3:4) %>%
ggplot(., aes(x = year, y = value, col = variable)) +
geom_line(size = 2) +
ylab("Value") + expand_limits(y = 0) +
scale_x_continuous(name = "Year",
breaks = seq(1990, 2015, 5)) +
ggtitle("Changes in Democracy Barometer's Participation Scores and \nDisposable Income Inequality") +
labs(caption = "Data: Democracy Barometer, PARTICIP; SWIID, gini_disp.") +
scale_color_manual(values = myPalette[1:2],
name="Variable",
breaks = c("db_PARTICIP", "gini_disp"),
labels=c("Democracy Barometer \nParticipation", "Gini Disposable \nIncome")) +
theme_light()
fwrite(merged, "merged-20190201a.csv")
[^1:] The project “Political Voice and Economic Inequality across Nations and Time” is led by dr. Joshua Dubrow at the Institute of Philosophy and Sociology, Polish Academy of Sciences, and funded by Poland’s National Science Centre. More information about this project can be found here and here.


A Tiny JS World
This tiny world is created as a part of
A Tiny JS World
project
This world is inhabited by
(world's
source code
)


--- layout: default home: true js: - home - stacks - twitterWidgets css: - home - blog seo-title: Kabanero ---
Kabanero is an open source project focused on bringing together foundational open source technologies into a modern microservices-based framework. Developing apps for container platforms requires harmony between developers, architects, and operations. Today’s developers need to be efficient at much more than writing code. Architects and operations get overloaded with choices, standards, and compliance. Kabanero speeds development of applications built for Kubernetes while meeting the technology standards and policies your company defines. Design, develop, deploy, and manage with speed and control!
Follow Us @{{ site.twitter_username }}Kabanero can help your team modernize existing applications to leverage benefits of cloud and containers.
Kabanero can help you create cloud native applications with your team.
An application stack leads a company down a golden path to develop quality microservice-based applications. A stack provides guides for developers, templates for simplicity and consistency of developing applications, a runtime in a certified base container image infused with expertise for Kubernetes deployments, and an integrated toolchain for developing with modern tools.
Eclipse MicroProfile is a set of APIs used to optimize Java applications for a microservices architecture. With this stack, you can deliver microservices based upon the Eclipse MicroProfile specifications. Build and run high-quality applications with Open Liberty runtime, which includes OpenJDK with container-optimizations in OpenJ9.
Spring® is a framework used in Java application development. With this application stack, you can deliver microservices based upon the Spring framework provided by Pivotal. Open Liberty runtime provides support for Spring applications with OpenJDK and container-optimizations in OpenJ9.
Node.js is a JavaScript runtime environment that can execute JavaScript code anywhere, not limited to a browser. Due to its single-threaded nature, Node.js enables the creation of non-blocking and event-driven servers. It fits well in web-based frontends and backend API services for microservices-based applications.
Swift is a very popular language for mobile application developers that develop for Apple Platforms. Having the language on the server allows Apple Platform developers to produce the back-end portion of the mobile app as a microservice.
Serverless is a model of deployment that allows the container running the application to start on the first touch; this saves resources and is ideal for use cases that have low utilization.
Modernize Applications
Languages & Runtimes
Develop
Build
Manage
Modernize Applications
Plan, execute, and enhance your cloud modernization journey. Kabanero integrates with free modernization tooling from IBM for Java applications. Choose to re-factor applications based on ROI. Accelerate development efforts with assistance within your IDE using guided code changes.
Languages and Runtimes
Use the right language for the job. Java is at the core of most modern application environments and can support Eclipse MicroProfile or Spring-based microservices. No matter your workload, we have runtimes and application stacks to simplify application development and delivery on Kubernetes.
Develop
Develop applications for Kuberentes faster using extensions to industry leading IDEs. Perform inner loop development of applications directly in containers from day one. Eclipse Codewind provides extensions to VS Code, Eclipse, as well as Eclipse Che for teams preferring a cloud hosted IDE. Hosted or local, it’s the same experience.
Build
DevOps is critical for a successful microservices-based deployment. Kabanero supplies an integrated open source CI/CD (continuous integration / continuous delivery) infrastructure based on the open source project Tekton. Kabanero provides for a rich set of stages that pipelines can use to integrate features like patching, vulnerability scanning, and more.
Manage
Applications are deployed with best practices for Kubernetes deployments including scale, security, health and liveness probes. Kabanero also provides the ability to augment the base images with additional management capabilities as defined in the application stack. See everything from a single pane of glass with insights and correlation spanning traditional and Kubernetes applications for proactive problem determination.
{{ post.seo-description | escape }}
{% else %}{{ post.seo-description | escape }}
{% endif %}


Open Data Platforms
Abel Sanchez
and
John R. Williams
Cloud Architecture
Big clouds?
City Open Data
NYC Open Data
NASA Open Data
U.S. Open Data
EU Open Data
PS7 - City of Chicago Open Data
Active Learning 1
Go to, https://data.cityofchicago.org/
Locate the 2012 crime dataset.
Select the month of December (use filter).
Download the data as JSON
Active Learning 2
Clean up file, remove metadata
Write code to load file
Write array length to console.
Write loop through data.
Write latitude and longitude to console.
Active Learning 3
Make a map for chicago. Use: 41.886903, -87.722740
Add a toolbar
The End


Across 7 books/ 8 movies there are so many characters in this series by J.K Rowling. For this project I have got the data from
data.world. All files here were combined to create a json with nodes and links.
Using d3js I have visualized the characters connected to each other.
There might me an odd instance when the characters might have been connected somehow and I missed it . Feel free to
use this
HP graph
and make more visualizations. Lumos Maxima !!!


class HashDigester : Digester
A Digester implementation that uses a straight-forward hash.
See Also
| <init> |
HashDigester(algorithm: String = HashAlgorithms.SHA_256, provider: KryptoProvider = KryptoProvider.defaultInstance)
A Digester implementation that uses a straight-forward hash. |
| algorithm |
val algorithm: String
The algorithm this Digester uses. |
| jdkMessageDigest |
val jdkMessageDigest: MessageDigest |
| provider |
val provider: KryptoProvider
|
| digestBuilder |
fun digestBuilder(): DigestBuilder
Return an instance of DigestBuilder fueled by this Digester. |
| digest |
fun digest(bytes: Bytes): Bytes
Digest the given Bytes. fun digest(vararg bytes: Bytes): Bytes
Digest the given sets of Bytes as one message. |


Deuteronomy 14:9
These ye shall eat of all that are in the waters: all that have fins and scales shall ye eat:


Rationale¶
I designed the histogram based on a decade of experience collected in working with Big Data, more precisely in the field of particle physics and astroparticle physics. In many ways, the ROOT histograms served as an example of not to do it.
Design principles¶
- “Do one thing and do it well”, Doug McIlroy
- The Zen of Python (also applies to other languages).
Interface convenience¶
A histogram should have the same consistent interface whatever the dimension. Like std::vector
it should just work, users shouldn’t be forced to make a priori choices among several histogram classes and options everytime they encounter a new data set.
Language transparency¶
Python is a great language for data analysis, so the histogram needs Python bindings. The histogram should be usable as an interface between a complex simulation or data-storage system written in C++ and data-analysis/plotting in Python: define the histogram in Python, let it be filled on the C++ side, and then get it back for further data analysis or plotting.
Data analysis in Python is Numpy-based, so Numpy support is a must.
Powerful binning strategies¶
The histogram supports half a dozent different binning strategies, conveniently encapsulated in axis objects. There is the standard sorting of real-valued data into bins of equal or varying width, but also binning of angles or integer values.
Extra bins that count over- and underflow values are added by default. This feature can be turned off individually for each axis. The extra bins do not disturb normal bin counting. On an axis with n
bins, the first bin has the index 0
, the last bin n-1
, while the under- and overflow bins are accessible at -1
and n
, respectively.
Performance and memory-efficiency¶
Dense storage in memory is a must for high performance. Unfortunately, the curse of dimensionality quickly become a problem as the number of dimensions grows, leading to histograms which consume large amounts (up to GBs) of memory.
Fortunately, having many dimensions typically reduces the number of counts per bin, since counts get spread over many dimensions. The histogram uses an adaptive count size per bin to be as memory-efficient as possible, by starting with the smallest integer size per bin of 1 byte and increasing as needed to up to 8 byte. A std::vector
grows in length as new elements are added, while the count storage grows in depth.
Weighted counts and variance estimates¶
A histogram categorizes and counts, so the natural choice for the data type of the counts are integers. However, in particle physics, histograms are also often filled with weighted events, for example, to make sure that two histograms look the same in one variable, while the distribution of another, correlated variable is a subject of study.
The histogram can be filled with either weighted or unweighted counts. In the weighted case, the sum of weights is stored in a double
. The histogram provides a variance estimate is both cases. In the unweighted case, the estimate is computed from the count itself, using Poisson-theory. In the weighted case, the sum of squared weights is stored alongside the sum of weights in a second double
, and used to compute a variance estimate.
Serialization and zero-suppression¶
Serialization is implemented using boost::serialization
. Pickling in Python is implemented based on the C++ serialization code. To ensure portability of the pickled histogram, the pickle string is an ASCII representation of the histogram, generated with the boost::archive::text_oarchive
. It would be great to switch to a portable binary representation in the future, when that becomes available.
To reduce the size of the string, run-length encoding is applied (zero-suppression) to sequences of zeros. Partly filled histograms often contain large sequences of zeros.


Order Pizza
Select pizza size
Personal
Medium
Large
Extra large
Select your meat
Pepperoni
Sausage
Canadian Bacon
Ground Beef
Anchovy
Chicken
Select cheese
Regular
No cheese
Extra Cheese
Select crust
Plain Crust
Garlic Butter Crust
Cheese Stuffed Crust
Spicy Crust
House Special Crust
Select sauce
Marinara sauce
White sauce
Barbecue
No sauce
Select your veggie
Tomatoes
Onions
Olives
Green Peppers
Mushrooms
Pineapple
Spinach
Jalapeño


ImageChunkSize
public enum ImageChunkSize : Int
Constants indicating chunk size of an image to download.
The segment of JPG format has not fixed size because it has variable meta data. So you can specify the data size to be downloaded by passing chunk size as an argument.
In most cases, you can get the size of an image with the initial value, but if you can not get the correct size, please specify a larger chunk size.
-
100 Bytes
Declaration
Swift
case small = 100
-
1,000 Bytes (1 Kilo Bytes)
Declaration
Swift
case medium = 1000
-
10,000 Bytes (10 Kilo Bytes)
Declaration
Swift
case large = 10000
-
50,000 Bytes (50 Kilo Bytes)
Declaration
Swift
case extraLarge = 50000
-
100,000 Bytes (100 Kilo Bytes)
Declaration
Swift
case huge = 100000


Atomic Tests
- {list of links to tests}
Unit Tested:
Measurement:
Test Name
Test Procedure
- Step 1
- Step 2
Expected Results
Check #2 is true.
Holistic Tests
- Still to be developed. We will include this in a future working draft.
Unit Tested:
Measurement:
Check #2 is true.


+++ title = "Uyuni" lat = -20.490000 lon = -66.790000 +++
A remote and sleepy town on Bolivia's south-western frontier, Uyuni is a cold and tourist-filled town, and the gateway to the nearby Salar de Uyuni, the world's largest and highest salt flat. Really no reason to stay here for long, except to book a tour to the salt flats, and perhaps to grab a pizza or two. There's also a train line that goes through Uyuni, from Oruro further north, down to Villazon in the South; with an additional line heading west into Chile, from Potosí in the east.


Volvo to launch petrol variant of XC40 in India
The XC40 T4 is expected to be available for Rs 39.9 lakh (ex-showroom) .
Volvo Cars India has said that it will soon launch the petrol variant of its XC40 SUV in India.
The XC40 T4 is expected to be available for Rs 39.9 lakh (ex-showroom) will come with a BS-VI compliant 2.0-litre petrol motor.
The 2-litre turbo-petrol engine makes 190 PS and 300 Nm of peak torque. This is paired to an 8-speed automatic gearbox.
There are reports too that the XC40 will only get the front-wheel-drive variant of the car and the AWD variant will not come to India. There are going to be premium features on the XC40 T4 however, like paddleshifters, adaptive cruise control, heated seats, wireless phone charging and automatic parking assist among other things.
The car will be up against the likes of the Audi Q3, Mercedes-Benz GLA and BMW X1.Get access to India's fastest growing financial subscriptions service Moneycontrol Pro for as little as Rs 599 for first year. Use the code "GETPRO". Moneycontrol Pro offers you all the information you need for wealth creation including actionable investment ideas, independent research and insights & analysis For more information, check out the Moneycontrol website or mobile app.


dict
Dictionaries are mutable unordered collections (they do not record element position or order of insertion) of key-value pairs. Keys within the dictionary must be unique and must be hashable. That includes types like numbers, strings and tuples. Lists and dicts can not be used as keys since they are mutable. Dictionaries are also called hash tables or associative arrays.
Numeric types used for keys obey the normal rules for numeric comparison: if two numbers compare equal (such as 1 and 1.0) then they can be used interchangeably to index the same dictionary entry. (Note however, that since computers store floating-point numbers as approximations it is usually unwise to use them as dictionary keys.)
Methods
Adding Elements
- update
- Adds key:value pairs to the dictionary.
Deleting
- clear
- Removes all items from the dictionary.
- pop
- Removes the key in the dictionary and returns its value.
- popitem
- Removes and returns an arbitrary key:value pair from the dictionary.
Other
- copy
- Returns a shallow copy of the dictionary.
- fromkeys
- Returns a new dictionary with keys from a supplied iterable and values all set to specified value.
Iterators
- iteritems
- Returns an iterator over the dictionary’s key:value pairs.
- itervalues
- Returns an iterator over the dictionary’s values.
- iterkeys
- Returns an iterator over the dictionary’s keys.
Dictionary Views
- viewitems
- Returns a new view of the dictionary’s items (key:value pairs).
- viewvalues
- Returns a new view of the dictionary’s values.
- viewkeys
- Returns a new view of the dictionary’s keys.
Dictionary Views Operators
- & (intersection)
- Returns only the elements that appear both in the dictview and the specified iterable.
- ^ (symmetric difference)
- Returns the elements that appear in either the dictview or the specified iterable, but not in both.
- - (difference)
- Returns the elements that appear in the dictview and not in the specified iterable.
- | (union)
- Returns all the elements that appear in the dictview and the specified iterable.


|
ColorPatternTracker
|
#include <cl_platform.h>
Public Member Functions | |
| cl_long | CL_ALIGNED (128) s[16] |
| cl_long | CL_ALIGNED (128) s[16] |
| cl_long | CL_ALIGNED (128) s[16] |
Definition at line 978 of file cl_platform.h.
| cl_long cl_long16::CL_ALIGNED | ( | 128 | ) |
| cl_long cl_long16::CL_ALIGNED | ( | 128 | ) |
| cl_long cl_long16::CL_ALIGNED | ( | 128 | ) |
| __extension__ { ... } |
| __extension__ { ... } |
| __extension__ { ... } |
| __CL_ANON_STRUCT__ { ... } |
| __CL_ANON_STRUCT__ { ... } |
| __CL_ANON_STRUCT__ { ... } |
| __CL_ANON_STRUCT__ { ... } |
| __CL_ANON_STRUCT__ { ... } |
| __CL_ANON_STRUCT__ { ... } |
| cl_long cl_long16::__spacer4 |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::__spacer5 |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::__spacer6 |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::__spacer7 |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::__spacer8 |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::__spacer9 |
Definition at line 982 of file cl_platform.h.
| cl_long8 cl_long16::hi |
Definition at line 984 of file cl_platform.h.
| cl_long8 cl_long16::lo |
Definition at line 984 of file cl_platform.h.
| cl_long cl_long16::s0 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::s1 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::s2 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::s3 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::s4 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::s5 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::s6 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::s7 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::s8 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::s9 |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::sa |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::sA |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::sb |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::sB |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::sc |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::sC |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::sd |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::sD |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::se |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::sE |
Definition at line 983 of file cl_platform.h.
| cl_long cl_long16::sf |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::sF |
Definition at line 983 of file cl_platform.h.
| __cl_long16 cl_long16::v16 |
Definition at line 996 of file cl_platform.h.
| __cl_long2 cl_long16::v2 |
Definition at line 987 of file cl_platform.h.
| __cl_long4 cl_long16::v4 |
Definition at line 990 of file cl_platform.h.
| __cl_long8 cl_long16::v8 |
Definition at line 993 of file cl_platform.h.
| cl_long cl_long16::w |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::x |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::y |
Definition at line 982 of file cl_platform.h.
| cl_long cl_long16::z |
Definition at line 982 of file cl_platform.h.


October Sky * * * (out of * * * * )
Directed by Joe Johnston. Cast: Jake Gyllenhaal, Chris Cooper, Chris Owen, William Lee Scott, Chad Lindberg, Laura Dern, Natalie Canerday. 1999 - 108 minutes Rated PG (for mild profanity). Reviewed February 20, 1999.
"October Sky," a film directed by Joe Johnston ("Honey, I Shrunk the Kids," "Jumanji"), had a fair amount going against it. For one, Johnston previously had specialized in mostly special effects-laden productions; it's film studio was Universal, who recently released the painfully manipulative "Patch Adams," and the story, judging from the trailer, could have easily gone the same easy route into utter corniness. Fortunately, "October Sky" appears to have been written instead with a great deal of care by Lewis Colick, and therefore comes across as a realistic portrait of a certain moment in time. The film is based on a true story, by the way, and also unlike "Patch Adams," appears to have stayed very, very close to what actually happened, instead of taking noticable liberties in exchange for cheap, artificial melodrama.
Set in Coalwood, West Virginia, circa 1957, "October Sky" begins on the monumental day of Oct. 5 when Russia beat the Americans to space with their first satellite, called Sputnik. Homer Hickum (Jake Gyllenhaal), a teenager whose father (Chris Cooper), a stubborn coal mining supervisor in the town, clearly favors his older brother who has just gotten a football scholarship to college, knows that he was not meant to be a miner, and doesn't want anything to do with it. Soon, inspired by Sputnik, Homer acquires his two buddies (William Lee Scott, Chad Lindberg) and the class brain, Quentin (Chris Owen), to begin to make small rockets. Their understanding and friendly school teacher, Miss Riley (Laura Dern), encourages them to enter the state science fair because she truly believes in them, and Homer automatically sees this opportunity as a way to possibly get away from his ultimate dead-end existence as a coal miner (the winner of the state goes on to the country, and the person who takes first place gets a college scholarship).
Although "October Sky" follows a fairly predictable pattern, the film turned out to be first-rate, thanks to the delicate and innocent way that the story was told, and in the satisfying way that the characters were handled. The subplot involving Homer's stern father could have easily characterized him as a one-dimensional jerk, but instead, played terrifically by Chris Cooper, who also stood out in John Sayles' 1996 film, "Lone Star," we learn that he does care about his son, even if he has a difficult time showing it. Quite a few moments between father and son are finely-tuned and ring with a resounding truthfulness that you don't often see in mainstream films today. Also making an impression are Gyllenhaal, in his first major feature film role, who acts as our likable and sympathetic protagonist; Natalie Canerday, as Homer's loving mother who becomes torn between her feuding husband and son; and Laura Dern, radiant as always, in the relatively small, but touching role of Miss Riley, a young woman who sees teaching as a pointless means of work if she can't inspire and help her students get out of their nearly unavoidable destinies to become miners. It is ultimately in the exact performances and writing that are the primary reasons "October Sky" works so well.
If there is one subplot in the film that could have been dealt with in a more gratifying manner, it is that of Homer's crush on his older brother's girlfriend, and another girl who does like Homer, even though he mostly ignores her. This almost same exact situation was far more satisfying in the recent brilliant motion picture, "Rushmore." One slapstick-style sequence that seems out of place shows the four boys, early on, testing out their rockets, only to see them fail in some way; the way that the scene was filmed and edited together, played to the tune of a '50s song, didn't really seem to belong in the context of the rest of the film.
These, of course, are mostly insignificant criticisms when compared to the whole of the film, which is a rare film that does not short-change its characters or their plight in any way, nor does it trivialize them. In its surprisingly effective, subtle concluding moments when we find out the fates of all the characters, shown with home-movies of the real people the film was based on, I had realized that "October Sky" was made by a group of filmmakers and actors who cared deeply enough about the people and true accounts that the story was based upon that they in no way attempted to add a bunch of flashy extra stories that would make the film more accessible or commercial to a wider audience. Good for them.
- Copyright 1999 by Dustin Putman Http://hometown.aol.com/FilmFan16/index.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Food Trivia Game
Welcome to the Food Trivia Game!
This game has a total of 5 questions to complete! Here are the details of the game:
- Timer starts once you begin the game. You have 10 seconds to answer each question
- Feedback (i.e., whether your answer is correct or incorrect) will be provided after you answer each question
- If you don't answer the question before the timer runs out, it will be counted as unanswered question
- Your total score will be displayed at the end of the game.
Good luck, and have fun!
Click the button below to begin playing the game.


Please answer the following questions to help your counsellor better understand you and what challenges you have been facing.
We ask that you turn on your camera such that your face can be seen in order to help the counsellor better understand you. This can then be used to better develop a plan and come up with goals. The video will not be saved. If you are uncomfortable turning on your camera, you are not required to do so.
All responses will be saved and sent directly to your counsellor.
Please fill out these details and we will begin!


Files | |
| file | pmhal_bgap.h |
| This file contains the interface declaration for the Temperature HAL. | |
Data Structures | |
| struct | pmhalBgapRange |
| Temperature Range for a given ADC value. More... | |
| struct | pmhalBgapFifoEntry |
| Temperature Sensor FIFO Entry. More... | |
Typedefs | |
| typedef enum pmhalBgapBandgapCntDelay | pmhalBgapBandgapCntDelay_t |
| FSM delay counter (COUNTER_DELAY) valid values. | |
| typedef enum pmhalBgapBandgapSIdleMode | pmhalBgapBandgapSIdleMode_t |
| Band Gap Sensor valid SIDLE modes. The SIDLE modes for BGAP sensor is different than the other modules on the basis of the actual value to be programmed in the register. Hence use this enumeration and not the module mode SIDLE. | |
| typedef struct pmhalBgapRange | pmhalBgapRange_t |
| Temperature Range for a given ADC value. | |
| typedef struct pmhalBgapFifoEntry | pmhalBgapFifoEntry_t |
| Temperature Sensor FIFO Entry. | |
Enumerations | |
| enum | pmhalBgapBandgapCntDelay { PMHAL_BGAP_BAND_GAP_IMMEDIATE = 0x0U, PMHAL_BGAP_BAND_GAP_1_MS = 0x1U, PMHAL_BGAP_BAND_GAP_10_MS = 0x2U, PMHAL_BGAP_BAND_GAP_100_MS = 0x3U, PMHAL_BGAP_BAND_GAP_250_MS = 0x4U, PMHAL_BGAP_BAND_GAP_500_MS = 0x5U, PMHAL_BGAP_BAND_GAP_MAX = PMHAL_BGAP_BAND_GAP_500_MS + 1U } |
| FSM delay counter (COUNTER_DELAY) valid values. More... | |
| enum | pmhalBgapBandgapSIdleMode { PMHAL_BGAP_BAND_GAP_NO_IDLE = 0x0U, PMHAL_BGAP_BAND_GAP_FORCE_IDLE = 0x1U, PMHAL_BGAP_BAND_GAP_SMART_IDLE = 0x2U, PMHAL_BGAP_BAND_GAP_MAX_SIDLE } |
| Band Gap Sensor valid SIDLE modes. The SIDLE modes for BGAP sensor is different than the other modules on the basis of the actual value to be programmed in the register. Hence use this enumeration and not the module mode SIDLE. More... | |
Functions | |
| int32_t | PMHALBgapGetCurrTemperature (pmhalPrcmVdId_t voltId, pmhalBgapRange_t *currTempRange) |
| Get the Band gap Temperature Sensor value for a given voltage domain. More... | |
| int32_t | PMHALBgapClearState (pmhalPrcmVdId_t voltId) |
| Clear the accumulator and the FIFO entries of the band gap temperature sensors. More... | |
| int32_t | PMHALBgapEnableHotEvent (pmhalPrcmVdId_t voltId) |
| Enable a Hot alert event for the threshold temperature set by the API PMHALBgapSetHotThreshold. More... | |
| int32_t | PMHALBgapDisableHotEvent (pmhalPrcmVdId_t voltId) |
| Disable a Hot alert event for the threshold temperature set by the API PMHALBgapSetHotThreshold. More... | |
| int32_t | PMHALBgapEnableColdEvent (pmhalPrcmVdId_t voltId) |
| Enable a Cold alert event for the threshold temperature set by the API PMHALBgapSetColdThreshold. More... | |
| int32_t | PMHALBgapDisableColdEvent (pmhalPrcmVdId_t voltId) |
| Disable a Cold alert event for the threshold temperature set by the API PMHALBgapSetColdThreshold. More... | |
| int32_t | PMHALBgapSetMeasureDelay (pmhalBgapBandgapCntDelay_t delay) |
| The start of temperature measurement is initiated automatically by each FSM after it goes out of reset state. To control the main delay between two measurements the CTRL_CORE_BANDGAP_MASK_1[29:27] COUNTER_DELAY bit field is used. This API sets this field. More... | |
| int32_t | PMHALBgapSetSIldeMode (pmhalBgapBandgapSIdleMode_t mode) |
| The Temperature Sensors FSMs comply with the PRCM slave idle protocol. They share common functional clock (L3INSTR_TS_GCLK), which is automatically gated by PRCM depending on the value of the CTRL_CORE_BANDGAP_MASK_1[31:30] SIDLEMODE bit field. This field is set by this API. More... | |
| int32_t | PMHALBgapSetHotThreshold (pmhalPrcmVdId_t voltId, int32_t tempInMilliDegree) |
| This API configures the high temperature threshold for generating thermal alerts through programming the CTRL_CORE_BANDGAP_THRESHOLD_x[25:16] THOLD_HOT_x bit fields. More... | |
| int32_t | PMHALBgapSetColdThreshold (pmhalPrcmVdId_t voltId, int32_t tempInMilliDegree) |
| This API configures the Low temperature threshold for generating thermal alerts through programming the CTRL_CORE_BANDGAP_THRESHOLD_x[25:16] THOLD_COLD_x bit fields. More... | |
| int32_t | PMHALBgapGetHotThreshold (pmhalPrcmVdId_t voltId, pmhalBgapRange_t *thresholdTempRange) |
| This API returns the configured high temperature threshold range programmed into the CTRL_CORE_BANDGAP_THRESHOLD_x[25:16] THOLD_HOT_x bit fields. More... | |
| int32_t | PMHALBgapGetColdThreshold (pmhalPrcmVdId_t voltId, pmhalBgapRange_t *thresholdTempRange) |
| This API returns the configured low temperature threshold range programmed into the CTRL_CORE_BANDGAP_THRESHOLD_x[25:16] THOLD_COLD_x bit fields. More... | |
| int32_t | PMHALBgapGetHotAlertStatus (pmhalPrcmVdId_t voltId, uint32_t *hotStatus) |
| The non masked (raw) comparator outputs are available for reading through the corresponding bits in the CTRL_CORE_BANDGAP_STATUS_1 and CTRL_CORE_BANDGAP_STATUS_2 registers. The high temperature threshold comparator outputs are read through the HOT_x bits using this API. More... | |
| int32_t | PMHALBgapGetColdAlertStatus (pmhalPrcmVdId_t voltId, uint32_t *coldStatus) |
| The non masked (raw) comparator outputs are available for reading through the corresponding bits in the CTRL_CORE_BANDGAP_STATUS_1 and CTRL_CORE_BANDGAP_STATUS_2 registers. The low temperature threshold comparator outputs are read through the COLD_x bits using this API. More... | |
| int32_t | PMHALBgapWaitForAlertClear (uint32_t timeOut) |
| The CTRL_MODULE_CORE_IRQ_THERMAL_ALERT signal is also routed to the CTRL_CORE_BANDGAP_STATUS_1[31] ALERT bit. Value of 0x1 indicates that the CTRL_MODULE_CORE_IRQ_THERMAL_ALERT signal is asserted. Software can use this interrupt to implement the device thermal management policy. This API can be used to wait for the clearing of the alert signal as the temperature of the voltage domains drop below their threshold. More... | |
| int32_t | PMHALBgapGetFifoEntry (pmhalPrcmVdId_t voltId, uint32_t entryNum, pmhalBgapFifoEntry_t *fifoEntry) |
| Each time one of the CTRL_CORE_TEMP_SENSOR_x[9:0] BGAP_DTEMP_x bit fields is updated with new temperature value, this value is also automatically stored into a 5-level deep FIFO and a time stamp is registered too. This API helps read the value for a given entry number. More... | |
The Temperature (BGAP) HAL Configuration provides API to read the junction temperature of the different BGAP temperature sensors available in the SoC. This HAL allows setting of the right threshold values for the Temperature hot and cold interrupts.
FSM delay counter (COUNTER_DELAY) valid values.
Band Gap Sensor valid SIDLE modes. The SIDLE modes for BGAP sensor is different than the other modules on the basis of the actual value to be programmed in the register. Hence use this enumeration and not the module mode SIDLE.
| int32_t PMHALBgapClearState | ( | pmhalPrcmVdId_t | voltId | ) |
Clear the accumulator and the FIFO entries of the band gap temperature sensors.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| int32_t PMHALBgapDisableColdEvent | ( | pmhalPrcmVdId_t | voltId | ) |
Disable a Cold alert event for the threshold temperature set by the API PMHALBgapSetColdThreshold.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| int32_t PMHALBgapDisableHotEvent | ( | pmhalPrcmVdId_t | voltId | ) |
Disable a Hot alert event for the threshold temperature set by the API PMHALBgapSetHotThreshold.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| int32_t PMHALBgapEnableColdEvent | ( | pmhalPrcmVdId_t | voltId | ) |
Enable a Cold alert event for the threshold temperature set by the API PMHALBgapSetColdThreshold.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| int32_t PMHALBgapEnableHotEvent | ( | pmhalPrcmVdId_t | voltId | ) |
Enable a Hot alert event for the threshold temperature set by the API PMHALBgapSetHotThreshold.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| int32_t PMHALBgapGetColdAlertStatus | ( | pmhalPrcmVdId_t | voltId, |
| uint32_t * | coldStatus | ||
| ) |
The non masked (raw) comparator outputs are available for reading through the corresponding bits in the CTRL_CORE_BANDGAP_STATUS_1 and CTRL_CORE_BANDGAP_STATUS_2 registers. The low temperature threshold comparator outputs are read through the COLD_x bits using this API.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| coldStatus | Low temperature threshold comparator output |
| int32_t PMHALBgapGetColdThreshold | ( | pmhalPrcmVdId_t | voltId, |
| pmhalBgapRange_t * | thresholdTempRange | ||
| ) |
This API returns the configured low temperature threshold range programmed into the CTRL_CORE_BANDGAP_THRESHOLD_x[25:16] THOLD_COLD_x bit fields.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| thresholdTempRange | Pointer to the threshold temperature range. Gives the max and min temperature which corresponds to the read threshold ADC value. |
| int32_t PMHALBgapGetCurrTemperature | ( | pmhalPrcmVdId_t | voltId, |
| pmhalBgapRange_t * | currTempRange | ||
| ) |
Get the Band gap Temperature Sensor value for a given voltage domain.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| currTempRange | Pointer to the current temperature range. Gives the max and min temperature which corresponds to the read ADC value. |
| int32_t PMHALBgapGetFifoEntry | ( | pmhalPrcmVdId_t | voltId, |
| uint32_t | entryNum, | ||
| pmhalBgapFifoEntry_t * | fifoEntry | ||
| ) |
Each time one of the CTRL_CORE_TEMP_SENSOR_x[9:0] BGAP_DTEMP_x bit fields is updated with new temperature value, this value is also automatically stored into a 5-level deep FIFO and a time stamp is registered too. This API helps read the value for a given entry number.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| entryNum | Entry number of the FIFO. Has to be lesser than number supported in the SoC. Number starts from 0 which corresponds to the most recent entry. |
| fifoEntry | The Bandgap sensor fifo entry value is returned corresponding to the given voltage domain and entry number. |
| int32_t PMHALBgapGetHotAlertStatus | ( | pmhalPrcmVdId_t | voltId, |
| uint32_t * | hotStatus | ||
| ) |
The non masked (raw) comparator outputs are available for reading through the corresponding bits in the CTRL_CORE_BANDGAP_STATUS_1 and CTRL_CORE_BANDGAP_STATUS_2 registers. The high temperature threshold comparator outputs are read through the HOT_x bits using this API.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| hotStatus | High temperature threshold comparator output |
| int32_t PMHALBgapGetHotThreshold | ( | pmhalPrcmVdId_t | voltId, |
| pmhalBgapRange_t * | thresholdTempRange | ||
| ) |
This API returns the configured high temperature threshold range programmed into the CTRL_CORE_BANDGAP_THRESHOLD_x[25:16] THOLD_HOT_x bit fields.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| thresholdTempRange | Pointer to the threshold temperature range. Gives the max and min temperature which corresponds to the read threshold ADC value. |
| int32_t PMHALBgapSetColdThreshold | ( | pmhalPrcmVdId_t | voltId, |
| int32_t | tempInMilliDegree | ||
| ) |
This API configures the Low temperature threshold for generating thermal alerts through programming the CTRL_CORE_BANDGAP_THRESHOLD_x[25:16] THOLD_COLD_x bit fields.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| tempInMilliDegree | Temperature Threshold in milli Degree Celsius. |
| int32_t PMHALBgapSetHotThreshold | ( | pmhalPrcmVdId_t | voltId, |
| int32_t | tempInMilliDegree | ||
| ) |
This API configures the high temperature threshold for generating thermal alerts through programming the CTRL_CORE_BANDGAP_THRESHOLD_x[25:16] THOLD_HOT_x bit fields.
| voltId | Unique voltage domain ID. Refer enum pmhalPrcmVdId_t for details. |
| tempInMilliDegree | Temperature Threshold in milli Degree Celsius. |
| int32_t PMHALBgapSetMeasureDelay | ( | pmhalBgapBandgapCntDelay_t | delay | ) |
The start of temperature measurement is initiated automatically by each FSM after it goes out of reset state. To control the main delay between two measurements the CTRL_CORE_BANDGAP_MASK_1[29:27] COUNTER_DELAY bit field is used. This API sets this field.
| delay | Unique delay value ID. Refer enum pmhalBgapBandgapCntDelay_t for details. |
| int32_t PMHALBgapSetSIldeMode | ( | pmhalBgapBandgapSIdleMode_t | mode | ) |
The Temperature Sensors FSMs comply with the PRCM slave idle protocol. They share common functional clock (L3INSTR_TS_GCLK), which is automatically gated by PRCM depending on the value of the CTRL_CORE_BANDGAP_MASK_1[31:30] SIDLEMODE bit field. This field is set by this API.
| mode | Unique idle mode to be set . Refer enum pmhalBgapBandgapSIdleMode_t for details. |
| int32_t PMHALBgapWaitForAlertClear | ( | uint32_t | timeOut | ) |
The CTRL_MODULE_CORE_IRQ_THERMAL_ALERT signal is also routed to the CTRL_CORE_BANDGAP_STATUS_1[31] ALERT bit. Value of 0x1 indicates that the CTRL_MODULE_CORE_IRQ_THERMAL_ALERT signal is asserted. Software can use this interrupt to implement the device thermal management policy. This API can be used to wait for the clearing of the alert signal as the temperature of the voltage domains drop below their threshold.
| timeOut | Time out to wait till the temperature drops below the threshold and the alert signal is cleared. Valid values are PM_TIMEOUT_INFINITE (wait infinitely) or any non zero time out value. |


AFINN is a list of words rated for valence with an integer between minus five (negative) and plus five (positive). This implementation uses AFINN-en-165
AFINN is a list of words rated for valence with an integer between minus five (negative) and plus five (positive). This implementation uses AFINN-en-165


Press 1 for a single player game. Press 2 for a double player game.
Player 1 moves using the Q and A keys. Player 2 moves using the P and L keys.
Esc - to abandon a game.


A flexbox demo brought to you each Friday
by the folks at
Lincoln Loop
.
Week #:
Full demo description will be here.
View Demo
Read Post
Week #:
Full demo description will be here.
View Demo
Read Post


Hot Restaurant
Book your seat before they are all gone!
View Tables
Make Reservation
API Table Link
|
API Wait List


You can create an export of your selected tasks.
This operation will generate and download a JSON file.
There is no task registered, yet.


Lab: Tuesday 8-9:30am, Soda 273
Discussion: Thursday 6:30-8pm, Wheeler 224
Office Hours: TBA
Email: jessica.yu<EMAIL_ADDRESS>August 26 |
Discussion 0: Welcome and Introduction |
Slides |
September 2 |
Discussion 1: Control and Environment Diagrams |
Slides |
September 9 |
Discussion 2: HOFs and Lambda |
Slides |
September 16 |
Discussion 3: Recursion |
Slides |
September 23 |
Discussion 4: Tree Recursion and Lists |
Slides |
September 30 |
Discussion 5: Trees |
Slides |
October 7 |
Discussion 6: Mutability and Generators |
Slides |
Last updated: October 7, 2021


6. Using DataContext
6.1 Obtaining DataContext
Depending on deployment environment and application needs, Cayenne can be configured in a few
different ways to make DataContext instances available. This is discussed in detail in deployment chapter. In this chapter we assume a properly
deployed application and will concentrate on how to obtain a DataContext for the database access.
The following are the most common ways to achieve that:
6.1.1 Creating DataContext on the Spot
A new DataContext instance normally can be created using the following code:
import org.objectstyle.cayenne.access.DataContext;
...
DataContext context = DataContext.createDataContext(); |
This approach may be used in standalone applications, where the notion of a "session" is user-defined.
In web applications the correct instance of DataContext is usually bound to a session or a request thread
externally, and all that is needed is to retrieve it, as discussed below. Creating a new DataContext for each
request is not a recommended practice.
6.1.2 Retrieving Session-Bound DataContext in Web Applications
A web application can be configured to automatically create a new instance
of DataContext for each new HttpSession, and set it as a session attribute.
Retrieving it from a session is done with the following code:
import org.objectstyle.cayenne.conf.BasicServletConfiguration;
import org.objectstyle.cayenne.access.DataContext;
...
// assume this exists
HttpSession session;
DataContext context = BasicServletConfiguration.getDefaultContext(session); |
6.1.3 Retrieving Thread-Bound DataContext.
An application can bind a DataContext to a current execution thread. Later on the code that needs DB access
can retrieve this DataContext without making any assumptions about the environment. This approach is universal and works in
all types of applications (web, standalone, etc.). Previously bound DataContext can be retrieved by calling
DataContext.getThreadDataContext() static method. If no DataContext
was bound to the current thread, this method throws IllegalStateException:
import org.objectstyle.cayenne.access.DataContext;
...
// we are positive there is DataContext in the current thread, and do not want
// to handle possible exception...
DataContext context = DataContext.getThreadDataContext(); |
import org.objectstyle.cayenne.access.DataContext;
...
// we want to handle the condition of no thread context...
try {
DataContext context = DataContext.getThreadDataContext();
}
catch(IllegalStateException ex) {
// handle failure
....
} |
6.1.4 Multiple DataDomains (Advanced)
Cayenne can be configured to support mass database hosting. This is a so-called
Application Service Provider (ASP) scenario. Basic architecture of such setup
is a single application supporting multiple databases (or more generally - data sources),
each one with same or similar schema. Each data source corresponds to an individual ASP
"customer" using the system. Each customer has a number of users that will log in to the
system and are only allowed to view data from their data source.
This approach, though not required for most normal applications, could be quiet common
and powerful in some enterprise systems. To implement it, each DataContext must be limited
to access only a relevant subset of datasources.
Considering that behind the scenes a source of
DataContext instances is an object called DataDomain, Cayenne allows creation of multiple
DataDomains per project. Each DataDomain would
support a single "customer". Creation of DataContext in this case is done using DataDomain name
as a parameter:
import org.objectstyle.cayenne.access.DataContext;
...
// domain name string is initialized depending on
// the application logic. For instance it can be based
// on the logged in user's company, etc.
String domainName = ...;
DataContext context = DataContext.createDataContext(domainName); |
|


'I thought it was scaremongering' - Lyric FM presenter in disbelief over plan to close Limerick stuido
by By David RaleighSeasoned RTÉ Lyric FM presenter Lorcan Murray said he learned of the proposed closure of the station’s studio headquarters in Limerick, through a text message last night, sent from a friend who had seen the news online.
“A friend of mine sent me a text at 11.30pm last night, asking me had I seen The Irish Times online. I was just going to bed. So, there you go. So, The Irish Times knew about it before I did,” Murray said.
Sources at Lyric said they felt “snubbed” by RTÉ in the way station bosses handled the announcement.
For Murray however, who left 2FM to join Lyric, and launch the station in Limerick 20 years ago, last night’s news came as something of a bombshell.
Speaking this morning, he remarked how it was a particularly bitter pill to swallow, having felt that he and his colleagues have been “very loyal” employees.
It’s just so disappointing. I’m 31 years now with RTÉ and I would call myself a very loyal employee, and I feel very disappointed in the way I’ve been told.
Murray recently approached the mayor to seek support for keeping the studios on air in Limerick.
“I had asked him to put forward a motion before the Council for all parties to endorse holding Lyric in Limerick.”
READ MORE
'Radical change is unavoidable' - RTÉ chair says change to TV licence fee needed
Last May, Lyric’s Limerick staff outwardly maintained a positive outlook, despite their inner concerns about the studio’s future, after RTÉ announced it would hold Lyric’s 20 year celebrations in Dublin.
The decision not to hold the celebrations in Limerick was defended at the time on “cost grounds” by the Head of Lyric FM, Aodan O Dubhghaill.
After the announcement last May, Murray maintained that having a national radio station based locally was “a great feather in the cap” for Limerick.
Today, Murray, who steers the station’s flagship drivetime programme, Classic Drive, said he was gobsmacked by RTÉ's plan closing down Lyric in Limerick.
“I didn't think it would come to be honest, I thought it was scaremongering to be honest, you know - holding out the baby. I’ve had around 30 calls, since 8am from friends, saying they can’t believe it,” he said.
RTÉ Director General Dee Forbes is due to address staff in Limerick today about the plans.
Menawhile, Labour TD for Limerick Jan O'Sullivan criticised the plans to move Lyric FM to Dublin and Cork.
"RTÉ is a national public service broadcaster and not a Dublin public service broadcaster," she said.
“Lyric FM is part of the cultural fabric of Limerick and I cannot see how a once off windfall from closing the studio will generate enough money to cover the organizations financial difficulties."
- Additional reporting Joel Slattery
READ MORE
RTÉ delayed job cut announcement because of death of Gay Byrne


@* dealornodeal Template File *@ @(game: AvailableKey, dealBoard: play.api.libs.json.JsValue) @main("Play a game!", "deal-or-no-deal-body") {
It's classic "Deal or no Deal". You'll start off by picking "Your case" and then pick remaining cases from the board.
As you're picking, you'll receive "offers" from the banker which you can accept or refuse.
Finally, with one case left you can either switch cases or keep yours before revealing the amount in your case.


Your Beginning
Location:
Lat.:
Long.:
Your Ending
Location:
Lat.:
Long.:
How many seeds?
Reducer Function
function(point){
return point.lat * point.lon;
}
Some seedy goodnes
Regenerate


WFC Technical Note 001 - Library Overview
$Revision: 1 $ Last Modified $Date: 9/21/98 7:58a $
Introduction
Win32 Foundation Classes (WFC) is a library of C++ classes
that extend Microsoft Foundation Classes (MFC) to do NT
specific things. Microsoft has chosen to focus their efforts
on making MFC do pretty GUI things rather that application
development things. MFC views the world through GUI colored
glasses. There's no real support for doing any sort of
interesting application in MFC. Oh sure, there's database
support but that is GUI-slanted (assumes the application
will present the database in a GUI).
Peaceful Coexistence
My strategy in building applications is to divide the problem
into two domains, Engine and Interface. The Engine is what does
what the application is supposed to do.
Samuel R. Blackburn


7 YEARS
1 YEAR
I've worked for 5 years as an Android Developer in Japan.
In my former company, customizing the Android OS for making new products was my work by using mainly Java and C++.
Individualy, I’ve released some Android Apps as the Developer, HoNKoT.
Now, I’m studying Web Design and iOS App developing as a student in Vancouver.
I’ve created a Dental Clinic Website in Japan by Wordpress.
I can do Customizing Android OS and Developing Apps.
I have some experiences as an employee and individual programmer
For 7 years.
I can do Developing iPhone/iPad Apps.
Even if I learned as a student and just created some Apps in the class
For a half year.
I can do Establishing Websites.
I have some experiences creating some websites with WORDPRESS
For 1 year.


Sentree
My Interventions
Pending
History
Keywords
Resources
Toggle navigation
Keywords
Sign out
Keywords
View, modify, and delete keywords.
Add Keywords or Phrases
Remove Keywords or Phrases
Description:


This is a simple web-app that allows a person to determine the type of Triangle by entering its measurements. Please try it out
There are various shapes that exists. However, the triangle is the most challenging shape to identify depending on its properies. Accordingly, mathematicians have been able to record three types of triangles depending on its measurements. The scalene triangle, the Isosceles triangle and the Equirateral triangle. The calculator above helps in identifying these three types of triangles. Althought there exist more.


 Random link and many other things.
 Another random link and many other things.
Right Drawer stuffs... just another right Drawer, being a right Drawer, doing right Drawer things. ...random link and many other right-side things.


class CookieConfiguration
CookieConfiguration() |
var domain: String? |
|
var duration: TemporalAmount |
|
var encoding: CookieEncoding |
|
val extensions: MutableMap<String, String?> |
|
var httpOnly: Boolean |
|
var path: String? |
|
var secure: Boolean |


|
UART Terminal
V2.0
UART terminal with support ECMA5.1
|
GUI window graph component. More...
Go to the source code of this file.
Data Structures | |
| struct | graph_buffer_t |
| struct | signal_buffer_t |
GUI window graph component.
Definition in file in_js_gui_graph_cpp.cpp.


While cementing the sense of academic excellence, the college gives rich opportunities to the students to gain Communication Skills, Personality Development, Emotional Quotient and Intelligence Quotient, Organizational skills and Leadership qualities through co-curricular and extra-curricular activities. To hearten the skills and to embellish the study, students participate in various skill- rendering events of paper presentation, Technical quiz, Debugging, Network game, ad zap, Dumact which are conducted by various colleges.
Co- Curricular Activities
Sports and extracurricular activities are encouraged, to promote a balanced lifestyle and to build team spirit, managerial skills , enable students to find outlets to beat stress in the highly competitive environment that they have to face in the world today. These activities are taken care by the activity centre which encourages, guides the students to participate in sports, paper presentations, project contests, NSS, NCC various other programmes.Every year Fresher’s party/ farewell & Annual day celebrations are regularly organized to dig their hidden talents. Students participate in many activities and make the occassions more vibrant withEach department plays a crucial role in encouraging the students to attend technical paper presentations, Symposia, seminars, quizzes, etc.


Upload all your relevant xsl and xml files for this function.
- multiple implementations or usecases will require to fill in previous function definition form again, this will be streamlined in the future.
http://www.exslt.org/submissions.html


Text fields allow users to input, edit, and select text.
They typically reside inside forms, but can also be used in modal dialogs and subnavigation bars. Input text fields are
also used for
search and filtering of content.
Example
Input with Validation
Validate an email addressEmail address is required


|
MockitoAutoFactoryMaker
|
open class MockitoAutoFactoryMaker : SpecialObjectMaker
An implementation of SpecialObjectMaker that creates mock factories which in-turn query the dependencyProvider for a real binding when their methods are called. Mockito is used to mock the factory classes with a default answer. Upon invocation, that default answer will query the dependencyProvider for a key based on the invoked method's return type (and the factory's optional qualifier annotation). This class should support most generic factory types.
|
|
MockitoFieldPreparer
|
open class MockitoFieldPreparer : FieldPreparer |
|
MockitoMockerConfig
|
open class MockitoMockerConfig : MockerConfig
A MockerConfig for Mockito.
|
|
MockitoMockMaker
|
open class MockitoMockMaker : MockMaker
A com.episode6.hackit.mockspresso.api.MockerConfig.MockMaker for Mockito
|
|
MockitoPlugin
|
open class MockitoPlugin : MockspressoPlugin
A MockspressoPlugin that applies the mockito mocker config.
|
|
MockspressoMockitoPluginsJavaSupport
(Kotlin 9999.0)
|
object MockspressoMockitoPluginsJavaSupport
Expose the extension methods defined here as MockspressoPlugins for consumption by java tests
|


The ProgressBar can be used within other widgets. Here we are using Yahoo! Query Language, YQL looking for Sushi restaurants in San Francisco, CA. and displaying the information in a YUI DataTable. We are showing some of the plain text fields as such, but for the ratings of the restaurants we are using the ProgressBar.
The Ratings from the query are being represented by YUI ProgressBars.
YQL allows to query some of YAHOO! vast databases using a language similar to SQL. The query for this examples is:
which can be tested by pasting it into the YQL Console. YQL replies directly to an HTTP request with the search results either in XML or JSON format, this last being suitable to be used with the YUI Get utility. However, we are using a freely available subclass of YUI DataSource which handles the communication with YQL for us.
The code to build the DataTable on that query is:
We are drawing a simple DataTable with four columns, the first three of them, Title, Address and Phone are simple
text fields that are displayed just as they are received. The fourth field is the one we are interested in.
The query returns that field nested within the structure of each record. The property Rating
is actually
an object which contains several other properties and from those we choose AverageRating
, thus, we
use the composite field name Rating.AverageRating
both in the query and in the key
for the
column definitions. Since that is not an acceptable label for the column header, we have to provide one.
Initially, this will also be drawn as a simple text field. All columns are sortable, even the Ratings column.
We will listen to DataTable's renderEvent
to know when the table has been drawn.
At that point, we will search for the cells containing the rating and replace it with the ProgressBar:
The DataTable marks each cell with a className with a prefix of 'yui-dt-col-'
followed by its sanitized column key value,
to ensure it is a valid className. We use Dom's getElementsByClassName
to locate each <td> element of that className
and execute a function that locates the liner element, which is the one that actually contains the value displayed.
We read the value into variable val
, empty the cell and finally draw the ProgressBar.
This is done in the single line that takes the value just read and renders it in the same liner element.
The stars come from this single star which the ProgressBar tiles until it fills the allotted space. The style settings for this example is:
We are using .yui-skin-sam .ratings
as a selector in all the styles.
We use the yui-skin-sam
for basic skinning in all the page, including the DataTable, so we need to
override some of its settings. We gave the ratings
className to all the ProgressBars
as one of the arguments in their instantiation. Since the star is in a square 20px on a side and ratings go up to 5,
we draw the bars of 100px * 20px and, since the icon fades to white, we set the background to white as well.
In the second definition, we set the background image for the bar itself to the star icon.
We leave the borders that the SAM skin provides.
A simpler way might have been to use the formatter function on the columns definition of the DataTable to draw
the ProgressBar for each cell when building the table. Unfortunately, the formatter is called while the DataTable row
has not been added to the DOM document yet. At that point, the CSS styles above wouldn't work because the yui-skin-sam
is in the document body so the width and height wouldn't be set and all the rest of the elements would be resized incorrectly.
 Just as with most YUI components
the ProgressBar has a destroy
method which makes certain nothing is left behind taking up memory.
In some operations like sorting, the DataTable draws each cell anew, ignoring its previous contents. Though this
takes care of the HTML markup produced, it does not frees the memory taken by the ProgressBar object instances themselves.
In this example we are keeping no reference to the ProgressBars created nor to any of the other components, for that matter.
We should keep this references and make sure to run through them calling the destroy
method when the DataTable
is about to destroy them.


Come for the software, stay for the community
Migrate !
RESTAPI \o/
getting off the island
Encore des questions ?
Guillaume Bec - @Bes_fr


Frequent Questions
Is Charitable Heroes a nonprofit?
No. Charitable Heroes is a social enterprise registered as a L3C (low-profit, limitied liability company) in the great state of Wyoming. But all of the founders live in Indiana, and we conduct our business from the Hoosier state.
When do you charge my credit card?
With our current setup, your credit card is charged immediately. Stripe is currently used for our payment processing needs.
What happens to my entry fee?
At this time, Charitable Heroes, L3C holds your entry fee in our bank account. Our site is still undergoing development. We plan to move to a format pioneered by Selfstarter which will allow us to take registerations by entrants, but not charge anyone's credit card until we have met our goal for participation. This is coming soon.
When will the winner be choosen?
Currently, we are planning to announce the winner in December of 2014. We believe that a year of judging will be required to give each entrant a good look. Please note, we reserve the option to extend this period by up to six months.


Note
This documetation covers PyWavelets 0.2 release. Documetation for the 0.1.6 release is still available at http://www.pybytes.com/pywavelets/0.1.6/.
Contents:
Overview
Enter search terms or a module, class or function name.


Logged {{ chronGame.chronicle.timestamp | date }}
An Oath of {{ chronGame.game.oath }}
{{ activeHistory }}: {{ chronGame.chronicle.playerNames[activeHistory] ? 'Played by ' + chronGame.chronicle.playerNames[activeHistory] : 'No logged player' }}
{{ chronGame.chronicle.playerActions[activeHistory] || 'This player either has no recorded information or was absent from the game.' }}


The Start - Track IVC
I built this website when I was in Community College. During my time as the student government president, I recognized the hassle and frustration clubs has to go through to manage their account. I wanted to build something that will ease such process. I spent my summer learning Docker, Python, PostgreSQL, and html but unfortunately, I wasn't able to delopy it on AWS.
Nonetheless, I am proud of my creation.
Visit
FoodieTasty
Using Yelp API to give you food recommendations based on your location and food style. You can even create your own favorite list!
Visit
Signed
An ongoing project that aims to provide details on unsigned artist. Through this project, I was able to demonstrate my knowledges on D3.js and firebase authentications.
Visit
Data-Analytic: Tailored Brand
During SCHackathon 2019, I worked on Tailored Brand's customer dataset. I used Python sklearn and panda package to preform regression analysis and build my model. Through bootstrapping, I was able to train my model with 25% accuracy in predicting customer's next purchase!
Visit
Full-Stack & Data-Analytic: Ornus Capital
This website truly demonstrate my knowledge and ability as a full-stack developer and as a data-analyst. Working with Node.js, React, Digital Ocean on the front-end, scrapping the internet and building database with Python on the back-end helped me grown tremendously.
Visit


Rock & Paper & Scissors
PREPARE YOURSELF
PLAYER
⚔
COMPUTER
F
i
g
h
t
!
Play music
GAMES RULES
CREATED BY SZYMON & DAMIAN
Ⓒ 2019


Book 1
"One minute Ari is walking through a rainforest in the middle of the day, the next she is standing in a strange field under a starry sky. In her struggle to return home she must rely on the help of five guys - a mysterious team with a secret purpose. But trust is a hard thing to build when both sides are keeping secrets."
Buy nowBook 2


Xerox threatens hostile bid following HP's takeover offer rejection
CEO says he's 'confused' by PC maker's reasoning
by Carly PageCOPIER MAKER Xerox has urged HP to reconsider its $33.5bn takeover bid, threatening that it will otherwise go hostile and make its pitch directly to shareholders.
In a letter to HP's board of directors, Xerox CEO John Visentin said that he was "very surprised" by the company's unanimous rejection of its initial takeover offer, which HP claimed "significantly undervalued" the company.
"We are open to exploring whether there is value to be created for HP shareholders through a potential combination with Xerox," HP said in a statement last week."However, as we have previously shared in connection with our prior requests for diligence, we have fundamental questions that need to be addressed in our diligence of Xerox."
Visentin stated that the Xerox board has accepted HP's request for due diligence and added that the firm is keen to take "the proposed acquisition of HP to completion". He gave the PC maker a 25 November deadline to reconsider its decision.
"Unless you and we agree on mutual confirmatory due diligence to support a friendly combination by 5:00 p.m. EST on Monday, November 25, 2019, Xerox will take its compelling case to create superior value for our respective shareholders directly to your shareholders," Xerox wrote in its letter.
He also rejected HP's claims that a takeover was not in the best interest of HP shareholders, noting that the acqusition bid represents a 29 per cent premium over HP's 30-day average trading price.
"We are confused by this reasoning in that your own financial adviser, Goldman Sachs & Co, set a $14 price target with a 'sell' rating for HP's stock after you announced your restructuring plan," he said.
Xerox isn't the only one pushing for a deal; Billionaire activist investor Carl Icahn, who holds a 10.6 per cent stake in Xerox and a 4.24 per cent stake in HP, pushed for a merger of the two companies.
"I think a combination is a no-brainer," Icahn told the WSJ, adding in that he strongly believes "in the synergies" the two companies would enjoy if they combined.
"There will probably be a choice between cash and stock and I would much rather have the stock, assuming there's a good management team," he added. µ
Further reading
HP board unanimously rejects Xerox's £26bn takeover bid
- 18 Nov 2019
Carl Icahn urges 'no brainer' merger of HP and Xerox
- 14 Nov 2019
$8bn Xerox wants to buy $27bn HP
- 06 Nov 2019
Xerox beats its chest at Google and Yahoo
- 24 Feb 2010


References
[]
Bret B. Welch,
TCL & TK Pratical programming.
[]
Ph. Ar Foll,
FRIDU Configuration Tools.
[Table of contents]


{% extends 'logged_in_base.html' %} {% load static %} {% block css_imports %} {% endblock %} {% block moremodals %}
{% if successful_verified %}Upon activation of the Movie Night, you will be sending {{ subs|length }} emails to the following emails associated to location {{location}} :
{{email|safe}}
The state of your email list is {{health|safe}}. {% if not statusok %} This means that the following email addresses from members are not found in either the subscribed nor the unsubscribed list of the mailing list:
{{email|safe}}


AngularJS-NodeJS-MongoDB
Home
Products
Are you up to our Technical Challenge?
This is a AngularJs demo app.
List products
App by Ovidiu Bularda