Measuring a Blasted Surface Profile
One of the main factors affecting the performance of a coating system, primarily as a protective coating, is the surface profile.
In the industrial and protective coatings industry, metal surfaces are blasted to remove troublesome mill scale, corrosion or previous coatings and also to provide an anchor pattern or profile.
Surface profile increases the surface area of the metal, creating a better key for the coating system being applied. Once a surface has been blasted to create a suitable profile, quick and accurate measurements are imperative so that the surface can be primed to prevent oxidisation.
Surface profile should not be confused with roughness
Whilst 'profile' and 'roughness' are often interchangeable terms used when describing the surface of a metal, the term 'surface profile' is the measurement of the peak-to-valley height. This is often expressed as an average of multiple individual readings and typically ranges from less than 25µm up to 127µm (1mil up to 5mils).
Surface roughness, on the other hand, is measured using a stylus instrument and is the combined measurements of the surface profile and the frequency of the peaks across a linear length, also known as the peak count. Whilst this data is very informative, it is often impractical to use stylus instrument on site as they are delicate precision instruments.
Creating a surface profile increases the surface area of the metal, which will therefore improve the adhesion of the coating
By creating a profile on a substrate, the overall surface area of the substrate increases significantly. The more the profile increases, the more the surface area increases, improving adhesion since the coating has more surface to anchor to.
For example, if paint is applied to a smooth, mirror finished piece of steel, it is very easy to scrape off – sometimes even with a finger nail. However, the same paint applied to a blasted piece of steel would be a lot harder to scratch off.
Why is it important to measure surface profile?
Corrosion occurs when three things come together – a ferrous material (such as a steel substrate), oxygen (from the air) and moisture. If just one of the three elements are removed, corrosion cannot happen.
Applying a coating to the steel provides a barrier between the steel and both the air and moisture, preventing corrosion. If the coating is damaged, or simply falls or flakes from the surface due to poor adhesion, then the steel will rust or corrode and in time, weaken the structure. Natural elements such as chlorides, sulphates and nitrates can act as a catalyst in this corrosion process.
Along with surface cleanliness, measuring surface profile helps to ensure that the surface of the substrate is in the condition specified by the coating supplier for the applied coating to perform as required.
What surface profile is required?
The surface profile required is specified by the coating manufacturer or the coating specification agreed to by all parties.
Typically, the surface profile specified is the peak-to-valley height in either microns or mils and the dry film thickness is also specified in either microns or mils. It is important that the required coating thickness must be applied to both the valleys and the peaks.
If the profile is too high, the amount of paint required to cover the peaks significantly increases. More paint will be needed to ensure the high peaks remain coated. Peaks that are left uncoated or too thinly coated are at risk of rust spots or pinpoint rust (rust rash).
If the profile is too low then there may be an insufficient surface area to provide a suitable anchor for the coating - leading to poor adhesion and premature coating failures.
How do we measure surface profile?
There are a number of methods for measuring surface profile, they all work in different ways and measure different parameters.
Surface Comparators are flat, metal plates which contain a number of reference surface profiles. The comparator is placed on the surface which is compared with the reference profiles through either sight or touch. The profile is then determined and recorded. While this is a quick assessment of the surface profile, it's a highly subjective method of measurement, as it can come down to the opinion of one person over another.
A widely used and less subjective alternative is the Replica Tape method.
A tape with a compressible memory foam pad is applied to the surface, and rubbed with a burnishing tool. By rubbing the tape into the surface, the foam is pushed into the profile, creating an inverse or mirror image of the profile. The tape is then removed and measured using a thickness gauge, such as the Elcometer 124 gauge. The replica tape method provides a maximum peak to valley height measurement of the profile.
Unfortunately, this method is time consuming – especially for profile ranges where multiple grades of tape need to be used.
A faster, more accurate and repeatable method for measuring surface profile is to use the Elcometer 224 Digital Surface Profile Gauge.
The Elcometer 224 Digital Surface Profile Gauge
With the ability to measure profiles up to 500μm (20mils), on flat or convex curved surfaces, the Elcometer 224 Digital Surface Profile Gauge provides repeatable and reproducible measurements, accurate to ±5%.
The Elcometer 224 is a needle depth gauge, which is very easy to use. Simply zero the gauge on the supplied glass slide, ensuring the probe is 90° to the substrate. Then, to take one spot measurement, place the gauge on to the blasted surface. The spring mounted needle will measure the depth of the profile from the peaks of the profile at that particular point.
As the measurement point is not necessarily at the very bottom of the valley, and could be somewhere on the slope, an average of 10 readings should be taken within a 100mm (4") diameter area. The gauge will then provide a mean result.
In recent years, there have been changes to one of the most used profile standards, ASTM D 4417. Having previously stated that a profile measurement using a needle profile gauge should be the average of ten readings, this was changed to the maximum of ten readings.
Within the industry, concerns were raised that this was not a true characterisation of the surface and following some revision, the Standard has recently been further revised. The Standard now allows either the maximum of ten readings or the average of ten readings, which is thought to be a more realistic and statistically correct way of assessing the data and the profile.
The reading displayed on the Elcometer 224 is user selectable, and can either be the average peak-to-valley height or the maximum reading of the five or ten readings, depending on which mode is selected for the standard being worked to.
Whichever test method or Standard is being worked towards, the Elcometer 224 has a range of easy-to-use Measurement Modes
Using the very latest in surface profile measuring technology, the gauge's measurement modes allows data to be easily collected and recorded in accordance with the relevant test method or standard.
In Custom Mode, simply select to take either 5 or 10 readings per measurement, then specify either the average, highest or lowest measurement of each set of readings to be displayed and saved into the batch memory.
In Standards Mode, select the International Standard being worked towards and the Elcometer 224 will automatically set the data collection method accordingly. When selecting ASTM D 4417, the gauge can also store either the average or highest reading as the measurement.
In Intermediate Mode, the gauge will take individual peak-to-valley measurements and save them into the batch memory. The Elcometer 224 will then automatically calculate and display key statistics. Limits can also be set using this mode, enabling the gauge to alarm whenever the reading is outside a predefined acceptable range.
Instant Live Readings Direct to PC, Tablet or Smartphone
Once the readings have been taken, they usually need to be recorded. One way is to write them down individually as they are taken and type them into a spreadsheet later; however, this is a very time-consuming method which allows for mistakes to be made.
By using Elcometer's free data management software, ElcoMaster®, the Elcometer 224 can connect to a smartphone or mobile device via Bluetooth, and either transfer the readings from memory, or transfer each reading into the ElcoMaster® App, live as they are taken.
Each live reading can be transferred via Bluetooth® to a PC, smartphone or tablet and at the click of a button professional reports may be generated. The reports can then be emailed to clients, just seconds after the inspection has been carried out, or uploaded via cloud technology, making it accessible anywhere in the world.
GPS coordinates can also be recorded along with the surface profile when using the ElcoMaster® Mobile App. The app plots the values onto a map which is displayed on the screen, showing exactly where the readings were taken.
Portable, rugged hand-held design - ideal for field use
The Elcometer 224 Digital Surface Profile Gauge includes all the features that have come to be expected from an Elcometer designed and manufactured product, including ease of use, a fast reading rate of 50+ readings per minute and a robust and ergonomic design.
The signature orange and black gauge comes with a menu driven colour LCD display with auto rotate and user selectable statistics and display modes. Its large memory is able to store 150,000 date and time stamped readings in 2,500 batches.
Moreover, it is designed to be robust and work in the harshest of blast environments from ship building to bridge refurbishment.
Click here to view our video on how to use the Elcometer 224 Digital Surface Profile Gauge


text:
"The only way you can actually look at the amount of value someone's placed on content is how much time they're spending with it."
-Brendan Spain, U.S. commercial director of the Financial Times
Spain's quote reflects a growing trend in digital publishing. Publishers are no longer relying on once-popular metrics, like page views, to gauge the value of their content. Instead, they're focusing more on the time readers spend with content as the best indicator of quality. To this end, digital publishing companies are creating more informative metrics like "average time spent" or "average session duration (ASD)."
Importance of Average Session Duration
So why is ASD (average session duration) gaining a fast reputation as the most important metric for digital publishers, even more so than page views? Here are 2 good reasons:
Page views are easily exploitable. Think about clickbait. It's cheap, effective, and an easy way to gain more page views without producing quality content (negatively affecting the entire industry in the process).
Average session duration provides an EXACT time of how much readers are spending on pages. Publishers can use this information to see which ones are more popular than others, determine why, and then develop proper content strategies. It's the perfect starting point to understanding your audience and identifying readership trends.
Don't get us wrong; publishers can still utilize page views effectively. But its moment-based nature, rather than time-based, undermines its reliability. Moment-based metrics only provide a brief, or momentary, glimpse of a user's activity. Time-based metrics, on the other hand, provide more comprehensive information on how long readers are actively engaging with the content.
It's a gradual transition, but it's happening. Digital publishers are contesting the idea that the page view is king and accepting the notion that time spent is equally, or perhaps more, important. If reader engagement is your priority, a high page view number doesn't necessarily mean your audience enjoyed your content. Instead, focus your efforts on more time-based metrics like average session duration to better assess engagement.
Joomag's comprehensive metrics on user behavior
Joomag's tracking analytics include comprehensive metrics on user behavior, which are critical for shaping future content and providing ROI (return-on-investment) to advertisers. Along with other important insights, such as "daily views", "number of readers", and "pageviews" for a specific time period, we also provide publishers with "average session duration" metric! Read about them here.

source: openbmb/Ultra-FineWeb


text:
1. The flexible structure can adapt to the change of the slope without being damaged, and has better safety and stability than the rigid structure;
2, strong anti-scour ability, can withstand the maximum water flow speed of up to 6m / s;
3. The structure is water-permeable in nature, and has strong inclusiveness to the natural action and filtration of groundwater. Suspended matter and sludge in the water can be deposited in the rockfill joint, which is beneficial to the growth of natural plants and gradually recovers. The original ecological environment.

source: m-a-p/FineFineWeb


%0 Generic %D 2004 %T From regulated rewriting to computing with membranes: collapsing hierarchies %A Rudolf Freund %A Carlos Martín-Vide %A Gheorghe Paun %C Amsterdam (The Netherlands) %I Elsevier %K graph-controlled grammar %K matrix grammar %K Membrane computing %K non-terminal complexity %K P system %K programmed grammar %K recursively enumerable language %K register machine %K regulated rewriting %N 2-3 %P 143 - 188 %R 10.1016/j.tcs.2003.08.006 %U _URL_ %V 312 %X In addressing certain problems about membrane computing, a recent and active branch of natural computing, it first was necessary to address certain problems from the area of regulated rewriting. Thus, the present paper is a contribution to both these domains.A central problem in membrane computing is that of the hierarchy with respect to the number of membranes: Are systems with n + 1 membranes more powerful than systems with n membranes? Does the number of membranes induce an infinite hierarchy of the computed functions? Usually, when proving the universality of membrane systems (also called P systems), one starts from a matrix grammar and the number of membranes depends on the number of non-terminal symbols used by this grammar in the so-called appearance checking mode. We first prove that recursively enumerable languages can be generated by matrix grammars with only two non-terminal symbols being used in the appearance checking mode. The proofs of this fact and of several related results are based on a simulation of register machines by means of graph-controlled grammars.Then, we consider three classes of membrane systems, and in all the three cases the hierarchies with respect to the number of membranes are shown to collapse at level four: systems with four membranes are computationally universal (but we do not know whether or not this result is optimal).


text:
Caitlin hutcheon childbirth educator birth chemistry childbirth education classes _PHONE_ wwwhonoredbirthcom [email protected] i teach an 8 week childbirth education group class series with the birth chemistry curriculum. Become a childbirth educator for birthworks and receive our high quality, premium comprehensive training that includes a unique, experiential approach which integrates the mind, body, and spirit. Below is a list of our childbirth education classes prepared childbirth, baby care basics and breastfeeding basics are offered at no charge for members of new mexico health connections, true health new mexico, and the following centennial care plans: blue cross blue shield of new mexico, molina healthcare and unitedhealthcare. Childbirth graphics is a leader in childbirth, pregnancy & lactation educational products, materials & models in the education community order yours today. Birth arts international has been offering this dynamic childbirth education training program for students for over 10 years this training keeps with the bai philosophy and continue to offer students extensive education and support.
In this patient education materials section, you can find helpful information about pregnancy and childbirth topics include seasonal flu and pregnancy, nutrition during pregnancy, and other materials to help guide you through your pregnancy. Flexible, modern, comprehensive childbirth education resources, supplies and tools charts, parent handouts and teaching curriculums for doulas, midwives, cbes. Childbirth education: practice, research and theory, 2e: 9780721680095: medicine & health science books @ amazoncom. Childbirth educator the pce childbirth educator course is evidence-based, following awhonn nursing guidelines and covers all aspects of childbirth education including curriculum development.
By andrea robertson the most effective education occurs when people take an active part in the learning process the old-style "talk and chalk" presentations that many of us remember from our school days are now recognised as inappropriate, especially for educating adults. Comprehensive childbirth education classes for you and your family in providence, rhode island at women & infants hospital. Childbirth education classes in nyc, offering classes on birth, infant care and breastfeeding and cpr. Childbirth educator – independent study infant massage instructor prepared childbirth educators, inc, 219 central avenue, hatboro, pa 19040 | _PHONE_.
Childbirth education - if you are planning the birth of a child, st mark's hospital offers one of the most robust childbirth education programs in the salt lake. Childbirth education form & instructions form & instructions what is my childbirth education reimbursement childbirth education classes are available to you and your partner or support person free of charge at many primary care. The childbirth educator training features a comprehensive and engaging educational experience to prepare excellent prenatal educators. How do i care for a newborn classes to prepare you for childbirth, breastfeeding, infant care, birthing, breastfeeding, and parenting classes. When childbirth moved to the hospital and physicians began providing maternity care, woman-to - woman knowledge about birth faded away formal childbirth education.
Childbirth education in salt lake city, utah hypnobirthing, the mongan methad, hypnobabies, lamaze, birthing from within, bradley and more. An all new third edition childbirth curriculum is coming in 2018 buy now and get the second edition plus a complimentary copy of the third edition once published. Childbirth and early parenting classes are available through the peggy v helmerich women's health center birthcare services program with three locations, including a regional option in claremore, we are one of the premier childbirth education providers. Tampa general hospital's childbirth education classes can answer your questions and help you prepare to welcome your newborn.
University of cincinnati medical center offers classes to help you and your family prepare for your new arrival learn more about our educational programs, birthing options and tours. 89 reviews of the birth education center at first i was unsure about this whole hypno-jumbo whatever birth class figuring it was going to be some hippy type birth approach. Birthing basics, llc washington dc's first "mother-friendly nurse", lisa-marie sasaki cook. Come to blooma for childbirth education we offer a selection of pregnancy, birthing and breastfeeding classes let us help you prepare.
Cappa (childbirth and postpartum professional association) is an international certification organization for doulas, childbirth educators and lactation educators. Add some spice to your childbirth education classes with materials from 13 different sites. Classes offered at the family birth centers at multicare good samaritan hospital, multicare tacoma general hospital and multicare auburn medical center. Many women and their partners choose to attend childbirth education classes to gather information and lessen their anxiety about the birthing process .


text:
A plant that gave ancient Britons and Celts their blue war paint, has been found to be a rich source of the anti-cancer compound, glucobrassicin, traditionally associated with broccoli. Glucobrassicin has been found to be effective against breast cancer. The war paint, a blue dye, is obtained from Woad, a member of the Brassicaceae family.
Stefania Galletti and her team at the University of Bologna, Italy, found that the plant contains twenty times more cancer fighting chemical glucobrassicin than its relative, broccoli, which they enhanced to nearly 65 times using various treatments (Journal of the Science of Agriculture DOI: 10.1002/jsfa.2571).This compound plays a defensive role in plants, and the researchers found that wounding the leaves can increase levels by 30%. When leaves are damaged, for example, by insects, glucobrassicin is released as a defence mechanism. Its derivatives can kill some plant pests, and also appear to have anti-tumoral properties, and are particularly effective against breast cancer.
Glucobrassicin has shown an active role in flushing out cancer-causing chemicals including derivatives of estrogen. Women with higher levels of this hormone are at an increased risk of developing breast cancer.
There have been many reports on the health benefits of broccoli and other commonly consumed vegetables from the same family. However, it has been difficult to extract enough of the broccoli compound to carry out extensive tests. Galletti's team hope that by using this cheap, rich source, in depth research can be carried out to study how this compound acts in the body.
Cite This Page:


People in Goa are called Goans. By profession most people of Goa are fishermen. People of Goa are very co-operative and inherit a mingling of cultures, traditions and life-styles.
Language and religions
Goa is famously known for its New Year's celebrations and the Goan carnival is also an attraction attracting a large number of tourists. Some of the most popular celebrations of Goa are Ganesh Chaturthi, Diwali, and Christmas. A mix of Hindu, Christian or Muslim religion is seen here.
Languages spoken in Goa are Konkani and Marathi. Whereas most of the people in Goa can speak English and Hindi and it is a multi-lingual state. The various languages used in Goa are English, Portuguese, Konkani, Hindi and Marathi. And Konkani, is the official language of Goa.
The staple diet in Goa is rice with fish curry. The cuisine of Goa is known for its wide varieties of fish dishes cooked with elaborate recipes. The common ingredients used in Goan food are coconut, coconut oil, chili peppers, spices and vinegar adding a unique flavor to the food. Khatkhate is a very popular dish during the celebrations of festivals in Goa. A rich egg-based multi-layered sweet dish known as bebinca is a favourite during the Christmas.
Request Quotes for FREE!
Contact Details
2 + 5 =


text: The close connection between old age and retirement and to what extent society accepts work-free retirement in old age emerged as the topical themes we know in France and Germany as late as the 1950s and 1960s. By analysing the relevant discussions in the labour circles of both countries the author examines whether this modern concept of retirement originated in the early phase of the welfare state. The concepts and points of criticism which each of the labour movements developed for old age provision show, by virtue of the different national mental attitudes, that their considerations about old age as a life phase diverged from one another to a great degree. The German labour movement believed that old age pensions were primarily a compensation for the reduction in income on reaching an advanced age, and it thus gave preference to the invalidity pension. In contrast, French society supported the idea of welfare security for the old. Along with criticisms of state social policies, the purpose of providing for the old is at the centre of the essay's analysis, more specifically the contrary forms this discussion took in Germany and France: obliged to work in old age or well-earned retirement.


Electronically monitored adherence in outpatients with schizophrenia or schizoaffective disorder: A comparison of first- vs. second-generation antipsychotics
Paul A. Nakonezny, Matthew J. Byerly
Research output: Contribution to journalArticlepeer-review
38 Scopus citations
Abstract
Objective: To examine the effect of first- vs. second-generation antipsychotics on electronically monitored adherence in outpatients with schizophrenia or schizoaffective disorder. Method: The sample consisted of 61 outpatients with a DSM-IV diagnosis of schizophrenia or schizoaffective disorder who took either a first-generation (N = 25) or second-generation (N = 36) oral antipsychotic during study participation. Treatment group designation (first-vs. second-generation antipsychotic) was based on the particular antipsychotic medication the patient was receiving as part of routine care at study entry (i.e., non-random assignment). Adherence to prescribed antipsychotic medication was assessed monthly over a 6-month study period using electronic monitoring (EM) of medication bottle opening. Various participant characteristics were collected at baseline to test for group differences and for potential associations with prospectively measured adherence. The primary data analysis was a mixed-model analysis of repeated measures. Results: The analysis of EM adherence revealed no significant difference between those taking first-generation (6-month adjusted mean adherence = 64.35%) and second-generation antipsychotics (6-month adjusted mean adherence = 69.17%; Group effect, p = .29) and no significant Group X Period interaction (p = .13). Conclusion: There was no statistical difference in EM adherence, over a 6-month period, between patients taking first- and second-generation antipsychotics. However, since the patients were not randomized, conclusions must be interpreted within the context of the quasi-experimental design used in the current study.
Original languageEnglish (US)
Pages (from-to)107-114
Number of pages8
JournalSchizophrenia Research
Volume82
Issue number1
DOIs
StatePublished - Feb 15 2006
Keywords
 - Antipsychotic medication adherence
 - Medication adherence
 - Schizophrenia
ASJC Scopus subject areas
 - Psychiatry and Mental health
 - Biological Psychiatry
Fingerprint
Dive into the research topics of 'Electronically monitored adherence in outpatients with schizophrenia or schizoaffective disorder: A comparison of first- vs. second-generation antipsychotics'. Together they form a unique fingerprint.
Cite this


One of the major hurdles to being more zen is the inability to notice when getting caught up in things around us. Whether it's positive or negative, our propensity to get over-excited is hard to manage, since it's often difficult to notice this reaction until after it's already finished.
This app was built to fix that problem, to help people become better at both realizing that they're overreacting, and de-stressing when needed.
What it does
Zenotify uses your wearable of choice to gather heart rate data, and signals you when your heart rate reflects higher stress levels than normal. It detects for an increased heart rate pattern, but with minimal accelerometer movement of the wearable or mobile device.
The notification also prompts the user to enter the app, and begin playing the de-stressing mini game. It is a very simple game, designed to both distract the user through continued exposure to new brain stimuli, as well as create an uplifting state for the stressed our or panicked user.
After playing the game, users see how the game effected their heart rate, and how much money they earned for taking the opportunity to calm down when needed. This would be a simple monetary incentive for users to step back every time they de-stress, which is beneficial for their insurance providers, whose best interest is in keeping the user alive as long as possible (they would pay out the reward to the user through discounts on premiums for the year or a similar effect).
Finally, users can track their progress and see how well and often they respond to these pings, so they can see the long-term benefits of their improvements.
How we built it
This app was built on iOS using core graphics and animations for the game, and other basic frameworks for the rest of the app. It interacts with a server instance on azure which can give it current heart rate information (to spoof a heart rate monitor, which we didn't have access to).
Challenges we ran into
Unfortunately we realized early that none of the hardware provided would give us the heart rate data we needed, so we decided to build a model which could effectively re-create a heart beat dataset, which could then be used to test the app.
Accomplishments that we're proud of
We had an idea that had a lot of real world merit, but didn't fit our circumstances (no heart rate monitor). Instead of abandoning it for a second tier idea, we put even more work than we would have, and created an even more compelling prototype.
What we learned
We learned about the importance of the visual elements used in an app that helps you de-stress. Colours, sounds, and the overall experience should be finely tuned to match the expected needs of the user, to both encourage repeat usage and maximize results during use.
What's next for Zenotify
We're hoping to acquire wearables which can sense this heart rate data, so we can build a fully functional version of the app and launch to the app-store.
Share this project:


text:
Georgetown, Washington, DC
In the center of Georgetown, lying along Rock Creek is a 19th century garden park cemetery rivaled only by Boston's Mount Auburn Cemetery in graciousness and a sense of community.
Oak Hill Cemetery is a historic 22-acre cemetery and botanical garden located in the Georgetown neighborhood of Washington, D.C. It includes the Oak Hill Cemetery Chapel and Van Ness Mausoleum which are listed on the National Register of Historic Places.
Oak Hill Cemetery was founded by Mr. William Wilson Corcoran. In 1848, he purchased 15 acres along Rock Creek from relatives of George Washington. When the Cemetery Company was incorporated by Act of Congress on March 3, 1849, Mr. Corcoran contributed the land to the Company.
James Renwick, Jr., architect of the original Smithsonian Building designed the iron enclosure and the Chapel (built in 1849) which is a representation of the finest English specimens of old Gothic chapels. The cemetery itself is a major example of the 19th century Romantic movement, the natural and not formal English garden, an acceptance and blending of nature rather than a geometrical imposition.
Because of Oak Hill's age, its history is largely 19th century, with emphasis on the Civil War. The burials and monuments are mostly for that period. All lots were sold long ago and, until recently, the only new interments possible were in the few spaces remaining in old family lots. Recently, a new project has been started to renovate the paths and walkways.
GPS Coordinates: Latitude: 38.91280, Longitude: -77.05670
Oak Hill Cemetery
3001 R Street
Washington, District of Columbia
Other websites of interest:

source: HuggingFaceFW/fineweb-edu


text:
chemical constituents of the empty body were described by the allometric function by using BM and the empty body mass (EBM) as the predictors for morphological traits and chemical composition, respectively. We fitted the allometric scaling function by applying the SAS NLMIXED procedure, but to evaluate assumptions regarding variances in morphological and compositional traits, we combined the scaling function with homoscedastic (MOD1), and the heteroscedastic exponential (MOD2) and power-of-the-mean (MOD3) variance functions. We also predicted the ontogenetic growth by using the traditional log-log transformation and back-transformed results into the arithmetic scale (MOD4). We obtained predictions from MOD4 in the arithmetic scale by a two-step process, and evaluated MOD1, MOD2 and MOD3 by a model selection framework, and compared MOD4 with MOD1, MOD2 and MOD3 based on goodness-of-fit measures. Based on information criteria for model selection, heterogeneous variance functions were more likely to describe 10 over 36 traits with a low level of model selection uncertainty. One trait was predicted by averaging the MOD1 and MOD2 variance functions; and nine traits were better described by averaging the MOD2 and MOD3 variance functions. The predictions for other 16 traits were averaged from MOD1, MOD2 and MOD3. However, MOD4 better described 11 traits according to the goodness-of-fit measures. Depending on the variable being analyzed, the body parts and the chemical amounts exhibited the three types of allometric behavior with respect to BM and EBM, that is, positive, negative and isometric ontogenetic growth. Reference BMs, that is, 20, 27, 35 and 45 kg, were used to compute the net protein and energy requirements based on the first derivative of the scaling function, and the results were presented in reference to the EBM and EBM0.75. Both the net protein and energy requirements scaled to EBM0.75 increased from 20 to 45 kg of BM.
In the recent years it has been generally accepted that seismic parameters add an important observational constraint for the study of stellar populations and galaxy evolution. Padova-Trieste (PARSEC) evolutionary tracks are widely used to characterise stellar objects and stellar populations. Stellar models at the base of these studies suffer from uncertainties and, more important, degeneracy among different input parameters: stellar mass, chemical composition, central chemical mixing, age, etc. Adding seismic properties to the classic parameters for stars at different evolutionary states, from the H main-sequence to the asymptotic giant branch, is a powerful tool to calibrate physical processes in stellar models, and hence to improve our interpretation of Galactic and extra-Galactic observations.
Plants' ability to rebuild their tiller population is affected by weather changes and management strategies. The hypothesis of the present study was that frequency and severity of defoliation alter Mulato grass (Brachiaria ruziziensis × Brachiaria brizantha cv. Marandu) sward development, and the proportion of aerial and basal tillers, interfering with sward stability. The objective was to evaluate aerial, basal and total tiller population density and changes in tillering dynamics. Treatments corresponded to strategies of rotational grazing characterized by combinations between two pre-grazing (95% and maximum canopy light interception during regrowth; LI95% and LIMax) and two post-grazing conditions (15 and 20 cm stubble height). The experimental period comprised four seasons of the year: summer 2008 (February–March 2008); autumn–early spring (April to mid-November 2008); late spring (mid-November–December 2008); and summer 2009 (January–March 2009). Density of aerial tillers decreased from summer 2008 to late spring. Tiller death decreased from summer 2008 to autumn–early spring. Aerial and total tiller death increased from late spring to summer 2009, mainly for the LI95% treatment. No differences were observed in the tiller population stability index of aerial tillers for LI treatments or post-grazing heights. The balance between tiller appearance and death for basal tillers remained relatively stable from summer 2008 to late spring. For aerial tillers the balance decreased to negative values from summer 2008 to autumn–early spring for both LI treatments. For total tiller population, the balance decreased to negative values from summer 2008 to autumn–early spring. Results indicated a strong seasonal effect on Mulato grass tillering and growth. Tillering dynamics were affected primarily by grazing frequency, which changed the relative importance of basal and aerial tillers. The results suggested that basal tillering was the predominant perennation pathway.
We performed two different approaches (broth enrichment step prior to culture (BEC) and PCR (BEPCR)) for detecting Streptococcus pneumoniae from nasopharyngeal specimens collected from 242 children aged <6 years attending one hospital (n = 140) and one childcare centre (n = 102) in a major urban area in Brazil. These specimens were collected immediately before the introduction of the 10-valent pneumococcal conjugate vaccine (PCV10) and the 13-valent vaccine (PCV13) for routine use in Brazil. Results were compared with previous findings obtained with direct culture (DC) on a selective medium. Colonisation prevalence was 58·3% (n = 141), being higher among children attending the childcare centre (62·7% vs. 55%). The culture-based methods (DC and BEC) enabled the detection of S. pneumoniae in 119 (49·2%) and 115 (47·5%) children, respectively. The PCR-based method (BEPCR) was more sensitive and 137 (56·6%) carriers were identified. Twenty-six serogroups/serotypes were identified, predominantly 6B, 19F, 14, 6A, 15C and 23F. Multiple colonisation was observed in 13 (5·4%) children. The estimated serotypes coverage of available PCVs was 40·4% for the 10-valent (included in the Brazilian immunisation programme) and 55·8% for the 13-valent (only available in private clinics). The use of robust approaches to obtain a more realistic insight about the asymptomatic carrier status is of paramount importance to estimate and assess the impact of vaccine implementation. The combination between culture-based and molecular methods constitutes a suitable strategy.
Leishmaniasis are diseases caused by parasites of the genus Leishmania and transmitted to humans by the bite of infected insects of the subfamily Phlebotominae. Current drug therapy shows high toxicity and severe adverse effects. Recently, two oligopeptidases (OPBs) were identified in Leishmania amazonensis, namely oligopeptidase B (OPB) and oligopeptidase B2 (OPB2). These OPBs could be ideal targets, since both enzymes are expressed in all parasite lifecycle and were not identified in human. This work aimed to identify possible dual inhibitors of OPB and OPB2 from L. amazonensis. The three-dimensional structures of both enzymes were built by comparative modelling and used to perform a virtual screening of ZINC database by DOCK Blaster server. It is the first time that OPB models from L. amazonensis are used to virtual screening approach. Four hundred compounds were identified as possible inhibitors to each enzyme. The top scored compounds were submitted to refinement by AutoDock program. The best results suggest that compounds interact with important residues, as Tyr490, Glu612 and Arg655 (OPB numbers). The identified compounds showed better results than antipain and drugs currently used against leishmaniasis when ADMET in silico were performed. These compounds could be explored in order to find dual inhibitors of OPB and OPB2 from L. amazonensis.
Bicuspid aortic valve is the most common CHD. Its association with early valvular dysfunction, endocarditis, thoracic aorta dilatation, and aortic dissection is well established.
The aim of this study was to assess the incidence and predictors of cardiac events in adults with bicuspid aortic valve.
We carried out a retrospective analysis of cardiac outcomes in ambulatory adults with bicuspid aortic valve followed-up in a tertiary hospital centre. Outcomes were defined as follows: interventional – intervention on the aortic valve or thoracic aorta; medical – death, aortic dissection, aortic valve endocarditis, congestive heart failure, arrhythmias, or ischaemic heart disease requiring hospital admission; and a composite end point of both. Kaplan–Meier curves were generated to determine event rates, and predictors of cardiac events were determined by multivariate analysis.
A total of 227 patients were followed-up over 13±9 years; 29% of patients developed severe aortic valve dysfunction and 12.3% reached ascending thoracic aorta dimensions above 45 mm. At least one cardiac outcome occurred in 38.8% of patients, with an incidence rate at 20 years of follow-up of 47±4%; 33% of patients were submitted to an aortic valve or thoracic aorta intervention. Survival 20 years after diagnosis was 94±2%. Independent predictors of the composite end point were baseline moderate–severe aortic valve dysfunction (hazard ratio, 3.19; 95% confidence interval, 1.35–7.54;


text:
The Dino-Lite AM4113T-GFBW digital microscope is optimized for research and viewing fluorescent objects by using blue LEDs. It has a 510nm emission filter that is designed to observe green fluorescence including but not limited to GFP (green fluorescent protein).
Compared to the traditional fluorescence microscope's band-pass type of emission filters, the Dino-Lite's high-pass type emission filter provides visibility and sensitivity over a larger range of the fluorescence wavelength. Green fluorescent objects pop out under the microscope and you can clearly see its green glow. The AM4113T-GFBW has the capability of switching the light source from the blue to white LEDs which is convenient for locating the object and obtaining an easy focus.


Redesigning PECE - Founder Interviews
Web design has long followed traditional HCI and UX principles, making most platforms prioritize ease of use and efficiency. While design guidelines have resulted in platforms that feel intuitive to users, the focus on ease of use and efficiency has necessitated de-prioritizing other worthwhile endeavors. The Platform for Experimental and Collaborative Ethnography (PECE) is an innovative approach to online research and collaboration. Its creators wished to envision a new web interface. What would a platform look like that doesn't rely on hierarchy? What if the platform prioritized noise, instead of clarity? How can we design a platform that encourages questions, rather than answers?
This project explores how to design PECE to leverage these new design principles while still maintaining a usable platform. The research plan includes:
 1. Identifying broad goals for PECE by interviewing several PECE founders and key stakeholders;
 2. Identifying how users are currently using PECE, both the specific tasks they are trying to accomplish, and the larger aims they have for using PECE;
 3. Articulating the overlaps and mismatches between founder goals and user goals;
 4. Using the data generated to map the user journey, including envisioning how a user would ideally encounter the platform and conducting user studies to see how tasks are performed and where those tasks break down;
 5. Generating several prototypes;
 6. Testing prototypes with different user groups;
 7. Iterating prototype design and user research as needed.
Through this project, we hope to redesign PECE in a way that continues to encapsulate founder visions for the platform while resolving task-level pain points. More broadly, we hope to reconceptualize traditional HCI principles by demonstrating that, in this case, rules are meant to be broken.
This PECE Essay focuses on step 1, and to a lesser extent, step 2 of the research plan.
All rights reserved.
Created date
December 16, 2020


text:
Bottle uses a powerful routing engine to find the right callback for each request. The tutorial shows you the basics. This document covers advanced techniques and rule mechanics in detail.
Router distinguishes between two basic types of routes: static routes (e.g.
/contact) and dynamic routes (e.g.
/hello/). A route that contains one or more wildcards it is considered dynamic. All other routes are static.
Changed in version 0.10.
The simplest form of a wildcard consists of a name enclosed in angle brackets (e.g.
). The name should be unique for a given route and form a valid python identifier (alphanumeric, starting with a letter). This is because wildcards are used as keyword arguments for the request callback later.
Each wildcard matches one or more characters, but stops at the first slash (
/). This equals a regular expression of
[^/]+ and ensures that only one path segment is matched and routes with more than one wildcard stay unambiguous.
// matches as follows:
You can change the exact behaviour in many ways using filters. This is described in the next section.
New in version 0.10.
Filters are used to define more specific wildcards, and/or transform the matched part of the URL before it is passed to the callback. A filtered wildcard is declared as
. The syntax for the optional config part depends on the filter used.
The following standard filters are implemented:
- :int matches (signed) digits and converts the value to integer.
- :float similar to :int but for decimal numbers.
- :path matches all characters including the slash character in a non-greedy way and may be used to match more than one path segment.
- :re[:exp] allows you to specify a custom regular expression in the config field. The matched value is not modified.
You can add your own filters to the router. All you need is a function that returns three elements: A regular expression string, a callable to convert the URL fragment to a python value, and a callable that does the opposite. The filter function is called with the configuration string as the only parameter and may parse it as needed:
app = Bottle() def list_filter(config): ''' Matches a comma separated list of numbers. ''' delimiter = config or ',' regexp = r'\d+(%s\d)*' % re.escape(delimiter) def to_python(match): return map(int, match.split(delimiter)) def to_url(numbers): return delimiter.join(map(str, numbers)) return regexp, to_python, to_url app.router.add_filter('list', list_filter) _USER_.route('/follow/') def follow_users(ids): for id in ids:...
Changed in version 0.10.
The new rule syntax was introduce in Bottle 0.10 to simplify some common use cases, but the old syntax still works and you can find lot code examples still using it. The differences are best described by example:
|Old Syntax||New Syntax|
Try to avoid the old syntax in future projects if you can. It is not currently deprecated, but will be eventually.
Explicit routing configuration¶
Route decorator can also be directly called as method. This way provides flexibility in complex setups, allowing you to directly control, when and how routing configuration done.
Here is a basic example of explicit routing configuration for default bottle application:
def setup_routing(): bottle.route('/', 'GET', index) bottle.route('/edit', ['GET', 'POST'], edit)
In fact, any
Bottle instance routing can be configured same way:
def setup_routing(app): app.route('/new', ['GET', 'POST'], form_new) app.route('/edit', ['GET', 'POST'], form_edit) app = Bottle() setup_routing(app)


text:
Here is a quick guide to vendor creation on QuickBooks.
- To access the vendor centre, click on vendors on home screen
- It looks like the customer centre. Selecting any vendor name on left would show up their information on the right.
- Type, address, map to their office, transactions, payments, purchase orders etc, are all viewable.
- You can also choose the dropdown arrow beside date, to choose a range of date for viewing records in that time.
- If you want to see the amount of money you gave to a vendor in a time frame, you may see it from here.
- There are Contacts, To Do, and Notes tab.
To create a New Vendor the steps are given below:
- At the top left click new vendor, and again on New Vendor
- Enter all information like name, opening balance, contact no, billing and shipping address
- From payment settings tab enter account no, credit limit, payment terms, and how QuickBooks would print the vendor name on check
- From tax settings you may check or uncheck if vendor is eligible for 1099
- Under accounts settings you may set if the vendor is liable for any expense to you.
- In additional info tab choose vendor type, and click ok.
- Now you see the vendor has been created with all info showing on the right side.
You may have questions related to Alteration Vendors in QuickBooks:
- How do I print a list of vendors in Quickbooks?
- How do you make a partial payment on a bill in Quickbooks?
- What is a vendor in quick books?
- How to Alter Vendor Numbers in QuickBooks?
- How QuickBooks expense categories list can be altered?
- How to Merge Vendors in QuickBooks?
- How do you mark a bill paid in Quickbooks?
- How to Refund from Vendor in QuickBooks?
- How to Delete Vendor in QuickBooks?
- How to edit expense categories in QuickBooks online?
- What Difference Between Customer and Vendor in QuickBooks?
Hopefully, with the steps given above clearly you can now easily edit and create vendors in QuickBooks. But, if you still face any kind of problem in understanding the steps or accessing the points properly, then you can give us a call @ to QuickBooks support team without any hesitation.


2
Is there a tool for ArcMap 10 that fills a given polygon with point geometries?
The points should have a pre-defined distance between themselves, but the points position can vary. Fishnet is not an option because it wont create points based on the polygon's shape.
I first thought of using the Network Analyst extension but that seems to need a network layer, which doesn't exist in my case.
Here is an example of the fill-pattern I'm thinking of. Now let's say the minimum distance between each point is 100 meters. Some adjacent points have a greater distance because of the shape of the polygon
example
I hope it's a bit clearer now what I'm searching for
4
 - What do you mean by "should have a pre-defined distance between themselves, but the points position can vary"? Can you include a picture?
 – PolyGeo
 Mar 21 '16 at 10:17
 - I added an example. Please let me know if this clarifies it.
 – kitty
 Mar 21 '16 at 11:12
 - Do these points need to be features, or could this be a cartographic representation or other symbology?
 – RHB
 Mar 21 '16 at 19:52
 - How about the Create Random Points tool (Data Management Tools > Feature Class)?
 – RHB
 Mar 21 '16 at 19:56
3
EXPERIMENT:
I placed points at 200m apart using script from this post and extent much bigger than polygon of interest:
enter image description here
I've made it topmost layer in the current mxd table of content.
I placed polygon layer below and finally created empty point feature class and made it 3rd from the top. These 3 layers are inputs to the script below.
RESULT:
Shows one of many possible solutions, where point count increased from 19 to 24: enter image description here
As I mentioned in my comments, there are 3 parameters to optimise. I don't have scipy installed this is why I applied following tactic:
 1. Define near point (pClose) on the polygon outline for every point outside polygon and within 200m. Calculate coordinate shifts (dX,dY)
 2. Shift all points by dX, dY
 3. Rotate all new points around pClose, find angle which result in maximum point count inside polygon
 4. Apply best point and angle to original dataset
One of the application is optimisation of pivot irrigation system. In this case coverage increased by 16%.
SCRIPT:
import arcpy, traceback, os, sys,math
from math import radians,sin,cos
mxd = arcpy.mapping.MapDocument("CURRENT")
layers=arcpy.mapping.ListLayers(mxd)
[triPoints,pGonLayer,outFC]=layers[:3]
L=200
gr=(math.sqrt(5)-1)/2
try:
 def showPyMessage():
 arcpy.AddMessage(str(time.ctime()) + " - " + message)
 #golden section to find minimum
 def gss(a,b,tol):
 c=b-gr*(b-a)
 d=a+gr*(b-a)
 while abs(c-d)>tol:
 fc=f(c);fd=f(d)
 if fc<fd:
 b=d
 d=c
 c=b-gr*(b-a)
 else:
 a=c
 c=d
 d=a+gr*(b-a)
 return (b+a)/2
 # rotate points
 def rPoints(angle):
 a=radians(angle)
 movedPoints=[]
 for p in allPoints:
 x,y=p.X-pClose.X,p.Y-pClose.Y
 xN=cos(a)*x+sin(a)*y
 yN=-sin(a)*x+cos(a)*y
 pN=arcpy.Point(xN+pClose.X,yN+pClose.Y)
 if pgon.distanceTo(pN)==0:
 movedPoints.append(pN)
 return movedPoints
 #function to minimise
 def f(a):
 inside=len(rPoints(a))
 return len(allPoints)-inside
# get polygon
 with arcpy.da.SearchCursor(pGonLayer, "SHAPE@") as rows:
 for row in rows:pgon=row[0]
# get points inside and nearby
 pointsInside=[];nearPoints=[]
 with arcpy.da.SearchCursor(triPoints, "SHAPE@") as rows:
 for row in rows:
 p=row[0].firstPoint
 D=pgon.distanceTo(p)
 if D==0:pointsInside.append(p)
 elif D<=L:nearPoints.append(p)
 allPoints=pointsInside+nearPoints
# iterate through near points
 pBoundary=pgon.boundary()
 nMax=len(pointsInside)
 arcpy.AddMessage("Original count of points %i" %nMax)
 for p in nearPoints:
 chainage=pBoundary.measureOnLine(p)
 pClose=pBoundary.positionAlongLine(chainage).firstPoint
 angle=gss(-60.0,60.0,0.01)
 nCur=len(rPoints(angle))
 if nCur>nMax:
 nMax=nCur;bestAngle=angle;bestPoint=pClose
 arcpy.AddMessage("\nCount of %s achieved at %i degrees angle\n" %(nMax,bestAngle))
# transfer results
 pClose=bestPoint
 movedPoints=rPoints(bestAngle)
 arcpy.AddMessage(len(movedPoints))
 curT=arcpy.da.InsertCursor(outFC,"SHAPE@")
 for p in movedPoints:
 curT.insertRow((p,))
 del curT, mxd
except:
 message = "\n*** PYTHON ERRORS *** "; showPyMessage()
 message = "Python Traceback Info: " + traceback.format_tb(sys.exc_info()[2])[0]; showPyMessage()
 message = "Python Error Info: " + str(sys.exc_type)+ ": " + str(sys.exc_value) + "\n"; showPyMessage()
2
Since you asked specifically if there is a way to do this with out-of-the-box ArcGIS tools, here is a solution to do it with existing tools. This could also be automated with scripting.
This is the workflow I used.
 1. Use Multiple Ring Buffer tool, creating negative buffers, say -100, -200, -300, etc. until you cover breadth of polygon.
 2. Use Feature To Line tool to convert polygons to lines, with original polygon and negative buffers as input. Include both the original polygon and the buffers as input.
 3. Project the resulting line feature class, if necessary. You want the horizontal units to be meters or feet.
 4. Create an Id field (Long) and populate it (just copy ObjectId).
 5. Use Create Routes tool (use distance as the measure).
 6. Create an event table, creating points at the desired distance along the routes.
 7. Use the Make Route Event Layer tool to create points based on your event table. Make sure you check the box to create an error column.
 8. Select the points you want to keep , LOC_ERROR = NO ERROR. You may need to remove points too close together at the end/start of the lines.
 9. Use the Feature To Point tool, with the inside-most buffer as the input, to create a point in the space left in the inner-most buffer. The result should be a single point in the center of the original polygon.
 10. Merge the centroid and the event points into one feature class, using the Merge tool.
This is what the result looked like. I also showed the negative buffers, just to show better how it all fits together. enter image description here
enter image description here
2
1
How about the Create Random Points tool (Data Management Tools > Feature Class)?
_URL_
3
 - I don't think it is going to work. OP is about points that will create equal sided triangles
 – FelixIP
 Mar 21 '16 at 20:01
 - @FelixIP I don't see OP mentioned. If triangles are wanted, isn't there a process for dividing polygons into triangles? I can't remember what it is called. It would be like creating a TIN, except just keeping the vertex points between all the triangles.
 – RHB
 Mar 21 '16 at 20:24
 - Create equidistant points is easy, e.g. gis.stackexchange.com/questions/142334/… This Q is about optimisation of 3 parameters, X,Y for point of origin plus rotation
 – FelixIP
 Mar 21 '16 at 20:33
Your Answer
By clicking "Post Your Answer


FabienM FabienM - 1 year ago 78
Scala Question
What does '&' and '%' mean in operators -&, -%, +&, +% in Chisel3?
I'm trying to learn Chisel3 with the GCD example given in official web page. This example use operator named -%, what does that mean ?
It's not explained on Wiki operator page. And Cheatsheet says "substraction" as the normal substraction symbol '-'.
Then what is the difference between simple substraction '-' and percent substraction '-%' ?
[edit]
Ok, I found the definitions of these functions under chisel3 code :
// TODO: refactor to share documentation with Num or add independent scaladoc
def unary_- : UInt = UInt(0) - this
def unary_-% : UInt = UInt(0) -% this
def +& (other: UInt): UInt = binop(UInt((this.width max other.width) + 1), AddOp, other)
def + (other: UInt): UInt = this +% other
def +% (other: UInt): UInt = (this +& other) tail 1
def -& (other: UInt): UInt = binop(UInt((this.width max other.width) + 1), SubOp, other)
def - (other: UInt): UInt = this -% other
def -% (other: UInt): UInt = (this -& other) tail 1
def * (other: UInt): UInt = binop(UInt(this.width + other.width), TimesOp, other)
def * (other: SInt): SInt = other * this
def / (other: UInt): UInt = binop(UInt(this.width), DivideOp, other)
def % (other: UInt): UInt = binop(UInt(this.width), RemOp, other)
def & (other: UInt): UInt = binop(UInt(this.width max other.width), BitAndOp, other)
def | (other: UInt): UInt = binop(UInt(this.width max other.width), BitOrOp, other)
def ^ (other: UInt): UInt = binop(UInt(this.width max other.width), BitXorOp, other)
With & operator the result of substraction or addition will be the size of the bigest operand plus one bit.
But with % operator the result of operation will be the size of the bigest operand ... as with normal + or -. Then what is the difference between - and -% and between + an +% ?
Answer Source
My apologies for not including this information on the Wiki operator page, I will add it shortly.
You have hit the nail on the head with your edit: +& and -& are expanding operators in that the width of the result is equal to the size of the widest operand plus 1. +% and -% are non-expanding operators in that the width of the result is equal to the widest operand.
+ just aliases to +% while - aliases to -%.
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download


text:
When you use LINE regularly, cached data and data from your chats start to build up. This data can cause the app to run slowly, so we recommend deleting it on a regular basis.
To delete the LINE app's cached data:
1. Tap the Home tab > Settings > Chats.
2. Tap Delete data > Cached data.
3. Tap Delete selected data > Delete data.
Note: You can also choose to delete photos, voice messages, and files that were sent in your chats.
To delete data from individual chats:
1. On the Chats tab, tap the chat you want to delete data from.
2. Tap the menu icon at the top of the chat screen.
3. Tap Other settings > Delete data.
4. Tap Delete selected data > Delete data.
Thank you for your feedback.
Was this page helpful?


Monthly Archives: February 2012
Book Club
Room for the awesome
I loved the article by Metzger on the Socratic Seminar format that she used in her classroom. I loved it because, aside from teaching algebra, my favorite thing to do as a sub was read with kids and talk about what we had read. And one of my favorite things to do as an adult is consume, analyze, and talk about stuff. Case in point, the number of text messages flying back and forth between my cousin and me after he lent me his copy of Extremely Loud and Incredibly Close by Jonathan Safran Foer this summer. My most memorable learning experiences as a student and a human have been in a Socratic setting.
What I do not love are the book club discussion questions that seem to be occurring more and more frequently in the backs of books. What unimaginative, uninteresting questions! If you're going to have a book club, at least go the extra step of requiring people to articulate a thought or question for discussion based on their own reading and not someone else's. This is what Metzger finds, too, when she notices how she derails conversation when she attempts to direct the discussion. This is also what I found as a sub. Frequently, teachers have some kind of prepared list of questions that they ask at the end of a reading, and these questions were invariably the least interesting part of talking with the kids about their experiences with the text.
I've been away at a conference for the last few days, and here's a short list of things I noticed:
 - When you aren't prepared for a presentation, people notice. They especially notice when you make a point of telling them how last minute your preparation for the presentation is.
 - There are few things more boring than listening to someone read a presentation word-for-word off a sheet of paper. Or, as is more frequently the case, multiple sheets of paper.
 - The best, most effective presentations are well thought out but leave lots of room for interaction.
So, here's what I'm saying, and this relates to the Metzger article as well as my work experience and conference experience: Plan, prepare, think, and then just let go. Don't be afraid. You need to leave room for the awesome to happen.
Gaming and self-promotion
So many great discussions in class this week. The conversation we had about gaming was just fascinating. For me, there are two key points that I will continue to mull over.
1. Motivation: Jane McGonigal is exactly right that whatever it is that motivates people to spend so much time gaming is worth exploring. What is it and how do we leverage it?
2. Experiential learning: This is where I think that gaming in an educational context can be really effective. If the game is about exposing students to a range of experiences in a "safe" environment, I believe that teachers can take that experience as the baseline for reflection and discussion. The learning happens on the reflection. The game can facilitate that.
Case and point: This American Life, episode 424, Act I: Trickle Down History
I also want to touch on something that came up in our Blogger Issues discussion: The use of blogs for self-promotion. I realize that I was the one who brought the topic up initially in our discussion, and I've thought a lot about it since because it was a kind of in-the-moment realization for me. Somehow, the thought of librarians using their blogs for self-promotion is a bit distasteful, or at least a little uncomfortable. And yet, a blog is inherently about a person's thoughts and opinions and therefore inherently self-promoting. And, libraries and librarians have a bit of a marketing problem. We aren't good at talking to the public about what we really do and why we do it. Is the discomfort because of personal marketing in general? Or is it because, for better or worse, those librarians that are best at self-promotion are the voice of libraries to the public and what they are saying is uncomfortable?
Right place, right time
Restored from the trash bin, posted for the correct week this time.
I pulled this from the Wiggins and McTighe article:
"We recommend that schools develop a public syllabus for every course, which articulates the course's transfer-meaning-acquisiton priorities and concomitant assessments. Such an approach offers a practical means of freeing high school instruction from the dominance of the textbooks and its emphasis on acquisition. The textbook should serve as a resource, not as the syllabus."
I am intrigued by the idea of a public syllabus. Where is this syllabus posted? Who has access to it? I can see how using and organizational structure like the one proposed in the article could really help teachers to understand why they are teaching a particular lesson and what their goals are at each step. I am sure that articulating the transferability of a course could also help a teacher to address transfer. I wonder how putting this knowledge in a public forum might effect the public's approach to education.
How People Learn says that "knowledge that is overly contextualized can reduce transfer; abstract representations of knowledge can help promote transfer" (53). I find this concept to be a knife edge. We want to provide good context, so that a student can effectively complete a task, but we don't want to confine learning to the context or they won't transfer. This is particularly hairy when you also consider that "it is important to be realistic about the amount of time it takes to learn complex subject matter." (56) Very possibly, the transfer won't take place until much, much later. Then what?
A Short (possibly misguided) Rant
I was a little bummed that we didn't talk about Jane McGonigal's TED talk in class this week. She said a lot of things that made me sit back, cross my arms, and raise an eyebrow. While I find most of her premise very compelling, she didn't talk about the most compelling part – the part where where the gamers actually take what they've learned in the game and apply it to the real world.
I wholeheartedly agree that gaming is an essential part of the human experience and that it is as important for survival as food and water. Of course, I believe that about all things that allow us to express our humanity. There's a whole field devoted to musical anthropology, which essentially proves that music and dance were practiced at a time when the basic human needs were not being reliably met. This means that, unlike many people who believe that music and dance (and other expressive arts) are hedonistic pleasures that only developed when people got enough free time to spend it doing things other than fulfilling basic needs, music is an essential part of the human experience. This is proven with bows that can be deconstructed after a long day of hunting to form percussion instruments and extremely primitive flutes that have no business being found in some of the harshest and least hospitable parts of the ancient world.
Anyway, that's a digression from my original point which is, basically, show me. Show me a gamer who truly takes what he or she has learned in a game about perseverance and epic wins and applies it to the real world.
She seems to be saying that if we could only structure the real world so that people are always given a challenge they can accomplish with their current skills, the world would be much better. I agree. The world would be much better if I always knew that I was going to accomplish what I set out to do, but that is just not realistic. Nor, frankly, do I want someone telling me what I can or can't accomplish.
And anyway, my biggest issue isn't even with what Jane McGonigal said, but with the consistent misinterpretation of the 10,000 hour rule. In fact, when she pulled out that hypothesis, one short, pithy word may have almost popped out of my mouth. I have a few issues with Malcolm Gladwell's Outliers, but I find his premise to be fairly solid. Here's what popular citation of the 10,000 hour rule generally ignores: 10,000 hours only makes you as good as you can be, which may or may not be as good as the next person. 10,000 hours does not mean that you will be successful. Success requires a whole host of other things including opportunity and access. And 10,000 hours does not have to be achieved before you can start to make a difference.
Assessing the Gap
Sooooooooo…. it turns out I'm not terribly information literate. I have trouble, for instance, reading charts and calendars. This lack of information literacy has led to a rather terrible error on my part. I did next week's readings and posted about them yesterday. Luckily (or unluckily for my schedule) I have caught my mistake, and below you will find a response to this week's readings. If you read my previous blog post and wondered what the heck was going on, sorry about that. I have taken down the post and will re-post it next week, at the appropriate time.
I've talked a bit about formative assessment here before. I really liked the Sadler article this week. I felt that the analysis of the strengths and weaknesses of formative assessment was solid, and I liked that the author attempted analogies that would spread across many different subject areas. Having said that, I feel the article skewed towards the creative arts. I would have liked to see more analogies that would apply to math or science. Still, this article really spoke to my experience


Documentation
isLocked
System object: comm.HDLCRCGenerator
Package: comm
Locked status for input attributes and nontunable properties
Syntax
L = isLocked(H)
Description
L = isLocked(H) returns the locked status, L, of the HDL CRC Generator System object™, H.
isLocked returns a logical value that indicates whether input attributes and nontunable properties for the object are locked. The object performs an internal initialization the first time that you execute step. This initialization locks nontunable properties and input specifications, such as the dimensions, complexity, and data type of the input data. After locking, isLocked returns a true value.
Input Arguments
H
HDL CRC Generator System object
Output Arguments
L
Logical value. Either 1 (true) or 0 (false).
Was this topic helpful?


Latest release of socket server code
The latest release of the free version of my asynchronous, windows, IOCP based, socket server framework can now be obtained from here at
The latest release is really just a bug fix and compiler compatability release. The code now supports Visual Studio 2005 (as well as VC6, Visual Studio.Net (2002) and Visual Studio 2003). I've fixed the memory leak bugs that were present in the ThreadPoolLargePacketEchoServer sample and worked around the iostream leak that's present in the Visual Studio 2005 version of STL. I've also included a set of build configurations for the basic echo server that builds the system with STLPort rather than the standard Visual Studio STL.
The bug fixes are reported here. Please note that this version of the code still suffers from poor handling of low resource issues; see here for the kind of things that could leave you with an unresponsive server.
I expect that this will be the last release of the free code. Though, I expected that last time too ;)
The example servers are as follows:
 - EchoServer - the basic example server that simply echoes back the data it receives.
 - PacketEchoServer - a server that echoes back complete packets, each packet starts with a length indicator. This is slightly more "real world" as many protocols have a header that indicates the length of the packet that follows.
 - SimpleProtocolServer - a server that operates on variable length packets that are terminated with a \r\n sequence. This is the other common way to determine how much data the client is sending in one "command". Things like SMTP and POP3 use this style of protocol.
 - SimpleProtocolServer2 - a version of the SimpleProtocolServer above that uses a separate thread pool to actually process the requests. This is potentially useful if the requests will block (such as requests to a database, perhaps). If you have X IO threads and all of them are engaged in a blocking activity at once then your communications subsystem stops responding! This server architecture avoids that problem by passing complete command packets to another thread pool via an in process FIFO queue so that the blocking operations do not adversly affect the communications subsystem.
 - ThreadPoolLargePacketEchoServer - a really contrived example that I've only ever used to demonstrate some theory. This server is a packet echo server that runs the communications subsystem with a small buffer size and yet requires that the server only echo packets that do not fit completely in the small buffer size. This means that the server copies data from the IO buffers into "transfer buffers" that it then passes to another thread pool to echo. I've never found a use for this architecture but it might be useful if your protocol uses buffers that are 99% one size and occasionally bigger...
I recommend using the simplest server architecture that you can. That means you're probably looking for something based on either the second or third example. If you access a database or other slow, blocking, non async device then you should probably use a variation on server four. If you think you really need to use the fifth server as a base get in touch and I'll talk you out of it ;)
Due to how I have my CVS repository structured and how I like to work on servers in isolation (I sometimes work on multiple servers at once and like to build/rebuild them without affecting other work in progress), each server has its own copy of the "tools" library.
Please report any bugs that you may find via email.
You probably need the platform SDK to build the code. See disclaimers on the previous release and on the original code project articles for more details.
If you need more than this free code provides then take a look at the rest of for details of The Server Framework a licensed and fully supported high performance server framework.
Updated: 18 Feb - fixed a bug in the new version of ToString()
Updated: 25 Feb - added the files for the CStringConverter class so that the fix I added on the 18th actually compiles!
Updated: 27 Oct - bug fix for CSocket::InternetAddress - see here for details
Updated: 14 March - link to the differences between this free version of the code and the licensed version: see here.
Updated: 10 Jan 2008 - bug fix for the write sequencing memory leak and data loss - see here for details
Updated: 12 Jan 2008 - bug fix for the potential deadlock bug - see here for details
Updated: 21 April 2009 - see here for a bug fix for a connection termination issue that leaves I/O threads unresponsive (note that this fix is not currently included in the code on this page.
Updated: 4 October 2010 - moved the code to
There seems to be some wierdness with the new implementation of ToString() on VC6. Will post a fix when I have one.
The wierdness was me ;) The new version of ToString() used std::wostringstream for the wide character version whereas the original code used the narrow version and then converted the result. There's a good reason for doing it the old way... Since on VC6 (and optionally on later compilers) wchar_t is, in fact, unsigned short the wide streams can't stream an unsigned short as they assume it's a string...
Hi Len,
I was testing various completion port based server solutions and finally I decided to play longer with your solution. I am really impressed with the quality and usability of your JetByte server tools.
I found a small problem trying to use "". The compiler complains that it cannot find "CStringConverter::AtoW" when building unicode version of SimpleProtocolServer2. Is the CStringConverter class a standard one?
Thanks for the compliment.
I'll check the build, I adjusted a couple of includes at the last minute due to the ToString() changes and I expect it's a precompiled header issue.
I've fixed that problem and uploaded a new zip file. There were two missing files (for the CStringConverter class). This came about because I first fixed the VS2005 ToString() leak in this code and then ported it to my latest libraries, they don't use USES_CONVERSION as it's evil ;). I added some tests to the new code and found the unsigned short issue with the new code so I fixed the bug in the new lib and then ported the code back to the old socket server codebase. Looks like I didn't try a compile before I shipped it! Unusual for me to be this slack but I've had a bit of a week.
Hi Len,
thanks for the wonderful code. I'm (re)using your framework and it works great. One thing that i'm trying to achieve is to introduce priority queues in the framework so I can provide a prioritized service depending on a type of the message. Would you have any suggestion what approach to take. I would really appreciate your thoughts.
best regrads.
I dont have a priority queue class. I guess I'd probably build one using an std::list of std::lists of items a critical section to make it thread safe and a semaphore to allow me to wait on it having entries...
Once you have that working then you could replace the IOCP between the IO threads and the "business logic" threads with your priority queue and you're done...
Hi Len,
This library looks terrific. You mention that we can pay a fee to subscribe to get the latest version. What is the fee and how do we subscribe? I don't see your e-mail address on here anywhere.
Contact details are on the main page, on the right, under links...
I've emailed you details.
First of all, your great solution.
In this version, When the client's socket is disconnected,
CThreadPoolWorkerThread::OnConnectionClosing function is called. But sometimes is not called.
Is something wrong?
Also CThreadPoolWorkerThread::OnConnectionClosed function is not implemented.
If I want to call OnConnectionClosed, how do I?
For example, I customized the code like below.
Is right? :(
enum DispatchEvents
ConnectionClosed, // added
bool CSocketServer::OnConnectionClosed( Socket *pSocket)
return true;
// added new func
void CThreadPool::DispatchConnectionClosed(
Socket *pSocket)
DoDispatch(pSocket, 0, ConnectionClosed);
sorry for my english.
OnConnectionClosing() is called if the server initiates the socket closure, you should also handle OnConnectionClientClose() to deal with situations where the client closes the connection and OnConnectionReset() for errors, etc.
OnConnectionClosed() is called once the socket itself has been closed, this may be in response to an explicit call to Close() from the server code or due to the reference count on the socket reaching 0.
Hi Len
I would like to implement a server containing both the broadcast server and the tcpserver handling multiple connections, do I need to create one iocp handle for both or just use one iocp handle for each?
I dont understand the question... Are you using my source code? If so I assume you're asking if you can create one instance of the IOPool and share that between servers? If so, then yes, see the EchoServer example code for details.
Hi Len,
Suppose I have to connect() to some other tcp based servers in parallel with running your tcp server. Can i connect() to the any remote server and add my socket to the iocp handle to participate in iocp events for WSARecv() and WSASend() completion events for those sockets? If yes, how to do this?
Yes, all of the new servers allow outbound connections and they share the iocp, io threads, socket and buffer pools with any inbound connections


Selecting Scales for a DRO - Six Parameters that Matter
Thursday, December 5, 2013
Things were easy when iGaging "Remote DRO" were the only scales Android DRO supported. Now that it can work with most of the common scales things are becoming a bit more confusing, judging from the number of emails I've been getting lately. With other things being equal, the choice of scales will have the biggest impact on you DRO's performance. There is a number of options, ranging from cheap Chinese calipers to glass scales and other quadrature encoders. Although I can't definitively answer the question "which scales should I use for my DRO setup", in this post I'll try to explain which parameters matter most in a DRO application.
Most of the scales used in hobby DROs fall under one of the two major categories: capacitive scales and quadrature encoders. The former category encompasses things like AccuRemote and iGaging DigiMag* scales, digital calipers and the common "Chinese" linear scales that look like large calipers with jaws cut off. The latter consists of glass linear scales and rotary encoders as well as magnetic scales. Generally, capacitive scales are much less expensive but have some shortcomings, thus most of the commercial DRO units use either glass or magnetic scales. If money is not an issue you can stop reading and get a set of brand-name glass scales
*Many retailers have the word "magnetic" in the product name or descriptions. This is a bit misleading, since the scales are not magnetic; the DRO display can be magnetically attached to the machine. These are capacitive scales and should not be confused with magnetic quadrature scales.
Deciding Factors
There are a few factors that will drive your decision. In addition to the technical parameters, such as accuracy, resolution and reliability, there is an issue of cost and availability. I think a good place to start is to clarify what each of those parameters means and how it might influence the end result.
Resolution determines how fine the measurements will be. For example, the micromenter in the picture above has much better resolutions at 0.0001" than either of the rulers. For the purposes of the DRO the value that matters is counts per inch [for linear scales] and counts per revolution for rotary encoders.
Accuracy is often confused with resolution but it's a very different parameter. Accuracy tells you how close the reading from the scale will match the actual dimension. For example, when you measure a 1" standard, an accurate scale will read exactly one inch, while a bad one will show a different value. It's possible to have very high resolution but very poor accuracy. I.e. if I grind off some metal off the micrometer's anvil, it will still have the same resolution but won't be accurate at all.
Side note: Please keep in mind that some manufacturers/retailers often use the term "accuracy" to encompass such important parameters as repeatability, hysteresis and runout.
Repeatability defines how close together a set of successive readings will be to each other. For example, I can affect the readings from a micrometer by applying different amounts of torque, so the readings won't be repeatable (unless I use the clutch properly). In other words, when you move a scale by exactly one inch several times (from the same starting position), a repeatable scale will provide readings that are identical or very close together.
Hysteresis is the amount of travel the reading head can move before the scale starts registering the change in position. The best way to see the hysteresis is to first move the scale one way by exactly one inch in one direction, then by the same amount in the opposite direction, and compare the readout. In essence this can be thought of as scale's backlash.
Runout is another aspect of the overall accuracy that is as important as the repeatability. In a nutshell it describes how uniform the resolution of the scales is. For instance, when you move the scale from one end to the other in exactly one inch increments a good scale will give you a series of identical readings. You can think of runout as deviation in resolution over the scales length. If there is any difference it will lead to an error of measurement that will accumulate over longer distances.
Reliability is a somewhat subjective value and depends to a large degree of the shop environment, usage etc. Every scale will fail under some conditions, so it's up to you to determine what your particular usage envelope will be and if the scales are fit for it. Never the less some scales will be more reliable and last longer as a result of better protection, higher quality materials etc.
Practical Implications
All of the above parameters will influence the overall performance of the DRO. I've noticed that people tend to be most concerned with the resolution. Although its true that [to a point] a higher resolution will let you hold tighter tolerances, it's only one of the key factors you should look at. In practice repeatability is even more important specification, as it determines the overall performance of a DRO. For instance, 0.0001" resolution is pretty much worthless when the scale is only repeatable to 0.005". Moreover, as long as the scale is repeatable, the software can compensate for the offset, as long as it's constant.
Consider the illustration below; the first two cases will work equally well in a DRO, since the application will compensate for the offset. Third case is less precise but will get you in the "ball park". The last case, though, is pretty much worthless for any precision work as the readings will be all over the place.
Accuracy vs. Repeatability
Second most important property is the runout. Similar to the repeatability, runout determines the DRO's accuracy. Imagine that you need to drill a row of holes exactly 1.000" apart. If a scale has high runout, the holes will not be spaced equally.
Runout can be thought of as repeatability over the scales length
Finally, high hysteresis will add some "backlash" to the DRO. Most glass and magnetic scales have very small hysteresis; calipers and other capacitive scales list this parameter, unfortunately.
Effect of scale hysteresis is similar to backlash
Most of the scales you will come across will have resolution of at least 0.0005", which is more than adequate for most metal work.
One value that I haven't mentioned above is the scales refresh rate. I.e. the frequency at which the scale will report the position to the interface. If the refresh rate is too low there will be perceivable lag between the machine's movement and the DRO display. In my experience a refresh rate of 20Hz or above feels pretty much "real-time", while 5Hz and less is noticeably laggy.
 1. Nice and well written analysis. Everything seems much clearer now.
 2. Yuri, I would like to add a controller for (older) Heidenhain glass scales (example: LS803). These have an analog output, two phases. Each phase provides about 25 microamps, peak-to-peak. To help me in repairing a broken scale I build a transimpedance amplifier that converts this to a 5 volt peak-to-peak signal. The typical period of the scales is 40 microns or 20 microns. So to count, I need to track the "phase circle": to get one count every five microns I need to identify either 8 or 4 counts per circle. This is easy enough to code up. Would you suggest I try producing new controller code or modifying the existing code to do this? Bruce
 1. Bruce,
 If I were you, I would use a circuit similar to the "voltage converter" I built for the mixed scale controller to convert your since/cosine waves to a 50% duty cycle square wave. You don't want to be reading analogue values via the micro-controller, unless you're willing to move up to an ARM M3 or M4-based DSP. MSP430 (or Arduino for that matter) don't have enough horsepower to do that.
 Hope this makes sense.


Any suggestions? Export (0) Print
Expand All
Retrieving Event Log Properties
Microsoft® Windows® 2000 Scripting Guide
Knowing the properties of your event logs can be useful in planning management activities such as backing up and clearing the logs. For example, knowing both the maximum allowable size and the current size of an event log tells you how much space is available in the log. In turn, this helps you decide whether the log needs to be backed up and cleared.
In addition, tracking the number of records in each log is a simple metric that can often trigger alarms regarding potential problems. For example, suppose routine checks of the number of records in an event log show that a specific computer typically records 100 events a day. Today, however, this routine check shows that the computer has recorded 500 events. This might indicate a serious problem that warrants further investigation.
The WMI class Win32_NTEventLogFile can be used to retrieve the properties of any event log on a computer. Some of the most important event log properties you can retrieve by using WMI are shown in Table 12.1.
Table 12.1 Event Log Properties Available Through WMI
Property
Description
FileSize
Current size of the event log, in bytes.
LogFileName
"Friendly" name for the event log (for example, System).
To return the actual path and file name of the event log (for example, C:\Windows\System32\Config\Sysevent.evt), use the Name property instead.
MaxfileSize
Maximum allowable size (in bytes) for the event log.
Although event logs can be sized as large as 4 gigabytes, in practice they should be limited to no more than 300 megabytes. Event logs larger than that can be difficult to analyze because of the number of events contained within the log and because event logs are not optimized for data retrieval.
Name
Full path and file name for the event log.
NumberOfRecords
Number of records in the event log.
OverwriteOutdated
Number of days after which a record can be overwritten should an event log reach its maximum size. Values are:
0 - Any record can be overwritten if necessary. If necessary, all existing events in the event log can be overwritten to make room for new events.
1-365 - Events older than the specified number of days can be overwritten as needed. If the event log does not contain any records older than the value specified, no new events will be recorded until the log has been cleared.
_PHONE_ - No records can be overwritten. If the log reaches its maximum size, no new events will be recorded until the log has been cleared.
OverwritePolicy
Current overwrite policy for the event log. Values are the following:
WhenNeeded - Any record can be overwritten to make room for new records.
OutDated - Records older than a specified number of days can be overwritten to make room for new records.
Never - Old records are never overwritten.
The Event Log properties and methods available through WMI map to the event log properties as seen in Event Viewer. This relationship is shown in Figure 12.1.
Figure 12.1 Win32_NTEventLogFile Properties and Methods
sas_log_01c
Scripting Steps
There are several ways to retrieve the properties of event logs. For example, you might want to:
 - Retrieve the properties of multiple event logs.
 - Retrieve the properties of a single event log.
 - Retrieve the properties of the Security event log.
Retrieving the properties of multiple event logs
Listing 12.1 contains a script that retrieves the properties of multiple event logs on a single computer. To carry out this task, the script must perform the following steps:
 1. Create a variable to specify the computer name.
 2. Use a GetObject call to connect to the WMI namespace root\cimv2, and set the impersonation level to "impersonate."
 3. Use the ExecQuery method to query the Win32_NTEventLogFile class.
 This returns a collection consisting of all the event logs on the computer, except the Security event log. The additional step required to return information from the Security event log is discussed later in this chapter.
 4. For each event log in the collection, echo the event log properties LogFileName, MaxFileSize, and OverWriteOutdated.
 If you configure an event log so that it never overwrites events, you actually set the OverWriteOutdated property to _PHONE_. If the value _PHONE_ is returned, the script displays the string "Overwrite Outdated Records: Never." If the value 0 is returned, this means the log has been configured to overwrite records as needed. To make this clear, the script displays the message "Overwrite Outdated Records: As Needed."
Listing 12.1 Retrieving the Properties of Multiple Event Logs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set objInstalledLogFiles = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_NTEventLogFile")
For Each objLogfile in objInstalledLogFiles
 Wscript.Echo "Name: " & objLogfile.LogFileName
 Wscript.Echo "Maximum Size: " & objLogfile.MaxFileSize
 If objLogfile.OverWriteOutdated > 365 Then
 Wscript.Echo "Overwrite Outdated Records: Never." & VbCrLf
 ElseIf objLogfile.OverWriteOutdated = 0 Then
 Wscript.Echo "Overwrite Outdated Records: As needed." & VbCrLf
 Else
 Wscript.Echo "Overwrite Outdated Records After: " & _
 objLogfile.OverWriteOutdated & " days" & VbCrLf
 End If
Next
Retrieving a property of a single event log
Listing 12.2 contains a script that retrieves the number of records in the System event log. To carry out this task, the script must perform the following steps:
 1. Create a variable to specify the computer name.
 2. Use a GetObject call to connect to the WMI namespace root\cimv2, and set the impersonation level to "impersonate."
 3. Use the ExecQuery method to query the Win32_NTEventLogFile class.
 To limit the data returned to the System event log, include a Where clause specifying the LogFileName "System". This returns a collection of event logs with a single item: the System event log.
 4. For the only event log in the collection, echo the value of the NumberOfRecords property.
Listing 12.2 Retrieving a Property in a Single Event Log

1
2
3
4
5
6
7
8
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colLogFiles = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_NTEventLogFile WHERE LogFileName='System'")
For Each objLogFile in colLogFiles
 Wscript.Echo objLogFile.NumberOfRecords
Next
Retrieving the properties of the Security event log
Scripts that retrieve information about the event logs on a computer do not retrieve information about the Security event log unless those scripts include the Security privilege. The ability to manipulate the Security event log is provided by the Manage auditing and security logs user right, which must be explicitly assigned. To manipulate the Security event log, you must include this privilege as part of the GetObject moniker, even if you are an administrator and have been assigned this right by default.
Note that the Security privilege does not grant you the ability to manage auditing and security logs. You must already possess this right (typically assigned through Group Policy), or the script will fail. To access information from or about the Security event log, you must possess the Manage auditing and security logs user right, and the script must include the Security privilege.
The results of querying event logs without including the Security privilege are shown inTable 12.2.
Table 12.2 Querying Event Logs Without Including the Security Privilege
If You Attempt to Access -
You Will Retrieve -
All the event logs on a computer
Data for all the event logs except the Security event log
Security event log plus a second event log
Data for only the second event log
Only the Security event log
No data
No special user rights are required to access any of the other event logs on a computer.
Listing 12.3 contains a script that retrieves the number of records in and the maximum file size of the Security event log. To carry out this task, the script must perform the following steps:
 1. Create a variable to specify the computer name.
 2. Use a GetObject call to connect to the WMI namespace root\cimv2, and set the impersonation level to "impersonate."
 Because special user rights


This is when Earth won't be able to sustain its digital data
Digital content is on track to equal half of Earth's mass by 2245, according to new research.
The research by Dr. Melvin Vopson, a senior lecturer at the U.K.'s University of Portsmouth, highlights the physics of information creation and the demands of storing vast quantities of digital data.
"Assuming the current growth trends in digital content continue, the world will reach a singularity point in terms of the maximum digital information possibly created and the power needs to sustain it, called the information catastrophe," Vopson writes, in a paper published in AIP Advances, the journal of the American Institute of Physics.
The "information catastrophe" will add to existing global challenges such as climate, environment, population, food, health, energy and security, according to the researcher.
The study examines the "incredible" growth of digital bits, the unit used to measure computer data. In the singularity point, more digital bits will be created than atoms on the planet. "At the same time, the digital information production alone will consume most of the planetary power capacity," Vopson writes.
With current data storage densities, the number of bits produced per year and the size of a bit compared to the size of an atom, at a rate of 50% annual growth, the number of bits would equal the number of atoms on Earth in approximately 150 years, according to a press release on the research. Vopson says it would be approximately 130 years until the power needed to sustain digital information creation would equal all the power currently produced on our planet. By 2245, the research says, half of Earth's mass would be digital information mass.
"In the extreme case scenario when our digital information production growth is sustained at 50% per year, by the year 2070, we will have 1 kg of digital bits content on the planet stored on all the traditional and cloud data storage centers and endpoints such as PCs, smart-phones, and Internet of Things (IoT) devices," the author explained, in the research study. "Similarly, at 50% growth per year, by the year 2245, half of the planet's mass will be made up of digital bits."


text:
| Last Updated:
Creating DOI. Please wait...
The cause of ubiquitous cognitive differences between American self-identified racial / ethnic groups (SIREs) is uncertain. Evolutionary models posit that ancestral selection pressures are the ultimate source of these differences. Conversely, sociological models posit that these differences result from racial discrimination. To examine predictions based on these models, we conducted a global admixture analysis using data from the Pediatric Imaging, Neurocognition, and Genetics Study (PING; N = 1,369 American children). Specifically, we employed the methodology of genetic epidemiology to determine whether genetic ancestry significantly predicts cognitive ability, independent of SIRE. In regression models using four different codings for SIRE as a covariate, we found incremental relationships between genetic ancestry and both general cognitive ability and parental socioeconomic status (SES). The relationships between global ancestry and cognitive ability were partially attenuated when parental SES was added as a predictor and when cognitive ability was the outcome. Moreover, these associations generally held when subgroups were analyzed separately. Our results are congruent primarily with evolutionary models of group differences, but also with certain environmental models which mimic the predictions of evolutionary ones. Implications for research on race / ethnic differences in the Americas are discussed, as are methods for further exploring the matter.