text: A very sensitive and selective spectrofluorometric method has been developed for Hg(II) determination in pharmaceutical and environmental samples. The method is based on measuring the decrease in fluorescence intensity of murexide after binding Hg(II). The intensity of the fluorescence emission peak was measured at ex/em 335/435 nm in several buffer solutions (acetic acid/acetate, NaH2PO4/Na2HPO4, NH4+/NH3) targeting the pH interval 3.0-9.0. The fluorescence intensity decrease was found to be linear in the concentration range of 8 x 10(-7) to 1 x 10(-5) M of Hg(II) by using 5 x 10(-5) M murexide in 0.1 M acetic acid/acetate buffer at pH 4.2. The detection limit was 2 x 10(-7) M. This method was found to be almost free of interference from large excesses of 40 cations and anions. The method was successfully applied to the analysis of Hg(II) in synthetic mixtures, pharmaceutical preparations, and wastewater samples. The recovery was quantitative and the standard deviation for 10 replicates of a sample containing 1 x 10(-6) M Hg(II) was lower than +/-4%.


OQL RANGEEND
Last update: Edit
1 Description
The RANGEEND function extracts the end value of a range parameter.
RANGEBEGIN and RANGEEND are OQL functions that use a parameter, and OQL parameters are only available in datasets (which are used for generating a report). When you create a page and add a report that has a dataset, you can use RANGEBEGIN and RANGEEND in that dataset.
2 Syntax
The syntax is as follows:
RANGEEND ( $range )
$range specifies the range parameter.
3 Example
This is an example of using a range in OQL, where $range is set to last week, which will give you all the customers born in the last week:
SELECT FirstName AS First, LastName AS Last, Name AS Name, Birthday AS BDay, CustomerType AS Type FROM Sales.Customer
WHERE Birthday IN ($rangeLastWeek)
This example uses the RANGEEND function in the WHERE clause, which will give you all the customers born since the end of last week:
SELECT FirstName AS First, LastName AS Last, Name AS Name, Birthday AS BDay, CustomerType AS Type FROM Sales.Customer
WHERE Birthday > RANGEEND($rangeLastWeek)


One Piece Encyclopedia
One Piece Encyclopedia:Name Spellings
Redirected from Name Spellings
4,209pages on
this wiki
One of the problems sometimes that crops up when using the Japanese naming system is a character will end up with many name spellings.
Why does this happen?Edit
Well, for one Eiichiro Oda does not always supply the correct spelling of a name in English text, in some cases you only see it written in the Japanese text. Sometimes when he does supply the name he will use several variations of the spelling, such as the One Piece money, which has been called both 'Belly' and 'Berry' by Oda. Oda also does not speak English and therefore may occasionally make mistakes himself.
Translators of the raw Japanese manga will often attempt to spell the name, problem is there are sometimes problems with translating from Japanese to English. A good translator will recognise certain Japanese text, such as 'Emiri' are actually how the Japanese are trying to spell the name 'Emily'. A not so good one will take a guess at what they think the name means. Some will take the Japanese text literally as the name without realising it may be the Japanese ways of spelling a non-Japanese word. So 'Emiri' will be translated literally as 'Emiri'.
Usually, most mistranslations are cleared up when the anime airs as the correct pronunciation is revealed. This results in fans of the Japanese version being able to hear clearly for the first time what the name is. However even this is not without problems. Some names sound very close to Japanese words such as 'Chew' sounds like 'Chuu', resulting in more name related errors. Others led to further mistranslations or spelling because of how the Japanese speakers pronounce certain words (example; 'Lice' may end up sounding like 'Rice'). Mostly anime related misspellings are usually made by fan-subbers subbing the series from the Japanese version. Followers of the Fan-sub will then copy, but this is not always the case.
Many spelling mistakes and misnames can be considered no different to art errors made by anime producers when mangaka have yet to produce the actual colours for the character.
Sources for Name ProofEdit
 - Names that appear in the Manga.
 - Names revealed in a SBS
 - Names revealed by the Data Books
 - In the case of Filler characters, if their name is even revealed in the episode/movie/game in Latin text, use that.
 - Shounen Jump magazine itself as a source. There have been reports of mistakes made in the past and confusions with character polls.
 - Merchandise based names, these have been noted to use incorrect names in the past (and even misspellings).
 - Game spellings. Examples exist such as "Flanky" and "Lobin" when the correct names should have been "Franky" and "Robin".
 - Anime spellings. Notably even well estalished names can end up being mispelt (Example; during the Water 7 arc "Nico Robines" can be seen on a wanted poster instead of "Nico Robin").
What examples are there?Edit
There are several, like the following:
 - Jaguar D. Saul; also sometimes is written as Hagawa D. Saulo, Jagaur D. Saulo. As of yet there has been no release of his name in anything but Japanese text.
 - Bon Kurei; Because of how his name sounded in the anime, was known as Bon Clay until his wanted poster revealed his correct name in the manga. Some fans still choose to use "Bon Clay" as it is the name they know him by the most.
 - Chew; In the databook One Piece Red: Grand Characters his name is written as "Chew", however most fans say the similar Japanese word "Chuu" is his name.
For more examples see Name Variants.
How do we Handle this?Edit
Until a English text version of a name is revealed, here on Wikia the most popular version of the name will most likely end up being used. After the true spelling is revealed, if that is incorrect, there will be a redirect set up on the page. All information on the page will be transferred to the correct entries name.
If all else fails, the last thing to use is an English dub version. However, this causes problems. See Japanese Vs English names for more details.
See alsoEdit
Site NavigationEdit
[v · e · ?]
User Handbook
Around Wikia's network
Random Wiki


text:
Klas Robert Elias Fries, 1914
Medium - Maximum
This member of the Passifloraceae
was given this name by Klas Robert Elias Fries in 1914. It is found in Zambia, growing in a well drained soil with
some water and some too lots of sun. The caudex can grow to twelve centimetres in diameter, the
to 60 centimetres in height.
The name Adenia
is derived from aden, meaning gland, and pertains to the glands
found on leaves of most of the species.
The species name means "bearing a

source: openbmb/Ultra-FineWeb


Libraries
First, we need to import the following libraries:
import seaborn as sns
import matplotlib.pyplot as plt
Dataset
We'll use the iris dataset that is available using the load_dataset() function from seaborn
df = sns.load_dataset("iris")
Flipped histogram
Flipping a histogram with seaborn is easy: you just have to specify that you want to display it on the y axis.

sns.set_theme(style="darkgrid")
# Create the plot
sns.histplot(data=df, y="sepal_length")
plt.show()
Flipped histogram with density estimation
If you want to add the density estimation, you have to add kde=True in the histplot function

sns.set_theme(style="darkgrid")
# Create the plot
sns.histplot(data=df, y="sepal_length", kde=True)
plt.show()
Going further
This post explains how to create a flipped histogram with seaborn.
You might be interested in creating histogram with multiple groups or controlling the bins.
Contact & Edit
👋 This document is a work by Yan Holtz. You can contribute on github, send me a feedback on twitter or subscribe to the newsletter to know when new examples are published! 🔥
This page is just a jupyter notebook, you can edit it here. Please help me making this website better 🙏!


LVM, TLC NAND and the power of 2 problem
Now when you just create a few partitions and ensure they are aligned, this is not going to be an issue. However, if you use LVM and intend to create and delete a lot of logical volumes over time, you'd want them to be aligned on the erase block. With current versions of LVM, you can't do that for TLC NAND drives. LVM requires a physical extent size that is a power of 2 – and there is no number that is both a power of 2 and dividable by 1.5.
There are two workarounds that I have found:
 - Create a VG with 512kb physical extents and always make sure that you use lvcreate with an extent count that is a multiple of 3
 - Create a VG with 1MB physical extents and always make sure that your newly created volumes are multiples of 3MB
However, neither of these workarounds allow for the "set it and forget it" benefits of LVM, because they cannot be enforced – if you forget to keep this in mind or make a math error, your alignment will be off. You also can't rely on other tools to create volumes for you because they may not allow for such granularity in choosing sizes.
This is ultimately a limitation of LVM that it should overcome, but I have not found any evidence that it can work without its power-of-2 requirement. I need to take this up to the mailinglist, but until that time, here's a quick script that will verify the alignment of logical volumes in a volume group:
The output will look something like this:
In the example above, there are a number of extents that were deliberately misaligned as they were not divisible by 3.
To find out which logical volume the misaligned extents belong to, you can use lvdisplay -m and search the output for the extent number.
Leave a Reply
Human Test *


text:
|| Checking for direct PDF access through Ovid
Research with human subjects is essential for most clinical and social science research. As such, the ethical treatment of subjects, including the role of Institutional Review Boards (IRBs), is of paramount concern. The prevailing system of IRBs in the United States reflects an integrated approach in which research organizations have their own local IRB. Recent regulatory changes and a few high-profile problems have prompted proposals for greater investments in IRBs.We conducted regression analyses, looking at how IRB size was associated with IRB costs (economies of scale).We studied data from a cross-sectional survey.We studied IRBs at Veterans Affairs (VA) and VA-affiliated medical centers (n = 109); 81 (73%) IRB administrators completed the survey. Fourteen of the administrators had missing data and were excluded from final analysis, leaving a sample of 67.The primary dependent variable was IRB costs in 2001, which we estimated from the survey. Independent variables included IRB size measured as the number of actions (ie, number of initial reviews, amendments, continuing/annual reviews, and harms/adverse event reports) reviewed by the IRB in the last year.The results indicate that very large economies of scale exist, especially for IRBs that handle fewer than 150 actions per year.A discussion of the costs of benefits of having 3000 to 5000 local IRBs in the United States is warranted because other organizational arrangements could be economically and socially advantageous.


Documentation Center
 - Trial Software
 - Product Updates
EVM Measurements for a 802.15.4 (ZigBee®) System
This example shows how to use the COMM.EVMCOMM.EVM System object to measure the error vector magnitude (EVM) of a simulated IEEE® 802.15.4 [ 1 ] transmitter. IEEE 802.15.4 is the basis for the ZigBee specifications.
Error Vector Magnitude (EVM)
The error vector magnitude (EVM) is a measure of the difference between a reference waveform, which is the error-free modulated signal, and the actual transmitted waveform. EVM is used to quantify the modulation accuracy of a transmitter. [ 1 ] requires that a 802.15.4 transmitter shall not have an RMS EVM value worse than 35%.
System Parameters
An 802.15.4 system for 868 MHz band employs direct sequence spread spectrum (DSSS) with binary phase-shift keying (BPSK) used for chip modulation and differential encoding used for data symbol encoding.
dataRate = 20e3; % Bit rate in Hz
M = 2; % Modulation order (BPSK)
chipValues = [1;1;1;1;0;1;0;1;1;0;0;1;0;0;0];
 % Chip values for bit 0.
 % Chip values for 1 is the opposite.
Section 6.7.3 of [ 1 ] specifies that the measurements are performed over 1000 samples of I and Q baseband outputs. To account for filter delays, we include 1 more bit in the simulation of the transmitted symbols. We chose to oversample the transmitted signal by four. We assume an SNR of 60 dB to account for transmitter and test hardware imperfections.
numSymbols = 1000; % Number of symbols required for one EVM value
numFrames = 100; % Number of frames
nSamps = 4; % Number of samples that represents a symbol
filtSpan = 8; % Filter span in symbols
gain = length(chipValues); % Spreading gain (number of chips per symbol)
chipRate = gain*dataRate; % Chip rate
sampleRate = nSamps*chipRate; % Final sampling rate
numBits = ceil((numSymbols)/gain)+1;
 % Number of bits required for one EVM value
SNR = 60; % Simulated signal-to-noise ratio in dB
We can obtain BPSK modulated symbols with a simple mapping of 0 to +1 and 1 to -1. If we also map the chip values, then we can modulate before bit-to-chip conversion and use matrix math to write efficient MATLAB® code. ZigBee specifications also define the pulse shaping filter as having a raised cosine pulse shape with rolloff factor of 1.
% Map chip values
chipValues = 1 - 2*chipValues;
% Design a raised cosine filter with rolloff factor 1
hTxFilter = comm.RaisedCosineTransmitFilter('RolloffFactor', 1,...
 'OutputSamplesPerSymbol', nSamps,...
 'FilterSpanInSymbols', filtSpan);
hRxFilter = comm.RaisedCosineReceiveFilter('RolloffFactor', 1,...
 'InputSamplesPerSymbol', nSamps,...
 'FilterSpanInSymbols', filtSpan,...
 'DecimationFactor', nSamps);
EVM Measurements
The Communications System Toolbox™ provides COMM.EVM to calculate RMS EVM, Maximum EVM, and Xth percentile EVM values. Section 6.7.3 of [ 1 ] defines the EVM calculation method, where the average error of measured I and Q samples are normalized by the power of a symbol. For a BPSK system, the power of both constellation symbols is the same. Therefore, we can use the 'Peak constellation power' normalization option. Other available normalization options, which can be used with other communications system standards, are average constellation power and average reference signal power.
hEVM = comm.EVM('Normalization', 'Peak constellation power')
hEVM =
 System: comm.EVM
 Normalization: 'Peak constellation power'
 PeakConstellationPower: 1
 MaximumEVMOutputPort: false
 XPercentileEVMOutputPort: false
We first generate random data bits, differentially encode these bits using a DifferentialEncoderDifferentialEncoder System object, and modulate using BPSK. We spread the modulated symbols by employing a matrix multiplication with the mapped chip values. The spread symbols are then passed through a pulse shaping filter. The EVM object assumes that received symbols, rd, and reference symbols, c, are synchronized, and sampled at the same rate. We downsample the received signal, r, and synchronize with the reference signal, c.
[ 1 ] requires that 1000 symbols be used in one RMS EVM calculation. To ensure we have enough averaging, we simulate 100 frames of 1000 symbols and use the maximum of these 100 RMS EVM measurements as the measurement result. We see that the simulated transmitter meets the criteria mentioned in Error Vector Magnitude section above.
% Tx and Rx filter delays are identical and equal to half the filter span.
% Total delay is equal to the sum of two filter delays, which is the filter
% span of one filter.
refSigDelay = hTxFilter.FilterSpanInSymbols;
% Simulated number of symbols in a frame
simNumSymbols = numBits*gain;
% Initialize peak RMS EVM
peakRMSEVM = -inf;
% Create a comm.DifferentialEncoder object to differentially encode data
hdiffenc = comm.DifferentialEncoder;
% Create an comm.AWGNChannel System object and set its NoiseMethod property
% to 'Signal to noise ratio (SNR)'
 'SNR', SNR);
% Loop over bursts
for p=1:numFrames
 % Generate random data
 b = randi([0 M-1], numBits, 1);
 % Differentially encode
 d = step(hdiffenc, b);
 % Modulate
 x = 1-2*d;
 % Convert symbols to chips (spread)
 c = reshape(chipValues*x', simNumSymbols, 1);
 % Pulse shape
 cUp = step(hTxFilter, c);
 % Calculate and set the 'SignalPower' property of the channel object
 hChan.SignalPower = sum(cUp.^2)/length(cUp);
 % Add noise
 r = step(hChan, cUp);
 % Downsample received signal. Account for the filter delay.
 rd = step(hRxFilter, r);
 % Measure using the EVM System object
 rmsEVM = step(hEVM,...
 complex(rd(refSigDelay+(1:numSymbols))),...
 % Update peak RMS EVM calculation
 if (peakRMSEVM < rmsEVM)
 peakRMSEVM = rmsEVM;
% Display results
fprintf(' Worst case RMS EVM (%%): %1.2f\n', peakRMSEVM)
 Worst case RMS EVM (%): 0.19
We showed how to utilize COMM.EVM to test if a ZigBee transmitter complies with the standard specified EVM values. We used a crude model that only introduces additive white Gaussian noise and showed that the measured EVM is less than the standard specified 35%.
Selected Bibliography
 1. IEEE Standard 802.15.4, Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Networks, 2003.
Was this topic helpful?


002616-Minimize-the-Maximum-Difference-of-Pairs
Problem
_URL_
You are given a 0-indexed integer array nums and an integer p. Find p pairs of indices of nums such that the maximum difference amongst all the pairs is minimized. Also, ensure no index appears more than once amongst the p pairs.
Note that for a pair of elements at the index i and j, the difference of this pair is |nums[i] - nums[j]|, where |x| represents the absolute value of x.
Return the minimum maximum difference among all p pairs. We define the maximum of an empty set to be zero.
Example 1:
Input: nums = [10,1,2,7,1,3], p = 2 Output: 1 Explanation: The first pair is formed from the indices 1 and 4, and the second pair is formed from the indices 2 and 5. The maximum difference is max(|nums[1] - nums[4]|, |nums[2] - nums[5]|) = max(0, 1) = 1. Therefore, we return 1.
Example 2:
Input: nums = [4,2,1,2], p = 1 Output: 0 Explanation: Let the indices 1 and 3 form a pair. The difference of that pair is |2 - 2| = 0, which is the minimum we can attain.
Constraints:
1 <= nums.length <= 105 0 <= nums[i] <= 109 0 <= p <= (nums.length)/2
Solution
binary search,
 1. sort array
 2. check each mid number can form p pairs
 3. find the min value and return
class Solution:
 def minimizeMax(self, nums: List[int], p: int) -> int:
 n = len(nums)
 def can_form_pairs(target, numPairs):
 idx, count = 0, 0
 while idx < n-1:
 if nums[idx+1] - nums[idx] <= target:
 count += 1
 idx += 2
 else:
 idx += 1
 return count >= numPairs

 nums.sort()
 left, right = 0, nums[-1]-nums[0]
 while left <= right:
 mid = (left+right)//2
 if can_form_pairs(mid, p):
 right = mid - 1
 else:
 left = mid + 1
 return left
Last updated


(.) == NROW(.))
ensure_square(matrix(1:20, 4, 5))
Error: conditions failed for call 'rmarkdown::render(" .. ecking/index.Rmd", ':
 * NCOL(.) == NROW(.)
vctrs::vec_assert(c(1, 2), "character")
Error in 'vctrs::vec_assert()':
! 'c(1, 2)' must be a vector with type .
Instead, it has type .
vctrs::vec_assert(c(1, 2), size = 3)
Error in 'stop_vctrs()':
! 'c(1, 2)' must have size 3, not size 2.
 - check is slightly different because it doesn't provide utilities that work out of the box, but rather tools to assist you in writing your own checking functions
library(check)
check::setup()
set_check_fun(
 "'{var}' must be a {type} vector of length {length}." = {
 val <- get(var, env)
 is.atomic(val) && is(val, type) && length(val) == length
 }
)
say_hello <- function(name) {
 check(
 "'name' must be a character vector of length 1."
 )
 paste("hello", name)
}
say_hello("Maria")
[1] "hello Maria"
say_hello(c("Maria", "Noelia"))
Error: 'name' must be a character vector of length 1.
There is no 'one-size-fits-all'
We have presented here different approaches but it is up to you, the developer, to decide which approach suits your needs best. We do not believe that one choice is intrinsically better than the others. All the workflows presented here can achieve the same result. Your choice may be influenced by several factors we cannot take into consideration here: who is your target audience? Will they be okay with somewhat technical terminology in the error messages? Do you have reasons to try and limit the number of dependencies 5? Which framework are you the more comfortable with and will facilitate maintenance in the future? And ultimately, what is your personal preference?
If you would like to hear various point of views and a more in-depth discussion about this, please refer to the pull request related to this post.
What about the future?
In this post, we have discussed some methods to check function inputs, and to generate more informative error messages when doing so. However, this always comes with a performance cost, even though it's often relatively limited. Zero-cost assertions, as found in some other languages, would require some kind of typing system which R does not currently support. Interestingly several other languages have evolved to have typing systems as they have developed. Typescript developed as an extension of JavaScript, and type annotations are now possible in Python. Will R one day follow suit?
 1. Some package developers even developed their own standardized way to document argument types and length. But there is currently no standard shared across the R community. ↩
 2. Read the tidyverse style guide for more guidance on how to write good error messages. ↩
 3. The Don't Repeat Yourself (DRY) principle of software development, also mentioned in this post on caching ↩
 4. See this earlier blog post for more information about why and who you would go with writing internal functions. ↩
 5. This is a complex discussion often caricatured, but that has already been treated on some occasions such as this blog post from Jim Hester. ↩


Selected useful Mongodb queries
Group by date:
db.getCollection('images').aggregate(
 [
 {
 $group: {
 _id : { month: { $month: "$datetime.utc_timestamp" }, day: { $dayOfMonth: "$datetime.utc_timestamp" }, year: { $year: "$datetime.utc_timestamp" } },
 count: { $sum: 1 },
 latitude: { $avg: "$latitude"},
 longitude: { $avg: "$longitude"},
 }
 }
 ]
)
Creating a 2-D geospatial index on an Earth-spheroid.
db.images.createIndex({"location": "2dsphere"})
Finding documents near a point:
db.images.find({
 "location": {
 $near: {
 $geometry: {
 type: "Point",
 coordinates: [-_PHONE_, 37.201836]
 },
 $maxDistance: 100
 }
 }
})
Aggregating documents near a point with the computed distance:
db.images.aggregate([
 {
 $geoNear: {
 near: { type: "Point", coordinates: [-_PHONE_, 37.201836] },
 distanceField: "distance",
 maxDistance: 2000,
 includeLocs: "location",
 num: 5,
 spherical: true
 }
 }
])
The five images closest to a given point (within 200km) that were taken on distinct days.
db.images.aggregate([
 {
 $geoNear: {
 near: { type: "Point", coordinates: [-_PHONE_, 37.201836] },
 distanceField: "distance",
 maxDistance: 200000,
 includeLocs: "location",
 spherical: true
 }
 },
 {
 $group: {
 _id : { month: { $month: "$datetime.utc_timestamp" }, day: { $dayOfMonth: "$datetime.utc_timestamp" }, year: { $year: "$datetime.utc_timestamp" } },
 distance: {$min: "$distance"},
 image: {$first: "$$CURRENT"}
 }
 },
 {
 $sort: {"distance": 1}
 },
 {
 $limit: 5
 }
])
Find the images that look most similar to a given image fingerprint:
db.images.mapReduce(
 function() {
 var fingerprint_difference = 0;
 var comparison_fingerprint = [0.468555122613907,
 -0.353169769048691,
 0.14241087436676,
 -0.0821656882762909,
 -0.0524195097386837,
 -0.00935091450810432,
 0.184520080685616,
 0.164618194103241,
 -0.0220650248229504,
 0.0105008510872722,
 -0.423288017511368,
 0.207316115498543,
 0.0272494424134493,
 0.0,
 -0.157153755426407,
 0.149594604969025,
 0.0,
 0.0,
 0.0,
 0.0,
 -0.0281856469810009,
 -0.0578242465853691,
 0.0,
 0.0,
 0.0,
 -0.106666743755341,
 -0.285874038934708,
 0.0,
 0.00936079490929842,
 0.229413896799088,
 0.0659909546375275,
 0.0145512670278549,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0268315020948648,
 -0.0364695005118847,
 0.0,
 0.0,
 0.030316386371851,
 -0.26200807094574,
 0.103866763412952,
 0.03290805965662,
 0.0,
 -0.0890728309750557,
 0.0108723239973187,
 0.0231005717068911,
 0.0,
 0.0,
 0.0,
 0.0,
 -0.0207184460014105,
 0.0387163199484348,
 0.0,
 0.0,
 0.0147460391744971,
 0.191929057240486,
 -0.0658795014023781,
 -0.0100948391482234,
 0.0,
 -0.0628153160214424,
 0.0,
 0.0132519574835896
 ];

 for (var i = 0; i < this.syntactic_fingerprint.length; i++) {
 fingerprint_difference += Math.pow(this.syntactic_fingerprint[i] - comparison_fingerprint[i],2);
 }

 if (!(isNaN(fingerprint_difference))) {
 emit(this._id, Math.sqrt(fingerprint_difference));
 }
 },
 function(key, values) {
 return values;
 },
 {
 query: {},
 out: 'image_similarity'
 }
);

db.image_similarity.find({}).sort({'value': 1}).skip(1).limit(5);


text:
Scan is a collective algorithm that performs partial reductions on data provided by each process in the communicator. Scan combines the arrays stored by each process into partial results delivered to each process. The arrays are combined in a user-defined way, specified via a delegate that will be applied elementwise to the values in each arrays. If array(0), array(1),..., array(N-1) are the arrays provided by the N processes in the communicator, the resulting array for the process with rank P will be array(0) op array(1) op... op array(P). The processor with rank N-1 will receive the same result as if one had performed a Reduce<(Of <(T>)>)(array(), ReductionOperation<(Of <(T>)>), Int32, array()%) operation with root N-1. Scan is sometimes called an "inclusive" scan, because the result returned to each process includes the contribution of that process. For an "exclusive" scan (that does not include the contribution of the calling process in its result), use ExclusiveScan<(Of <(T>)>)(array(), ReductionOperation<(Of <(T>)>), array()%).Namespace: MPI
Assembly: MPI (in MPI.dll)
Version: 188.8.131.52 (184.108.40.206)
public void Scan( T inValues, ReductionOperation op, ref T outValues )
|Visual Basic (Declaration)|
Public Sub Scan(Of T) ( _ inValues As T(), _ op As ReductionOperation(Of T), _ ByRef outValues As T() _ )
public: generic void Scan( array^ inValues, ReductionOperation^ op, array^% outValues )
- Type: array<
The array contributed by the calling process. The arrays provided by each process must have the same length.
- Type: MPI..::.ReductionOperation<(Of <(>)>)
Operation used to combine two values from different processes.
The array array(0) op array(1) op... op array(Rank)
- Any serializable type.

source: HuggingFaceFW/fineweb-edu


text:
A STUDY ON DEVELOPMENT OF CRACKS ON PAINTINGS
OVER THE past 10 years there have been substantial developments in research on the mechanical behavior of paintings. The knowledge of processes leading to mechanical failure of paintings materials and their properties has been greatly enhanced through pioneering work by Mecklenburg (1982). It has been established that environmental changes induce dramatic responses in fabric and size. The layer of size is responsible for stress development during humidity decrease; high stiffness of fabric dominates in high humidity. The most brittle component of the composite—aged oil paint—fails when movements in the supporting size and fabric exceed its rupture strains.
Stress distribution on paintings and the resulting cracks in the paint layer were simulated on a computer with the Finite Element Method (FEM) (Kilpatrick 1980; Colville et al. 1982). Elastic properties of materials were assumed and based on uniaxial tests.
In this work the humidity-induced movements were observed on biaxially stretched samples of primed fabric with a commercially available brittle coating taking the place of aged paint. The coating is widely used in industrial stress analysis as a form of strain gauge; it cracks when strains in a support exceed its breaking strains. The results reveal nonelastic properties of size and are consistent with a study on dimensional response of size in changing humidities (Karpowicz 1989).


text:
Beginners Guide 220.127.116.11
|Get help||About OpenStreetMap||Browsing||How to contribute||Contribute map data||Editors||Glossary||Beginners' guide||±|
Aerial imagery will, regardless of source, have offsets to the real positions of objects on the ground. While this can be small enough to be ignored, it can be substantially more than typical GPS errors (>> 10 meters) and change over small areas (requiring re-adjustment). It is mandatory that you check this before moving existing OSM data, or adding more.
Potential ways to align and check alignment:
Enable aerial imagery
Unaligned Mapbox or Bing imagery will be displayed for you.
Align aerial imagery
The imagery offset is not stored between sessions

source: m-a-p/FineFineWeb


text:
U.S. school districts may be flagged as over-identifying students of color as having disabilities when other factors, such as achievement gaps, may explain these disparities, according to new Penn State research published in Exceptional Children.
Federal legislation and regulations require U.S. school districts to monitor whether students of color are overrepresented in special education. School districts reporting overrepresentation that exceeds pre-specified risk ratio thresholds are required to take corrective action including reallocating up to 15 percent of their federal funding for special education. Earlier work led to the belief that U.S. school districts were systemically over-identifying students as having disabilities based on their race or ethnicity.
According to Paul Morgan, Harry and Marion Eberly Fellow, professor of education and demography, and director of Penn State's Center for Educational Disparities, new work is now consistently finding that students of color are less likely, on average, to be identified as having disabilities than similarly situated students who are white.
"We sought to extend this knowledge base by expanding our analysis to include black-to-white and Hispanic-to-white student achievement gaps, as well as other variables measured at the district level for several thousand districts nationwide, as alternative explanatory factors for the reported risk ratios," said Morgan.
The research team used data sets from the U.S. Department of Education, the Civil Rights Data Collection survey on student enrollment, services, and outcomes, and the new Stanford Education Data archive that includes school district–level mathematics and reading achievement scores.
They analyzed about 2,000 districts with black students and white students, and about 2,500 districts with Hispanic students and white students. "In many U.S. school districts, the lack of racial diversity in student enrollment makes it difficult to conduct this type of analysis," said Morgan.
After merging the data sets, the researchers found that the larger a district's black or Hispanic-to-white achievement gap, the larger a district's black or Hispanic-to-white risk ratio. Statistical control for district-level achievement gaps indicated that, on average, black and Hispanic students were less likely to be receiving special education than white students.
"This provides further evidence in the debate regarding whether non-white students are overrepresented in special education due to systemic bias," Morgan said. "While inappropriate over-identification may sometimes be occurring, our analyses of district-level data suggests that the greater representation of black or Hispanic students in special education is largely explained by black or Hispanic students being more likely to experiencing academic difficulties. U.S. school districts may be attempting to provide students experiencing academic difficulties with greater academic supports, including through special education. "
The researchers were able to demonstrate a method that can be used to identify U.S. school districts where significant disproportionality is occurring that is not explained by achievement gaps. This method could be used by state and federal authorities to better monitor for U.S. districts for significant disproportionality based on race or ethnicity.
"Doing so would provide a more methodologically and substantively justifiable method for identifying school districts where significant disproportionality based on race or ethnicity may be occurring, and where further civil rights investigations may be warranted," Morgan said.
StepUp programs specifically target fluency of basic skills: reading decoding, math fact retrieval and handwriting. Achievement gaps, where children are working below grade level, are often seen when children lack fluency in basic skills. For example, children who are slow to retrieve basic math facts may struggle to see the pattern represented by math operations such as subtraction. Targeting fluency of basic skills may help prevent achievement gaps, and may help teachers identify children who struggle with fluency even when they have measurable basic skills. Try it free for 30 days.
Written by Kristie Auman-Bauer and reposted with permission from Penn State.


text:
"Study nature, love nature, stay close to nature. It will never fail you." – Frank Lloyd Wright
With these words said, I do think Lloyd Wright would approve of measures taken, using the innovation and art of 3D printing to reverse nature, in the name of preserving part of his iconic architectural legacy at Child of the Sun—also known as Florida Southern College, Lakeland, Florida.
Despite Lloyd Wright's painstaking design work for the campus–and not unimpressive, heavy contribution of student labor between _PHONE_, Mother Nature and Father Time took a toll on the largest architectural enclave of Frank Lloyd Wright's work at Florida Southern College. Greatly deteriorated were the 6,000 tapestry blocks at the Annie Pfeiffer Chapel, which was the first structure (of twelve) that he designed on the Florida Southern campus in 1941, and has been part of the ongoing restoration.
After a long period of time where Lloyd Wright's largest work of structures needed restoration but it was not cost-effective to do so, the Florida Division of Historical Resources allocated a number of grants to preserve the campus, and a $50,000 grant toward restoring the thousands of signature Wright-designed cement blocks in the grand chapel.
The concrete block structure patterns he was fond of using in many of his works has been high-maintenance and problematic to preserve—until now, with the introduction of 3D printing into the restoration process. 3D printers were able to replicate and restore a portion of the architecture, while keeping the budget down substantially—overcoming the previous financial hurdle for the project.
In the hands of architect Jeff Baker of Mesick Cohen Wilson Baker Architects, the project took one year. Baker supervised the restoration of Lloyd Wright's cement block structures turning to the aid of 3D printers to replicate and replace what was once a tedious manual process. Using the Makerbot Replicator and the Rostock Max V2 to print fingers for the molds of the blocks, they were able to insert 2,000 colored glass tiles into the original blocks, restoring the original jeweled box effect.
"The success found on this project is a milestone not only in the restoration of Frank Lloyd Wright buildings on the FSC campus but also for similar textile block projects designed by Wright and other architects throughout the nation," said Jeff Baker.
The Annie Pfeiffer Chapel is just one part of the restoration process as the entire campus, has fallen victim to complications from moisture and the elements. Designed solely by Frank Lloyd Wright, on the heels of the depression, while he was actually at the height of his career, the campus was meant to encompass his organic concept, bringing students together with their environment, thus providing them with an overall sense of peace to work together as a harmonious group.
The campus was named to the World Monument Fund's 100 Most Endangered Sites in 2007. As restoration efforts continue to go forth, the world watches as the Sunshine State works to protect Wright's largest collection of buildings in one place. Discuss this impressive use of 3D printing, in the Lloyd Wright building restoration forum thread on 3DPB.com.[Image Source: Design-Milk]
Subscribe to Our Email Newsletter
Stay up-to-date on all the latest news from the 3D printing industry and recieve information and offers from thrid party vendors.
You May Also Like
Covestro Joins Stratasys's 3D Printing Materials Ecosystem with Rail-Ready Nylon
Stratasys was always a closed shop when it came to materials. This limited material library limited applications, use cases, and use. However, a few years ago the company opened itself...
3D Printing News Briefs, April 30, 2022: Business, Medical, & More
We're starting with business in 3D Printing News Briefs today, as Aconity3D will be distributing metal AM powders by Equispheres and Photocentric has partnered up with umati. Moving on, the...
ASTM to Offer Certification Program for Metal 3D Printer Operators
Knowledgeable and experienced 3D printing operations people are in short supply. There were very few sites doing any kind of 3D printing at scale ten years ago. People well-versed in...
Steel Giant Takes Home Large-Scale Metal 3D Printer from Eplus3D
Rapidly expanding metal powder bed fusion (PBF) manufacturer Eplus3D has found an important client in JINGYE Additive Manufacturing, a subsidiary of Hebei JINGYE Group. Best known for being the owners...


Brown's hot air engines patents
Felix Brown and his brother Adolphus have been practical inventors of machinery. They brought many improvements to existing technologies. For example they succeeded in building an oscillating steam engine,
In 1877 Felix Brown patented a much improved caloric engine that pushed the practical size limit from 6 HP to 14 HP.
It has been his sole known air engine. But it was quite famous at that time.
Brown's Air Engines patents
1877 Brown patent #186,535 Caloric Engine


Quick Answer: What Was The Biggest Type Of Pirate Ship Called?
What type of ship is the Black Pearl?
galleonWith a length of 156 feet and armed with 32 cannons in the movie, the Black Pearl is a hybrid of a galleon and East Indiaman ships..
What did Romans use for toilet paper?
Are there any old pirate ships left?
What is a yacht with 3 masts called?
Schooner – a sailing vessel with fore and aft sails on three masts. The foremast being shorter than the mainmast which is no taller than the mizzen mast.
What ship is bigger than a galleon?
I'm sorry, but that is not a quantifiable statistic. A ship size bigger than a galleon would quite frankly be a frigate rather than a man o war/ship of the line. Frigates are actual predators as far as ships go, designed to seek and destroy/capture enemy ships and raid merchants.
Why is the black pearl so special?
In the movie Pirates of the Caribbean: The Curse of the Black Pearl, the Black Pearl was able to easily beat the speed and firepower of the HMS Interceptor, which was the fastest warship in the British Royal Navy fleet and specially designed to crush pirates.
Why was the Black Pearl cursed?
Barbossa, who was Jack's first mate aboard the Black Pearl, led a mutiny against Jack and marooned him on a desert island. Sometime after finding the treasure, the crew suffered under the Aztec curse; a curse they originally thought to be a ridiculous superstition and didn't believe to be true.
Where did they poop on old ships?
It is a nautical or naval term that goes back to the day of the old sailing ships. Let's start at the back of the ship. The upper-most rear, or the stern, was called the poop deck.
What is the poop on a ship?
In naval architecture, a poop deck is a deck that forms the roof of a cabin built in the rear, or "aft", part of the superstructure of a ship. The name originates from the French word for stern, la poupe, from Latin puppis.
What was the biggest wooden warship ever built?
The longest wooden ship ever built, the six-masted New England gaff schooner Wyoming, had a "total length" of 137 metres (449 ft) (measured from tip of jib boom (30 metres) to tip of spanker boom (27 metres) and a "length on deck" of 107 m (351 ft).
What are big ships called?
Tanker Ships Tanker ships are specialised vessels for carrying a large amount of liquid cargo. Tankers are further sub-divided into different types on the basis of the cargo they carry.
How rare is a black pearl?
Black pearls are formed when that piece of sand gets stuck in the body of a very specific type of oyster, the Tahitian black-lipped Pinctada margaritifera. … This, however, is rare; it occurs in only one in 10,000 pearls.
What was the first ship to sink?
The first cruise ship ever built to ply the frigid waters off Antarctica became the first ever to sink there. The red-hulled M/S Explorer struck ice Friday, took on water as 154 passengers and crew members scrambled to safety aboard lifeboats and rafts, and then it went to the bottom.
What does Galleon mean?
: a heavy square-rigged sailing ship of the 15th to early 18th centuries used for war or commerce especially by the Spanish.
What is a boat with 3 masts called?
A barque—a three-masted sailing ship with square sails on the first two masts (fore and main) and fore-and-aft sails on the mizzenmast.
What is a boat with 2 masts called?
A ketch is a two-masted sailboat whose mainmast is taller than the mizzen mast (or aft-mast), generally in a 40-foot or bigger boat. The name ketch is derived from catch. The ketch's main mast is usually stepped in the same position as in a sloop.
What are pirate ships called?
Sloops. Sloops were the most common choice during Golden Age of Pirates during the 16th and 17th century for sailing around the Caribbean and crossing the Atlantic. These were commonly built in Caribbean and were easily adapted for pirate antics.
How did pirates poop on ships?
What is the biggest ship in the world?
Seawise GiantThe largest ship in the world by length is the oil tanker Seawise Giant at 1,504 feet (458.46 meters). It was in service from 1979 to 2009. In the decade since its retirement, no ship has surpassed its length.
What is the oldest ship in the world?
Pesse canoeThe Pesse canoe is the world's oldest known ship, dating between 8040 and 7510 BC.
What are the small boats on a pirate ship called?
yawl (or dandy) A ships small boat crewed by rowers. A two-masted fore-and-aft-rigged sailing vessel similar to the ketch but having a smaller jigger or mizzenmast projecting out behind the rudder.


we needed to work with the last query made, we could pass false as a parameter to the method and JDatabaseDriver would return the last JDatabaseQuery object to us. For most practical purposes, we will always want a new empty query object and will pass true to this method. JDatabaseQuery object has lots of methods that help you create queries for accessing the database. These are probably best understood by example.
In our module, we want to get some random quote from the database. Well the first thing we need to figure out is how many quotes are there to work with. Fortunately, this is a simple query, all we have to do is select the count function on the table. The SQL code for this would look like this.
SELECT COUNT(*) FROM <tablename>;
Here <tablename> represents the table we want to do the count on. Creating the SQL with the JDatabaseQuery object is pretty simple and would use code like the following.
$query->select("COUNT(*)");
$query->from("#__mod_random_quote");
JDatabaseQuery allows us to build our queries in pieces and it takes the responsibility of assembling them together for us. The select() method aboves takes as a parameter the column names or SQL function (like count()) that we would use in a normal SQL SELECT statement. In this case we pass along the COUNT(*) function to it. Finally, the from() method takes as a parameter anything you would pass long in a regular SQL FROM statement. In this case, we are passing the database table of our module. Note that we have prefixed the table name with the #__ characters that Joomla will use to derive the database table prefix.
It should also be noted that these methods can be chained together. For example, the two lines of code above could be written as follows so feel free to pick your poison.
$query→select("COUNT(*)")->from("#__mod_random_quote");
With the JDatabaseQuery complete, we only need to pass this back to the JDatabaseDriver object like so.
$db->setQuery($query);
The setQuery() method will take the query that we created and store it in the database driver object. All that is left to do is have the driver execute and return the results to us.
There are a number of methods available to return the data from the database, and which one you use depends on the format of data you need returned back. Let me explain a little further. The methods available allow you to return a single result, a single row, multiple rows, a single column, data as an array, an associative array and as an object. The end result is that you have a lot of latitude with JDatabaseDriver. In our example we need only a single result, the number of rows in the table. We can do that with the following code.
$count = $db->loadResult();
The loadResult() method will return a single value from the database. In our case we executed the COUNT(*) function which returns the number of rows in the table which we expect only a single value. Once the value has been returned with loadResult() we assign it to the $count variable so that we can use it later.
To summarize, getting data from the database is pretty straight forward and for the most part we will always follow these same steps.
 1. Get the database driver from JFactory
 2. Get a Query object from the database driver
 3. Set up our query using the methods available from the JDatabaseQuery class
 4. Store the Query back into JDatabaseDriver
 5. Execute the query using the method that make sense for the data we expect to receive.
If you want to get a head start on using the database with Joomla, take the time to read the documentation which can be found at _URL_
Now that we know how many rows are in the table, we can use this to select one randomly by using some php code like the following.
$recordNumber = rand(1, $count);
The above line of code will generate a random number between 1 and the number of rows we have in the table. In my database example from the last tutorial, this will be 50. Once we have this number then we can use it to select the specific record from the table. NOTE: The rand() function I am using above is a pseudo random number generator and does not generate cryptographically secure values, and should not be used for cryptographic purposes. Additionally, we assume that all the index, id values in the table are in sequential order with none missing. Since we ultimately have control over the data being stored in the database, we should experience no problems. But if, for example, we deleted a row from the table leaving that index empty, it is possible that the deleted index id would be randomized and then it not be in the database resulting in an error.
Now that we have the record number we want from the table, we can get a new Query object and create the query with the following code.
$query = $db->getQuery(true);
$query->select("name, quote, source");
$query->from("#__mod_random_quote");
$query->where("id={$recordNumber}");
The above code will generate the following SQL Query.
SELECT name, quote, source FROM #__mod_random_quote WHERE id=#
Keep in mind the following about the above query. Joomla will use your correct prefix for the table name above and the # I used after the id= is actually the random number we generated and assigned to $recordNumber.
With the Query out of the way, we expect only one row from the database to match our Query criteria, so we would want to use one of the methods from the JDatabaseDriver that returns a single row. We have a few to choose from. We can use loadRow(), loadAssoc() or loadObject(). Let me explain each briefly.
loadRow() will return one row from the database as an indexed array with the first column being at index zero. So a row would be accessed like the following:
$record[0]; //contains the name column value
$record[1]; // contains the quote column value
$record[2]; // contains the source column value
loadAssoc() is similar to loadRow() but it return the row as an associative array where each key is the column name. The row would be accessed like the following:
$record['name']; //contains the name column value
$record['quote']; // contains the quote column value
$record['source']; // contains the source column value
Finally, loadObject() returns the row as a standard PHP object where each column will be accessed with the arrow operator. You can access the data like the following:
$record->name; //contains the name column value
$record->quote; //contains the quote column value
$record->source; //contains the source column value
Which method you choose really depend on how you plan to access the data in code. I will leave that as an exercise for you. Continuing with this example, I will use the loadObject() method. So to complete our code examples from above, we have the query finished and we need to submit the query to the JdatabaseDriver object and then execute the loadObject() method to retrieve the data. That can be accomplished with the following code.
$db->setQuery($query);
$record = $db->loadObject();
After executing the above code, the random quote will be loaded from the database and stored in the $record variable. Now let's put it all together. Open the helper.php file and add the following lines marked in red.
<?php
/**
* Helper class for mod_random_quote module.
*/
abstract class ModRandomQuoteHelper {
public static function getRandomQuote() {
// database code goes here.
// Get the JDatabaseDriver object from JFactory
$db = JFactory::getDbo();
// Get the JDatabaseQuery object from the JDatabaseDriver object
$query = $db->getQuery(true);
// Build the query
$query->select("COUNT(*)");
$query->from("#__mod_random_quote");
// Save the query to the JDatabaseDriver object
$db->setQuery($query);
// Save the record count to a variable
$count = $db->loadResult();
// Randomize the record that we want
$recordNumber = rand(1, $count);
// Build the query for the record we want
$query = $db->getQuery(true);
$query->select("name, quote, source");
$query->from("#__mod_random_quote");
$


text:
Thrombopathia Newfoundland Type
Thrombopathia Newfoundland type is an inherited blood clotting disorder affecting Newfoundland dog breed. The disorder is characterized by blood clotting malfunction, and as such causes increased bleeding. Until now, thrombopathia has been reported among three dog breeds: Basset, Newfoundland and American Eskimo dog, and they differ among each other by three distinct causative disorders.
Platelets are also known as thrombocytes, and they have a key role in bleeding prevention through clumping of blood vessel injuries. At a site of vascular injury, platelets are exposed to surface which is not from blood vessel, and they initiate to aggregate to each other, which results in formation of a hemostatic plug that will seal the defect. Key role in platelet aggregation has the platelet integrin alphaIIb-beta3, also known as the platelet glycoprotein complex IIb-IIIa. This platelet integrin has high affinity for fibrin, which in the formation of the blood clot has a role as its stabilizer. In inactivated platelets, the integrin is in its form that has low affinity for the fibrin, disabling formation of the blood clot. Agents that can induce affinity of the integrin for fibrinogen are ADP, collagen, thromboxane, and thrombin. Unfortunately, in case of thrombopathia, these agents do not have an effect on improved platelet aggregation.
Characteristics and Symptoms
Thrombopathia Newfoundland Type is an inherent platelet defects type hemorrhagia. Another type of hemorrhagia, or excessive bleeding is extrinsic type, caused due to external factors. Affected dogs platelets are defective and are unable to form blood clot. The defect in the platelets of the Landseer dogs is suspected to be related to a structural or functional deficiency glycoprotein complex IIb-IIIa, similar as has been reported in humans with Glanzmann's disease and Bernard-Soulier syndrome, human bleeding disorders.
Symptoms of canine thrombopathia are spontaneous bleeding. Bleeding occurs as nose bleeding, also known as epistaxis, and from other mucosal surfaces, such as mouth, gums, etc. Excessive bleeding inside the mouth may be especially present during change of puppy teeth with permanent teeth. Platelet number, von Willebrand factor, clot retraction and coagulation are normal, whereas bleeding time is prolonged.
Thrombopathia Newfoundland type is caused by a point mutation in the RASGRP1 gene that causes a shift in the reading frame responsible for expression of the Rap 1 protein. This shift in the reading frame causes a truncated protein. In healthy dog, Rap 1 protein is highly expressed in platelets, but also in neutrophils and in the brain. In platelets variant of Rap 1, protein Rap1b is present in high levels and it has a role in integrin activation. In case of mutation in the RASGRP1 gene, defected protein will not be able to induce integrin activation, which causes improper platelet aggregation and blood clotting.
The disorder is inherited in an autosomal recessive manner. Healthy parents of an affected puppy are obligate heterozygotes, and therefore carry one mutant allele. Heterozygotes have no symptoms. Dogs homozygous for the mutation will display the symptoms of the Thrombopathia Landseer type. At conception, each cub has a 25% chance of being affected, a 50% chance of being an asymptomatic carrier, and a 25% chance of being unaffected and not a carrier.
Boudreaux, M. K., Catalfamo, J. L., & Klok, M. (2007). Calcium-diacylglycerol guanine nucleotide exchange factor I gene mutations associated with loss of function in canine platelets. Translational Research, 150(2), 81-92.


text:
Sorry, no definitions found.
"Aztec icons like goddess Chalchiuhtlicue, whose jade skirts represented her protection of lakes and streams, and river god, Tlaloc, share space with a map that depicts our current state of dwindling local water sources."
"Observances aimed at garnering the favor of Chalchiuhtlicue and Tlaloc, the chief rain gods, included displaying rows of rubber-spotted Banners draped over wooden poles outside the temple."
"Chalchiuhtlicue - Lady of the jade skirt; goddess of ground waters"
"Finally she asked Chalchiuhtlicue, Goddess of Water, to cast out all evil from the body of the child, to set it aside and take it with her."
""Feel the freshness and greenness of Chalchiuhtlicue," she said, "who is always alive and awake, who never sleeps or dozes, may she be with you and embrace you and keep you in her arms so that you will be awake and resolute on this earth.""
These user-created lists contain the word 'Chalchiuhtlicue'.
Words associated with beauty, love, and a happy feeling!
"Spanish náhuatl, from Nahuatl, that which pleases the ear, from nahua-, audible, intelligent, clear."
- etymology from The American Heritage Dictionary
Looking for tweets for Chalchiuhtlicue.


text:
The Agent Network Accelerator Research Findings Report – Uganda
Agents are optimistic about the business, with the majority seeing themselves continuing as an agent in one year's time according to the survey report published today by Financial Sector Deepening Uganda and The Helix Institute of Digital Finance.
In Uganda the biggest barrier preventing poor people from accessing digital financial services is the cost and complexity of building and managing a sustainable agent network across a broad geography – the motivation for this follow-up research study on the evolution of the network since 2013. Over 2,200 nationally representative agent interviews were conducted, covering the following key areas: network structure, network operational efficiency, agent viability, quality of service and also, control and compliance.
The research findings highlight a number of positive attributes of Uganda's agent network: among others, high profitability and optimism among DFS agents, a high proportion of dedicated agents focused solely on DFS and airtime distribution, agent collaboration to manage liquidity, and high rates of initial induction training. The report also discusses several challenges, including the lack of diversity in product offering, high rates of crime and fraud reported by agents, high prevalence of Over-The-Counter transactions, low compliance, and insufficient monitoring.
These findings will be relevant not only to Mobile Network Operators and Agent Network Managers, but also to banks – especially with the emergence of agency banking – insurers and FinTech companies, among others.
Commenting on the research Christopher Musoke, Chief Executive Officer, FSD Uganda said "With the increasing use of mobile money and the eminent, arrival of Agency Banking following the amendment of the FIA, understanding the agents environment is increasingly important."
The Uganda report is part of The Helix Institute's Agent Network Accelerator (ANA) research project. ANA survey was a collaboration between the Bill & Melinda Gates Foundation, the United Nations Capital Development Fund (UNCDF) and MicroSave.
About FSD Uganda:
FSD Uganda is an independent, not-for-profit company whose objective is a deeper, broader and more inclusive financial sector in Uganda. It supports innovation, conducts research and helps improve policy, laws and regulation that shape the financial sector. For more, visit our website at _URL_
About Helix Institute of Digital Finance:
About The Helix Institute: The Helix Institute of Digital Finance, has established itself as the go-to-place for world class training and cutting edge insights in digital finance. Founded in November 2013, the Helix Institute has delivered training to over 450 digital finance practitioners from over 150 companies in Africa and Asia.


into a buffer; count the number of line-ends in the buffer (just a .count('\n') call on the buffer string object); once the running total of line ends exceeds the linenum you're looking for, find the Nth line-end currently in the buffer (where N is the difference between linenum, here 1-based, and the previous running total of line ends), read a bit more if the N+1st line-end is not also in the buffer (as that's the point where your line ends), extract the relevant substring. Not just a couple of lines net of the with and returns for anomalous cases...;-).
Edit: since the OP comments doubting that reading by-buffer instead of by-line can make a performance difference, I unrooted an old piece of code where I was measuring the two approaches for a somewhat-related tasks -- counting the number of lines with the buffer approach, a loop on lines, or reading the whole file in memory at one gulp (by readlines). The target file is kjv.txt, the standard English text of the King James' Version of the Bible, one line per verse, ASCII:
$ wc kjv.txt
 114150 821108 _PHONE_ kjv.txt
Platform is a MacOS Pro laptop, OSX 10.5.8, Intel Core 2 Duo at 2.4 GHz, Python 2.6.5.
The module for the test, readkjv.py:
def byline(fn='kjv.txt'):
 with open(fn) as f:
 for i, _ in enumerate(f):
 pass
 return i +1
def byall(fn='kjv.txt'):
 with open(fn) as f:
 return len(f.readlines())
def bybuf(fn='kjv.txt', BS=100*1024):
 with open(fn, 'rb') as f:
 tot = 0
 while True:
 blk = f.read(BS)
 if not blk: return tot
 tot += blk.count('\n')
if __name__ == '__main__':
 print bybuf()
 print byline()
 print byall()
The prints are just to confirm correctness of course (and do;-).
The measurement, of course after a few dry runs to ensure everybody's benefitting equally from the OS's, disk controller's, and filesystem's read-ahead functionality (if any):
$ py26 -mtimeit -s'import readkjv' 'readkjv.byall()'
10 loops, best of 3: 40.3 msec per loop
$ py26 -mtimeit -s'import readkjv' 'readkjv.byline()'
10 loops, best of 3: 39 msec per loop
$ py26 -mtimeit -s'import readkjv' 'readkjv.bybuf()'
10 loops, best of 3: 25.5 msec per loop
The numbers are quite repeatable. As you see, even on such a tiny file (less than 5 MB!), by-line approaches are slower than buffer-based ones -- just too much wasted effort!
To check scalability, I next used a 4-times-larger file, as follows:
$ cat kjv.txt kjv.txt kjv.txt kjv.txt >k4.txt
$ wc k4.txt
 456600 _PHONE_ _PHONE_ k4.txt
$ py26 -mtimeit -s'import readkjv' 'readkjv.bybuf()'
10 loops, best of 3: 25.4 msec per loop
$ py26 -mtimeit -s'import readkjv' 'readkjv.bybuf("k4.txt")'
10 loops, best of 3: 102 msec per loop
and, as predicted, the by-buffer approach scales just about exactly linearly. Extrapolating (always a risky endeavour, of course;-), a bit less than 200 MB per second seems to be the predictable performance -- call it 6 seconds per GB, or maybe 10 minutes for 100 GB.
Of course what this small program does is just line counting, but (once there is enough I/O t amortize constant overheads;-) a program to read a specific line should have similar performance (even though it needs more processing once it's found "the" buffer of interest, it's a roughly constant amount of processing, for a buffer of a given size -- presumably repeated halving of the buffer to identify a small-enough part of it, then a little bit of effort linear in the size of the multiply-halved "buffer remainder").
Elegant? Not really... but, for speed, pretty hard to beat!-)
share|improve this answer

Do you really think it would be that much faster to do a low-level line-end count? I'd think that either way would be about as slow as reading in the whole file from disk. – Gabe Aug 28 '10 at 3:43
2
When something that calls itself a "cache" proclaims that it will never throw an exception, it implies me that it discards old members from its cache when it runs out of memory. Based on the docs for the function, I would not expect it to read all requested files into memory and never release them! – Gabe Aug 28 '10 at 3:58

@Gabe, I see what you mean wrt the docs, and I recommend you propose the specific patch in Python's docs that would have clarified the issue to you more sharply (see _URL_ ). Wrt speed, reading a file sequentially 100MB at a time is faster than reading it 100GB at a time unless you have more than 100GB of RAM available (as the latter course then either fails, or thrashes in paging); and it's faster than reading one line at a time as it avoids mucho parsing, object allocation, and so on, that you don't need, and uses a larger buffer. – Alex Martelli Aug 28 '10 at 4:52

BTW, also see stackoverflow.com/questions/_PHONE_/… (based on a slightly different case where lines from the files would need to be read repeatedly, so building an index was clearly useful) -- also, I'm pretty sure I did at least once post to SO several time measurements for this kind of buffering approach vs a line-by-line one, but I can't easily find the SO post where I did so, alas. – Alex Martelli Aug 28 '10 at 5:08
1
@Alex, Maybe there's a typo, "for i, line in enum(filepath):" -> "for i, line in enumerate(f)". by the way, enumerate (Python 2.6) has a start parameter for 1-based or whatever-based taste :) – sunqiang Aug 28 '10 at 9:01
You can try this sed one-liner: sed '42q;d' to fetch line number 42. It's not in Python or C#, but I assume you have sed on your Mac.
share|improve this answer
Not a elegant but a faster solution would be to use multiple threads (or tasks in .NET 4.0) to read & process multiple chunks of a file at the same time.
share|improve this answer

It's unlikely that you can actually read in the data faster than you can process it, so trying to do it in parallel is pointless. – Gabe Aug 28 '10 at 3:38

@Gabe, I am actually suggesting to even read the data parallel (possible by seeking to the file position) - depending upon disk system, it may improve performance. – VinayC Aug 28 '10 at 3:42

I don't understand what you're suggesting. Since the only way to know what line number a specific byte on is to have looked at every byte prior to that specific one, how is seeking going to help you? – Gabe Aug 28 '10 at 3:48

A simple solution outline would be - say 4 threads can read 4 blocks of say 16K size at the same time and start counting line breaks within it. Each thread will update master count at the end (needs thread sync). You need to repeat it till you reach near to desired line number. Then you can run through file sequentially. – VinayC Aug 28 '10 at 4:53

Multiple threads to handle linearly streaming a file? That's not only inelegant, it'll be slower, insanely more complicated and bug-prone. If there's any chance of parallel reads making things faster (eg. RAID), your arbitrarily-aligned interleaving of reads isn't going to line up with that. This is trivial streaming, the most basic and most heavily-optimized I/O case; don't


text:
"Toy" and "teacup" are terms used to describe the size of certain types of dogs -- but don't let the terms fool you. Toy breeds belong to a group of dogs recognized by the American Kennel Club. Teacup breeds, however, are the unofficial name given to very small dogs that can be the design of unscrupulous breeders.
The toy group consists of small, sometimes tiny, dogs who are considered to be perfect companion pets. Because of their size, the toy breed is often the choice of city dwellers or those who live in apartments. Some examples include Yorkshire terriers, shih tzus, poodles, Italian greyhounds and Chihuahuas.
Teacup dogs are not recognized by the AKC, which only sanctions various breeds covered by the toy group. However, breeders refer to teacups as any pups who are extremely small in stature. As a rule, adult teacups are 4 pounds or less.
Certain breeds of teacups, like Yorkies, can be more prone to hypoglycemia, although they often outgrow the risk as they age. And because of their delicate bone structure, teacups are more prone to injury. Finally, if you buy a pup, make sure the breeder is reputable and uses only healthy bloodlines.
- Brand X Pictures/Brand X Pictures/Getty Images


demographic factors
Socioeconomic characteristics of a population expressed statistically, such as age, sex, education level, income level, marital status, occupation, religion, birth rate, death rate, average size of a family, average age at marriage. A census is a collection of the demographic factors associated with every member of a population.
Use demographic factors in a sentence
Related Videos
Have a question about demographic factors? Ask for help in the
advertise here


text:
Sandwiches are a popular and easy-to-make option for meals, especially for people who are always on the go. Whether you're preparing one for a picnic, lunch at work, or a quick snack at home, it's important to know how long a sandwich can sit out before it becomes unsafe to eat.
In this blog post, we will explore the factors that influence how long a sandwich can be left out, and provide some tips on how to keep your sandwiches fresh and safe to consume.
The Two-Hour Rule
As a general rule, perishable foods should not be left out at room temperature for more than two hours. This is because harmful bacteria can grow rapidly in foods that are left out in the "danger zone" temperatures between 40°F (4°C) and 140°F (60°C).
Sandwiches, which often contain perishable ingredients like meat, cheese, and mayonnaise, can quickly become breeding grounds for bacteria like Salmonella, E. coli, and Listeria if they're left out for too long.
However, there are several factors that can affect how long a sandwich can safely sit out. These include the type of ingredients used, the temperature of the environment, and how the sandwich is stored.
Factors That Can Affect How Long A Sandwich Can Sit Out
The type of ingredients used in a sandwich can greatly impact how long it can be left out without becoming unsafe to eat. Here are some common sandwich ingredients and their relative risks:
- Meat: Deli meats like ham, tuna, turkey, and roast beef are particularly susceptible to bacterial growth. If a sandwich contains meat, it's best to follow the two-hour rule strictly.
- Cheese: Hard cheeses like cheddar, Swiss, and provolone can typically last longer at room temperature than soft cheeses like brie or cream cheese. However, it's still best to follow the two-hour rule for sandwiches containing any type of cheese.
- Vegetables: Fresh vegetables like lettuce, tomatoes, and cucumbers can start to wilt and lose their crispness after a few hours at room temperature. While this may not pose a significant health risk, it can affect the overall quality and taste of the sandwich.
- Condiments: Mayonnaise, which is made from eggs, can spoil quickly at room temperature. If a sandwich contains mayonnaise, be sure to keep it refrigerated or on ice until you're ready to eat.
The temperature at which a sandwich is stored can also affect how long it can safely sit out. In general, the warmer the temperature, the faster bacteria will grow.
If you're planning to enjoy your sandwich outdoors, be mindful of the temperature and how it might impact the safety of your food.
On hot summer days, when the temperature is above 90°F (32°C), the safe time for perishable foods like sandwiches is reduced to just one hour. If you're unsure whether a sandwich has been sitting out too long in a warm environment, it's best to err on the side of caution and avoid eating it.
How a sandwich is stored can make a difference in how long it can safely sit out. If a sandwich is wrapped tightly in plastic wrap or aluminum foil, it can help slow down bacterial growth by limiting the amount of air that comes into contact with the food.
Additionally, storing a sandwich in an insulated cooler with ice packs can help keep it cold and safe to eat for a longer period of time.
How To Tell If Your Sandwich Has Gone Bad?
It's true that after just a few hours, determining if your sandwich has gone bad can be quite tricky without actually taking a bite! However, trusting your senses can play a crucial role in evaluating the freshness of your sandwich.
Depending on the ingredients, you may be able to detect signs of spoilage through smell or visual cues.
Keep in mind that certain ingredients are more prone to spoilage than others, which can potentially help you assess the freshness of your sandwich. If something seems off, it's always better to err on the side of caution and avoid consuming the sandwich.
Remember, when it comes to food safety, it's better to be safe than sorry!
Tips for Keeping Sandwiches Fresh and Safe to Eat
To ensure that your sandwiches remain fresh and safe to consume, follow these tips:
- Place the sandwich in the Refrigerator: Before making a sandwich, store perishable ingredients like meat, cheese, and mayonnaise in the refrigerator or freezer. This will help slow down bacterial growth and keep your ingredients fresher for longer.
- Use insulated coolers: If you're taking a sandwich with you on the go, pack it in an insulated cooler with ice packs to help keep it cold and safe to eat.
- Wrap sandwiches tightly: Wrapping your sandwiches tightly in plastic wrap or aluminum foil can help limit the amount of air that comes into contact with the food, slowing down bacterial growth.
- Store sandwiches separately: If you're packing multiple sandwiches, store them separately so that they don't come into contact with each other. This can help prevent cross-contamination and keep your sandwiches fresher for longer.
- Be mindful of the temperature: Keep an eye on the temperature and be aware of how it might affect your sandwiches.
while the two-hour rule is a good general guideline for how long a sandwich can safely sit out, it's important to consider factors like the type of ingredients used, the temperature of the environment, and how the sandwich is stored.
By following the tips outlined in this blog post, you can help ensure that your sandwiches remain fresh and safe to eat, no matter where you enjoy them.


How did different people with different philosophies and ideologies attain the same enlightenment or did they not? Buddha attained enlightenment and so did Adi Shankaracharya, but their philosophies are different (not to mention ramanujacharya, nagarjuna and many others). Or is it the case that we can never really know who attains enlightenment? Well I know that there is similarity between Buddhism and Advaita Vedanta but at the core they are very different. How did they attain the same enlightenment knowing the real truth in two different ways? At least one of them is wrong.
Well some say the truth can be interpreted in different ways but if advaita says self exists and buddhism denies it there is a big problem you can't make them compatible with one another.
I have already asked this question here _URL_ and got pretty decent answers, i just wanted to know advaitins view.
 - Buddha acted as enlightened from Gaya for moha of buddhist. But actually buddha is avatara of vishnu there is no requirement for enlightened because he is light itself. – Prasanna R Sep 2 '20 at 7:40
 - well i'm not spiritual so i want more of philosophical answer. advaita claims "aham brahamasmi" – dark_prince Sep 2 '20 at 12:16
 - Same Moksha can be achieved by various methods. As Ramakrishna Paramhamsa used to say "Jato mat tato path" which means "there are as many paths to moksha as there are doctrines" _USER_ – Rickross Sep 3 '20 at 11:34
 - _USER_ Gangopadhyay and @ Srimannarayana K V has already given a speculative answers. My problem was that the one who follows advaita becomes enlightened after knowing - brahman alone exists and he is that(brahman) while the one who follows buddhism gets enlightenment after he realizes that everything is impermanent and transient these two statement are at the opposite end of the spectrum one says there is self and other says there is no self but still both of them gets the same enlightenment. – dark_prince Sep 3 '20 at 11:46
 - Budha the avatar of Vishnu is different from Buddha who estb Buddhism. K thought that's clearly sorted. – sbharti Sep 28 '20 at 0:07
No definitive answer can be given to this question. However, a speculative answer may be given.
Advaita Vedanta enlightenment is attained when the mind becomes still.
When the lake of the mind becomes clear and still, man knows himself as he really is, always was, and always will be. He knows that he is the Atman. His 'personality', his mistaken belief in himself as a separate, unique individual, disappears. "Patanjali" is only an outer covering, like a coat or a mask, which he can assume or lay aside as he chooses. Such a man is known as a free, illumined soul.
How to know God The Yoga Aphorisms of Patanjali I.3 Commentary by Swami Prabhavananda and Christopher Isherwood
:"Now I'd like to say more about the fundamental nature of the mind. There is no reason to believe that the innate mind, the very essential luminous nature of awareness, has neural correlates, because it is not physical, not contingent upon the brain. So while agree with neuroscience that gross mental events correlate with brain activity, I also feel that on a more subtle level of consciousness, brain and mind are two separate entities."
Dalai Lama in 'On Luminosity of mind' quoted in 'The Really hard problem meaning in a material world' by Owen Flanagan
It seems comparing the two quotes that Advaita Vedanta enlightenment is achieved when the mind disappears while Buddhist enlightenment is attained when the mind itself becomes luminous.
 - so is the nature of enlightenment of buddhists and advaitin different? and if this is so which one is correct? and is this sense of correctness subjective? – dark_prince Sep 2 '20 at 12:21
 - 1
 Judging by the two quotes they seem to be different. The Advaita experience is ontological while the Buddhist experience is psychological. Both are experiences. So the question boils down to which experience leads to enlightenment. It is not possible to answer this question without experiencing both. – Pradip Gangopadhyay Sep 2 '20 at 12:44
 - 1
 Can an experience of a Salt be different for Buddhist and advaitin? Experience is an ABSTRACT thing. So enlightenment will be the same. _USER_ – Srimannarayana K V Sep 2 '20 at 12:46
 - 2
 _USER_: Did Buddha himself state that the nature of enlightenment of buddhists and advaitin different? I don't think so. Normally, an enlightened person will not enter into unnecessary arguments. At best, he may provide a terse reply to a query put forth to him. The hair-splitting arguments are the product of people without actual REALISATION. – Srimannarayana K V Sep 2 '20 at 13:32
 - 1
 I think that's why attaining enlightenment is difficult. thanks for giving such a perfect answer. – dark_prince Sep 2 '20 at 13:46
Enlightenment is philosophical phenomena each tradition has it's own definition. if one is not belonjng to that specific cannot claim that I'm enlightened in that tradition its like saying I'm PhD in physics submitted thesis in physics but got PhD in chemistry instead.
Now Advaita says that for enlightenment only brahman exists ones illusion must be destroyed completely to be that brahman the whole world illusion. As per this theory enlightened person should vanish from this illusionary world as he is destroyed illusion aka the world that was only his making. Since no enlightened person exists in this illusionary world one cannot compare with Buddhist enlightment
For tattvada its realizing oneself and in turn god inside ones heart is enlighment here the criteria of destruction of illusionary world is not there because world is real and ever changing here both jive and brahman exists confirmed by dwasuparna. Enlightenment is attainment of ones own bliss that is different for different jivas according to their capacity its relative fullness cup is full, bucket is full in it's own capacity as its evident bucket is not same as cup qualitative same but quantitatively different. There is gradation is difference of bliss in moksha what jiva are having bliss on moksha that is both qualitative and quantitative several thousand less in comparison with brahma the creator even without moksha brahma have bliss which several times greater than normal jiva in moksha
Two people who has attained enlightenment cannot work on the same philosophy or path. They have to create their own instead.
An enlightened being sees other enlightened being as a replica who is doing the same job but in a different way.
the main task is to make people realise who actually they are, and making them realise who they are is one of the hardest job on this planet. for this, philosophies are developed, a philosophy is nothing but a thought. A thought of seeing the humanity in its best possible state.
It is obvious that this thought of seeing humanity in its best state must be common to every enlightened being. In reality this thought is the core motive of every philosophy, be it philosophy of science or any other philosophy given by a being.
But when we see, the expanded form of this thought, it looks very different from other expanded forms of this same thought. Sometimes they seems just opposite to each other.
so, wether its Buddha or Adi Shankaracharya, both worked for the same cause.
Suppose there are two points A and B.
Now say, there is a men who is sticked with point A, sticking simply means he is calling only point A is true.
Now, You have to make him detach from point A, in order to make him realise what he is calling true is not true for everyone, what will you do? you will disagree with point A in your philosophy.
And same will go for point B.
Now, in this contradiction which really exists in our society, the men will think if point A is not true and B is also not true, Than what is the truth.
In this he will go for self enquiry, which is the ultimate aim of spirituality. Hence every philosophy has its own values, so instead of going through them, go in yourself. In the end every philosophy becomes true.
You must log in to answer this question.
Not the answer you're looking for? Browse other questions tagged.


text:
Alpha-D-Glucose is a primary source of energy for living organisms. It is naturally occurring and is found in fruits and other parts of plants in its free state.
D-Glucose is one of the 16 aldohexose stereoisomers. The D-isomer, D-glucose, also known as dextrose, occurs widely in nature, but the L-isomer, L-glucose, …
Sigma-Aldrich offers Aldrich-158968, α-D-Glucose for your research needs. Find product specific information including CAS, MSDS, protocols and references.
What's the difference between alpha and beta glucose? … The D-glucose can exist in two forms alpha-D-glucose and beta-D-glucose.
What's the difference between $\alpha$-D-glucose and $\beta$-D-glucose? Are they isomers? Or do they differ in their elemental composition?
Chemical Entities of Biological Interest (ChEBI) is a freely available dictionary of molecular entities focused on 'small' chemical compounds.
Material Safety Data Sheet alpha-D(+)-Glucose, anhydrous MSDS# 95120 Section 1 – Chemical Product and Company Identification MSDS Name: alpha-D(+)-Glucose…
Structure, properties, spectra, suppliers and links for: α-D-Glucopyranose, Glucose, 492-62-6.
C p,solid: Constant pressure heat capacity of solid: S° solid,1 bar: Entropy of solid at standard conditions (1 bar) Δ c H° solid: Enthalpy of combustion of solid …
PRODUCT #: 253073 NAME: ALPHA-D-GLUCOSE, A.C.S. REAGENT MATERIAL SAFETY DATA SHEET, Valid 11/97 – 1/98 Printed Tuesday, March 11, 1903 2:23PM


thread to manage a FUSE file-system and another thread to access that file-system.
enable-outer: Enable some special magic needed when the program being run is itself Valgrind.
no-inner-prefix: Disable printing a prefix > in front of each stdout or stderr output line in an inner Valgrind being run by an outer Valgrind. This is useful when running Valgrind regression tests in an outer/inner setup. Note that the prefix > will always be printed in front of the inner debug logging lines.
no-nptl-pthread-stackcache: This hint is only relevant when running Valgrind on Linux; it is ignored on Solaris and Mac OS X.
The GNU glibc pthread library (libpthread.so), which is used by pthread programs, maintains a cache of pthread stacks. When a pthread terminates, the memory used for the pthread stack and some thread local storage related data structure are not always directly released. This memory is kept in a cache (up to a certain size), and is re-used if a new thread is started.
This cache causes the helgrind tool to report some false positive race condition errors on this cached memory, as helgrind does not understand the internal glibc cache synchronisation primitives. So, when using helgrind, disabling the cache helps to avoid false positive race conditions, in particular when using thread local storage variables (e.g. variables using the __thread qualifier).
When using the memcheck tool, disabling the cache ensures the memory used by glibc to handle __thread variables is directly released when a thread terminates.
Note: Valgrind disables the cache using some internal knowledge of the glibc stack cache implementation and by examining the debug information of the pthread library. This technique is thus somewhat fragile and might not work for all glibc versions. This has been successfully tested with various glibc versions (e.g. 2.11, 2.16, 2.18) on various platforms.
lax-doors: (Solaris only) Be very lax about door syscall handling over unrecognised door file descriptors. Does not require that full buffer is initialised when writing. Without this, programs using libdoor(3LIB) functionality with completely proprietary semantics may report large number of false positives.
fallback-llsc: (MIPS and ARM64 only): Enables an alternative implementation of Load-Linked (LL) and Store-Conditional (SC) instructions. The standard implementation gives more correct behaviour, but can cause indefinite looping on certain processor implementations that are intolerant of extra memory references between LL and SC. So far this is known only to happen on Cavium 3 cores. You should not need to use this flag, since the relevant cores are detected at startup and the alternative implementation is automatically enabled if necessary. There is no equivalent anti-flag: you cannot force-disable the alternative implementation, if it is automatically enabled. The underlying problem exists because the "standard" implementation of LL and SC is done by copying through LL and SC instructions into the instrumented code. However, tools may insert extra instrumentation memory references in between the LL and SC instructions. These memory references are not present in the original uninstrumented code, and their presence in the instrumented code can cause the SC instructions to persistently fail, leading to indefinite looping in LL-SC blocks. The alternative implementation gives correct behaviour of LL and SC instructions between threads in a process, up to and including the ABA scenario. It also gives correct behaviour between a Valgrinded thread and a non-Valgrinded thread running in a different process, that communicate via shared memory, but only up to and including correct CAS behaviour -- in this case the ABA scenario may not be correctly handled.
--fair-sched=<no|yes|try> [default: no]
The --fair-sched option controls the locking mechanism used by Valgrind to serialise thread execution. The locking mechanism controls the way the threads are scheduled, and different settings give different trade-offs between fairness and performance. For more details about the Valgrind thread serialisation scheme and its impact on performance and thread scheduling, see Scheduling and Multi-Thread Performance.
-The value --fair-sched=yes activates a fair scheduler. In short, if multiple threads are ready to run, the threads will be scheduled in a round robin fashion. This mechanism is not available on all platforms or Linux versions. If not available, using --fair-sched=yes will cause Valgrind to terminate with an error.
You may find this setting improves overall responsiveness if you are running an interactive multithreaded program, for example a web browser, on Valgrind.
-The value --fair-sched=try activates fair scheduling if available on the platform. Otherwise, it will automatically fall back to --fair-sched=no.
-The value --fair-sched=no activates a scheduler which does not guarantee fairness between threads ready to run, but which in general gives the highest performance.
--kernel-variant=variant1,variant2,...
Handle system calls and ioctls arising from minor variants of the default kernel for this platform. This is useful for running on hacked kernels or with kernel modules which support nonstandard ioctls, for example. Use with caution. If you don't understand what this option does then you almost certainly don't need it. Currently known variants are:
bproc: support the sys_broc system call on x86. This is for running on BProc, which is a minor variant of standard Linux which is sometimes used for building clusters.
android-no-hw-tls: some versions of the Android emulator for ARM do not provide a hardware TLS (thread-local state) register, and Valgrind crashes at startup. Use this variant to select software support for TLS.
android-gpu-sgx5xx: use this to support handling of proprietary ioctls for the PowerVR SGX 5XX series of GPUs on Android devices. Failure to select this does not cause stability problems, but may cause Memcheck to report false errors after the program performs GPU-specific ioctls.
android-gpu-adreno3xx: similarly, use this to support handling of proprietary ioctls for the Qualcomm Adreno 3XX series of GPUs on Android devices.
--merge-recursive-frames=<number> [default: 0]
Some recursive algorithms, for example balanced binary tree implementations, create many different stack traces, each containing cycles of calls. A cycle is defined as two identical program counter values separated by zero or more other program counter values. Valgrind may then use a lot of memory to store all these stack traces. This is a poor use of memory considering that such stack traces contain repeated uninteresting recursive calls instead of more interesting information such as the function that has initiated the recursive call.
The option --merge-recursive-frames=<number> instructs Valgrind to detect and merge recursive call cycles having a size of up to <number> frames. When such a cycle is detected, Valgrind records the cycle in the stack trace as a unique program counter.
The value 0 (the default) causes no recursive call merging. A value of 1 will cause stack traces of simple recursive algorithms (for example, a factorial implementation) to be collapsed. A value of 2 will usually be needed to collapse stack traces produced by recursive algorithms such as binary trees, quick sort, etc. Higher values might be needed for more complex recursive algorithms.
Note: recursive calls are detected by analysis of program counter values. They are not detected by looking at function names.
--num-transtab-sectors=<number> [default: 6 for Android platforms, 16 for all others]
Valgrind translates and instruments your program's machine code in small fragments (basic blocks). The translations are stored in a translation cache that is divided into a number of sections (sectors). If the cache is full, the sector containing the oldest translations is emptied and reused. If these old translations are needed again, Valgrind must re-translate and re-instrument the corresponding machine code, which is expensive. If the "executed instructions" working set of a program is big, increasing the number of sectors may improve performance by reducing the number of re-translations needed. Sectors are allocated on demand. Once allocated, a sector can never be freed, and occupies considerable space, depending on the tool and the value of --avg-transtab-entry-size (about 40 MB per sector for Memcheck). Use the option --stats=yes to obtain precise information about the memory used by a sector and the allocation and recycling of sectors.
--avg-transtab-entry-size=<number> [default: 0, meaning use tool provided default]
Average size of translated basic block. This average size is used to dimension the size of a sector. Each tool provides a default value to be used. If this default value is too small, the translation sectors will become full too quickly. If this default value is too big, a significant part of


text:
|Dutch Oven Cooking, Recipes and More|
Soldiers cooked their own food in pots, kettles, Dutch ovens, grills, and broilers. Families often accompanied their men into the field. Women assisted with cooking, sewing, washing clothes, and tending the sick. Children carried firewood or water.
Both British and American officers brought their own home necessities, such as tea strainers, that they used to ease the hardships of battle. Each man supplied his own utensils. These included a spoon, cup, fork, knife, and wood or metal plate. Strong spirits were usually provided.
Now it appears dutch ovens cooking has made a comeback.
Learn more at our dutch oven resource below.


text:
This paper presents a combined experimental and numerical method to simulate the liquid flow in a packed bed. Two types of the experiments, i.e. liquid percolation without gas flow and liquid flow with gas cross flow, were conducted using a three- or two-dimensional cold model, respectively. A mathematical model has been proposed for the numerical simulation of the liquid flow. This model was developed using a force balance approach combined with stochastic considerations, in which the liquid flow was treated as a discrete phase with stochastic dispersion based on the experimental observations. Accordingly, the interactions between liquid and the packed bed, and liquid and gas have been experimentally investigated and then were used to determine the model parameters involved in the model. The behavior of the liquid flow in packed beds can numerically be simulated using the proposed model. A reasonable agreement has been achieved between the model predictions and the experimental measurements.
|Number of pages||7|
|Journal||Chemical Engineering Science|
|Publication status||Published - Nov 1997|
- Cold model experiment
- Discrete liquid flow
- Gas-liquid flow
- Packed bed


text:
Skip to Main Content
Your organization might have access to this article on the publisher's site. To check, click on this link:_URL_
This paper introduces the design of a signal processing circuit which can be used in conjunction with additional arrangement for measuring gas mass flow rate. Measurement is based on Bernoulli's equation for subsonic flow. Voltages representing gas static pressure, static temperature, and difference pressure generated across an orifice plate are supposed to be taken from appropriate transducers. These voltages are processed with this circuit in such a way as to produce a digital number representing the mass flow rate value. The circuit shows a good accuracy result with uncertainty of about ±0.1%.


text:
In descriptions of grinding and the Harlem Shake, twerk occurs with great regularity. The verb means "to move one's buttocks in a suggestive way." It has not yet made its way into OED and perhaps never will (let us hope so), but its origin hardly poses a problem: twerk must be a blend of twist (or twitch) and work (or jerk), a close relative of such verbs as squirm (possibly a blend of dialectal squir "to throw with a jerk" and worm) and twirl (? twist + whirl). When blends are coined "in plain sight" — as happened to brunch, motel, and Eurasia — no one has questions about their descent. Nowadays, blending has become a tiresome custom, and the stodgy products of grafting one word on another are usually as transparent as Texaco or Amtrak and equally inspiring. But no one can prove that twirl is indeed a sum of twist and whirl. Its origin will forever remain "unknown." Be that as it may, twerk does look like a blend, even though we don't know who, where, and when launched it into the linguistic space of North America.
( Collapse )
SOURCE / Oxford University Press


text:
Don't just teach kids to count. Teach them what counts most!* Classrooms around the country now have the opportunity to do just that.
In response to requests from teachers and administrators to meet a "kindness gap," the 21 Day Kindness Challenge has launched its newest program, the 21 Day Kindness Challenge: Classroom Edition. The organization's new classroom kindness program provides teachers with 21 days of lessons, projects, activities and team meetings that teach kindness, compassion, appreciation and caring.
"Teachers asked for it, and we listened!" says Justina Bryant, founder and president of the 21 Day Kindness Challenge. "Teachers were asking for help to change the culture of their classroom." Our 21 Day Kindness Challenge: Classroom Edition provides them with all the materials and tools they need to create a kinder, more inclusive, classroom environment."
Studies have shown that students and teachers reap the benefits of teaching kindness in the classroom.
Teaching kindness has the following results:
The 21 Day Kindness Challenge: Classroom Edition is perfect for K-6 classroom teachers, youth groups, preschools, home-schools, or any small group-based learning environment. This program is a comprehensive, four week program that includes step-by-step weekly theme-based activities to emphasize kindness, caring, appreciation and gratitude. Students and teachers will develop the habit of being kind. The program also dovetails with many of the standards set by Common Core curriculum.
"I'm very excited to launch the 21 Day Kindness Challenge: Classroom Edition. I know our children can change the world, we just need to show them how to be kind, effective and proactive leaders," said 21 Day Kindness Challenge Founder, Justina Bryant.
In the words of Margaret Mead, "Never doubt that a small group of thoughtful, committed citizens can change the world. Indeed, it is the only thing that ever has."
*Quote by Karen Salmansohn. _URL_
Our 21 Day Kindness Challenge: Classroom Edition is now available!
Note From the Founder
Hello. I am the founder of the 21 Day Kindness Challenge Program.