text:
INVESTIGACIÓN ORIGINAL / ORIGINAL RESEARCH

Economic impact of fatal and nonfatal road traffic injuries in Belize in 2007

Repercusiones económicas de los traumatismos mortales y no mortales por accidentes de tránsito en Belice en 2007

Ricardo Pérez-NúñezI; Martha Híjar-MedinaII, III; Ileana Heredia-PiIV; Sandra JonesV; Eugênia Maria Silveira-RodriguesVI

IHealth Systems Research Center, National Institute of Public Health, Cuernavaca, Mexico. Send correspondence to: Ricardo Pérez-Núñez, ricardo.perez@insp.mx
IIPopulation Health Research Center, National Institute of Public Health, Cuernavaca, Mexico
IIIPan American Health Organization/World Health Organization Collaborating Centre for Research on Injuries and Violence, Cuernavaca, Mexico
IVSurvey and Evaluation Research Center, National Institute of Public Health, Cuernavaca, Mexico
VPan American Health Organization/World Health Organization, Belize Country Office, Belize City, Belize
VIPan American Health Organization, Sustainable Development and Environmental Health Area, Washington, DC, United States of America

ABSTRACT

OBJECTIVE: To estimate the economic cost of road traffic injuries in Belize in 2007.
METHODS: A cross-sectional study was conducted using secondary cost data, assuming the health system and social perspectives. Epidemiologic information was obtained from the mortality database, the national hospital discharge database, and administrative records from police and the Ministry of Health. A health provider survey was carried out in order to estimate the postdischarge ambulatory utilization figures. Direct cost was estimated with the World Health Organization WHO-CHOICE (CHOosing Interventions that are Cost Effective) database. Prehospital costs were obtained from the Belize emergency response team. After estimating years of potential life lost using the Belize life expectancy for 2008 and methodology proposed by the Pan American Health Organization, the indirect cost associated with premature death was estimated with the human capital approach. Total estimation of road traffic injuries' economic costs used a decision tree model approach. Multiway sensitivity analysis was used to incorporate uncertainty in the estimations.
RESULTS: Sixty-one people died due to road traffic injuries during 2007, 338 were hospitalized, and 565 people were estimated to be slightly injured. A total of 2 501 years of potential life were lost in Belize due to premature death, with a total economic cost of US$11-062-544. This figure represents 0.9% of the Belize gross domestic product. Direct cost was estimated at US$163-503, of which 2.4% was spent on fatalities, 46.7% on the severely injured, and 50.9% on the slightly injured.
CONCLUSIONS: The economic cost estimations make clear the need to prevent road traffic injuries with a strategic and multisectoral approach that focuses on addressing the main problems identified.

Key words: Accidents, traffic; health care costs; costs and cost analysis; Belize.

RESUMEN

OBJETIVO: Calcular el costo económico de los traumatismos por accidentes de tránsito registrados en Belice durante el año 2007.
MÉTODOS. Se realizó un estudio transversal a partir de datos secundarios sobre los costos, tanto desde la perspectiva social como desde la del sistema de salud. La información epidemiológica se obtuvo a partir de la base de datos de mortalidad, la base de datos nacional de egresos hospitalarios y los expedientes administrativos de la policía y el Ministerio de Salud. Se llevó a cabo una encuesta a los prestadores de servicios de salud para calcular las cifras correspondientes a la atención ambulatoria posterior al egreso. Para calcular los costos directos, se utilizó la base de datos del proyecto WHO-CHOICE (elección de intervenciones eficaces en función de los costos) de la Organización Mundial de la Salud. El equipo de respuesta a las urgencias médicas de Belice aportó los datos sobre los costos prehospitalarios. Después de calcular los años de vida potencial perdidos tomando como parámetro la esperanza de vida de Belice correspondiente al año 2008 y empleando el método propuesto por la Organización Panamericana de la Salud, se calculó el costo indirecto asociado a la muerte prematura desde el enfoque del capital humano. Se utilizó un modelo de árbol de decisiones para calcular el costo económico total derivado de los traumatismos causados por el tránsito y se hizo un análisis de sensibilidad multivariado y probabilístico para incorporar los parámetros de incertidumbre en las estimaciones.
RESULTADOS: En Belice, durante el año 2007, los traumatismos causados por el tránsito provocaron la muerte de 61 personas, la hospitalización de 338 y, según se calcula, lesiones menores a 565. Se perdieron 2 501 años de vida potencial a causa de las muertes prematuras, lo que se tradujo en un costo económico total de US$11 062 544. Esta cifra representa 0,9% del producto interno bruto de Belice. Se calculó que el costo directo fue de US$ 163 503, del cual 2,4% fue ocasionado por las muertes, 46,7% por la atención de las personas que sufrieron traumatismos graves y 50,9% por la atención de quienes presentaron lesiones menores.
CONCLUSIONES: El costo económico calculado en este estudio pone de manifiesto la necesidad de prevenir los traumatismos causados por el tránsito adoptando un método estratégico y multisectorial que se centre en abordar los principales problemas detectados.

Palabras clave: Accidentes de tránsito; costos de la atención en salud; costos y análisis de costo; Belice.

In recent years, there has been a significant increase in the number of collisions on major highways and roads in Belize. Between 2004 and 2006, the Government Information System of the Police Department reported approximately 6 295 collisions, of which 128 were identified as fatal, resulting in 143 deaths. Most of the deaths occurred in 2004, with a slight decrease in 2005 and 2006. Statistics from the Ministry of Health indicate that in 2005, death as a result of road traffic injuries (RTI) was identified as the fourth leading cause of death in general, regardless of age and sex (1). The adjusted mortality rate due to RTI in 2006 was 15.4 per 100 000 population. The country has laws that cover speed limits, blood alcohol content (0.08%), helmet use, and seat belt use (although not all seating positions are covered). However, application of these laws was considered very weak. There is not a law for use of child restraints (2).

RTI can have a significant negative impact on a country at all levels, as they cause a large number of sick days and an elevated amount of healthy life years lost. These factors have serious consequences on society as a whole. In Mexico, for example, it has been documented that RTI are the second leading cause of orphaned children, which has implications in terms of poverty perpetuation in low- and middle-income countries such as Mexico (3). Moreover, since RTI affect the young population in its most productive years, the economic cost in terms of medical treatment, rehabilitation, and loss of productivity tends to be high, with economic repercussions in societies (3, 4).

In the United States of America, the costs of motor-vehicle-related fatal and nonfatal injuries in 2005 exceeded US$99 billion. Costs associated with motor vehicle occupants' fatal and nonfatal injuries accounted for 71.0% ($70 billion) of all motor-vehicle-related costs (5). In Brazil, the cost of road traffic accidents on highways amounted to US$10.0 billion per year, which is equivalent to 1.2% of the Brazilian gross domestic product (GDP). Among the examined cost elements, loss of production had the greatest economic impact, followed by vehicle damage and medical costs. Fatal accidents had the highest mean value-US$200 000 per accident-showing that the more severe the accident, the higher the cost. The total cost can be even higher should the costs of environmental damage and posttraumatic stress disorder be included (6).

Not enough data are available to determine accurately the cost of RTI in Belize. In order to understand the need for action, it is imperative that a comprehensive understanding of the cost of RTI be developed. For that reason, there is an urgent need to calculate the economic cost of RTI in Belize and to evaluate the consequences that current RTI rates represent for Belize, which will provide valuable information in terms of injury prevention and safety promotion. This information will serve not only to identify the economic cost from a public health perspective but also to show the potential economic benefits from reducing RTI by undertaking road safety measures such as developing and implementing appropriate interventions (with a multisector approach). The main objective of this study was to estimate the economic costs (direct and indirect) of fatal and nonfatal RTI in Belize in 2007 from health system and social perspectives.

METHODS

Study population

All road traffic injuries in Belize in 2007 were included in this study according to ICD-10 (7) criteria, which include the following ICD-10 codes for fatal and nonfatal RTI: V02-V04 (.1, .9), V09 (.2, .3, .9), V12-V14 (.3-.9), V19.4-V19.6, V20- V28 (.3-.9), V29-V79 (.4-.9), V80.3-V80.5, V81.1, V82.1, V83-V86 (.0-.3), V87.0- V87.8, V89.2, and V89.9. All injuries were categorized in three mutually exclusive severity categories following previous proposals (8):

• -Fatal injury: an injury that causes the death of the injured person in the first 30 days after the accident occurred. The 30-day definition of a road traffic fatality proposed by the World Health Organization (WHO) was used, although the official Belize definition includes all people who die within a year after the collision (9). In order to facilitate international comparisons it was important to make this adjustment.
• -Nonfatal severely injured: either a person remains in the hospital as an inpatient or any one of the following injuries is sustained regardless of whether the individual is detained in the hospital: fractures, concussions, internal injuries, crushing, severe cuts and lacerations, and severe general shock requiring medical treatment. This category includes deaths that occur after 30 days.
• -Nonfatal slightly injured: a minor injury such as a cut, sprain, or bruise.

Data collection and confirmation of variables

A secondary database analysis was undertaken in order to estimate epidemiologic information. Fatal injuries were obtained from a mortality database that contained all deaths that occurred during 2007. Serious injuries were obtained from the national hospital discharge database, which contained all discharges during 2007. This information was used to estimate the total number of people hospitalized (assuming they all had serious injuries). Administrative records from the Belize Police Department were used to estimate the number of slightly injured people as information from the health sector was not available for the number of slightly injured people who visited the emergency room. The reliability of this information is not known with certainty, but it was the best information available. Finally, information about population figures was obtained from the World Bank online database (http://ddp-ext.worldbank.org/ext/DDPQQ/member.do?method=getMembers&userid=1&queryId=135).

Estimation of direct costs included expenditures for medical care and treatment such as ambulance and prehospital care services, emergency room use, hospital care, physician services, nursing home care, drugs and other medical needs, postdischarge ambulatory medical consultations, and rehabilitation. Categories included for each severity level group depended on the availability of information.

Unitary cost data were obtained as follows:

• Ambulance and prehospital care services: estimates for ambulance and prehospital care services used secondary data provided by the Belize Emergency Response Team (BERT). With a top-down approach, the total expenditure figures of this institution were prorated by all services provided in order to estimate an approximate cost per run. Total figures correspond to the sum of the following cost categories: salaries, fuel, maintenance, utilities, medical supplies, insurance, and equipment. Medical supplies are subsidized by the Belize Ministry of Health. In the same way, maintenance is subsidized by Cisco Construction (free labor). This cost was assumed for each of the six districts that divide the country, although BERT services are provided only in Belize district.
• Hospitalization, emergency room hospital-based services, and ambulatory medical care costs: secondary data from the WHO-CHOICE (CHOosing Interventions that are Cost Effective) database were used to estimate direct costs (available from http://www.who.int/choice/country/blz/cost/en/print.html). Information on specific econometric techniques used to estimate country-specific costs is available elsewhere (10). Cost per bed-day represents only the "hotel" component of hospital costs, including personnel, capital, and food costs but excluding drugs and diagnostic tests. Cost per outpatient visit by hospital level and cost per visit at a health center include depreciated capital items but exclude drugs and diagnostics (10). All costs in this study are presented in US dollars after converting them to 2007 Belize dollars by means of the national consumer price index (available from http://www.statisticsbelize.org.bz/dms20uc/dynamicdata/docs/2010090121143 4_2.pdf). Costs accrued after a year or more were discounted at annual rates of 3% and 5%.

Utilization figures were obtained as follows:

• Emergency ambulance services: estimated by using a database containing all emergency ambulance services provided by BERT on RTI patients during 2007. Although this information was only for Belize district, it made it possible to estimate the proportion of severely injured people who received ambulance and prehospital care services for the entire country.
• Ambulatory health care services: to estimate postdischarge utilization figures, a health provider survey was carried out. Experienced medical doctors with different specialties (general surgery, maxillofacial surgery, neurosurgery, ophthalmology, urology, orthopedics, and traumatology and rehabilitation) were consulted and asked to note the proportion of RTI patients who would be hospitalized based on ICD-10 diagnosis, which was taken from the hospital discharge database. In addition, they were asked to estimate the proportion of patients who would potentially use ambulatory health services (including rehabilitation) and the number of medical consultations for hospitalized and nonhospitalized patients. When specialists did not fill out the questionnaire to provide missing information, those figures (both the proportion that use services and the number of consultations) were assumed to be the same as those for a similar injury (from an anatomic and severity perspective). When that option was not possible, the median of the number of ambulatory medical consultations (or rehabilitation) of all the other injuries was imputed. The total number of rehabilitation consultations estimated for each patient was included in the total number of ambulatory medical consultations. This survey also made it possible to estimate utilization figures for severely injured nonhospitalized patients and slightly injured non-emergency-room users (information presented in Table 1). Table 1 shows mean, median, and mode of hospital stay (obtained from the hospital discharge database).

By multiplying the median figures for utilization per unitary cost, direct costs were estimated for Belize. In this sense, all emergency room medical consultations, specialized medical consultations, and rehabilitation were assumed to be tertiary outpatient visits to hospital services. In the same way, given that 63.6% of hospital discharges received attention at the Karl Heusner Memorial Hospital (KHMH) and as hospital costs do not consider drugs and diagnostic tests, it was decided to use the cost per bed-day of a tertiary hospital level. Finally, hospital stay information was obtained from the hospital discharge database for those who died. Both survivors and casualties have median lengths of stay of two days.

Indirect cost estimation was calculated by using the human capital approach, in which the productivity cost was estimated as the future reduction in gross income due to mortality and morbidity. In this study, the Belize average income for 2007, documented by the Belize Social Security Board, was used for indirect cost estimates. Indirect costs associated with premature death take as reference the Belize life expectancy for 2008 documented by the Pan American Health Organization (PAHO) (76.1 years) (11). Life expectancy was used instead of age at retirement (55 years) to take into account country preferences on how society values life at different ages, something important to consider (12). This decision was taken as recommended by the Belize National Road Safety Committee. In this sense, elderly people in low- and middle-income countries tend to have a very small income or none at all. This situation does not mean that their time has no value or should not be valued. This circumstance is similar to the value of time for housewives. Although in real terms they might not receive a salary, their work and activities are highly valued (and needed) by societies (11). Calculations were made as follows:

Indirect cost of fatal RTI =

Loss of output (death) =

where

S = salary,

r = discount rate, and

n = -number of years of potential life lost due to premature death.

For morbidity figures, indirect costs included the valuation of postdischarge average time injured spent at home recovering from injuries (72 days). In addition, the value of productivity losses due to transitory or permanent disability was estimated by using the value of disablement pensions awarded to the road traffic injured. This information was provided by the Belize Social Security Board.

Estimating total RTI economic costs

Total estimation of RTI economic costs used a decision tree model approach as presented in Figure 1. The decision tree allows one to disaggregate patients by fatal and nonfatal type of injury. The latter category is disaggregated into severely injured and slightly injured. In addition, the decision tree follows the natural history of disease, starting with prehospital medical attention at the scene, continuing with hospital-based care (hospitalization versus emergency room only), utilization of ambulatory health services, and disaggregating ambulatory services into rehabilitation services. Each tree branch has a probability of occurrence and a specific associated cost. In this way, total cost per tree branch corresponds to the multiplication of unitary cost per total number of injured estimated for that specific branch.

The individual total cost of RTI for this study was thus obtained after adding direct costs to indirect costs of those hospitalized and those who received emergency care only. The economic cost of RTI in Belize was estimated in the following manner:

where

TC = total economic cost of RTI,

AECd = -average economic cost per RTI death f,

AECs = -average economic cost of severely injured s,

AECsl = -average economic cost of slightly injured sl,

D = -total number of RTI deaths registered in 2007,

S = -estimation of total number of severely injured, and

SL = -estimation of total number of slightly injured.

Analysis

A descriptive analysis was performed for all databases. Central tendency and dispersion measures were calculated for the continuous variable (mean, median, standard deviation, maximum, and minimum values) as well as frequencies and percentages for the categorical variables using Stata 9.2 (13).

Uncertainty surrounding some of the model's assumptions was explored with a multiway and probabilistic sensitivity analysis. The analysis was performed for variables such as prevalence and incidence figures (death, hospitalized, attended at emergency room) and for three discounted rates (0%, 3%, and 5%), although in the text only results using the 3% discount rate are presented. Sensitivity analysis of the number of RTI hospitalized considered a literature review to simulate potential scenarios considering the possibility of hospital underregistration (14-21). This was also the case for slightly injured people. This part of the analysis was carried out with software @RISK 5.5 (22). Figures are presented in US dollars, using an exchange rate of US$1.00 = BZ$2.00, which has been pegged to the US dollar since 1976 (11).

RESULTS

Epidemiology of RTI in belize

During 2007, 63 people died as a consequence of RTI, of whom 79.4% were men (Table 2). This figure is equivalent to a total of 61 people if adjusted by WHO's 30-day definition (total number of deaths multiplied by the adjustment factor of 0.97). Mean age was 37 years (median = 33) and 68.3% of all injured were between 15 and 49 years of age. It was not possible to determine the type of road user most affected, because most deaths were coded as "other and unspecified." Most deaths took place in Belize district (76.2%) and 50.8% of all deaths occurred in a hospital. This value translates to a mortality rate of 20.1 deaths per 100 000 population. When analyzed with a Poisson regression model, on average, the relative risk of dying as a consequence of RTI in Belize decreased 7.1% each year during 2001-2007 (95% confidence interval 3.3% to 10.8%).

During 2007, 338 hospital discharges due to RTI were recorded in all public hospitals in Belize (hospital discharge rate of 117.36 discharges per 100-000 population). Of them, 74.9% were men, with a mean age of 29 years (standard deviation = 18, median = 26) and 67.5% were between 15 and 49 years of age (Table 3). Most road users were also classified as "other and unspecified." A large majority of hospital discharges were reported by KHMH, the only tertiary level hospital in Belize. Of all RTI hospitalized, 2.7% died during hospitalization (n = 8).

Table 4 presents all emergency ambulance services provided by BERT in Belize district in 2007. A total of 222 ambulance services were solicited, although 24 of them did not require any service. Of the remainder, 47 (23.7%) were severely injured (42.0% of the total number hospitalized in Belize district the same year), 73.2% were slightly injured, and 3.0% of the injured died. Most people attended were men (71.7%) and 74.5% were between 15 and 49 years of age. Of all injured, 90.4% received treatment and were transferred to a medical institution.

No detailed information was available on patients slightly injured after a collision. Similarly, no information on emergency room hospital-based medical attention was provided. Using BERT figures (an estimated 77.5% of the total number of nonhospitalized slightly injured in Belize district the same year), a total of 565 slightly injured was estimated.

Economic cost of RTI

Direct cost. A total of US$163-503 was estimated for direct costs during 2007, of which 2.4% was spent on fatalities, 46.7% on severely injured, and 50.9% on slightly injured. Figure 2 shows that most of this cost was estimated for prehospital care (36.8%), hospitalization (21.5%), and ambulatory medical consultations (20.3%), while rehabilitation represented 11.2%. From this figure, the potential underestimation of hospitalization costs is evident, as drugs and diagnostics are not included in unitary cost estimations used for this analysis. Indirect cost. A total of 2 501 years of potential life were lost in Belize during 2007 due to RTI (Table 5). This number translates to a social loss of US$8 116 917 attributed to indirect cost due to productivity loss (Table 6). Table 6 disaggregates indirect cost by district for both methods and considers different scenarios in terms of discount rates. Belize district is where more indirect cost was lost: 53.3% of the total or US$4 328 717. In addition, injured people who were hospitalized stayed an average of 5 days in the hospital. This value represents an average of US$76 of indirect cost per RTI hospitalization and a total of US$25 456 lost for this cause. Total economic cost of RTI. Aggregated figures are presented in Table 7. As indicated, the base model estimated a total economic cost of US$9-453-615 due to RTI during 2007. The great majority of the cost is due to fatal injuries, specifically indirect costs attributed to premature death. When the distribution of total economic cost estimated in all 10 000 iterations of the simulated model was analyzed, 90.0% of all estimates fell between US$10 005-971 and US$12 273 030 (average of US$11-062-544 using a discount rate of 3%). This estimation represents 0.9% of the Belize GDP during 2007 and 2.8% of the total government budget for the same year (Table 8). Table 9 shows the base model results compared with the sensitivity analysis figures (simulation). According to the simulation, during 2007 the total nonfatal RTI rate was 1-468.7 per 100-000 population. Finally, information provided by the Social Security Board showed that at least two people were disabled in 2007 as a consequence of RTI (0.7 per 100 000 population). DISCUSSION The usefulness of cost-of-illness studies for health systems lies in justifying the design and implementation of specified intervention programs and making evident the economic loss that the illness presents, with its specific and current mortality and morbidity rates. In the same way, these studies help the resource allocation process by contributing to determination of the importance of each illness from an economic perspective and highlighting medical care and specific research needs. In addition, they provide a basis for planning and establishing political and public health initiatives for prevention and control and an economic-referenced framework for the next evaluation of programs and implemented interventions (23). Information generated in this study will allow all districts and national authorities in Belize to have valuable information for decision making. In general, this study will aid decision making, justifying the need for implementing a meaningful road traffic safety program. It also allows for understanding the real magnitude of a problem that so far seems reflected only in causes of mortality and social security payments. Therefore, the economic assessment of a problem of this extent will allow visualization of the potential resource savings that can be applied to other social and health problems. In this sense, the results make evident the large problem that RTI cause to the health system in Belize and society as a whole. From the results of economic cost estimations, there is an urgent need to prevent RTI through a strategic and multisectoral approach that focuses on the principal problems detected. This study faced methodologic challenges due to the lack of specific information, such as costs and number of nonhospitalized injured people. Although secondary cost information used might underestimate the real problem, it gives a general idea of the magnitude of the problem in economic terms. Future efforts should consider the use of primary data to evaluate to what extent these estimates change. In the same way, problems in current information systems were evident. That was the case in the codification of external causes of death, as most deaths and hospitalizations were coded as "other and unspecified." This coding problem did not allow estimation of cost per type of road user or analysis of the medical attention characteristics of different road users. Improved coding efforts should be attempted in the future in order to better appreciate the type of problem Belize faces in terms of road safety. This information would be invaluable for policy making, as most prevention strategies differ depending on the type of road user who is most affected. In addition, no information was available on the number of emergency room hospital-based services provided as well as the number of ambulatory services provided (including rehabilitation). In this sense, it is important to consider that better information systems would translate to better estimates of the economic cost of this important public health problem. The methodology used to estimate indirect costs could overestimate actual figures because it gives more weight to deaths that occurred at an early stage of life, according to some perspectives such as the investment-producer-consumer model perspective. This conceptual framework, originally proposed by Gardner and Sanborn (24), argues that during the investment period (less than 18 years of age), people only receive from society (negative value) while during the production period they give back to society (positive value). However, this framework should also take into account country preferences on how society values life at different age periods. In addition, some authors believe there are costs households would have incurred without suffering RTI that could be evaluated only by using counterfactuals (control group scenario), which was not considered in this study (25). WHO estimates that RTI cost represents 1.0% of the GDP in low-income countries, while in medium- and high-income countries the cost can reach 1.5% and 2.0% of GDP, respectively (19). This study documents that the total economic cost of RTI in Belize accounts for 0.9% of the GDP in the study year. In this regard, Mohan argued that the method used may influence the final estimation (20). When he analyzed the differences between low- and high-income countries, he found that estimates in high-income countries tended to be more detailed and comprehensive, since they included willingness to pay, quality-adjusted life years, and healthy life years (20). According to this author, if the willingness-to-pay method had been used in India, the total cost of RTI would have increased from 0.8% to 2.0% of GDP. He also highlighted some problems, such as lack of access to health services and technology, which, together with few work opportunities for people with disabilities, contributed to underestimation of the RTI cost in low- and medium-income countries. Epidemiologic information from countries with better registers shows how estimates from different countries would also increase to 2.0% of GDP (20). That might be the case in the Belize estimates. CONCLUSIONS According to this study, it was possible to identify the high cost that RTI represents to Belize society in general. During 2007, the economic cost of RTI in Belize was estimated to be US$11 062 544 (90% confidence interval US$10-005-971 to US$12 273 030), from which the great majority corresponds to the indirect cost of premature death. This value represents almost 1.0% of the total GDP of Belize for the same year and is equivalent to 2.8% of the total government and 25.6% of the Ministry of Health budgets. These figures make it possible to visualize the potential financial resources that can be used for RTI prevention and other social and health conditions if current epidemiologic figures decrease. The study identified that the main victims are men and youth; however, there is a gap of information about the type of road user injured or dead. Current fatal, nonfatal, and disability rate figures (20.1, 1-468.7, and 0.7 per 100-000 population, respectively) highlight the need to implement effective preventive strategies in the short term to alleviate the current burden of RTI in the country. Information generated in this study therefore allows for greater understanding of the real magnitude of RTI, including economic impact.

Recommendations

The considerable economic costs of RTI and deaths in Belize require special attention to apply cost-effective strategies and law enforcement in order to provide road safety for all road users. Improving the health information system to capture important data on RTI is essential. In this regard, unification data from different sources (health, police, and other) are essential to have a better idea of the magnitude of the problem. Belize should work on a single RTI database common for the entire country, with the type of road user coded properly. Epidemiologic information such as the number of injured people attended in emergency rooms and hospital-based facilities as well as ambulatory follow-up patients as a result of RTI should be available and quantified. This information will allow for greater in-depth analysis of RTI in the country.

Acknowledgments. Technical and financial support was provided by the WHO/PAHO Country Office. This economic impact study was commissioned by the Belize National Road Safety Committee in support of activities outlined in the National Strategic Plan to Reduce Road Traffic Injuries in Belize. The preparation of this study would not have been possible without the collaboration and support of numerous agencies and individuals. Special thanks to Peter Allen, chief executive officer of the Ministry of Health; Michael Pitts, director of health services; and the Office of the Director of Health Services for facilitating and providing support throughout the data collection process and finalization of the study. Special thanks to the PAHO Country Office for technical and administrative support in making this study a reality. Thanks also go to the members of the National Road Safety Committee. The following people were exceptional in facilitating the process and contributed significantly to the collection of data to support the research: Yvette Burks (BERT), Jorge Polanco (Ministry of Health), Aisha Andrewin (Ministry of Health), assistant superintendent of police Francis Williams (Traffic Department, Police), assistant superintendent of police Simeon Avila (Traffic Department, Police), deputy commissioner of police James Magdelano (Traffic Department, Police), Vladimir Romero (Traffic Department, Police), and Bruce Flowers (Belize Social Security Board). In addition, the authors acknowledge the time of personnel of KHMH from the Records Department and the medical doctors who responded to the health provider survey in order to estimate ambulatory care.

REFERENCES

1. Ministry of Health. Belize basic indicators 2005, 1st ed. Belmopan, Belize: MOH; 2006. P. 12.

2. Organización Panamericana de la Salud. Informe sobre el estado de la seguridad vial en la región de las Américas. Washington, DC: OPS; 2009.

3. Hijar M, Vazquez-Vela E, Arreola-Risa C. Pedestrian traffic injuries in Mexico: a country update. Inj Control Saf Promot. 2003;10(1-2): 37-43.

4. Híjar-Medina M, Vazquez-Vela E. Foro nacional sobre accidentes de tránsito en México. Enfrentando los retos a través de una visión intersectorial, 1st ed. Cuernavaca, Morelos, México: Instituto Nacional de Salud Pública; 2003.

5. Naumann RB, Dellinger AM, Zaloshnja E, Lawrence BA, Miller TR. Incidence and total lifetime costs of motor vehicle-related fatal and nonfatal injury by road user type, United States, 2005. Traffic Inj Prev. 2010; 11(4):353-60.

6. Impactos sociais e econômicos dos accidentes de trânsito nas rodovias brasileiras-relatório executivo. Brasilia: IPEA/DENATRAN/ANTP; 2006.

7. Organización Panamericana de la Salud. Clasificación estadística internacional de enfermedades y problemas relacionados con la salud, 10th ed. Washington, DC: OPS; 1995.

8. Transport Research Laboratory. Guidelines for estimating the cost of road crashes in developing countries. Project R7780. London: Department for International Development; 2003.

9. World Health Organization. Global status report on road safety: time for action. Geneva: WHO; 2009.

10. Adam T, Evans DB, Murray CJ. Econometric estimation of country-specific hospital costs. Cost Eff Resour Alloc. 2003;1(1):3.

11. Organización Panamericana de la Salud. Información de la salud y análisis: situación de salud en las Américas: indicadores básicos 2008. Washington, DC: OPS; 2008.

12. Organización Panamericana de la Salud. Técnicas para la medición del impacto de la mortalidad: años potenciales de vida perdidos. Bol Epidemiol. 2003;24(2):1-4.

13. Stata Corporation. Stata 9.2. College Station, TX: Stata Press; 2003.

14. Albert T, Eden C. The economic burden of unintentional injury in Alberta. Edmonton, Alberta, Canada: Alberta Centre for Injury Control and Research; 2002.

15. Al-Masaeid HR, Al-Mashakbeh AA, Qudah AM. Economic costs of traffic accidents in Jordan. Accid Anal Prev. 1999;31(4):347-57.

16. National Institute of Mental Health and Neuro Sciences. Road traffic injury (fact sheet). Bengaluru, India: National Institute of Mental Health and Neuro Sciences; 2008.

17. Institute for Road Safety Research. Road crash cost. Leidschendam, Netherlands: Institute for Road Safety Research; 2007.

18. Ministry of Transport. The social cost of road crashes and injuries. Wellington, New Zealand: Ministry of Transport; 2006.

19. Peden MM. World report on road traffic injury prevention. Geneva: WHO; 2004.

20. Mohan D. Social cost of road traffic crashes in India. New Delhi: Indian Institute of Technology; 2002.

21. National Safety Council. Injury facts. Itasca, IL: National Safety Council; 2007.

22. Palisade C. @RISK, version 5.0. Ithaca, NY: Palisade; 2009.

23. Rice DP. Cost of illness studies: what is good about them? Inj Prev. 2000;6(3):177-9.

24. Gardner JW, Sanborn JS. Years of potential life lost (YPLL)-what does it measure? Epidemiology. 1990;1(4):322-9.

25. World Health Organization. WHO guide to identifying the economic consequences of disease and injury, 1st ed. Geneva: WHO; 2009.

Manuscript received on 12 July 2010.
Revised version accepted for publication on 19 October 2010.

Organización Panamericana de la Salud Washington - Washington - United States
E-mail: contacto_rpsp@paho.org


text:
Dartmouth College Computer Science Technical Report series CS home TR home TR search TR listserv By author: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z By number: 2020, 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003, 2002, 2001, 2000, 1999, 1998, 1997, 1996, 1995, 1994, 1993, 1992, 1991, 1990, 1989, 1988, 1987, 1986

More Efficient Secure Function Evaluation Using Tiny Trusted Third Parties
Alexander Iliev, Sean Smith
Dartmouth TR2005-551

Abstract: We investigate the use of trustworthy devices, which function as trusted third parties (TTPs), to solve general two-party Secure Function Evaluation (SFE) problems. We assume that a really trustworthy TTP device will have very limited protected memory and computation environment---a \emph{tiny TTP}. This precludes trivial solutions like "just run the function in the TTP".

Traditional scrambled circuit evaluation approaches to SFE have a very high overhead in using indirectly-addressed arrays---every array access's cost is linear in the array size. The main gain in our approach is that array access can be provided with much smaller overhead---$O(\sqrt{N}\log N)$. This expands the horizon of problems which can be efficiently solved using SFE. Additionally, our technique provides a simple way to deploy arbitrary programs on tiny TTPs.

In our prototype, we use a larger (and expensive) device, the IBM 4758 secure coprocessor, but we also speculate on the design of future tiny devices that could greatly improve the current prototype's efficiency by being optimized for the operations prevalent in our algorithms.

We have prototyped a compiler for the secure function definition language (SFDL) developed in the Fairplay project. Our compiler produces an arithmetic circuit, augmented with \emph{array access gates} which provide more efficient secure access to arrays. We then have a circuit interpreter in the 4758 to evaluate such a circuit on given inputs. It does this gate by gate, requiring very little protected space. We report on the performance of this prototype, which confirms our approach's strength in handling indirectly-addressed arrays.

PDF (707KB)

Bibliographic citation for this report: [plain text] [BIB] [BibTeX] [Refer]

Or copy and paste:
Alexander Iliev and Sean Smith, "More Efficient Secure Function Evaluation Using Tiny Trusted Third Parties." Dartmouth Computer Science Technical Report TR2005-551, July 2005.

To receive paper copy of a report, by mail, send your address and the TR number to reports AT cs.dartmouth.edu

Copyright notice: The documents contained in this server are included by the contributing authors as a means to ensure timely dissemination of scholarly and technical work on a non-commercial basis. Copyright and all rights therein are maintained by the authors or by other copyright holders, notwithstanding that they have offered their works here electronically. It is understood that all persons copying this information will adhere to the terms and constraints invoked by each author's copyright. These works may not be reposted without the explicit permission of the copyright holder.

Technical reports collection maintained by David Kotz.

format: plain


text:
What does ${\beta} \in \mathbb{R}^{p}$ mean exactly?

Studying different approaches of estimating linear regression models, I recently came across quantile regression.

In the paper I was reading (http://www.econ.uiuc.edu/~roger/research/rq/rq.pdf) the author uses the following notation:

${\beta} \in \mathbb{R}^{p}$

What does the ${p}$ stand for in this context? I have not come across this notation before.

Thank you.

• $\beta$ is a $p$-dimensional vector or tuple taking real values. For example if $p=3$, you would be talking about an ordered triple of real numbers such as $(-1,4,-1)$ – Henry Feb 19 '18 at 10:32
• If $p \in \mathbb{N}$ then ${\beta}$ is a $p$-vector. If not, then ${\beta}$ is function from a set $p$ to the set $\mathbb{R}$. – Bernard Massé Feb 19 '18 at 10:35
• Thank you for the quick responses. – shenflow Feb 19 '18 at 10:41

In quantile regression and more generally in statistics, $p$ often denotes that number of dependent variables (or covariates) in the data. The covariate vector $x_i$ in the paper you read is also $p$-dimensional with component $x_{ij}$ being the value of the $j$th covariate from the $i$th observation, where $i=1,\ldots,n$ and $j=1,\ldots,p$. Here, $n$ often means the number of observations in the data.


text:
# Useful YAML options for generating HTML reports in R

Callum Hill (Unsplash)

I think most people start using R with scripts initially. Scripts are great for modular computational tasks, but for generating informative reports, Rmarkdown is a must. Rmd makes it possible to use a YAML header to specify certain parameters right at the beginning of the document. Built-in YAML parameters make it easier to create more organized and informative reports. In this post, I will share with you few of the YAML options I commonly use for generating HTML outputs in my data analysis projects. You can check out the following resources for details about tons of other options:

YAML header in an Rmd file looks like this:

---
title: My analysis file
author: Atakan Ekiz
date: August 6, 2020     # can execute R code here (see below)
output: html_document
---

Below you can find some general and HTML output-specific YAML options. However, Rmarkdown can also be used to generate other types of reports (such as PDF, Word, Powerpoint, etc.) (see more here)

• title: A descriptive main title (no need for quotes)
• author: Name of the author(s)
• You can use lists for multiple authors and for adding other metadata:
author:
- Name_1   # can be indented or not
- Name_2   # but be consistent among different entries

author:
- name: Name_1                              # can list separate items
affiliation: University of Someplace      # same amt of indentation needed
- name: Name_2
affiliaion: University of SomeOtherPlace

• date: You can hard-code this or execute R code to automate it. The language needs to be specified as and the code needs to be wrapped with backticks and quotes ("r function_call()").
date: "r format(Sys.time(), '%d %B, %Y')"   # nicely formatted
date: "r lubridate::today()"                # can use functions from pkgs

• abstract: Useful for summarizing the analysis. Centered text will be displayed before the content of the document. Multiple paragraphs can be specified but they must be indendented and preceded by the OR sign:
abstract: |
First paragraph of what may be the best abstract ever written. It is a
beautiful abstract because nobody writes abstracts better than I do.

Second paragraph of the abstract continues to be just magnificent. It is
simply because I'm a very stable genius. OK, SERIOUS NOW: HTML code can be
also added to leave some breating space after abstract such as

### html_document specific YAML options

These variables need to be indented under the html_document option. Some of my favorites are:

• toc: true/false to show table of contents. It creates links to headings throughout the html_document
• toc_depth: A number (default 3) determining how many subheadings will be visible in the TOC
• toc_float: true/false determining whether the TOC stays visible when you scroll down.
• number_sections: true/false to organize the document with numeric headings
• code_folding: true/false to display code in collapsible sections (especially useful when sharing the analysis with others who don’t care about the code itself). It can be one of “none”, “hide”, “show”.
• theme: Change the overall look of the report. It can be one of “default”, “cerulean”, “journal”, “flatly”, “darkly”, “readable”, “spacelab”, “united”, “cosmo”, “lumen”, “paper”, “sandstone”, “simplex”, “yeti”.
• includes: I don’t usually use this really, but I can see how powerful it can be. Indented underneath this variable, you can specify HTML contents to display in the page header or before/after the page body. This can be useful for including logos, details of the analytical approach, interpretations of the results, contact us sections, Google Analytics tracking code snippet etc:
includes:
before_body: doc_prefix.html
after_body: doc_suffix.html

Finally, a complete YAML example:

---
title: Our groundbreaking analysis that will lead to world peace
author:
- name: John, the Problem Solver
affiliation: Get Shiz Done University
- name: Jack, the Supposed Contributor
affiliation: Living Room Couch
date: "r lubridate::today()"
abstract: |
Our analysis shows that the main reason of global conflicts can be attributed
to the insufficient amounts of Nutella consumption in situation rooms.

It turns out that the government officials across the globe are a bit grumpy

output:
html_document:
toc: true
toc_float: true
toc_depth: 2
number_sections: true
code_folding: hide


text:
# Factors of 991

If it's not what You are looking for type in the field below your own integer, and You will get the solution.

Factors of 991:

By prime factorization of 991 we follow 5 simple steps:
1. We write number 991 above a 2-column table
2. We divide 991 by the smallest possible prime factor
3. We write down on the left side of the table the prime factor and next number to factorize on the ride side
4. We continue to factor in this fashion (we deal with odd numbers by trying small prime factors)
5. We continue until we reach 1 on the ride side of the table

 991 prime factors number to factorize 991 1

Factors of 991 = 1×991= $1 × 991$

## Related pages

convert 1.05 to a percent8and9225-81ax2 bx c solve for xprime factors of 54common multiples of 157x 4yalgebra calculator with solutionderivative findersimplify 5x 3xprime factorization of 187what is the prime factorization of 2800what is the graph of 2x 5y 202y 2x 4y 2sin2xhow much is 450 dollars in poundsprime factorization of 79factorise a 2 b 2prime factors of 3652x-3 squared3x2 5x 1solving linear equations calculator3x-5y 13 x-2y 51234567890 0987654321what is 2000000000gcf of 1475x 6y 7prime factorization of 198180-1083y 2x 12lcm of 12what is the prime factorization of 400what is the gcf of 96 48 and 84prime factorization of 19q m c tx 2 4x factored6x 3yln 3xby lox 15asqrt 9-x 23cos4y 3ylnx lny62-252xy xysolve x 2y 6 3x 6y 18simplify 2x 2multi step equations calculatordifferentiate cos 2 3xsquare root of 225 simplifiedfraction calculator adding285.9the prime factorization of 150simplify square root of 96factor 3x 2 2x 5what is the prime factorization for 150q m c t350-20what is 5 sixths as a decimalfraction percent to decimal calculatorderivate of lnxis228differentiating calculatorwhat is the greatest common factor of 120gcf of 1503x squared times 3x squaredlcm of 3 and 2fraction and variable calculator1099x3x 2 factoredhcf of 54 and 72ln2x integral


text:
# Can't reach speed of light, but relative to who?

Imagine a stationary person (with respect to a spaceship) floating in space and looks at a clock on the spaceship going 0.5c and sees it's clock ticking slower than his own, and concludes that it is moving closer to the speed of light than himself...

I learned recently that people on the spaceship will actually see the 'stationary' person's clock ticking not faster, but slower also, with respect to the spaceship's clock, which would make the spaceship person conclude that his spaceship was stationary and the floating man was moving the opposite direction at 0.5c.

My question is this... when physics says we can't move at the speed of light, I ask, with respect to who? The floating man calculates that he is moving at 0c and can accelerate all the way to 1c. But the person on the spaceship is moving, but concludes that he is stationary, so he calculates that his speed is 0c and he can accelerate all the way to 1c. If the man in the spaceship accelerates all the way to 0.99c with respect to his own reference frame, then the stationary person would see him accelerating from 0.5c to 1.499c, faster than light.

• You can't reach the speed of light relative to everybody. Search for "relativistic velocity addition" on this site. – CuriousOne Jun 2 '16 at 11:50
• I believe @curiousone probably meant to say "anybody", not "everybody". – WillO Jun 2 '16 at 12:07
• Or, to explain @CuriousOne's pithy and witty "relative to everybody" (LOL I really like it) and what it has to do with his suggestion: relativistic velocity addition is not linear as you suggest (i.e. you don't simply add velocities like you have done) but its nonlinearity is such that $c$ is the same for all observers. You move at $0.5\,c$ relative to me, but we will both conclude from out independent measurements that any light beam moves at $c$ (although we will in general disagree about the direction - this latter phenomenon is called "relativistic aberration"). – Selene Routley Jun 2 '16 at 12:10
• To set the record about my English straight: it's not my first language and I do frequently mistake any- and everybody. :-) In this case I initially wrote "anybody" and then I decided to go with the grammatically incorrect (right?) "everybody" to make a stronger statement. @WetSavannaAnimalakaRodVance guessed my intentions correctly, but I don't mind being called out on it. I appreciate that somebody likes it. :-) – CuriousOne Jun 2 '16 at 20:47
• @WillO: Maybe I should have put "everybody" in quotation marks? I think that would have made a proper improper statement, right? – CuriousOne Jun 2 '16 at 20:48

To answer this, You can't add velocities as in Newtonian mechanics. In relativity, If frame B is moving at velocity u and C is moving at velocity v both with respect to an inertial frame A, then relative velocity between B and C is $\frac{u+v}{1+ uv/c^2}$.


text:
# Math Help - Directional derivative

1. ## Directional derivative

Given

F( x, y ,z) = 2x + 3y^2 + yz,

find Directional derivative of F at ( 2 , -1, 5) along the direction given by line x = y = ( z / 2).

-----------------------------------------------------------------------
Directional derivative Formula = ∇f · u

i grad the F and achieve ( 2, 6y + z , y).

then i sub ( 2 , -1, 5) which is the point into it <--- is this correct ?

what is the u then ?

many thanks

2. Originally Posted by Chris0724
Given

F( x, y ,z) = 2x + 3y^2 + yz,

find Directional derivative of F at ( 2 , -1, 5) along the direction given by line x = y = ( z / 2).

-----------------------------------------------------------------------
Directional derivative Formula = ∇f · u

i grad the F and achieve ( 2, 6y + z , y).

then i sub ( 2 , -1, 5) which is the point into it <--- is this correct ?

what is the u then ?

many thanks
Yes, that is correct. u is the unit vector pointing in the given direction.

However, there are two answers to this problem: just a line does not define a "direction". There are two unit vectors pointing along the "along" this line in opposite directions. The derivative in one direction is the negative of the derivative in the opposite direction.

3. Originally Posted by HallsofIvy
However, there are two answers to this problem: just a line does not define a "direction". There are two unit vectors pointing along the "along" this line in opposite directions. The derivative in one direction is the negative of the derivative in the opposite direction.

hi,

i still have problem finding u. i don't know wat is the value of x , y , z...

4. Originally Posted by Chris0724
hi,

i still have problem finding u. i don't know wat is the value of x , y , z...
find it from the line. you were given the symmetric form of the equation of a line. can you find the direction vector for the line? the unit vector you want is in that direction

5. Originally Posted by Jhevon
find it from the line. you were given the symmetric form of the equation of a line. can you find the direction vector for the line? the unit vector you want is in that direction

oh i got it.... is it ( 1, 1, 0.5) ? Is that call the cartesian coordinate as well?

6. Originally Posted by Chris0724
oh i got it.... is it ( 1, 1, 0.5) ? Is that call the cartesian coordinate as well?
no, that's not it.

also, note that whatever vector you find, its negative will also work. this is what HallsofIvy meant by two answers.

7. Originally Posted by Jhevon
no, that's not it.

also, note that whatever vector you find, its negative will also work. this is what HallsofIvy meant by two answers.
so i will achieve ( 2, 6y + z , y) . [ ( 1, 1, 0.5) / |( 1, 1, 0.5)| ] ?

8. Originally Posted by Chris0724
so i will achieve ( 2, 6y + z , y) . [ ( 1, 1, 0.5) / |( 1, 1, 0.5)| ] ?
no, your unit vector is wrong, i said that

find the correct one then plug it into the formula you mentioned.

9. No, Jhevon, his unit vector is right. It is (1, 1, 0.5) divided by its length and that is what he meant by "(1, 1, 0.5)/|(1, 1, 0.5)
|.
Chris0724, you can go ahead and put in the point (2, -1, 5) for x, y, and z.

10. Originally Posted by HallsofIvy
No, Jhevon, his unit vector is right. It is (1, 1, 0.5) divided by its length and that is what he meant by "(1, 1, 0.5)/|(1, 1, 0.5)

Chris0724, you can go ahead and put in the point (2, -1, 5) for x, y, and z.
am i forgetting my calc 3? i would think that the direction vector for the line x = y = z/2 is <1,1,2> and so it should be <1,1,2>/|<1,1,2>|. maybe i'm drunk again

11. Originally Posted by Jhevon
am i forgetting my calc 3? i would think that the direction vector for the line x = y = z/2 is <1,1,2> and so it should be <1,1,2>/|<1,1,2>|. maybe i'm drunk again
You are right and I am wrong. How foolish of me. Given x= y= z/2 and setting each to t, x= t, y= t, z= 2t are parametric equations and <1, 1, 2> is the vector.


text:
Energy Excursions

# Cementing the Well

The installation of casing is a sequentially repeated process that includes drilling. After each segment of hole has been drilled, casing string of slightly smaller diameter is run in the hole. The annulus between the outer diameter of the pipe and the hole size is then filled with cement, sometimes only in the lower portions of the hole and sometimes all the way from the bottom of the hole back to the surface.  Once the cement is placed in the annulus, it takes time for  it to set and harden.

During drilling, the annulus is beneficial in that it gives the ability to circulate fluids in the well. Later, however, an annulus can be detrimental if we do not want fluids moving between different parts of the well. As part of designing the well, engineers want to seal the well so that wellbore fluids cannot migrate into the surrounding rocks or between different subsurface zones, and so that only particular fluids from predetermined target zones can migrate into the well (i.e., oil and gas from the reservoir).

The cement in the annulus outside a casing string should keep drilling fluids from flowing up around the outside of the casing, thus protecting the wellbore. Cement is a crucial physical barrier to secure the integrity of the well, preventing ingress of hydrocarbons into the well and loss of well control.

Yet, a Mineral Management Service study of offshore blowouts published in 2007 noted the most common contributing factor for blowouts between 1992 and 2006 was cementing operations. Consequently, cementing operations not only need to be designed according to safety regulations, post-cementing verification tests are required for all wells drilled in the subsurface, which we will discuss in later sections.1US CHEMICAL SAFETY AND HAZARD INVESTIGATION BOARD. (2014, June 5). INVESTIGATION REPORT VOLUME 1 EXPLOSION AND FIRE AT THE MACONDO WELL. US CHEMICAL SAFETY AND HAZARD INVESTIGATION BOARD. REPORT NO. 2010-10-I-OS.

## Pumping Cement into the Well

Although the ultimate goal is to fill the annulus around the well casing with cement, cement is actually pumped through the inside of the casing, in the same way that drilling mud passes through the drill string before rising through the annulus as part of mud circulation during drilling.

Naturally, drillers don’t want to end up with the inside of the casing filled with cement, so they carefully calculate how much cement will be needed to fill the annulus outside a given casing string. Prior to running a string of casing, the drill pipe and bit are removed from the hole.  With drilling mud still in the hole, the steel pipe that makes up the casing is run to the bottom of the hole. Cement is then pumped into the well through the inside of the casing, displacing the mud ahead of it and returning it to the surface through the annuals. After the specified amount of cement has been pumped into the casing, a ‘wiper plug’ is inserted into the pipe to seal the cement from the following displacement fluid, typically drilling mud. This plug, which works like the end of the plunger in a syringe used for getting shots at the doctor, cleans the cement from the inside of the casing, and in conjunction with the displacement fluid pumped behind it, it pushes the cement out of the bottom of the casing into the annulus. When the plug ‘bumps’ the bottom of the casing string, where there is a special seat installed in an assembly called the shoe, there will be a pressure spike and the drillers will then know to stop pumping. After time is allowed for the cement to start to set, a pressure test will be run to assure the casing is properly sealed. After a successful test, the drill bit will be run back in the hole on the drill string, the wiper plug and shoe will be drilled out of the bottom of the pipe and drilling will continue.

Cementing casing in place involves filling the annulus with cement above any hydrocarbon bearing zones if they are present as well as a small length (30ˈ-90ˈ) in the shoe track.

## Calculating the Cement Job

Engineers must calculate the correct amount of cement that is needed to properly fill the annular space using the height of the wellbore and the annular capacity. Let’s take a look at an example of calculating the amount of cement needed for a new well being drilled in the practice problem below.

### Practice Problem

Once a segment of the wellbore is drilled, you want to determine how much cement is needed to fill the space between the outside diameter of the casing and the inside diameter of the borehole. Depending on the stage of drilling, part of the borehole may be lined by a previous casing string, while the rest may be lined by bare rock surface as drilled out by the bit, and the two sections may have different inside diameters. For this exercise, we will assume the entire segment to be cased is lined by bare rock.

We can calculate how much cement is needed by determining the annular volume (AV) between the casing string and the hole into which it will be installed. The volume of the annulus can be found by calculating the volume of the cylinder representing the borehole (with diameter DH, indicated as the yellow cylinder in the figure) and subtracting the volume of the cylinder representing the casing string (with diameter DP, indicated as the purple cylinder in the figure) as follows.

$AV=\left( \left( \pi \frac{DH}{2} \right)^{2} \times height\right) -\left( \left( \pi \frac{DP}{2} \right)^{2} \times height\right) =\frac{\pi }{4} \times \left( DH^{2}-DP^{2}\right) \times height$

If we were working on a rig, they would report diameter to us in inches and height in ft, so a conversion factor is required to produce the answer of AV in ft3.  Modifying the equation to properly compute the answer for the expected units, we can add the conversion factor of 1 ft2 per 144 in2, times the constant in the equation, pi/4, resulting in

$AV=0.005454\frac{\text{ft}^{2} }{\text{in}^{2} } \times \left( DH^{2}-DP^{2}\right) \times height$

Assuming we drilled a 17-1/2 inch diameter hole for 16 inch diameter casing over a 5,000 ft hole height, the annular volume of cement required would be

$AV=0.005454\frac{\text{ft}^{2} }{\text{in}^{2} } \times \left( 17.5\ \text{in}^{2} -16\ \text{in}^{2} \right) \times 5000\ \text{ft} =1370\ \text{ft}^{3}$

Image Credits: Photo Courtesy of the U.S. Chemical Safety and Hazard Investigation Board ; Mudgineer at English Wikipedia, Public domain, via Wikimedia Commons


text:
# Taming the Monster: A Fast and Simple Algorithm for Contextual Bandits

We present a new algorithm for the contextual bandit learning problem, where the learner repeatedly takes one of $K$ actions in response to the observed context, and observes the reward only for that chosen action. Our method assumes access to an oracle for solving fully supervised cost-sensitive classification problems and achieves the statistically optimal regret guarantee with only $\tilde{O}(\sqrt{KT/\log N})$ oracle calls across all $T$ rounds, where $N$ is the number of policies in the policy class we compete against... (read more)

PDF Abstract

# Results from the Paper Edit

Submit results from this paper to get state-of-the-art GitHub badges and help the community compare results to other papers.

# Methods used in the Paper Add Remove

METHOD TYPE
🤖 No Methods Found Help the community by adding them if they're not listed; e.g. Deep Residual Learning for Image Recognition uses ResNet


text:
The full source code for the framework described here is available at gh:ayazhafiz/hotreload.

In this cc, we will develop a small framework for executing software programs with support for hot code reloading. Hot code reloading permits dynamic (“hot”) changes to part of a program’s implementation without interfering with the active state of the program or requiring a full recompilation, permitting faster iteration cycles during software development. As a small example, here is our framework hot-reloading parts of a simple counter program without changing its state:

This is not just live code reloading. When scale or shift are reloaded, i is not affected.

To show how we could implement hot code reloading for both machine-code programs and those running in a browser (both of which are shown in the examples above), we will implement two backends. One will compile our software to machine code and execute it in a two-sided runtime; this is called the native backend. The other will compile our software to JavaScript code and execute it in the browser with a client/server runtime; this is the browser backend.

But first, it will be helpful to mention the framework language, which has been designed to provide a common frontend for both runtimes.

## The framework language

Here’s the source code of the counter example we saw aboveThe code shown in the example above is actually an earlier version of the framework language, but the presented code works all the same.:

import { hotreload, HotReloadProgram } from "../runtime/runtime";

scale(a: number): number {
return a * 1;
}

shift(a: number): number {
return a + 0;
}

async main(): Promise<number> {
for (let i = 0; ; ++i) {
let n = this.shift(this.scale(i));
this.print(n);
await this.sleep_seconds(1);
}
}
}

This is just TypeScript code, which is checked by the TypeScript compiler and then translated to either C++ (for the native backend) or JavaScript (for the browser backend).

Each program is described by a single class that extends from HotReloadProgram; the entry point is the main method of that class. Some standard functions (print, sleep_seconds) are provided by the base class. The most important thing here is the @hotreload decorator, which marks methods whose implementations should be watched and reloaded as needed by the runtime.

When targeting the browser runtime, the input program can contain any code admissible by the TypeScript compiler. When targeting the native backend, only a subset of TypeScript code is admissible, as I would like this to be an exploration of hot-code reloading rather than that of TS->C++ code generation. Adding support for translation of more constructs should be trivial, but the language really isn’t the point here.

Our choice of TypeScript as a high-level DSL works well because it is trivial to translate to both target languages, and all we need is something that we can input into either backend to check if our hot-reloading implementation “just works”. We could talk more about programming language interfaces if we were implementing some production system based on this work. In fact, I am of the opinion that it should be programming language compilers/interpreters that provide support for hot code reloading, not external frameworks.

But okay, I digress. Let’s get on with what we’re really here for – hot code reloading! First up, the native backend and runtime.

## The native backend

So let’s say we have some program that we know how to compile to machine code, load, and execute. What extra work do we need to do to support hot code reloading within the executable?

The main thing to figure out is how the executable be composed. It’s clear that in order to change the implementation of a function on the fly without changing the state of a running binary, we cannot statically link the function routine with that binary; otherwise, we would need to re-link (and thus restart) the entire binary when the function changes. So we need to be able to dynamically load, link, and unload the function symbol as needed. And that’s just it – we’ll compile our @hotreload-annotated functions as dynamic libraries (also known as shared libraries) and give our main program executable some information on how to load and link those libraries. Then, when a @hotreload function implementation changes, we recompile its dynamic library and instruct the main program to reload and re-link the library.

To me, there is nothing really tricky or even interesting about this idea; it just makes sense! Turns out, shared libraries are how pretty much all plugin systems works, and thankfully libc has a series of functions devoted to loading/unloading/reading from dynamic libraries (see man 6 dlopen). So knowing the path forward, the remaining work we have is to actually set up the runtime in the aforementioned manner.

First, let’s design a system to load and link dynamic libraries associated with @hotreload functions in the user program (we’ll call this the program runtime). For each @hotreload function, we’ll have the framework compiler instantiate a HotReload object to manage this work. Let’s walk through what that object looks likeBy the way, I use C++ as the target language here to make some things like memory allocation easier than would be in C, where a lot of boilerplate may distract from the more interesting things. Writing this same runtime in C would be straightforward..

template <typename T>
public:
// ...snipped constructor

T* get() {
}

The only public API of the object is the get method, which retrieves the function pointer associated with the @hotreload function. The signature of the function is described by T, which we instantiate with a concrete type during compilation of the input program to C++ (we’ll see what that looks like in a bit).

Before we get to assure_loaded, let’s take a look at the data we associate with each HotReload instance.

template <typename T>
// ...snipped

private:
const char* api;
const char* libpath;
const char* copypath;
const char* lockfile;

void* handle = nullptr;

There are comments in the source code describing what each of these members does, but for exposition let’s enumerate them here:

• api: the name of the function symbol to be loaded from the shared library containing the @hotreload function implementation.
• libpath: the file path of the dynamic library the @hotreload function routine is defined in. When the function implementation changes, it is recompiled with output at this path.
• copypath: consider the case in which we go to access a function routine while a new implementation is being recompiled to libpath. If the compilation process touches the contents of libpath non-atomically (which it almost certainly does), we would have to spin until the compilation is finished. To avoid this, whenever we detect a change to libpath we first copy its contents to copypath and then read the function routine from there. This way, the user program can continue to use a stale function implementation while the library at libpath is recompiling.
• lockfile: in general we want to reload the function symbol for api whenever we detect a change to libpath, but libpath may be modified non-atomically during the compilation process, in which case the library contents may be incomplete and non-loadable. To deal with this problem, we check for the presence of lockfile, which exists on the file system when libpath is being written to and is removed once its contents are complete.
• handle: an opaque handle to the associated dynamic library provided by dlopen.
• loaded: a pointer to the function symbol api represents.
• loadtime: the last time we loaded and linked the dynamic library. If the library object file is modified after this time, we know we should reload it again.

template <typename T>
// ...snipped
private:
// ...snipped

struct stat lib;
stat(libpath, &lib);
if (lockfile_exists()) {
return;
}

if (handle != nullptr) {
if (dlclose(handle)) {
die("dlclose failed: %s\n", dlerror());
}
handle = nullptr;
}

copy_file(libpath, copypath);

handle = dlopen(copypath, RTLD_NOW | RTLD_LOCAL);
if (handle == nullptr) {
die("dlopen failed: %s\n", dlerror());
}

dlerror();  // clear errors
const char* err = dlerror();
if (err != nullptr) {
die("dlsym failed: %s\n", err);
}
}
}
};

First, we check if libpath has been modified since we last used the function symbol associated with it. If it has and the lockfile associated with active compilation is not present, we proceed with reloading the function symbol. We close our active handle to copypath (remember, this is where we actually read the symbols from, since a handle to libpath would already be invalidated at this point). Then we copy the shared library to our target copypath site. We call dlopen on the shared library which loads and links it, and store the returned library handle in handle. Finally, we grab the actual function routine we’re looking for by calling dlsym with the handle and the function name.

You may be wondering, why is handle a data member if its state does not need to persist between multiple calls to assure_loaded? The reason is that the destructor of a HotReload instance should also call dlclose on the shared library handle, because handles to shared libraries are reference counted (when there are no references, the library is unloaded). Of course, since the lifetime of a HotReload instance is exactly that of the user program it’s not like we can introduce memory leaks this way, but hey.

Another thing to mention is the use of the RTLD_NOW and RTLD_LOCAL flags in the call to dlopen. RTLD_NOW instructs libc to bind all external symbols in the library immediately rather than lazily on usage. Since for us, each shared library contains only one function routine which is about to be used, there’s not much point to delaying symbol resolution. RTLD_LOCAL means that symbols in the library are accessible only by the handle returned from dlopen, which is clearly what we want.

Note that our approach here is lazy in the sense that we cache the function symbol address from the shared library and try to reload the library only when a call to HotReload#get is made. The expectation is that the cost of file copying/loading/linking is amortized across many calls to get(), thus keeping the performance and behavior of the program similar to what it would be without a hot reload runtime. It also avoids a bunch of complexity we might have introduced through background threads listening to file changes or spinning in place of a lockfile.

Now, let’s take at what the counter program we showed earlier looks like when compiled with this runtime.

// /private/var/folders/_j/4xdvs8jj5qd6nsfk8wf6jy900000gn/T/7f828395e1611cb8b3e64ee8c7536f35.cpp
extern "C" int scale(int a) {
return a * 1;
}

// /private/var/folders/_j/4xdvs8jj5qd6nsfk8wf6jy900000gn/T/2872612167e7943ceea64b36d17c89d4.cpp
extern "C" int shift(int a) {
return a + 0;
}

// /private/var/folders/_j/4xdvs8jj5qd6nsfk8wf6jy900000gn/T/fc2d242f0363b851a0b2efd6b9db7df8.cpp
/* <runtime snipped> */
int main() {
for (auto i = 0; ; ++i) {
auto n = shift.get()(scale.get()(i));
print(n);
sleep_seconds(1);
}
}

Pretty straightforward – for each @hotreload-annotated function (scale and shift) the framework runtime allocates some unique, temporary files for libpath, copypath, lockfile, and an implementation file to house the function source code. Then the framework writes the @hotreload function implementations to their implementation files, compiles those files as shared libraries at their libpaths, and generates HotReload instances referencing those functions, type-parameterized by their function signatures, in the main program. Finally, we rewrite the raw calls to shift and scale to be shift.get() and scale.get(). If you’re wondering why we label the definitions of scale and shift as extern "C", it’s to ensure conformance with the C ABI as expected by dlsym (otherwise a C++ compiler may mangle the names).

The presence of an additional runtime on the framework side is why I refer to the native backend as having a two-sided runtime. As well as compiling and executing the resulting C++ code, the framework runtime is responsible for listening to changes in the input program and recompiling the shared libraries associated with @hotreload functions as needed.

And that’s all there is to it! We’ve implemented a DSL and framework for running programs with no formal dependencies other than that of libc, and in very little time. Get rid of the DSL, and the runtime alone can be modified to fit any project that doesn’t mind a dependency on libc.

Our fun isn’t over yet – now, let’s show how to perform hot code reloading with programs in the browser, where program state is abound and there certainly is no libc, let alone the concept of machine code loading and linking.

## The browser backend

Obviously, the approach we described above cannot be readily translated to the execution of JavaScript programs by JavaScript engines in the browser. But thanks to the dynamic nature of JavaScript, changing implementations arbitrarily during a program’s execution is startlingly easy. The key idea is that we can inject arbitrary JavaScript code via fresh <script> elements inserted in the DOM, which will immediately execute any code they contain.

In general this is kind of arbitrary code injection is a great way to introduce security vulnerabilities, but since we expect hot code reloading to be used only in local development environments, we’ll wave our hands at that and instead accept it as a huge boon to the ease of our implementation.

Since our program is defined entirely in a class, and hot-reloadable functions are just methods on that class, we can apply new changes just by changing the definition of the method on an instance of the class. And in JavaScript, class methods are just properties. For example:

<body>
<!-- some html -->
<script>
class Counter {
// the counter example above
}
const program = new Counter();
program.main(); // execute the program
</script>

<script>
program.scale = (function scale(a) {
return a * 2;
}).bind(program);
</script>
</body>

The second <script> element executes in the same context as the first, so it overwrites the scale method of the program with an implementation that scales the input variable by 2 rather than 1. Calls to program.scale will immediately begin referencing this implementationFor those unfamiliar, fn.bind(obj) updates the this reference in fn to be that of obj. By default, the this reference in a free function is just that function. Of course, in this example it doesn’t matter because scale does not use this..

Knowing how to apply changes, the other thing we need to figure out is how to inform the running program of new changes. Since we have no file system access from the browser, it seems we need a web server. And that’s exactly what we’ll do – the framework runtime will spin up a web server (we’ll call this the server runtime) that serves a web page with the user program and a runtime for applying changes to @hotreload methods of the active program (we’ll call this the client runtime). The client runtime will open a websocket with the server runtime, over which the server will send code patches (of the form program.foo = newFoo.bind(program) we saw above) to the client whenever it detects changes to the implementation of @hotreload methods in the input program.

Let’s quickly walk through the client runtime to make sure we’re on the same pageThe server runtime is not that interesting, but I have attempted to leave it well-commented if you are interesting in reading through it..

let _π_reload_id = 0;
const s = document.createElement("script");

const wait_hotreload = new Promise((resolve) => {
});

s.innerHTML = [patch, _π_resolve_reload[\${reload_id}]();].join("\n");

document.body.appendChild(s);
document.body.removeChild(s);
}

const πrecv = new WebSocket(πHR_ROUTE);
πrecv.onmessage = function (event) {
};

When we receive a message over the πrecv websocket, we assume that the message is a well-formed and complete patch to the class instance containing the main program (the patch is assembled in the compiler). We chuck the patch over to πhotreload, which will actually load it in the active session. First, we allocate a new <script> element to hold the patch. It’s polite to clean up after yourself, we also allocate a fresh Promise that will be resolved by code in the <script> element after the patch has been evaluated. We inject the <script> element into the DOM, await the promise, and then remove the <script> element.

It’s that easy! Now we can go to work on web applications without the annoyance of a full recompilation, refresh, and re-navigation to the state we were at every time we want to make a change.


text:
## Tag: seeing like a state

### The Data Processing Inequality and bounded rationality

I have long harbored the hunch that information theory, in the classic Shannon sense, and social theory are deeply linked. It has proven to be very difficult to find an audience for this point of view or an opportunity to work on it seriously. Shannon’s information theory is widely respected in engineering disciplines; many social theorists who are unfamiliar with it are loathe to admit that something from engineering should carry essential insights for their own field. Meanwhile, engineers are rarely interested in modeling social systems.

I’ve recently discovered an opportunity to work on this problem through my dissertation work, which is about privacy engineering. Privacy is a subtle social concept but also one that has been rigorously formalized. I’m working on formal privacy theory now and have been reminded of a theorem from information theory: the Data Processing Theorem. What strikes me about this theorem is that is captures an point that comes up again and again in social and political problems, though it’s a point that’s almost never addressed head on.

The Data Processing Inequality (DPI) states that for three random variables, X, Y, and Z, arranged in Markov Chain such that $X \rightarrow Y \rightarrow Z$, then $I(X,Z) \leq I(X,Y)$, where here $I$ stands for mutual information. Mutual information is a measure of how much two random variables carry information about each other. If $I(X,Y) = 0$, that means the variables are independent. $I(X,Y) \geq 0$ always–that’s just a mathematical fact about how it’s defined.

The implications of this for psychology, social theory, and artificial intelligence are I think rather profound. It provides a way of thinking about bounded rationality in a simple and generalizable way–something I’ve been struggling to figure out for a long time.

Suppose that there’s a big world out the, $W$ and there’s am organism, or a person, or a sociotechnical organization within it, $Y$. The world is big and complex, which implies that it has a lot of informational entropy, $H(W)$. Through whatever sensory apparatus is available to $Y$, it acquires some kind of internal sensory state. Because this organism is much small than the world, its entropy is much lower. There are many fewer possible states that the organism can be in, relative to the number of states of the world. $H(W) >> H(Y)$. This in turn bounds the mutual information between the organism and the world: $I(W,Y) \leq H(Y)$

Now let’s suppose the actions that the organism takes, $Z$ depend only on its internal state. It is an agent, reacting to its environment. Well whatever these actions are, they can only be so calibrated to the world as the agent had capacity to absorb the world’s information. I.e., $I(W,Z) \leq H(Y) << H(W)$. The implication is that the more limited the mental capacity of the organism, the more its actions will be approximately independent of the state of the world that precedes it.

There are a lot of interesting implications of this for social theory. Here are a few cases that come to mind.

I've written quite a bit here (blog links) and here (arXiv) about Bostrom’s superintelligence argument and why I’m generally not concerned with the prospect of an artificial intelligence taking over the world. My argument is that there are limits to how much an algorithm can improve itself, and these limits put a stop to exponential intelligence explosions. I’ve been criticized on the grounds that I don’t specify what the limits are, and that if the limits are high enough then maybe relative superintelligence is possible. The Data Processing Inequality gives us another tool for estimating the bounds of an intelligence based on the range of physical states it can possibly be in. How calibrated can a hegemonic agent be to the complexity of the world? It depends on the capacity of that agent to absorb information about the world; that can be measured in information entropy.

A related case is a rendering of Scott’s Seeing Like a State arguments. Why is it that “high modernist” governments failed to successfully control society through scientific intervention? One reason is that the complexity of the system they were trying to manage vastly outsized the complexity of the centralized control mechanisms. Centralized control was very blunt, causing many social problems. Arguably, behavioral targeting and big data centers today equip controlling organizations with more informational capacity (more entropy), but they
still get it wrong sometimes, causing privacy violations, because they can’t model the entirety of the messy world we’re in.

The Data Processing Inequality is also helpful for explaining why the world is so messy. There are a lot of different agents in the world, and each one only has so much bandwidth for taking in information. This means that most agents are acting almost independently from each other. The guiding principle of society isn’t signal, it’s noise. That explains why there are so many disorganized heavy tail distributions in social phenomena.

Importantly, if we let the world at any time slice be informed by the actions of many agents acting nearly independently from each other in the slice before, then that increases the entropy of the world. This increases the challenge for any particular agent to develop an effective controlling strategy. For this reason, we would expect the world to get more out of control the more intelligence agents are on average. The popularity of the personal computer perhaps introduced a lot more entropy into the world, distributed in an agent-by-agent way. Moreover, powerful controlling data centers may increase the world’s entropy, rather than redtucing it. So even if, for example, Amazon were to try to take over the world, the existence of Baidu would be a major obstacle to its plans.

There are a lot of assumptions built into these informal arguments and I’m not wedded to any of them. But my point here is that information theory provides useful tools for thinking about agents in a complex world. There’s potential for using it for modeling sociotechnical systems and their limitations.

### Lenin and Luxemburg

One of the interesting parts of Scott’s Seeing Like a State is a detailed analysis of Vladimir Lenin’s ideological writings juxtaposed with one of this contemporary critics, Rosa Luxemburg, who was a philosopher and activist in Germany.

Scott is critical of Lenin, pointing out that while his writings emphasize the role of a secretive intelligentsia commanding the raw material of an angry working class through propaganda and a kind of middle management tier of revolutionarily educated factory bosses, this is not how the revolution actually happened. The Bolsheviks took over an empty throne, so to speak, because the czars had already lost their power fighting Austria in World War I. This left Russia headless, with local regions ruled by local autonomous powers. Many of these powers were in fact peasant and proletarian collectives. But others may have been soldiers returning from war and seizing whatever control they could by force.

Luxemburg’s revolutionary theory was much more sensitive to the complexity of decentralized power. Rather than expecting the working class to submit unquestioningly to top-down control and coordinating in mass strikes, she acknowledged a reality that decentralized groups would act in an uncoordinated way. This was good for the revolutionary cause, she argued, because it allowed the local energy and creativity of workers movements to move effectively and contribute spontaneously to the overall outcome. Whereas Lenin saw spontaneity in the working class as leading inevitably to their being coopted by bourgeois ideology, Luxemburg believed the spontaneous authentic action of autonomously acting working class people were vital to keeping the revolution unified and responsive to working class interests.

### equilibrium representation

We must keep in mind not only the capacity of state simplifications to transform the world but also the capacity of the society to modify, subvert, block, and even overturn the categories imposed upon it. Here is it useful to distinguish what might be called facts on paper from facts on the ground…. Land invasions, squatting, and poaching, if successful, represent the exercise of de facto property rights which are not represented on paper. Certain land taxes and tithes have been evaded or defied to the point where they have become dead letters. The gulf between land tenure facts on paper and facts on the ground is probably greatest at moments of social turmoil and revolt. But even in more tranquil times, there will always be a shadow land-tenure system lurking beside and beneath the official account in the land-records office. We must never assume that local practice conforms with state theory. – Scott, Seeing Like a State, 1998

I’m continuing to read Seeing Like a State and am finding in it a compelling statement of a state of affairs that is coded elsewhere into the methodological differences between social science disciplines. In my experience, much of the tension between the social sciences can be explained in terms of the differently interested uses of social science. Among these uses are the development of what Scott calls “state theory” and the articulation, recognition, and transmission of “local practice”. Contrast neoclassical economics with the anthropology of Jean Lave as examples of what I’m talking about. Most scholars are willing to stop here: they choose their side and engage in a sophisticated form of class warfare.

This is disappointing from the perspective of science per se, as a pursuit of truth. To see where there’s a place for such work in the social sciences, we only have to the very book in front of us, Seeing Like a State, which stands outside of both state theory and local practices to explain a perspective that is neither but rather informed by a study of both.

In terms of the ways that knowledge is used in support of human interests, in the Habermasian sense (see some other blog posts), we can talk about Scott’s “state theory” as a form of technical knowledge, aimed at facilitating power over the social and natural world. What he discusses is the limitation of technical knowledge in mastering the social, due to complexity and differentiation in local practice. So much of this complexity is due to the politicization of language and representation that occurs in local practice. Standard units of measurement and standard terminology are tools of state power; efforts to guarantee them are confounded again and again in local interest. This disagreement is a rejection of the possibility of hermeneutic knowledge, which is to say linguistic agreement about norms.

In other words, Scott is pointing to a phenomenon where because of the interests of different parties at different levels of power, there’s a strategic local rejection of inter-subjective agreement. Implicitly, agreeing even on how to talk with somebody with power over you is conceding their power. The alternative is refusal in some sense. A second order effect of the complexity caused by this strategic disagreement is the confounding of technical mastery over the social. In Scott’s terminology, a society that is full of strategic lexical disagreement is not legible.

These are generalizations reflecting tendencies in society across history. Nevertheless, merely by asserting them I am arguing that they have a kind of special status that is not itself caught up in the strategic subversions of discourse that make other forms of expertise foolish. There must be some forms of representation that persist despite the verbal disagreements and differently motivated parties that use them.

I’d like to call these kinds of representations, which somehow are technically valid enough to be useful and robust to disagreement, even politicized disagreement, as equilibrium representations. The idea here is that despite a lot of cultural and epistemic churn, there are still attractor states in the complex system of knowledge production. At equilibrium, these representations will be stable and serve as the basis for communication between different parties.

I’ve posited equilibrium representations hypothetically, without having a proof or example yet on one that actually exists. My point is to have a useful concept that acknowledges the kinds of epistemic complexities raised by Scott but that acknowledges the conditions for which a modernist epistemology could prevail despite those complexities.

### Seeing Like a State: problems facing the code rural

I’ve been reading James C. Scott’s Seeing Like a State: How Certain Schemes to Improve the Human Condition Have Failed for, once again, Classics. It’s just as good as everyone says it is, and in many ways the counterpoint to James Beniger’s The Control Revolution that I’ve been looking for. It’s also highly relevant to work I’m doing on contextual integrity in privacy.

Here’s a passage I read on the subway this morning that talks about the resistance to codification of rural land use customs in Napoleonic France.

In the end, no postrevolutionary rural code attracted a winning coalition, even amid a flurry of Napoleonic codes in nearly all other realms. For our purposes, the history of the stalemate is instructive. The first proposal for a code, which was drafted in 1803 and 1807, would have swept away most traditional rights (such as common pasturage and free passage through others’ property) and essentially recast rural property relations in the light of bourgeois property rights and freedom of contract. Although the proposed code pefigured certain modern French practices, many revolutionaries blocked it because they feared that its hands-off liberalism would allow large landholders to recreate the subordination of feudalism in a new guise.

A reexamination of the issue was then ordered by Napoleon and presided over by Joseph Verneilh Puyrasseau. Concurrently, Depute Lalouette proposed to do precisely what I supposed, in the hypothetical example, was impossible. That is, he undertook to systematically gather information about all local practices, to classify and codify them, and then to sanction them by decree. The decree in question would become the code rural. Two problems undid this charming scheme to present the rural poplace with a rural code that simply reflected its own practices. The first difficulty was in deciding which aspects of the literally “infinite diversity” or rural production relations were to be represented and codified. Even if a particular locality, practices varied greatly from farm to farm over time; any codification would be partly arbitrary and artificially static. To codify local practices was thus a profoundly political act. Local notables would be able to sanction their preferences with the mantle of law, whereas others would lose customary rights that they depended on. The second difficulty was that Lalouette’s plan was a mortal threat to all state centralizers and economic modernizers for whom a legible, national property regime was the procondition of progress. As Serge Aberdam notes, “The Lalouette project would have brought about exactly what Merlin de Douai and the bourgeois, revolutionary jurists always sought ot avoid.” Neither Lalouette nor Verneilh’s proposed code was ever passed, because they, like their predecessor in 1807, seemed to be designed to strengthen the hand of the landowners.

(Emphasis mine.)

The moral of the story is that just as the codification of a land map will be inaccurate and politically contested for its biases, so too a codification of customs and norms will suffer the same fate. As Borges’ fable On Exactitude in Science mocks the ambition of physical science, we might see the French attempts at code rural to be a mockery of the ambition of computational social science.

On the other hand, Napoleonic France did not have the sweet ML we have today. So all bets are off.