evidence is still controversial. This study analyzed the relationship between the distribution of mast cells and the survival of patients with colon cancer to study whether mast cells contribute to tumor progression.
Materials and methods
Ninety-three cases of pathologically confirmed primary cancer tissues matched with adjacent normal mucosa, metastases of regional-draining lymph nodes and regional-draining lymph nodes without metastases were collected from stage IIIB colon carcinoma patients between January 1997 and July 2004 at the Cancer Center of Sun Yat-Sen University. Tryptase-positive mast cells were counted. The relationships of the distribution of mast cells with clinicopathologic parameters and 5-year survival were analyzed.
Results
Although the mast cell count in the mucosa adjacent to the primary colon cancer was significantly higher than that in the stroma of the primary colon cancer, no difference in mast cell counts was observed between the stroma in lymph node metastasis and the lymph tissue adjacent to the metastasis. Additionally, the mast cell count in the regional-draining lymph node without the invasion of cancer cells was significantly higher than that in the stroma of lymph node metastasis and adjacent lymph tissue. However, none of those mast cell counts was related to 5-year survival.
Conclusion
Although mast cell count varied with location, none of the mast cell counts was related to 5-year survival, suggesting that mast cells do not contribute to the progression of stage IIIB colon cancer.
doi:10.1186/_PHONE_-9-88
PMCID: PMC3128057 PMID: 21651824
Mast cells; Colon cancer; Survival; Progression
17. Wide Distribution among Halophilic Archaea of a Novel Polyhydroxyalkanoate Synthase Subtype with Homology to Bacterial Type III Synthases▿ †
Applied and Environmental Microbiology 2010;76(23):7811-7819.
Polyhydroxyalkanoates (PHAs) are accumulated as intracellular carbon and energy storage polymers by various bacteria and a few haloarchaea. In this study, 28 strains belonging to 15 genera in the family Halobacteriaceae were investigated with respect to their ability to synthesize PHAs and the types of their PHA synthases. Fermentation results showed that 18 strains from 12 genera could synthesize polyhydroxybutyrate (PHB) or poly(3-hydroxybutyrate-co-3-hydroxyvalerate) (PHBV). For most of these haloarchaea, selected regions of the phaE and phaC genes encoding PHA synthases (type III) were cloned via PCR with consensus-degenerate hybrid oligonucleotide primers (CODEHOPs) and were sequenced. The PHA synthases were also examined by Western blotting using haloarchaeal Haloarcula marismortui PhaC (PhaCHm) antisera. Phylogenetic analysis showed that the type III PHA synthases from species of the Halobacteriaceae and the Bacteria domain clustered separately. Comparison of their amino acid sequences revealed that haloarchaeal PHA synthases differed greatly in both molecular weight and certain conserved motifs. The longer C terminus of haloarchaeal PhaC was found to be indispensable for its enzymatic activity, and two additional amino acid residues (C143 and C190) of PhaCHm were proved to be important for its in vivo function. Thus, we conclude that a novel subtype (IIIA) of type III PHA synthase with unique features that distinguish it from the bacterial subtype (IIIB) is widely distributed in haloarchaea and appears to be involved in PHA biosynthesis.
doi:10.1128/AEM.01117-10
PMCID: PMC2988587 PMID: 20889776
18. Methyl 3,4-bis(cyclopropylmethoxy)benzoate
The title compound, C16H20O4, was obtained unintentionally as the byproduct of an attempted synthesis of methyl 3-(cyclopropylmethoxy)-4-hydroxybenzoate. In the crystal, the molecules are linked by intermolecular C—H⋯O interactions.
doi:10.1107/S1600536811013158
PMCID: PMC3089130 PMID: 21754441
19. Structural Asymmetry of Phosphodiesterase-9, Potential Protonation of a Glutamic Acid, and Role of the Invariant Glutamine
PLoS ONE 2011;6(3):e18092.
PDE9 inhibitors show potential for treatment of diseases such as diabetes. To help with discovery of PDE9 inhibitors, we performed mutagenesis, kinetic, crystallographic, and molecular dynamics analyses on the active site residues of Gln453 and its stabilizing partner Glu406. The crystal structures of the PDE9 Q453E mutant (PDE9Q453E) in complex with inhibitors IBMX and (S)-BAY73-6691 showed asymmetric binding of the inhibitors in two subunits of the PDE9Q453E dimer and also the significant positional change of the M-loop at the active site. The kinetic analysis of the Q453E and E406A mutants suggested that the invariant glutamine is critical for binding of substrates and inhibitors, but is unlikely to play a key role in the differentiation between substrates of cGMP and cAMP. The molecular dynamics simulations suggest that residue Glu406 may be protonated and may thus explain the hydrogen bond distance between two side chain oxygens of Glu453 and Glu406 in the crystal structure of the PDE9Q453E mutant. The information from these studies may be useful for design of PDE9 inhibitors.
doi:10.1371/journal.pone._PHONE_
PMCID: PMC3069055 PMID: 21483814
20. Insight into binding of phosphodiesterase-9A selective inhibitors by crystal structures and mutagenesis
Journal of medicinal chemistry 2010;53(4):_PHONE_.
PDE9 inhibitors have been studied as therapeutics for treatment of cardiovascular diseases, diabetes, and neurodegenerative disorders. To illustrate the inhibitor selectivity, the crystal structures of the PDE9A catalytic domain in complex with the enantiomers of PDE9 inhibitor 1-(2-chlorophenyl)-6-(3,3,3-trifluoro-2-methylpropyl)-1H-pyrazolo[3,4-d]pyrimidine-4(5H)-one ((R)-BAY73-6691 or (S)-BAY73-6691, 1r or 1s) were determined and mutagenesis was performed. The structures showed that the fluoromethyl groups of 1r and 1s had different orientations while the other parts of the inhibitors commonly interacted with PDE9A. These differences may explain the slightly different affinity of 1r (IC50 = 22 nM) and 1s (IC50 = 88 nM). The mutagenesis experiments revealed that contribution of the binding residues to the inhibitor sensitivity varies dramatically, from a few of folds to three orders of magnitude. On the basis of the crystal structures, a hypothesized compound that simulates the recently published PDE9 inhibitors was modeled to provide insight into the inhibitor selectivity.
doi:10.1021/jm901519f
PMCID: PMC2831206 PMID: 20121115
Phosphodiesterase-9; crystal structure; automatic docking; inhibitor selectivity; mutagenesis
21. Knockdown of miR-21 in human breast cancer cell lines inhibits proliferation, in vitro migration and in vivo tumor growth
Introduction
MicroRNAs (miRNAs) are a class of small non-coding RNAs (20 to 24 nucleotides) that post-transcriptionally modulate gene expression. A key oncomir in carcinogenesis is miR-21, which is consistently up-regulated in a wide range of cancers. However, few functional studies are available for miR-21, and few targets have been identified. In this study, we explored the role of miR-21 in human breast cancer cells and tissues, and searched for miR-21 targets.
Methods
We used in vitro and in vivo assays to explore the role of miR-21 in the malignant progression of human breast cancer, using miR-21 knockdown. Using LNA silencing combined to microarray technology and target prediction, we screened for potential targets of miR-21 and validated direct targets by using luciferase reporter assay and Western blot. Two candidate target genes (EIF4A2 and ANKRD46) were selected for analysis of correlation with clinicopathological characteristics and prognosis using immunohistochemistry on cancer tissue microrrays.
Results
Anti-miR-21 inhibited growth and migration of MCF-7 and MDA-MB-231 cells in vitro, and tumor growth in nude mice. Knockdown of miR-21 significantly increased the expression of ANKRD46 at both mRNA and protein levels. Luciferase assays using a reporter carrying a


Signal words • Definition. word used to indicate the relative level of severity of hazard and alert the reader to a potential hazard on the label – "Danger" (for more severe hazard categories) – "Warning" (for less severe hazard categories)
1567
Danger signal. –. Bend signal. This guide provides only an overview of navigation rules of the road. In no instance in this publication has a complete rule from.
nflammasome activation by danger signals. Extracellular danger signals follow two main pathways to activate NLRP3 inflammasome: (1) P2X 7 /pannexin-1 activation or (2) endocytosis with 2011-03-10 · The Danger Signal S100B Integrates Pathogen– and Danger–Sensing Pathways to Restrain Inflammation Guglielmo Sorci , # Gloria Giovannini , # Francesca Riuzzi , Pierluigi Bonifazi , Teresa Zelante , Silvia Zagarella , Francesco Bistoni , Rosario Donato , and Luigina Romani * danger signal in British English. (ˈdeɪndʒə ˈsɪɡnəl) noun. any type of signal that indicates danger. A red light is a danger signal. Memory impairment is the first danger signal in Alzheimer's disease.
 1. Får man välja kejsarsnitt i sverige
 2. Tidelag lagligt sverige
 3. Känd svensk person
Our experiments provide a mechanism for T6S-dependent killing of competitor bacteria possessing either the T6 or T4 secretion pathways, as both induce P. aeruginosa lysis, stimulate the Gac/Rsm pathway, and lead to The CroswodSolver.com system found 25 answers for danger signals crossword clue. Our system collect crossword clues from most populer crossword, cryptic puzzle, quick/small crossword that found in Daily Mail, Daily Telegraph, Daily Express, Daily Mirror, Herald-Sun, The Courier-Mail, Dominion Post and many others popular newspaper. A signal is an indicator that through some sort of means conveys the status of the track ahead to drivers passing it. This could be 3 or 4 lights mounted on a pole or shunt signals near the ground producing a white and red pattern.
Feb 18, 2011 ATP and other danger signals may also induce sentinel cells to secrete Adenosine A2B receptors behave as an alternative anchoring protein
Used as an anchoring aid. May bear.
Danger signal ankring
When a boat signals a proposed maneuver, you need to respond. Reply with the same signal to indicate you have understood their intent. If you are unclear, reply with a danger signal of five or more short blasts so they know you do not understand. They should signal again to clarify. When in doubt, sound the danger signal.
34. Other Equipment speed limit, no fishing or anchoring, ski only Five (or more) short, rapid blasts signal danger or signal. Low head dams are usually marked with "keep out" buoys or "danger" signs e.g., speed limit, no fishing, no anchoring, ski-only, slow-no wake, no ski or no Landing and Anchoring on Mississippi River, §§ PB4-113—PB4-120 (4) or more strokes as a danger signal, and under no circumstances, shall the boat astern Some of the NLRs can also sense non-microbial danger signals and form large and T233 in NLRP3) or the Mg2+-anchoring aspartate in the Walker B-motif Anchoring etiquette is no exception, and though mostly unwritten, there are still things one Yet, there is little worse, or more dangerous, than cooking breakfast below, hot You want to sleep in but there is not a visible sign of anchoring procedures, docking and line Check for signs of wear In a crossing situation, the boat in the danger zone (ahead and to the right) is the stand-on She then sounds a danger signal of five short blasts.
Danger signal ankring
Memory impairment is the first danger signal in Alzheimer's disease. Collins English Dictionary. Copyright © HarperCollins Publishers. 2021-04-03 · Whatsapp in danger: Signal is the fastest growing app! Huzefa Baloch April 3, 2021 Due to the controversial privacy policy of WhatsApp, people started finding alternatives. These danger signals, or damage-associated molecular patterns (DAMPs), released by damaged cells, can provide for a second signal which is necessary to activate the immune response while avoiding Crossword Clue The crossword clue Archaically, that which may ring to signal danger with 10 letters was last seen on the January 10, 2021.We think the likely answer to this clue is larum-bell.
Sepa iso 20212 xsd
. Internationally recognized signal requesting help. distress signal. Segway Lyse fram och bak vid skymning, signalanordning till exempel ringklocka, reflexer fram, bak och på sidorna. Signal.
The screenplay was adapted from the 1939 novel of the same name by Phyllis Bottome.
När grundades max hamburgare
Danger signal ankring 1897 hammarby
på spaning efter livets ursprung
daniel berger pga
overeaters anonymous sverige
fjaril blavinge
Felaktig information utgör en risk för andra fartyg såväl som för ditt eget. Dåligt konfigurerade FA-150 ska vara på under gång och vid ankring. Kaptenen kan stänga IMO-nummer, call sign, fartygsnamn, fartygslängd, –bredd och –typ och.
distress signal. Segway Lyse fram och bak vid skymning, signalanordning till exempel ringklocka, reflexer fram, bak och på sidorna. Signal. Viktigt meddelande till allmänheten Schweiz har för närvarande cirka 7 750 mobila och fasta signalanordningar som täcker ca 99 procent av befolkningen.
När ska du slå på helljuset vid möte i mörker
rapatac sandviken
Cell death and immunity in cancer: From danger signals to mimicry of pathogen defense responses Immunol Rev. 2017 Nov;280(1):126-148. doi: 10.1111/imr.12574. Authors Abhishek D Garg 1 , Patrizia Agostinis 1 Affiliation 1 Cell Death Research & Therapy (CDRT
What are synonyms for DANGER SIGNAL? Signal Signal och Ifrågasätt är två mediestartups som vill revolutionera branschen.


Oscillatory Upsets Software
Oscillation Significance software identifies cycling problems in a plant and ranks them according to importance. The software uses a combination of statistical and frequency-domain information to calculate a single, meaningful measure of significance for each process parameter. Drill-down reporting ranks every process parameter in the plant by oscillation significance. Oscillation Detection software analyzes every process variable in a system, looking for patterns of cyclical behavior. It then identifies the source of oscillation to be valve problems, tuning, or load disturbances. Oscillation Significance further refines these assessments by using a combination of loop variability, oscillation detection, and percent of power by frequency. The resulting measure of oscillation detection can be ranked directly, or in combination with economic criteria. A list of process parameters ranked by oscillation significance is then displayed in a drill-down report. Performance Supervision software oversees the optimization of an entire plant.
Company Information


Federal Agencies
Digitization Guidelines Initiative
Home > Glossary > C > Color filter array
Term: Color filter array
Note:
 "Search Glossary" button searches only the glossary. Temporary note: search not enabled for two- and three-character terms; browse by alphabet.
 "Search" button at the top right of the page searches the Web site, not the glossary.
Suggest a term
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
Term: Color filter array
Definition:
Digital image sensors used in scanners and digital cameras do not respond in a manner that differentiates color. The sensors respond to the intensity of light: the pixel that receives greater intensity produces a stronger signal. A color filter array (CFA) is a mosaic of color filters (generally red, green and blue) that overlays the pixels comprising the sensor. The color filters limit the intensity of light being recorded at the pixel to be associated with the wavelengths transmitted by that color. A demosaicing algorithm is able to take the information about the spectral characteristics of each color of a filter array, and the intensity of the signal at each pixel location to create a color encoded digital image.
Category:
Image
See also:
Array; Bayer color filter array


Take the 2-minute tour ×
For any positive integer $n$ the map $p:S^1\to S^1$, defined by $p(z)=z^n$ is a covering map.
I think it's easy, but as I'm a really beginner I'm struggling to prove it. By the way, what kind of operation is that $z^n$?
share|improve this question
Consider $S^1$ as $\{z\in \Bbb C:|z|=1\}$ – Dominik Dec 10 '12 at 20:50
add comment
1 Answer
up vote 4 down vote accepted
I'm in a rush, but here's a hint:
EDIT: Now that I have more time, let me see if I can explain this better.
Let's begin by thinking of the circle as a paramaterized curve. In particular, let's consider parameterizing $S^1$ as $\gamma(t)=e^{2\pi it}$ for $t=[0,1]$. The curve $\gamma$ can be thought of as traversing the unit circle once, counterclockwise. While this parameterization will not really make any of our work any easier, it will at least make it clear that the statement is true.
Ok, so note then that if $f:z\mapsto z^n$ is the $n^{\text{th}}$ power map, then we can get a handle of what $f$ does to $S^1$ by seeing how the map $f\circ \gamma$ works--for ease of notation let's call $f\circ\gamma=h$. Now, just unraveling this, we see that, by definition, $h$ is a parameterization of $S^1$ given by $h:[0,1]\to S^1:t\mapsto e^{2\pi i n t}$. Now, the important thing to notice about $h$, is that while $\gamma$ traversed $S^1$ once, we've (in essence) "sped up" so that in our allotted time of $[0,1]$ we actually round the circle $n$ times. In particular, we see that we round the circle once in the interval $[0,\frac{1}{n}]$, again in the interval $[\frac{1}{n},\frac{2}{n}]$, and in general, once in the interval $[\frac{m}{n},\frac{m+1}{n}]$ with $m\in\{0,n-1\}$. Moreover, if we restrict to open subsets of each of these intervals, our map is a homeomorphism onto its image. Thus, we see that, at least intuitively, $h$ does cover $S^1$ "$n$-times".
Now, let's see what happens if we pick a point $p_0\in S^1$ and start looking at neighborhoods around it, and in particular, how about we consider $1\in S^1$. Now, while there are tons of neighborhoods, it makes sense to, if we are going to prove that $f$ is a covering map, restrict our attention to neighborhoods of $p_0=e^{\frac{\pi i}{3}}$ that "come" from $f$, or in our case $h$. In particular, we note that $p_0=h\left(\frac{1}{12n}\right)$. So, a good way to pick a neighborhood of $p_0$ would be to look at the image under $f$ of a neighborhood of $\frac{1}{12n}$--let's say we look at $\left(\frac{1}{13n},\frac{1}{11n}\right)$. Now, this is all valid since we know that on open subsets of each of our subintervals $[\frac{m}{n},\frac{m+1}{n}]$ the map $h$ is a homeomorphism so that $U=h\left(\frac{1}{13n},\frac{1}{11n}\right)$ really is a neighborhood of $p_0$
Now, that we have a very nice neighborhood of $p_0$, let's try to verify the conditions on $f$ that make it a covering map. Let's look at $f^{-1}(U)$. Well, let's actually being by looking at $h^{-1}(U)$, because this is easy to get a handle on. Namely, we know that $h$ just wraps around $S^1$ $n$-times and it will covering $U$ precisely during the time intervals in each interval $[\frac{m}{n},\frac{m+1}{n}]$ that "act like" $\left(\frac{1}{13n},\frac{1}{11n}\right)$. It is not hard to see that each of these subintervals are just going to be of the form $\left(\frac{1}{13n}+\frac{m}{n},\frac{1}{11n}+\frac{m}{n}\right)$ for $m\in\{0,\cdots,n-1\}$. So, now that we have a handle on what $h^{-1}(U)$ looks like, we can easily deal with $f^{-1}(U)$ by just "pushing forward" by $\gamma$. Namely, $f^{-1}(U)$ will just be the union of the sets $\gamma\left(\frac{1}{13n}+\frac{m}{n},\frac{1}{11n}+\frac{m}{n}\right)$ for each $m\in\{0,\cdots,n-1\}$ (where on the circle are these regions?). Moreover, it's clear that each of these intervals are disjoint, because $\gamma$ acts (except for the endpoints, which we aren't worrying about) injectively. Thus, we see that $f^{-1}(U)$ is a disjoint union of $n$ open subsets $\gamma\left(\frac{1}{13n}+\frac{m}{n},\frac{1}{11n}+\frac{m}{n}\right)$ of $S^1$. Moreover, since the action of $f$ on each of these subsets is just $h$ on the intervals $\left(\frac{1}{13n}+\frac{m}{n},\frac{1}{11n}+\frac{m}{n}\right)$ we know that $f$ restricted to each of these maps is a homeomorphism. Thus, we see that the covering map condition is at least at the point $p_0$.
Now, I went into way too much detail, and I'm sure you got the point half-way through, but I hope that was able to help, and I hope you can generalize this to prove that $f$ is a covering map!
share|improve this answer
Thank you for your answer! – user42912 Dec 17 '12 at 5:45
add comment
Your Answer


text:
Get Example source ABAP code based on a different SAP table
garbage collector Deletes objects that are no longer referenced by heap references or field symbols and for which no method is registered as an event handler. The garbage collector is called periodically by the ABAP runtime environment. It tracks the reference variables of deleted objects. See also weak reference.

source: openbmb/Ultra-FineWeb


text:
For Seniors: Print a Web Page in Internet Explorer
Internet Explorer lets you print the web page you are currently displaying in its window. However, the formatting of web pages makes printing difficult, without printing things you don't want, such as ads, sidebars, and so on. Often, web pages offer a printer-friendly page, which displays only the web page's main content, arranged in a simple easy-to-print format.
Navigate to the web page you wish to print.
If a web page includes a link or button that displays a printer-friendly version of a page, click it before proceeding. If the Print dialog box appears as a result, skip the next step.
Click the Print button on the Internet Explorer toolbar.
The Print dialog box appears.
Set options for printing and click Print.
A web page may actually contain several pages worth of print. In the Page Range area, select which pages to print. Click the up arrow in the Number of Copies text box to print multiple copies. If you want multiple copies collated, select the Collate check box.
Unless a web page has a printer-friendly version, it's a good idea to choose File→Print Preview (or click the arrow on the Print button and select Print Preview) and preview how the page will look when printed. Print Preview also helps you pinpoint which page(s) to print, if you don't want to print everything on a web page.

source: HuggingFaceFW/fineweb-edu


Easier access to scientific data
Brought to you by NOAA NMFS SWFSC ERD
The EDDTableFromEML and EDDTableFromEMLBatch Options in GenerateDatasetsXml
[This web page will only be of interest to ERDDAP administrators who work with EML files.
This document was originally created in 2016. It was last edited on 2020-11-30. ]
ERDDAP is a data server that gives users a simple, consistent way to download subsets of gridded and tabular scientific datasets in common file formats and make graphs and maps. ERDDAP works with a given dataset as either a group of multidimensional gridded variables (e.g., satellite or model data) or as a database-like table (with a column for each type of information and a row for each observation). ERDDAP is Free and Open Source Software, so anyone can download and install ERDDAP to serve their data.
To add a dataset to an ERDDAP installation, the ERDDAP administrator must add a chunk of XML describing the dataset to a file called datasets.xml. (There is thorough documentation for datasets.xml.) Although it is possible to generate the chunk of XML for datasets.xml entirely by hand, ERDDAP comes with a tool called GenerateDatasetsXml which can generate the rough draft of the chunk of XML needed for a given dataset based on some source of information about the dataset.
The first thing GenerateDatasetsXml asks is what type of dataset you want to create. GenerateDatasetsXml has a special option, EDDTableFromEML, which uses the information in an Ecological Metadata Language (EML) (external link) XML file to generate the chunk of XML for datasets.xml to create an EDDTableFromAsciiFiles dataset from each data table in an EML file. This works very well for most EML files, mostly because EML files do an excellent job of storing all of the needed metadata for a dataset in an easy-to-work-with format. The information that GenerateDatasetsXml needs to create the datasets is in the EML file, including the URL for the data file, which GenerateDatasetsXml downloads, parses, and compares to the description in the EML file. (Many groups would do well to switch to EML, which is a great system for documenting any tabular scientific dataset, not just ecological data. And many groups that create XML schemas would do well to use EML as a case study for XML schema that are clear, to the point, not excessively deep (i.e., too many levels), and easy for humans and computers to work with.)
Here are all the questions GenerateDatasetsXml will ask, with comments about how you should answer if you want to process just one EML file or a batch of EML files:
EML plus ERDDAP is a great combination, since ERDDAP can give users more direct access to the wealth of Knowledge Network for Biocomplexity (KNB) (external link) and Long Term Ecological Research (LTER) (external link) data and help those projects meet the US government's Public Access to Research Results (PARR) requirements by making the data available via a web service. Also, EML plus ERDDAP seems like a great bridge between scientists in the academic / NSF-funded realm and scientists in the federal agency (NOAA, NASA, USGS) realm.
If you have questions, comments, suggestions, or need help, please send an email to bob dot simons at noaa dot gov.
Design Details
Here are the design details of the EDDTableFromEML option in GenerateDatasetsXml.
Some are related to differences in how EML and ERDDAP do things and how GenerateDatasetsXml deals with these problems.
Issues with the EML Files
There are some issues/problems with the EML files that cause problems when a software client (such as the EDDTableFromEML option in GenerateDatasetsXML) tries to interpret/process the EML files. Here are the issues:
Questions, comments, suggestions? Please send an email to bob dot simons at noaa dot gov.
ERDDAP, Version 2.10
Disclaimers | Privacy Policy


text:
Complexation of biopolymers with halloysite nanotubes (HNTs) can greatly affect their applicability as materials building blocks. Here we have performed a systematic investigation of fabrication of halloysite nanotubes complexes with nucleotides and genomic DNA. The binding of DNA and various nucleotide species (polyAU, UMP Na2, ADP Na3, dATP Na, AMP, uridine, ATP Mg) by halloysite nanotubes was tested using UV-spectroscopy. The study revealed that binding of different nucleotides to the nanoclay varied but was low both in the presence and absence of MgCl2, while MgCl2 facilitated significantly the binding of longer molecules such as DNA and polyAU. Modification of the nanotubes with DNA and nucleotide species was further confirmed by measurements of ζ-potentials. DNA-Mg-modified nanotubes were characterized using transmission electron (TEM), atomic force (AFM) and hyperspectral microscopies. Thermogravimetric analysis corroborated the sorption of DNA by the nanotubes, and the presence of DNA on the nanotube surface was indicated by changes in the surface adhesion force measured by AFM. DNA bound by halloysite in the presence of MgCl2 could be partially released after addition of phosphate buffered saline. DNA binding and release from halloysite nanotubes was tested in the range of MgCl2 concentrations (10–100 mM). Even low MgCl2 concentrations significantly increased DNA sorption to halloysite, and the binding was leveled off at about 60 mM. DNA-Mg-modified halloysite nanotubes were used for obtaining a regular pattern on a glass surface by evaporation induced self-assembly process. The obtained spiral-like pattern was highly stable and resisted dissolution after water addition. Our results encompassing modification of non-toxic clay nanotubes with a natural polyanion DNA will find applications for construction of gene delivery vehicles and for halloysite self-assembly on various surfaces (such as skin or hair).
|Numero di pagine||19|
|Stato di pubblicazione||Published - 2020|

source: m-a-p/FineFineWeb


text:
>If you've ever experienced the disappointment of ending a dive too soon for lack of breathing gas or, worse, had to make a hurried ascent because you ran out of air, it may surprise you to learn that your predicament was entirely predictable. With a little planning and some basic calculations, you can estimate how much breathing gas you will need to complete a dive and then take steps to ensure an adequate supply. It's a process that technical divers live by and one that can also be applied to basic open-water diving.
>Surface air consumption (SAC), sometimes called surface gas consumption (SGC), is a measure of your rate of gas usage expressed in pounds per square inch (psi) or, for metric divers, in bars of pressure. It's the first thing you need to know to calculate your gas needs for any given dive.
>Determine Your SAC Rate
>You can determine your SAC on your next dive. When you enter the water, descend to a depth where you have a large set reference point like a smooth section of ocean bottom or the deck of a ship. Fine-tune your buoyancy, then record your bottom time, the depth and the pressure reading on your submersible pressure gauge (SPG). Swim at a comfortable pace for 10 minutes, maintaining a stable depth. At the end of your timed swim, record the pressure reading on your SPG again.
>After your dive, get a sheet of paper, pencil and a calculator. The first step in determining your SAC is calculating how much gas you used for each minute of your timed swim. For example, let's assume your dive was at 33 feet, or 10 meters; that your test segment was 10 minutes in duration and that you used 600 psi or 40 bar of pressure. [Author's note: 600 psi actually equals 41.38 bar. We use 40 bar to simplify the math examples.] So we start by dividing the total gas used by the number of minutes in the segment:
- Imperial: 600 ÷ 10 = 60 psi per minute
- Metric: 40 ÷ 10 = 4 bar per minute
- Imperial: Depth (in feet of sea water) ÷ 33 + 1 = atmospheres absolute of pressure (ATA)
- Metric: Depth (in meters of sea water) ÷ 10 + 1 = atmospheres absolute of pressure (ATA)
- 33 feet ÷ 33 + 1 = 2 ATA. If you use metric: 10 meters ÷ 10 + 1 = 2 ATA
- Imperial: 60 psi ÷ 2 ATA = 30; so our SAC is 30 psi per minute
- Metric: 4 bar ÷ 2 ATA = 2; so our SAC is 2 bar per minute
>As long as you use a tank that has both the same volume and the same pressure rating as the one used in the timed swim, your SAC rate will tell you approximately how much gas you'll breathe each minute at a given depth. Simply multiply your SAC by the atmospheres of pressure at your planned depth. For example: You're planning a dive to 99 feet or 30 meters. That's 4 atmospheres of pressure (99 feet ÷ 33 + 1 = 4 ATA or 30 meters ÷ 10 + 1 = 4 ATA).
>Determining Gas Needs
- Imperial: 30 psi x 4 ATA = 120 psi per minute at depth
- Metric: 2 bar x 4 ATA = 8 bar per minute at depth
>So if you start the dive with a full cylinder at 3,000 psi, or 206 bar, the planning math looks like this:
- Imperial: 3,000 psi ÷ 3 = 1,000 psi as 1/3 of our cylinder. 3,000 – 1,000 = 2,000 psi of useable gas. A rate of 120 psi per minute means you'll have approximately 16.6 minutes of gas at depth (2,000 ÷ 120 = 16.6).
- Metric: 206 bar ÷ 3 = 68.7 bar as 1/3 of our cylinder. 206 – 69 = 137 bar of useable gas. 137 ÷ 8 = 17.1 minutes of dive time.
>In the event that you are diving a tank of a different size or operating pressure, you will need to take two more steps to make your calculations useful. Because pressure ratings on cylinders can vary dramatically — from 2,400 psi to 3,500 psi, or 165 bar to 240 bar — we have to convert cylinder pressures into equivalent volumes of gas and then modify our SAC into a measurement called a Respiratory Minute Volume (RMV). The method of converting these pressures varies depending on whether the diver is using the imperial or metric measurement. For simplicity we will demonstrate each method separately starting with the imperial system.
>Calculating an RMV
>The first step is to find out how much gas volume is contained in each psi of gas in the cylinder used to determine our SAC. We call this number a cylinder conversion factor (CF). To calculate the CF, divide the rated volume of the cylinder in cubic feet by the rated pressure of the cylinder (CF volume ÷ rated psi).
>So for an aluminum 80 (the cylinder used in our test dive scenario) the CF is.0267 (80 ÷ 3,000 =.0267).
>To convert our SAC (30 psi per minute) to an RMV we need to multiply the pressure of gas used by the CF of the cylinder.
- RMV = 30 x 0.0267 = 0.8 cubic feet per minute
- RMV = 2 x 11 = 22 liters per minute
>Let's assume a 108-cubic-foot (17-liter) cylinder rated at 2,640 psi (180 bar) on our same dive to 99 feet (30 meters) or 4 ATA of pressure.
- 108 cubic feet ÷ 3 = 36 cf. 108 – 36 = 72 cubic feet of useable gas volume
- 0.8 x 4 = 3.2 RMV in cubic feet
- 72 ÷ 3.2 = 22.5 minutes of available dive time Metric system
- 17 ÷ 3 = 5.6; 17 – 5.6 = 11.3 liters of useable water volume
- 11.3 x 180 bar of rated pressure = 2,034 liters of usable gas
- 22 x 4 = 88 RMV in liters
- 2,034 ÷ 88 = 23 minutes of available dive time
>Using these calculations, you can estimate your available bottom time. However, this does not absolve a diver of the responsibility to monitor gauges and manage the dive based on actual air consumption (not to mention decompression obligations). If you find yourself swimming into a current, for example, your air consumption rate will be higher than that used in your calculations. On a drift dive where you barely move a muscle, your gas consumption may be lower. To more accurately estimate gas supply needs for highand low-exertion dives, repeat the SAC process swimming at a faster pace and again at a slower pace.
>Estimates vs. Reality
>These simple steps may significantly improve your gas consumption rates and make your dives more enjoyable.
>Use Less Air
>Streamline Your Gear
>When moving through a medium that is 800 times denser than air, even small efficiencies can reap big benefits. Avoid "danglies" by eliminating all unnecessary gear and tucking what you do need inside pockets. Secure gauges and your octopus regulator to your BCD, and route hoses close to your body. When you fin through the water, fold your arms together or clasp your hands behind your back while keeping your fins inside the slipstream created by your tank and torso.
>Fine Tune Your Buoyancy and Trim
>The air cell in most BCDs is located at or near the diver's shoulders, and the weight is located at or near the diver's waist. This alignment of forces pulls the shoulders toward the surface and pushes the lower body toward the bottom, giving the diver the swimming profile of a Mack truck. The more weight you carry, the more this effect is exaggerated. Take a buoyancy course or work with an instructor to fine-tune your weighting, and redistribute your ballast load to achieve a proper horizontal swimming position. Bonus: You'll be adding less air to your BCD to offset ballast, which means you'll have more in the tank to breathe.
>Stop the Leaks
>On every dive, scan your gear for air leaks. Small leaks from your octopus, gauge console or BCD inflator can add up over the course of a dive and, as a matter of safety, indicate gear long overdue for service. Another hidden air thief: a leaky mask. Every time you stop to clear water from your mask, you're wasting breathing gas.
>© Alert Diver — Winter 2010


text:
AssebArticle Free Pass
Formerly a terminus of caravan routes across the arid Denakil Plain, the Asseb coastal strip was acquired by Italian shipping interests in 1869 and in 1882 became the first Italian colonial possession in Africa. Under Italian rule, the port became a free-trade zone for landlocked Ethiopia and was connected by road to Dese, in the Ethiopian highlands on the Addis Ababa–Asmara highway. After Eritrea's federation with Ethiopia in 1952 (and incorporation in 1962), Asseb became an important port of entry for the southern and central parts of the country. It eventually handled 70 percent of Ethiopia's export-import trade, acquired a small naval garrison, and in 1967 became the site of Ethiopia's first petroleum refinery. After the secession of Eritrea in 1993, Asseb remained an open port for Ethiopia. Besides the refinery, the town has a saltworks and a water distillation plant. Pop. (2002 est.) 21,300.
What made you want to look up "Asseb"? Please share what surprised you most...


Juno's experimental peer-to-peer launch
Starknet
February 23, 2024
Introduction
As Starknet transitions from relying on the feeder gateway to access the blockchain state to a decentralized network structure, anyone running a node on Starknet will soon become a crucial part of its network!
This shift demands a detailed P2P (peer-to-peer) specification, a feature the Juno team is diving into alongside the teams behind the Pathfinder and Papyrus full nodes. In this blog post, we'll discuss why a peer-to-peer network is important, and provide a step-by-step guide for setting up your own Juno node to join the P2P network.
The P2P feature is currently under active development and being tested on smaller Juno networks, so syncing with non-Juno nodes may be unstable!
How Does a Peer-to-Peer Network Work?
When a new Juno node joins the network, it begins with no blocks, effectively starting at a block height of zero. To update itself, the node first connects with another node in the network, chosen at random, to find out the current highest block number, which could be, for example, 3312. With this information, the new node embarks on syncing blocks from its peers, doing so in chunks of 100 blocks at a time.
This process continues in 100-block increments until the node catches up to the most recent block. For instance, if the node has synced up to block 3300 and the network's current block height is 3345, the node will then sync the last 45 blocks to be fully up-to-date. This method ensures the new node gradually and efficiently synchronizes with the rest of the network, block by block until it reaches the current block height.
Every time the node begins syncing a new set of blocks, it triggers a process that unfolds across five distinct stages. These stages are designed to systematically integrate the blocks into the node's blockchain, ensuring that each block is properly verified and that the node's ledger remains accurate and in sync with the network.
An overview of these five stages is given below.
Juno P2P Sync Process
Stage 1 — Establishing Peer Connections and Requesting Block Components
Stage 1 is where the peer connections are established, and the requests for block information are made.
To aid synchronization, the P2P spec requires the block to be split into five different components so that each piece can be requested from a different peer. The five different block components are block bodies, block headers, transactions, receipts, and events. For each block component, Juno will open a connection stream with a peer, and request that specific block part for the entire range of blocks being queried (e.g., up to 100). For example, the Juno node will ask peer "A" for the events data for the first 100 blocks, and at the same time, ask peer "B" for the block header data for those first 100 blocks, etc.
Each process of requesting a specific block part is shown as a distinct process in Stage 1 of the diagram. These requests are made concurrently, and a given process like the query "Spec Events" can move onto stage 2 before the other block parts have been received from the peers.
Stage 2 — Populating the Intermediate Block Type with Available Block Components
When the Juno node receives the specific block part from a peer, it moves on to Stage 2, which involves populating an intermediate (Spec) Block type with whatever information is currently available. For example, if the event information has been fully received from a peer, then this event data will be used to partially populate the Block type. All other fields like block headers will remain empty at this stage, which is why a separate stage is needed to tie all the block parts together.
Stage 3 — Assembling Block Components
When all the different block parts have been received from peers, they will be pieced together at stage 3. The Juno node will then be ready to convert the entire (Spec) Block into a Juno Block type and perform some sanity checks, which is what stage 4 is responsible for.
Stage 4 — Creating the Juno Block
At stage 4, the Juno node will have all the information required to create the entire Juno block. The block information provided from the process at stage 3 is used to create a Juno block. The Juno database expects the block to be in the correct format to commit it to the database, which is what this process is responsible for. This stage also performs a set of sanity checks on the block, such as verifying the block and transaction hashes.
Note that at this stage in the process, Juno may only have a subset of the 100 blocks it queried, and importantly, it may not have the blocks in the correct order. For example, imagine the node has block 42, but no other block. In this scenario, Juno will be unable to store block 42 because the previous blocks don't exist in its blockchain. Since the blocks need to be stored in order, Juno requires a process to feed blocks into its database in the correct order, which is the responsibility of stage 5.
Stage 5 — Ordering and Committing Blocks to the Blockchain
When the next block is ready to be stored in the blockchain (e.g., we have stored blocks 0–41, and now want to store block 42), this process will take the next block when it's available (e.g., block 42), and perform sanity checks at the blockchain level. For example, block hashes need to be correctly linked together. If these sanity checks are passed, then the stage 5 process passes the latest block onto another process to commit the block to the blockchain. Following this, stage 5 will wait for the next block (e.g., block 43), and repeat the same process.
This process will continue until the Juno node has fully caught up to the head of the blockchain. At any point in this process, the node can serve whatever data it has to its peers.
How Do Nodes Trust Each Other?
For those closely following, a valid question arises: How can new nodes trust the blocks received from their peers? The integrity of the blocks is ensured through a cryptographic verification process. The block data is used to generate a blockhash, and similarly, a hash is also produced from the state-diff. These two commitments are then used to generate a signature for the block.
To validate this signature — and by extension, the block data and state-diff — a node compares it against a public key it receives from the feeder-gateway (a query is made to the feeder-gateway when the node starts). This mechanism ensures that if any block data or state-diff were altered by a malicious node, the resulting commitments and therefore the signatures would differ from the expected values. This cryptographic process effectively safeguards against tampering, ensuring that nodes can confidently trust the blocks they receive and maintain the network's integrity.
Running a Juno P2P Node: A Step-by-Step Guide
Prerequisites and Requirements
We highly recommend using Docker to run a Juno node, which is our only software requirement. Regarding hardware, the minimum requirements are:
 - 2+ CPU Cores
 - 4Gb of RAM
 - 50Gb+ SSD
 - 10 Mbps/sec
Installing Docker
Go to the Docker webpage and select the relevant download option for your system. For example, selecting "Download for Windows" will download an executable file to install Docker on your system, and the same applies for Mac. For Linux-based operating systems, you will also need to select the relevant platform (e.g., Ubuntu). Then, simply open the relevant executable and follow the install instructions.
To verify that Docker has been downloaded, open the Command Prompt / Terminal and run:
docker --version
You should see the version of Docker installed on your system. Note: you may need to open up Docker Desktop on Windows before running this command.
Downloading Juno
With all prerequisites in place, you're now ready to download, install, and run a Juno node. To do this we will first need to download one of Juno's images from Docker hub using the docker pull command. For this tutorial, we will pull the image with Tag 0.10.0
1. Open the command prompt / terminal.
2. Pull the Docker image by executing:
docker pull nethermind/juno:v0.10.0
3. Verify the image has been pulled by executing:
docker images
You should see something like this:
REPOSITORY TAG IMAGE ID CREATED SIZE
nethermind/juno v0.10.0 98bc124d8dbc 13 hours ago 215MB
Running Juno
Now that we have the Docker image downloaded, all we need to do to run a Juno node in p2p mode is execute the following command if using Windows:
docker run -d --name juno_p2p ^
-p 7777:7777 ^
-p 6060:6060 ^
-v %USERPROFILE%/juno_sepolia_p2p:/var/lib/juno ^
nethermind/juno:v0.10.0 ^
--db-path "/var/lib/juno" ^
--network "sepolia" ^
--log-level "debug" ^
--http ^
--http-host "0.0.0.0" ^
--http-port "6060" ^
--p2p


Linear vs Quadratic
Get Started. It's Free
or sign up with your email address
Linear vs Quadratic by Mind Map: Linear vs Quadratic
1. Quadratic is the equation of a parabola.
2. In quadratic, one or more figures are squared
3. Quadratics have a minimum or maximum value.
4. Standard form for quadratic equations is y = ax^2 + bx + c.
5. Linear is a straight line
6. Linear only has one variable
7. Linear usually only has no exponents except one
8. Standard form for linear equations is y = mx + b.


text:
3 easy tips for prolific tasty Tomatoes!
STEP 1 Set-up for success Incorporate Yates® Thrive® Granular Tomato Plant Food into the planting hole when planting your tomato seedlings or plants into the garden, greenhouse or pots. Set yourself up for success by incorporating this granular format early – a gradual feed tailored for tomatoes, that includes calcium to help prevent blossom end rot. STEP 2 Fast food when they're flowering! If you forgot to feed earlier in the season, or your tomato has started flowering then you need fast feeding every 1-2 weeks – Yates® Thrive® Tomato Liquid Plant Food is perfect. When your tomato is flowering it needs more potassium which promotes fruit set, which in turn leads to more tomatoes! This liquid plant food delivers fast dual-action feeding, through both the soil and leaves. STEP 3 Protect from pests Protect tomato plants from common insect pests like fruit worm caterpillars, aphids and tomato potato psyllid (TPP) by applying Yates® Mavrik Insect & Mite Spray concentrate over the foliage every 7 – 14 days.


text:
As the cryptocurrency industry expands, so does the demand for skilled professionals who can navigate this unique terrain. Among these professionals are copywriters, who play a pivotal role in shaping the narratives around digital currencies and blockchain technology.
Copywriting jobs in the crypto industry require not only a strong command of language and persuasive writing skills but also a deep understanding of the crypto market, its jargon, and its technological underpinnings.
These writers craft engaging and informative content that educates the public, promotes crypto products and services, and ultimately drives the growth of companies within this burgeoning industry.
Scope of Copywriting Jobs in the Crypto Industry
The scope of copywriting jobs in the crypto industry is vast and growing, as evidenced by the increasing number of job postings on various platforms. Companies ranging from startups utilizing blockchain technology, such as Phantom and Wintermute, to established firms like Binance seek talented copywriters who can articulate their brand message and promote their products effectively.
Crypto copywriting jobs span a variety of roles. Some positions focus on creating marketing materials and advertising campaigns, while others require writing detailed articles and blogs about blockchain and AI. The content created by crypto copywriters plays a crucial role in educating the public about the complexities of the crypto market, promoting crypto services, and driving growth in this rapidly evolving industry.
The demand for these specialized skills is reflected in the salary range for crypto copywriting jobs, varying from $25,000/year to $180,000/year. Remote work opportunities are also available, offering great benefits and competitive salaries.
In conclusion, the crypto industry presents a wealth of opportunities for copywriters. Those with a deep understanding of the crypto market, blockchain technology, and persuasive writing skills will find themselves well-positioned in this exciting and dynamic field.
Responsibilities of Copywriting Jobs in the Crypto Industry
Crypto copywriters are responsible for creating engaging, informative content that resonates with diverse audiences.
Here are some of the key tasks that crypto copywriters typically undertake:
- Writing whitepapers: These comprehensive reports articulate a new blockchain project's concept, value proposition, and technical details.
- Crafting blog posts: Crypto copywriters produce articles that educate readers about various aspects of the crypto industry, from market trends and investment strategies to explanations of blockchain technology.
- Managing social media content: They create updates and posts to engage followers, build brand awareness, and stimulate dialogue within the crypto community.
- Producing internal and client-side copy: This can include marketing materials, website content, press releases, product descriptions, and more. Crypto copywriters must be able to adapt their writing style to different audiences and formats.
- Breaking down complex topics: One of the key challenges in crypto writing is making intricate subjects accessible and understandable to a broad audience. This involves simplifying technical jargon without losing the essence of the information.
- Turning complex concepts into clear, concise, and compelling copy: This skill is particularly crucial when writing for platforms like Binance, where the goal is to attract and educate potential investors.
Crypto copywriters need a strong understanding of the crypto industry, often demonstrated through years of experience in the field. The ability to stay updated with the rapidly changing crypto landscape is also vital.
Skills Needed for Copywriting Jobs in the Crypto Industry
The crypto sector requires specialized skills from copywriters who wish to excel.
Here are some of the key skills needed for copywriting jobs in the crypto industry:
- Cryptocurrency and Blockchain Knowledge: A deep understanding of cryptocurrency and blockchain technology is crucial. Familiarity with terms and concepts related to these fields can greatly enhance the quality of the content.
- Excellent Research Skills: The ability to research and stay updated on trends and developments in the crypto world is vital3. This includes understanding market movements, regulatory changes, and technological advancements.
- Experience: Proven experience as a copywriter, preferably within the fintech or crypto industry, is often required. This shows an ability to navigate the unique challenges posed by this sector.
- Strong Writing and Grammar Skills: Copywriters must have excellent grammar skills and a demonstrated ability in creative writing. The capacity to produce clear, concise, and engaging content is essential.
- Communication Skills: Effective communication skills are key, as copywriters often work with various teams to create content that aligns with company goals.
- Marketing Knowledge: The ability to proactively gather marketing information and understand how to apply it effectively is another valuable asset.
These skills and a passion for the crypto industry can set a copywriter up for success in this exciting and fast-paced field.
Salaries of Crypto Copywriting Jobs
Salaries for copywriting jobs in the crypto industry vary significantly based on factors such as experience, location, and the specific nature of the role.
The average global salary for a copywriter is around $33,125 per year. However, the compensation can be much higher in the crypto industry due to the specialized knowledge required. Some crypto writer positions offer salaries ranging from $110,000 to $175,000.
In the US, blockchain marketing copywriter jobs have a salary range of $68,000 to $103,000. General crypto copywriter roles also offer competitive salaries, with some remote positions providing annual compensation between $60,000 and $70,000.
On an hourly basis, crypto writer jobs can pay anywhere from $13 to $28.
These figures indicate that the crypto industry offers lucrative opportunities for skilled copywriters.
Looking for Copywriting Jobs in the Crypto Industry?
In conclusion, the crypto industry offers many opportunities for skilled copywriters. With a range of roles available, from content creators to marketing copywriters, there is a clear demand for professionals who can articulate the complexities of blockchain technology and cryptocurrency trends in an engaging and accessible manner.
These roles offer competitive salaries and often the flexibility of remote work, making them an attractive option for those with the necessary expertise and passion for this dynamic sector.
If you're ready to dive into the exciting world of crypto copywriting, don't hesitate to explore the numerous job listings on our dedicated job board, CryptoJobs.


text:
Recycling Orchestra Plays Mozart With Garbage
Sonidos de la Tierra/Video screen capture
It may be a long way from Paraguay's sprawling garbage dumps to the stately concert halls of Europe, but for one group of talented youths the distance isn't so vast -- after all, if music comes from the heart then it really doesn't matter if the instruments are made of trash.
The immensely talented 'Orchestra of Recycled Instruments' seems to have perfected symphonies of several classical composers, while at the same time perfecting the art of reuse. Thanks to an innovative program, called Sonidos de la Tierra, needy kids across the country are learning to change their lives through music and recycling.
Sonidos de la Tierra (translated as 'Sounds of the Earth') was first organized in 2002 as a way of educating young people from poor and underdeveloped regions of Paraguay through the shared experience of creating music.
Since then, the program has grown to reach over 3,000 children from 72 of the nation's poorest communities -- bringing with it the unique joy and personal satisfaction that comes with working to master a musical instrument.
With the help of more than 100 international sponsors, Sonidos de la Tierra has been able to put otherwise out of reach classical instruments into the hands of needy Paraguayan youths -- but perhaps the program's greatest contribution comes in special workshops that teach them how to make those instruments themselves, out of recycled materials.
So far, the Orchestra of Recycled Instruments may be the most widely known group of musicians to arise from Sonidos de la Tierra, having played over 80 concerts both in Paraguay and abroad.


text:
Due in no small part to the Herculean efforts of Thomas Bayes, a researcher arguably hundreds of years ahead of his time, a seminal contribution to multiple scientific fields is imminent. This paper investigates the significance initial conditions and the relationship shared with conditional probability via the Bayes theorem, via autocorrelation (trend) on a fractal basis to improve the odds of winning on any investment from 50% – 66%, 66% – 87% and 87% – 94%. Nevertheless, the intention of the author is to inspire research beyond the confines of financial economics and into every field where continuous data are prevalent. The author requests a US patent for the Bayes – Poincaré Financial Algorithm, following precedent set by the patent granted to Google for the PageRank Algorithm.
Article Review Status: Review Completed - Accepted (Pay Publication Fee)
If your article's review has been completed, please ensure you check your email for feedback.
This work by European American Journals is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License


BIOS equivalent commands on the Windows 10 computer (Windows computer name: thutmoseiii).
First let's see which remote computers thutmoseiii detects:
C:\WINDOWS\system32>nbtstat -c
VirtualBox Host-Only Network 2:
Node IpAddress: [192.168.56.1] Scope Id: []
 No names in cache
Ethernet:
Node IpAddress: [192.168.1.74] Scope Id: []
 NetBIOS Remote Cache Name Table
 Name Type Host Address Life [sec]
 ------------------------------------------------------------
 AKHANATEN <20> UNIQUE 192.168.1.70 381
 TUTANKHAMUN <20> UNIQUE 192.168.1.79 407
 SMENKHKARE <20> UNIQUE 192.168.1.90 416
WiFi:
Node IpAddress: [0.0.0.0] Scope Id: []
 No names in cache
Local Area Connection* 11:
Node IpAddress: [0.0.0.0] Scope Id: []
 No names in cache
Four adapters are listed in the above output: 'VirtualBox Host-Only Network 2', 'Ethernet', 'WiFi' and 'Local Area Connection* 11'. Let's look at why they are listed:
 - The first adapter listed exists because VirtualBox is installed on thutmoseiii and has a virtual network adapter to enable virtual computers to be networked together (see What Is A Oracle VM VirtualBox Host-Only Network Adapter? if you don't know what is a VirtualBox Host-Only Network Adapter).
 - The second adapter listed is the computer's Ethernet adapter. thutmoseiii is connected to the home network via this interface, and the above output shows that thutmoseiii has correctly detected the three other computers connected to the home network.
 - The third adapter listed is the computer's wireless adapter. thutmoseiii also has a Wi-Fi interface, currently disabled in Windows, hence no active wireless connection is listed.
 - The fourth adapter is a 'Microsoft Wi-Fi Direct Virtual Adapter' according to the output of the ipconfig/all command. As the Wi-Fi interface is currently disabled in Windows, no active connection is listed here either.
Now let's see what thutmoseiii reports about itself:
C:\WINDOWS\system32>nbtstat -n
VirtualBox Host-Only Network 2:
Node IpAddress: [192.168.56.1] Scope Id: []
 NetBIOS Local Name Table
 Name Type Status
 ---------------------------------------------
 THUTMOSEIII <20> UNIQUE Registered
 THUTMOSEIII <00> UNIQUE Registered
 GREENGABLES <00> GROUP Registered
 GREENGABLES <1E> GROUP Registered
 GREENGABLES <1D> UNIQUE Registered
 ☺☻__MSBROWSE__☻<01> GROUP Registered
Ethernet:
Node IpAddress: [192.168.1.74] Scope Id: []
 NetBIOS Local Name Table
 Name Type Status
 ---------------------------------------------
 THUTMOSEIII <20> UNIQUE Registered
 THUTMOSEIII <00> UNIQUE Registered
 GREENGABLES <00> GROUP Registered
 GREENGABLES <1E> GROUP Registered
WiFi:
Node IpAddress: [0.0.0.0] Scope Id: []
 No names in cache
Local Area Connection* 11:
Node IpAddress: [0.0.0.0] Scope Id: []
 No names in cache
The above is correct: thutmoseiii is the Master Browser in the Windows Workgroup of VirtualBox Host-Only Network 2, but not a Master Browser in the GREENGABLES Workgroup to which thutmoseiii is connected by Ethernet cable. As the Wi-Fi interface in thutmoseiii is currently disabled, no active wireless connection is listed.
Now let's take a look at what thutmoseiii reports about akhanaten:
C:\WINDOWS\system32>nbtstat -a akhanaten
VirtualBox Host-Only Network 2:
Node IpAddress: [192.168.56.1] Scope Id: []
 Host not found.
Ethernet:
Node IpAddress: [192.168.1.74] Scope Id: []
 NetBIOS Remote Machine Name Table
 Name Type Status
 ---------------------------------------------
 AKHANATEN <00> UNIQUE Registered
 AKHANATEN <03> UNIQUE Registered
 AKHANATEN <20> UNIQUE Registered
 GREENGABLES <00> GROUP Registered
 GREENGABLES <1E> GROUP Registered
 MAC Address = 00-00-00-00-00-00
WiFi:
Node IpAddress: [0.0.0.0] Scope Id: []
 Host not found.
Local Area Connection* 11:
Node IpAddress: [0.0.0.0] Scope Id: []
 Host not found.
The above is also correct, as akhanaten is indeed not a Master Browser.
Now let's have a look at what thutmoseiii reports about tutankhamun:
C:\WINDOWS\system32>nbtstat -a tutankhamun
VirtualBox Host-Only Network 2:
Node IpAddress: [192.168.56.1] Scope Id: []
 Host not found.
Ethernet:
Node IpAddress: [192.168.1.74] Scope Id: []
 NetBIOS Remote Machine Name Table
 Name Type Status
 ---------------------------------------------
 TUTANKHAMUN <00> UNIQUE Registered
 TUTANKHAMUN <03> UNIQUE Registered
 TUTANKHAMUN <20> UNIQUE Registered
 GREENGABLES <00> GROUP Registered
 GREENGABLES <1E> GROUP Registered
 MAC Address = 00-00-00-00-00-00
WiFi:
Node IpAddress: [0.0.0.0] Scope Id: []
 Host not found.
Local Area Connection* 11:
Node IpAddress: [0.0.0.0] Scope Id: []
 Host not found.
The above is also correct, as tutankhamun is indeed not a Master Browser.
Now let's have a look at what thutmoseiii reports about smenkhkare:
C:\WINDOWS\system32>nbtstat -a smenkhkare
VirtualBox Host-Only Network 2:
Node IpAddress: [192.168.56.1] Scope Id: []
 Host not found.
Ethernet:
Node IpAddress: [192.168.1.74] Scope Id: []
 NetBIOS Remote Machine Name Table
 Name Type Status
 ---------------------------------------------
 SMENKHKARE <00> UNIQUE Registered
 SMENKHKARE <03> UNIQUE Registered
 SMENKHKARE <20> UNIQUE Registered
 ☺☻__MSBROWSE__☻<01> GROUP Registered
 GREENGABLES <00> GROUP Registered
 GREENGABLES <1D> UNIQUE Registered
 GREENGABLES <1E> GROUP Registered
 MAC Address = 00-00-00-00-00-00
WiFi:
Node IpAddress: [0.0.0.0] Scope Id: []
 Host not found.
Local Area Connection* 11:
Node IpAddress: [0.0.0.0] Scope Id: []
 Host not found.
The above is also correct, as smenkhkare is indeed the Master Browser (notice the '☺☻__MSBROWSE__☻' and '<1D>').
Q.E.D.
So there you have it; Browser Elections take place and the Master Browser is any one of the Linux or Windows computers in the home network, thus enabling SMB browsing to take place. No WINS, no LDAP, no AD, no Kerberos. All SMB communication is carried out using NetBIOS over TCP/IP and Broadcast NetBIOS Name Resolution, as shown by the output of the command 'nbtstat -r' on thutmoseiii:
C:\WINDOWS\system32>nbtstat -r
 NetBIOS Names Resolution and Registration Statistics
 ------------------------------------


text:
Determination of fineness of CementRef : IS 4031- (Part I)
Purpose : To Determine the fineness of cement
Significance : The fineness of cement has an important bearing on the rate of hydration and hence and rate of gain of strength and rate of evaluation of heat. Finer cement offers a greater surface area for hydration and hence the faster and grater the development of strength.
Definition : The area of cement particles of particular cement weight.
IS sieve no.9 (90 microns)
Balance & Weights
Weigh correctly 100gms of cement (W1) gm.
Take sample on a IS 90 micron sieve
Brake down the air set lumps.
Sieve the sample giving circular and vertical motion continuously for 15 minutes.
Weigh the residue left on sieve (W2)
Calculation : Fineness of cement = (W2/W1) x 100
Observation Table :
Limit: As per IS 269 -1976 the residue by weight on IS test sieve no.9 is not exceed 10% for Ordinary Portland cement.
Frequency: For each batch received at site.


text:
1. It is generally recommended to use natural gravel for the aquarium. Colored gravel can be used, as long as it is professionally made, certain cheaply made color gravels can be toxic to fish in your aquarium.
2. You should always take the time to acclimate your fish to the aquarium. Acclimating your fish will get them used to the environment of the aquarium. Adding fish directly can be too much a shock for your fish and can pose health hazards.
3. Provide plenty of places for your aquarium animals to hide. Studies have actually shown that the more places a fish has to hide, the less likely they are to do so! Hiding spots also provide safe spots of refuge for smaller fish in the aquarium


text:
Market Encounters: Consumer Cultures in Twentieth-Century Ghana - New African Histories (Paperback)Bianca Murillo (author)
- We can order this
In Market Encounters, Bianca Murillo explores the shifting social terrains that made the buying and selling of goods in modern Ghana possible. Fusing economic and business history with social and cultural history, she traces the evolution of consumerism in the colonial Gold Coast and independent Ghana from the late nineteenth century through to the political turmoil of the 1970s.
Murillo brings sales clerks, market women, and everyday consumers in Ghana to the center of a story that is all too often told in sweeping metanarratives about what happens when African businesses are incorporated into global markets. By emphasizing the centrality of human relationships to Ghana's economic past, Murillo introduces a radical rethinking of consumption studies from an Africa-centered perspective. The result is a keen look at colonial capitalism in all of its intricacies, legacies, and contradictions, including its entanglement with gender and race.
Publisher: Ohio University Press
Number of pages: 248
Dimensions: 229 x 152 mm
"This is one of the few, or perhaps the only, comprehensive works on the vital social, economic and cultural history of retail businesses and the ways that they shaped life in a twentieth-century African society. It adds a great deal of texture and richness to the historiography of modern Africa, and challenges and complicates our overall understanding of the structure of colonial and postcolonial society." -- Timothy Burke, author of Lifebuoy Men, Lux Women: Commodification, Consumption and Cleanliness in Modern Zimbabwe
You may also be interested in...
Please sign in to write a review


text:
EPP(redirected from Enhanced parallel port)
Also found in: Dictionary, Acronyms, Encyclopedia.
Related to Enhanced parallel port: Extended Capabilities Port
erythropoietic protoporphyria (EPP) an autosomal dominant disorder, a form of erythropoietic porphyria, characterized by increased levels of protoporphyrin in the erythrocytes, plasma, liver, and feces and a wide variety of photosensitive skin changes, ranging from a burning or pruritic sensation to erythema, plaquelike edema, and wheals.
Expert Patient Programme, see there


reported by Krzysztof Bielawski on November 11, 2016
UNIT: Krzysztof Bielawski, Senior Programmer, Programming Dpt.
TO: Arma 3 Users
OPSUM: Introducing the latest AI path-following improvements for wheeled vehicles.
Over the course of many years of development, Artificial Intelligence in the Arma series has grown into a very sophisticated system. For example, computing a route and following it on any terrain - be it a vanilla or a modded one - is, generally, something the AI manages to pull off on a daily basis. They are able to control multiple types of vehicle, be aware of enemies and dangerous areas, and navigate on roads and across bridges - all while avoiding collisions - but not always in the most effective manner.
As the number of options for the AI grew, the number of issues, edge cases, rare configurations and parameters rose as well. Plus, with the Apex expansion and its terrain, Tanoa, having unique bridges, the amount of the tweaks necessary for smooth gameplay increased drastically. Thus, it was finally time to re-address our AI path-finding. In Update 1.64, we introduced a revamped, refactored and vastly improved AI driving overhaul of wheeled vehicles. Below, we take a closer look at where we've ended up, how we planned our route there, and what still lies ahead.
As part of the research phase, we looked at player's feedback from the forums, internal bug reports, Feedback Tracker Issues and analyses made by our designers. We concluded that not only did the immediate behavior of drivers need some improvement, but also our platform goals (such as being more open, friendly to modding, and clearly configurable for the scenario makers) had to be met, too. Technically speaking, we wanted to make this part of code cleaner and easier to configure, expand, and maintain.
We also wanted an understandable separation of config definitions. Ultimately, some functions and parameters would be editable by scripts; both developers and players would have more options to modify AI behavior. That said, the player experience needed an improvement as well. Making AI the drivers more fluent and confident became a priority. We hoped to succeed by improving the survivability of vehicles, precision of their driving along the selected path, and, ultimately, their behavior in formations.
As a first step, we made use of one of the features the Real Virtuality engine provides: components. A component, simply put, is an object wrapping certain functionality, which can be attached to an entity (e.g. vehicle, person, weapon or tree). We moved the whole old driving system into a new AICarSteeringComponent. This approach allows us to set up sophisticated objects from smaller elements, making systems more flexible and configurable. The refactoring itself was painfully long, but resulted in more configuration flexibility. The definition of a vehicle can now include feature-specific parameters, encapsulated in the Component class. This solution is also fully backwards compatible, so creating a vehicle config without the new component means the engine will revert to the AI's old method of driving instead.
Encapsulation of the feature allowed us to refactor some key functions. We started with the act of steering: controlling the steering wheel, acceleration and brake pedals. We used a new controlling method and reconfigured it from scratch using the old vehicle data. We aimed to make the AI more aware of the shape of its path in the front of the car, and use PID controllers for tuning the steering vector and pedals input. The system turned out to be reactive to input parameters and can adapt to different cases, which, in the end, helps with the precision of path-following.
We also made another iteration to formation behavior, making cars behave more naturally in convoy situations. The new formation logic uses old routines to determine the formation position for each vehicle, but also makes sure that cars are following each other properly. We made better use of the position of the leading vehicle. In short, the leader now creates a path for the next vehicle based on the historical position of the front one.
Scenario creators can now also use new commands to tweak the behavior (e.g. setConvoySeparation - to set a specific distance between vehicles in convoy). Some of our designers already took advantage of the new features and, based on community reactions, scenario creators are having fun with AI drivers, too. Our next step aims to convert the existing driving component from wheeled to tracked vehicles. We may see some interesting new convoy missions appear soon!
Perhaps to your surprise, one thing that hasn't changed - at least on a technical level - is the actual 'path-finding' itself. When ordered to move, each AI driver will first calculate the path to a destination point and then follow it. The first part of the algorithm is called 'path-finding', the second 'path-following'. The scope of our changes was mostly limited to the latter, and we avoided making changes (apart from small tweaks) to the path-finding algorithm. The reason for that is that those methods are shared between all different classes of objects in game. Specific parameters of vehicle types, like information on how costly it is to cross particular piece of terrain by particular class of vehicle, were tweaked only for wheeled vehicles.
Making major changes to such systems produces a large amount of issues. During development, we encountered a large number of bugs. The mix of low-level refactoring, addition of components, and config changes made the feature more difficult to clean and finish. To provide an example of how changing one class affects the other: tweaking values for Ifrits made Tempest trucks drift around or hit every single road sign along the way in a convoy formation. We set up around 30 different test cases: on different roads, with different vehicles, setups, waypoints, parameters of waypoints, and many more. Of course, all of them had to be retested after most iterations.
After a long and bumpy road the new AI driving released in Update 1.64, we definitely feel it improved both engine capabilities and the sandbox gameplay experience. We managed to clean up a long-standing feature and refactor it in a way that makes it still backward-compatible, but also modernized and more configurable. Playing existing scenarios should be more fun, especially those which utilize convoys of wheeled vehicles. Better handling hopefully means that there will be more scenarios using AI-controlled vehicles - we hope to see fresh ideas emerging and to inspire awesome new game modes, too.
A big thank you to all of the users who shared their thoughts and feedback on the forums. Many players joined the effort and reported problems in specific situations or vehicles, and many gave their opinion on the state of the moment. It was both captivating to read and motivating to iterate; sometimes even surprising to discover how many ways you can test the game. You can still come there and post your own experiences; we are constantly monitoring the feedback. You can check the progress there or join in the discussion - tell us how you want to use AI in your latest, greatest custom scenario!
Krzysztof Bielawski
Senior Programmer, Programming Dept.


text:
In the TEACHING FOLDER you'll find:
- Weekly Lesson Plans For Preschool and Elementary
- Printables For Each Lesson
- Small Group Guides
- Volunteer Huddle Guides
- Parent Sheets
- Volunteer & Parent Communication Guides
In the PROGRAMMING FOLDER you'll find:
- Series Programming Guide with Ideas, Décor, and Spotify Playlists
- Graphics and Videos
- Memory Verses
THE GREAT ESCAPE
A 4-WEEK SERIES ON MOSES AND THE EXODUS
If you've ever heard of an escape room, you know the goal is pretty clear: to escape! In the book of Exodus, God's people had the same goal when they became enslaved in Egypt. In an escape room, people work together to follow instructions and solve puzzles to find freedom. In the story of the Exodus, God's people find freedom by witnessing God's miracles and following God's leadership through Moses. You may never be trapped in a room or taken captive, but we need help from God. In this series, kids will see that when they're in trouble, God can send people to help them, God can help them do great things, God can do anything, and God is with them.
Get the Parent Email for this series.
GOD CAN SEND PEOPLE TO HELP YOU.


text:
Fjärrvärmens konkurrenssituation : En studie av fjärrvärmens konkurrenskraft i Västerås
Sammanfattning: District heat is currently more exposed for competition than it has been for several years. Since the mid-1980s, district heat has dominated the heat market, but is now in a tougher competitive situation due to the increasing popularity of heat pumps. This, in combination with energy efficiency, has led to a stagnation of delivered energy. The purpose of the study is to investigate the district heating's current competitive situation in Västerås. This will be investigated based on pricing, performance and paragraphs. In order to get a comprehensive picture of the heat market and to find out what factors customers prioritize, housing companies, house makers and villa owners were interviewed. The study's results show that house owners prioritize delivery reliability, followed by economy and environment in the choice of heating method. Actors' views on pricing were different depending on the preferred heating method, where the different views were primarily about the operating and maintenance costs of heat pumps. In order to analyze pricing the life cycle cost was calculated on the basis of real cases. This was done by creating a calculation model in Excel. The result of pricing shows that district heating was the best option for all cases. However, from a new construction perspective, geothermal heat pump for small houses had similar life cycle cost as district heating, while district heating was superior in price for the larger houses. All cases when a customer had change from district heat to heat pumps were unprofitable due to the switching cost that arises. Performance was evaluated by the environmental impact and delivery reliability of the methods. The consequential life cycle assessment was used when calculating environmental impact. The result showed that the district heating in Västerås has a positive environmental impact because of the social benefits it provides. Heat pumps had a negative impact on the environment in all cases. The delivery reliability was studied through actors' views in combination with scientific research, which resulted in the view that district heating is better. The evaluation of paragraph was limited to Boverket's building regulations. The competitive situation is currently skewed, where heat pumps have a big advantage as houses can limit their energy efficiency with heat pumps. The future of district heating in Västerås is bright. The challenge is to keep their market domination by maintaining a competitive price as the heat market is facing changes with reduced heat demand and tougher competition.
HÄR KAN DU HÄMTA UPPSATSEN I FULLTEXT. (följ länken till nästa sida)


Select solver and optimization options, run problems
optimtool opens the Optimization app. Use the Optimization app to select a solver, optimization options, and run problems. See Optimization App for a complete description of the Optimization app.
The Optimization app can be used to run any Optimization Toolbox™ solver, and any Global Optimization Toolbox solver except GlobalSearch and MultiStart. Results can be exported to a file or to the MATLAB® workspace as a structure.
optimtool(optstruct) starts the Optimization app and loads optstruct. optstruct can be either optimization options or an optimization problem structure. Create optimization options with the optimoptions or optimset function, or by using the export option from the Optimization app. Create a problem structure by exporting the problem from the Optimization app to the MATLAB workspace. If you have Global Optimization Toolbox, you can create a problem structure with the createOptimProblem function.
optimtool('solver') starts the Optimization app with the specified solver, identified as a string, and the corresponding default options and problem fields. All Optimization Toolbox and Global Optimization Toolbox solvers are valid inputs to the optimtool function, except GlobalSearch and MultiStart.
Was this topic helpful?


text:
In Placer and Nevada counties, UCCE received a CDFA Specialty Block Grant to encourage consumers to eat more fruits and vegetables and support the local agricultural industry by buying the produce from them. The project led to the creation of the "Eat Local Placer Nevada" campaign.
"Buying locally grown products supports local farmers and ranchers and it keeps land in agriculture," said Cindy Fake, UCCE farm advisor in Placer and Nevada counties. "Simply put, it's the right thing to do."
To give consumers extra incentive to eat local, the group launched a seven-month study to compare prices at farmers markets and grocery stores. Volunteers and staff collected price data at four farmers markets and six grocery stores from January to July 2014. Specials and sale items were not part of the study. The data suggests that organic produce at farmers markets is priced about the same as organic produce at grocery stores.
In terms of conventional produce, grocery stores had cheaper prices on 6 out of 11 items; however, consumers would still save money picking up red apples, beets and chard at the farmers markets. The cost of conventional butternut squash and sweet potatoes was virtually equal at the two venues.
"Contrary to many consumers' perception, farmers market prices are competitive with regular supermarket prices," Fake said. "Some prices are slightly higher, some slightly lower, but they are in the same range. "
However, there are other factors shoppers should keep in mind when deciding to buy supermarket produce or fruit and vegetables grown by their neighboring farmers.
"Produce at the farmers market is sold the same day or the day after it is harvested," Fake said. "Because of that, its shelf life is two to three times longer than what is found in the supermarket. And because it is so fresh, you have a higher nutrient content and it will taste better."
Fake said experts believe buying local also supports the local economy. She is collaborating on a project led by Shermain Hardesty, UCCE specialist in the Department of Agricultural and Resource Economics at UC Davis, to document the economic impact of local food systems in Placer, El Dorado, Sacramento and Yolo counties. The researchers will gather data about farmers' purchases of inputs and local sales of produce.
"This project will provide science-based evidence to guide public policy and program design aimed at supporting local farmers and local food systems into the future," Fake said.
The study – titled Measuring the Impact of Local Food Marketing on the Local Economy – is supported with a $226,048 grant from the UC Division of Agriculture and Natural Resources.


C# Cloud Application Architecture – Commanding via a Mediator (Part 3)
In the previous post we simplified our controllers by having them accept commands directly and configured ASP.Net Core so that consumers of our API couldn't insert data into sensitive properties. However we've not yet set up any validation so, for example, it is possible for a user to add a product to a cart with a negative quantity. We'll address that in this post and take a look at an alternative to the attribute model of validation that comes out the box with ASP.Net and ASP.Net Core.
The source code for this post can be found on GitHub:
_URL_
The built in ASP.Net Core approach to validation, like previous versions, relies on a model being annotated with attributes but there are some significant drawbacks with this approach:
 1. You need access to the source code to add the attributes – sometimes this isn't possible and so you end up maintaining multiple sets of models just to express validation rules.
 2. It requires you to tightly couple your model to a specific validation system and set of validation rules and include additional dependencies that may not be appropriate everywhere you want to use the model.
 3. It's extensible but not particularly elegantly and complicated rules are hard to implement.
Depending on your application architecture maintaining multiple sets of model can be a good solution to some of these issues, and might be the right thing to do for your architecture in any case (for example you certainly don't want Entity Framework models bleeding out through an API for example) but in our scenario there's little to be gained by maintaining multiple representations of commands, at least in the general sense.
An excellent alternative framework for validation is Jeremy Skinner's Fluent Validation package set. This allows validation rules to be expressed separately from models, hooks into the ASP.Net Core pipeline to support the standard ModelState approach, and allows validations to be run easily from anywhere.
We're going to continue to follow our application encapsulation model for adding validations and so we will add a validator package to each domain, for example ShoppingCart.Validation. Each of these assemblies will consist of private classes for the validators that are registered in the IoC container using an installer. Below is an example of the validator for our AddToCartCommand command:
internal class AddToCartCommandValidator : AbstractValidator<AddToCartCommand>
{
 public AddToCartCommandValidator()
 {
 RuleFor(c => c.ProductId).NotEqual(Guid.Empty);
 RuleFor(c => c.Quantity).GreaterThan(0);
 }
}
This validator makes sure that we have a none-empty product ID and specify a quantity of 1 or more. We register this in our installer as follows:
public static class IServiceCollectionExtensions
{
 public static IServiceCollection RegisterValidators(this IServiceCollection serviceCollection)
 {
 serviceCollection.AddTransient<IValidator<AddToCartCommand>, AddToCartCommandValidator>();
 return serviceCollection;
 }
}
The ShoppingCart.Validation assembly is referenced only from the ShoppingCart.Application installer as shown below:
public static class IServiceCollectionExtensions
{
 public static IServiceCollection UseShoppingCart(this IServiceCollection serviceCollection,
 ICommandRegistry commandRegistry)
 {
 serviceCollection.AddSingleton<IShoppingCartRepository, ShoppingCartRepository>();
 commandRegistry.Register<GetCartQueryHandler>();
 commandRegistry.Register<AddToCartCommandHandler>();
 serviceCollection.RegisterValidators();
 return serviceCollection;
 }
}
And finally in our ASP.Net Core project, OnlineStore.Api, in the Startup class we register the Fluent Validation framework – however it doesn't need to know anything about the specific validators:
public void ConfigureServices(IServiceCollection services)
{
 services.AddMvc(c =>
 {
 c.Filters.Add<AssignAuthenticatedUserIdActionFilter>();
 c.AddAuthenticatedUserIdAwareBodyModelBinderProvider();
 }).AddFluentValidation();
 services.AddSwaggerGen(c =>
 {
 c.SwaggerDoc("v1", new Info { Title = "Online Store API", Version = "v1" });
 c.SchemaFilter<SwaggerAuthenticatedUserIdFilter>();
 c.OperationFilter<SwaggerAuthenticatedUserIdOperationFilter>();
 });
 CommandingDependencyResolver = new MicrosoftDependencyInjectionCommandingResolver(services);
 ICommandRegistry registry = CommandingDependencyResolver.UseCommanding();
 services
 .UseShoppingCart(registry)
 .UseStore(registry)
 .UseCheckout(registry);
 services.Replace(new ServiceDescriptor(typeof(ICommandDispatcher), typeof(LoggingCommandDispatcher),
 ServiceLifetime.Transient));
}
We can roll that approach out over the rest of our commands and with the validator configured in ASP.Net can add model state checks into our AbstractCommandController, for example:
public abstract class AbstractCommandController : Controller
{
 protected AbstractCommandController(ICommandDispatcher dispatcher)
 {
 Dispatcher = dispatcher;
 }
 protected ICommandDispatcher Dispatcher { get; }
 protected async Task<IActionResult> ExecuteCommand<TResult>(ICommand<TResult> command)
 {
 if (!ModelState.IsValid)
 {
 return BadRequest(ModelState);
 }
 TResult response = await Dispatcher.DispatchAsync(command);
 return Ok(response);
 }

 // ...
}
At this point we can enforce simple entry point validation but what if we need to make validation decisions based on state we only know about in a handler? For example in our AddToCartCommand example we want to make sure the product really does exist before we add it and perhaps return an error if it does not (or, for example, if its not in stock).
To achieve this we'll make some small changes to our CommandResponse class so that instead of simply returning a string it returns a collection of keys (property names) and values (error messages). This might sound like it should be a dictionary but the ModelState design of ASP.Net supports multiple error messages per key and so a dictionary won't work, instead we'll use an IReadOnlyCollection backed by an array. Here's the changes made to the result-free implementation (the changes are the same for the typed variant):
public class CommandResponse
{
 protected CommandResponse()
 {
 Errors = new CommandError[0];
 }
 public bool IsSuccess => Errors.Count==0;
 public IReadOnlyCollection<CommandError> Errors { get; set; }
 public static CommandResponse Ok() { return new CommandResponse();}
 public static CommandResponse WithError(string error)
 {
 return new CommandResponse
 {
 Errors = new []{new CommandError(error)}
 };
 }
 public static CommandResponse WithError(string key, string error)
 {
 return new CommandResponse
 {
 Errors = new[] { new CommandError(key, error) }
 };
 }
 public static CommandResponse WithErrors(IReadOnlyCollection<CommandError> errors)
 {
 return new CommandResponse
 {
 Errors = errors
 };
 }
}
We'll add the errors from our command response into model state through an extension method in the API assembly – that way the syntax will stay clean but we won't need to add a reference to ASP.Net in our shared assembly. We want to keep that as dependency free as possible. The extension method is pretty simple and looks like this:
public static class CommandResponseExtensions
{
 public static void AddToModelState(
 this CommandResponse commandResponse,
 ModelStateDictionary modelStateDictionary)
 {
 foreach (CommandError error in commandResponse.Errors)
 {
 modelStateDictionary.AddModelError(error.Key ?? "", error.Message);
 }
 }
}
And finally another update to the methods within our AbstractCommandController to wire up the response to the model state:
protected async Task<IActionResult> ExecuteCommand<TCommand, TResult>() where TCommand : class, ICommand<CommandResponse<TResult>>, new()
{
 if (!ModelState.IsValid)
 {
 return BadRequest(ModelState);
 }
 TCommand


text:
The recommended air change rate per hour for a spa floating tank room can vary depending on the specific requirements and regulations in your region. However, a general guideline is to have at least 4-6 air changes per hour to maintain good air quality and prevent the buildup of humidity and odours.
The size of the room and the number of people using the floating tank should also be taken into consideration when determining the appropriate air change rate. It is important to consult with a professional HVAC engineer or technician to ensure that the ventilation system is properly designed and installed to meet the specific needs of the spa floating tank room.
ASHRAE (American Society of Heating, Refrigerating, and Air-Conditioning Engineers) provides guidelines for ventilation rates in different types of spaces, including spa and pool areas. According to ASHRAE Standard 62.1-2019, the minimum ventilation rate for a spa area is 68 cubic metres per hour (m3/h) per occupant.
To convert this minimum ventilation rate to air changes per hour (ACH), you would need to know the volume of the spa area and divide it by the ventilation rate. For example, if the spa area has a volume of 1,000 cubic meters and you want to achieve 6 air changes per hour, you would need a ventilation rate of 6 x 1,000 = 6000 m3/h. or 1667 lit/s.
It is important to note that the minimum ventilation rate recommended by ASHRAE may not be sufficient to provide optimal indoor air quality in all situations, especially in spaces with high humidity levels or other contaminants. It is recommended to consult with a professional HVAC engineer to determine the specific ventilation requirements for your spa area based on factors such as occupancy, size, and use.
Engineers normally select ACH =20 to 30 for the spa. What is the optimum amount of ACH?
the running cost of ventilation from ACH=6 to ACH=20 is huge money!!!
We used Computational Fluid Dynamics (CFD) to optimise the air change rate per hour for moisture removal in a spa floating tank room. CFD simulations can provide detailed information about the airflow patterns, temperature distribution, and moisture levels in the room, which can be used to design and optimize the ventilation system. By simulating different air change rates and airflow patterns, CFD can help identify the most effective ventilation strategies for moisture removal while minimizing energy consumption and maintaining good indoor air quality. This can include optimising the placement and size of air supply and exhaust vents, adjusting the temperature and humidity setpoints, and incorporating other moisture control strategies such as dehumidification systems or air purifiers. Overall, using CFD simulations to optimize the air change rate for moisture removal can help ensure that the spa floating tank room provides a comfortable and healthy environment for users while minimizing energy costs and reducing the risk of moisture-related problems such as mould growth or corrosion.
We simulated a floating tank room for three conditions:
a) almost no ventilation (ACH=0)
b) Medium ventilation (ACH=8)
c) High ventilation (ACH= 20)
The following animations show the relative humidity of the room:
Blue colour: Relative humidity = 100%
Red Colour: Relative humidity = 0%
Here are the outcomes:
We can see that CFD found ACH=8 is sufficient for this floating room. This outcome can help to optimise the energy cost for ventilation.
contact Deratec to discuss more!


text:
TC300 is used for measuring the thickness of nonmetallic plate indirectly, especially for concrete slab. This gauge is to measure the concrete slab thickness mainly by using distribution characteristics of electromagnetic field and possesses function of thickness measurement, data analysis, data storage & output etc. It is a kind of intelligent thickness measuring instrument that is portable, convenient and accurate.
- Measure the thickness of concrete, rock, glass and other nonmetallic plates.
- Sound alarm, signal strength bar are used to improve measuring accuracy.
- Direct digital read out of the thickness value avoid the inaccuracy of manual comparison.
- Test data create and data logging
- RS232 and USB interface to PC.
- Real time analysis of the tested data.
|Main unit||1||Shoulder strap||1|
|Transmitting Transducer||1||AA battery (LR6)||6|
|Receiving Transducer||1||AAA battery (LR03)||6|
|Signal cable||1||Warranty card||1|
|Accuracy||±1mm[When thickness = (40-600mm)]|
|±2mm[When thickness = (601-820mm)]|
|Memory||32000 test data and 4000 components|
|Power||AA batteries (LR6) x 6|
|Display||Large graphic display|