Posts tagged with history

The Hunt of the Unicorn tapestry, dyed with weld (yellow), madder (red), and woad (blue).


it is not for kings to drink wine,
not for rulers to crave beer,
lest they drink and forget what has been decreed,
and deprive all the oppressed of their rights.
Let beer be for those who are perishing,
wine for those who are in anguish!
Let them drink and forget their poverty
and remember their misery no more.
Psalm 31:4–7


I’ve googled How do I find out how big my workspace is too many times … here’s the explicit code to run and hopefully the next googler sees this post:

for (thing in ls()) { message(thing); print(object.size(get(thing)), units='auto') }

Fin. You can stop there.


Or for a bit of context… Here’s an example code to generate objects of variable sizes where you might not be sure how big they are:

system.time(boot.1 <- boot( sunspot.year, max, R=1e3, parallel='multicore', ncpu=4))
system.time(boot.2 <- boot( sunspot.year, max, R=1e4))
system.time(boot.3 <- tsboot( sunspot.year, max, R=1e5, parallel='multicore', ncpu=4))
system.time(boot.4 <- boot( sunspot.year, max, R=1e5, parallel='multicore', ncpu=8))
system.time(boot.5 <- boot( sunspot.year, max, R=1e6 parallel='multicore', ncpu=8))
par(col=rgb(0,0,0,.1), pch=20)
for (thing in ls()) {
    print(object.size(get(thing)), units='auto')

This code is doing a few things:

  1. resampling the sunspot dataset to try to estimate the most sunspots we “should” see in a year (with a very stylised meaning of “should”).

    This is worth looking into because some people say global warming is caused by sunspots rather than eg carbon emissions multiplying greenhouse effects.

    History only happened once but by bootstrapping we try to overcome this.

  2. noodling around with multiple cores (my laptop has 8; sudo apt-get install lscpu). Nothing interesting happens in this case; still, multicore is an option.
  3. timing how long fake reprocessings of history take with various amounts of resampling and various numbers of cores
  4. showing how big those bootstrap objects are. Remember, R runs entirely in memory, so big datasets or derived objects of any kind can cramp your home system or bork your EC2.
  5. printing the size of the objects, as promised. On my system (which I didn’t run the exact code above) the output was:
    > for (obj in ls()) { message(obj); print(object.size(get(obj)), units='auto') }
    89.1 Kb
    792.2 Kb
    7.6 Mb
    7.6 Mb
    7.6 Mb
    792.2 Kb
    64 bytes
    2.5 Kb


PS To find out how much memory you have (in linux or maybe Mac also) do:

$ free -mt
             total       used       free     shared    buffers     cached
Mem:         15929      12901       3028          0        214       9585
-/+ buffers/cache:       3102      12827
Swap:        10123          0      10123
Total:       26053      12901      13152

graphs from Capital in the 21st Century


If the astronomical observations and other quantities on which the computation of orbits were absolutely correct, the elements also, whether deduced from three or four observations, would be strictly accurate (so far indeed as the motion is supposed to take place exactly according to the laws of Kepler), and, therefore, if other observations were used, they might be confirmed but not corrected.

But since all our measurements and observations are nothing more than approximations to the truth, the same must be true of all calculations resting upon them, and the highest aim of all computations made concerning concrete phenomena must be to approximate, as nearly as practicable, to the truth. But this can be accomplished in no other way than by a suitable combination of more observations than the number absolutely requisite for the determination of the unknown quantities. This problem can only be properly understood when an approximate knowledge of the orbit has been already attained, which is afterwards to be corrected so as to satisfy all the observations in the most accurate manner possible.

Johann Carl Friedrich Gauß, Theoria Motus Corporum Cœlestium in Sectionibus Conicis solem Ambientium, 1809

(translation by C.H. Davis 1963)


[Scientific theories can be accurate and even make novel predictions, whilst being ultimately wrong. Scientific theories can also be inaccurate, whilst being ultimately right.]

Consider specifically the state of ætherial theories in the 1830’s and 1840’s. The electrical fluid, a substance which was generally assumed to accumulate on the surface rather than permeate the interstices of bodies, had been utilized to explain inter alia the attraction of oppositely charged bodies, the behavior of the Leyden jar, the similarities between atmospheric and static electricity and many phenomena of current electricity.

Within chemistry and heat theory, the caloric æther … explain[ed] everything from the role of heat in chemical reactions to the conduction & radiation of heat and … standard problems of thermometry.

Within the theory of light, the optical æther functioned centrally in explanations of reflection, refraction, interference, double refraction, diffraction and polarization. (Of more than passing interest, optical æther theories had … made … startling[, true] predictions, e.g., Fresnel’s prediction of a bright spot at the center of the shadow of a circular disc: a surprising prediction which, when tested, proved correct. If that does not count as empirical success, nothing does!)

There were also gravitational (e.g., LeSage’s) and physiological (e.g., Hartley’s) æthers which enjoyed some measure of empirical success. It would be difficult to find a family of theories in this period which were as successful as æther theories. Compared to them, 19th century atomism … a genuinely referring theory … was a dismal failure. Indeed, on any account of empirical success which I can conceive of, non-referring 19th-century æther theories were more successful than contemporary, referring atomic theories.

[According to] J.C. Maxwell…the æther was better confirmed than any other theoretical entity in natural philosophy!

Larry Laudan’s A Confutation of Convergent Realism, Philosophy of Science, 48(1), 19-49

via David Corfield

Dropping a Han Dynasty Urn by Ai Weiwei, 1995


Research focuses on real wages—wages that are adjusted for inflation. Getting data on wages is tricky. But accounting for inflation is even harder. (For example, workers often paid rent informally, meaning that there are few records around).


And so it is unsurprising that researchers differ in their estimations of real wages. Some, such as Peter Lindert and Jeffrey Williamson, suggest that full-time earnings for British common labourers, adjusted for inflation, more than doubled in the seventy years after 1780. But Charles Feinstein argued that over the same period, British real wages only increased by around 30%. It’s a bit of a … mess.

Most people agree that after about 1840, real wages did better. Nicholas Crafts and Terence Mills shows that from 1840 to 1910, real wages more than doubled. Their findings are mirrored by other researchers ….


in almost all British cities, mortality conditions in the 1860s were no better—and were often worse—than in the 1850s. In Liverpool in the 1860s, the life expectancy fell to an astonishing 25 years. It was not until the two subsequent decades that rises in life expectancy were found


The auction for capital has happened in such diverse places as under banyan trees, in coffee shops, in whore houses, near the sandal market (Egypt, Jerusalem), in a cave, at farm crossroads, near lake edges and river deltas, at magic springs, over a levee, in private country club gardens, etc.

The folks who made it more comfortable thrived (Mr. Lloyd, for example). The folks who made this process more uncomfortable eventually killed the golden goose (not many trades in Florence anymore, and it is all Savanarola and the Bishop’s fault. Bonfire of Vanities indeed).
user “Bachelier”