text:
Snow roller is a rare meteorological phenomenon in which large cylinders of snow are naturally formed as chunks of snow are blown along the ground by wind, picking up material along the way, in much the same way that the large snowballs used in snowmen are made. But unlike snowballs made by people, snow rollers are typically cylindrical in shape, and are often hollow. The inner layers, which are the first layers to form, are weak and thin compared to the outer layers and can easily be blown away, leaving what looks like a doughnut or Swiss roll.
Snow rollers happen with the combination of lying snow and high wind speeds, mostly in North America and Northern Europe, and they can be as small as a tennis ball or they can be as large as two feet across – depending on how strong the wind is and how smooth the surface of the snow is. Gravity can also assist snow roller formation. An inclined surface often needs just a little shove from the wind to get snow rollers in motion.
Frank Barrow, a lecturer in meteorology at the Met Office, described the exact science behind the formations.
They start off with a nice thick layer of snow, with the top snow just on the point of melting either because of general temperature or sunshine on the surface. The top snow layer becomes a bit sticky and you then need a fairly strong wind. The sticky layer can be peeled off the colder and more powdery snow underneath by the wind, forming a roll.
The rolls are not hollow to begin with, as a number of layers build up as the roll gets larger the further it is blown. However, the inner layers are weaker as they are formed first and are easily blown away. Eventually the rolls become too big to be blown any further or come to rest against vegetation or at the bottom of a hill.
- Gigantic Snow Wall Along Tateyama Kurobe Alpine Route, Japan
- Frozen Trees of the Arctic: Photography by Niccolò Bonfadini


text:
Kenya's foreign policy strategy aims at deepening and enhancing social economic development and prosperity. This has demanded a robust economic engagement to secure Kenya's regional and wider economic objectives. Foreign Policy has been a key tool for enhancing development via economic diplomacy which advances the employment and wealth for Kenyans in a prosperous region. The specific objectives of this economic diplomacy are:
- Increase capital flows to Kenya by exploring alternative non-traditional sources of development assistance and foreign direct investment;
- Promote the country as a favourite destination for Direct Foreign investment, tourists and holiday makers;
- Expand access to traditional markets and explore new destinations for its products in emerging non-traditional markets;
- Enhance technological advancement by exploring new sources of affordable and appropriate technology;
- Accelerate economic integration at the regional and continental levels;
- Strengthen regional economic organizations, especially the EAC, COMESA to serve as competitive blocs in the emerging global markets.
- Promote just and equitable rules and frameworks of international trade.
Achieving these objectives has demanded strategic engagement on multiple fronts. Kenya has moved to transform regional organizations, particularly the COMESA and EAC, into viable economic blocs in an increasingly competitive global economic environment. The regional bodies are now focusing promoting free movement of peoples, goods and services. To expand market access, Kenya is exploring new frameworks, signing treaties, and reviewing and strengthening existing ones.
Click below to download the document.

source: openbmb/Ultra-FineWeb


text:
The steps below will guide you through making an electronic installment payment in CM/ECF.
- Log into CM/ECF and select Bankruptcy > Miscellaneous/Other.
- Enter the case number.
Verify the case number and debtors' name(s). From the list of available events click on the appropriate title to select it:
- Installment Payment to be paid by attorney (Chapter 11)
- Installment Payment to be paid by attorney (Chapter 13)
- Installment Payment to be paid by attorney (Chapter 7)
Select the Party screen:
- Select the debtor(s).
Fee: $ screen:
- Enter the amount of the fee you are paying with this installment.
- Refer to the "Order Granting Application To Pay Filing Fees In Installments".
Docket Text: Final Text screen:
- Verify the text is correct prior to clicking the next button.
A dialog box "Summary of current charges" appears.
- Click the Pay Now button to proceed with the Electronic Payment.
- Click the Continue Filing button to make the payment after other documents have been filed.


*** DRAFT ***
SQLite Shared-Cache Mode
1. SQLite Shared-Cache Mode
Starting with version 3.3.0 (2006-01-11), SQLite includes a special "shared-cache" mode (disabled by default) intended for use in embedded servers. If shared-cache mode is enabled and a thread establishes multiple connections to the same database, the connections share a single data and schema cache. This can significantly reduce the quantity of memory and IO required by the system.
In version 3.5.0 (2007-09-04), shared-cache mode was modified so that the same cache can be shared across an entire process rather than just within a single thread. Prior to this change, there were restrictions on passing database connections between threads. Those restrictions were dropped in 3.5.0 update. This document describes shared-cache mode as of version 3.5.0.
Shared-cache mode changes the semantics of the locking model in some cases. The details are described by this document. A basic understanding of the normal SQLite locking model (see File Locking And Concurrency In SQLite Version 3 for details) is assumed.
2. Shared-Cache Locking Model
Externally, from the point of view of another process or thread, two or more database connections using a shared-cache appear as a single connection. The locking protocol used to arbitrate between multiple shared-caches or regular database users is described elsewhere.
Figure 1
Figure 1 depicts an example runtime configuration where three database connections have been established. Connection 1 is a normal SQLite database connection. Connections 2 and 3 share a cache The normal locking protocol is used to serialize database access between connection 1 and the shared cache. The internal protocol used to serialize (or not, see "Read-Uncommitted Isolation Mode" below) access to the shared-cache by connections 2 and 3 is described in the remainder of this section.
There are three levels to the shared-cache locking model, transaction level locking, table level locking and schema level locking. They are described in the following three sub-sections.
2.1. Transaction Level Locking
SQLite connections can open two kinds of transactions, read and write transactions. This is not done explicitly, a transaction is implicitly a read-transaction until it first writes to a database table, at which point it becomes a write-transaction.
At most one connection to a single shared cache may open a write transaction at any one time. This may co-exist with any number of read transactions.
2.2. Table Level Locking
When two or more connections use a shared-cache, locks are used to serialize concurrent access attempts on a per-table basis. Tables support two types of locks, "read-locks" and "write-locks". Locks are granted to connections - at any one time, each database connection has either a read-lock, write-lock or no lock on each database table.
At any one time, a single table may have any number of active read-locks or a single active write lock. To read data from a table, a connection must first obtain a read-lock. To write to a table, a connection must obtain a write-lock on that table. If a required table lock cannot be obtained, the query fails and SQLITE_LOCKED is returned to the caller.
Once a connection obtains a table lock, it is not released until the current transaction (read or write) is concluded.
2.2.1. Read-Uncommitted Isolation Mode
The behaviour described above may be modified slightly by using the read_uncommitted pragma to change the isolation level from serialized (the default), to read-uncommitted.
A database connection in read-uncommitted mode does not attempt to obtain read-locks before reading from database tables as described above. This can lead to inconsistent query results if another database connection modifies a table while it is being read, but it also means that a read-transaction opened by a connection in read-uncommitted mode can neither block nor be blocked by any other connection.
Read-uncommitted mode has no effect on the locks required to write to database tables (i.e. read-uncommitted connections must still obtain write-locks and hence database writes may still block or be blocked). Also, read-uncommitted mode has no effect on the sqlite_schema locks required by the rules enumerated below (see section "Schema (sqlite_schema) Level Locking").
 /* Set the value of the read-uncommitted flag:
 ** True -> Set the connection to read-uncommitted mode.
 ** False -> Set the connection to serialized (the default) mode.
 PRAGMA read_uncommitted = ;
 /* Retrieve the current value of the read-uncommitted flag */
 PRAGMA read_uncommitted;
2.3. Schema (sqlite_schema) Level Locking
The sqlite_schema table supports shared-cache read and write locks in the same way as all other database tables (see description above). The following special rules also apply:
3. Thread Related Issues
In SQLite versions 3.3.0 through 3.4.2 when shared-cache mode is enabled, a database connection may only be used by the thread that called sqlite3_open() to create it. And a connection could only share cache with another connection in the same thread. These restrictions were dropped beginning with SQLite version 3.5.0 (2007-09-04).
4. Shared Cache And Virtual Tables
In older versions of SQLite, shared cache mode could not be used together with virtual tables. This restriction was removed in SQLite version 3.6.17 (2009-08-10).
5. Enabling Shared-Cache Mode
Shared-cache mode is enabled on a per-process basis. Using the C interface, the following API can be used to globally enable or disable shared-cache mode:
int sqlite3_enable_shared_cache(int);
Each call to sqlite3_enable_shared_cache() affects subsequent database connections created using sqlite3_open(), sqlite3_open16(), or sqlite3_open_v2(). Database connections that already exist are unaffected. Each call to sqlite3_enable_shared_cache() overrides all previous calls within the same process.
Individual database connections created using sqlite3_open_v2() can choose to participate or not participate in shared cache mode by using the SQLITE_OPEN_SHAREDCACHE or SQLITE_OPEN_PRIVATECACHE flags the third parameter. The use of either of these flags overrides the global shared cache mode setting established by sqlite3_enable_shared_cache(). No more than one of the flags should be used; if both SQLITE_OPEN_SHAREDCACHE and SQLITE_OPEN_PRIVATECACHE flags are used in the third argument to sqlite3_open_v2() then the behavior is undefined.
When URI filenames are used, the "cache" query parameter can be used to specify whether or not the database will use shared cache. Use "cache=shared" to enable shared cache and "cache=private" to disable shared cache. The ability to use URI query parameters to specify the cache sharing behavior of a database connection allows cache sharing to be controlled in ATTACH statements. For example:
ATTACH 'file:aux.db?cache=shared' AS aux;
6. Shared Cache And In-Memory Databases
Beginning with SQLite version 3.7.13 (2012-06-11), shared cache can be used on in-memory databases, provided that the database is created using a URI filename. For backwards compatibility, shared cache is always disabled for in-memory databases if the unadorned name ":memory:" is used to open the database. Prior to version 3.7.13, shared cache was always disabled for in-memory databases regardless of the database name used, current system shared cache setting, or query parameters or flags.
Enabling shared-cache for an in-memory database allows two or more database connections in the same process to have access to the same in-memory database. An in-memory database in shared cache is automatically deleted and memory is reclaimed when the last connection to that database closes.
*** DRAFT ***


text:
With IPsec enabled, all network traffic between nodes on the OVN-Kubernetes Container Network Interface (CNI) cluster network travels through an encrypted tunnel.
IPsec is disabled by default.
IPsec encryption can be enabled only during cluster installation and cannot be disabled after it is enabled. For installation documentation, refer to Selecting a cluster installation method and preparing it for users.
With IPsec enabled, only the following network traffic flows between pods are encrypted:
Traffic between pods on different nodes on the cluster network
Traffic from a pod on the host network to a pod on the cluster network
The following traffic flows are not encrypted:
Traffic between pods on the same node on the cluster network
Traffic between pods on the host network
Traffic from a pod on the cluster network to a pod on the host network
The encrypted and unencrypted flows are illustrated in the following diagram:
The encrypt cipher used is
AES-GCM-16-256. The integrity check value (ICV) is
16 bytes. The key length is
The IPsec tunnel mode used is Transport mode, a mode that encrypts end-to-end communication.
The Cluster Network Operator (CNO) generates a self-signed X.509 certificate authority (CA) that is used by IPsec for encryption. Certificate signing requests (CSRs) from each node are automatically fulfilled by the CNO.
The CA is valid for 10 years. The individual node certificates are valid for 5 years and are automatically rotated after 4 1/2 years elapse.


Polyphase Systems 1 - Study Guide
Polyphase Systems 1 explains what polyphase systems are, and differences between wye and delta systems. Illustrates various transformer bank connections using phasor diagrams. Shows examples of polyphase transformer banks and their external connections.
5-1/2" x 8-1/2" 20 pages By Alexander Publications
Item Code: PP1-STU
$ 15.00


EconStor >
Forschungsinstitut zur Zukunft der Arbeit (IZA), Bonn >
Please use this identifier to cite or link to this item:
Title:Maintaining (locus of) control? Assessing the impact of locus of control on education decisions and wages PDF Logo
Authors:Piatek, Rémi
Pinger, Pia R.
Issue Date:2010
Series/Report no.:Discussion paper series // Forschungsinstitut zur Zukunft der Arbeit 5289
Abstract:This paper demonstrates that locus of control, i.e. whether individuals believe that reinforcement in life comes from their own actions instead of being determined by luck or destiny, is an important predictor of the decision to obtain higher education. Furthermore, the authors find that premarket locus of control, defined as locus of control measured at the time of schooling - before the individual enters the labor market - does not significantly affect later wages after controlling for education decisions. In light of the existing literature, which finds mostly positive effects of contemporaneous locus of control measures on wages, this indicates that it is important to distinguish between premarket skills and those that are already influenced by labor market experience and age. Last, simulation of the model shows that moving individuals from the first to the last decile of the locus of control distribution significantly shifts the distribution of schooling choices, thus indirectly affecting later wages. The paper conveys important policy implications. If some personality traits, such as locus of control, influence the cost of education but not outcomes directly, these individual characteristics may keep individuals from studying who, once they reach the labor market, are no less successful than other individuals. If these individuals are at high risk of dropping out of school, early personality tests and targeted mentoring of students with an external locus of control are a means to countervail skill shortages in society.
Subjects:locus of control
latent factor model
data set combination
Document Type:Working Paper
Files in This Item:
File Description SizeFormat
663205212.pdf395.82 kBAdobe PDF
No. of Downloads: Counter Stats
Download bibliographical data as: BibTeX
Share on:


Chemical analysis and classification of black pepper (Piper nigrum L.) based on their country of origin using mass spectrometric methods and chemometrics
Journal: 2021/March - Food Research International
The current study applied gas chromatography-mass spectrometry (GC-MS), liquid chromatography-mass spectrometry (LC-MS), and thermal desorption direct analysis in real-time mass spectrometry (TD-DART-MS) methods to the analysis of black pepper (Piper nigrum L.) samples from different countries. The black pepper powder samples were analyzed directly by TD-DART-MS without any extraction, but for GC-MS and LC-MS methods, a methanol extraction procedure was employed before the analysis. Various compounds, such as piperamides and terpenes, were detected. Partial least squares-discriminant analysis (PLS-DA) was used to classify black pepper samples based on their origins. Total ion mass spectrum (TMS) data profiles from GC-MS, LC-MS, and TD-DART-MS methods were constructed and evaluated for the performance of classification. A cubic-root data transformation was tested in the data preprocessing and found to be effective for improving the classification rates. The average classification rates of PLS-DA models with GC-MS-cubic-root-TMS, LC-MS-cubic-root-TMS, and DART-MS-cubic-root-TMS data representations were 94.1 ± 0.6%, 87.7 ± 0.6%, and 97.0 ± 0.3% respectively, for 100-time bootstrapped-Latin-partition cross-validation. This study presents for the first time the analysis of plant-based food materials by using TD-DART-MS, and it has been demonstrated as a simple and high-throughput method for classification studies.
Keywords: Black pepper; Chemometrics; Classification; DART-MS; GC–MS; LC-MS.
Similar articles
Articles by the same authors
Discussion board


text:
Definition from Wiktionary, the free dictionary
- First attested probably in 1472.
- From Middle English absurdite, then from either Middle French absurdité, or from Late Latin absurditas ("dissonance, incongruity"), from Latin absurdus + + -itas.
- Surface analysis: absurd + -ity
- (obsolete, rare) Dissonance. [Attested from around 1350 to 1470 until the late 17th century.]
- (countable) That which is absurd; an absurd action; a logical contradiction. [First attested in the late 15th century.]
- His travels were full of absurdities. - Johnson
- (uncountable) The quality of being absurd or inconsistent with obvious truth, reason, or sound judgment. [First attested in the early 16th century.]
- The absurdity of the actual idea of an infinite number. - John Locke
- 1992, Rudolf M. Schuster, The Hepaticae and Anthocerotae of North America: East of the Hundredth Meridian, volume V, page viii
- Neither [Jones] […] nor I (in 1966) could conceive of reducing our "science" to the ultimate absurdity of reading Finnish newspapers almost a century and a half old in order to establish "priority."
the quality of being absurd
an absurd action
- The translations below need to be checked and inserted above into the appropriate translation tables, removing any numbers. Numbers do not necessarily match those in definitions. See instructions at Help:How to check translations.
- ^ 1984, Urdang, Laurence editor, The Random House College Dictionary, New York, NY: Random House, Inc., ISBN 0-394-43600-8, page 7:
- ^ 1976, Gove, Philip Babcock editor, Webster's Third International Dictionary of the English Language Unabridged, Springfield, MA: G. & C. Merriam Co., ISBN 0-87779-101-5, page 8:
- 2003, Brown, Lesley editor, The Shorter Oxford English Dictionary, edition 5th, Oxford, UK: Oxford University Press, ISBN 978-0-19-860575-7, page 10:

source: HuggingFaceFW/fineweb-edu


text:
Silver Hake is a fast-growing cod-like-fish found from Newfoundland to South Carolina. Two populations occur in U.S. waters, with the northern population having medium abundance while the southern population has low abundance. The US populations are managed by the New England Fishery Management Council under a small mesh multispecies management plan. The Hake fishery off the Scotian Shelf is managed by Fisheries and Oceans Canada, and abundance appears to be low.
Silver Hake is primarily caught in bottom trawls, which cause substantial damage to the seafloor. Bycatch is low due to the use of selective gear and area restrictions.
This fish may have high levels of mercury that could pose a health risk to adults and children. More mercury info here.


Use of union in C in place of structure will save memory?
The structure can not be replaced by a union in an application, just bear that in your mind. Both are two different things and are used in different scenarios. It is the basic thing that both structure and union can have some number of elements inside them. But their uses are quite different from each other depending on the information required to be contained.
The structure (keyword: struct in C) has some elements and all the elements of the structure shall reserve memory for them.
Here you see that we have declared a struct witch has two elements in it: 1- name (char array of size 20; occupy 20 bytes in memory) and 2- phone (integer array of size 12; occupy 4*12 = 48 bytes). This structure shall hold total 20 + 48 = 68 bytes in memory whenever we use a variable of this structure type. It can have both name and phone details and both are mandatory to store contact details in an application.
Lets take a case where any of these two attributes (name and phone) is enough for the contact detail, then also would it be good idea to hold 68 bytes in memory? Then answer is NO, use a union my friend.
In case of union, among its various elements, element which is largest in size would cause to hold only that much memory. Here in our case, name is of 20 bytes and phone of 48, so memory equal to 48 bytes will be reserved for this union type variable.
Here we need to understand again that only one element of the union can have the information, not all. So the programmer has to decide on the need for a specific application.
How to reset / unset a particular bit in a byte
In our previous post "How to set a particular bit in a byte" had a solution with '|' (OR) bit operator. Now to reset a particular bit in a word, we will see use of some more bit operators like, ~(NOT) and &(AND). Have a look on the following solution with a macro:
Be careful with the inappropriate use of the parenthesis with macro declaration.
Can const and volatile qualifiers be used at the same time in C?
In real time systems we can find a use where both const and volatile qualifiers are used for a single variable. Before going to know about there simultaneous usage we need to understand both the qualifiers separately.
When we talk about 'const', what is the first thing that comes to our mind?
const keyword gives a condition that it can not be changed during the life time of the program, e.g.
Here the value of pi (it's a float constant here) can not be changed during execution of program. Here the important note is 'pi' is such a value that must not be changes in any scenario of any calculations, if tried to change it by any operation an error shall be thrown.
Lets now talk about 'volatile' keyword. Earlier when we declare 'pi' as a constant, the compile was told that it's value would not be changed so compiler can optimize in a way where pi value can be referenced directly without checking whether it's value is updated in any of the operations recently (because it is a const value). Here we need to understand that compiler optimizes a lot of thing with it's intelligence without knowledge of user to save CPU cycles during various operations. The scenario will be just opposite if 'volatile' is used, e.g.
Here the temperature is the variable that can be changed at any time and thus whenever it's value is referenced it is required that it's recent updated value must be referenced. So it's a direction to compiler that the 'temperature' value is so sensitive to change and must not be optimized by the compiler in a way that it's latest updated value is missed in any operation. So such variables are not stored in the cache memory for quick reference by the compiler.
Now take a case when both volatile and constant can be used all together. e.g.
This is a valid case and where is it use? This combo is used in the embedded systems to access the registers (like status registers) which are updated by hardware like hardware interrupt, but change is not expected from any software operation.
How to set a particular bit in a byte
This question is the basic one when you face a embedded domain interview. If you can not answer this, interviewer may loose his faith in your low level C programming skills.
This question becomes more critical when it is asked to give the solution with a macro. Have a look on it's implementation below:
Here the bit operator '|' called OR has the property to set a bit irrespective of other operand if one operand is 1. Recall OR gate truth table from Digital Electronics for more fun on this.
How to find that system/processor supports little endian or big endian representation
First it is important to know that what are little endian and big endian representations. It can be understood by the storage of the byte of a word in the conjugate memory location.
Big Endian: Store the bytes (from left to right) of a word in incremented (BIG) memory location. 0x0A0B0C0D => memory location 0x100 shall hold 0A, 101(0B), 102(oC) and 103(oD).
Little Endian: Store the bytes (from left to right) of a word in decremented (LITTLE) memory location. 0x0A0B0C0D => memory location 0x100 shall hold 0D, 101(0C), 102(oB) and 103(oA).
The output of above program shall depend on the processor on which it is run. Here we are trying to know that where exactly the 01 of 0x00000001 (HEX representation of '1' if int is 4 byte) is stored in the memory. Pointer typecast is the key of this solution. If you are not very clear about pointer typecasting then first refer some text on that.
How to find the number of set bits in a byte or word
Lets assume a byte: 0110 0111
Method-1: This simplest way to get the count of set bit '1' is to run a loop for the length (in bits) and check if the LSB is '1' and increment the counter and shift the byte by one position left. At the end of loop the counter value shall hold the desired count of set bit.
It takes the iteration equal to total no of bits in the byte/word, Time Complexity: O(n).
Method-2: Another method that easily could be memorized as AND method, will give a save on no of iterations.
In the second method, the while loop iteration shall run only equal to the number of the 1's in the word, so this method is more optimized than previous one in terms of time complexity.
Hint: Logic behind this method can be understood by (num & num-1) shall remove the most right side '1' from the target number. Rest is left for your imagination.
If you know any other better solution than this, then please post your answer in the comment area below.
Find Maximum Difference between two elements of an Array
Maximum difference between two elements such that larger element appears after the smaller number
For example if we have array as 10, 7, 2, 5, 6, 8, 9, 5, 3
Maximum difference Array[j] and Array[i] is 7 between Array[6] and Array[2]
Condition is that "j" should be greater than "i"
Time Complexity: O(n)
Find the Number that Appears Only once in an array of Duplicates
We have an array with various duplicate numbers but one number is there which appears only single time. We need to find that number with minimum time complexity
XORing all elements of an array will give the output
Time Complexity: O(n)
Space Complexity: O(1)
If you know any better solution than this then please post it into below comment area.
Merge 2 Arrays without using Extra Space
We have two sorted arrays. Second array has sufficient space for merging first and second array elements. Without using additional space (memory) merge two arrays
Input Array1: 1, 20, 25, 35, 40
Input Array2: 5, 15, 30, 45, 50, _, _, _, _
Output: Array2 = 1, 5, 15, 20, 25, 30, 35, 40, 45, 50
Here we two arrays which are sorted in ascending order. In Array2, we have sufficient space to add elements of Array1.
Complexity: O(n+m)
Algorithm: We will start inserting largest element from the end.
Take two variable pointing last non empty element of two arrays. So "i" pointing to 20 and "j" pointing to 21
Now insert the greatest number at the end of second array
For example if Array2[j] > Array1[i] then insert Array2[j], i.e 21 at the end of Array2 and decrement "j"
Similarly proceed till "i" or "j" is not equal to -1
Below is the working code for the above problem where n and m are the number of elements in Array1 and Array2 respectively.
If you know any better solution than this, then please post it in below comment


text:
|Reference : Genomic Association Screening Methodology for High-Dimensional and Complex Data Struc...|
|Dissertations and theses : Doctoral thesis|
|Engineering, computing & technology : Computer science|
|Genomic Association Screening Methodology for High-Dimensional and Complex Data Structures: Detecting n-Order Interactions|
|Mahachie John, Jestinah [Université de Liège - ULg > Dép. d'électric., électron. et informat. (Inst.Montefiore) > Bioinformatique >]|
|University of Liege, Belgium|
|Doctorale en sciences de l'ingenieur (élec & électro)|
|[en] We developed a data-mining method, Model-Based Multifactor Dimensionality Reduction (MB-MDR) to detect epistatic interactions for different types of traits. MB-MDR enables the fast identification of gene-gene interactions among 1000nds of SNPs, without the need to make restrictive assumptions about the genetic modes of inheritance. This thesis primarily focused on applying Model-Based Multifactor Dimensionality Reduction for quantitative traits, its performance and application to a variety of data problems. We carried out several simulation studies to evaluate quantitative MB-MDR in terms of power and type I error, when data are noisy, non-normal or skewed and when important main effects are present.
Firstly, we assessed the performance of MB-MDR in the presence of noisy data. The error sources considered were missing genotypes, genotyping error, phenotypic mixtures and genetic heterogeneity. Results from this study showed that MB-MDR is least affected by presence of small percentages of missing data and genotyping errors but much affected in the presence of phenotypic mixtures and genetic heterogeneity. This is in line with a similar study performed for binary traits. Although both Multifactor Dimensionality Reduction (MDR) and MB-MDR are data reduction techniques with a common basis, their ways of deriving significant interactions are substantially different. Nevertheless, effects on power of introducing error sources were quite similar. Irrespective of the trait under consideration, epistasis screening methodologies such as MB-MDR and MDR mainly suffer from the presence of phenotypic mixtures and genetic heterogeneity.
Secondly, we extensively addressed the issue of adjusting for lower-order genetic effects during epistasis screening, using different adjustment strategies for SNPs in the functional SNP-SNP interaction pair, and/or for additional important SNPs. Since, in this thesis, we restrict attention to 2-locus interactions only, adjustment for lower-order effects always (and only) implies adjustment for main genetic effects. Unfortunately most data dimensionality reduction techniques based on MDR do not explicitly require that lower-order effects are included in the 'model' when investigating higher-order effects (a prerequisite for most traditional, especially regression-based, methods). However, epistasis results may be hampered by the presence of significant lower-order effects. Results from this study showed hugely increased type I errors when main effects were not taken into account or were not properly accounted for. We observed that additive coding (the most commonly used coding in practice) in main effects adjustment does not remove all of the potential main effects that deviate from additive genetic variance. In addition, also adjusting for main effects prior to MB-MDR (via a regression framework), whatever coding is adopted, does not control type I error in all scenarios. From this study, we concluded that correction for lower-order effects should preferentially be done via codominant coding, to reduce the chance of false positive epistasis findings. The recommended way of performing an MB-MDR epistasis screening is to always adjust the analysis for lower-order effects of the SNPs under investigation, "on-the-fly". This correction avoids overcorrection for other SNPs, which are not part of the interacting SNP pair under study.
Thirdly, we assessed the cumulative effect of trait deviations from normality and homoscedasticity on the overall performance of quantitative MB-MDR to detect 2-locus epistasis signals in the absence of main effects. Although MB-MDR itself is a non-parametric method, in the sense that no assumptions are made regarding genetic modes of inheritance, the data reduction part in MB-MDR relies on association tests. In particular, for quantitative traits, the default MB-MDR way is to use the Student's t-test (steps 1 and 2 of MB-MDR). Also when correcting for lower-order effects during quantitative MB-MDR analysis, we intrinsically maneuver within a regression framework. Since the Student's t-statistic is the square root of the ANOVA F-statistic. Hence, along these lines, for MB-MDR to give valid results, ANOVA assumptions have to be met. Therefore, we simulated data from normal and non-normal distributions, with constant and non-constant variances, and performed association tests via the student's t-test as well as the unequal variance t-test, commonly known as the Welch's t-test. At first somewhat surprising, the results of this study showed that MB-MDR maintains adequate type I errors, irrespective of data distribution or association test used. On the other hand, MB-MDR give rise to lower power results for non-normal data compared to normal data. With respect to the association tests used within MB-MDR, in most cases, Welch's t-test led to lower power compared to student's t-test. To maintain the balance between power and type I error, we concluded that when performing MB-MDR analysis with quantitative traits, one ideally first rank-transforms traits to normality and then applies MB-MDR modeling with Student's t-test as choice of association test. Clearly, before embarking on using a method in practice, there is a need to extensively check the applicability of the method to the data at hand. This is a common practice in biostatistics, but often a forgotten standard operating procedure in genetic epidemiology, in particular in GWAI studies.
In addition to the presentation of extensive simulation studies, we also presented some MB-MDR applications to real-life data problems. These analyses involved MB-MDR analyses on quantitative as well as binary complex disease traits, primarily in the context of asthma/allergy and Crohn's disease. In two of the presented analyses, MB-MDR confirmed logistic regression and transmission disequilibrium test (TDT) results. Part of the aforementioned methodological developments was initiated on the basis of observations of MB-MDR behavior on real-life data.
Both the practical and theoretical components of this thesis confirm our belief in the potential of MB-MDR as a promising and versatile tool for the identification of epistatic effects, irrespective of the design (family-based or unrelated individuals) and irrespective of the targeted disease trait (binary, continuous, censored, categorical, multivariate). A thorough characterization of the different faces of MB-MDR this versatility gives rise to is work in progress.
|File(s) associated to this reference|
All documents in ORBi are protected by a user license.


Spirituality, action meet with gobsmacking beauty
By, Postmedia Network
First posted: | Updated:
Martin Luther King called it "love in action". Ghandi's phrase was "soul force".
Canada's Velcrow Ripper calls it "fierce light" -- a combination of spirituality and activism that he sees gathering strength on a global level. This is what his hopeful new movie, Fierce Light: When Spirit Meets Action, attempts to illuminate.
The death of a friend during a peaceful protest is the catalyst for investigation at the beginning of Fierce Light: When Spirit Meets Action. Despite this tragedy, Ripper senses a sea change, a growing general consciousness that, "Another world is possible." So can spirituality coexist with social activism?
His journey of discovery begins in the deep American south, where monuments to the civil rights movement introduce Alice Walker and Congressman John Lewis, among others, in conversations about racism, determination and love in the midst of hate.
(Ripper's film includes conversations with politicians, environmentalists, philosophers and human-rights activists, among them Desmond Tutu, Thich Nhat Hanh, Van Jones, tree-inhabitor Julia Butterfly Hill, Sera Beak of the Harvard School of theology, Judy Rebick, actress Daryl Hannah, and many others.)
Central to the story is a farm in the worst part of Los Angeles, a sudden oasis in the midst of urban blight, where locals work the land and talk about the magical place that keeps their kids off the streets. When the land is sold to a developer, and it looks as if the farm will be destroyed, people from all walks of life turn up to protest. The movie traces the connection between this land and peaceful protests all around the world, and checks in with a variety of experts willing to talk about "the possibility of illumination." Like some kind of modern-day Diogenes -- only with a camera instead of a lantern -- Ripper goes to conflict zones, ceremonies and festivals to discover the growing need for peaceful and productive change.
Fierce Light offers a wide variety of interpretations of spirituality. Connectedness is a common thread, and that connection extends to the planet and every aspect of nature.
Some people march and carry signs and some pray, but almost everyone Ripper interviews is willing to talk about love. Maybe a soft answer really doth turneth away wrath.
Fierce Light: When Spirit Meets Action, is the second film from Velcrow Ripper that investigates peace, love and understanding. Scared Sacred, his 2005 award-winning documentary, followed his search for hope in the worst 'ground-zero' areas -- from Hiroshima to the toxic dumping ground of Bhopal.
Once again, his ideas are all tied together with magnificent visuals. Some moments, such as a few intense close-ups on human faces, veer a bit too close to the twee; for the most part, however, Ripper celebrates the best of being alive with shots of people and places that are often gobsmacking in their beauty and power.
The film is anti-violence and anti-war; it's about the physical world and how we live in it, and what the future may be because of that. As one subject says, are we going to be locusts or bumble bees?
Fierce Light says we must change to survive as a species.
The place where spirituality and action meet is a spot where you'll want to put down those weapons and be kind to each other and to the planet.
Couldn't hurt.
1 hours, 37 minutes
Director: Velcrow Ripper
Sun Rating: 3 1/2 out of 5
Sponsored Links


text:
Modelling and Simulation of Simultaneous Intrinsic Kinetics, Hydrogen Transport and Heat Transfer in Complex Hydride Hydrogen Storage SystemsG. A. Lozano, J. M. Bellosta von Colbe, T. Klassen, and M. Dornheim
Institute of Materials Research
In proper designs of hydrogen storage systems based on metal hydrides three processes are modelled and simulated: hydrogen flow (through the metal hydride bed), solid-state chemical transformation, and heat transfer (due to the highly exothermic chemical transformation).
In this work, modelling and simulation of the hydrogenation in complex hydride tanks is performed using COMSOL, case study is sodium alanate. For the intrinsic kinetics modelling we discuss a new approach: the material is described as a mixture composed of different types of reacting materials. We also analyse possible boundary conditions and the results when working in different space dimensions. The methodology is not limited to sodium alanate and can be rapidly applied to other hydrogen storage materials.
- lozano_presentation.pdf - 0.45MB


text:
WILLEMSTAD, Curacao — Headstones are pockmarked, their inscriptions faded. Stone slabs that have covered tombs for centuries are crumbling. White marble has turned grey, likely from the acrid smoke that spews from a nearby oil refinery.
One of the oldest Jewish cemeteries in the Western Hemisphere, Beth Haim on the island of Curacao, is slowly fading in the Caribbean sun.
Beth Haim was established in the 17th century and is considered an important landmark even on an island so rich in history that its downtown has been designated a UNESCO World Heritage Site. The sparsely populated island of nearly 150,000 people just north of Venezuela is known today mostly as a diving destination or for its namesake blue liqueur made from citrus fruit.
With its lavish monuments and multilingual epitaphs, Curacao's cemetery helps tell the little-known history of Jews in the Caribbean who fled Spain and Portugal to escape the Inquisition aimed at ridding the Christian nations of Jews, Muslims and others people deemed heretics. Many of the exiles first found refuge in the Netherlands, with their descendants later settling in this former Dutch colony, now a highly diverse society and a semi-autonomous part of the Kingdom of the Netherlands.
But the landmark is in danger. The steady erosion, likely intensified by the proximity of the antiquated refinery, is now considered unstoppable, said Rene Maduro, president of the Mikve Israel-Emanuel Synagogue, which owns and maintains the cemetery.
"Believe me, I wish there was something we could do to protect the cemetery," said Maduro, whose family came to Curacao in the 1600s and has 75 to 100 ancestors buried in Beth Haim. "It is beyond the point of repair."
The Curacao cemetery is among several at-risk burial sites that "preserve the cultural, ethnic, biographical and religious history" of Jews in the Caribbean, said Rachel Frankel, a New York architect who has studied and documented historic Jewish sites throughout the Americas, including burial grounds in Jamaica and Suriname.
The Curacao congregation is considering preserving the cemetery electronically by setting up a website with records and photos, Maduro said. The plan for a digital memorial is still in development, but a lower-tech effort has put replicas of 10 of the most ornate headstones on display at the Jewish Historical Museum in the capital of Willemstad.
Besides being sacred sites, Frankel said, the cemeteries help document the Caribbean migration of Sephardic Jews whose forefathers fled or were expelled from the Iberian Peninsula during the Inquisition, and Ashkenazic Jews who later left central and eastern Europe to seek their fortunes in the New World. Along with Curacao and Jamaica, large populations of Jews were once found on the smaller Dutch island of St. Eustatius, as well as in St. Thomas and Barbados.
On some islands, colonial Jews numbered in the hundreds, and other locations in the thousands, said Frankel. By the mid-20th century, most of the congregations had declined,but the cemeteries that in some cases had accepted burials for more than two centuries remained.
The Jewish community in Curacao dates back to the 1650s, with the arrival of Sephardic Jews from Amsterdam who had previously fled Spain and Portugal. At its peak, in the late 1700s, the Jewish community on the island numbered about 2,000.
They established the Mikve Israel-Emanuel Synagogue, which is billed as the oldest continually operating synagogue in the Western Hemisphere, as well as Beth Haim cemetery. The synagogue today has about 350 members, of which only about 200 actually live on Curacao. An orthodox synagogue in another part of Willemstad has a membership of about 60 families.
The cemetery occupies what was once plantation land on about 10 acres on the outskirts of Willemstad. The oldest confirmed inscription is from 1668 on a stone made of potter's clay, according to records maintained by the synagogue. Congregation members have determined more than 5,000 people are buried there, but only a third of the inscriptions are legible in a mix of languages that includes Portuguese, Spanish, Dutch and Hebrew. Also vanishing are some of the engravings known as sepulchral illustrations, some of which are considered artworks.
Ivan Becher, president of the Shaarek Tsedek synagogue in Willemstad, said his grandfather was among the last to be buried in Beth Haim nearly 60 years ago.
"My grandfather's grave is pretty well kept, but with the rest of the graves, there is a lot of erosion," he said. "It's too bad."
Experts who have studied the headstones say the deterioration is caused by a combination of factors, including wind, salt air and humidity, said Michael A. Newton, an architect who works with the Curacao Monuments Foundation, a preservation group.
Many on the island also blame the oil refinery that towers over the cemetery and on many days spews sooty clouds that burn the eyes of visitors to Beth Haim as well as those of residents in the poor neighborhoods of the area.
A spokesman for the refinery, which is owned by the Curacao government and operated under contract by Venezuela's state-owned oil company, did not return calls seeking comment.
The refinery's operators have occasionally helped with the cemetery's maintenance, which has otherwise cost the congregation "many, many thousands" of dollars over the years, Maduro said.
Congregation members have consulted with experts from the Netherlands and the United States on possible solutions to halt erosion, but the options were too expensive and considered long-shots at best.
Jewish law forbids disturbing remains so moving the cemetery to another part of Curacao that would be less threatened by refinery smoke is out of the question, Maduro said.
Frankel, the New York architect, said that preservation has also proved difficult for other historic cemeteries in the Caribbean that no longer receive burials and have dwindling populations of Jewish heirs to care for them.
"In places where pollutants are not a problem, there are other challenges," she said. "Vegetation grows fast and furious in the subtropical climate. Goat herds — which exist even in urban centers — make their way through open cemetery gates. And as Caribbean cities become more densely populated, cemeteries sometimes become garbage dumps where public sanitation is lacking."
But appreciation of the cemeteries as historic sites has grown over the past two decades, Frankel said, with local governments, academics and congregants are working together to document, study, and preserve them while also making them accessible to the public.
The Curacao cemetery is occasionally visited by tourists from the cruise ships stopping at downtown Willemstad.
Maduro hopes future visitors will also be able to view the cemetery virtually, on the hoped-for website.
"Not that we can preserve it, but we are trying to make it easier for people to know what's there and who is buried there," he said.
ON THE INTERNET:
Official website of the Mikve Israel-Emanuel Synagogue in Curacao
Copyright © 2011, Capital City Press LLC • 7290 Bluebonnet Blvd., Baton Rouge, LA 70810 • All Rights Reserved


text:
The online-course "New Technologies in Effective Teaching and Learning in Higher Education in the Context of Mongolia, elaborated by the Mongolian University of Science and Technology (MUST) at the request of IITE and based on IITE's publication and on-line course "Information and Communication Technologies in Education", was launched in December 2015. The course is developed in Mongolian language and is designed for higher education teachers and learners in Mongolia. It consists of 3 modules:
- Module 1: New technologies in Teaching and Learning
- Module 2: Teacher professional development in ICT competencies
- Module 3: Open educational resources, open licensing, mobile learning and MOOC
The training course covers wide range of aspects of ICT use in education. It gives to a user the information of examples of best practices in different countries as well as recommendations to common issues faced by educators. With such features as self-assessment, additional reading materials, research assignments and group discussion, this course provides thorough understanding to users.
The course is published at one of Mongolian web-portals for open educational resources: _URL_, supported by MUST and IITE within the framework of their joint project. In In the near future, it is planned to place the course also on the portal of the Ministry of Education, Culture and Science of Mongolia.


South Africa – Pongrácz Champagne
South Africa is not only famous for its diamonds, but also for its grapes, wines and sparkling wines produced there. If you visit the Stellenbosch wine region, you may come across a Hungarian name.
Pongrácz Champagne is the most famous and one of the most popular champagne brands in the country. It was named after Dezső Pongrácz: a Hungarian nobleman, an outstanding figure in South Africa's wine and sparkling wine industry.
Dezső Pongrácz, or as he is known in South Africa: Desiderius Pongracz, fought as a soldier in World War II. After World War II, he was captured by Russia, where he spent more than 10 years in a labor camp. After the labor camp, he returned to Hungary for a while, but after the outbreak of the revolution of 1956, he reached the African country on his adventurous journey.
After arriving in South Africa, he began working on farms and then climbed up the ladder until he had acclimatized there such popular species like Chardonnay, Sauvignon or Pinot Noir.
He also dealt with wine and sparkling wine from a scientific point of view, and has published many studies and books throughout his life, and is still regarded by many as the founders of South African sparkling wine. At the age of 61, he died in a car accident while delivering wine to a friend.
Published by


Mesmerizing video of 'Waterfall Clouds' in Aizawl goes viral
1 min read
Mesmerizing video of 'Waterfall Clouds' in Aizawl goes viral
A mesmerizing video of clouds flowing off a height like a waterfall in Aizawl is going viral.
The video was shared on Facebook by Aziz Barbhuiya, and has been viewed and shared thousands of times on social media.
The viral clip shows clouds descending from a higher level to a lower one, with many saying it looked like a fluffy waterfall.
Watch the video here:
Waterfall Clouds
The stunning visual comes from a phenomenon known as orographic clouds that are commonly known as "waterfall clouds". These clouds are generally associated with a moist airflow over mountainous areas.
It usually occurs when stable air encounters a mountain, and is lifted upward, cooling as it rises. Water vapour in the moist air could condense, making it visible as a cloud. So when orographic clouds flow down from the tops of mountains, it often looks like a waterfall.
Related Articles
Women in Politics: The Northeast Context
2 min read
Northeast India: Times Are Changing
4 min read
🎉 You've successfully subscribed to MORUNG!


text:
New Capabilities are introduced in the AppFramework as a part of AppStudio 2.0. These capabilities are not provided natively by Qt. Following capabilities are currently in beta
These capabilities are currently in Beta. What does that mean?
What it means is that we are looking forward to your feedback, the use cases, what you like and what you want us to improve upon. It also means that if you choose to implement these plugins in Production App. Future changes may affect your app may require additional changes to support these functionalities in your app.
1. Local Notification - This is a new plugin added to the AppFramework. It provides developers the ability to implement in-app notification to end users such as an alert, message or geotification. When the Local Notification gets triggered on the client device the Notification icon appears in the Notification bar which is same as the application icon. The Notification icon cannot be customized or modified. Users may choose to have one or multiple notifications within the app. Every notification scheduled has a corresponding id available to distinguish between multiple Local Notifications.
Note:- An app running within Player or AppStudio Desktop (AppRun) will show the notification icon of Player or AppRun respectively when triggered.
How to implement Local Notification in an AppStudio App?
- Use the following import statement
import ArcGIS.AppFramework.Notifications.Local 1.0
- Enable the "Local Notification" capability within the AppSettings of the App
- Use the component "LocalNotification" which takes three input parameters to schedule a notification
- Title – The title of the message
- Message – The description of the message
- Time (in seconds)- Time after which the notification will be triggered on the end user device.
- bool supported (read only)- Returns a boolean if the device supports local notification.
Note: This property is supported on Android API 19+ versions.
- object schedule(string title, string message, int timeInSeconds) - returns a Variant object which is id of the scheduled notification
- Title - The title of the message as string value
- Message -The description of the message as string value
- Time (in seconds) -Time after which the notification will appear on the end user device as int
For e.g. 5 seconds means the notification will be triggered in 5 second
var id = notification.schedule(title, message, duration)
- bool clear(object id) -This method will clear the pending notification from the list of scheduled notifications
- object id - The id of the notification to be clear.
- Returns bool - Indicates whether the notification is cleared from the list of scheduled notifications.
bool success = notification.clear(id)
Note: It will return false for invalid inputs and for notifications which have already triggered.
- void clearAll() - This method clears all the pending (yet to be triggered) and active (already triggered) notifications along with badge numbers for iOS apps.
- triggered(object id) - This signal is emitted when the local notification is triggered.
- object id-It takes an id of the scheduled notification.
2. Vibration (Singleton) - New plugin added in AppFramework with AppStudio 2.0 version. This allows developers to enable vibration within an app. It is a non visual feedback or alert. Common use cases to provide vibration are to indicate an event such a message received or finished creating a model making a network request or just an alert etc.
Note: Currently, there is no way to provide number of seconds as an input for it to vibrate. On android device, it will vibrate for 1 second and on iOS it will use the system default.
How to implement Vibration in the AppStudio App?
- Use the following import statement
import ArcGIS.AppFramework.Notifications 1.0
- Enable the Vibration capability within the AppSettings of the App
- Call the Vibration.vibrate()
- bool supported - Returns a boolean value indicating whether your device supports vibration or not.
- void vibrate() - Method call to initiate a vibration on the client device from the app. The device will continue to vibrate for system default vibration settings (in seconds) or until the app is closed.
3. Background Location - New capability has been introduced to AppStudio 2.0 which allows the apps to use location data in background mode. Some of the common use cases using this capability are logging location data using position source, or trigger a notification, geo-fencing etc. This capability is currently available for mobile platforms only as this is already supported on desktop.
How to implement Background Location in the AppStudio App?
- Enable the Background Location capability in AppSettings of the App
You can monitor the state of the application using the following property
4. Promises - Often while creating your apps, you may want to make something happen after something else is done. You may want to want to make an asynchronous request and perform something on completion of the request. Or you may simply want to execute set of operations in a particular sequence. Promises can be used to manage such asynchronous computation, allowing for separate processes to continue in parallel.
Promises are a pattern that helps with one particular kind of asynchronous programming: a function (or method) that returns a single result asynchronously. One popular way of receiving such a result is via a callback. Promises provide a simpler alternative for executing, composing, and managing asynchronous operations when compared to traditional callback-based approaches. The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value.
A promise can be in one of 3 states:
- Pending - the promise's outcome hasn't yet been determined, because the asynchronous operation that will produce its result hasn't completed yet.
- Fulfilled - the asynchronous operation has completed, and the promise has a value.
- Rejected - the asynchronous operation failed, and the promise will never be fulfilled. In the rejected state, a promise has a reason that indicates why the operation failed.
When a promise is pending, it can transition to the fulfilled or rejected state. Once a promise is fulfilled or rejected, however, it will never transition to any other state, and its value or failure reason will not change.


text:
El libro de arena – The Book of Sand
The Book of Sand tells the story of the Dune of Valdevaqueros as a metaphor of the absurd will of humanity to dominate nature, while remaining separate from her. It presents a multifaceted approach which delves into the social, environmental and political facts that led to the formation of the dune, relating it to philosophical questions. Its a local history that takes place in Punta Paloma (Tarifa, Cádiz) an idyllic enclave in the Strait of Gibraltar, just 14 km away from Africa where the dune originated as a result of the military intervention which took place in 1939, at the end of the Spanish Civil War. This operation radically changed the physiognomy of the area and generated long-term environmental and social consequences that remain to be resolved.


I just started working with Docker and Kubernetes and I've been watching a lot of stacks, in which some people build nginx+php in a single image and some build an image with nginx and another one with php (mounting the same path and enclosing both containers in the same deployment in Kubernetes).
What would be the advantages of building two docker images instead of installing both nginx+php in the same one?
PHP with nginx is usually done using php-fpm which is a separate processus.
Keeping the core idea of docker of one process (see end of answer for more details on this point) per container this makes sense to have the nginx process and php-fpm process in separate containers.
As the communication between nginx and php-fpm arise through fastcgi the php-fpm container can also be on a separated host and this allows using a cluster of php-fpm containers behind nginx.
After the wall of comment here's a little more background, docker documentation have paragraph about the idea that a container should have only one concern.
The main idea of a linux container (lxc) is to run a process in an isolated namespace at the cpu and memory level, docker add on top of this an isolation at the filesystem level.
The advantage is that the compromission of a process within this namespace won't allow to read memory of other processes and as such should prevent other compromission on the host.
While talking about nginx and php-fpm, they work in pair but each has it's own concern, nginx will do the HTTP part, routing, headers validation, etc. and php-fpm will do the code interpretation and return the html part to nginx. While it's usual to have both together serving a single application that's not mandatory.
Depending on context it may be easier to have a container including the whole stack for an application, on a developer workstation for exemple. But ideally for production use, try to keep the fewer interaction inside the container, having separated processes in the same container with supervisord brings its share of problem in term of zombie process and log handling (exemple story here for illustration purpose only).
So finally I'll quote the docker page with some emphasis:
While "one process per container" is frequently a good rule of thumb, it is not a hard and fast rule. Use your best judgment to keep containers as clean and modular as possible.
There's no "silver bullet rule" which apply to everything, it's always a balance between the complexity within the container and the complexity orchestrating the containers themselves.
 - 3
 The core idea is actually "Each container should have only one concern", and "it is not necessarily true that there should be only one operating system process per container". docs.docker.com/engine/userguide/eng-image/… – user2640621 Sep 20 '17 at 10:41
 - I admit it's a shortcut to strike the idea, nginx is not a single monolithic process nor is php-fpm, but replace process by concern in my answer and it is still OK nginx does the routing, php-fpm does the interpretation – Tensibai Sep 20 '17 at 10:54
 - 3
 The answer is usually one service one port per container, not really one process. On the other hand, if you have multiple running processes in a container, you need to consider some init process, service management, restarts, independent logging, independent package dependencies, it gets a bit more complicated. And sometimes 1:1 mapping turns into 1:n mapping when scaling. – Jiri Klouda Sep 20 '17 at 16:26
 - _USER_ playing devil's advocate: so a apache in front of a rails app using a postgres DB should go within the same container? That's just one service in an external point of view after all. – Tensibai Sep 20 '17 at 18:27
 - 1
 _USER_ answer amended, I hope it's detailed enough to convey all the points raised in comments. – Tensibai Sep 22 '17 at 8:34
There is no meaningful benefit that outweighs having to manage two containers. As long as you have a 1:1 relationship between the processes and they serve a single purpose, put them in the same container.
 - Do you mean different images on the same container? – CarlosAS Sep 20 '17 at 13:06
 - How will you start nginx and php-fpm in the same container? Please add an example. – 030 Sep 20 '17 at 14:49
 - 1
 _USER_ here an example – CarlosAS Sep 20 '17 at 15:24
 - 2
 _USER_ Very valid exemple for dev purposes, I'd block this kind of things for production use (running supervisord within a container can turn in a footgun quite easily) – Tensibai Sep 20 '17 at 17:41
 - I disagree with that answer, with this reasoning a apache server with mod security talking to a tomcat talking to a postgresql server hosting only one app should fit within a single container. – Tensibai Sep 20 '17 at 18:30
Actually, one missing point here is the horizontal scalability. There's an article from Jamie Alquiza long time ago addressed this:
In short, you scale your php-fpm horizontally for reaching higher performance. Scaling Nginx+php-fpm together does not bring you any benefit. I encourage you do some stress testing (e.g. Tsung, Gatling, etc.; please don't do Apache ab, that is a very old toy) yourself to verify what the article stated. I personally have several real world experiences proved the article is true in general.
But there're two drawback (maybe not for Kubernetes) for bare metal machines / VMs:
 1. How to configure Nginx dynamically discover php-fpm container changes? This is the easy part.
 2. How do we share the same volume / file systems after scaling? Nginx and php-fpm containers should read exact the same content to reach consistency. This leaves you the least puzzle part (and most fun part) to work on.
EDITED: Now it's almost half of year 2019. Old model, php-fpm+nginx in the same pod, has different usage. If you're familiar with service mesh, then nginx (or what so call Nginmesh) serves as a sidecar to handle east-west bound traffic. East-west bound traffic mostly used to authenticate among services, or other fancy functionalities, whereas pure php-fpm could not do that along.
The advantage is : you can run multiple php-fpm containers in back-end, we call it PHP cluster, via number of ports. Example port 9000, 9001, 9002.. and so on
Your Answer


text:
Ariyalur to Cuddalore distance, location, road map and direction
Ariyalur is located in India
at the longitude of 79.08 and latitude of 11.14. Cuddalore is located in India
at the longitude of 79.77 and latitude of 11.74.
- Driving Distance : 126 KM and 354 meters / 78.5 miles.
- Straight Line Distance : 100 KM and 900 meters / 62.7 miles.
- Travel time : 2 hours and 26 minutes.
- Direction and bearing : North East side, 48 degree.
Distance between Ariyalur and Cuddalore
The total straight line distance between Ariyalur and Cuddalore is 100 KM
(kilometers) and 900 meters. The miles based distance from Ariyalur to Cuddalore is 62.7
miles. This is a straight line distance and so most of the time the actual travel distance between Ariyalur and Cuddalore may be higher or vary due to curvature of the road.
The driving distance or the travel distance between Ariyalur to Cuddalore is 126 KM and 354 meters. The mile based, road distance between these two travel point is 78.5 miles.
Time Difference between Ariyalur and Cuddalore
The sun rise time difference or the actual time difference between Ariyalur and Cuddalore is 0 hours, 2 minutes and 45 seconds
Ariyalur and Cuddalore time calculation is based on UTC time of the particular city. It may vary from country standard time, local time etc.
Ariyalur To Cuddalore travel time
Ariyalur is located around 100 KM away from Cuddalore so if you travel at the consistent speed of 50 KM per hour you can reach Cuddalore in 2 hours and 26 minutes. Your Cuddalore travel time may vary due to your bus speed, train speed or depending upon the vehicle you use.
Ariyalur to Cuddalore Bus
Bus timings from Ariyalur to Cuddalore is around 2 hours and 26 minutes
when your bus maintains an average speed of sixty kilometer per hour over the course of your journey. The estimated travel time from Ariyalur to Cuddalore by bus may vary or it will take more time than the above mentioned time due to the road condition and different travel route. Travel time has been calculated based on crow fly distance so there may not be any road or bus connectivity also.
Bus fare from Ariyalur to Cuddalore
may be around Rs.95.
Midway point between Ariyalur To Cuddalore
Mid way point or halfway place is a center point between source and destination location. The mid way point between Ariyalur and Cuddalore is situated at the latitude of 11.442536817488 and the longitude of 79.423003773107. If you need refreshment you can stop around this midway place, after checking the safety,feasibility, etc.
Ariyalur To Cuddalore road map
Cuddalore is located nearly North East
side to Ariyalur. The bearing degree from Ariyalur To Cuddalore is 48 ° degree
. The given North East direction from Ariyalur is only approximate. The given google map shows the direction in which the blue color line indicates road connectivity to Cuddalore. In the travel map towards Cuddalore you may find en route hotels, tourist spots, picnic spots, petrol pumps and various religious places. The given google map is not comfortable to view all the places as per your expectation then to view street maps, local places see our detailed map here.
Ariyalur To Cuddalore driving direction
The following diriving direction guides you to reach Cuddalore from Ariyalur. Our straight line distance may vary from google distance.
Travel Distance from Ariyalur
The onward journey distance may vary from downward distance due to one way traffic road. This website gives the travel information and distance for all the cities in the globe. For example if you have any queries like what is the distance between Ariyalur and Cuddalore? and How far is Ariyalur from Cuddalore?. Driving distance between Ariyalur and Cuddalore. Ariyalur to Cuddalore distance by road. Distance between Ariyalur and Cuddalore is 100 KM / 62.3 miles. distance between Ariyalur and Cuddalore by road. It will answer those queires aslo. Some popular travel routes and their links are given here :-
Travelers and visitors are welcome to write more travel information about Ariyalur and Cuddalore.
- It can be your previous travel experience between Ariyalur and Cuddalore.
- Available transport routes to reach Cuddalore like train routes, bus routes, air routes and cruise routes.
- Tourist places or any other important places on the routes between Ariyalur and Cuddalore.
- Hotels, restaurant information on the way to Cuddalore.
- Photos related to Ariyalur and Cuddalore or en route.
- Travel queries and other relavent information related to this page.


text:
Consider the average speeds of automobiles and submarines. Admittedly, the ordinary cruising speed for both is in the double digits even if ranges do differ somewhat. In autombiles drivers can see where they are going over 99% of the time, while in modern submarines the inverse probably applies (drivers may see where they are headed less than 1% of the time).
Now a new steel
is available to improve automotive safety. Weight matters in auto fuel economy, but safety has become a primary requirement of personal transportation. In submarines, mission completion is a primary requirement with weight and fuel economy hardly considerations at all.
Submarine accidents can have significant, negative impacts on both mission completion and availability for more missions. Can TWIP steel
be applied to improving submarine safety (i.e. reducing collision injury and damage)? Could bow sections be latticed with this material without impairing critical factors such as sonar performance and anechoic characteristics? One would hope, since air bags are not a viable option on subs.
The crude concept shown applied to USS Texas's (SSN-775) hull would cause potential fouling as well as sonar detection, so please chalk it up to my wish for all you guys who serve to have only fair winds.
Labels: submarine safety TWIP steel Texas cow catcher


text: The System Sensor® 5600 Series mechanical heat detectors offer a low-cost solution for property protection against fire and protection in conditions where the non-life safety installations may not require smoke detectors. The 5600 Series offers both single and dual circuit models. Each model is available with low or high temperature ratings, and fixed temperature or rate-of-rise activation. The rate-of-rise element is restorable to accommodate field testing of the unit. The detectors mount readily on single gang or octagonal backboxes. They can also mount on a four inch (10.16 cm) square box with the support of a square to round plaster ring. The mounting bracket is reversible to allow for flush and surface mount installations. The 5600 units provide clear markings readily visible on the unit to ensure the proper application. Alphanumeric characters identify the type of detector and temperature rating, both in Fahrenheit and Celsius. Fixed temperature models are labeled "FX," while the combination units are marked "FX/ROR". The detector also features a positive indication of actuation of the fixed temperature portion. The collector disc drops from the unit making it readily identifiable.


You are here
How can I calculate pixel intensity in an ROI?
I'm looking for suggestions on how I can use GIMP to calculate pixel intensity in an ROI. This kind of function is frequently used in gel electrophoresis analysis, where the software will identify gel bands and calculate relative concentration based on pixel intensity. I'm actually analyzing microscope images, but the principle is the same. I need to calculate the average intensity of pixels within a specific region. Any suggestions?
I would also be very interested in what you mentioned. Would be glad, if someone has an idea. greets, Benjamin
What I could think about a stupid way to do it is by means of histogram, as follows: 1. Highlight a blank lane of gel or background and check the limits of pixels in the histogram, say 170-255. The smaller figure will be used later. 2. Move the same rectangular mask to a lane containing one band. Redo the histogram. This time you should see more pixels distributing on the left side of the histogram, i.e. smaller number of the scale. 3. Move the right limit to 170, the number obtained in step 1 which serves as the lightest gray color to be discarded. 4. Move one step more to 171, and you should see the pixel number changed. Record the difference. 5. Subsequent move of the right limit until all have counted. (Up to this step I think I'm stupid enough to do this!) 6. Here comes the core: for 171, say there is 5 pixels. The "quantity of protein / nucleic acid" at this particular level of gray corresponds to 5 x (255-171+1) = 425. 7. Calculate similarly for different gray levels having pixels, and add them all. This would be the final "band intensity". Here comes to my problem that how could we obtain a list of numbers of pixels at particular gray level for such calculation, but not by moving the limits one by one with my own hands. My way is not doable for many bands on the gel.
Can you provide a sample image and what you are looking for as a result? This should be easy enough to script. -Rob A>
Subscribe to Comments for "How can I calculate pixel intensity in an ROI?"
Get Plugin Updates


Arduino kit for physic experiments in collaboration with Google.
Arduino science kit physics lab
During my collaboration with Arduino I worked as designer on different projects between exhibition, research and interaction.
Among these one of the last is Arduino Science Kit Physic Lab.
 Science kit is an Arduino product in collaboration with Google. A kit for middle school students, which interfaces with the Google science journal app. The idea is to create a kit that through simple and fun experiments can explain the basic concepts of physics to students. I worked with the Arduino team together, to translate the various experiments into products.
The project has several constraints: materials and number of pieces, experiments and limited budget. The parts are produced in PCB the same materia of the Arduino boards.
The pieces are in minimum numbers to allow a substantial number of experiments but keeping within the budget.
Standard products were then used to allow the assembly of the pieces. I dealt with the translation and interaction with the product and the app, with the prototyping and design part of the kit.
Arduino and Google
UX research
Product design
Next 


text:
E. Cobham Brewer _PHONE_. Dictionary of Phrase and Fable. 1898.
Minories (3 syl.) (London).
The cloister of the Minims or, rather, Minoresses (nuns of St. Clare). The Minims were certain reformed Franciscans, founded by St. Francis de Paula in the fifteenth century. They went barefooted, and wore a coarse, black woollen stuff, fastened with a woollen girdle, which they never put off, day or night. The word is derived from the Latin minimus (the least), in allusion to the text, I am less than the least of all saints. (Eph, iii. 8).


text:
Ubiquitination is involved in diverse cellular processes in higher plants. In this report, we describe Arabidopsis thaliana PUB22 and PUB23, two homologous U-box-containing E3 ubiquitin (Ub) ligases. The PUB22 and PUB23 genes were rapidly and coordinately induced by abiotic stresses but not by abscisic acid. PUB22- and PUB23-overexpressing transgenic plants were hypersensitive to drought stress. By contrast, loss-of-function pub22 and pub23 mutant plants were significantly more drought-tolerant, and a pub22 pub23 double mutant displayed even greater drought tolerance. These results indicate that PUB22 and PUB23 function as negative regulators in the water stress response. Yeast two-hybrid, in vitro pull-down, and in vivo coimmunoprecipitation experiments revealed that PUB22 and PUB23 physically interacted with RPN12a, a subunit of the 19S regulatory particle (RP) in the 26S proteasome. Bacterially expressed RPN12a was effectively ubiquitinated in a PUB-dependent fashion. RPN12a was highly ubiquitinated in 35S:PUB22 plants, but not in pub22 pub23 double mutant plants, consistent with RPN12a being a substrate of PUB22 and PUB23 in vivo. In water-stressed wild-type and PUB-overexpressing plants, a significant amount of RPN12a was dissociated from the 19S RP and appeared to be associated with small-molecular-mass protein complexes in cytosolic fractions, where PUB22 and PUB23 are localized. Overall, our results suggest that PUB22 and PUB23 coordinately control a drought signaling pathway by ubiquitinating cytosolic RPN12a in Arabidopsis.
All Science Journal Classification (ASJC) codes
- Plant Science
- Cell Biology


HLAA meets with Acting Surgeon General Steven K. Galson
You are here
HLAA meets with Acting Surgeon General Steven K. Galson
Mon, 05/12/2008
Washington, D.C.: Brenda Battat, executive director of HLAA arranged for a meeting with acting Surgeon General Steven K. Galson to talk about the need for more public education about hearing loss. HLAA invited six other stakeholder groups to join the meeting at which they stressed the need to start a public dialogue about the causes, impact on physical and psychosocial well being of untreated hearing loss, treatment options available, the stigma effect and the need to protect hearing from noise. There are 31.5 million Americans with hearing loss with 10 million resulting from noise exposure that could have been prevented but cannot be reversed. Hearing aids are effective devices but they are underutilized with less than 25 % of people who could benefit actually using them.
Left to right, back to front Alex Graham (AGBell), Andy Bopp (HIA), Phil Bongiorno (AAA)
Karen Sealander (IHS), Barbara Raimondo (NAD), Rear Admiral Steven K. Galson, Acting Surgeon General, Brenda Battat (HLAA), Joy Trimmer (AAO-HNS), acting deputy surgeon general, Robert.C.Williams
HR 2329. Hearing Aid Assistance Tax Credit Act. What is it exactly?
HR 2329 provides a tax credit of up to $500 per hearing aid, available once every 5 years, towards the purchase of such hearing aid, available to: 1) individuals age 55 and over, or 2) those purchasing a hearing aid for a dependent.
HR 2329 is not intended to cover the full cost of hearing aids, but will simply provide some measure of financial assistance to the groups who are most in need of these devices but are unable to afford them: those approaching or in retirement, and families with children.
Why do we need this special tax treatment for hearing aids?
 - While 95% of individuals with hearing loss could be successfully treated with hearing aids, only 22% (6.35 million Americans) currently use them according to the most recent 'MarkeTrak' report, the largest national consumer survey on hearing loss in America.
 - It is estimated that there are 31.5 million Americans with hearing loss. Included in this figure are 1 million children under the age of 18 with a diagnosed hearing loss who are not now using a hearing aid, and around 9.7 million Americans age 55 and over.
 - 40% of individuals with hearing loss have incomes of less than $30,000 per year. A Department of Commerce study indicates that the overall family income of people with hearing loss is almost half that of the general population.
 - 30% of those with hearing loss cite financial constraints as a core reason they do not use hearing aids, according to a MarkeTrak report.
 - The average cost for a hearing aid in 2002 was over $1,400, and almost 2/3 of individuals with hearing loss require two devices, thereby increasing the average out of pocket expense to over $2,800.
 - Hearing aids are not covered under Medicare, or under the vast majority of state mandated benefits. In fact, 71.4% of hearing aid purchases involve no third party payments, which place the entire burden of the hearing aid purchase on the consumer, according to 'MarkeTrak'.
As of October 2007 HR 2329 had 60 cosponsors and the Senate Bill, S 1410 had 7. To see if your Senator or Congressional Representative is a co sponsor of the Hearing Aid Tax Credit go to
List of cosponsors for HR 2329:
Sample letter:
Dear Congressman _________:
I am writing to ask you to support H.R. 2329, the Hearing Aid Tax Credit Bill. Very few health insurances cover hearing aids and Medicare excludes them from coverage. As a result, Americans with a hearing loss are forced to pay out of their own pockets for hearing aids that can cost as much as $2-$3,000 each. Something has to be done to help people get the hearing aids they need.
(Include a paragraph talking about your own experience with hearing loss and trying to afford hearing aids that you need)
Please sign on as a cosponsor of this bill. I thank you for considering this
Yours truly,
[Your name]


text:
Game Development Reference
Walk around using the arrow keys, and move your head using the mouse. Check that
out for instant graiicaion!
Fall through the floor
If the only jaw that dropped was that of your game character falling through the
floor, then go back to your character controller (the capsule thing) and move it up
higher above the terrain. Now also check you've checked the generate colliders box
in the FBXImporter tab when you select the terrain, as described earlier. Colliders
describe which geometry is solid so that your character doesn't move through it.
4. Use the Spacebar to jump, too. You should have a first person view like the
5. When you're done looking around your magniicent creaion, click on the Play
buton again to return to the editor.
6. Wowsers! Was it really that simple? Yep. Now, check the following.
Time for action - creating a web playable walkthrough
Go to File ¦ Build and Run. Now, select Web Player and click on Add Current
(see the next screenshot):


text:
Let $F$ be an unramified extension of $Q_2$. How can I compute the Hilbert symbol (a,b) for $a,b \in F^*$. Here, (a,b) is 1 if $ax^2+by^2=z^2$ has a nontrivial solution, and -1 otherwise.
In the case of $F=Q_2$, I can do this by finding representatives of $Q_2^*/(Q_2^*)^2$, and calculating the Hilbert symbol for each possible pair. However, this becomes a bit unmanageable for larger fields $F$. Is there a better way of approaching this?


text:
Deleting all Data from a SQL Server Database (Part 2)
In part 2 of a series, On VB columnist Joe Kunk provides a Visual Basic program to generate a SQL script that clears all the data from a SQL Server database.
In part one of this article
, I described a scenario in which I needed to empty all the data from a copy of a large database on a remote server, in order to download a minimal backup and populate it with test data for a demonstration on my laptop in a location without a reliable Internet connection. I could have scripted the existing database to create a new one, but that required trust that the new database is an identical copy of the existing database. Creating a copy of the database and then deleting all the data gives me a much higher confidence that I have an empty database structurally identical to the original.
As promised in part one, I developed a Visual Basic program to generate a SQL script that clears all the data from a SQL Server database (See Code Download for full source code and executable). The program only generates a T-SQL script; it does not make any changes to the database structure or data directly when run. Print statements are included throughout the script to display a log of actions taken by the script when run. The script has been tested on SQL Server 2005 and SQL Server 2008 R2. The program is compiled against the x86 CPU and the.NET Framework 3.5 Client Profile so it will run on a standard Windows 7 computer without the need to install the.NET Framework 4. No other assemblies are needed.
The basic approach is to TRUNCATE each table, dropping and re-creating foreign key constraints and associated extended properties if needed. If not truncated, the table is cleared with a DELETE FROM statement and the identity seed field is explicitly reset to the original seed value. The order in which the tables are processed is determined based on the foreign key dependencies. The application generates the SQL script quickly since it is simply reading schema information to generate text for a script.
The choice of how to clear the table is made in part on the security permissions of the user's database connection. This utility is meant to be used by a developer or database administrator with access to SQL Server Management Studio, not an application user. The script assumes that the user has at least the permission to read and write all tables. See Listing 1 for the generated script to clear the Microsoft sample AdventureWorks database with the ALTER permission on the tables. See Listing 2 for the generated script to clear the same database but without the ALTER permission, as would be the case with only the DataReader and DataWriter database roles.
The T-SQL script to determine if the user has ALTER permissions must be called for each table. 'mytablename' is the name of the specific table being checked.
SELECT permission_name FROM fn_my_permissions('mytablename', 'OBJECT')
WHERE permission_name = 'ALTER' and subentity_name = ''
Running the Application
To run the application, copy the three files in the bin\Debug\ folder to the location of your choice, modify the connDatabase connection string value to specify the desired database, and run ClearDatabaseScriptUtiity.exe. The.config file has a sample connection string for both integrated security and SQL Login modes. For the AdventureWorks database with integrated security, the connection string would be similar to:
Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=True
Figure 1 shows the main application form. The drop down in the upper left corner allows you to specify which of the available databases on the server that you would like to use. The first four buttons display informational grids that can be used to validate the generated script. Click the "Copy to Clipboard" button to place the grid contents on the clipboard to be pasted into other applications such as Excel.
[Click on image for larger view.]
|Figure 1. The main application form.
The Table Counts button generates an alphabetical list of all tables by schema and table name, along with the current count of records in each table (see Figure 2). This grid provides a way to validate the record counts before and after the ClearDatabase script has been run. The list of tables is generated from the "connSQL.GetSchema(SqlClient.SqlClientMetaDataCollectionNames.Tables)" statement where connSQL is the SqlClient.SqlConnection object.
Foreign keys affecting a table must be dropped in order to TRUNCATE the table. The Foreign Key button generates an alphabetical listing of foreign key information sorted by the foreign key name and field index, as shown in Figure 3. This grid pulls together all the information needed to generate the scripts to both drop the foreign key constraints and re-create them after the table is truncated, including any extended properties attached to the foreign key constraints. These must be re-created as well if the foreign key constraint is dropped. This is the most complex query in the application. See Listing 3.
Indexed views must be schema bound to the referenced tables using the WITH SCHEMABINDING attribute. T-SQL User defined functions may optionally be schema bound to improve performance. Tables referenced in these situations cannot be altered to drop the foreign key constraints without dropping and re-creating the schema bound view or function. To avoid that, any schema bound tables use the DELETE FROM option. The Schema Bound button generates an alphabetical listing of tables affected by schema binding. See Figure 4 below.
The script to determine which tables are affected by schema binding is shown here:
SELECT DISTINCT db_name() as DatabaseName, SC.name as SchemaName, SY.Name as TableName
FROM sys.sql_expression_dependencies SD
INNER JOIN Sys.objects SY on SD.referenced_id = SY.Object_id
INNER JOIN Sys.schemas SC on SY.schema_id = SC.schema_id
INNER JOIN syscomments CM on CM.id = SD.referencing_id
WHERE is_schema_bound_reference=1 AND CM.text like '%schemabinding%'
ORDER BY SC.Name, SY.Name
Truncating a table is much faster than DELETE FROM when clearing a table, primarily because log transactions are not generated for each row. Truncating a table automatically resets any identity seed field to its original value. If the DELETE FROM is used, the script must explicitly reset the identity seed value to reflect the same behavior. The Identity Seed button generates an alphabetical listing of tables with identity seed values and the T-SQL command needed to reset it, as shown in Figure 5.
The script to determine the identity seed values is:
'[' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']' as SchemaTable,
IDENT_SEED('['+TABLE_SCHEMA + '].[' + TABLE_NAME+']') AS Seed,
IDENT_CURRENT('['+TABLE_SCHEMA + '].[' + TABLE_NAME+']') AS [Current],
'DBCC CHECKIDENT (''[' + TABLE_SCHEMA + '].[' +
TABLE_NAME + ']'',RESEED,' +
CAST(IDENT_SEED('['+TABLE_SCHEMA + '].[' + TABLE_NAME+']') as VarChar(8)) + ')'
WHERE IDENT_SEED('['+TABLE_SCHEMA + '].[' + TABLE_NAME+']') IS NOT NULL
ORDER BY TABLE_SCHEMA,TABLE_NAME
The Show Script button generates the actual T-SQL script to be used in SQL Server Management Studio to clear the database. See Figure 6. This button can be the first one clicked after selecting the database in the drop down. The four buttons to the left are informational and do not need to be clicked in order to generate the final script. Click the "Copy to Clipboard" button and then paste the text into a SQL Server Management Studio query window.
The Application Code
The Visual Basic solution to generate the script in Listings 1 and 2 is shown in Figure 7. The Data Access Layer (DAL) project interacts with the database and contains most of the application logic. The LibADO.vb file provides two general functions to easily return dynamic query results based on just the connection string, the query string, and an empty DataTable or integer. The ClearDatabaseScriptUtility project serves as the graphical user interface and has minimal code.
SQLServer.CreateClearDatabaseScript is the main method in the DAL project. It uses a list of ClearTableAction objects to represent each table and the pre-processing and post-processing script needed to clear the tables. CreateClearDatabaseScript follows the logic:
- Creates a StringBuilder initialized with 10K of string space to hold the final script but can grow larger.
- Gets the table names for the selected database and initializes the List(Of ClearTableAction).
- Sets each ClearTableAction to a TRUNCATE command, but then changes to a DELETE FROM command for any table that is schema bound.
- If the user has ALTER permission, adds script to disable any triggers prior to the table clear action and enables them after it is completed. See Listing 4 for the script to list the triggers on all tables.
- Gets the list of foreign key constraints.
- Multiple field foreign key constraints are combined into a single row.
- Any extended properties such as comments are combined and kept to be created with the constraint.
- Sort them by dependency so that all tables using a particular key are cleared before the key itself.
- If the user has ALTER permission, script to drop the foreign key constraint, truncate the table, and then recreate the foreign key constraint and any foreign key constraint extended properties.
- Loops through the List(Of ClearTableAction) and scripts the pre-processing and clear action for each table.
- Loops through the List(Of ClearTableAction) and scripts the post-processing for each table.
I used several coding techniques in the DAL that I would like to point out.
For an object that was returning the result of a SQL query, if I needed a field that could be derived from the existing query data


Senior Nihal Saxena Garners Presidential Scholars Nomination
Nora Ferro, Staff Writer
Hillsborough High School senior Nihal Saxena was recently nominated for the Presidential Scholars award along with five of his peers. This prestigious award is extremely difficult to obtain and is a display of his hard work and dedication throughout his academic career and in his extracurricular activities.
For being only seventeen years old, Saxena has already accomplished so much in a variety of fields. As Vice President of the school's Robotics team, he is responsible for organizing meetings and leading his peers to reach their common goals. This team has been his favorite part of high school because he has been able to work in a group on mechanical engineering projects and learn more about machinery each year. As one of the team's leaders, Saxena also ran a summer session for incoming freshmen who were interested in joining the team but had trouble determining which technical sub-team they found most appealing.
This past summer, Saxena also participated in an Artificial Intelligence internship with Avira Digital in which over the course of four weeks, he taught a computer how to generate concise and highly accurate representations of lengthy drug summaries for doctors. Starting with a 70-page, technical description of medicine, he had to convert it into a data table of highlights that could be reviewed by a physician during her busy day. Ultimately, medical professionals will be able to rely on Saxena's algorithm to make critical decisions regarding their patients' health. Because of this experience, he later earned the young scientist award of Avira Digital.
Another project Nihal worked on recently was his D3LPHIN iOS application. Since he was unable to continue his volunteer work at a local assisted living during quarantine, Nihal began hosting virtual Zoom Bingo games. This motivated him to apply his computer science skills to develop an iOS app, helping the residents at Brookdale's Memory Care cope with the challenges that Alzheimer's presents. His app, D3LPHIN, was completed during 250+ hours of prolonged coding sessions. It now has various mind-strengthening games and activities for the residents, including a voice-activated, speech-to-text journal. This is one of Nihal's proudest achievements and can be found on the App Store on all Apple devices.
These accomplishments are just some of the reasons why Nihal Saxena deserves this award, and his family, friends, and teachers are excited to see what else he does later in life.


TinyVGA.com: VGA Microcontroller projects
Atmel ATmega Video generator with SDRAM
This projects uses 8MByte SDRAM from a 168 pin DIMM SDRAM and generates videosignal for a VGA monitor with a resolution of 512x480 pixels with 256 colors at 60Hz using mega8515.
The project uses burst mode of SDRAM, which can feed up to 512 bytes without MCU help. This means that MCU can do anything (i.e. generate another graphics) during that time. 8MB SDRAM can be used to store up to 32 frames, so you can display one frames while generating another one.
So far this project works but is not yet complete.
The text demo application shows a text stored in flash memory. Graphics demo receives a BMP image large 512x512 pixels with 256 colors.
The data throughput of SDRAM is as fast as the AVR clock, and the CPU load is much lower than if DRAM or SRAM is used.
Here is a test image in the graphics mode. This picture shows the construction of the circuit: Besides the mega8515, SDRAM, the RAM DAC, a 18432MHz clock and a delay line (or just several gates in series) requires no additional components.
Text mode (rendered in graphics).


text:
Time's Tattarrattat is an voice activated installation, originally presented at Aboagora Festival, Turku, Finland as part of a performance. The work consists of a microphone and a projected image. As participants speak into the microphone, the image disperses and diffuses across the space. The installation is accompanied by an original drawing that forms the basis for the projected image.
Original drawing, pencil and watercolour on paper, 40cm x 40cm.
An artwork exploring the relations between time and language. Time's Tattarrattat is a voice activated moving image artwork, exhibited here as part of a performance. The work uses speech recognition and analyzes each spoken word for how close it is to a palindrome. Depending on the degree of 'palindromicity' of the words, each triangle in the image moves more or less randomly. Because speech is irreversible the pieces never return to their original positions once activated. Like smoke rising from a candle, our aging bodies or fumes from an exhaust, entropy and disorder continually increase.
The word tattarrattat was coined by James Joyce in Ulysses to mean 'knock on the door', here we are knocking on time's door. In collaboration with physicist Dr. John Goold from ICTP, Trieste, Italy, we probed time's arrow through a series of conversations that led to the development of Time's Tattarrattat. The performance where John spoke about time was presented at Aboagora festival in Turku, Finland in August 2015.
The image is from a photo of the clouds over Trieste, which Libby took while visiting John. The photo of clouds was pixelated into triangles using code Libby wrote. Libby copied this digital image using watercolour and pencil,, which was then scanned and digitally cut up into 450 small triangles. This image is then projected onto a ceiling and is altered by each word uttered into a microphone.