Q:

I am trying to use vanilla JS to highlight clicked anchor and remove the previously highlighted anchor

This is my first post and I don't know what I am doing yet, so please bear with me.
I am trying to use vanilla JS to highlight a clicked anchor and remove the previously highlighted anchor.
I am not sure why it is not working but I am new at this.
My CodePen
below is just the JS. .nav-link is the link class. active is the class that should manipulate it after the click.
window.onload = afterClick;

function afterClick(){
 //set an on off array to toggle.
  let linkClass = document.querySelectorAll(".nav-link");

  linkClass.forEach(link => link.addEventListener("click", function(){
  if (link.classList.contains("active")) {
    link.classList.remove("active");
  link.classList.add("active");
  }}));
}

Thank you!

A:

Instead of onload you can listen to hashchange event instead to achieve this like:
window.addEventListener("hashchange", () => {
  let hash = window.location.hash;
  if (hash) {
    let linkClass = document.querySelectorAll(".nav-link");
    linkClass.forEach(x => x.classList.remove("active"))
    document.querySelector('a[href="' + hash + '"]').classList.add("active");
  }
});

So, whenever the url hash will change, it will remove the active class from all the links using:
linkClass.forEach(x => x.classList.remove("active"))

and then it will search for the link having that hash and add the active class to that link only using:
document.querySelector('a[href="' + hash + '"]').classList.add("active");

Working Demo:

window.addEventListener("hashchange", () => {
  let hash = window.location.hash;
  if (hash) {
    let linkClass = document.querySelectorAll(".nav-link");
    linkClass.forEach(x => x.classList.remove("active"))
    document.querySelector('a[href="' + hash + '"]').classList.add("active");
  }
});
#main-doc{font-family:Montserrat,sans-serif}#navbar{float:left;position:fixed;font-family:Montserrat,sans-serif;font-weight:700;min-width:230px;max-width:231px;height:100vh;background:url(https://image.freepik.com/free-vector/elegant-white-texture-background_23-2148431731.jpg);margin-top:-10px;margin-left:-10px;margin-right:40px;margin-bottom:25px;border:1px solid #000}#navbar header{padding:14px;font-size:1.8em;text-align:center;border:1px solid #000}#navbar a{display:block;color:#000;text-decoration:none;padding:15px;font-size:1.1em;text-align:center;border:1px solid #000;border-top:0}.main-section header{margin-left:30px;font-family:Notable,sans-serif;font-size:1.4rem}.main-section ul li{list-style-type:none;font-size:1.3em;padding-bottom:6px}.main-section{margin-left:230px;margin-right:50px;padding-top:20px}#main-doc{padding-bottom:60px}code{font-size:1rem;font-family:Montserrat,sans-serif}.active{color:orange!important;background-color:#00f!important}@media only screen and (max-width:425px){#navbar{max-width:425px;min-width:200px;position:relative;width:100vw;height:auto}.nav-link{margin-top:0;width:100vw}.main-section{margin-left:5px;margin-right:10px;padding-top:20px}.main-section ul{padding-left:5px}.navbar a{padding:0}}

  Common Sharks
  About Sharks
  The Great White
  Oceanic White Tip
  Bull Shark
  Tiger Shark

    About Sharks

Before we can talk about the most deadly sharks in the world, there are a few interesting facts that will help you understand sharks as a species better.

Sharks do not have bones

Sharks use their gills to filter oxygen from the water. They are a special type of fish known Elasmobranch, which translates into:
fish made of cartilaginous tissues—the clear gristly stuff that your ears and nose tip are made of. This
        category also includes rays, sawfish, and skates. Their cartilaginous skeletons are much lighter than true bone and their large livers are full of low-density oils, both helping them to be buoyant.

Even though sharks don't have bones, they still can fossilize. As most sharks age, they deposit calcium salts in their skeletal cartilage to strengthen it. The dried jaws of a shark appear and feel heavy and solid; much like bone. These same minerals
        allow most shark skeletal systems to fossilize quite nicely. The teeth have enamel so they show up in the fossil record too.

Most sharks have good eyesight

Most sharks can see well in dark lighted areas, have fantastic night vision, and can see colors. The back of sharks’ eyeballs have a reflective layer of tissue called a tapetum. This helps sharks see extremely well with little light.

Sharks have special electroreceptor organs

Sharks have small black spots near the nose, eyes, and mouth. These spots are the ampullae of Lorenzini – special electroreceptor organs that allow the shark to sense electromagnetic fields and temperature shifts in the ocean.

Shark skin feels similar to sandpaper

Shark skin feels exactly like sandpaper because it is made up of tiny teeth-like structures called placoid scales, also known as dermal denticles. These scales point towards the tail and help reduce friction from surrounding water when the shark
        swims.

Sharks can go into a trance

When you flip a shark upside down they go into a trance like state called tonic immobility. This is the reason why you often see sawfish flipped over when our scientists are working on them in the water.

Sharks have been around a very long time

Based on fossil scales found in Australia and the United States, scientists hypothesize sharks first appeared in the ocean around 455 million years ago.

Scientists age sharks by counting the rings on their vertebrae

Vertebrae contain concentric pairs of opaque and translucent bands. Band pairs are counted like rings on a tree and then scientists assign an age to the shark based on the count. Thus, if the vertebrae has 10 band pairs, it is assumed to be 10 years old. Recent studies, however, have shown that this assumption is not always correct. Researchers must therefore study each species and size class to determine how often the band pairs are deposited because the deposition rate may change over time. Determining the actual rate that the bands are deposited is called validation.

Blue sharks are really blue

The blue shark displays a brilliant blue color on the upper portion of its body and is normally snowy white beneath. The mako and porbeagle sharks also exhibit a blue coloration, but it is not nearly as brilliant as that of a blue shark. In life, most sharks are brown, olive, or grayish.

Each whale shark’s spot pattern is unique as a fingerprint

Whale sharks are the biggest fish in the ocean. They can grow to 12.2 meters and weigh as much as 40 tons by some estimates! Basking sharks are the world's second largest fish, growing as long as 32 feet and weighing more than five tons.

Some species of sharks have a spiracle that allows them to pull water into their respiratory system while at rest

Most sharks have to keep swimming to pump water over their gills A shark's spiracle is located just behind the eyes which supplies oxygen directly to the shark's eyes and brain. Bottom dwelling sharks, like angel sharks and nurse sharks, use this
        extra respiratory organ to breathe while at rest on the seafloor. It is also used for respiration when the shark's mouth is used for eating.

Not all sharks have the same teeth

        Mako sharks have very pointed teeth, while white sharks have triangular, serrated teeth. Each leave a unique, tell-tale mark on their prey. A sandbar shark will have around 35,000 teeth over the course of its lifetime!

Different shark species reproduce in different ways

        Sharks exhibit a great diversity in their reproductive modes. There are oviparous (egg-laying) species and viviparous (live-bearing) species. Oviparous species lay eggs that develop and hatch outside the mother's body with no parental care
        after the eggs are laid.

    The Great White

      The legendary great white shark is far more fearsome in our imaginations than in reality. As scientific research on these elusive predators increases, their image as mindless killing machines is beginning to fade.

Shark Attacks

      Of the 100-plus annual shark attacks worldwide, fully one-third to one-half are attributable to great whites. However, most of these are not fatal, and new research finds that great whites, who are naturally curious, are "sample biting"
      then releasing their victims rather than preying on humans. It's not a terribly comforting distinction, but it does indicate that humans are not actually on the great white's menu.

Characteristics

      Great whites are the largest predatory fish on Earth. They grow to an average of 15 feet in length, though specimens exceeding 20 feet and weighing up to 5,000 pounds have been recorded. They have slate-gray upper bodies to blend in with the rocky coastal
      sea floor, but get their name from their universally white underbellies. They are streamlined, torpedo-shaped swimmers with powerful tails that can propel them through the water at speeds of up to 15 miles per hour. They can even leave the water
      completely, breaching like whales when attacking prey from underneath.

Hunting Adaptations

      Highly adapted predators, their mouths are lined with up to 300 serrated, triangular teeth arranged in several rows, and they have an exceptional sense of smell to detect prey. They even have organs that can sense the tiny electromagnetic fields generated
      by animals. Their main prey items include sea lions, seals, small toothed whales, and even sea turtles, and carrion.

Population

      Found in cool, coastal waters throughout the world, there is no reliable data on the great white's population. However, scientists agree that their number are decreasing precipitously due to overfishing and accidental catching in gill nets, among
      other factors, and they are considered a vulnerable species.

    Oceanic White Tip

Characteristics

      This is an active, almost fearless shark also associated with human attacks. MarineBio considers this shark the most potentially dangerous after great whites, tiger, and bull sharks, especially for open-ocean divers. This species is likely responsible
      for open-ocean attacks following air or sea disasters.

Behavior

      Oceanic whitetips can be very aggressive and unpredictable in the presence of potential prey. Sold commercially fresh, frozen, smoked, and dried-salted for human consumption; hides for leather, fins for shark fin soup, liver oil for vitamins, and processed
      into fishmeal.

      This species is a widespread and common large pelagic shark of warm oceanic waters. It presumably has a low reproductive capacity, but is extremely abundant and wide-ranging and is subject to fishery pressure as a common bycatch species with tuna and
      other pelagic species. This bycatch is reportedly either inadequately reported or unrecorded. The fins are highly prized in trade although the carcass is often discarded. Fishery pressure is likely to persist, if not increase in future, and the
      impact of this fishing pressure is presently unknown.

Population

      The oceanic whitetip shark, Carcharhinus longimanus, is listed as Critically Endangered.

    Bull Shark

      Bull sharks are aggressive, common, and usually live near high-population areas like tropical shorelines. They are not bothered by brackish and freshwater, and even venture far inland via rivers and tributaries.

Human Encounters

      Because of these characteristics, many experts consider bull sharks to be the most dangerous sharks in the world. Historically, they are joined by their more famous cousins, great whites and tiger sharks, as the three species most likely to attack humans.

Characteristics

      Bull sharks get their name from their short, blunt snout, as well as their pugnacious disposition and a tendency to head-butt their prey before attacking. They are medium-size sharks, with thick, stout bodies and long pectoral fins. They are gray on top
      and white below, and the fins have dark tips, particularly on young bull sharks.

Hunting

      They are found cruising the shallow, warm waters of all the world’s oceans. Fast, agile predators, they will eat almost anything they see, including fish, dolphins, and even other sharks. Humans are not, per se, on their menus. However, they frequent
      the turbid waters of estuaries and bays, and often attack people inadvertently or out of curiosity.

Threats to Survival

      Bull sharks are fished widely for their meat, hides, and oils, and their numbers are likely shrinking. One study has found that their average lengths have declined significantly over the past few decades.

    Tiger Shark

      Tiger sharks are named for the dark, vertical stripes found mainly on juveniles. As these sharks mature, the lines begin to fade and almost disappear.

Shark Attacks

      These large, blunt-nosed predators have a duly earned reputation as man-eaters. They are second only to great whites in attacking people. But because they have a near completely undiscerning palate, they are not likely to swim away after biting a human,
      as great whites frequently do.

Hunting

      They are consummate scavengers, with excellent senses of sight and smell and a nearly limitless menu of diet items. They have sharp, highly serrated teeth and powerful jaws that allow them to crack the shells of sea turtles and clams. The stomach contents
      of captured tiger sharks have included stingrays, sea snakes, seals, birds, squids, and even license plates and old tires.

Population

      Tiger sharks are common in tropical and sub-tropical waters throughout the world. Large specimens can grow to as much as 20 to 25 feet in length and weigh more than 1,900 pounds.

Threats to Survival

      They are heavily harvested for their fins, skin, and flesh, and their livers contain high levels of vitamin A, which is processed into vitamin oil. They have extremely low repopulation rates, and therefore may be highly susceptible to fishing pressure. They are listed as near threatened throughout their range.


Q:

Any Major Issues Changing OS X RAID Volume Name

When I set up my RAID 1 array to hold all my data, I called it Data RAID. The space in the name is now beginning to bite me with programs that can't handle spaces in path names. I want to change it to Data and I know I can do it by right clicking on the volume in Finder and making the change. Is it really that easy with a RAID? I'm sure I'll run into some applications failing to find their data, but I want to be sure I don't end up with some sort of complete loss. The OS, programs, and my Home directory are on Macintosh HD. Here's the Disk Utility display:

A:

The answer appears to be that there are no issues with changing the volume name that is a RAID. I rebooted before I made the change since I hadn't done so in several months. After changing the name, I had to correct some broken links. Both iTunes and Time Machine updated themselves.


Saint Irenaeus Church, Lyon

The Saint Irenaeus Church, Lyon, located on the heights of Lyon in the neighborhood of St. Irenaeus (5th arrondissement of Lyon), is one of the oldest churches in France. It is named for Irenaeus first  Bishop of Lyon and Primate of Gaul.

Indeed, the crypt of the church dates from the 9th century, the beginning of the Carolingian period, while the church itself has been rebuilt, after many vicissitudes, in the early 19th century and completed in 1830. It makes the church a rare monument of the Middle Ages. The church is the subject of a classification as Monuments historiques  from 1862.

Adrien Rougier was the titular organist from 1928 to 1932.

References

Category:Roman Catholic churches in Lyon
Category:Monuments historiques of Lyon
Category:5th arrondissement of Lyon


All relevant data are within the paper and its Supporting Information files.

Introduction {#sec006}
============

Gout is the most prevalent inflammatory arthritis, affecting up to 4% of the population in developed countries \[[@pone.0146172.ref001]\]. Gout attacks can be effectively prevented by use of urate lowering therapy (ULT) \[[@pone.0146172.ref002]\], such as allopurinol. The aim of ULT is to prevent future attacks of gouty arthritis primarily by decreasing plasma urate level to below 0.36 mmol/l (6.0 mg/dl), which is below the precipitation point of urate at physiological conditions \[[@pone.0146172.ref003]\].

Allopurinol is the most widely used ULT. In addition to its urate lowering properties, allopurinol has been shown to reduce blood pressure among patients with hypertension \[[@pone.0146172.ref004]\], increase work capacity in chronic stable angina patients \[[@pone.0146172.ref005]\], diminish vascular oxidative stress and endothelial dysfunction \[[@pone.0146172.ref006],[@pone.0146172.ref007]\]. In addition, allopurinol 300 mg daily or higher has recently been associated with improved cardiovascular outcome \[[@pone.0146172.ref008]\].

However, the above-mentioned effects on hypertension and work capacity has only been shown with very high doses (\> 400 mg/day and \> 600 mg/day respectively) \[[@pone.0146172.ref004],[@pone.0146172.ref005]\].

The treat-to-target approach (urate level below 0.36 mmol/l) with ULT is developed for gout related symptoms, but whether this approach is also sufficient to achieve a reduction in cardiovascular risk remains to be established. We sought to investigate the effect of achieving target plasma urate with allopurinol on cardiovascular outcomes in a case-control study nested within long-term users of allopurinol.

Methods {#sec007}
=======

This case-control study nested among long-term users of allopurinol was carried out in Funen County, Denmark, using health care registries furnished by the Danish health authorities. Cases were defined by an Antiplatelet Trialist's collaboration (APTC) cardiovascular endpoint and controls were without the APTC endpoint. We ascertained whether individuals had achieved target urate level and analyzed the association between in-target urate level and risk of the APTC endpoint.

Data sources {#sec008}
------------

We linked data from the following four health care registries:

1.  The laboratory database of Odense University Hospital is a clinical laboratorial system, which contains information on all blood samples analyzed at every hospital laboratories in the Funen County since November 1992. The coverage includes primary and secondary health care providers for both in- and outpatients. All urate measurements measured at inhabitants in the Funen County during the study period were covered.

2.  The Odense University Pharmaco-epidemiological Database (OPED) is a prescription database holding information on redeemed, reimbursed prescriptions for the citizens of Funen County since 1990 \[[@pone.0146172.ref009]\]. Data included are a full account of the dispensed product and the date of dispensing. The product is described in terms of the defined daily dose (DDD) and the anatomical-therapeutic-chemical (ATC) code \[[@pone.0146172.ref010]\]. OPED includes a demographic module with information on residency, migration, births and death, which allowed us to account for censoring.

3.  The Funen County Patient Administrative System provides hospital discharge diagnosis for the population of Funen County since 1977 for inpatients and since 1989 for outpatients. The diagnoses are encoded according to the International Classification of Diseases 8^th^ revision (ICD8) until January 1994 and ICD10 thereafter.

4.  The Danish Register of Causes of Death holds information on all causes of death among Danish citizens, encoded according to the ICD classification system. The National Board of Health established the current register in 1875 \[[@pone.0146172.ref011]\].

The Record linkage was made possible by a unique personal identifier, assigned to all Danish citizens since 1968 \[[@pone.0146172.ref012]\]. In Denmark public health authorities provide virtually all health services, which allows true population based epidemiological studies \[[@pone.0146172.ref013]\].

Cases and controls {#sec009}
------------------

### Source population {#sec010}

The population used in this setting was derived from the total population from Funen, Denmark (≈ 485,000), during the period of December 1992 through December 2010. Among these we identified first-ever users of allopurinol (ATC M04AA01) with an elevated (≥ 0.36 mmol/l) urate measurement within 2 years prior to their first allopurinol prescription (9,118 individuals) ([Fig 1](#pone.0146172.g001){ref-type="fig"}). From this basic cohort basic cohort of hyperuricemic allopurinol users both cases and control were selected.

![Study flow diagram.](pone.0146172.g001){#pone.0146172.g001}

### Cases {#sec011}

Cases were identified as individuals developing their first APTC event \[[@pone.0146172.ref014]\] during follow-up, using the day of this event as the index date. In brief, the APTC endpoint is a non-fatal myocardial infarction (MI) (ICD8 410; ICD10 I21-I22), a non-fatal stroke (ICD8 430--434; ICD10 I60-I64), or cardiovascular death (ICD8 390--458; ICD10 I00-I99) including unknown causes of death (ICD8 780--796; ICD10 R96-R99).

In addition, we applied the following inclusion criteria prior to the index date:

1.  At least 18 years of age.

2.  Living in Funen at the index date and for the past five years (individuals who migrated inside this period were excluded, see [Fig 1](#pone.0146172.g001){ref-type="fig"}.).

3.  Cancer free for 5 year, defined by the absence of any of the following diagnosis of malignancies (ICD8 140--207; ICD10 C00-C96), not including non-melanoma skin cancer (ICD8 173; ICD10 C44).

4.  No treatment with other ULT than allopurinol.

5.  Continuous use of allopurinol in the year preceding the index date. Defined as follows; an individual was considered an allopurinol user if she or he had redeemed prescriptions for allopurinol that added together would cover the index date and the entire year preceding the index date. For each prescription, we assigned a period of usage starting on the date of the prescription and lasting a number of days corresponding to the number of tablets, thus assuming an average daily intake of one tablet. In order to allow for non-compliance and irregular prescription renewals we added a grace period (a period of time in which non-redeeming of allopurinol prescriptions was allowed) of 180 days to the usage period assigned to each prescription of allopurinol. The usage clock was reset at each new prescription.

For numbers of cases excluded in each step and final number of cases see [Fig 1](#pone.0146172.g001){ref-type="fig"}.

### Controls {#sec012}

Controls were selected randomly based on their availability in the cohort of hyperuricemic allopurinol users and matched by age and sex using risk set sampling with a maximum case:control ratio of 1:4. The controls were subjected to the same inclusion criteria as the cases (except the APTC endpoint). As we had full coverage of death and migrations out of the county, we could effectively account for all individuals' presence in the cohort. The controls were assigned an index date identical to the index date of the corresponding case in the risk set.

Controls were not allowed to have had an APTC endpoint before their selection as controls, but might have one later and thus be re-selected as cases. By this approach, the odds ratio is an unbiased estimate of the incidence rate ratio \[[@pone.0146172.ref015]\].

Not all cases had 4 possible matches, therefore the final case:control ratio differs from 1:4. The final number of controls and number excluded at each step of inclusion are given in [Fig 1](#pone.0146172.g001){ref-type="fig"}.

Urate level {#sec013}
-----------

Both cases and controls were classified as either hyperuricemic or treated-to-target. This classification was based on an average of all urate samples from the time of allopurinol prescription until the index date (weighted by the number of days spent at each different plasma urate level). The plasma urate level at any given day was set to the same value as the closest measurement prior to that day. Individuals would be classified as treated-to-target if the weighted urate level prior to index date were below 0.36 mmol/l.

Analysis {#sec014}
--------

The adjusted odds ratios (ORs) with 95% confidence intervals (CI) were derived using conditional logistic regression with adjustment for potential confounders. Variables known or suspected to influence cardiovascular diseases were included as potential confounders in the regression model. Current use of other drugs than allopurinol was defined by the redeeming of a prescription for this particular drug less than 120 days before the index date. Previous diagnoses were defined by having an in- or outpatient contact coded with the corresponding ICD8 or ICD10 code. See [S1 Table](#pone.0146172.s002){ref-type="supplementary-material"} for further details on included variables.

For missing continuous covariates we used median value imputation and missing dichotomous variables were set to absent. In subgroup analyses defined by covariates with imputed data, individuals with missing data were excluded.

Baseline characteristics were presented for cases and controls as well as exposed and unexposed controls (as a proxy for the source population) \[[@pone.0146172.ref016]\].

Additional analyses and pre-specified sensitivity analyses {#sec015}
----------------------------------------------------------

We carried out a range of supplementary analyses. First we used different exposure definitions, by using different urate cut-off values to define the treat-to-target group (urate \< 0.20 mmol/l; urate \< 0.3 mmol/l; urate \< 0.36 mmol/l; urate \< 0.42 mmol/l; urate \< 0.48 mmol/l), and by grouping individuals according to their decrease in achieved weighted plasma urate relative to the baseline value.

Subsequently we conducted a number of subgroup analyses. We restricted the analysis by strata of age, sex and renal function (defined as chronic kidney disease stages by the National kidney foundation \[[@pone.0146172.ref017]\]). We also restricted the analysis by only considering individuals with and without diabetes, hypertension and previous APTC events, in order to estimate the effect in groups with different risk of the outcome. Further we analyzed subgroups defined by cumulative doses of allopurinol; (\<200 g, 200--400 g, \> 400 g) and as average daily intake (\< 150 mg/d, 150--250 mg/d and \> 250 mg/d).

One critical issue in this study is the definition of when an individual is treated-to-target. First, we performed an analysis were the plasma urate level at any given day was set to the mean value as the closest measurement prior to and after that day, rather than the first value alone. Second, we only included urate measurement from the last 1 and 3 years before the index date to calculate the weighted urate levels. Third, we only considered the latest urate measurement. Fourth, we omitted urate measurements inside 3 month of the index date; this analysis was done to check for any biased results caused by urate levels measured in conjunction with an admission for a case event. Lastly, we changed the grace period for allopurinol prescriptions to 0, 1, 3 and 12 months.

Post hoc we conducted an analysis applying all covariates one by one and in groups (i.e. all comorbidities, all laboratory values or all prescriptions), because the estimates changed markedly after adjustment.

Ethics {#sec016}
------

The project was approved by the Danish Data Protection Agency. Registry based studies do not require ethical approval in Denmark, nor do it require personal written consent \[[@pone.0146172.ref018]\]. All individuals were anonymized prior to retrieval of data and all analyses were performed at anonymized data.

Results {#sec017}
=======

We identified 538 APTC cases and 1,791 controls with at least one year of continuous allopurinol use. Altogether 1,638 (70.3%) were men and the median age was 78 (IQR; 70--84) years. The median urate levels decreased markedly after allopurinol treatment start among both cases and controls---on average a 27.4% decrease was observed. Other characteristics of the APTC cases and their controls along with exposed and unexposed controls are presented in [Table 1](#pone.0146172.t001){ref-type="table"}.

10.1371/journal.pone.0146172.t001

###### Characteristics of APTC cases and their corresponding controls, and for unexposed and exposed controls (proxy for distribution in the source population).

![](pone.0146172.t001){#pone.0146172.t001g}

                                                    Cases (n = 538)     Controls (n = 1,791)   Unexposed Controls (n = 1,063)   Exposed Controls (n = 728)
  ------------------------------------------------- ------------------- ---------------------- -------------------------------- ----------------------------
  Men                                               365 (67.8%)         1,273 (71.1%)          815 (76.7%)                      458 (62.9%)
  Women                                             173 (32.2%)         518 (28.9%)            248 (23.3%)                      270 (37.1%)
  Age, median (IQR)                                 79 (71--86)         77 (70--84)            77 (70--83)                      78 (71--85)
  History of:
   Ischemic heart disease                           284 (52.8%)         589 (32.9%)            390 (36.7%)                      199 (27.3%)
   Heart failure                                    241 (44.8%)         393 (21.9%)            271 (25.5%)                      122 (16.8%)
   Atrial fibrillation                              176 (32.7%)         363 (20.3%)            264 (24.8%)                      99 (13.6%)
   Stroke                                           101 (18.8%)         249 (13.9%)            158 (14.9%)                      91 (12.5%)
   Diabetes mellitus                                128 (23.8%)         274 (15.3%)            176 (16.6%)                      98 (13.5%)
   Hypertension                                     221 (41.1%)         532 (29.7%)            339 (31.9%)                      193 (26.5%)
   COPD                                             92 (17.1%)          180 (10.1%)            121 (11.4%)                      59 (8.1%)
  Charlson comorbidity index:
   0                                                70 (13.0%)          706 (39.4%)            392 (36.9%)                      314 (43.1%)
   1                                                140 (26.0%)         440 (24.6%)            248 (23.3%)                      192 (26.4%)
   2                                                105 (19.5%)         266 (14.9%)            166 (15.6%)                      100 (13.7%)
   ≥3                                               223 (41.4%)         379 (21.2%)            257 (24.2%)                      122 (16.8%)
  Current drug use (baseline):
   Diabetes-drugs (ever use)                        87 (16.2%)          259 (14.5%)            168 (15.8%)                      91 (12.5%)
   Vitamin K antagonists                            71 (13.2%)          206 (11.5%)            166 (15.6%)                      40 (5.5%)
   ADP-receptor inhibitors                          9 (1.7%)            20 (1.1%)              14 (1.3%)                        6 (0.8%)
   Low-dose ASA                                     177 (32.9%)         457 (25.5%)            269 (25.3%)                      188 (25.8%)
   Dipyridamole                                     37 (6.9%)           86 (4.8%)              45 (4.2%)                        41 (5.6%)
   Heart glycosides                                 155 (28.8%)         288 (16.1%)            203 (19.1%)                      85 (11.7%)
   Nitrate vasodilators                             128 (23.8%)         207 (11.6%)            112 (10.5%)                      95 (13.0%)
   Thiazide diuretics                               80 (14.9%)          223 (12.5%)            142 (13.4%)                      81 (11.1%)
   Loop diuretics                                   330 (61.3%)         748 (41.8%)            463 (43.6%)                      285 (39.1%)
   Aldosterone antagonists                          99 (18.4%)          172 (9.6%)             124 (11.7%)                      48 (6.6%)
   Betablockers                                     159 (29.6%)         506 (28.3%)            332 (31.2%)                      174 (23.9%)
   Calcium antagonists                              128 (23.8%)         426 (23.8%)            243 (22.9%)                      183 (25.1%)
   RAAS blockers                                    248 (46.1%)         746 (41.7%)            454 (42.7%)                      292 (40.1%)
   Statins                                          114 (21.2%)         451 (25.2%)            292 (27.5%)                      159 (21.8%)
   COPD related drug use                            76 (14.1%)          229 (12.8%)            148 (13.9%)                      81 (11.1%)
   Systemic corticosteroids                         70 (13.0%)          116 (6.5%)             71 (6.7%)                        45 (6.2%)
   NSAIDs                                           111 (20.6%)         387 (21.6%)            228 (21.4%)                      159 (21.8%)
  Blood measurements (baseline):
   Urate level prior to allopurinol, median (IQR)   0.55 (0.49--0.64)   0.52 (0.46--0.60)      0.54 (0.49--0.62)                0.49 (0.43--0.55)
   Weighted urate level, median (IQR)               0.39 (0.33--0.47)   0.38 (0.32--0.43)      0.42 (0.39--0.47)                0.31 (0.27--0.34)
   Urate \< 0.36 mmol/l (treated to target)         197 (36.6%)         728 (40.6%)            0 (0.0%)                         728 (100.0%)
   eGFR, median (IQR)                               43 (31--58)         52 (40--67)            50 (38--65)                      55 (43--69)
   High HbA1c (\> 6.5%)                             82 (15.2%)          212 (11.8%)            140 (13.2%)                      72 (9.9%)
   High cholesterol (\> 5 mmol/l)                   115 (21.4%)         329 (18.4%)            215 (20.2%)                      114 (15.7%)
   Proteinuria                                      40 (7.4%)           61 (3.4%)              49 (4.6%)                        12 (1.6%)

IQR = interquartile range; IHD = ischemic heart disease; COPD = chronic obstructive pulmonary disease; DM = diabetes mellitus; ASA = acetylsalicylic acid; ADP = adenosinediphosphat; VKA = vitamin-K-antagonists; RAAS = renin-angiotensin-aldosterone-receptor; NSAID = non-steroidal anti-inflammatory drugs; eGFR = estimated glomerular filtration rate; HbA1c = hemoglobin A1c

Treat to target approach {#sec018}
------------------------

Among cases and controls, 197 (36.6%) and 728 (40.6%) were treated-to-target plasma urate level below 0.36 mmol/l respectively. The crude and adjusted odds ratios (OR) of APTC events among individuals treated-to-target urate below 0.36 mmol/l were 0.77 (95% CI 0.62--0.95) and 1.01 (95% CI 0.79--1.28) ([Table 2](#pone.0146172.t002){ref-type="table"}).

10.1371/journal.pone.0146172.t002

###### Odds ratios for APTC event of treated-to-target for different subgroups.

![](pone.0146172.t002){#pone.0146172.t002g}

  Exposure pattern                      Cases In target / Not in target   Controls In target / Not in target   Crude OR (95% CI)   Adjusted[\*](#t002fn001){ref-type="table-fn"} OR (95% CI)
  ------------------------------------- --------------------------------- ------------------------------------ ------------------- -----------------------------------------------------------
  All users                             197 / 341                         728 / 1063                           0.77 (0.62--0.95)   1.01 (0.79--1.28)
  Sex
  Men                                   119 / 246                         458 / 815                            0.81 (0.62--1.04)   1.03 (0.77--1.38)
  Women                                 78 / 95                           270 / 248                            0.68 (0.47--1.00)   0.97 (0.62--1.53)
  Age groups
  Age \< 60 years                       8 / 32                            49 / 99                              0.41 (0.16--1.08)   0.45 (0.09--2.36)
  Age 60--79 years                      86 / 155                          356 / 535                            0.80 (0.59--1.08)   0.98 (0.69--1.41)
  Age ≥ 80 years                        103 / 154                         323 / 429                            0.79 (0.57--1.08)   1.10 (0.76--1.59)
  Comorbidities
  Diabetes                              44 / 103                          141 / 228                            0.88 (0.48--1.60)   1.64 (0.47--5.77)
  No diabetes                           153 / 238                         587 / 835                            0.88 (0.68--1.14)   1.12 (0.84--1.50)
  Hypertension                          70 / 151                          193 / 339                            0.72 (0.45--1.14)   0.99 (0.56--1.72)
  No hypertension                       127 / 190                         535 / 724                            0.82 (0.61--1.10)   1.08 (0.75--1.55)
  Previous APTC                         52 / 106                          129 / 232                            1.00 (0.53--1.89)   1.11 (0.39--3.15)
  No previous APTC                      145 / 235                         599 / 831                            0.75 (0.58--0.96)   0.95 (0.70--1.29)
  Renal function
  eGFR \> 60 ml / min                   48 / 71                           290 / 366                            0.94 (0.54--1.63)   1.33 (0.60--2.96)
  eGFR 30--60 ml / min                  107 / 196                         369 / 567                            0.76 (0.54--1.05)   1.00 (0.68--1.48)
  eGFR \< 30 ml / min                   42 / 74                           69 / 130                             1.15 (0.47--2.82)   N / A
  Cumulated doses of allopurinol (g)
  \< 200 g                              66 / 195                          253 / 540                            0.68 (0.44--1.04)   0.97 (0.57--1.65)
  200--400 g                            72 / 97                           238 / 307                            0.77 (0.42--1.42)   0.62 (0.16--2.31)
  ≥ 400 g                               59 / 49                           237 / 216                            0.95 (0.52--1.75)   1.25 (0.23--6.83)
  Average mg allopurinol per day (mg)
  \< 150 mg                             51 / 229                          235 / 714                            0.63 (0.42--0.95)   0.83 (0.51--1.37)
  150--250 mg                           62 / 79                           201 / 231                            0.81 (0.43--1.50)   1.30 (0.36--4.67)
  ≥ 250 mg                              84 / 33                           290 / 117                            0.84 (0.40--1.79)   4.41 (0.83--23.41)
  Duration of allopurinol therapy
  1--2 years                            66 / 137                          224 / 360                            0.73 (0.46--1.18)   0.88 (0.47--1.66)
  ≥ 3 years                             86 / 122                          336 / 461                            0.88 (0.60--1.29)   1.16 (0.71--1.91)

\*) Adjusted by variables presented in [S1 Table](#pone.0146172.s002){ref-type="supplementary-material"}.

Allopurinol exposure patterns {#sec019}
-----------------------------

We found no association of increasing cumulative amounts of allopurinol with respect to APTC outcomes ([Table 2](#pone.0146172.t002){ref-type="table"}). Similarly, we did not find any association with duration of continuous allopurinol use or with increasing amounts of daily use ([Table 2](#pone.0146172.t002){ref-type="table"}). All tests for trend were statistically non-significant.

Subgroups {#sec020}
---------

No differences in analysis of different subgroups defined by age, sex or a history of diabetes, hypertension or cardiovascular disease were found ([Table 2](#pone.0146172.t002){ref-type="table"}).

Urate exposure patterns and cardiovascular events {#sec021}
-------------------------------------------------

We found no association between the degree of change in urate level and cardiovascular events. Changing the urate target to different levels showed an increased risk of APTC events for very low levels of urate (\< 0.20 mmol/l). Results are presented in [Table 3](#pone.0146172.t003){ref-type="table"}.

10.1371/journal.pone.0146172.t003

###### Odds ratios for different exposure definitions of treated-to-target urate levels.

![](pone.0146172.t003){#pone.0146172.t003g}

                                             Cases In target / Not in target   Controls In target / Not in target   Crude OR (95% CI)   Adjusted[\*](#t003fn001){ref-type="table-fn"} OR (95% CI)
  ------------------------------------------ --------------------------------- ------------------------------------ ------------------- -----------------------------------------------------------
  Urate threshold for treat-to-target
  \< 0.20 mmol/l                             16 / 522                          22 / 1769                            2.17 (1.07--4.43)   2.29 (1.05--4.97)
  \< 0.30 mmol/l                             94 / 444                          317 / 1474                           0.88 (0.66--1.16)   1.11 (0.81--1.52)
  \< 0.36 mmol/l                             197 / 341                         728 / 1063                           0.77 (0.62--0.95)   1.01 (0.79--1.28)
  \< 0.42 mmol/l                             326 / 212                         1231 / 560                           0.63 (0.51--0.78)   0.94 (0.73--1.20)
  \< 0.48 mmol/l                             437 / 101                         1559 / 232                           0.60 (0.46--0.79)   0.88 (0.65--1.20)
  Percent change from baseline urate level
  0--10                                      508 / 30                          1665 / 126                           1.27 (0.83--1.94)   1.24 (0.78--1.98)
  \> 10                                      467 / 71                          1501 / 290                           1.18 (0.88--1.58)   1.22 (0.89--1.68)
  \> 20                                      387 / 151                         1212 / 579                           1.15 (0.91--1.44)   1.07 (0.83--1.38)
  \> 30                                      268 / 270                         794 / 997                            1.10 (0.89--1.35)   1.07 (0.85--1.36)
  \> 40                                      160 / 378                         398 / 1393                           1.32 (1.05--1.66)   1.15 (0.88--1.50)
  \> 50                                      71 / 467                          153 / 1638                           1.57 (1.15--2.16)   1.43 (1.00--2.04)
  \> 60                                      30 / 508                          47 / 1744                            2.17 (1.31--3.61)   1.97 (1.13--3.46)

\*) Adjusted by variables presented in [S1 Table](#pone.0146172.s002){ref-type="supplementary-material"}

Sensitivity analyses {#sec022}
--------------------

Changing the definition of treated-to-target to include only the last urate measurement or the definition of weighted urate to only include the last 1 and 3 years of urate measurements did not change the overall results (data not shown). Neither did using the alternative approach to calculate the weighted urate levels. Changing the grace periods did not alter the main results, even though there was a non-statistically significant association with lower ORs for the primary endpoint as the grace periods decreased ([S2 Table](#pone.0146172.s003){ref-type="supplementary-material"}).

The analyses including potential confounders one at a time showed that no single dominating covariate or group of covariates was responsible for the heavy adjustment ([S3 Table](#pone.0146172.s004){ref-type="supplementary-material"}).

Discussion {#sec023}
==========

We found no association between treated-to-target urate level and cardiovascular events among long-term (\> one year) allopurinol treated individuals. Extensive supplementary analyses failed to identify subgroups or exposure patterns that were plausibly related to a reduced risk of the APTC outcome.

Given the well-established link between hyperuricemia and adverse cardiovascular outcomes, and the extensive literature on beneficial effect of allopurinol on proxies for cardiovascular risk \[[@pone.0146172.ref004],[@pone.0146172.ref005],[@pone.0146172.ref007],[@pone.0146172.ref019]\], the result may seem surprising. Several counter-hypotheses need to be considered.

One hypothesis is that the effect on cardiovascular risk is mediated through urate lowering but this association takes place at higher allopurinol doses than used for gout treatment. This is supported by evidence suggesting that high doses of allopurinol will result in non competitive inhibition of xanthine oxidase (the rate-limiting enzyme in purine catabolism) \[[@pone.0146172.ref020]\], and the fact that many gout patients are treated with too low doses of allopurinol \[[@pone.0146172.ref021]\], which also seems to be the case in this study population with an average allopurinol intake below 140 mg daily.

Another hypothesis would be that the cardiovascular effect of allopurinol is mediated through inhibition of xanthine oxidase rather than the lowering of plasma urate. Xanthine oxidase holds important oxidative and antioxidant properties \[[@pone.0146172.ref022]\]. In pathological conditions, such as high levels of xanthine, this enzyme produces reactive oxygen species that induces inflammation and cardiovascular diseases \[[@pone.0146172.ref023]\]. A very steep dose-response relationship between allopurinol and cardiovascular diseases without any direct relation to urate level has been suggested in a study comparing different doses of allopurinol (300 vs. 600 mg / day) showing an improvement on endothelial function with high doses of allopurinol but not low doses, placebo or probenecid \[[@pone.0146172.ref007]\]. The effect of another xanthine oxidase inhibitor (febuxostat) has in a small study been shown to reduce the arterial stiffness \[[@pone.0146172.ref024]\]. Unfortunately, other studies have indicated an increased cardiovascular risk among febuxostat treated compared to allopurinol although not statistically significant \[[@pone.0146172.ref025],[@pone.0146172.ref026]\].

Finally, our results could be confounded. The use of health care registries means, that we do not have access to information on some important covariates e.g. smoking. Heavy smoking has been associated with increased activity of xanthine oxidase \[[@pone.0146172.ref027]\], but is in part controlled for, by including surrogate markers of smoking in the regression model (e.g. COPD diagnoses and COPD related prescriptions) and to our knowledge the plasma urate level is not affected by smoking. Information on dietary factors \[[@pone.0146172.ref028]\] and alcohol consumptions \[[@pone.0146172.ref029]\], both known to alter urate levels were not available either. Some of these factors are also associated with the metabolic syndrome and increased cholesterol, and might have confounded the results. However, the effect of such confounding is likely limited, as it is widely appreciated that the diet alone will not change urate levels sufficiently in gout patients \[[@pone.0146172.ref030]\]. Another limitation is the missing information of some intermediate endpoints (e.g. arterial stiffness or coronary calcifications) along the path to develop an APTC outcome. We had prescription data dating back to 1990. Some of our patients may have used allopurinol before then, and their pre-treatment duration of hyperuricemia could therefore not be estimated precisely. As it potentially could affect their pre-treatment cardiovascular risk, this entails a risk of residual confounding. However, we do not have evidence to support that the duration of hyperuricemia affects the ability of allopurinol to reach target urate.

These limitations aside, our study has several strengths. It is based on the entire population in Funen County, with full access to prescription records, admissions, blood samples and migrations. Virtually all health care related contacts in Denmark is provided by the national public health authorities and hence included in this study. Thereby, there is little risk of selection bias in our material. We expect almost complete capture of outcome events. As it is standard practice to admit all individuals with chest pain or dyspnea along with individuals with impaired neurology or symptoms of transitory ischemic attacks, it is highly unlikely that we have missed a substantial number of cases. As for patients who died immediately from the MI or stroke, the causes of death were ascertained from the Danish register of causes of death.

Given the very high validity of cardiovascular discharge diagnoses in Danish registries \[[@pone.0146172.ref031],[@pone.0146172.ref032]\] there is little risk of misclassification of outcomes. We based our exposure measure on allopurinol prescriptions and urate measurements and we required the individuals to have been treated for at least a year. We thus find it unlikely that the patient would redeem multiple allopurinol prescriptions with patient co-payment without taking the drug. The urate levels were measured in an accredited laboratory. In all, there is little risk of substantial misclassification of exposure.

We have shown that the extensive adjustment is caused by a"little strokes fell great oak" phenomenon and not by one single covariate, which could have biased the results.

A treat-to-target approach is the mainstay in gout treatment \[[@pone.0146172.ref002],[@pone.0146172.ref030]\], but this approach does not seem to confer a better cardiovascular prognosis than an allopurinol treatment failing to reach target. We propose that the cardiovascular effect might not be mediated through urate lowering. At first glance, it may seem as an awkward suggestion, since it is well established that hyperuricemia is associated with high cardiovascular risk, that allopurinol lowers urate levels and that allopurinol improves the cardiovascular risk. However, there are equivalent examples from other parts of the pharmacotherapeutic literature. E.g., the effect of statins on cardiovascular risk is not entirely mediated by cholesterol lowering \[[@pone.0146172.ref033]--[@pone.0146172.ref035]\], and the effect of ACE-inhibitors on stroke risk is not entirely explained by lowering of blood pressure \[[@pone.0146172.ref036]\].

It is important to emphasize that our results do not contradict that allopurinol is effective in preventing cardiovascular event. Our result is fully compatible with a dose dependent effect of allopurinol, but for a given dose of allopurinol the effect on urate level is not important for achieving the cardiovascular effect. Future studies will establish the role of allopurinol in cardiovascular prophylaxis and in particular, the nature of its dose-response relationship.

Supporting Information {#sec025}
======================

###### This supporting information file includes the data used for the present study.

(XLS)

######

Click here for additional data file.

###### Covariates included in the conditional logistic regression analysis as potential confounders.

(DOCX)

######

Click here for additional data file.

###### Main analyses with different grace periods assigned to each allopurinol prescription.

(DOCX)

######

Click here for additional data file.

###### Confounder control, main analysis.

(DOCX)

######

Click here for additional data file.

We would like to thank Morten Olesen for validating the programing used in this study.

[^1]: **Competing Interests:**All authors have completed the ICMJE uniform disclosure form at [www.icmje.org/coi_disclosure.pdf](http://www.icmje.org/coi_disclosure.pdf) and declare no support from any organization for the submitted work. KSL and JH have participated in research projects funded by Menarini, with grants paid to institutions where they have been employed and received personal fees; JH has participated in research projects funded by Nycomed/Takeda and received personal fees for teaching; HL has received honoraria and/or participated in research projects funded by Berlin-Chemie/Menarini, Eli Lilly, MSD, Roche and Pfizer. There are no other relationships or activities that could appear to have influenced the submitted work. This does not alter the authors' adherence to PLOS ONE policies on sharing data and materials.

[^2]: Conceived and designed the experiments: KSL AP HL JH. Analyzed the data: KSL AP JH. Wrote the paper: KSL AP HL JH.


Q:

Flutter: How to make a Card overlap the AppBar?

How can I make a Card in Flutter that overlaps the AppBar? Negative margins are not possible as far as I know.
See the image for clarity.

A:

For one card it could be easily done with Stack widget
E.g.
import 'package:flutter/material.dart';

class Home extends StatefulWidget {
  Home({Key key}) : super(key: key);

  @override
  HomeState createState() {
    return new HomeState();
  }
}

class HomeState extends State<Home> {
  bool _hasCard;

  @override
  void initState() {
    super.initState();
    _hasCard = false;
  }

  @override
  Widget build(BuildContext context) {
    List<Widget> children = new List();

    children.add(_buildBackground());
    if (_hasCard) children.add(_buildCard());

    return MaterialApp(
      home: Stack(
        children: children,
      ),
    );
  }

  void _showCard() {
    setState(() => _hasCard = true);
  }

  void _hideCard() {
    setState(() => _hasCard = false);
  }

  Widget _buildCard() => new Container(
        child: new Center(
          child: new Container(
            height: 700.0,
            width: 200.0,
            color: Colors.lightBlue,
            child: new Center(
              child: new Text("Card"),
            ),
          ),
        ),
      );

  Widget _buildBackground() => new Scaffold(
        appBar: new AppBar(
          title: new Text("AppBar"),
        ),
        body: new Container(
          child: _hasCard
              ? new FlatButton(
                  onPressed: _hideCard, child: new Text("Hide card"))
              : new FlatButton(
                  onPressed: _showCard, child: new Text("Show card")),
        ),
      );
}

void main() {
  runApp(
    new Home(),
  );
}

If there are many cards, you can wrap them into ListView.


5,000 certifications offered through 'COOL' website

Oct. 2, 2013 - 02:38PM
|

Related Links

In addition to certified apprenticeships, sailors can also earn certifications through Navy COOL, or Credentialing Opportunities On-Line — a Web resource that’s been growing over the past seven years.

There are more than 5,000 civilian certifications and licenses tied to every Navy enlisted rating, Navy enlisted classifications and even collateral duties that many sailors may already qualify for — or be able to easily earn through training or test-taking.

Of these, 1,750 certifications are also free for active-duty sailors, officers or enlisted. Funding can include the initial qual, and any recertification or continuing education requirements.

Examples include getting a basic diver’s certification card or completing the Federal Aviation Administration airframe and powerplant tests that can certify someone to work maintenance for airline companies.

“But, as always, there’s a catch,” said Keith Boring, program manager for the Navy COOL program. “To qualify for Navy to pay upfront for the exam, the specific certification must be deemed 80 percent compatible with a Navy rating or collateral duty.”

Officials have already done the heavy work, and if a certification is approved for Navy funding, it’s noted as such in the description on the Navy COOL website.

A sailor may have to pay upfront for the certification and be reimbursed by the service later, depending on the funding source. Certification costs can range from $18 to $1,950 and average $235.

When a sailor leaves service, he can use COOL to hunt for jobs — part of a cooperative effort between the Navy and other government agencies, as well as private employers.

To qualify, sailors must:

■Have passed their most recent advancement exam; either passed or received a waiver from their most recent physical fitness assessment; have no nonjudicial punishments or courts-martial in the past six months; and been recommended for promotion or advancement on their last eval or fitrep.

■ Have at least a year of service remaining at the time they get the credential.

■ Work in a rating, have an NEC or be assigned a position that relates to the credential.

■ Have prior documented experience in a position to which the credential is mapped for credentials outside of their specific rating, and the credential has relevance or applicability to the current or future needs of the command or the Navy.

The eligibility must be validated by the sailor’s command and approved by his commanding officer or command-designated approving official.

Reservists and veterans also can use the site to find the certifications and even look for jobs, but they’ll have to pay out of pocket or use their GI Bill or veterans benefits.

For more information or to search for a certifications tied to your job, go to https://www.cool.navy.mil. There’s a list of frequently asked questions on the site, as well as a link that can help you get answers directly from program officials.


Thursday, May 30, 2002

Winnipeg

I wasn't writing this weblog in 1999 when I went to Winnipeg for a conference. But I was going through some old files and came across some notes I made on the city. I thought I'd share them here.

Winnipeg is a fairly dull city compared to, say, Toronto, but on the other hand it's exciting when compared to...Minneapolis. Their primary attraction seems to be "The Forks" which is an Inner Harbor-style tourist trap. It can probably be skipped unless you like overpriced, mediocre food.

For something better, get in your car and drive to Alycia's for some really good Ukranian food. Winnipeg is apparently a hotbed of Ukranian food, and this was an excellent place to sample some.

As far as tourist attractions go, the Canadian Mint was pretty interesting. The most interesting thing I learned is that they make coins for other countries under contract. I suppose it makes sense...and if the US ever offered to do that, the countries would probably worry that every time someone in Congress got upset, we'd cut off their coins.

The biggest complaint I have about Winnpeg is how much everybody smoked. As a Marylander, I almost fainted when I saw people smoking in the hotel lobby. Also, the non-smoking section in restaurants is about 4 tables shoved at the end.

Wednesday, May 29, 2002

Contraction Tour, Part One

Last week in Montreal several of us number theorists went to Olympic Stadium to watch the Expos play the Braves. The Expos won in extra innings. I don't know if I've ever been to an extra-inning game before. I went to an overtime Canadian Football League game once...

The stadium was nice enough, but they spent over $1 billion on it. (Even Canadian, that's big money.) They should have gotten more for that. The announcements were all in French, which was sort of a waste, since I think most of the people there were the few remaining Anglophones in Montreal. Actually, that and people who had come up to root for the Braves. I saw plenty of signs from people wanting to get on TBS, but of course none from people wanting on Montreal TV -- the Expos don't have a TV contract. I considered a sign that said "DC Loves the Expos" -- but then realized I might run afoul of the language laws. So I considered "DC L'Expos". But then I didn't want to get thrown out of the stadium -- well, to tell you the truth, I was just too lazy.

Anyway, it was fun. The Metro went right to the stadium -- we didn't even have to go outside. We gathered our meal at "Monsieur Smoked Meat" and headed to our seats -- around $26 Canadian, which weren't bad for lower deck seats between home and third. The game, as often happens with MLB these days, went on too long -- by the end even some of the Braves partisans were hoping the Expos would score and get the game over with. And the attendance was, of course, pitifully low -- in the 5,000 range. Here's hoping I see the Expos again soon -- in DC.

A Concise History of Australia is exactly what the title advertises, and exactly what I was looking for. It seems to be a very modern telling of the country's history. It acknowledges that the continent's human history goes back tens of thousands of years, not hundreds. But at the same time it recognizes that non-Aboriginal history is all we've got records of and concentrates on that. In general, where there's an attempt to dip into revisionist history, it mentions the new interpretations while recognizing the traditional view. One thing that I found interesting was the idea that as Australia becomes more diverse through immigration, its people are turning to Aboriginal history as a unifying factor to replace the Imperial history that is meaningful mostly just to the shrinking Anglo-Australian portion of the population. I recommend the book for anybody wanting a historical background before traveling to Australia (or for those who are just curious about the land Down Under).

Christina

Wednesday, May 22, 2002

Pavillon Principal

The meeting that I'm up here for has been held in the Pavillon Principal of the University of Montreal. Oh, excuse me, the Université de Montréal. Anyway, the Pavillon (shown above) is this monstrous building. My theory is they decided that students shouldn't have to go outside during the winter, so they'd put all the classes in one building. Of course, these things never work, so there are other buildings, but the great mass of the university is in this one. Of course, that's just a theory I have.

There are many weird things about this building.

As you enter from the Metro, you have to travel up to the building. You do so via a moving ramp. Like an escalator, but without the stairs. You know, so if you fall, you keep tumbling to the bottom. I'm amazed they're able to get away with this. Their lawyers must not be as good as American lawyers. Especially with college students around, that seems like the type of thing that gets turned into a ride.

As noted above, the corridors are labeled A-Z. Except O, Q and W. I don't know why those letters got left out.

I wish there were a 3-dimensional model of the place available, but not all the corridors go on all the levels, and some are blocked off, so it's difficult to get around.

The rooms aren't numbered; the doors are. So E-315 and E-325 might lead to the same room. Which can be annoying, I suppose, if you have a class in room E-315, because on the first day nobody will use door E-325, because nobody will know where that goes. Somebody suggested to me that it's so they don't have to renumber the doors if they reconfigure the space the doors lead to. I don't know what sort of university prides itself on not having to renumber its doors, but maybe this one does.

In one of the rooms where talks were held, the talks would be interrupted periodically by the distinctive sounds of birds chirping. Loudly.

Tuesday, May 21, 2002

Phone Cards

In preparation for this week's trip to Canada, Christina got me a Sam's Club phone card. While they offer a $0.035/minute rate within the US, between Canada and the US, the rate jumps to $0.14. According to the instructions. Now, this isn't great, but it's a far sight better than the $1/minute and up you can pay if you're not careful. So I packed the phone card and tried to call Christina when I got in. Following the instructions (Call 1-800-CALL-ATT, then call the Sam's Club AT&T number, then enter my card number, then dial the number I wanted) didn't work -- I got a busy signal when I tried to dial the Sam's Club number. Dialing that (toll-free) number directly, however, worked like a charm. Moreover, I got the $0.035/minute rate, just as if I were in the US. So that's all-in-all a good deal.

I had ordered AT&T International One Rate service on my home phone as a back-up so Christina could reach me. Unfortunately, I had ordered it last Friday, and it looks like the service won't be on there until after I got back. This, combined with the low rate I was getting on the phone card, made me start to wonder why I was paying AT&T a $7/month fee to get $0.05/minute long distance. So I dropped that back to $0.10/minute during the day and $0.05/minute at night for no monthly fee (but a $5/month minimum). I figure for any excessive long distance usage, I'll use the phone card (or my cell phone).

Anyway, the lesson of this is that these Sam's Club cards are a really good deal. Check with the hotel to make sure that you aren't incurring excessively charges if you use them from your room (and if you are, use a payphone).

Saturday, May 18, 2002

I Have a Canadian Stamp in My Passport

It's always disappointed me in the past that when I've entered Canada, they've neglected to stamp my passport. I flew to Ottawa in 1996, Toronto in 1999 and Winnipeg in 1999, and each time the immigration control canuks just looked at my passport and handed it back to me. I've even tried asking them to stamp it, but to no avail. I mean, if a passport doesn't tell you where you've been, what fun is it? (I've had equal luck when driving across the border.)

Well, I'm in Montreal now, and on the way in, they stamped my passport with a nice red stamp. They joined the UK in disregarding the "arrival" and "depature" columns and sticking the stamp in the departure column. (At least they didn't stamp it in the middle of the page, like the Brits sometimes do.)

I checked into my hotel and wandered around until I found an ATM and this place. It's some sort of Internet cafe, which seems mostly to be populated by Asian individuals playing shooting games. Except for the guy next to me, who is using his PC to listen to Asian pop music.

Anyway, I probably won't stay too long -- it hasn't been that long since I was in the good ol' USA checking my e-mail. But I thought I'd use this opportunity to send e-mail to people letting them know I got in safely and post this entry. I'll probably have access at the conference tomorrow, but just in case I get a jonesin' for a 3-AM Internet session, I know where this place is. Now if I can only remember where my hotel is...

Paint Your Wagon

Christina and I watched Paint Your Wagon last night, at her recommendation. While I did not enjoy it as much as she did, it still made for an evening's viewing.

It's an odd movie -- a western musical farce. Sort of a cross between "Blazing Saddles" and "McCabe and Mrs. Miller." With singing. By Clint Eastwood and Lee Marvin. It's the story of a California mining boomtown, two of its founders and their wife. Yes, I said "their wife" -- remember the farce part? It's a silly story that takes delight in poking fun at many of the conventions of the western -- the lonely pioneer, the rowdy saloon, the bawdy house of ill repute. It does so with some amount of cynicism (which put me in mind of "McCabe"); there are no gunslinging heroes in this movie. At the same time, however, the story follows the basic pattern of the Western -- the rough-and-tumble days are drifting away as respectable folks move into the area.

The Phantom Menace

In preparation for Thursday's opening of Attack of the Clones, I re-watched Episode I, The Phantom Menace this week.

Three years later, I was struck by a few things. First of all, it wasn't as bad as many are making it out to be. It wasn't the best Star Wars movie (in fact, it was the worst -- which is sort of the opposite of "damning with faint praise"), but it was very watchable. Jar-Jar was, in fact, annoying (mostly because of the inescapable conclusion that even if he wasn't intended as a racial stereotype, he ended up that way, and somebody should have changed the character on that basis). But I didn't find him incredibly annoying -- he didn't make "Wesley Crusher" on my scale.

The main problem I had with the movie was that it was very flat. I didn't find myself engaged by the characters. Qui-Gon? Let's see, you have a Jedi on a negotiation mission. That's about all you get about him. Queen Amidala? Bo-ring. By design, I suppose, and Padme's the interesting one, but that gets obscured for most of the movie. Anakin? Look, I know it's a movie for kids, but does it have to be a movie about kids? The original was the first without the second. Anakin in this movie doesn't provide the requisite "cool character" you need. Your Han Solo, your Chewie, your Princess Leia.

Well, I take that back. There is Obi-Wan. Ewan McGregor does his best Alec Guiness, and the story from A New Hope helps bring his character to life. The first heart-pounding moment I had re-watching this -- the kind of moment I expect from Star Wars movies -- was during the light-saber battle with Qui-Gon, Obi-Wan and Darth Maul. After Darth Maul takes out Qui-Gon and Obi-Wan has to wait for that weird force field to let him at D.M., the tension is just palpable.

I must admit, however, after seeing Clones, I can see more what Lucas was trying to do with Menace. I'll probably see it even more when I watch the DVD with the director's commentary. I don't think that will entirely redeem the movie for me, though.

Wednesday, May 15, 2002

Tom Benson, Makin' Stuff Up

The Washington Post is reporting that many NFL owners oppose putting a Super Bowl in DC. That's fine. It would be nice to have one here, but I understand some people don't want to have the game played in messy weather. I don't agree, but I understand.

This quote from Saints owner Tom Benson, however, caught my eye:

"It's the weather. Why would you go to a place where people couldn't walk around those cities in nice weather, temperatures like we have here today [sunshine and mid-seventies]? I personally do not think the votes are there. Everyone would like to go to New York or Washington . . . in August, not January."

First of all, the site selection has nothing to do with "walk[ing] around those cities in nice weather." If it did Detroit wouldn't be getting the 2006 Super Bowl. I don't know that a lot of people want to walk around Detroit in good weather, but you're not going to have much of that in January (well, actually February).

And second, nobody wants to walk around DC in August. I mean, maybe compared to New Orleans, it's not a sauna, but please.

If you want to make the argument that the Super Bowl should only be held in warm weather cities, go ahead. (I think that's what he's getting at.) But don't conspire with dome-cities like Detroit to deny DC a Super Bowl if you're only going to turn against them later. That's as lame as naming yourself general manager of the team.

Why? After years of paying attention to the news, I've become a bit jaded about what actually matters. Most stories are repetitions of what I've already heard, stories that most people knew were coming, or variations on the same theme.

Israel's Likud Vote Further Blow to Peace Talks -- Oh, and they were doing so well before. It's somewhat interesting from an Israeli political standpoint that Sharon, who is generally a hard-liner, opposed the resolution against a Palestinian state. Other than that, I'm not sure what any of this signfies.

Jordanian King Says Mideast Crisis Bolsters Bin Laden -- Well, everybody's entitled to their opinion, even if it's obvious. This is one of these stories that gets reported because of who says it. I am confident that a month from now nobody will remember this story. When you come down to it, "Mideast Crisis Bolsters Bin Laden" is a significant story, but this isn't.

Powell, Ivanov Back Arms Accord Before Summit -- So the US and Russia are reducing their nuclear arsenals? No? Well they're talking about it at a summit? No? They're preparing to talk about actually doing something? Good work. (And I mean that.) But wake me when we get there.

I guess my point is that none of these stories gives me a more complete understanding of the universe around me -- a tall order, but that's why I pay attention to the news these days. What I'm really looking for is the unexpected -- Israelis and Palestinians making peace, Finns and Swedes fighting a war, a cure for cancer...

Often times, though, these stories aren't on the front page. Perhaps the most interesting story I read today was on page A17 of today's Post. "Egyptian Radicals Veering Away From Violence." "Egyptian Radicals Denounce America" makes the catchier story, but this is more compelling. If we don't want things to get really ugly, we need to see a trend towards moderation in the Middle East. As I type that, I realize how obvious it sounds. Good; that means it's probably true. So it's worth watching this to see if it's a trend -- from the article, "veering" seems a bit of an exaggeration, but this is about a trend that could make a difference.

Saturday, May 11, 2002

Auction Fever

Well, my laptop is fixed, so I'm posting again from the comfort of the couch.

Christina and I went to an auction today with Martin and Jeanene. Martin's boss had suggested it as a good place to get furniture deals. Martin and Jeanene need furniture for the house they're planning to purchase, and Christina likes a good auction. Me? I thought it would be fun to take the excursion.

Christina required more convincing to go along that I expected. After a very confusing conversation, we determined that I had forwarded her a message that contained two very different discussions. Martin's message about the auction was preceded by a note from Ben lamenting the departure of Ron Wilson, hockey coach. If you read the message without context (as Christina did), it sounded a lot like we were heading to Ron Wilson's estate sale. Christina was less than enthused about bidding on a bunch of sports memorabilia. Once we cleared that up, she was 100% on board.

We met Martin and Jeanene this morning at Dunkin' Donuts and followed them to Northern Virginia, where the auction house was located. There was a brief preview period where we wandered around and looked at stuff before the auction proper began. I was a little surprised to hear the traditional auctioneer 200-word-a-minute style used, but after a while I got used to it.

The strategy they used here was to auction off only furniture (to make room for more stuff) or items people requested to bid on (which made sure that nothing went without bids). Martin and Jeanene ended up with a 1920s-era bedroom suite and a grandfather-type clock. Christina asked for bidding on some carnival glass and a nice wooden box, but bidding on that quickly went beyond what she was willing to pay (although she said the winning bidders still got very good deals). I had the honor of having my request be the last item of the auction -- once the auction assistant realized that I was asking to bid on some old beer bottles, not trying to order a beer from him. The auctioneer held up the beer, asked for a $1 bid, got mine, and then yelled "sold" without taking any more bids. Well, I'm happy.

Martin and Jeanene needed a couple of trips to get all their new furniture home. We helped by transporting a nightstand (or end table or something), which Martin'll pick up later. I put it away in my dining room. Christina put a towel over it to protect it -- ostensibly from spills, but actually if it sits there too long, I might get used to how nice it looks.

Friday, May 10, 2002

Spider-Man

Christina and I went to see Spider-Man on opening night last Friday. It was a very enjoyable movie. Only once the movie had started did I realize just how familiar I was with the Spider-Man "myth". Because of this familiarity, I was particularly sensitive to the "liberties" taken in the making of the movie. First of all, having Spider-Man's web shooters be organic rather than mechanical was clearly a bad idea. I mean what's the point about making a big deal of Peter Parker's scientific brilliance if you're not going to have him use said genius to construct web-shooters? "Gee, I'm a science whiz. I think I'll get a job as a news photographer."

Beyond that, though, I can't complain too much. In the movie, he's at Columbia University when he gets bitten by the genetically-engineered spider. Looking through an old comic book history I forgot I had, I discovered he was on a field trip at some weird corporation when he got bitten by the radioactive spider. The venue wasn't important, and the switch in type of spider was probably a smart updating. Interestingly, in Ultimate Spider-Man, Marvel's updating of the legend, he gets bitten in an Osborn Industries lab. I've read the first 20 issues of the new book on-line, and it's very well done.

So I guess what felt the most awkward about the movie was other "updating" -- stuff that seemed done to make it seem "hip". For example, Peter Parker is early on seen hanging out in a mall food court. It seemed to make Spider-Man seem "2002" (or, frankly, "1992"), rather than the timeless legend I had in my mind.

Well, as I mentioned, I had this history of Spider-Man (c. 1991) upstairs. Boy, did that disabuse me of the notion that Spider-Man was ever timeless. In the original comic book, at one point Harry Osborn gets strung out on LSD. At another point, one of Peter Parker's buddies comes back from 'Nam and starts having flashbacks. Comic books have always struggled to stay relevant to modern youth. In the old comic book, Uncle Ben lived through the Depression. In the new one, he met Aunt May after spending time on a commune. Times change, the details change, but the movie (and comic book) show that the story endures, and endures well. I'll be looking forward to the sequel.

Thursday, May 09, 2002

Separate but Equal

I might be able to buy the rationale that the federal government shouldn't be prohibiting the local governments from determining the form of education that they provide. But if you think federalism is the motivating principle for this administration, I hope you're enjoying your medical marijuana. After all, if it's not the federal government's business to encourage or discourage this sort of thing, why are they offering $3 million for pilot programs? Oh, that's right, to encourage it.

So that leaves the real justification:

Advocates, supported by a growing body of research, say encouraging single-sex schools offers the promise of benefiting both boys and girls, some of whom do better in such settings.

First, the obligatory inflammatory racial analogy. If research showed that segregating students by race raised their test scores, should we do it? Of course not.

Dividing up students by gender (or by race) encourages them to think of students in the other school as "the other". OK, great, the boys aren't causing trouble in class to impress the girls. (This is what I heard someone on NPR give as justification for single-sex classes.) So when they eventually encounter the opposite sex outside of class -- after school, in college, in the workplace -- they will act with dignity and restraint? Of course not. They'll be even worse, because they have little experience handling themselves in mixed company. These educators are following the current public school fad of making sure that problems happen on somebody else's watch.

When I was in college, I made sure to end up on a co-ed floor in the dorm. Why? Increased opportunities for debauchery? Not really. In fact, the all-male floors frequently had visits by women -- especially during the drunken weekend parties. Strangely enough, the co-ed floors had a lower incidence of that sort of immaturity.

Look, I realize that many people have had positive experiences in single-sex educational situations. I don't propose that the government step in and prevent private or parochial schools from operating that way. But when the government itself starts dividing people up by gender, it sets an ugly precedent. What's next? If the boys are distracted by the girls -- well, that would only be true of the straight boys and girls, right? Wouldn't the gay boys be twice as distracted in an all-boys school. Follow the logic and you end up with Arundel High School for Lesbians. (OK, maybe not. But doesn't that sound like it could be on Cinemax?)

I've lost track of my main point here, which is that separate schools for boys and girls may be slightly better at teaching math and reading (though I have my doubts). But implicitly they're going to be worse at preparing them for a gender-integrated society.

Tuesday, May 07, 2002

A Moment on the Earth

The low posting output lately is due to a glitch with posting to my web hosting service (hopefully, that'll get fixed, I'll get a work-around, or I'll change providers) and the fact that my laptop is in the shop.

I recently finished A Moment on the Earth, by Gregg Easterbrook. This is a long book, but I'm glad I made it through. Easterbrook's main thesis is that the environment is in good shape, but that this is a result of environmental regulation, so we should be interested in more of it. It's somewhat counter-intuitive -- or rather, it shows how counter-intuitive the two main poles in environmental debate are -- "The sky is falling, despite all the environmental legislation that's passed," or, "Everything we've done to clean up the planet has been enough. Let's just leave it at that."

I mention the thesis partially because a simple web search turned up some severe misunderstandings. For example, from this page,

His central thesis is: "...even for all their failings, market forces and a self-interest stake in forests are the best system for assuring responsible behavior, as they confer voluntary reasons to protect the land." (403) By implication, there is no longer any role for governmental regulation?

Hmm, well, most authors don't state their thesis on page 403. Reading the first part of the book, I noticed that Easterbrook expressed his general like of government regulation. In fact, he thought the good example government regulation set by getting results on environmental cleanup could be used to push government regulation in other spheres. The quote above has to do with the superiority of government regulations that make it worth people's while to comply. For example (mine, not Easterbrook's), littering is illegal pretty much everywhere. And, most places, the roadsides are strewn with bottles and cans. But when I lived in Michigan, I hardly ever saw litter of that type. Why? The 10-cent bottle deposit (made famous by Seinfeld).

He denies such obvious truths as the fact that insects are becoming resistant to pesticides, asserts that "nothing Carson forecast in Silent Spring has come to pass," and boasts of the increase in raptors without noting that this was due to the banning of DDT.

Wow. Let's see. He mentions that insects are becoming resistant to pesticides, and mentions that the increase in raptors happened after DDT was banned.

I'm not quite sure what about the book provokes such strong reactions from people who clearly haven't read it all the way through. I found it to be a level-headed examination of the state of the environment. I didn't always agree with it, but it made a lot more sense than doomsday predictions or the let-'em-pollute crowd.


Q:

Searching in table view problem

Iam trying to searching data in the table view......
-(void)searchTableView{
    NSString *searchText=searchBar.text;
    NSMutableArray *searchArray=[[NSMutableArray alloc]init];
//  for (NSDictionary *dictionary in djList) {
//      NSLog(@"NSDictionary value is%@",dictionary);
////        NSArray *array = [dictionary objectForKey:@""];
////        [searchArray addObjectsFromArray:array];
//  }
    for (NSString *sTemp in searchArray) {
        NSRange titleResultsRange=[sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch];
        if (titleResultsRange.length>0) {
        [copyListArray addObject:sTemp];
        }
    }
    [searchArray release];
    searchArray=nil;
}

There is problem in my commented lines....
I dont know what to do with ObjectForkKey:@"";
Is any other way out to work on this...... with out using NSDictionary....
@thanks in advance.

A:

Use of NSPredicate
 NSPredicate *annotationPredicate = [NSPredicate predicateWithFormat:@"(Latitudine = %@)AND(Longitudine = %@)AND(Name = %@) ",latitudeString,longitudeString,name];

SMutableArray *myArray = [[NSMutableArray alloc] initWithArray:sourceArray];
[myArray filterUsingPredicate:annotationPredicate];

The dictionary from the array must have the keys from array in this case "Latitudine", "Longitudine", "Name".
NSpredicate doc here. And look at the sample codes there.
Take a look at NSMutableArray doc
- (void)filterUsingPredicate:(NSPredicate *)predicate


Post navigation

I was the parent that everyone wants to avoid last weekend.

If you have ever taken your kid to the Kite Loft store on the Boardwalk in Ocean City, you understand how excited the little ones get when they walk in there.

With Pam toting Carson around on her hip, I was tasked with keeping Beckett from destroying the store, and it really was not a simple chore, as he was crazed from the moment we walked in.

I can’t say I blame him, as the place is a feast for the senses for even adults. At one point, I got distracted by a hat I liked until I snapped out of it and found Beckett kicking a ball across the floor, nearly taking out some fellow shoppers along the way.

As I chased him around the place, making sure he did not knock a display over, fall down any steps, throw a boomerang or Frisbee across the store or haphazardly pull toys off shelves, I found myself bumping into several other customers (one lady I believe told me to “watch it” after my shoulder accidentally touched an inappropriate region).

There I was not exactly a small guy (seemingly getting larger with each passing day) hunched over trying to keep my son in check, while also not trying to deck anyone in the process.

It was a challenge and one of those times when I walked out of the store breathing a sigh of relief that nothing terrible happened. There were no injuries and no goods damaged enough that I felt I had to buy it to make it right.

As I happily returned Beckett to his stroller to give me a break, he was quick to say, “wow that was fun.”

Indeed, the Kite Loft is the place “Where Fun Begins.”
On a few occasions, we have been asked if our kids are twins, and that never ceases to amaze me.

Although they are just 17 months apart in age, it cracks me up that people can mistake them for twins. Now I understand that not all twins are identical, but this is just crazy.

For one, they are about 10 pounds apart in weight and more than six inches in height. Clearly, just from a physical standpoint, Beckett is older than his younger brother. Additionally, Beckett has blonde hair and green eyes, and Carson has red hair and blue eyes.

My wife always handles the twin comment better than I do because I find it difficult to believe any rational mind would make that mistake. I just usually laugh and let her address it.

One man, while we were out to eat months ago at a roadside restaurant in North Carolina, was overheard saying to his friend, “look at those little boys, they must be twins.”

Appropriate or not, I just ignored them.

Ever since Beckett moved to the “big boy” bed a few months ago, we never know where we will find him asleep.

Thanks to the wonders of the video monitor, we are able to keep track of him, and it’s baffling the positions he can crash in.

He can sleep sitting straight up. He can sleep with his head on the floor and the rest of his body in the bed. He can sleep sprawled out atop an ottoman in his room. He can sleep with his head wedged under a chair. He can sleep atop a toy. He can sleep snuggling on the floor with a stuffed dog.

It’s been adjustment to just let him do his own thing at night. When he was crib bound, he didn’t always fall immediately asleep, but we at least knew he was confined.

Now, he likes to wander a little and play some before he passes out wherever he wants. The only constants are he makes a mess of his room and he’s not in his bed.

That’s why every night I go into his room before we call it a day, pick him up and return him to his bed, where he usually does stay for the rest of the night.

I look forward to this each night for a couple reasons. One, to see exactly what position he fell asleep in and, two, because he’s usually so out of it he says silly stuff.

Most of it is just odd gibberish and makes no sense, but it’s special to me.

Kids sure do keep you on your toes, as there’s something new seemingly every day.

One thing I have learned through this adventure is to expect the unexpected.

One day last month Carson woke up and looked like a completely different kid, sending my wife into a panic. His entire face was swollen, particularly the space in between his eyes.

After some frantic pediatrician calls, she was calmed somewhat when she was told he was simply having a seasonal allergy reaction, like many others kids in the area.

Nonetheless, it was difficult to accept at the time, as his entire face was so swelled up it looked like he had been in a fight.

Eventually, after a couple days and some good allergy medicine, the swelling subsided and we had our little boy back. It was a scary thing, though, as neither of us had ever seen a reaction like this.

Plus, we could only imagine how miserable he must have been feeling to look that way.

We often joke Carson, 18 months old yesterday, is our high-maintenance child, as he has dealt with a number of challenges — such as three surgical procedures — in his short life.

What’s interesting, though, is his demeanor never changes. He’s a laidback kid with a mellow temperament and perhaps it’s fitting that he be the child who has to deal with obstacles every step of the way. Everything just rolls off his back.