Welcome to BMH Machines Co.,Ltd
The difference between manual VMS and automatic VMS
Video measuring systems is a qualitative leap based on the measuring projector. It has upgraded the industrial measurement method from the traditional optical projection alignment to the computer screen measurement based on the era of digital imaging. It is worth mentioning that there is a transitional product on the market that has both a digital display and a computer. Strictly speaking, this kind of equipment that only uses a computer as an aiming tool is not an image measuring instrument, but can only be called an "image measuring projector" or an "image alignment projector". In other words: video measuring systems relies on the computer screen measurement technology and powerful spatial geometry calculation software. Video measuring systems are divided into digital image measuring instruments (also known as CNC vms) and hand-cranked image measuring instruments. The differences between them are mainly manifested in the following aspects:
Digital technology has achieved a little bit:
The operation of the hand-cranked image measuring instrument to measure the distance between points A and B is: first shake the handle in the X and Y directions to align with point A, then lock the platform, change hands to operate the computer and click the mouse to confirm; then open the platform, Crank your hand to point B, repeat the above actions to confirm point B. Each click of the mouse is to read the optical scale displacement value of the point into the computer, and the calculation function can only be operated after all the points have been read in.... This kind of elementary equipment is like a technical "building block platter", all functions and operations are carried out separately; once shake the handle, and then click the mouse...; you need to pay attention to the evenness and lightness and slowness of the hand, without turning; Generally, it takes a few minutes for a skilled operator to perform a simple distance measurement.
The digital image measuring instrument is different. It is based on micron-level numerical control hardware and humanized operating software, and integrates various functions to become a truly modern precision instrument. It has basic abilities such as stepless speed change, soft motion, point walking, electronic lock, synchronized reading; after the mouse moves to find the two points A and B you want to measure, the computer will help you calculate the measurement result and display the graph for Calibration, image and shadow synchronization, even for beginners to measure the distance between two points only a few seconds.
Digital technology realizes the free placement of workpieces:
When the hand-cranked image measuring instrument performs reference measurement, it is necessary to rotate the index plate on the loading platform to adjust the reference edge of the part to a coordinate axis parallel to the platform, because its primary software cannot support extremely complex spaces. Geometric conversion. The digital image measuring instrument can use software technology to complete the complex conversion between spatial coordinate system rotation and multiple coordinate systems. The measured workpiece can be placed at will, the coordinate origin and reference direction can be established at will, and the measured value can be obtained. At the same time, a mark is displayed on the screen., The coordinate direction and measuring point can be seen intuitively, making the common reference distance measurement very simple and intuitive. Since then, the product of the mechanical era of the indexing plate has become history together with the crank.
Digital technology realizes real-time correction of errors:
In the process of finding the target point to complete the measurement displacement of the hand-cranked image measuring instrument, due to the manual operation, a certain offset will occur between the main and auxiliary guide rails of the mobile platform, and the continuous back and forth movement will also produce a return gap. When measuring at the micron level, it will directly affect the measurement accuracy. The digital image measuring instrument has the ability to lock in motion and adopts the technology of no backlash in the design, thereby eliminating these errors and improving the smoothness of motion and measurement accuracy.
The longer the measurement distance, the greater the error, and the measurement accuracy decreases with the length. The hand-cranked image measuring instrument does not have the non-linear real-time correction function, and cannot eliminate the non-linear error caused by environmental factors such as temperature and vibration. The digital image measuring instrument has a very good error correction ability, which is corrected by software calculation and real-time control based on a strict mathematical model, so that the nonlinear error is reduced to a small amount, the measurement accuracy is improved, and the technical bottleneck of speed and accuracy is broken.
Digital technology can carry out CNC rapid measurement:
When the hand-cranked image measuring instrument performs batch measurement of the same workpiece, it needs to be manually moved one by one. Sometimes it has to shake tens of thousands of laps, but it can still only complete limited measurement of dozens of complex workpieces. Work efficiency low.
The digital image measuring instrument can establish CNC coordinate data through sample measurement, drawing calculation, CNC data import, etc., and the instrument will automatically move to the target point one by one to complete various measurement operations, thereby saving manpower and improving efficiency. With dozens of times the working capacity of a hand-cranked image measuring instrument, the operator is relaxed and efficient.
Contact Us
Name: Frank
Tel: +86-_PHONE_
E-mail: _EMAIL_
QQ: 324467243
WeChat: frank20203
QQ: 324467243 _EMAIL_


text:
Dreamz Master Mind Academy provides ESP Brain Training and Mid-Brain Activation skill.
- Two days workshop,Let Kids powerful whole brain ability
- A proven technique of optimizing the function of the middle,Left and Right Brain
Our Training centre is a specialist in mid brain activation programme to help the children of aged 5 to 15 years old to activate the mid brain in two day long training. Once a child mid brain is activated,they were able to do things blindfolded, that mean your child is able to unleash their full potential for a lifetime. If your child is academically inclined you will see your child improve in their studies. If your child is creative, they would be more creative. With the mid brain activated, your child may have outstanding learning condition which genius has. This improves their concentration, memory and creativity.
Benefits of ESP Brain Training and Midbrain Activation skill:
- Memory Enhancement
- Concentration Enhancement
- Confidence Boosting
- Creativity Enhancement
- Emotion Management
- Enter the Genius Mind learning state
In Dreams Master Mind Academy our trainers has completed their Midbrain activation training programme and awarded by Mind Power Training Centre in Malaysia.

source: openbmb/Ultra-FineWeb


text:
For boating and fishing enthusiasts, knowing the depth of the bordering body of water is crucial to understanding the value and capability of the property. While the depth of a body of water is subject to change (sometimes abruptly), the ability of owners to get their crafts in and out of the creeks and rivers that feed the Chesapeake Bay has remained fairly constant over time.
Generally speaking, the creeks and rivers that surround the Bay are classified in the three ways:
- Deep Water (6′ or deeper) that can handle most types of recreational motorized boating as well as most sailboats.
- Shallow Draft (2-6′) that can handle most motorized recreational boats up to roughly 25′ in length
- Kayak/Canoe Depth (2′ or less) that are not safe to expect consistent ingress/egress for any craft other than those that are flat-bottomed and/or self-propelled.


text:
Alpha w - aw (weighted sound absorption coefficient) - A single-number rating for random incidence sound absorption coefficients determined in accordance with EN ISO 11654. With this method measured values obtained in accordance with EN ISO 20354 are converted into octave bands at 250, 500, 1000, 2000 and 4000 Hz and are plotted on a graph. A standard reference curve is then shifted towards the measured values until a "best fit" is obtained. The derived value of alpha w will vary between 0.00 and 1.00 but is only expressed in multiples of 0.05 eg alpha w = 0.65.
Dncw (weighted suspended ceiling normalised level difference (Dncw) - A single-number rating of the laboratory measurement of room-to-room airborne sound insulation of a suspended ceiling with a plenum above it. The rating is determined in accordance with EN ISO 717-1 from measurements made in accordance with EN 20140-9 over the third-octave band frequency range _PHONE_ Hz.
Frequency - The number of times per second in Hertz ( Hz) at which sound pressure waves are generated by a source.
Hertz (Hz) - The unit of frequency measurement. One cycle per second is one Hertz.
NRC (Noise Reduction Coefficient) - A single-number descriptor for random incidence sound absorption coefficients. Defined in ASTM 423 90a, as the arithmetical average, to the nearest multiple of 0.05, of the measured sound absorption coefficients at the four one-third octave band centre frequencies of 250, 500, 1000 and 2000 Hz.
Reverberation - The persistence of sound in an enclosure, due to its continued reflection from the surfaces (walls, ceiling, floor, etc...), after the sound source has ceased. Reverberation is of significance in determining the quality and level of sound in an enclosure.
Reverberation Time - The time, in seconds, required for reverberant sound in an enclosure to decay to one-millionth (60 dB) of its original intensity after the cessation of the sound source. Reverberation time is frequency dependent and is normally measured in one-third octave or octave bands.
Rw (weighted sound reduction index) - A single number rating of laboratory measurement of airborne sound reduction index. The rating is determined in accordance with EN ISO 717-1 from measurements made in accordance with EN 20140-3 over the third-octave band frequency range _PHONE_ Hz.
Sound Absorption - The conversion of sound energy into heat (by friction) when passing through or striking a material or when causing a volume of air to resonate.
Sound Attenuation - A term used in relation to the room-to-room transmission of sound via a common ceiling plenum.
Sound Insulation - A general term describing the reduction of airborne and structure borne sound between separate spaces.

source: HuggingFaceFW/fineweb-edu


text:
ICPSR Geographic Names Thesaurus
Geographic Names is an alphabetical and hierarchical list of geographic location terms used in ICPSR's metadata records. The points below describe the structure and logic of the list:
Non-preferred terms are italicized and indicate (with USE notation) the appropriate term to apply.
USE: United States
USE FOR: USA
The hierarchy, expressed as broader term/narrower term is structured to (potentially) indicate a region-continent-country-state/province-city continuum.
BROADER TERM(S): Europe
NARROWER TERM(S): Amsterdam
While regional, continent, and country names are included in the current list, state/province and city names are included on the basis of their occurrence in ICPSR-archived data sets. These will continue to be added as needed.
Sub-regional geographic designations (such Middle East, Southeast Asia) are also included with their associated country names listed as related terms.
Scope notes are used to delineate the geographic coverage of a region or sub-region. Additionally, they are used to indicate historic context in cases of country name changes. In such cases, relevant dates are given along with instructions/restrictions on the use of particular country name forms. Open dates (e.g. 1991- ) indicate current context.
SCOPE NOTE(S): Formerly member of USSR; independent 1991-.
SCOPE NOTE(S): Use limited to _PHONE_.
Literary and historic warrant for the Geographic Regions and Country Names list is established through the following sources:
Merriam-Webster Geographic Dictionary. 1998. 3rd edition. Springfield, MA: Merriam-Webster, Incorporated.
Random House Webster's College Dictionary. 1999. New York: Random House.


Stay connected with us
around the nation »
Vessel Monitoring System Program
The Vessel Monitoring System (VMS) allows enforcement to use 21st century technologies to monitor compliance, track violators, and provide substantial evidence for prosecution.
How It Works
VMS is a satellite surveillance system primarily used to monitor the location and movement of commercial fishing vessels in the U.S. Exclusive Economic Zone (EEZ) and treaty areas. The system uses satellite-based communications from on-board transceiver units, which certain vessels are required to carry. The transceiver units send position reports that include vessel identification, time, date, and location, and are mapped and displayed on the end user's computer screen.
Each vessel typically sends position reports once an hour, but at increased intervals when the vessel is approaching an environmentally sensitive area. Alerts can be sent to the VMS technicians and other personnel when a particular vessel location might require additional inquiry or contact with the vessel operator.
On December 24, 2014, a final rule was published in the Federal Register that codifies the type-approval standards, specifications, and procedures for vendors to maintain approval for their products and services. Click here to learn more.
How We Use It
VMS is used to support law enforcement initiatives and to prevent violations of laws and regulations. VMS also helps enforcement personnel focus their patrol time on areas with the highest potential for significant violations. It is used as evidence in the prosecution of many environmental laws and regulations including regional fishing quotas, the Endangered Species Act, and the Marine Mammal Protection Act, to name a few.
The VMS program currently monitors more than 4,000 vessels. It is the largest national VMS fleet in the world. The system operates 24 hours a day every day with near-perfect accuracy, which is why the program is of interest to other users, including the U.S. Coast Guard, academia, and the coastal states.
VMS data is subject to strict confidentiality requirements.
Other Uses for VMS


Porpoises Starving in Europe Due to Ocean Warming
January 10, 2007
Porpoises are starving to death in European waters because of fish shortages linked to ocean warming, according to a new study that warns of mounting fatalities if sea temperatures continue to rise.
An investigation of harbor porpoises stranded along the coast of Scotland suggests that the marine mammals are dying because the fish that the porpoises eat, called sand eels, are in short supply.
Dwindling sand eel stocks in the North Sea have already been blamed for poor breeding success among seabirds. This latest research suggests that marine mammals are also affected (see United Kingdom map).
A Scottish team from Aberdeen University and the Scottish Agricultural College found that the number of harbor porpoises dying from starvation rose to 33 percent in 2002 and 2003—up from 5 percent in previous years.
The study, reported in the journal Biology Letters, was based on autopsies of beached harbor porpoises, Europe's smallest whale.
The porpoises rely heavily on sand eels, which make up to 80 percent of the mammals' diet in the spring, said Aberdeen University's Colin MacLeod, who led the study.
"We didn't really find other species of fish in their stomachs," he said. "If the sand eels aren't there, then there isn't any alternative food for them."
Less Blubber
Spring is a vital feeding time for harbor porpoises, MacLeod explained. The animals have just come through the winter, and the waters of the North Sea are at their coldest.
"If they're not feeding, they have to use the energy in their blubber, which means the blubber layer gets much thinner," MacLeod added.
This can lead to hypothermia, which was found to be the actual cause of death in the starved porpoises.
"The reason the porpoises die from hypothermia is because they're so small," the marine zoologist said.
Continued on Next Page >>
Get our news delivered directly to your desktop—free.
How to Use XML or RSS
National Geographic Daily News To-Go


text:
At around 21:30 on 6 May 2019, a single wagon in a freight train derailed on a curve approaching Willesden High Level junction in north-west London. The wagon re-railed as it passed over the junction.
Although no-one was injured, a derailment like this has the potential to foul lines that are open to passenger traffic or strike structures. The Rail Accident Investigation Branch (RAIB) therefore investigated the incident and has now issued its report.
Investigators found that the track was supported by an earth embankment that Network Rail had been monitoring since October 2016 and which was showing signs of progressive seasonal movement. The empty two-axle wagon derailed where the track cross-level had been changing.
Derailment occurred because the wagon encountered a significant track twist and had an uneven wheel load distribution. This combination resulted in there being insufficient load at the leading left-hand wheel to prevent the wheel flange climbing over the railhead. A check rail would have prevented the derailment. Network Rail had completed a risk assessment that had concluded this safeguard was not necessary on the small-radius curve.
The track twist had developed rapidly. This was because of the poor condition of the earth embankment and the loss of ballast support from under the sleepers. The measures that Network Rail had in place for inspection, maintenance and mitigation were not effective in detecting this risk and protecting the safe running of trains.
The wagon had a diagonal wheel load imbalance. This arose because the suspension adjustment arrangement was susceptible to introducing an imbalance of this type and routine maintenance had not detected that it was present.
Within Network Rail, separate teams are responsible for track maintenance and earthwork management. During its inquiry, RAIB identified the lack of sharing of information between these teams as a possible underlying factor.
In its report, RAIB made four recommendations:
Three are directed to Network Rail and concern:
- the use, and limitations, of information from its track geometry measurement trains for understanding the condition of the track and problems with the track bed and/or supporting earthwork structures, and how this may affect the safe running of trains;
- measures to mitigate the risks arising from known defects in supporting earthwork structures.
One recommendation is directed at DB Cargo, the owner and maintainer of the derailed wagon, relating to the maintenance of this and similar two-axle wagons.
RAIB has additionally identified learning points concerned with indications of poor track bed condition, the importance of good liaison between track maintenance and earthwork management teams and the management of wagon diagonal wheel load imbalance.


text:
The PD Simulator is designed to train users in a safe environment how to detect, locate, measure, and interpret partial discharge (PD) activity. The tool works by generating realistic simulations of PD emissions commonly found in MV and HV assets, including five levels of transient earth voltage (TEV) signal and five levels of ultrasonic sound. The ultrasonic mode also generates four types of noise that are characteristic of specific types of PD activity. Battery-powered, the product is fully portable and can transfer simulated PD signals to any type of MV or HV assets via a magnetic contact or clip.
For more information, visit _URL_.


Export (0) Print
Expand All
Expand Minimize
This topic has not yet been rated - Rate this topic
sp_publication_validation (Transact-SQL)
Initiates an article validation request for each article in the specified publication. This stored procedure is executed at the Publisher on the publication database.
Topic link icon Transact-SQL Syntax Conventions
sp_publication_validation [ _USER_ = ] 'publication'
 [, [ _USER_ = ] type_of_check_requested ]
 [, [ _USER_ = ] full_or_fast ]
 [, [ _USER_ = ] shutdown_agent ]
 [, [ _USER_ = ] 'publisher' ]
[_USER_ =] 'publication'
[_USER_ =] rowcount_only
Is whether to return only the rowcount for the table. rowcount_only is smallint and can be one of the following values.
Value Description
Perform a SQL Server 7.0 compatible checksum.
When an article is horizontally filtered, a rowcount operation is performed instead of a checksum operation.
1 (default)
Perform a rowcount check only.
Perform a rowcount and binary checksum.
For SQL Server version 7.0 Subscribers, only a rowcount validation is performed.
[_USER_ =] full_or_fast
Is the method used to calculate the rowcount. full_or_fast is tinyint and can be one of the following values.
Value Description
Does full count using COUNT(*).
Does fast count from sysindexes.rows. Counting rows in sys.sysindexes is much faster than counting rows in the actual table. However, because sys.sysindexes is lazily updated, the rowcount may not be accurate.
2 (default)
[ _USER_=] shutdown_agent
Is whether the Distribution Agent should shut down immediately upon completion of the validation. shutdown_agent is bit, with a default of 0. If 0, the replication agent does not shut down. If 1, the replication agent shuts down after the last article is validated.
[ _USER_ = ] 'publisher'
Specifies a non-SQL Server Publisher. publisher is sysname, with a default of NULL.
0 (success) or 1 (failure)
sp_publication_validation is used in transactional replication.
sp_publication_validation can be called at any time after the articles associated with the publication have been activated. The procedure can be run manually (one time) or as part of a regularly scheduled job that validates the data.
If your application has immediate-updating Subscribers, sp_publication_validation may detect spurious errors. sp_publication_validation first calculates the rowcount or checksum at the Publisher and then at the Subscriber. Because the immediate-updating trigger could propagate an update from the Subscriber to the Publisher after the rowcount or checksum is completed at the Publisher, but before the rowcount or checksum is completed at the Subscriber, the values could change. To ensure that the values at the Subscriber and Publisher do not change while validating a publication, stop the Microsoft Distributed Transaction Coordinator (MS DTC) service at the Publisher during validation.
Only members of the sysadmin fixed server role or the db_owner fixed database role can execute sp_publication_validation.
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Community Additions
© 2014 Microsoft. All rights reserved.


text:
This technique can be used to calculate the difference between any two dates. The worked example shows calculating age and showing this in days and in whole years. It involves using the TODAY and TRUNCATE functions and nesting several functions together.
- Create a table for showing date of birth for required people – start this in row 3
- In cell A1, input the Today function (the today function is always =TODAY(), but can also be inserted using the Formulas tab and is in the Date & Time group)
- To calculate age in days, subtract the date of birth from todays date. To enable you to copy the formula to all rows you should use an absolute cell reference to cell A1. Your formula will read =$A$1-A4
- To convert this into years, you need to divide the age in days by 365.25, so your formula will read =C4/365.25 Were you to use formatting to turn this into whole year (i.e. format the cell to a number showing 0 decimal places, anyone over 6 months towards their next birthday would become a year older! So we need to truncate the number, removing everything after the decimal point and only using the whole years.
- The Truncate function is =TRUNC(Number to truncate, no of decimal places to keep). In the example we want to truncate C4/365.25, but haven't yet put the formula into a cell, as I want just the one formula, so my formula in D4 will be =TRUNC(C4/365.25,0)
- If I wanted to only display age in full years, I could not hide column C or I could have put the whole calculation in one cell, giving a formula of =TRUNC(($A$1-A4)/365.25,0)
- Example 1 below shows the two column solution and Example 2 the one column solution


text:
The surviving remains of Buckland Abbey which are situated between the village of Buckland Monachorum and the hamlet of Milton Combe. The monument includes the upstanding and buried remains of an abbey of the Cistercian Order. The abbey was founded in 1278 by Amicia, Countess of Devon and was colonised by monks from Quarr Abbey in the Isle of Wight, and dedicated to St Benedict. Following its dissolution in 1539 the abbey and home farm were sold in 1541 to the Grenville family. By 1576 Sir Richard Grenville had completed the conversion of the church into an Elizabethan mansion. In 1581 the property was sold to Sir Francis Drake and remained with that family until 1946. In 1949 the house was given to the National Trust and is now principally in use as a museum.
The abbey conforms to the traditional monastic plan in which a church and three ranges of buildings are grouped around the cloister, with ancillary buildings further from the nucleus. The visible remains exist as a number of adapted structures, consisting of substantial parts of the abbey church incorporated into a later mansion, part of the cloister, a barn, a farm building (guesthouse), part of the abbot's lodgings incorporated into a later structure, part of the precinct wall, and two main areas of earthworks. The buried remains are extensive and include the claustral ranges, graveyard, a gatehouse, buildings forming the home farm, and the water management system. For the details of the separate components of the abbey site please see the individual records.


StudentShare solutions
Essay example - Death by Heidegger
Death by Heidegger Essay example
Pages 6 (1506 words)
Download 0
Death by Heidegger Name: Institution: Introduction Death is concept that presents a number of challenge most of which make its explanations unclear. Every living organism eventually dies a fact that increases the human curiosity on the concept. Among the most conspicuous philosophers who tried to understand the concept of death is Martin Heidegger…
Extract of sample
However, death is more complex since it allows no chance for experience. Every other explanation about death to him is therefore mere speculation. Additionally, he observes that everyone is conscious of their inevitable death and always portray fear of the concept but people live their days fully without any psychological disturbance implying that people accommodate the sense of death. Every living organism eventually dies, this is a knowledge that man have but the fact that man cannot always explain the concept of death, people cannot always prepare for it. Scientists in their explanation of death allege death is a state of lifelessness that every organism acquire because of exhaustion of the body tissues. This is a general and a more realistic explanation but its application is relative as different interests groups offer more explanations to the human life well past their deaths. People believe in the existence of God and the life after death, this increases man's curiosity on the topic of death. However, unlike every other human concept, it is impossible to have a practical study of death. The only people with adequate experience of death are the dead themselves who unfortunately do not ever come back to share their experience with the living....
Download paper
Not exactly what you need?
Related papers
Heidegger's Being and Time
7 pages (1757 words)
5 pages (1255 words)
Heidegger and das Gestell.
In his writing, he states that the world which is dominated by technology will also result in the forgetfulness and unawareness and he also asks the participants to contemplate and think deeply about the question of technology, its importance and also the possible effects on the human life. The technological change was certainly very significant and transformational shift in a short period of time…
9 pages (2259 words)
Socrates' Death
3 pages (753 words)
Heidegger's distinction between the "ready-to-hand" and the "present-to-hand"
Heidegger has approved the explanation with regard to philosophy as 'its own time comprehended in thought'; the same thought has been delivered by the historians. According to Heidegger, the history of philosophy was to be considered as Western civilization's ever-deepening forgetfulness or oblivion of being, and he disapproved the belief that supported progressive self-realization of spirit…
6 pages (1506 words)
Martin Heidegger Being
The relationship that is between human existence and technology.…
12 pages (3012 words)
Martin Heidegger
He practiced phenomenological analysis of human existence in an attempt to access being, with reference to the temporal and historical character. He also discussed the nihilism of modern technology, and its generated society and tried to correlate the thoughts and perspectives of the western philosophical tradition with the question of being. He employed methods of phenomenology to pursue…
6 pages (1506 words)


text:
Waterlogger Poems | Examples of Waterlogger Poetry
Waterlogger Poems. Below are examples of poems about waterlogger. This list of poetry about waterlogger is made of PoetrySoup member poems. Read short, long, best, famous, and modern examples of waterlogger poetry. This list of works about waterlogger is a great resource for examples of waterlogger poems and show how to write poems about waterlogger. Definitions may be included where appropriate.
List of New Waterlogger Poems
Note: The forms for these poems were selected by the poet. Often poems are assigned the wrong form. Please confirm the accuracy of the poetic form before referencing the poem.


text:
As mentioned previously (here and here), I have been doing some experiments on standing still in silence. One thing is to do it, another is to talk (or write) about it. Then I need to have words describing what I have been doing.
To start with the simple; the word silence seems to be quite clearly defined as the "lack of sound", and is similar to the Norwegian word stillhet. There is also the broader concept of stille, which, in addition to quiet, also covers metaphorical uses of the term, e.g. calm, but I do not want to get into more trouble by using that word.
Things do not seem to be as simple when talking about the act of standing still. In Norwegian the word stillstand quite literally means "standing still", and is clearly (and only?) describing the act of not moving. But what is the best English word to describe this? I don't think the words inactive or immobile cover what I want to describe. So I have for the last few months used the word stillness to describe the act of standing still. However I have recently learned that this would be more of a metaphorical use of the word. For example, Wiktionary defines stillness as
- The quality or state of being still; quietness; silence; calmness; inactivity.
- Habitual silence or quiet; taciturnity.
and The Free Dictionary has an even broader definition:
- stillness – (poetic) tranquil silence; "the still of the night"
silence, quiet – the absence of sound; "he needed silence in order to sleep"; "the street was quiet"
poesy, poetry, verse – literature in metrical form
- stillness – calmness without winds
calmness – an absence of strong winds or rain
- stillness – a state of no motion or movement; "the utter motionlessness of a marble statue"
state – the way something is with respect to its main attributes; "the current state of knowledge"; "his state of health"; "in a weak financial state"
fixedness, immobility, stationariness – remaining in place
This is also supported by the Oxford dictionary, which suggests that the adjective still means "not moving or making a sound". Thus, stillness seems to be too broad for my needs.
On my search in the different dictionaries I have come to realise that the word standstill might be the obvious solution to my problem. I am mainly used to this word in the context of e.g. cars standing still, but it might work also for describing human standstill. A quick search on Google Scholar mainly reveals medical or engineering papers using the word standstill, but that does not mean that it cannot be used to describe lack of human motion. In fact, searching for "standstill biomechanics" gives more than 1000 hits.
So I think my best solution is to use the words silence and standstill to describe the lack of sound and motion, respectively, and to use stillness when referring to both.
Please let me know if you have other interpretations of these words.


High Medical Expenses for Cancer Survivors
Cancer survivors had higher annual medical expenses and greater productivity issues
(RxWiki News) Surviving cancer involves more than just physical health. A new study explored the financial burden often experienced by these survivors.
A new study from researchers at the Centers for Disease Control and Prevention (CDC) looked at the financial experiences of cancer survivors in the US from 2008 to 2011.
The study found that cancer survivors spent several thousand dollars more a year on medical expenses than those without a cancer history.
"Seek assistance if you have questions about your medical expenses or insurance options."
According to the authors of this study, led by Donatus U. Ekwueme, PhD, of CDC's Division of Cancer Prevention and Control, the number of cancer survivors in the US has grown, creating a large population with unique concerns, including the long-term monitoring of their health.
"These survivors also face economic challenges, including limitations in work and daily activities, obtaining health insurance coverage and accessing health care, and increasing medical care costs," explained Dr. Ekwueme and team.
To estimate the medical costs and costs from lost work time that these cancer survivors face each year, the researchers used data from the 2008–2011 Medical Expenditure Panel Survey (MEPS). This data came from over 86,000 participants without a history of cancer and over 6,700 cancer survivors. More specific data was provided by another 1,202 cancer survivors.
Dr. Ekwueme and team found that during the period studied, male cancer survivors spent an average of $8,091 a year on medical expenses, compared with the $3,904 spent by men without a history of cancer. For female cancer survivors, average annual medical expenses were $8,412, versus the $5,119 spent by women who had never had cancer.
The researchers also examined costs associated with productivity loss, or money lost due to time spent away from work for health issues. For male cancer survivors, these costs amounted to an average of $3,719 a year, compared with $2,260 for men who had never had cancer. For women, the average productivity loss a year was $4,033 for cancer survivors, compared with $2,703 in women without a cancer history.
Additionally, 31.6 percent of all cancer survivors reported that they experienced issues performing daily activities beyond work, and 11.6 percent reported that they had trouble with mental tasks tied to daily activities.
"Among cancer survivors who were employed at any time since diagnosis, cancer and its treatment interfered with physical tasks (25 percent) and mental tasks (14 percent) required by the job, with nearly 25 percent of cancer survivors feeling less productive at work," reported Dr. Ekwueme and team.
It is important to note that the sample size of cancer survivors in this study was relatively small, and that the data were self-reported. Further research is needed to confirm these findings and explore the financial differences between different forms of cancer.
"The economic data presented in this report investigating the economic consequences of surviving cancer highlight the need to develop comprehensive intervention programs to improve the quality of the cancer survivorship experience and decrease the economic burden of cancer survivorship in the United States," Dr. Ekwueme and team concluded.
This study was published June 12 in CDC's Morbidity and Mortality Weekly Report. No conflicts of interest were reported.
Review Date:
June 12, 2014


text:
Create a basic link
A basic link links existing text on the current page to another page.
1. In the page area, select the text or picture that you want to use as a link (that is, the text or picture a visitor will click to go to another page).
You can select text or pictures in any section of the page area.
2. In the map, right-click the page to link to, then choose Link to this page.
If you are displaying the outline, you can also right-click the page title in the outline area to create a link to the page.
You can also create a basic link by selecting the text and choosing Link > Create Link Using > Selection, or right-clicking and choosing Link to a Page Using > Selection. Then, in the map or the outline, click the page to link to.
To test the link, click the link.
You cannot create a basic link to the current page; clicking on such a link would have no effect. If you attempt to do this, the selection remains unchanged.


text:
According to a survey conducted by the Canadian Payroll Association, Canadians have poor saving practices and are prepared to work longer to make ends meet. This mirrors the common belief that the children of baby boomers will have a poorer standard of living than their parents, which is a reversal of past generational norms. Some interesting facts from the survey:
- 51% of employees are living paycheque to paycheque and would have difficulty meeting their financial obligations if their pay was delayed a single week.
- 50% of employees are saving less than 5% of their pay. 10% is the recommended amount to save.
- 79% of employees are expecting to work to at least 60 years of age.
- 39% of employees feel overwhelmed by their level of debt.
I find these numbers alarming, in particular as it relates to debt, as there is good debt and there is bad debt. Good debt should be embraced. An example of good debt is a mortgage: money borrowed to obtain an asset that increases in value. Most consumer debt is bad debt, such as a car loan. In this case you are purchasing an asset that depreciates in value. Canadians need to stop living beyond their means if accumulating consumer debt is the result. Live responsibly and worry less about your finances.
We welcome your comments.


_USER_{Lundberg2010Personality, abstract = {This paper uses data from the German Socio-economic Panel Study to examine the relationship between psychological traits, in particular personality, and the formation and dissolution of marital and cohabiting partnerships. Changing patterns of selection into and out of relationships indicate that the determinants of marital surplus have altered between older cohorts who were born in the years after World War II and younger cohorts born in the 1960s. For younger cohorts, relationships between personality traits and the probability of marriage are identical for men and women, which is consistent with returns to marriage that are based on joint consumption. Tastes for marital public goods are negatively related to openness to experience (a desire for change and variety) and positively related to conscientiousness for both men and women. Selection into marriage is associated with distinctly different personality profiles for older men and older women, suggesting that gender-specialized contributions to household public goods were an important source of marital surplus for these cohorts.}, address = {Bonn}, author = {Shelly Lundberg}, copyright = {_URL_ keywords = {J12; 330; Personality; marriage; divorce; Ehe; Haushaltsproduktion; Pers\"{o}nlichkeitspsychologie; Geschlecht; Scheidung; Lebensgemeinschaft; Sch\"{a}tzung; Deutschland}, language = {eng}, number = {4945}, publisher = {IZA}, title = {Personality and marital surplus}, type = {Discussion paper series // Forschungsinstitut zur Zukunft der Arbeit}, url = {_URL_ year = {2010} }


text:
Quantum communication theory sets the maximum rates at which information can be encoded and decoded reliably given the physical properties of the information carriers. Here we consider the problem of readout of a digital optical memory, where information is stored by means of the optical properties of the memory cells that are in turn probed by shining a laser beam on them. Interesting features arise in the regime in which the probing light has to be treated quantum mechanically. The maximum rate of reliable readout defines the quantum reading capacity, which is proven to overcome the classical reading capacity-obtained by probing with classical light-in several relevant settings. We consider a model of optical memory in which information is encoded in the (complex-valued) attenuation factor and study the effects on the reading rates of thermal and correlated noise. The latter type of noise arises when the effects of wave diffraction on the probing light beam are taken into account. We discuss the advantages of quantum reading over the classical one and show that the former is substantially more robust than the latter under thermal noise in the regime of low power per pulse.
|Titolo:||Quantum reading capacity under thermal and correlated noise|
|Data di pubblicazione:||2013|
|Digital Object Identifier (DOI):||_URL_
|Appare nelle tipologie:||1.1 Articolo in rivista|


A NativeScript Font Icon Converter
Getting set up to use Icon Fonts in a NativeScript app is fairly straight-forward. NativeScript documentation covers it, and Nathanael Anderson has a tutorial covering things in more depth. However, there's one annoyance I have with using them in NativeScript and this post will cover that and one way to resolve it.
The Annoyance
Once you're set up to use icon fonts, you'll typically have a CSS rule defined to set the font-family when a certain class is used:
.fa {
 font-family: FontAwesome;
But, as you can see in the above referenced getting started docs/tutorial, CSS is not what sets the content as it would be if we were using HTML and Icon Fonts. We have to find the unicode and set the text property of our element to use that:
So you must either memorize the unicode for your font icons or be resigned to looking them up every time.
One solution
NativeScript has a feature baked into it called Converters - essentially functions you can pipe an input to and have it converted to a different output without changing the source (i.e. a property on a model). You can also have application-wide converters by adding them to your application's resources, which is what we'll be using to make it easier to use our icon fonts!.
Create our Converter Function
The first thing we'll want to do is to create the function that will be our converter. Let's create a new directory: app/utils/ and create a new TypeScript file within named fontIconConverter.ts. This converter is actually really simple - it just has a hash map of all the icons we want to use and their unicode value, then provides a function for converting strings, or parts of strings, to the appropriate unicode value. Notice below that we're also handling cases where an icon may be passed in within a string of text.
// app/utils/fontIconConverter.ts
const fontToUnicode = {
 //I recommend using the full css class name of the icon (i.e. 'fa-bluetooth')
 // instead of shortening (i.e. just 'bluetooth') in case you need to use the
 // text along side an icon
 'fa-bluetooth': '\uf293',
 'fa-hashtag': '\uf292',
 'fa-usb': '\uf287'
function valueToFontUnicode(value: string): string {
 //if the value isn't a key in our hash map, just return the value as it is
 return fontToUnicode[value] || value;
export default function fontIconConverter(value: string): string {
 //check for spaces so we can handle things like "fa-bluetooth some text here"
 if (/\s/.test(value)) {
 return value.split(/\s/).map(t => valueToFontUnicode(t)).join(' ');
 } else {
 return valueToFontUnicode(value);
Make the converter accessible application-wide
Now that we've defined a converter function, we just need to add it to our application resources to make it available application-wide. Simply navigate to your app/app.ts file, and make the following additions:
import fontIconConverter from './utils/fontIconConverter';
application.resources['fontIconConverter'] = fontIconConverter;
Use the converter in your view
Now that we've added the converter to our application resources, we can use it in any view like this:
Is it still clunky/ugly? Yep. But, I find it easier to remember the actual names of the icons over their unicode values. So, in an app where a lot of different icons are being used, this may just be helpful. If you're only using one or two icons then maybe it wouldn't be worth it - you'd have to decide :)
Quick Caveat
Any time that you are using the binding syntax {{... }} your view must have a binding context or it won't interpolate. Even if all you're doing is taking a static string, such as is the case with the font icon converter, and running it through a converter. If needed, you can just set the binding context to an empty object and that works, but kinda feels hacky to me.
It's certainly not a perfect/elegant solution, but as far as I can find it's either typing in the unicode directly to the label or some converter like this when it comes to using font icons. If you know of a better approach, feel free to share in the comments!
Loading Google+ Comments...


Herb Gardening
Herbs Spices and Seasonings
What herb can you substitute for chives?
Top Answer
User Avatar
Wiki User
Answered 2011-06-13 16:53:10
Depending on their use, green onion or also known as scallion will be your most ideal trade out. It is a bit bigger, but still conical shaped and slices into rings nicely, and although it has a stronger onion taste and scent, it is still less than actually using an onion.
User Avatar
Your Answer
Still have questions?
Related Questions
What food group is chives in?
Chives are generally considered to be an herb.
Is a chive a herb?
yes, chives are indeed a herb
What spice can you to substitute chives?
I can't think of a spice to substitute chives, but you should be able to substitute chives with spring onions or small and very finely diced shallots.
What is an alternative spice for chives?
You can substitute green onion for chives.
What is the Latin name for the herb known as 'chives'?
the latin name for chives is Allium Schoenoprasum. There are 5 typeschives, fine-leaved, white chives, pink chives and garlic chives(chinese chives)
Which herb enhances the fragrance of roses?
What is the Tamil name for chives herb?
Type your answer here...
What sort of plants do chives come from?
the chive herb plant...
Chives fruit or vegetable?
chives is fruit or vegetable? Chives (Allium Schoenoprasum) is a member of the onion family, so is therefore a vegetable. It is sometimes listed in cookbooks as a herb.
What can be used in place of chives?
Parsley is a great substitute.
Can green onions be substituted for chives in recipes?
Chives ARE the top of green onions. Chives are an herb, yes they are botanically related to onions and have a simliar flavor profile but they are NOT green onions. Green onions/Scallions are a immature regular onion. Sometimes also called spring onions. Depending on the recipe yes, you can substitute green onions for chives, but please make sure to taste, taste, taste as you go. Green onions have a much stronger flavor than chives and you will probably not need the entire amount asked of for chives.
What country did chives originally come from?
Chives can be used for many different applications in cooking. The herb originally comes from Europe, Asia, and parts of North America.
Substitute for dill?
Well dill is a strong herb, and a substitution could really be any other herb such as chives- a milder onion flavour, or parsley- a fresher more citrus flavour or even the greens on top of the fennel plant which has a mild licorice flavour. It really depends on the food you are pairing with.
Is there a herb that start with a c?
There are many herbs that start with a letter C. Chives, coriander, celery, are just three examples of many.
What spice can you subsitute for marjoram?
Marjoram is a herb, you can substitute another herb called Oregano. Thyme is another good substitute, not as strong as oregano.
How can you substitute herb and lemon soup mix?
I have used McCormick lemon and herb seasoning.
What is the Scientific name of kutchay?
Kutchay is an Ilocano term used to refer to garlic chives - an herb. The scientific name or botanical name for this herb is Allium tuberosum.
What herb can you substitute for savory?
For Savory substitute thyme (stroner flavor) or thyme with a little sage or mint
Which herbs is said to enhance the fragrance of the rose?
It is said that chives are an herb that will enhance the fragrance of a rose flower. A rose is a woody perennial.
What are some herbs and spices?
Here a short list of my most popular used herbs in my home: sage, majoram (oregano substitute), rosemary, parsley, and chamomille. Now is a list of spices: anise, basil, ginger root, cloves, chives, tarragon, and cinnamon. Now the way I can tell the difference between the herb and the spice is the aroma in the air; herb is nice sometimes, however the spice has an UMPH!
How much dried thyme do you substitute for fresh chopped thyme?
The rule of thumb is: 1 teaspoon dried herb = 1 tablespoon fresh herb
What herb can be substituted for thyme in navy bean soup?
I substitute Basil if I don't have thyme.
What herb can you use to substitute mint?
There isn't really one but theres many types of mint.
How do you grow chives?
Chives grow everywhere!!
How do you kill chives?
To kill chives, you will have to dig them out of the soil. Be sure that you get the entire bulb or the chives will grow back.


text:
for preschool children
See your children the way Jesus sees them, love them the way Jesus loves them, treat them the way Jesus treats them
Little Blessings Bible Lessons are a series of printable preschool Bible lessons in English and in Spanish. They begin with creation and end with Jesus coming back for us.
What the Lessons teach
The lessons teach young children the same Bible truths we adults hold dear, just in smaller pieces. They will learn about the character of God. Once they understand His character, children will want to respond to Him with all their hearts. Little Blessings Bible Lessons are full of truths about the goodness and love of God.
Why the Lessons are effective
These Bible lessons for preschoolers are designed for young children to learn by seeing, hearing and doing. Your children will see and hear each story using a wide variety of bright and colorful visual aids and demonstrations. They will do many activities that reinforce the stories. There are Bible verses for children to learn during the exciting, "My Bible Verse" time. Each lesson focuses on one truth in the Bible text. All stories, crafts and activities reinforce the lesson focus.
Who uses the Lessons
Parents, teachers, and missionaries have used Little Blessings Bible Lessons to reach the hearts of young children with God's Word all over the world. The lessons are used in homes, nursery and toddler classes, Sunday School classes, children's church, preschools, day-cares, special needs classes, missionary schools, and orphanages. These children's Bible lessons are fun for toddlers to young grade school kids!
Lessons that are affordable
These printable Bible lessons for children can be purchased on a CD and are affordable for everyone. The CD contains a curriculum of 52 lessons in English and the same 52 lessons translated into Spanish. If you want to try using Little Blessings Bible Lessons in your home or classroom, there are always free lessons on the Free Lessons page. These are complete Bible lessons for preschool children which may be printed and taught.
Preschool Bible Lessons with Stories, Crafts, and Bible Verses
May we help you find something on this site?


- Entry
 - Reader's guide
 - Entries A-Z
 - Subject index
Son preference refers to a general preference by an individual or a group for male offspring over female offspring. Son preference may be evidenced by female infanticide, sperm sorting, or female fetus abortion, or it may simply exist as a psychological preference. Even a psychological preference may have an impact on the lives of offspring: preferred male offspring may be given more and better food, greater access to health care services, or greater access to education, for example.
Son preference is both a historical and a contemporary phenomenon. Historically, evidence of son preference exists for many civilizations, including ancient Greece, Rome, India, China, Japan, Korea, and Europe. The same is true for Arab and Native American civilizations, Australian aboriginal society, and historical Polynesia. In the twenty-first...
 - Loading...
 locked icon
 Sign in to access this content
 Get a 30 day FREE TRIAL
 - Read modern, diverse business cases
 - Explore hundreds of books and reference titles


GantryRotationDirection = DIRECTION
 _TAG_ taken, t, for this mlc speed
 t = DISTANCE_LEAF_TRAVEL / speed
 _TAG_ angle change in this time, ga_delta
 ga_delta = t * GR
 _TAG_ sign of ga_delta dependant on gantry rotation
 if DIRECTION == 'CC':
 ga_delta = ga_delta * -1
 _TAG_ 178 cps as per above
 no_of_cp = 178
 leaf_beam.NumberOfControlPoints = str(no_of_cp)
 _TAG_ create the leaf speed field:
 _TAG_ create a control point sequence to append to
 cp_sequence = Sequence()
 leaf_beam.ControlPointSequence = cp_sequence
 _TAG_ first CP (index 0)is the same for all leaf speeds
 cp0 = Dataset()
 cp0.ControlPointIndex = "0"
 cp0.NominalBeamEnergy = "6"
 _TAG_ the DR for differnt cals
 cp0.DoseRateSet = str(int(DR))
 # make Beam Limiting Device Position Sequence
 beam_limiting_device_position_sequence = Sequence()
 cp0.BeamLimitingDevicePositionSequence = beam_limiting_device_position_sequence
 # Beam Limiting Device Position Sequence: Beam Limiting Device Position 1
 beam_limiting_device_position1 = Dataset()
 beam_limiting_device_position1.RTBeamLimitingDeviceType = 'X'
 beam_limiting_device_position1.LeafJawPositions = ['-140', '140']
 # Beam Limiting Device Position Sequence: Beam Limiting Device Position 2
 beam_limiting_device_position2 = Dataset()
 beam_limiting_device_position2.RTBeamLimitingDeviceType = 'Y'
 beam_limiting_device_position2.LeafJawPositions = ['-140', '140']
 # distal bank
 beam_limiting_device_position3 = Dataset()
 beam_limiting_device_position3.RTBeamLimitingDeviceType = 'MLCX1'
 _TAG_ MLCs to starting position
 beam_limiting_device_position3.LeafJawPositions = writeMLC(True,START_MLC_POSITION,START_MLC_POSITION)
 # proximal bank
 beam_limiting_device_position4 = Dataset()
 beam_limiting_device_position4.RTBeamLimitingDeviceType = 'MLCX2'
 _TAG_ MLCs to starting position
 beam_limiting_device_position4.LeafJawPositions = writeMLC(False,START_MLC_POSITION,START_MLC_POSITION)
 _TAG_ gantry angle and direction plus various other parameters
 cp0.GantryAngle = str(START_GA)
 cp0.GantryRotationDirection = DIRECTION
 cp0.BeamLimitingDeviceAngle = "0"
 cp0.BeamLimitingDeviceRotationDirection = 'NONE'
 cp0.PatientSupportAngle = "0"
 cp0.PatientSupportRotationDirection = 'NONE'
 cp0.TableTopEccentricAngle = "0"
 cp0.TableTopEccentricRotationDirection = 'NONE'
 cp0.TableTopVerticalPosition = ''
 cp0.TableTopLongitudinalPosition = ''
 cp0.TableTopLateralPosition = ''
 cp0.IsocenterPosition = ['-5.3710938e-1', '-5.3710938e-1', '0']
 cp0.CumulativeMetersetWeight = "0"
 cp0.TableTopPitchAngle = 0.0
 cp0.TableTopPitchRotationDirection = 'NONE'
 cp0.TableTopRollAngle = 0.0
 cp0.TableTopRollRotationDirection = 'NONE'
 _TAG_ of the above may be superflous but will help ensure loads ok
 # Referenced Dose Reference Sequence
 refd_dose_ref_sequence = Sequence()
 cp0.ReferencedDoseReferenceSequence = refd_dose_ref_sequence
 # Referenced Dose Reference Sequence: Referenced Dose Reference 1
 refd_dose_ref1 = Dataset()
 refd_dose_ref1.CumulativeDoseReferenceCoefficient = "0"
 refd_dose_ref1.ReferencedDoseReferenceNumber = "1"
 _TAG_ cp0 to sequence
 _TAG_ lists of gantry angles and cumulative meterset required per CP
 g_angle = [START_GA]
 req_meterset = [0.0]
 _TAG_ lists will be added to below
 _TAG_ are no_of_cp - 1 moving cps
 moving_cp = no_of_cp - 1
 _TAG_ how much the gantry & meterset needs to increment per control point for the
 _TAG_ gantry rotation
 g_inc = ga_delta / float(moving_cp)
 meterset_inc = float(1) / float(moving_cp)
 _TAG_ total distance moved by mlcs from cm to mm (DICOM files in mm)
 mlc_travel_mm = DISTANCE_LEAF_TRAVEL * 10
 _TAG_ bank has half the cps moving
 moving_cps_per_bank = (moving_cp) / 2
 _TAG_ how much the mlcs need to increment per control point rounded to 0.01mm (displayed accuracy in Eclipse)
 mlc_inc = round((mlc_travel_mm / moving_cps_per_bank)/2,2)
 _TAG_ lists of MLC bank A and B positions per cp
 _TAG_ through moving cps and increment gantry,meterset and MLC position
 for i in range(1,no_of_cp):
 _TAG_ first
 new_ga = g_angle[i-1] + g_inc
 _TAG_ angle must be in range 0 <= ga < 360 deg
 if new_ga >= 360.0:
 new_ga += -360
 if new_ga < 0.0:
 new_ga += 360
 _TAG_ set the cumulative meterset
 req_meterset.append(round(req_meterset[i-1] + meterset_inc,4))
 _TAG_ mlc position
 _TAG_ increment MLC position positively so MLCs will move left to right as BEV
 _TAG_ Bank B moves first quarted of cps
 _TAG_ A moves left to right second quarter
 _TAG_ A move right to left third quarter
 _TAG_ Bank B moves right to left last quarter
 if i <= (moving_cp)/4:
 mlc_B.append(round(mlc_B[i-1] + mlc_inc,4))
 elif i <= (moving_cp)/2:
 mlc_A.append(round(mlc_A[i-1] + mlc_inc,4))
 elif i <= (moving_cp) * 3/4:
 mlc_A.append(round(mlc_A[i-1] - mlc_inc,4))
 mlc_B.append(round(mlc_B[i-1]- mlc_inc,4))
 _TAG_ have lists of gantry, metersets and mlc positions for all cps
 _TAG_ to ensure final cumulative meterset is unity - DICOM requirement
 req_meterset[-1] = '1.0000'
 _TAG_ through all CPs (except 0 and set parameters)
 for i in range(1,len(mlc_A)):
 # Control Point Sequence: Control Point i
 cp = Dataset()
 cp.ControlPointIndex = str(i)
 # Beam Limiting Device Position Sequence
 beam_limiting_device_position_sequence = Sequence()
 cp.BeamLimitingDevicePositionSequence = beam_limiting_device_position_sequence
 # distal bank
 beam_limiting_device_position1 = Dataset()
 beam_limiting_device_position1.RTBeamLimitingDeviceType = 'MLCX1'
 beam_limiting_device_position1.LeafJawPositions = writeMLC(True,mlc_A[i],mlc_B[i])
 # proximal bank
 beam_limiting_device_position2 = Dataset()
 beam_limiting_device_position2.RTBeamLimitingDeviceType = 'MLCX2'
 beam_limiting_device_position2.LeafJawPositions = writeMLC(False,mlc_A[i],mlc_B[i])
 _TAG_ gantry angle
 cp.GantryAngle = str(round(g_angle[i],4))
 _TAG_ meterset
 cp.CumulativeMetersetWeight = str(req_meterset[i])
 _TAG_ DICOM files for each leaf speed. Then loop starts over agin with next leaf speed
 save_name = f"ls_{int(speed)}"
 output_name = f"{output_dir}/{save_name}.dcm"
 print (f"File saved as {output_name}")
File saved as H:/Python/LS_Final/ls_1.dcm
File saved as H:/Python/LS_Final/ls_2.dcm
File saved as H:/Python/LS_Final/ls_3.dcm
File saved as H:/Python/LS_Final/ls_4.dcm
File saved as H:/Python/LS_Final/ls_5.dcm
These plans can then be imported into Eclipse following changing of the plan UIDs. If preferred the plans can all be combined into one plan for easier delivery.
NB in our plans the final control point MLCs violate some motions. This can easily be fixed in Eclipse by going to PLanning>Verify MLC Positions and accepting changes.
An example screenshot of


text:
Siu Nim Tao
is the first open-hand form, or taolu
, of Wing Chun kung fu
. The form may also be called Sil Lim Tao or Sil Lum Tao.
Siu Nim Tao is a traditional form from Wing Chun Kung Fu and its history is similar to that of Wing Chun. The form originated in the Shaolin temple approximately 250 years ago. Little is known prior to this, however, many martial arts employ a neutral position when first teaching students the basic elements of a particular style.
All the basic hand movements used in Wing Chun are contained in Siu Nim Tao. There is minimal leg movement in the form; the feet only move to set up the stance in the initial movements.
Siu Nim Tao practice:
- defines the centreline and teaches students where their hands should be relative to it
- teaches students how to execute Wing Chun strikes correctly
- reinforces the correct elbow position
- instills correct breathing patterns
- facilitates force generation in short range Wing Chun strikes
Great emphasis is put on relaxation while performing Siu Nim Tao. This facilitates efficiency of movement and hand speed. Some teachers, notably Chu Shong Tin, place enormous emphasis on relaxation during Siu Nim Tao practice.
Siu Nim Tao can be used as a form of moving and breathing meditation
. In addition, it increases student concentration and focus. The form is also used extensively to develop forward energy in Wing Chun practitioners.
Demonstrations of the form
Although many of the movements are similar, Siu Nim Tao varies significantly between schools and branches
Tsui Sheung Tin
Wong Seung Long
Leung Ting (fast forward to 2:11)


Jean-Baptiste-André Dumas
French chemist
Jean-Baptiste-André DumasFrench chemist
July 14, 1800
Alès, France
April 10, 1884
Cannes, France
Jean-Baptiste-André Dumas, (born July 14, 1800, Alais [now Alès], France—died April 10, 1884Cannes), French chemist who pioneered in organic chemistry, particularly organic analysis.
Dumas's father was the town clerk, and Dumas attended the local school. Although briefly apprenticed to an apothecary, in 1816 Dumas traveled to Geneva where he studied pharmacy, chemistry, and botany. His name appeared on journal articles in pharmacy and physiology before he was out of his teens.
In 1823, with assistance from the great German naturalist Alexander von Humboldt, Dumas returned to France and became assistant to the French chemist Louis-Jacques Thénard at the École Polytechnique in Paris. Dumas soon became professor of chemistry at the Athenaeum, only the first of many academic appointments he would hold—at the Sorbonne, the École Polytechnique, and the École de Médecine. As was common at the time, he held several of these positions simultaneously and spent many hours traveling from one school to the next. Dumas established a teaching laboratory, initially at his own expense. He was a masterful teacher, serving as mentor to many important French chemists, including Auguste Laurent, Charles-Adolphe Wurtz, and Louis Pasteur.
Dumas greatly improved the method of determining the vapour density of substances (and thus their relative molecular masses), and he developed a combustion method for determining nitrogen in organic compounds. He produced revised atomic weights for about 30 elements, including carbon, studied the structure of dyes and pharmaceuticals, and wrote on inorganic chemistry, metallurgy, and physiology. His greatest contributions, however, were to the new field of organic chemistry.
In the 1820s the accepted theory of molecular structure was the electrochemical dualism of the great Swedish chemist Jöns Jacob Berzelius. It assumed that atoms were either positive or negative and that chemical combinations resulted from the attraction of opposite charges. This worked well for inorganic compounds. In 1827–28, Dumas and Polydore Boullay (a pharmacist) published work on esters of ethyl alcohol and suggested that these might be understood as addition products of ethylene, just as ammonium compounds were addition products of ammonia. This was explained in Berzelian dualistic terms. In 1834 Dumas and French chemist Eugène Melchior Péligot isolated methyl alcohol (methanol) by distilling wood and prepared derivatives, which led them to propose the methyl radical (a molecule with at least one unpaired electron). However, the search for more hydrocarbon radicals soon led to difficulties.
As a result of his work on the chlorination of oils, waxes, and the like, Dumas proposed a "Law of Substitution," stating that hydrogen atoms (electropositive) could be substituted by chlorine or oxygen atoms (electronegative) in certain organic reactions without any drastic alteration in the structure. This clearly did not fit the Berzelian theory and resulted in bitter attacks by many eminent German chemists, such as Justus Liebig and Friedrich Wöhler. Dumas at first retreated before the attacks, blaming his former coworker Laurent for the exaggeration of his theory. However, after replacing three hydrogens in acetic acid with chlorines to produce a compound with similar properties about 1839, Dumas boldly proposed a "theory of types," based on his and Laurent's previous ideas, which clearly contradicted the electrochemical theory of structure. This exacerbated the wide-ranging and often vituperative competition between German chemists, led by Liebig, and French chemists, led by Dumas. It also led to an irreconcilable dispute with Laurent over credit for the theory. In contrast, by 1850 Dumas and Liebig had mended their quarrels and ended up as friends.
Berzelius's dualism eventually gave way to better theories of structure, but by the mid-1840s Dumas had completed most of his important scientific work and had become the undisputed dean of French chemists. He was a member of the prestigious French Academy and the Academy of Sciences, and he was not above using his status to impede the careers of younger chemists whom he saw as a threat to his reputation—Laurent and Charles Gerhardt being outstanding examples.
Dumas's politics had been moderately conservative, and he had prospered under the monarchy. Nevertheless, after the Revolutions of 1848, he was elected to the new National Assembly, along with a man who had just returned to France, Louis-Napoleon Bonaparte. Dumas served as both minister of agriculture and of commerce in 1850–51, and when Louis became Emperor Napoleon III, Dumas became a senator in the Second Empire. He was on the municipal council of Paris for many years and became its president (in effect, the mayor) in 1859. He worked with the great city planner Baron Haussmann on the restructuring of the city, including the improvement of drainage and lighting and the beginnings of the modern water-supply system. The emperor called him "the poet of hygiene."
In 1868 Dumas was made permanent secretary of the Academy of Sciences and was also appointed master of the mint. The tumultuous birth of the Third Republic in 1870 led to his withdrawal from public life and his return to scientific work. He continued to demonstrate his wide-ranging interests, publishing on such topics as fermentation and the occlusion of oxygen on silver. He received many honours during his long and varied career; perhaps the highest tribute came from Wurtz, who called him "the founder of organic chemistry."
What made you want to look up Jean-Baptiste-André Dumas?
(Please limit to 900 characters)
MLA style:
"Jean-Baptiste-Andre Dumas". Encyclopædia Britannica. Encyclopædia Britannica Online.
APA style:
Jean-Baptiste-Andre Dumas. (2015). In Encyclopædia Britannica. Retrieved from
Harvard style:
Jean-Baptiste-Andre Dumas. 2015. Encyclopædia Britannica Online. Retrieved 06 October, 2015, from
Chicago Manual of Style:
Encyclopædia Britannica Online, s. v. "Jean-Baptiste-Andre Dumas", accessed October 06, 2015,
Editing Tools:
We welcome suggested improvements to any of our articles.
Jean-Baptiste-André Dumas
 - MLA
 - APA
 - Harvard
 - Chicago
You have successfully emailed this.
Error when sending the email. Try again later.
Or click Continue to submit anonymously:


Take the 2-minute tour ×
Let $V$ be a geometrically irreducible and reduced scheme defined over the real numbers, and let $K = K(V)$ be its function field.
 1. If $V$ does not have any real points, is it true that $K$ is not formally real? It seems this is a theorem due to (E.) Artin but I cannot find a modern reference and my German needs a little work.
 2. If $V$ does have real points, is $K$ necessarily formally real?
Thanks for the help.
share|improve this question
1 Answer 1
up vote 6 down vote accepted
The theorem you want is due to Serge Lang, from the following paper:
The theory of real places. Ann. of Math. (2) 57, (1953). 378–391.
The statement is almost, but not quite, what you suggest. To see the problem, a good example to consider is the affine plane curve over $\mathbb{R}$ defined by $\mathbb{R}[x,y]/(y^2+x^2+x^4)$. This defines a geometrically integral curve over $\mathbb{R}$ with non-formally real fraction field but possessing an $\mathbb{R}$-point, namely $(0,0)$. The key is that $(0,0)$ is the only $\mathbb{R}$-point on this curve and (thus!) it is a singular point.
So the correct result is that the function field of an integral affine variety $V_{/\mathbb{R}}$ is formally real iff $V$ admits a nonsingular $\mathbb{R}$-point. (Note that projective real algebraic varieties are also affine(!!).) Probably you could extend this to finite-type integral schemes without any trouble.
I also looked in Bochnak, Coste and Roy, following Thierry Zell's suggestion, but only found "half" of this result, namely the Artin-Lang Homomorphism Theorem. It seems likely though that I just didn't look hard enough: perhaps someone can enlighten me.
share|improve this answer
Dear Pete, can you clarify what you mean by projective varieties over $\mathbf{R}$ being affine? The projective line over $\mathbf{R}$ is a counter-example if you take the usual, scheme-theoretic interpretations of these terms. – JBorger Nov 30 '10 at 12:05
See Chapter 3 of Bochnak, Coste and Roy for more details, but briefly: one has the notion of a real algebraic variety, a locally ringed space locally isomorphic to the set of $\mathbb{R}$-points of an affine $\mathbb{R}$-variety with the analytic topology. Of course projective space $\mathbb{P}^n$ is a real algebraic variety. But as a real algebraic variety, it is affine. – Pete L. Clark Nov 30 '10 at 13:00
For instance $\mathbb{P}^1$ is, as a real algebraic variety, isomorphic to $S^1= \operatorname{Spec}(\mathbb{R}[x,y]/(x^2+y^2−1))$. – Pete L. Clark Nov 30 '10 at 13:04
Thanks. So, by "real algebraic variety" you don't mean an algebraic variety (in any of the standard scheme-theoretic senses) over the field of real numbers. Dangerous terminology! – JBorger Dec 2 '10 at 9:04
_USER_: Yes, absolutely. In retrospect, I could have written this in a less confusing way. I find this quirk of real algebraic geometry amusing, but it's certainly not necessary to mention it in this context: it's pretty clear that the result in question extends to non-affine varieties. – Pete L. Clark Dec 2 '10 at 10:29
Your Answer


What is a stroker engine?
Updated Dec 31, 2020 | Same topic: Tuning & Mods
The used car you bought could come with a stroker engine.
1. What does a stroker engine mean?
There are numerous types of engines that we probably have heard of by now. With the continuous innovations the automotive industry is having, it is not a surprise anymore that one day we might drive a car with an unfamiliar and a new engine.
However, there is one type of engine which is probably not as commonly heard by most these days, and that is the stroker engine. So, what is a stroker engine? A stroker engine is, actually, simpler than it sounds. This type of engine only means that its engine size, or displacement, is modified or reworked to yield higher horsepower or torque output, or even both.
4-cylinder engine
Stroker engines involve two main aspects, namely the cylinder bore and compression stroke
The application of stroker engines is widely seen in race tracks and drag strips as the common use of this type of engine is to achieve higher power. So yes, using a stroker engine is one of the many ways you can increase the power of your car's engine.
Some of the common ways you can increase the power of your car are installing turbos that will kick in especially at high speeds, using performance tires for better traction on the road, and reducing the weight of your car by removing seats, panels, and body kits.
White BMW race car
Stroker engines are common in race cars
There are two main aspects of a stoker engine that we have to know to get started. These two include the engine's bore and stroke. Bore refers to the diameter of each cylinder. It is the round shape you see when you remove your car's cylinder head. Even if you are not the one working on your car, we're pretty sure you have seen one at least.
On the other hand, stroke refers to the distance a piston travels within a cylinder. Each stroke is responsible for keeping an engine cranking or moving. There are four common strokes used in almost all the cars you see. There are also two strokes but is mostly used by motorcycles only. Two-stroke engine cars are prominent around the 1950s so it's unlikely to see one these days.
>>> Related: Everything you need to know about torque
Classic car front view
Even the engine of old cars can be stroked
The first stroke in an engine is called the intake. This is the part where a mixture of fuel and gas is inducted into a cylinder and is dragged down along the piston going at the bottom dead center position. The second stroke is called compression. From here, the piston is moved straight up along the cylinder at the top dead center position and compresses the fuel and gas mixture.
The third stroke is called combustion. As the name implies, the air and fuel mixture is ignited by a spark plug located at the top of the cylinder. The ignited mixture then expands and produces power. This power is used to rotate the engine crankshaft through the piston going down by force at the bottom dead center position.
>>> Related: Engine protection: 5 engine parts you need keep close eyes on
Motorcycle engine
Most motorcycle engines come with a 2-stroke engine
The final stroke is the exhaust. This is the part where the burned fuel is released out of the cylinder through the exhaust valve. The position of the piston returns to the top dead center and is now ready to repeat the stroke back to one.
With all that in mind, increasing the size of the bore results in higher power output. Why? The more the engine size, the more air it can take. And the more a cylinder takes, the more power it can put up. A longer stroke will also increase the size of the cylinder when a piston is at the bottom dead center position.
>>> Related: Cold air vs Short ram intake: Know the differences
Engine of car
Be sure to have with you a professional if you decide to stroke your engine
Even if you have a huge amount of cash to rework your cylinders, increasing the size of the bore and length of the stroke come with limitations. This is limited by the construction of the manufacturer of the engine.
When engineers design an engine, they don't intend to make room for owners to build a stroker engine. The size of the bore is limited by the engine block, while the length of the stroke is only limited by the length of a cylinder. The actual numbers depend on the specifications of an engine.
2. What is a stroker kit for engines?
Stroker kits are the parts used to modify an engine's bore and stroke. These stroker kits are available in the aftermarket intended for those who wish to add more horsepower and torque to their car. Of note, if you decide to add stroker kits, it is highly recommended to call your mechanic as the installation process can be critical in the operation of your car's engine.
These kits include cylinder heads, piston pins, piston rods, and a crankshaft. Take note that the price of stroker kits can be relatively expensive. This means that there are two aspects that you need to consider when building a stroker engine, namely the construction of your engine and your budget.
>>> Related: OEM vs Aftermarket car parts: All you should know about its Pros & Cons
3. What is a stroker engine: FAQs
Q: What is a cylinder bore?
A bore refers to the diameter of each cylinder. Widening the bore will increase the horsepower and torque of an engine.
Q: Can I increase the size of my engine?
Yes, you can. There are two engine aspects that you need to know when increasing the size of your engine. These include cylinder bore and compression stroke.
Q: What is a compression stroke?
A compression stroke, or just stroke, refers to the distance a piston travels in a cylinder. Most cars these days come with 4 stroke cycle to keep an engine cranking.
Q: What are stroker kits?
Stroker kits include parts that are used to increase the compression stroke and cylinder bore. Some of which include cylinder head, piston rod, and piston pin.
Q: Is it ideal to build a stroker engine?
Theoretically, a stroked engine comes with increase engine size. This means that it consumes more fuel resulting in greater fuel consumption. But if you enjoy greater power, then you can consider stroking your engine.
Rex Sanchez
Rex Sanchez


The recent news about the 737 has drawn attention to aging aircraft concerns. We decided to get a perspective of the active 737 fleet. We were surprised to just how big a role this aircraft plays.
Over one-third of active single-aisle aircraft (at year end 2017) were 737s. The next most popular model, the A320, has a fleet size 43% smaller.
The following table shows how few of the 737s were parked. With under 5% parked, the 737 was in high demand, and met the definition of "workhorse".
What else do we know about this fleet? Certain regions are deploying older aircraft. But in the three largest markets, the fleet was under 15 years old.
Next looking at the active fleet by year we can see how the fleet is mostly from the 2000-era onwards. Over 80% of the active fleet is therefore under 20 years old and 60% of the fleet is under ten years old.
Focusing now on the versions of the 737, the majority of the active fleet is the NG. Notice the NG fleet averaged under 11 years of age.
Given the fleet size and the flight hours accumulated, the performance and safety record of the 737 is remarkable. It is rare that the 737 performs an emergency landing because something on the aircraft failed. Wikipedia has this list of 737 "accidents and incidents" and it lists only 12 NG aircraft events.
Please follow and like :
%d bloggers like this:


uploaded imageIn a two-dimensional tug-of-war, Alex, Betty, and Charles pull horizontally on an automobile tire at the angles shown in the overhead view of the figure. The tire remains stationary in spite of the three pulls. Alex pulls with force of magnitude 214 N, and Charles pulls with force of magnitude 157 N. Note that the direction of Charles' force is not given. What is the magnitude of Betty's force?
__________ N
Get this answer with Chegg Study


text:
Do Markets Reduce Prices? Evidence from the U.S. Electricity Sector
60 Pages Posted: 26 Feb 2021 Last revised: 20 Jun 2023
Date Written: June 19, 2023
We construct a novel dataset on electricity generation, wholesale transactions, and retail sales to assess the shift from cost-of-service regulation to deregulated, market-based prices in the context of the U.S. electricity sector. Consistent with earlier studies, we find that the costs of generation fell in deregulated markets. However, despite lower generation costs, wholesale prices increased along with utilities' overall expenses on energy. The resulting increase in utility costs can explain a substantial portion of the increase in downstream retail prices. Overall, we estimate that the increase in wholesale markups more than offset the efficiency gains, which can occur when markets are not perfectly competitive.
Keywords: Deregulation, Markets, Markups, Market Power, Electricity
JEL Classification: L51, L94, D43, L13
Suggested Citation: Suggested Citation


text:
Live voice Typing App us
Live Transcribe is an accessibility application designed for the deaf and hard of hearing.
With Google's state-of-the-art automatic speech recognition technology, live transcription of text and speech on your screen is transliterated so that you can more easily participate in conversations around the world. You can also continue the conversation by typing your response on the screen.
Using Live Transcribe requires these additional steps in pixel 3 and above:
1. Open the Setting app on your device.
2. Tap 'Accessibility' and then 'Live Transcribe'.
3. Tap 'Use service' and accept the permissions.
4. An accessibility button will now appear in the lower-right corner of your screen next to the Home button. Tap the Accessibility button or use the gesture.


text:
Making and forming aged cheese are often the easiest stages and ripening or aging cheeses from days to weeks to months or years is often the hardest part. This wiki article discusses aging equipment minimum and preferred requirements. Examples of Cheese Cave systems are discussed in the Wiki: Example Cheese Caves article.
Most cheese making recipes or methods require aging at steady temperatures and humidity levels to minimize shocks to the cheeses. The actual temperatures and humidity levels are dependent on the cheese type and method and are typically at a temperature of 10-13 C/50-55 F and at a relative humidity or 80-95%. The art of aging is called affinage in French and historically it was performed by a separate person called, again in French, an Affineur.
No one has this magic stable "Cheese Cave" conditions year round let alone within a 24 hour period thus unless you have ready access to an underground cave the hobby and artisan cheese maker will have to create this environment as do commercial cheese manufacturers, albeit on a larger scale. Note, if cheeses are highly impermeable sealed such as by vacuum bags or waxing, then external to the cheese humidity is no longer an issue.
Both the temperature and humidity are critical, in general:
- Temperature too low and the cheese will ripen too slowly.
- Temperature too high and the cheese will ripen too quickly and can go rancid.
- Humidity too low and the cheese will dry out and potential crack from uneven quick drying.
- Humidity too high and unwanted mold can quickly take root, often on the cheese surfaces.
The external environment to where you want to place your cheese cave and the type of cave dictates your heating/cooling and humidity add/remove requirements. For examples for temperature control, locating one in an uninsulated garage in Northern Canada would require heating most of the year and cooling for a short period in summer. Conversely locating one inside a heated and air-conditioned house with year round roughly stable temperatures of 72F / 21C or in a garage in the stable warm tropics of Brunei would result cooling being required all year round. For examples for humidity control, most systems require adding humidity as cooling normally dehydrates air, but some systems like a closed sealed freezer or fridge use indirect radiant cooling which as sealed can over time if located in an external medium-high humidity environment build up humidity to 100% resulting in water puddles inside the freezer which are a location for unwanted micro-organisms to grow.
- Made from easily cleanable low porosity food grade hygienic material so that they minimally harbour micro-organisms.
- Reasonably sealed to stop unwanted entrance of insects or animals yet allow some air movement in an out of the cave to allow the cheese to breath.
- A means of providing cooling or heating or both depending on the cheese caves external environment.
- A means of adding or removing excess humidity depending on the cheese caves external environment and how sealed the cave is.
- Large enough to house your cheeses for the planned length of time and any special ripening containers for surface mold type cheeses.
- Large enough to house your humidity control system, such as adjusting lids daily on food grade plastic containers, or having a bowl of water in your cave to add humidity, or having a bowl with a cloth towel wick draped over side or across fan, or for larger caves, having a humidifier inside your cave.
- How much energy you want to exert on maintaining your cheese cave's temperature and humidity over days to weeks to months or years.
- Your finances.
- Different cheese caves for cheeses that have different temperature and humidity aging requirements and if white or blue molds are intentionally being used.
- Closely weaved flat wire shelves to allow cheeses to breath on their bottoms vs glass shelves in many fridges or curved wire shelves in a wine cooler type fridge.
- Shelves that are adjustable height for efficiently storing different height cheeses.
- If using a fridge, a door without shelving as shelves for milk and salad dressing bottles do not fit cheeses well, and without salad drawer(s) as an inefficient use of space.


text:
Java/M 3 tier system solution
gives an overview of the work being done to investigate the possibility of using Java and
a 3 tier solution for VISTA's CIRN application. The decision to investigate a
three-tier solution is driven by the need for sharing of patient information between
hospitals and non-VA systems.
The idea of sharing information between systems is not a new idea. Ever since serial communication computers have been sharing information (there could be earlier examples, but this is as far back as I go!). When you think of HL7, it is a standardized stream of characters that enable systems to share information. Basically an agreement between to HL7 systems that specify where to expect certain data in a stream of characters.
With the advent of the Object world and acceptance of Delphi within VISTA, a 3-tier solution allows us to take sharing of information to the next level of communication, specifically objects. This leads into Object Request Brokers (basically software that serves up Objects rather than a stream of characters). This of course lead to Common Object Request Broker Architecture (CORBA) which defines a standard way that ORBs talk. And of course this leads to spin-offs like a group called CORBAMed that defines standard ways that clinical Objects are used in the same way that HL7 standardized a stream of characters.
What does Objects provide over parsing a streams of characters? Think of an HL7 character stream that may be made up of 1000's of characters and you want the patient's last name. In this stream there are multiple names (Doctor's name, Patient Name, maybe next of kin, etc.). This basically forces you to learn a very lengthy standard to figure out just how to get the patient's name and where it is located. This is an over-simplified example, but it gets the point across (especially for those of you who had to carry the HL7 standard documentation around).
Now in the object world, this could be as simple as: MyCORBAMedObject.getPatientLastName(). That's it. Setting data is just as easy as MyCORBAMedObject.setPatientLastName("Smith"). Much easier to use.
When you also realize that objects support more than characters, like images or sound you begin to realize that a lot more potential and value exists in the object world.
The CIRN project is an initiative within the Department of Veteran's Affairs to integrate patient information within the VA. Historically, patient information was not easily or readily available between VA Medical Centers (VAMCs). The CIRN project allows a VAMC to have access to up-to-date clinical information for a patient. This information is a history of the patients care that may span many VAMCs. This is not a project that "combines" databases, but rather allows sharing of patient information between VA Medical Centers.
Current Data Transportation using an Object Request Broker (ORB)
|The technology being
utilized in this discussion is a three tier solution using a CORBA compliant ORB server as
the middle tier. Please view our Java Links section for more
information on CORBA and our Technical Diagram section for
information on how this three-tier solution works.
Basically, a middle tier separates the client system from the database. This means the client does not care whether the data is coming from a M-System database, SQL Database (MS Access, MS-SQL, etc.) or any other platform.
What this provides the Department of Veteran's Affairs is the following:
|What needs to be done to implement this design?||All the pieces
already exist to implement a three-tier solution all the way from the Client end
(Java/Delphi to the VISTA database using the current Kernel RPC). The work can be
accomplished by pulling all the "pieces" together. Here is a general list
of the parts of the system I designed:
For more technical "stuff", visit Technical Ingredients page that describes some of the Java
classes in more detail.
VISTA Demo utilizing a 3 tier solution
|The following demonstration displays a user session. This is a screen-capture of a "Live" demo using the system here at the Altoona VAMC.|
Making M-Database into ORB objects
|The majority of work in implementing this
architecture is transforming VISTA data into objects that can be used with the ORB
server. To create an ORB object is very similar to the current VISTA Delphi/M
architecture. One must first define the object, write the M-RPC calls to support the
object, and then place the data into the object. Eventually this mapping process
A solution to this problem that has been investigated is to write a Java program that will compile an ORB Object based on a VISTA FileMan file. This FileMan file would operate very much like a FileMan print template. But instead of compiling the template for output to a device, the file would compiled to produce the necessary data-extraction routines, Kernel RPC calls, ORB server routine, and ORB skeleton objects necessary to implement the the ORB object.
This may sound complicated, but it isn't and allows M-programmers not familiar with Java, Delphi, Objects, etc. to create objects required by COTS or VISTA GUI's.
M-Legacy System and Business logic
|A major consideration when designing a
client/server or 3-tier system is the location of the business logic. When an
M-System is not separated, this is not an issue as the User Interfaces (UI's) and business
logic is contained within the M-environment.
However, what happens when you develop a GUI (using Java, Delphi, etc.) that becomes the front-end to your M-system? You will notice that business logic tends to become duplicated causing a maintenance headache.
For example, let's say you are to design a patient registration form that has a prompt "Date of Birth" as one of the prompts. Simple enough...right? Well, not really. As any programmer would ask is "what is a valid date?" Should I allow 100 years, 110 years, 120 years in the past to be entered? (hmmm...). The first act is to "peek" at the legacy system to see how they do it...ahh..the limit is 110 years...my answer...so that gets coded into the GUI. Two weeks later, a change is made on the legacy system to make 120 years a valid date, but they don't notify the GUI programmer...now your GUI is inconsistent with your legacy system. Multiply this one prompt by a large system like VISTA and you have a major problem.
Your goal should be to make your GUI as unintelligent as possible...make it sing the song "If I only had a brain". Code your forms to collect information (not process) and have these forms sent to the legacy system to be accepted or rejected. If the form is rejected by legacy, a message describing the problem is given to the user. Obviously minor logic will still need to be contained in the GUI. For example, date prompts should only allow dates and number prompts should only allow numbers.
The additional two alternatives begin to go outside the scope of this discussion, but are worth mentioning if you goal is to eventually replace your M-System:
The second alternative is to place your business logic on the middle-tier (in this case Java). This becomes much more complex to implement when you consider all the legacy business logic that will have to be converted to your ORB server. This may be an appropriate solution if your overall goal is to eventually move your data to another platform. You will need to make sure your newly converted ORB objects don't access data "the old way" (using RPCs) since you will have to convert these when you drop in your new database. A black box should be considered that can be "switched" to the new database access logic.
A better alternative is to research Object Oriented Databases that have ORBs built into the database. This basically combines the 2nd and 3rd tier into one. You client systems will deal with an object environment and this eliminates the need to create objects on-the-fly from a legacy system as mentioned in the previous sections. You would basically design your objects and then move your legacy data into these objects during time of conversion.
|When considering to Implement a 3-tier
solution, you would assume that it means a major investment in another technology outside
the M-system. By keeping your business logic and data on the M-System and
implementing automated ORB wrappers and basic GUI forms, your major investment still
remains with your M-System and M-professionals.
Also, keep in mind that once you setup your ORB server, you can utilize any CORBA compliant front-end GUI (Delphi for example). It does not have to be a total Java solution. Java on the client end is good if you want your GUI to be compatible with many different platforms (not just Windows).
As with any system, technology should not drive the system requirements. You need to determine your business requirements, and then technology should be researched to determine the best approach. There are other alternatives such as Java->M-System (no ORB server) or you could use Java RMI (Remote Method Invocation). Java RMI is "free" unlike commercial ORB Servers, but it isn't as robust.
|The opinions expressed contained in this section is that of a programmer stuck in a corner with the window-shades pulled down for an extreme period of time and not that of the Department of Veteran's Affairs. Read at your own risk.|
About the author
|Bob Yacobucci has been involved with VISTA and M since 198